


/* LEGAL CAREERS HERO */
.legal-hero {
  position: relative;
  min-height: 100vh;
  padding: 120px 6vw 70px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #06162f;
  color: #fff;
}

.legal-hero-collage {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr;
}

.legal-hero-panel {
  overflow: hidden;
}

.legal-hero-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: legalHeroZoom 24s ease-in-out infinite alternate;
}

.legal-hero-panel:nth-child(2) img {
  animation-delay: 1.5s;
}

.legal-hero-panel:nth-child(3) img {
  animation-delay: 3s;
}

.legal-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(6,22,47,.97) 0%, rgba(6,22,47,.84) 42%, rgba(6,22,47,.45) 72%, rgba(6,22,47,.16) 100%),
    linear-gradient(0deg, rgba(6,22,47,.78), rgba(6,22,47,.12));
}

.legal-hero-content {
  position: relative;
  z-index: 3;
  max-width: 900px;
}

.legal-hero-content span {
  display: inline-block;
  margin-bottom: 24px;
  color: #d6ae4c;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.legal-hero-content h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(3.2rem, 6.2vw, 6.8rem);
  line-height: .92;
  letter-spacing: -.065em;
  font-weight: 850;
}

.legal-hero-content p {
  max-width: 720px;
  margin: 34px 0 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.85;
}

.legal-hero-buttons {
  margin-top: 44px;
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.legal-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 17px 34px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition: .35s ease;
}

.legal-hero-btn.primary {
  background: #d6ae4c;
  color: #06162f;
  box-shadow: 0 18px 45px rgba(214,174,76,.28);
}

.legal-hero-btn.secondary {
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}

.legal-hero-btn:hover {
  transform: translateY(-5px);
}

@keyframes legalHeroZoom {
  from { transform: scale(1.02); }
  to { transform: scale(1.12); }
}

@media (max-width: 768px) {
  .legal-hero {
    min-height: 94vh;
    padding: 0 22px 70px;
    align-items: flex-end;
  }

  .legal-hero-collage {
    grid-template-columns: 1fr;
  }

  .legal-hero-panel:nth-child(2),
  .legal-hero-panel:nth-child(3) {
    display: none;
  }

  .legal-hero-overlay {
    background:
      linear-gradient(0deg, rgba(6,22,47,.96) 0%, rgba(6,22,47,.75) 58%, rgba(6,22,47,.2) 100%);
  }

  .legal-hero-content h1 {
    font-size: clamp(3rem, 13vw, 4.8rem);
  }

  .legal-hero-content p {
    font-size: 1rem;
    line-height: 1.75;
  }

  .legal-hero-btn {
    width: 100%;
  }
}




/*=========================================
LEGAL PHILOSOPHY
=========================================*/

.legal-philosophy{

    padding:130px 6vw;

    background:#ffffff;

}

.legal-philosophy-grid{

    max-width:1350px;

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}

.legal-philosophy-left span{

    display:inline-block;

    margin-bottom:20px;

    color:#d6ae4c;

    font-size:.78rem;

    font-weight:800;

    letter-spacing:.22em;

    text-transform:uppercase;

}

.legal-philosophy-left h2{

    margin:0;

    color:#06162f;

    font-size:clamp(3rem,5vw,5.5rem);

    line-height:.92;

    letter-spacing:-.06em;

    font-weight:850;

}

.legal-philosophy-right p{

    margin:0 0 28px;

    color:#5d6978;

    font-size:1.08rem;

    line-height:1.9;

}

.legal-philosophy-image{

    max-width:1200px;

    margin:75px auto 0;

    border-radius:34px;

    overflow:hidden;

    box-shadow:0 35px 90px rgba(6,22,47,.12);

}

.legal-philosophy-image img{

    width:100%;

    height:580px;

    object-fit:cover;

    display:block;

    transition:transform .9s ease;

}

.legal-philosophy-image:hover img{

    transform:scale(1.05);

}

/*==========================
Responsive
==========================*/

@media(max-width:900px){

.legal-philosophy{

padding:90px 22px;

}

.legal-philosophy-grid{

grid-template-columns:1fr;

gap:42px;

}

.legal-philosophy-left h2{

font-size:clamp(2.5rem,11vw,4rem);

}

.legal-philosophy-right p{

font-size:1rem;

line-height:1.8;

}

.legal-philosophy-image{

margin-top:50px;

border-radius:24px;

}

.legal-philosophy-image img{

height:330px;

}

}




/*=========================================
LEGAL PROGRAMMES
=========================================*/

.legal-programmes{

padding:130px 6vw;

background:#06162f;

overflow:hidden;

}

.legal-programmes-head{

max-width:760px;

margin:auto;

text-align:center;

margin-bottom:65px;

}

.legal-programmes-head span{

display:inline-block;

margin-bottom:18px;

color:#d6ae4c;

font-size:.78rem;

font-weight:800;

letter-spacing:.22em;

text-transform:uppercase;

}

.legal-programmes-head h2{

margin:0;

color:#fff;

font-size:clamp(2.8rem,5vw,5.5rem);

line-height:.95;

letter-spacing:-.05em;

font-weight:850;

}

.legal-programmes-head p{

margin-top:25px;

color:rgba(255,255,255,.72);

font-size:1.05rem;

line-height:1.8;

}

.legal-programmes-slider{

display:flex;

gap:24px;

overflow-x:auto;

scrollbar-width:none;

scroll-behavior:smooth;

padding-bottom:20px;

}

.legal-programmes-slider::-webkit-scrollbar{

display:none;

}

.legal-card{

position:relative;

flex:0 0 350px;

height:500px;

border-radius:34px;

overflow:hidden;

text-decoration:none;

color:#fff;

box-shadow:0 35px 90px rgba(0,0,0,.28);

}

.legal-card img{

width:100%;

height:100%;

object-fit:cover;

transition:1s;

}

.legal-card-overlay{

position:absolute;

inset:0;

background:

linear-gradient(

0deg,

rgba(6,22,47,.94),

rgba(6,22,47,.18)

);

}

.legal-card-content{

position:absolute;

left:30px;

right:30px;

bottom:30px;

z-index:2;

}

.legal-card-content small{

display:inline-block;

margin-bottom:75px;

color:#d6ae4c;

font-weight:900;

letter-spacing:.18em;

}

.legal-card-content h3{

margin:0 0 14px;

font-size:1.9rem;

font-weight:850;

line-height:1.05;

}

.legal-card-content p{

margin:0;

font-size:.94rem;

line-height:1.65;

color:rgba(255,255,255,.75);

}

.legal-card-content b{

display:inline-block;

margin-top:22px;

color:#d6ae4c;

}

.legal-card:hover img{

transform:scale(1.1);

}

@media(max-width:768px){

.legal-programmes{

padding:90px 22px;

}

.legal-card{

flex:0 0 84%;

height:430px;

}

}



/* PRACTICAL LEGAL EDUCATION */
.legal-learning {
  padding: 130px 6vw;
  background: #ffffff;
  color: #06162f;
}

.legal-learning-wrap {
  max-width: 1350px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 70px;
  align-items: center;
}

.legal-learning-media {
  position: relative;
  height: 720px;
  border-radius: 38px;
  overflow: hidden;
  background: #020814;
  box-shadow: 0 40px 100px rgba(6,22,47,.18);
}

.legal-learning-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity .35s ease, transform 1s ease;
}

.legal-learning-media:hover video {
  transform: scale(1.045);
}

.legal-learning-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(2,8,20,.9) 0%, rgba(2,8,20,.22) 58%),
    linear-gradient(120deg, rgba(6,22,47,.58), transparent 55%);
}

.legal-learning-caption {
  position: absolute;
  left: 36px;
  right: 36px;
  bottom: 36px;
  z-index: 2;
  color: #fff;
}

.legal-learning-caption span,
.legal-learning-content > span {
  display: inline-block;
  margin-bottom: 16px;
  color: #d6ae4c;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.legal-learning-caption h3 {
  margin: 0;
  max-width: 620px;
  font-size: clamp(2rem, 3.2vw, 3.8rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 850;
}

.legal-learning-content h2 {
  margin: 0;
  font-size: clamp(2.6rem, 4.7vw, 5.1rem);
  line-height: .96;
  letter-spacing: -.055em;
  font-weight: 850;
}

.legal-learning-content p {
  margin: 28px 0 36px;
  color: rgba(6,22,47,.68);
  font-size: 1.06rem;
  line-height: 1.8;
}

.legal-learning-tabs {
  display: grid;
  gap: 14px;
}

.legal-learning-tab {
  width: 100%;
  padding: 24px;
  border: 1px solid rgba(6,22,47,.1);
  border-radius: 24px;
  background: #f7f1e6;
  color: #06162f;
  text-align: left;
  cursor: pointer;
  transition: .35s ease;
}

.legal-learning-tab strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 850;
  margin-bottom: 8px;
}

.legal-learning-tab small {
  display: block;
  color: rgba(6,22,47,.62);
  font-size: .92rem;
  line-height: 1.55;
}

.legal-learning-tab.active,
.legal-learning-tab:hover {
  background: #06162f;
  color: #fff;
  transform: translateX(8px);
  box-shadow: 0 20px 50px rgba(6,22,47,.16);
}

.legal-learning-tab.active small,
.legal-learning-tab:hover small {
  color: rgba(255,255,255,.72);
}

@media (max-width: 950px) {
  .legal-learning {
    padding: 90px 22px;
  }

  .legal-learning-wrap {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .legal-learning-media {
    height: 470px;
    border-radius: 28px;
  }

  .legal-learning-content h2 {
    font-size: clamp(2.4rem, 11vw, 4rem);
  }

  .legal-learning-tab.active,
  .legal-learning-tab:hover {
    transform: none;
  }
}




/* LEGAL CAREER OPPORTUNITIES */
.legal-careers {
  padding: 120px 6vw;
  background: #020814;
  color: #fff;
}

.legal-careers-head {
  max-width: 1080px;
  margin: 0 auto 70px;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 70px;
  align-items: end;
}

.legal-careers-head span {
  display: inline-block;
  margin-bottom: 18px;
  color: #d6ae4c;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.legal-careers-head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.8rem, 5vw, 5.4rem);
  line-height: .96;
  letter-spacing: -.055em;
  font-weight: 850;
}

.legal-careers-head p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 1.05rem;
  line-height: 1.8;
}

.legal-careers-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.legal-careers-grid article {
  min-height: 270px;
  padding: 30px;
  border-radius: 28px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  transition: .35s ease;
}

.legal-careers-grid small {
  color: #d6ae4c;
  font-weight: 900;
  letter-spacing: .18em;
}

.legal-careers-grid h3 {
  margin: 68px 0 16px;
  color: #fff;
  font-size: 1.18rem;
  line-height: 1.15;
  font-weight: 850;
}

.legal-careers-grid p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: .9rem;
  line-height: 1.65;
}

.legal-careers-grid article:hover {
  background: #ffffff;
  transform: translateY(-10px);
}

.legal-careers-grid article:hover h3 {
  color: #06162f;
}

.legal-careers-grid article:hover p {
  color: rgba(6,22,47,.68);
}

@media (max-width: 1000px) {
  .legal-careers-head {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .legal-careers-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {
  .legal-careers {
    padding: 85px 22px;
  }

  .legal-careers-grid {
    grid-template-columns: 1fr;
  }

  .legal-careers-grid article {
    min-height: 235px;
  }

  .legal-careers-grid h3 {
    margin-top: 52px;
  }
}




/* LEGAL TUITION GUIDE */
.legal-tuition {
  padding: 110px 6vw;
  background: #f7f1e6;
  color: #06162f;
}

.legal-tuition-inner {
  max-width: 1250px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 70px;
  align-items: center;
}

.legal-tuition-text span {
  display: inline-block;
  margin-bottom: 18px;
  color: #d6ae4c;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.legal-tuition-text h2 {
  margin: 0;
  color: #06162f;
  font-size: clamp(2.4rem, 4vw, 4.6rem);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 850;
}

.legal-tuition-text p {
  max-width: 540px;
  margin: 28px 0 26px;
  color: rgba(6,22,47,.68);
  font-size: 1rem;
  line-height: 1.75;
}

.legal-tuition-text ul {
  list-style: none;
  padding: 0;
  margin: 0 0 36px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.legal-tuition-text li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}

.legal-tuition-text li::before {
  content: "✓";
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #d6ae4c;
  color: #06162f;
  font-size: .8rem;
  font-weight: 900;
}

.legal-fee-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 28px;
  border-radius: 999px;
  background: #06162f;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  transition: .35s ease;
}

.legal-fee-btn:hover {
  background: #d6ae4c;
  color: #06162f;
  transform: translateY(-4px);
}

.legal-tuition-image {
  position: relative;
  padding: 18px;
  border-radius: 34px;
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(214,174,76,.28);
  box-shadow: 0 35px 90px rgba(6,22,47,.14);
}

.legal-tuition-image img {
  width: 100%;
  max-height: 620px;
  object-fit: contain;
  display: block;
  border-radius: 24px;
  background: #fff;
  cursor: pointer;
  transition: .45s ease;
}

.legal-tuition-image:hover img {
  transform: scale(1.025);
}

/* LIGHTBOX */
.legal-fee-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(2,8,20,.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: .35s ease;
}

.legal-fee-lightbox.active {
  opacity: 1;
  visibility: visible;
}

.legal-fee-lightbox img {
  max-width: 94%;
  max-height: 92vh;
  object-fit: contain;
  border-radius: 22px;
  box-shadow: 0 40px 120px rgba(0,0,0,.45);
}

@media (max-width: 900px) {
  .legal-tuition {
    padding: 85px 22px;
  }

  .legal-tuition-inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .legal-tuition-text ul {
    grid-template-columns: 1fr;
  }

  .legal-tuition-image {
    padding: 10px;
    border-radius: 24px;
  }

  .legal-tuition-image img {
    max-height: none;
    border-radius: 18px;
  }
}



/*=========================================
WHY CHOOSE LEGAL CAREERS
=========================================*/

.legal-why{

padding:120px 6vw;

background:#ffffff;

}

.legal-why-head{

max-width:850px;

margin:0 auto 70px;

text-align:center;

}

.legal-why-head span{

display:inline-block;

margin-bottom:18px;

color:#d6ae4c;

font-size:.78rem;

font-weight:800;

letter-spacing:.22em;

text-transform:uppercase;

}

.legal-why-head h2{

margin:0;

color:#06162f;

font-size:clamp(2.8rem,5vw,5.4rem);

line-height:.95;

letter-spacing:-.05em;

font-weight:850;

}

.legal-why-head p{

max-width:720px;

margin:30px auto 0;

color:#5d6978;

font-size:1.05rem;

line-height:1.8;

}

.legal-why-grid{

max-width:1350px;

margin:auto;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:22px;

}

.legal-why-card{

padding:36px;

background:#f7f1e6;

border-radius:30px;

border:1px solid rgba(6,22,47,.08);

box-shadow:0 25px 70px rgba(6,22,47,.06);

transition:.4s;

}

.legal-why-icon{

width:68px;

height:68px;

display:flex;

align-items:center;

justify-content:center;

font-size:1.8rem;

border-radius:20px;

background:#06162f;

margin-bottom:42px;

}

.legal-why-card h3{

margin:0 0 16px;

color:#06162f;

font-size:1.3rem;

font-weight:850;

line-height:1.2;

}

.legal-why-card p{

margin:0;

color:#5d6978;

font-size:.95rem;

line-height:1.75;

}

.legal-why-card:hover{

background:#06162f;

transform:translateY(-10px);

}

.legal-why-card:hover h3{

color:#ffffff;

}

.legal-why-card:hover p{

color:rgba(255,255,255,.74);

}

.legal-why-card:hover .legal-why-icon{

background:#d6ae4c;

}

@media(max-width:1100px){

.legal-why-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.legal-why{

padding:90px 22px;

}

.legal-why-head{

text-align:left;

margin-bottom:45px;

}

.legal-why-grid{

grid-template-columns:1fr;

}

}




/* LEGAL FINAL CTA */
.legal-final-cta {
  position: relative;
  min-height: 100vh;
  padding: 120px 6vw;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #06162f;
  text-align: center;
}

.legal-final-slideshow {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.legal-final-slideshow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 1.6s ease, transform 6s ease;
}

.legal-final-slideshow img.active {
  opacity: 1;
  transform: scale(1.12);
}

.legal-final-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    rgba(6,22,47,.42),
    rgba(6,22,47,.94)
  );
}

.legal-final-content {
  position: relative;
  z-index: 3;
  max-width: 900px;
}

.legal-final-content span {
  display: inline-block;
  margin-bottom: 22px;
  color: #d6ae4c;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.legal-final-content h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(3.8rem, 7vw, 7.4rem);
  line-height: .88;
  letter-spacing: -.06em;
  font-weight: 850;
}

.legal-final-content p {
  max-width: 700px;
  margin: 34px auto 0;
  color: rgba(255,255,255,.82);
  font-size: 1.08rem;
  line-height: 1.85;
}

.legal-final-buttons {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

.legal-final-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 34px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition: .35s ease;
}

.legal-final-btn.primary {
  background: #d6ae4c;
  color: #06162f;
}

.legal-final-btn.secondary {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
}

.legal-final-btn:hover {
  transform: translateY(-5px);
}

@media (max-width: 768px) {
  .legal-final-cta {
    min-height: 90vh;
    padding: 90px 22px;
  }

  .legal-final-content h2 {
    font-size: clamp(3rem, 14vw, 5.2rem);
  }

  .legal-final-buttons {
    flex-direction: column;
  }

  .legal-final-btn {
    width: 100%;
  }
}

























































/*=========================================
LEGAL HERO
==========================================*/

.legal-hero{

    position:relative;
    overflow:hidden;

    min-height:100vh;

    display:flex;
    align-items:center;

    background:#06162f;

}

.legal-hero-image{

    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    transform:scale(1.08);

    animation:legalZoom 18s ease-in-out infinite alternate;

}

@keyframes legalZoom{

from{

transform:scale(1.08);

}

to{

transform:scale(1.16);

}

}

.legal-hero-overlay{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
    90deg,
    rgba(6,22,47,.92) 15%,
    rgba(6,22,47,.78) 45%,
    rgba(6,22,47,.48) 100%
    );

}

.legal-hero-container{

    position:relative;
    z-index:5;

    width:100%;
    max-width:1400px;

    margin:auto;

    padding:140px 6vw;

}

.legal-hero-content{

    max-width:760px;

}

.legal-hero-tag{

    display:inline-block;

    color:#d6ae4c;

    text-transform:uppercase;

    letter-spacing:.18em;

    font-size:.74rem;

    font-weight:700;

    margin-bottom:28px;

}

.legal-hero-title{

    font-size:clamp(3.2rem,6vw,6.4rem);

    line-height:.95;

    letter-spacing:-.05em;

    color:#fff;

    margin-bottom:28px;

}

.legal-hero-title strong{

    display:block;

    color:#d6ae4c;

    font-weight:700;

}

.legal-hero-statement{

    font-size:1.3rem;

    color:#ffffff;

    font-weight:500;

    margin-bottom:22px;

}

.legal-hero-description{

    color:rgba(255,255,255,.78);

    line-height:1.9;

    font-size:1.06rem;

    max-width:650px;

    margin-bottom:50px;

}

.legal-hero-description strong{

    color:#ffffff;

}

.legal-hero-snapshot{

    display:flex;

    gap:22px;

    flex-wrap:wrap;

    margin-bottom:50px;

}

.legal-hero-card{

    min-width:180px;

    background:rgba(255,255,255,.06);

    backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,.10);

    padding:22px;

}

.legal-hero-card small{

    display:block;

    color:#d6ae4c;

    text-transform:uppercase;

    letter-spacing:.08em;

    margin-bottom:10px;

}

.legal-hero-card h3{

    color:#fff;

    font-size:1.15rem;

    line-height:1.4;

}

.legal-hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.legal-btn-primary{

    background:#d6ae4c;

    color:#06162f;

    padding:17px 34px;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

}

.legal-btn-primary:hover{

    background:#fff;

}

.legal-btn-secondary{

    border:1px solid rgba(255,255,255,.4);

    color:#fff;

    padding:17px 34px;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

}

.legal-btn-secondary:hover{

    background:#fff;

    color:#06162f;

}

@media(max-width:768px){

.legal-hero{

min-height:auto;

}

.legal-hero-container{

padding:120px 24px 90px;

}

.legal-hero-title{

font-size:2.8rem;

}

.legal-hero-snapshot{

flex-direction:column;

}

.legal-hero-card{

width:100%;

}

.legal-hero-buttons{

flex-direction:column;

}

.legal-btn-primary,
.legal-btn-secondary{

width:100%;
text-align:center;

}

}






/*==================================================
LEGAL ABOUT
==================================================*/

.legal-about{

    background:#f7f5ef;
    padding:120px 0;

}

.legal-about-container{

    width:min(1400px,92%);
    margin:auto;

}

.legal-about-grid{

    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:80px;
    align-items:center;

}

.legal-about-image-wrapper{

    position:relative;
    overflow:hidden;
    border-radius:18px;

}

.legal-about-image{

    width:100%;
    display:block;
    object-fit:cover;
    transition:transform .8s ease;

}

.legal-about-image-wrapper:hover .legal-about-image{

    transform:scale(1.05);

}

.legal-about-label{

    display:inline-block;

    color:#d6ae4c;

    text-transform:uppercase;

    letter-spacing:.18em;

    font-size:.75rem;

    font-weight:700;

    margin-bottom:24px;

}

.legal-about h2{

    font-size:clamp(2.5rem,4vw,4.8rem);

    line-height:1;

    letter-spacing:-.04em;

    color:#06162f;

    margin-bottom:30px;

}

.legal-about h2 strong{

    display:block;

    color:#d6ae4c;

}

.legal-about blockquote{

    margin:0 0 35px;

    padding-left:28px;

    border-left:4px solid #d6ae4c;

    font-size:1.45rem;

    font-weight:500;

    line-height:1.5;

    color:#06162f;

}

.legal-about p{

    color:#555;

    line-height:1.95;

    margin-bottom:22px;

    font-size:1.04rem;

}

.legal-about p strong{

    color:#06162f;

}

.legal-principles{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:18px;

    margin-top:45px;

}

.legal-principle{

    padding:20px;

    background:#fff;

    border:1px solid rgba(6,22,47,.08);

    text-align:center;

    font-weight:600;

    color:#06162f;

    transition:.35s;

}

.legal-principle:hover{

    background:#06162f;

    color:#fff;

    transform:translateY(-6px);

}

@media(max-width:992px){

.legal-about-grid{

grid-template-columns:1fr;

gap:60px;

}

}

@media(max-width:768px){

.legal-about{

padding:90px 0;

}

.legal-about h2{

font-size:2.5rem;

}

.legal-principles{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:540px){

.legal-principles{

grid-template-columns:1fr;

}

.legal-about blockquote{

font-size:1.2rem;

}

}







/*==================================================
LEGAL ASSISTANT — PROFESSIONAL JOURNEY
==================================================*/

.legal-journey {
    position: relative;
    overflow: hidden;
    padding: 130px 6vw;
    background: #06162f;
    color: #ffffff;
}

.legal-journey::before {
    content: "JOURNEY";
    position: absolute;
    top: 90px;
    right: -40px;
    color: rgba(255, 255, 255, 0.025);
    font-size: clamp(7rem, 17vw, 16rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.legal-journey-intro {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto 100px;
    text-align: center;
}

.legal-journey-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    color: #d6ae4c;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.legal-journey-label::before,
.legal-journey-label::after {
    content: "";
    width: 34px;
    height: 1px;
    background: #d6ae4c;
}

.legal-journey-intro h2 {
    margin: 0 0 28px;
    color: #ffffff;
    font-size: clamp(2.8rem, 5.5vw, 5.8rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.legal-journey-intro h2 strong {
    display: block;
    color: #d6ae4c;
    font-weight: 700;
}

.legal-journey-intro p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.05rem;
    line-height: 1.9;
}

.legal-journey-track {
    position: relative;
    width: min(1280px, 100%);
    margin: 0 auto;
}

.legal-journey-track::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(214, 174, 76, 0.6) 8%,
        rgba(214, 174, 76, 0.6) 92%,
        transparent
    );
    transform: translateX(-50%);
}

.legal-journey-stage {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 110px 1fr;
    align-items: center;
    min-height: 520px;
    margin-bottom: 70px;
    opacity: 0;
    transform: translateY(60px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

.legal-journey-stage.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.legal-journey-stage:nth-child(even) .legal-journey-stage-content {
    grid-column: 3;
    grid-row: 1;
}

.legal-journey-stage:nth-child(even) .legal-journey-stage-image {
    grid-column: 1;
    grid-row: 1;
}

.legal-journey-stage:nth-child(odd) .legal-journey-stage-content {
    grid-column: 1;
    grid-row: 1;
}

.legal-journey-stage:nth-child(odd) .legal-journey-stage-image {
    grid-column: 3;
    grid-row: 1;
}

.legal-journey-number {
    position: relative;
    z-index: 3;
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 82px;
    margin: auto;
    border: 1px solid rgba(214, 174, 76, 0.6);
    border-radius: 50%;
    background: #06162f;
    color: #d6ae4c;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    box-shadow: 0 0 0 12px rgba(6, 22, 47, 0.92);
}

.legal-journey-stage-content {
    max-width: 500px;
    padding: 55px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.045);
    backdrop-filter: blur(14px);
}

.legal-journey-stage:nth-child(even) .legal-journey-stage-content {
    justify-self: end;
}

.legal-journey-stage-content span {
    display: block;
    margin-bottom: 20px;
    color: #d6ae4c;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.legal-journey-stage-content h3 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.legal-journey-stage-content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 1rem;
    line-height: 1.85;
}

.legal-journey-stage-image {
    position: relative;
    overflow: hidden;
    min-height: 440px;
    border-radius: 4px;
}

.legal-journey-stage-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(6, 22, 47, 0.48)
    );
}

.legal-journey-stage-image img {
    width: 100%;
    height: 100%;
    min-height: 440px;
    object-fit: cover;
    transform: scale(1.04);
    transition: transform 1.2s ease;
}

.legal-journey-stage:hover .legal-journey-stage-image img {
    transform: scale(1.1);
}

.legal-journey-final {
    position: relative;
    z-index: 2;
    width: min(1000px, 100%);
    margin: 90px auto 0;
    padding: 65px 7vw;
    border-top: 1px solid rgba(214, 174, 76, 0.45);
    border-bottom: 1px solid rgba(214, 174, 76, 0.45);
    text-align: center;
}

.legal-journey-final span {
    display: block;
    margin-bottom: 20px;
    color: #d6ae4c;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.legal-journey-final p {
    max-width: 850px;
    margin: 0 auto;
    color: #ffffff;
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.04em;
}


/*==================================================
RESPONSIVE
==================================================*/

@media (max-width: 992px) {

    .legal-journey {
        padding: 100px 30px;
    }

    .legal-journey-track::before {
        left: 40px;
    }

    .legal-journey-stage {
        grid-template-columns: 80px 1fr;
        gap: 25px;
        min-height: auto;
        margin-bottom: 70px;
    }

    .legal-journey-number {
        grid-column: 1;
        grid-row: 1;
        width: 66px;
        height: 66px;
    }

    .legal-journey-stage:nth-child(odd) .legal-journey-stage-content,
    .legal-journey-stage:nth-child(even) .legal-journey-stage-content {
        grid-column: 2;
        grid-row: 1;
        justify-self: stretch;
    }

    .legal-journey-stage:nth-child(odd) .legal-journey-stage-image,
    .legal-journey-stage:nth-child(even) .legal-journey-stage-image {
        grid-column: 2;
        grid-row: 2;
    }

    .legal-journey-stage-content {
        max-width: none;
    }

    .legal-journey-stage-image,
    .legal-journey-stage-image img {
        min-height: 380px;
    }
}

@media (max-width: 640px) {

    .legal-journey {
        padding: 85px 20px;
    }

    .legal-journey-intro {
        margin-bottom: 70px;
        text-align: left;
    }

    .legal-journey-label::after {
        display: none;
    }

    .legal-journey-track::before {
        left: 27px;
    }

    .legal-journey-stage {
        grid-template-columns: 54px 1fr;
        gap: 16px;
    }

    .legal-journey-number {
        width: 54px;
        height: 54px;
        font-size: 0.84rem;
        box-shadow: 0 0 0 8px rgba(6, 22, 47, 0.94);
    }

    .legal-journey-stage-content {
        padding: 32px 24px;
    }

    .legal-journey-stage-content h3 {
        font-size: 1.85rem;
    }

    .legal-journey-stage-image,
    .legal-journey-stage-image img {
        min-height: 280px;
    }

    .legal-journey-final {
        margin-top: 50px;
        padding: 45px 20px;
        text-align: left;
    }

    .legal-journey-final p {
        font-size: 2rem;
    }
}





/*==================================================
LEGAL ASSISTANT — EDITORIAL LEARNING JOURNEY
PART 1: FRAMEWORK, TYPOGRAPHY & STICKY VISUAL
==================================================*/

/*--------------------------------------------------
1. SECTION FOUNDATION
--------------------------------------------------*/

.legal-learning-editorial {
    position: relative;
    isolation: isolate;
    overflow: clip;
    padding: clamp(100px, 11vw, 180px) 0;
    background: #f7f5ef;
    color: #06162f;
}

.legal-learning-editorial *,
.legal-learning-editorial *::before,
.legal-learning-editorial *::after {
    box-sizing: border-box;
}

.legal-learning-editorial::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
    width: 100%;
    height: 520px;
    background:
        radial-gradient(
            circle at 76% 15%,
            rgba(214, 174, 76, 0.12),
            transparent 38%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            rgba(255, 255, 255, 0) 100%
        );
    pointer-events: none;
}

.legal-learning-editorial::after {
    content: "CURRICULUM";
    position: absolute;
    z-index: -1;
    top: 85px;
    right: -0.08em;
    color: rgba(6, 22, 47, 0.025);
    font-size: clamp(6rem, 16vw, 15rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
}


/*--------------------------------------------------
2. SECTION INTRODUCTION
--------------------------------------------------*/

.legal-learning-editorial__intro {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 12vw));
    margin: 0 auto clamp(90px, 10vw, 150px);
    text-align: center;
}

.legal-learning-editorial__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 28px;
    color: #b58b2b;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.legal-learning-editorial__eyebrow::before,
.legal-learning-editorial__eyebrow::after {
    content: "";
    display: block;
    width: 42px;
    height: 1px;
    background: #d6ae4c;
}

.legal-learning-editorial__title {
    max-width: 1050px;
    margin: 0 auto 34px;
    color: #06162f;
    font-size: clamp(3.2rem, 6.8vw, 7.4rem);
    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -0.065em;
    text-wrap: balance;
}

.legal-learning-editorial__title strong {
    display: block;
    margin-top: 0.08em;
    color: #b58b2b;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.045em;
}

.legal-learning-editorial__description {
    max-width: 730px;
    margin: 0 auto;
    color: rgba(6, 22, 47, 0.66);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    font-weight: 400;
    line-height: 1.9;
    text-wrap: pretty;
}


/*--------------------------------------------------
3. JOURNEY FRAMEWORK
--------------------------------------------------*/

.legal-learning-editorial__journey {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(420px, 0.92fr)
        minmax(500px, 1.08fr);
    gap: clamp(70px, 8vw, 140px);
    align-items: start;
    width: min(1500px, calc(100% - 10vw));
    margin: 0 auto;
}

.legal-learning-editorial__journey::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(
        46% + clamp(35px, 4vw, 70px)
    );
    width: 1px;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(181, 139, 43, 0.34) 8%,
        rgba(181, 139, 43, 0.34) 92%,
        transparent 100%
    );
    pointer-events: none;
}


/*--------------------------------------------------
4. STICKY VISUAL PANEL
--------------------------------------------------*/

.legal-learning-editorial__visual {
    position: sticky;
    top: clamp(90px, 10vh, 130px);
    overflow: hidden;
    width: 100%;
    height: min(76vh, 790px);
    min-height: 580px;
    margin: 0;
    border-radius: 4px;
    background: #06162f;
    box-shadow:
        0 45px 100px rgba(6, 22, 47, 0.16),
        0 14px 35px rgba(6, 22, 47, 0.1);
}

.legal-learning-editorial__visual::before {
    content: "";
    position: absolute;
    z-index: 5;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.15);
    pointer-events: none;
}

.legal-learning-editorial__visual::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.04) 0%,
            rgba(6, 22, 47, 0.08) 42%,
            rgba(6, 22, 47, 0.84) 100%
        ),
        linear-gradient(
            90deg,
            rgba(6, 22, 47, 0.16),
            transparent 55%
        );
    pointer-events: none;
}


/*--------------------------------------------------
5. IMAGE STACK
--------------------------------------------------*/

.legal-learning-editorial__image {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.06);
    transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.legal-learning-editorial__image.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.legal-learning-editorial__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.92) contrast(1.03);
    transform: scale(1.015);
    transition:
        transform 9s cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 0.8s ease;
}

.legal-learning-editorial__image.is-active img {
    transform: scale(1.085);
}

.legal-learning-editorial__visual:hover
.legal-learning-editorial__image.is-active img {
    filter: saturate(1) contrast(1.04);
}


/*--------------------------------------------------
6. VISUAL CAPTION
--------------------------------------------------*/

.legal-learning-editorial__visual-caption {
    position: absolute;
    z-index: 6;
    right: clamp(24px, 3vw, 46px);
    bottom: clamp(26px, 4vw, 48px);
    left: clamp(24px, 3vw, 46px);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
}

.legal-learning-editorial__visual-caption span {
    color: #d6ae4c;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.legal-learning-editorial__visual-caption strong {
    max-width: 270px;
    color: #ffffff;
    font-size: clamp(0.95rem, 1.2vw, 1.1rem);
    font-weight: 600;
    line-height: 1.5;
    text-align: right;
}


/*--------------------------------------------------
7. CHAPTER COLUMN FRAMEWORK
--------------------------------------------------*/

.legal-learning-editorial__chapters {
    position: relative;
    min-width: 0;
}

.legal-learning-editorial__chapter {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(680px, 88vh, 920px);
    padding:
        clamp(90px, 11vh, 140px)
        0
        clamp(90px, 11vh, 140px)
        clamp(25px, 3vw, 55px);
    border-bottom: 1px solid rgba(6, 22, 47, 0.11);
}

.legal-learning-editorial__chapter:first-child {
    padding-top: clamp(35px, 5vh, 70px);
}

.legal-learning-editorial__chapter:last-child {
    border-bottom: 0;
}

.legal-learning-editorial__chapter-content {
    position: relative;
    z-index: 2;
    width: min(100%, 650px);
}


/*--------------------------------------------------
8. CHAPTER TYPOGRAPHY FOUNDATION
--------------------------------------------------*/

.legal-learning-editorial__meta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    color: #b58b2b;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.legal-learning-editorial__meta::before {
    content: "";
    width: 32px;
    height: 1px;
    background: #d6ae4c;
}

.legal-learning-editorial__chapter h3 {
    max-width: 650px;
    margin: 0 0 30px;
    color: #06162f;
    font-size: clamp(3rem, 5vw, 6.4rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.06em;
    text-wrap: balance;
}

.legal-learning-editorial__chapter p {
    max-width: 570px;
    margin: 0;
    color: rgba(6, 22, 47, 0.67);
    font-size: clamp(1rem, 1.25vw, 1.14rem);
    font-weight: 400;
    line-height: 1.9;
    text-wrap: pretty;
}


/*--------------------------------------------------
9. LARGE CHAPTER NUMBERS — FOUNDATION
--------------------------------------------------*/

.legal-learning-editorial__number {
    position: absolute;
    z-index: 0;
    top: 50%;
    right: 0;
    color: rgba(6, 22, 47, 0.045);
    font-size: clamp(8rem, 15vw, 15rem);
    font-weight: 800;
    line-height: 0.72;
    letter-spacing: -0.09em;
    transform: translateY(-50%);
    user-select: none;
    pointer-events: none;
}


/*--------------------------------------------------
10. CLOSING FRAMEWORK
--------------------------------------------------*/

.legal-learning-editorial__closing {
    position: relative;
    width: min(1150px, calc(100% - 12vw));
    margin: clamp(100px, 12vw, 180px) auto 0;
    padding: clamp(60px, 8vw, 100px) 0;
    border-top: 1px solid rgba(181, 139, 43, 0.42);
    border-bottom: 1px solid rgba(181, 139, 43, 0.42);
    text-align: center;
}

.legal-learning-editorial__closing span {
    display: block;
    margin-bottom: 25px;
    color: #b58b2b;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.19em;
    text-transform: uppercase;
}

.legal-learning-editorial__closing p {
    max-width: 1000px;
    margin: 0 auto;
    color: #06162f;
    font-size: clamp(2.4rem, 5vw, 5.4rem);
    font-weight: 600;
    line-height: 1.03;
    letter-spacing: -0.055em;
    text-wrap: balance;
}


/*--------------------------------------------------
11. BASIC TABLET FRAMEWORK
Detailed responsive polish belongs in Part 3.
--------------------------------------------------*/

@media (max-width: 1100px) {

    .legal-learning-editorial__journey {
        grid-template-columns:
            minmax(350px, 0.9fr)
            minmax(420px, 1.1fr);
        gap: 65px;
        width: min(100% - 60px, 1200px);
    }

    .legal-learning-editorial__visual {
        height: min(72vh, 700px);
        min-height: 520px;
    }

    .legal-learning-editorial__chapter {
        padding-left: 20px;
    }

    .legal-learning-editorial__journey::before {
        display: none;
    }
}


/*--------------------------------------------------
12. REDUCED MOTION
--------------------------------------------------*/

@media (prefers-reduced-motion: reduce) {

    .legal-learning-editorial__image,
    .legal-learning-editorial__image img {
        transition: none;
    }

    .legal-learning-editorial__image.is-active img {
        transform: none;
    }
}







/*==================================================
LEGAL ASSISTANT — EDITORIAL LEARNING JOURNEY
PART 2A: CHAPTER STYLING, GIANT NUMBERS
& ACTIVE / INACTIVE STATES
==================================================*/


/*--------------------------------------------------
1. CHAPTER BASE STATE
--------------------------------------------------*/

.legal-learning-editorial__chapter {
    isolation: isolate;
    opacity: 0.44;
    transition:
        opacity 0.55s ease,
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.45s ease;
}

.legal-learning-editorial__chapter::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    width: min(100%, 760px);
    height: 72%;
    background:
        radial-gradient(
            circle at 22% 50%,
            rgba(214, 174, 76, 0.12),
            transparent 58%
        );
    opacity: 0;
    transform:
        translateY(-50%)
        scale(0.94);
    transition:
        opacity 0.6s ease,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}

.legal-learning-editorial__chapter::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        #d6ae4c,
        rgba(214, 174, 76, 0)
    );
    transform: translateY(-50%);
    transition:
        width 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.4s ease;
    opacity: 0;
    pointer-events: none;
}


/*--------------------------------------------------
2. ACTIVE CHAPTER STATE
--------------------------------------------------*/

.legal-learning-editorial__chapter.is-active {
    opacity: 1;
    transform: translateX(0);
    border-color: rgba(181, 139, 43, 0.28);
}

.legal-learning-editorial__chapter.is-active::before {
    opacity: 1;
    transform:
        translateY(-50%)
        scale(1);
}

.legal-learning-editorial__chapter.is-active::after {
    width: clamp(72px, 8vw, 130px);
    opacity: 1;
}

.legal-learning-editorial__chapter:not(.is-active) {
    transform: translateX(14px);
}


/*--------------------------------------------------
3. CHAPTER CONTENT MOTION
--------------------------------------------------*/

.legal-learning-editorial__chapter-content {
    transform: translateY(18px);
    transition:
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.55s ease;
}

.legal-learning-editorial__chapter.is-active
.legal-learning-editorial__chapter-content {
    transform: translateY(0);
}

.legal-learning-editorial__chapter:not(.is-active)
.legal-learning-editorial__chapter-content {
    opacity: 0.74;
}


/*--------------------------------------------------
4. GIANT NUMBER BASE
--------------------------------------------------*/

.legal-learning-editorial__number {
    position: absolute;
    z-index: 0;
    top: 50%;
    right: clamp(-10px, 1vw, 24px);
    overflow: visible;

    color: transparent;

    font-size: clamp(9rem, 16vw, 17rem);
    font-weight: 800;
    line-height: 0.72;
    letter-spacing: -0.1em;

    -webkit-text-stroke:
        1px rgba(6, 22, 47, 0.09);

    text-stroke:
        1px rgba(6, 22, 47, 0.09);

    transform:
        translateY(-50%)
        translateX(14px)
        scale(0.96);

    transform-origin: center right;

    transition:
        color 0.55s ease,
        -webkit-text-stroke-color 0.55s ease,
        opacity 0.55s ease,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);

    opacity: 0.58;
}


/*--------------------------------------------------
5. ACTIVE GIANT NUMBER
--------------------------------------------------*/

.legal-learning-editorial__chapter.is-active
.legal-learning-editorial__number {
    color: rgba(214, 174, 76, 0.09);

    -webkit-text-stroke-color:
        rgba(181, 139, 43, 0.18);

    opacity: 1;

    transform:
        translateY(-50%)
        translateX(0)
        scale(1);
}


/*--------------------------------------------------
6. NUMBER ACCENT LINE
--------------------------------------------------*/

.legal-learning-editorial__number::after {
    content: "";
    position: absolute;
    right: 0.08em;
    bottom: -0.08em;
    width: 0;
    height: 3px;
    background: #d6ae4c;
    transition:
        width 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.legal-learning-editorial__chapter.is-active
.legal-learning-editorial__number::after {
    width: 0.42em;
}


/*--------------------------------------------------
7. CHAPTER META STYLING
--------------------------------------------------*/

.legal-learning-editorial__meta {
    opacity: 0.62;
    transform: translateX(10px);
    transition:
        opacity 0.45s ease,
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.35s ease;
}

.legal-learning-editorial__chapter.is-active
.legal-learning-editorial__meta {
    opacity: 1;
    transform: translateX(0);
    color: #b58b2b;
}

.legal-learning-editorial__meta::before {
    width: 22px;
    transition:
        width 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.35s ease;
}

.legal-learning-editorial__chapter.is-active
.legal-learning-editorial__meta::before {
    width: 42px;
    background: #d6ae4c;
}


/*--------------------------------------------------
8. CHAPTER TITLE STATES
--------------------------------------------------*/

.legal-learning-editorial__chapter h3 {
    position: relative;
    z-index: 2;
    opacity: 0.68;
    transform: translateY(12px);
    transition:
        opacity 0.5s ease,
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.35s ease;
}

.legal-learning-editorial__chapter.is-active h3 {
    opacity: 1;
    transform: translateY(0);
    color: #06162f;
}


/*--------------------------------------------------
9. TITLE ACCENT
--------------------------------------------------*/

.legal-learning-editorial__chapter h3::after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    margin-top: 28px;
    background: linear-gradient(
        90deg,
        #d6ae4c 0%,
        rgba(214, 174, 76, 0.15) 75%,
        transparent 100%
    );
    transition:
        width 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.legal-learning-editorial__chapter.is-active h3::after {
    width: clamp(86px, 10vw, 160px);
}


/*--------------------------------------------------
10. PARAGRAPH STATES
--------------------------------------------------*/

.legal-learning-editorial__chapter p {
    opacity: 0.55;
    transform: translateY(14px);
    transition:
        opacity 0.55s ease 0.06s,
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.04s;
}

.legal-learning-editorial__chapter.is-active p {
    opacity: 1;
    transform: translateY(0);
}


/*--------------------------------------------------
11. ACTIVE CHAPTER MARKER
--------------------------------------------------*/

.legal-learning-editorial__chapter-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: -34px;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(181, 139, 43, 0.4);
    border-radius: 50%;
    background: #f7f5ef;
    opacity: 0;
    transform: scale(0.6);
    transition:
        opacity 0.4s ease,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.4s ease;
}

.legal-learning-editorial__chapter.is-active
.legal-learning-editorial__chapter-content::before {
    opacity: 1;
    transform: scale(1);
    box-shadow:
        0 0 0 7px rgba(214, 174, 76, 0.1),
        0 0 24px rgba(214, 174, 76, 0.24);
}


/*--------------------------------------------------
12. PREVIOUS / NEXT CHAPTER STATES
These classes can be added later with JavaScript.
--------------------------------------------------*/

.legal-learning-editorial__chapter.is-before {
    opacity: 0.28;
    transform: translateX(-10px);
}

.legal-learning-editorial__chapter.is-after {
    opacity: 0.38;
    transform: translateX(14px);
}

.legal-learning-editorial__chapter.is-before
.legal-learning-editorial__number,
.legal-learning-editorial__chapter.is-after
.legal-learning-editorial__number {
    opacity: 0.34;
}


/*--------------------------------------------------
13. DESKTOP HOVER POLISH
--------------------------------------------------*/

@media (hover: hover) and (pointer: fine) {

    .legal-learning-editorial__chapter:not(.is-active):hover {
        opacity: 0.72;
        transform: translateX(6px);
    }

    .legal-learning-editorial__chapter:not(.is-active):hover
    .legal-learning-editorial__number {
        opacity: 0.72;
        transform:
            translateY(-50%)
            translateX(5px)
            scale(0.98);
    }

    .legal-learning-editorial__chapter:not(.is-active):hover h3 {
        opacity: 0.9;
    }

    .legal-learning-editorial__chapter:not(.is-active):hover p {
        opacity: 0.76;
    }

    .legal-learning-editorial__chapter:not(.is-active):hover
    .legal-learning-editorial__meta {
        opacity: 0.88;
        transform: translateX(4px);
    }
}


/*--------------------------------------------------
14. ACTIVE TITLE TEXT SELECTION
--------------------------------------------------*/

.legal-learning-editorial__chapter.is-active h3::selection,
.legal-learning-editorial__chapter.is-active p::selection,
.legal-learning-editorial__chapter.is-active
.legal-learning-editorial__meta::selection {
    background: #d6ae4c;
    color: #06162f;
}


/*--------------------------------------------------
15. ACCESSIBILITY — KEYBOARD FOCUS
Useful if chapters are later made interactive.
--------------------------------------------------*/

.legal-learning-editorial__chapter:focus-within {
    opacity: 1;
}

.legal-learning-editorial__chapter:focus-visible {
    outline: 2px solid #d6ae4c;
    outline-offset: 8px;
}


/*--------------------------------------------------
16. REDUCED MOTION
--------------------------------------------------*/

@media (prefers-reduced-motion: reduce) {

    .legal-learning-editorial__chapter,
    .legal-learning-editorial__chapter::before,
    .legal-learning-editorial__chapter::after,
    .legal-learning-editorial__chapter-content,
    .legal-learning-editorial__number,
    .legal-learning-editorial__number::after,
    .legal-learning-editorial__meta,
    .legal-learning-editorial__meta::before,
    .legal-learning-editorial__chapter h3,
    .legal-learning-editorial__chapter h3::after,
    .legal-learning-editorial__chapter p,
    .legal-learning-editorial__chapter-content::before {
        transition: none;
    }

    .legal-learning-editorial__chapter,
    .legal-learning-editorial__chapter-content,
    .legal-learning-editorial__number,
    .legal-learning-editorial__meta,
    .legal-learning-editorial__chapter h3,
    .legal-learning-editorial__chapter p {
        transform: none;
    }
}








/*==================================================
LEGAL ASSISTANT — EDITORIAL LEARNING JOURNEY
PART 3
RESPONSIVE • POLISH • PERFORMANCE
==================================================*/


/*==================================================
1. LARGE DESKTOP (1600px+)
==================================================*/

@media (min-width:1600px){

    .legal-learning-editorial__journey{
        width:min(1650px,90vw);
        gap:170px;
    }

    .legal-learning-editorial__chapter{
        min-height:940px;
    }

    .legal-learning-editorial__visual{
        height:820px;
    }

}


/*==================================================
2. LAPTOPS
==================================================*/

@media (max-width:1400px){

    .legal-learning-editorial__journey{

        grid-template-columns:
        minmax(420px,.9fr)
        minmax(480px,1.1fr);

        gap:90px;
    }

    .legal-learning-editorial__number{

        font-size:clamp(8rem,15vw,14rem);

    }

}


/*==================================================
3. TABLETS
==================================================*/

@media (max-width:1100px){

    .legal-learning-editorial{

        padding:110px 0;

    }

    .legal-learning-editorial__intro{

        width:min(94%,760px);

        margin-bottom:90px;

    }

    .legal-learning-editorial__journey{

        grid-template-columns:1fr;

        gap:70px;

        width:min(94%,760px);

    }

    .legal-learning-editorial__visual{

        position:relative;

        top:auto;

        height:620px;

        min-height:auto;

        order:1;

    }

    .legal-learning-editorial__chapters{

        order:2;

    }

    .legal-learning-editorial__chapter{

        min-height:auto;

        padding:90px 0;

    }

    .legal-learning-editorial__chapter-content{

        width:100%;

    }

    .legal-learning-editorial__chapter-content::before{

        display:none;

    }

    .legal-learning-editorial__number{

        right:-10px;

        top:30px;

        transform:none;

        font-size:clamp(6rem,20vw,10rem);

    }

}


/*==================================================
4. MOBILE
==================================================*/

@media (max-width:768px){

    .legal-learning-editorial{

        padding:90px 0;

    }

    .legal-learning-editorial::after{

        display:none;

    }

    .legal-learning-editorial__intro{

        width:calc(100% - 42px);

        margin-bottom:65px;

    }

    .legal-learning-editorial__eyebrow{

        gap:12px;

        font-size:.66rem;

        letter-spacing:.16em;

    }

    .legal-learning-editorial__eyebrow::before,
    .legal-learning-editorial__eyebrow::after{

        width:26px;

    }

    .legal-learning-editorial__title{

        font-size:clamp(2.4rem,11vw,3.8rem);

        line-height:.98;

    }

    .legal-learning-editorial__description{

        font-size:1rem;

        line-height:1.8;

    }

    .legal-learning-editorial__journey{

        width:calc(100% - 42px);

        gap:55px;

    }

    .legal-learning-editorial__visual{

        height:420px;

        border-radius:0;

        margin-inline:-21px;

        width:calc(100% + 42px);

        box-shadow:none;

    }

    .legal-learning-editorial__visual-caption{

        left:24px;

        right:24px;

        bottom:24px;

        gap:18px;

        flex-direction:column;

        align-items:flex-start;

    }

    .legal-learning-editorial__visual-caption strong{

        text-align:left;

        max-width:100%;

    }

    .legal-learning-editorial__chapter{

        padding:65px 0;

    }

    .legal-learning-editorial__meta{

        font-size:.63rem;

        margin-bottom:18px;

    }

    .legal-learning-editorial__meta::before{

        width:18px;

    }

    .legal-learning-editorial__chapter h3{

        font-size:clamp(2rem,8vw,3rem);

        margin-bottom:22px;

    }

    .legal-learning-editorial__chapter p{

        font-size:1rem;

        line-height:1.85;

    }

    .legal-learning-editorial__number{

        right:0;

        top:8px;

        font-size:clamp(5rem,22vw,7rem);

        opacity:.10 !important;

        -webkit-text-stroke:0;

        color:rgba(214,174,76,.08);

    }

    .legal-learning-editorial__closing{

        width:calc(100% - 42px);

        margin-top:90px;

        padding:65px 0;

    }

    .legal-learning-editorial__closing p{

        font-size:clamp(2rem,8vw,3.2rem);

    }

}


/*==================================================
5. SMALL PHONES
==================================================*/

@media (max-width:480px){

    .legal-learning-editorial{

        padding:75px 0;

    }

    .legal-learning-editorial__intro{

        width:calc(100% - 34px);

    }

    .legal-learning-editorial__journey{

        width:calc(100% - 34px);

    }

    .legal-learning-editorial__visual{

        margin-inline:-17px;

        width:calc(100% + 34px);

        height:360px;

    }

    .legal-learning-editorial__chapter{

        padding:58px 0;

    }

    .legal-learning-editorial__chapter h3{

        font-size:2rem;

    }

    .legal-learning-editorial__number{

        font-size:4.4rem;

    }

}


/*==================================================
6. IMAGE QUALITY
==================================================*/

.legal-learning-editorial__image img{

    backface-visibility:hidden;

    -webkit-backface-visibility:hidden;

    image-rendering:auto;

    will-change:transform;

}


/*==================================================
7. SMOOTHER ANIMATION
==================================================*/

.legal-learning-editorial__chapter,
.legal-learning-editorial__number,
.legal-learning-editorial__chapter-content,
.legal-learning-editorial__image{

    will-change:
    transform,
    opacity;

}


/*==================================================
8. GPU ACCELERATION
==================================================*/

.legal-learning-editorial__visual,
.legal-learning-editorial__image,
.legal-learning-editorial__chapter{

    transform:translateZ(0);

}


/*==================================================
9. BETTER TEXT RENDERING
==================================================*/

.legal-learning-editorial{

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

    text-rendering:optimizeLegibility;

}


/*==================================================
10. FOCUS ACCESSIBILITY
==================================================*/

.legal-learning-editorial a:focus-visible,
.legal-learning-editorial button:focus-visible{

    outline:2px solid #d6ae4c;

    outline-offset:5px;

}


/*==================================================
11. IMPROVED SELECTION
==================================================*/

.legal-learning-editorial ::selection{

    background:#d6ae4c;

    color:#06162f;

}


/*==================================================
12. SCROLL ANCHOR FIX
==================================================*/

.legal-learning-editorial{

    scroll-margin-top:120px;

}


/*==================================================
13. CONTAINMENT
==================================================*/

.legal-learning-editorial__chapter{

    contain:layout style;

}

.legal-learning-editorial__image{

    contain:paint;

}


/*==================================================
14. REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .legal-learning-editorial *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}


/*==================================================
15. PRINT
==================================================*/

@media print{

    .legal-learning-editorial{

        background:#fff;

        color:#000;

        padding:0;

    }

    .legal-learning-editorial__visual{

        display:none;

    }

    .legal-learning-editorial__journey{

        display:block;

        width:100%;

    }

    .legal-learning-editorial__chapter{

        page-break-inside:avoid;

        min-height:auto;

        opacity:1;

        transform:none;

        padding:30px 0;

    }

    .legal-learning-editorial__number{

        display:none;

    }

}


/*==================================================
16. FINAL MICRO POLISH
==================================================*/

.legal-learning-editorial img{

    user-select:none;

    -webkit-user-drag:none;

}

.legal-learning-editorial{

    overflow:hidden;

}

.legal-learning-editorial__visual{

    isolation:isolate;

}

.legal-learning-editorial__chapter:last-child{

    padding-bottom:0;

}

.legal-learning-editorial__closing{

    margin-bottom:0;

}





/*==================================================
LEGAL ASSISTANT — LEARNING EXPERIENCE
==================================================*/

.legal-experience {
    position: relative;
    overflow: hidden;
    padding: clamp(100px, 11vw, 170px) 0;
    background: #06162f;
    color: #ffffff;
}

.legal-experience *,
.legal-experience *::before,
.legal-experience *::after {
    box-sizing: border-box;
}

.legal-experience::before {
    content: "";
    position: absolute;
    top: -240px;
    right: -180px;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    background: rgba(214, 174, 76, 0.08);
    filter: blur(10px);
    pointer-events: none;
}

.legal-experience::after {
    content: "PRACTICE";
    position: absolute;
    bottom: -0.13em;
    left: -0.04em;
    color: rgba(255, 255, 255, 0.025);
    font-size: clamp(8rem, 20vw, 19rem);
    font-weight: 800;
    line-height: 0.75;
    letter-spacing: -0.08em;
    white-space: nowrap;
    pointer-events: none;
}

.legal-experience__container {
    position: relative;
    z-index: 2;
    width: min(1480px, calc(100% - 10vw));
    margin: 0 auto;
}


/*--------------------------------------------------
HEADER
--------------------------------------------------*/

.legal-experience__header {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: clamp(50px, 8vw, 130px);
    align-items: end;
    margin-bottom: clamp(70px, 8vw, 120px);
}

.legal-experience__eyebrow {
    display: block;
    margin-bottom: 25px;
    color: #d6ae4c;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.legal-experience__title {
    max-width: 950px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 6vw, 6.8rem);
    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -0.06em;
    text-wrap: balance;
}

.legal-experience__title strong {
    display: block;
    margin-top: 0.08em;
    color: #d6ae4c;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.04em;
}

.legal-experience__description {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.85;
}


/*--------------------------------------------------
SHOWCASE FRAMEWORK
--------------------------------------------------*/

.legal-experience__showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(420px, 0.84fr);
    min-height: 760px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.03);
    box-shadow: 0 50px 120px rgba(0, 0, 0, 0.3);
}


/*--------------------------------------------------
VISUAL AREA
--------------------------------------------------*/

.legal-experience__visual {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    background: #020b19;
}

.legal-experience__image {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.08);
    transition:
        opacity 0.75s ease,
        visibility 0.75s ease,
        transform 1.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.legal-experience__image.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.legal-experience__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.86) contrast(1.04);
    transform: scale(1.02);
    transition:
        transform 9s linear,
        filter 0.6s ease;
}

.legal-experience__image.is-active img {
    transform: scale(1.09);
}

.legal-experience__overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.05) 10%,
            rgba(6, 22, 47, 0.2) 52%,
            rgba(6, 22, 47, 0.94) 100%
        ),
        linear-gradient(
            90deg,
            rgba(6, 22, 47, 0.22),
            transparent 65%
        );
    pointer-events: none;
}


/*--------------------------------------------------
VISUAL CONTENT
--------------------------------------------------*/

.legal-experience__visual-content {
    position: absolute;
    z-index: 4;
    right: clamp(30px, 4vw, 65px);
    bottom: clamp(40px, 5vw, 75px);
    left: clamp(30px, 4vw, 65px);
    display: flex;
    align-items: flex-end;
    gap: clamp(25px, 4vw, 55px);
}

.legal-experience__visual-number {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.18);
    font-size: clamp(4rem, 8vw, 8.5rem);
    font-weight: 700;
    line-height: 0.75;
    letter-spacing: -0.08em;
}

.legal-experience__visual-label {
    display: block;
    margin-bottom: 12px;
    color: #d6ae4c;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.legal-experience__visual-title {
    max-width: 620px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2rem, 4vw, 4.5rem);
    font-weight: 600;
    line-height: 0.98;
    letter-spacing: -0.05em;
    text-wrap: balance;
}


/*--------------------------------------------------
PROGRESS LINE
--------------------------------------------------*/

.legal-experience__progress {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: rgba(255, 255, 255, 0.12);
}

.legal-experience__progress-bar {
    display: block;
    width: calc(100% / 6);
    height: 100%;
    background: #d6ae4c;
    transform-origin: left center;
    transition:
        width 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}


/*--------------------------------------------------
EXPERIENCE LIST
--------------------------------------------------*/

.legal-experience__content {
    display: flex;
    flex-direction: column;
    background: #ffffff;
}

.legal-experience__item {
    position: relative;
    display: grid;
    grid-template-columns: 55px minmax(0, 1fr);
    flex: 1;
    gap: 22px;
    align-items: center;
    width: 100%;
    padding: clamp(22px, 2.4vw, 36px);
    border: 0;
    border-bottom: 1px solid rgba(6, 22, 47, 0.1);
    background: transparent;
    color: #06162f;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition:
        background-color 0.4s ease,
        padding-left 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.legal-experience__item:last-child {
    border-bottom: 0;
}

.legal-experience__item::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0;
    background: #d6ae4c;
    transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.legal-experience__item.is-active {
    padding-left: clamp(30px, 3vw, 48px);
    background: #f7f5ef;
}

.legal-experience__item.is-active::before {
    width: 5px;
}

.legal-experience__item-number {
    color: rgba(6, 22, 47, 0.3);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    transition:
        color 0.35s ease,
        transform 0.4s ease;
}

.legal-experience__item.is-active
.legal-experience__item-number {
    color: #b58b2b;
    transform: translateX(5px);
}

.legal-experience__item-content {
    display: block;
}

.legal-experience__item-content strong {
    display: block;
    margin-bottom: 8px;
    color: #06162f;
    font-size: clamp(1.05rem, 1.4vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.025em;
}

.legal-experience__item-content small {
    display: block;
    max-height: 0;
    overflow: hidden;
    color: rgba(6, 22, 47, 0.64);
    font-size: 0.9rem;
    line-height: 1.65;
    opacity: 0;
    transform: translateY(8px);
    transition:
        max-height 0.5s ease,
        margin-top 0.5s ease,
        opacity 0.4s ease,
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.legal-experience__item.is-active
.legal-experience__item-content small {
    max-height: 130px;
    margin-top: 4px;
    opacity: 1;
    transform: translateY(0);
}


/*--------------------------------------------------
HOVER AND FOCUS
--------------------------------------------------*/

@media (hover: hover) and (pointer: fine) {

    .legal-experience__item:not(.is-active):hover {
        background: rgba(247, 245, 239, 0.75);
    }

    .legal-experience__item:not(.is-active):hover
    .legal-experience__item-number {
        color: #b58b2b;
        transform: translateX(4px);
    }

    .legal-experience__item:not(.is-active):hover
    .legal-experience__item-content strong {
        color: #b58b2b;
    }
}

.legal-experience__item:focus-visible {
    z-index: 2;
    outline: 2px solid #d6ae4c;
    outline-offset: -4px;
}


/*--------------------------------------------------
TABLET
--------------------------------------------------*/

@media (max-width: 1100px) {

    .legal-experience__header {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .legal-experience__description {
        max-width: 700px;
    }

    .legal-experience__showcase {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .legal-experience__visual {
        min-height: 650px;
    }

    .legal-experience__content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .legal-experience__item {
        min-height: 170px;
        border-right: 1px solid rgba(6, 22, 47, 0.1);
    }

    .legal-experience__item:nth-child(even) {
        border-right: 0;
    }
}


/*--------------------------------------------------
MOBILE
--------------------------------------------------*/

@media (max-width: 700px) {

    .legal-experience {
        padding: 90px 0;
    }

    .legal-experience__container {
        width: min(100% - 34px, 620px);
    }

    .legal-experience__header {
        margin-bottom: 55px;
    }

    .legal-experience__title {
        font-size: clamp(2.65rem, 12vw, 4.1rem);
    }

    .legal-experience__showcase {
        border-radius: 0;
    }

    .legal-experience__visual {
        min-height: 520px;
    }

    .legal-experience__visual-content {
        display: block;
        right: 25px;
        bottom: 38px;
        left: 25px;
    }

    .legal-experience__visual-number {
        display: block;
        margin-bottom: 28px;
        font-size: 4.8rem;
    }

    .legal-experience__visual-title {
        font-size: clamp(2.1rem, 9vw, 3.3rem);
    }

    .legal-experience__content {
        display: block;
    }

    .legal-experience__item {
        grid-template-columns: 40px minmax(0, 1fr);
        min-height: auto;
        padding: 26px 22px;
        border-right: 0;
    }

    .legal-experience__item.is-active {
        padding-left: 28px;
    }
}


/*--------------------------------------------------
REDUCED MOTION
--------------------------------------------------*/

@media (prefers-reduced-motion: reduce) {

    .legal-experience__image,
    .legal-experience__image img,
    .legal-experience__progress-bar,
    .legal-experience__item,
    .legal-experience__item::before,
    .legal-experience__item-number,
    .legal-experience__item-content small {
        transition: none;
    }

    .legal-experience__image.is-active img {
        transform: none;
    }
}







/* Private Law Cinematic Programme Hero */

:root {
  --private-law-navy: #06162f;
  --private-law-gold: #d6ae4c;
  --private-law-dark-gold: #b58b2b;
  --private-law-white: #ffffff;
  --private-law-soft: #f7f5ef;
}

.private-law-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: var(--private-law-navy);
  color: var(--private-law-white);
  isolation: isolate;
}

.private-law-hero-media {
  position: absolute;
  inset: 0;
  z-index: -4;
}

.private-law-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.08);
  animation: privateLawHeroImage 1600ms ease-out forwards;
}

.private-law-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(
      90deg,
      rgba(6, 22, 47, 0.95) 0%,
      rgba(6, 22, 47, 0.84) 38%,
      rgba(6, 22, 47, 0.42) 72%,
      rgba(6, 22, 47, 0.16) 100%
    ),
    linear-gradient(
      180deg,
      rgba(6, 22, 47, 0.12) 0%,
      rgba(6, 22, 47, 0.72) 100%
    );
}

.private-law-hero-grain {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.13;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='privateLawNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23privateLawNoise)' opacity='.72'/%3E%3C/svg%3E");
}

.private-law-hero-container {
  width: min(100% - 48px, 1240px);
  min-height: 100svh;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 148px 0 148px;
}

.private-law-hero-content {
  width: min(760px, 100%);
  opacity: 0;
  transform: translateY(28px);
  animation: privateLawHeroContent 900ms ease 180ms forwards;
}

.private-law-badge {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 30px;
  color: var(--private-law-gold);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.private-law-badge-line {
  width: 46px;
  height: 1px;
  background: var(--private-law-gold);
}

.private-law-hero-content h1 {
  max-width: 860px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4rem, 8.6vw, 9.2rem);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.private-law-statement {
  max-width: 720px;
  margin: 34px 0 0;
  color: rgba(255, 255, 255, 0.94);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 2.7vw, 3rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.private-law-description {
  max-width: 700px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  line-height: 1.78;
}

.private-law-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 42px;
}

.private-law-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border: 1px solid transparent;
  border-radius: 2px;
  color: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    color 220ms ease,
    transform 220ms ease;
}

.private-law-btn.primary {
  background: var(--private-law-gold);
  border-color: var(--private-law-gold);
  color: var(--private-law-navy);
}

.private-law-btn.secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.34);
  color: var(--private-law-white);
}

.private-law-btn:hover {
  transform: translateY(-2px);
}

.private-law-btn.primary:hover {
  background: var(--private-law-white);
  border-color: var(--private-law-white);
}

.private-law-btn.secondary:hover {
  border-color: var(--private-law-gold);
  color: var(--private-law-gold);
}

.private-law-btn:focus-visible {
  outline: 2px solid var(--private-law-gold);
  outline-offset: 4px;
}

.private-law-code {
  position: absolute;
  top: clamp(116px, 12vw, 156px);
  right: max(24px, calc((100vw - 1240px) / 2));
  z-index: 2;
  max-width: 240px;
  padding-left: 22px;
  border-left: 1px solid rgba(214, 174, 76, 0.52);
  color: rgba(255, 255, 255, 0.74);
}

.private-law-code span {
  display: block;
  margin-bottom: 10px;
  color: var(--private-law-gold);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.private-law-code strong {
  display: block;
  color: var(--private-law-white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.035em;
}

.private-law-snapshot {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 3;
  width: min(100% - 48px, 1240px);
  transform: translateX(-50%);
}

.private-law-snapshot-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: rgba(6, 22, 47, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(8px);
}

.private-law-snapshot-item {
  position: relative;
  padding: 26px 30px;
}

.private-law-snapshot-item:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.private-law-snapshot-item span {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.private-law-snapshot-item strong {
  display: block;
  color: var(--private-law-white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 1.65vw, 1.75rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.private-law-scroll {
  position: absolute;
  right: max(24px, calc((100vw - 1240px) / 2));
  bottom: 118px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 14px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.private-law-scroll-line {
  position: relative;
  width: 1px;
  height: 72px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.22);
}

.private-law-scroll-line i {
  position: absolute;
  inset: 0;
  display: block;
  background: var(--private-law-gold);
  transform: translateY(-100%);
  animation: privateLawScrollLine 1800ms ease-in-out infinite;
}

@keyframes privateLawHeroImage {
  from {
    transform: scale(1.08);
  }

  to {
    transform: scale(1.03);
  }
}

@keyframes privateLawHeroContent {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes privateLawScrollLine {
  0% {
    transform: translateY(-100%);
  }

  45%,
  55% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(100%);
  }
}

@media (max-width: 1100px) {
  .private-law-code {
    display: none;
  }

  .private-law-scroll {
    display: none;
  }

  .private-law-hero-container {
    padding-bottom: 180px;
  }
}

@media (max-width: 820px) {
  .private-law-hero {
    min-height: 96svh;
  }

  .private-law-hero-container {
    width: min(100% - 36px, 720px);
    min-height: 96svh;
    padding: 128px 0 220px;
  }

  .private-law-hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(6, 22, 47, 0.96) 0%,
        rgba(6, 22, 47, 0.82) 62%,
        rgba(6, 22, 47, 0.5) 100%
      ),
      linear-gradient(
        180deg,
        rgba(6, 22, 47, 0.14) 0%,
        rgba(6, 22, 47, 0.78) 100%
      );
  }

  .private-law-snapshot-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .private-law-snapshot-item:nth-child(2) {
    border-right: 0;
  }

  .private-law-snapshot-item:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
}

@media (max-width: 560px) {
  .private-law-hero-media img {
    object-position: 58% center;
  }

  .private-law-hero-container {
    width: min(100% - 28px, 520px);
    padding: 108px 0 248px;
  }

  .private-law-badge {
    gap: 14px;
    margin-bottom: 24px;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
  }

  .private-law-badge-line {
    width: 32px;
  }

  .private-law-hero-content h1 {
    font-size: clamp(3.4rem, 18vw, 5rem);
    line-height: 0.94;
  }

  .private-law-statement {
    margin-top: 28px;
    font-size: clamp(1.45rem, 8vw, 2.15rem);
  }

  .private-law-description {
    margin-top: 22px;
    font-size: 0.98rem;
    line-height: 1.68;
  }

  .private-law-actions {
    margin-top: 34px;
    gap: 12px;
  }

  .private-law-btn {
    width: 100%;
    min-height: 50px;
  }

  .private-law-snapshot {
    width: min(100% - 28px, 520px);
  }

  .private-law-snapshot-item {
    padding: 22px 20px;
  }

  .private-law-snapshot-item strong {
    font-size: 1.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .private-law-hero-media img,
  .private-law-hero-content,
  .private-law-scroll-line i,
  .private-law-btn {
    animation: none;
    transition: none;
    transform: none;
  }

  .private-law-hero-content {
    opacity: 1;
  }

  .private-law-btn:hover {
    transform: none;
  }
}




/*==================================================
LEGAL ASSISTANT
CAREER OPPORTUNITIES
PART 1
Section Framework • Editorial Layout • Typography
==================================================*/


/*--------------------------------------------------
SECTION FOUNDATION
--------------------------------------------------*/

.legal-careers{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:clamp(110px,11vw,180px) 0;
    background:#06162f;
    color:#ffffff;
}

.legal-careers *,
.legal-careers *::before,
.legal-careers *::after{
    box-sizing:border-box;
}


/*--------------------------------------------------
EDITORIAL BACKGROUND
--------------------------------------------------*/

.legal-careers::before{

    content:"";

    position:absolute;

    top:-280px;
    right:-180px;

    width:720px;
    height:720px;

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(214,174,76,.12),
            rgba(214,174,76,.03) 55%,
            transparent 72%
        );

    filter:blur(6px);

    pointer-events:none;

}

.legal-careers::after{

    content:"CAREERS";

    position:absolute;

    bottom:-0.06em;
    left:-0.03em;

    color:rgba(255,255,255,.025);

    font-size:clamp(8rem,22vw,22rem);

    font-weight:800;

    line-height:.75;

    letter-spacing:-.08em;

    white-space:nowrap;

    pointer-events:none;

    user-select:none;

}


/*--------------------------------------------------
MAIN CONTAINER
--------------------------------------------------*/

.legal-careers__container{

    position:relative;
    z-index:2;

    width:min(1450px,calc(100% - 10vw));

    margin:auto;

}


/*--------------------------------------------------
INTRO LAYOUT
--------------------------------------------------*/

.legal-careers__intro{

    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(320px,.85fr);

    gap:clamp(60px,8vw,140px);

    align-items:end;

    margin-bottom:clamp(80px,8vw,130px);

}


/*--------------------------------------------------
EYEBROW
--------------------------------------------------*/

.legal-careers__eyebrow{

    display:inline-flex;

    align-items:center;

    gap:18px;

    margin-bottom:28px;

    color:#d6ae4c;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.20em;

    text-transform:uppercase;

}

.legal-careers__eyebrow::before{

    content:"";

    width:42px;
    height:1px;

    background:#d6ae4c;

}


/*--------------------------------------------------
TITLE
--------------------------------------------------*/

.legal-careers__title{

    max-width:900px;

    margin:0;

    color:#ffffff;

    font-size:clamp(3rem,6vw,6.8rem);

    font-weight:600;

    line-height:.93;

    letter-spacing:-.065em;

    text-wrap:balance;

}

.legal-careers__title strong{

    display:block;

    margin-top:.08em;

    color:#d6ae4c;

    font-family:Georgia,"Times New Roman",serif;

    font-style:italic;

    font-weight:400;

    letter-spacing:-.04em;

}


/*--------------------------------------------------
DESCRIPTION
--------------------------------------------------*/

.legal-careers__description{

    max-width:520px;

    margin:0;

    color:rgba(255,255,255,.66);

    font-size:clamp(1rem,1.22vw,1.15rem);

    line-height:1.9;

    text-wrap:pretty;

}


/*--------------------------------------------------
CAREER GRID
--------------------------------------------------*/

.legal-careers__grid{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:34px;

    align-items:stretch;

}


/*--------------------------------------------------
GRID FOUNDATION
(card styling comes in Part 2)
--------------------------------------------------*/

.legal-careers__card{

    position:relative;

    display:grid;

    grid-template-columns:
        70px
        minmax(0,1fr);

    gap:28px;

    min-height:220px;

    padding:42px;

}


/*--------------------------------------------------
TABLET
--------------------------------------------------*/

@media (max-width:1100px){

    .legal-careers{

        padding:110px 0;

    }

    .legal-careers__container{

        width:min(100% - 60px,1200px);

    }

    .legal-careers__intro{

        grid-template-columns:1fr;

        gap:34px;

    }

    .legal-careers__description{

        max-width:720px;

    }

}


/*--------------------------------------------------
MOBILE
--------------------------------------------------*/

@media (max-width:768px){

    .legal-careers{

        padding:90px 0;

    }

    .legal-careers__container{

        width:min(100% - 34px,620px);

    }

    .legal-careers__title{

        font-size:clamp(2.6rem,12vw,4.3rem);

    }

    .legal-careers__grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .legal-careers__card{

        grid-template-columns:52px 1fr;

        min-height:unset;

        padding:28px 24px;

    }

}








/* Private Law About the Programme */

.private-law-about {
  position: relative;
  overflow: hidden;
  background: var(--private-law-soft);
  color: var(--private-law-navy);
  padding: clamp(96px, 13vw, 176px) 0;
}

.private-law-about-container {
  width: min(100% - 48px, 1240px);
  margin: 0 auto;
}

.private-law-about-intro {
  display: grid;
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
  column-gap: clamp(40px, 8vw, 132px);
  row-gap: 28px;
  align-items: start;
}

.private-law-about-kicker {
  display: block;
  padding-top: 16px;
  color: var(--private-law-dark-gold);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.private-law-about-intro h2 {
  max-width: 980px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 6vw, 6.7rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.058em;
}

.private-law-about-intro p {
  grid-column: 2;
  max-width: 680px;
  margin: 0;
  color: rgba(6, 22, 47, 0.68);
  font-size: clamp(1.02rem, 1.25vw, 1.18rem);
  line-height: 1.82;
}

.private-law-about-quote {
  max-width: 900px;
  margin: clamp(62px, 8vw, 108px) 0 0 auto;
  padding: clamp(34px, 5vw, 58px) 0 clamp(34px, 5vw, 58px)
    clamp(32px, 5vw, 72px);
  border-left: 1px solid rgba(181, 139, 43, 0.5);
}

.private-law-about-quote p {
  margin: 0;
  color: rgba(6, 22, 47, 0.84);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3.4vw, 3.8rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.038em;
}

.private-law-about-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(76px, 10vw, 132px);
  border-top: 1px solid rgba(6, 22, 47, 0.14);
  border-left: 1px solid rgba(6, 22, 47, 0.14);
}

.private-law-about-card {
  min-height: 320px;
  padding: clamp(30px, 3.6vw, 48px);
  border-right: 1px solid rgba(6, 22, 47, 0.14);
  border-bottom: 1px solid rgba(6, 22, 47, 0.14);
  background: rgba(255, 255, 255, 0.34);
  transition:
    background-color 260ms ease,
    transform 260ms ease;
}

.private-law-about-card:hover {
  background: rgba(255, 255, 255, 0.78);
  transform: translateY(-4px);
}

.private-law-about-card span {
  display: block;
  margin-bottom: clamp(44px, 5vw, 72px);
  color: var(--private-law-dark-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.private-law-about-card h3 {
  max-width: 330px;
  margin: 0;
  color: var(--private-law-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 2vw, 2.15rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.038em;
}

.private-law-about-card p {
  max-width: 340px;
  margin: 22px 0 0;
  color: rgba(6, 22, 47, 0.66);
  font-size: 0.98rem;
  line-height: 1.72;
}

.private-law-reveal {
  opacity: 0;
  transform: translateY(28px);
}

.private-law-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 900ms ease,
    transform 900ms ease;
}

@media (max-width: 980px) {
  .private-law-about-intro {
    grid-template-columns: 1fr;
  }

  .private-law-about-kicker {
    padding-top: 0;
  }

  .private-law-about-intro p {
    grid-column: auto;
  }

  .private-law-about-quote {
    margin-left: 0;
  }

  .private-law-about-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .private-law-about-card {
    min-height: 280px;
  }
}

@media (max-width: 640px) {
  .private-law-about {
    padding: 82px 0;
  }

  .private-law-about-container {
    width: min(100% - 28px, 520px);
  }

  .private-law-about-intro h2 {
    font-size: clamp(2.55rem, 12vw, 4rem);
    line-height: 1;
  }

  .private-law-about-quote {
    margin-top: 48px;
    padding: 28px 0 28px 24px;
  }

  .private-law-about-quote p {
    font-size: clamp(1.65rem, 8vw, 2.35rem);
  }

  .private-law-about-grid {
    grid-template-columns: 1fr;
    margin-top: 58px;
  }

  .private-law-about-card {
    min-height: auto;
    padding: 32px 26px 34px;
  }

  .private-law-about-card span {
    margin-bottom: 42px;
  }

  .private-law-about-card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .private-law-reveal,
  .private-law-reveal.is-visible,
  .private-law-about-card {
    transition: none;
    transform: none;
  }

  .private-law-reveal {
    opacity: 1;
  }

  .private-law-about-card:hover {
    transform: none;
  }
}









/*==================================================
LEGAL ASSISTANT
CAREER OPPORTUNITIES
PART 1
Section Framework • Editorial Layout • Typography
==================================================*/


/*--------------------------------------------------
SECTION FOUNDATION
--------------------------------------------------*/

.legal-careers{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:clamp(110px,11vw,180px) 0;
    background:#06162f;
    color:#ffffff;
}

.legal-careers *,
.legal-careers *::before,
.legal-careers *::after{
    box-sizing:border-box;
}


/*--------------------------------------------------
EDITORIAL BACKGROUND
--------------------------------------------------*/

.legal-careers::before{

    content:"";

    position:absolute;

    top:-280px;
    right:-180px;

    width:720px;
    height:720px;

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(214,174,76,.12),
            rgba(214,174,76,.03) 55%,
            transparent 72%
        );

    filter:blur(6px);

    pointer-events:none;

}

.legal-careers::after{

    content:"CAREERS";

    position:absolute;

    bottom:-0.06em;
    left:-0.03em;

    color:rgba(255,255,255,.025);

    font-size:clamp(8rem,22vw,22rem);

    font-weight:800;

    line-height:.75;

    letter-spacing:-.08em;

    white-space:nowrap;

    pointer-events:none;

    user-select:none;

}


/*--------------------------------------------------
MAIN CONTAINER
--------------------------------------------------*/

.legal-careers__container{

    position:relative;
    z-index:2;

    width:min(1450px,calc(100% - 10vw));

    margin:auto;

}


/*--------------------------------------------------
INTRO LAYOUT
--------------------------------------------------*/

.legal-careers__intro{

    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(320px,.85fr);

    gap:clamp(60px,8vw,140px);

    align-items:end;

    margin-bottom:clamp(80px,8vw,130px);

}


/*--------------------------------------------------
EYEBROW
--------------------------------------------------*/

.legal-careers__eyebrow{

    display:inline-flex;

    align-items:center;

    gap:18px;

    margin-bottom:28px;

    color:#d6ae4c;

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.20em;

    text-transform:uppercase;

}

.legal-careers__eyebrow::before{

    content:"";

    width:42px;
    height:1px;

    background:#d6ae4c;

}


/*--------------------------------------------------
TITLE
--------------------------------------------------*/

.legal-careers__title{

    max-width:900px;

    margin:0;

    color:#ffffff;

    font-size:clamp(3rem,6vw,6.8rem);

    font-weight:600;

    line-height:.93;

    letter-spacing:-.065em;

    text-wrap:balance;

}

.legal-careers__title strong{

    display:block;

    margin-top:.08em;

    color:#d6ae4c;

    font-family:Georgia,"Times New Roman",serif;

    font-style:italic;

    font-weight:400;

    letter-spacing:-.04em;

}


/*--------------------------------------------------
DESCRIPTION
--------------------------------------------------*/

.legal-careers__description{

    max-width:520px;

    margin:0;

    color:rgba(255,255,255,.66);

    font-size:clamp(1rem,1.22vw,1.15rem);

    line-height:1.9;

    text-wrap:pretty;

}


/*--------------------------------------------------
CAREER GRID
--------------------------------------------------*/

.legal-careers__grid{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:34px;

    align-items:stretch;

}


/*--------------------------------------------------
GRID FOUNDATION
(card styling comes in Part 2)
--------------------------------------------------*/

.legal-careers__card{

    position:relative;

    display:grid;

    grid-template-columns:
        70px
        minmax(0,1fr);

    gap:28px;

    min-height:220px;

    padding:42px;

}


/*--------------------------------------------------
TABLET
--------------------------------------------------*/

@media (max-width:1100px){

    .legal-careers{

        padding:110px 0;

    }

    .legal-careers__container{

        width:min(100% - 60px,1200px);

    }

    .legal-careers__intro{

        grid-template-columns:1fr;

        gap:34px;

    }

    .legal-careers__description{

        max-width:720px;

    }

}


/*--------------------------------------------------
MOBILE
--------------------------------------------------*/

@media (max-width:768px){

    .legal-careers{

        padding:90px 0;

    }

    .legal-careers__container{

        width:min(100% - 34px,620px);

    }

    .legal-careers__title{

        font-size:clamp(2.6rem,12vw,4.3rem);

    }

    .legal-careers__grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .legal-careers__card{

        grid-template-columns:52px 1fr;

        min-height:unset;

        padding:28px 24px;

    }

}






/*==================================================
LEGAL ASSISTANT
CAREER OPPORTUNITIES — PART 2
Card Styling • Giant Numbers • Gold Accents
Hover Interactions
==================================================*/


/* CARD BASE */

.legal-careers__card {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.1);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.075),
            rgba(255, 255, 255, 0.025)
        );

    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.2);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    transition:
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.4s ease,
        background 0.4s ease,
        box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}


/* GOLD LEFT ACCENT */

.legal-careers__card::before {
    content: "";

    position: absolute;
    z-index: 3;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #f0d98f 0%,
        #d6ae4c 48%,
        #b58b2b 100%
    );

    transform: scaleY(0);
    transform-origin: bottom;

    transition:
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);

    pointer-events: none;
}


/* GOLD GLOW */

.legal-careers__card::after {
    content: "";

    position: absolute;
    z-index: -1;

    top: -100px;
    right: -100px;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    background: radial-gradient(
        circle,
        rgba(214, 174, 76, 0.2),
        rgba(214, 174, 76, 0.06) 48%,
        transparent 72%
    );

    opacity: 0;
    transform: scale(0.72);

    transition:
        opacity 0.5s ease,
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);

    pointer-events: none;
}


/* SMALL CARD NUMBER */

.legal-careers__card > span {
    position: relative;
    z-index: 2;

    display: block;

    color: rgba(255, 255, 255, 0.34);

    font-size: clamp(0.9rem, 1.1vw, 1.1rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.14em;

    transition:
        color 0.35s ease,
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}


/* GIANT NUMBER WATERMARK */

.legal-careers__card > span::after {
    content: attr(data-career-number);

    position: absolute;
    z-index: -1;

    top: 50%;
    left: -0.18em;

    color: transparent;

    font-size: clamp(7rem, 11vw, 11rem);
    font-weight: 800;
    line-height: 0.7;
    letter-spacing: -0.1em;

    -webkit-text-stroke:
        1px rgba(255, 255, 255, 0.055);

    transform:
        translateY(-50%)
        translateX(-16px)
        scale(0.95);

    opacity: 0.72;

    transition:
        opacity 0.5s ease,
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        -webkit-text-stroke-color 0.4s ease;

    pointer-events: none;
    user-select: none;
}


/* CONTENT */

.legal-careers__card > div {
    position: relative;
    z-index: 2;
    align-self: center;
}


/* TITLE */

.legal-careers__card h3 {
    position: relative;

    max-width: 520px;

    margin: 0 0 18px;

    color: #ffffff;

    font-size: clamp(1.55rem, 2.1vw, 2.35rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.04em;

    transition:
        color 0.35s ease,
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}


/* TITLE GOLD LINE */

.legal-careers__card h3::after {
    content: "";

    display: block;

    width: 46px;
    height: 2px;

    margin-top: 18px;

    background: linear-gradient(
        90deg,
        #d6ae4c,
        rgba(214, 174, 76, 0)
    );

    transition:
        width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}


/* DESCRIPTION */

.legal-careers__card p {
    max-width: 540px;

    margin: 0;

    color: rgba(255, 255, 255, 0.64);

    font-size: 0.98rem;
    line-height: 1.75;

    transition:
        color 0.35s ease,
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}


/* ARROW */

.legal-careers__card > div::after {
    content: "→";

    position: absolute;

    right: 0;
    bottom: 0;

    color: #d6ae4c;

    font-size: 1.45rem;
    line-height: 1;

    opacity: 0;
    transform: translateX(-14px);

    transition:
        opacity 0.35s ease,
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);

    pointer-events: none;
}


/* HOVER EFFECTS */

@media (hover: hover) and (pointer: fine) {

    .legal-careers__card:hover {
        transform: translateY(-10px);

        border-color: rgba(214, 174, 76, 0.42);

        background:
            linear-gradient(
                145deg,
                rgba(255, 255, 255, 0.1),
                rgba(255, 255, 255, 0.035)
            );

        box-shadow:
            0 34px 90px rgba(0, 0, 0, 0.34),
            0 0 0 1px rgba(214, 174, 76, 0.08);
    }

    .legal-careers__card:hover::before {
        transform: scaleY(1);
    }

    .legal-careers__card:hover::after {
        opacity: 1;
        transform: scale(1);
    }

    .legal-careers__card:hover > span {
        color: #d6ae4c;
        transform: translateX(6px);
    }

    .legal-careers__card:hover > span::after {
        opacity: 1;

        -webkit-text-stroke-color:
            rgba(214, 174, 76, 0.14);

        transform:
            translateY(-50%)
            translateX(0)
            scale(1);
    }

    .legal-careers__card:hover h3 {
        color: #f4df9d;
        transform: translateX(4px);
    }

    .legal-careers__card:hover h3::after {
        width: 120px;
    }

    .legal-careers__card:hover p {
        color: rgba(255, 255, 255, 0.82);
        transform: translateX(4px);
    }

    .legal-careers__card:hover > div::after {
        opacity: 1;
        transform: translateX(0);
    }
}


/* ALTERNATING DESKTOP RHYTHM */

@media (min-width: 1101px) {

    .legal-careers__card:nth-child(even) {
        transform: translateY(34px);
    }

    .legal-careers__card:nth-child(even):hover {
        transform: translateY(24px);
    }
}


/* MOBILE POLISH */

@media (max-width: 768px) {

    .legal-careers__card {
        min-height: 190px;
    }

    .legal-careers__card > span {
        font-size: 0.82rem;
    }

    .legal-careers__card > span::after {
        font-size: 7rem;
    }

    .legal-careers__card h3 {
        font-size: clamp(1.4rem, 7vw, 2rem);
    }

    .legal-careers__card p {
        font-size: 0.93rem;
    }

    .legal-careers__card > div::after {
        display: none;
    }
}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    .legal-careers__card,
    .legal-careers__card::before,
    .legal-careers__card::after,
    .legal-careers__card > span,
    .legal-careers__card > span::after,
    .legal-careers__card h3,
    .legal-careers__card h3::after,
    .legal-careers__card p,
    .legal-careers__card > div::after {
        transition: none;
    }

    .legal-careers__card,
    .legal-careers__card:nth-child(even),
    .legal-careers__card:hover {
        transform: none;
    }
}








/*==================================================
LEGAL ASSISTANT
CAREER OPPORTUNITIES — PART 3
Tablet • Mobile • Reduced Motion
==================================================*/


/*=========================================
LARGE TABLETS
=========================================*/

@media (max-width:1200px){

    .legal-careers{
        padding:100px 0;
    }

    .legal-careers__container{
        width:min(100% - 60px,1100px);
    }

    .legal-careers__intro{
        gap:60px;
    }

    .legal-careers__grid{
        gap:26px;
    }

}


/*=========================================
TABLETS
=========================================*/

@media (max-width:991px){

    .legal-careers__intro{

        grid-template-columns:1fr;

        gap:40px;

        margin-bottom:70px;

    }

    .legal-careers__description{

        max-width:700px;

    }

    .legal-careers__grid{

        grid-template-columns:1fr;

        gap:24px;

    }

    .legal-careers__card{

        grid-template-columns:70px 1fr;

        padding:34px;

        min-height:210px;

    }

    .legal-careers__card:nth-child(even){

        transform:none;

    }

}


/*=========================================
MOBILE
=========================================*/

@media (max-width:768px){

    .legal-careers{

        padding:80px 0;

    }

    .legal-careers__container{

        width:calc(100% - 32px);

    }

    .legal-careers::after{

        font-size:6rem;

        bottom:-10px;

        left:-5px;

        opacity:.04;

    }

    .legal-careers__eyebrow{

        font-size:.68rem;

        gap:12px;

        margin-bottom:18px;

    }

    .legal-careers__eyebrow::before{

        width:28px;

    }

    .legal-careers__title{

        font-size:clamp(2.2rem,10vw,3.5rem);

        line-height:1;

    }

    .legal-careers__description{

        font-size:.96rem;

        line-height:1.8;

    }

    .legal-careers__grid{

        gap:18px;

    }

    .legal-careers__card{

        grid-template-columns:52px 1fr;

        gap:18px;

        padding:26px 22px;

        min-height:auto;

    }

    .legal-careers__card>span{

        font-size:.8rem;

    }

    .legal-careers__card>span::after{

        font-size:5.5rem;

        left:-6px;

    }

    .legal-careers__card h3{

        font-size:1.45rem;

        margin-bottom:14px;

    }

    .legal-careers__card h3::after{

        margin-top:14px;

    }

    .legal-careers__card p{

        font-size:.92rem;

        line-height:1.7;

    }

    .legal-careers__card>div::after{

        display:none;

    }

}


/*=========================================
SMALL PHONES
=========================================*/

@media (max-width:480px){

    .legal-careers{

        padding:70px 0;

    }

    .legal-careers__container{

        width:calc(100% - 24px);

    }

    .legal-careers__title{

        font-size:2rem;

    }

    .legal-careers__card{

        padding:22px 18px;

        grid-template-columns:44px 1fr;

        gap:16px;

    }

    .legal-careers__card>span{

        font-size:.72rem;

    }

    .legal-careers__card>span::after{

        font-size:4.5rem;

    }

    .legal-careers__card h3{

        font-size:1.28rem;

    }

    .legal-careers__card p{

        font-size:.88rem;

    }

}


/*=========================================
TOUCH DEVICES
=========================================*/

@media (hover:none){

    .legal-careers__card::before{

        transform:scaleY(1);

    }

    .legal-careers__card::after{

        opacity:.45;

        transform:scale(1);

    }

}


/*=========================================
KEYBOARD ACCESSIBILITY
=========================================*/

.legal-careers__card:focus-within{

    border-color:rgba(214,174,76,.5);

    box-shadow:
        0 0 0 2px rgba(214,174,76,.18),
        0 24px 60px rgba(0,0,0,.28);

}

.legal-careers__card:focus-within::before{

    transform:scaleY(1);

}


/*=========================================
REDUCED MOTION
=========================================*/

@media (prefers-reduced-motion:reduce){

    .legal-careers *,
    .legal-careers *::before,
    .legal-careers *::after{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

    .legal-careers__card,
    .legal-careers__card:hover,
    .legal-careers__card:nth-child(even){

        transform:none !important;

    }

    .legal-careers__card::before{

        transform:scaleY(1);

    }

    .legal-careers__card::after{

        opacity:.3;

        transform:none;

    }

    .legal-careers__card>span::after{

        transform:translateY(-50%);

    }

}




/*==================================================
PROGRAMME INFORMATION
==================================================*/

.legal-info{
    position:relative;
    overflow:hidden;
    padding:140px 0;
    background:#f7f5ef;
}

.legal-info__container{
    width:min(1400px,92%);
    margin:auto;
}


/*==================================
HEADER
==================================*/

.legal-info__header{
    max-width:760px;
    margin:0 auto 80px;
    text-align:center;
}

.legal-info__eyebrow{
    display:inline-block;
    color:#b58b2b;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.2em;
    text-transform:uppercase;
    margin-bottom:18px;
}

.legal-info__title{
    font-size:clamp(2.8rem,5vw,5rem);
    line-height:1;
    color:#06162f;
    margin-bottom:25px;
    letter-spacing:-.04em;
}

.legal-info__title span{
    display:block;
    color:#d6ae4c;
    font-style:italic;
    font-family:Georgia,serif;
    font-weight:400;
}

.legal-info__description{
    color:#5d6675;
    font-size:1.08rem;
    line-height:1.9;
}


/*==================================
GRID
==================================*/

.legal-info__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}


/*==================================
CARD
==================================*/

.legal-info__card{
    position:relative;
    overflow:hidden;

    background:#fff;

    border:1px solid rgba(6,22,47,.08);

    border-radius:22px;

    padding:38px;

    transition:.45s;

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);
}

.legal-info__card:hover{

    transform:translateY(-10px);

    border-color:#d6ae4c;

    box-shadow:
    0 28px 70px rgba(0,0,0,.12);
}


/* Gold Line */

.legal-info__card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:4px;
    height:0;

    background:#d6ae4c;

    transition:.45s;

}

.legal-info__card:hover::before{

    height:100%;

}


/*==================================
NUMBER
==================================*/

.legal-info__number{

    display:block;

    font-size:.8rem;

    font-weight:800;

    color:#d6ae4c;

    letter-spacing:.2em;

    margin-bottom:25px;

}


/* Giant Number */

.legal-info__card::after{

    content:attr(data-number);

    position:absolute;

    right:20px;

    bottom:-18px;

    font-size:7rem;

    font-weight:800;

    color:rgba(6,22,47,.03);

    line-height:1;

    pointer-events:none;

}


/*==================================
TITLE
==================================*/

.legal-info__card h3{

    font-size:1.45rem;

    color:#06162f;

    margin-bottom:18px;

}


/*==================================
TEXT
==================================*/

.legal-info__card p{

    color:#5d6675;

    line-height:1.8;

}


/*==================================
LIST
==================================*/

.legal-info__card ul{

    list-style:none;

    padding:0;

    margin:0;

}

.legal-info__card li{

    padding:8px 0;

    color:#5d6675;

    border-bottom:1px solid rgba(6,22,47,.05);

}

.legal-info__card li:last-child{

    border:none;

}


/*==================================
TAGS
==================================*/

.legal-info__tags{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:18px;

}

.legal-info__tags span{

    padding:10px 18px;

    border-radius:40px;

    background:#06162f;

    color:#fff;

    font-size:.9rem;

    transition:.35s;

}

.legal-info__tags span:hover{

    background:#d6ae4c;

    color:#06162f;

}


/*==================================
LARGE CARD
==================================*/

.legal-info__card--large{

    grid-column:span 2;

}


/*==================================
TABLET
==================================*/

@media(max-width:992px){

    .legal-info{

        padding:100px 0;

    }

    .legal-info__grid{

        grid-template-columns:repeat(2,1fr);

    }

    .legal-info__card--large{

        grid-column:span 2;

    }

}


/*==================================
MOBILE
==================================*/

@media(max-width:768px){

    .legal-info__grid{

        grid-template-columns:1fr;

    }

    .legal-info__card--large{

        grid-column:auto;

    }

    .legal-info__card{

        padding:28px;

    }

    .legal-info__title{

        font-size:2.4rem;

    }

}


/*==================================
REDUCED MOTION
==================================*/

@media(prefers-reduced-motion:reduce){

    .legal-info *{

        transition:none!important;

    }

}



/*==================================================
LEGAL FAQ
Premium Editorial Accordion
==================================================*/

.legal-faq{
    position:relative;
    overflow:hidden;
    padding:140px 0;
    background:#06162f;
    color:#fff;
}

.legal-faq::before{
    content:"FAQ";

    position:absolute;

    right:-40px;
    bottom:-20px;

    font-size:16rem;
    font-weight:800;
    line-height:1;

    color:rgba(255,255,255,.03);

    pointer-events:none;
}

.legal-faq__container{
    width:min(1200px,92%);
    margin:auto;
}


/*=========================
HEADER
=========================*/

.legal-faq__header{
    max-width:760px;
    margin:0 auto 80px;
    text-align:center;
}

.legal-faq__eyebrow{
    display:inline-block;
    color:#d6ae4c;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:18px;
}

.legal-faq__title{
    color:#fff;
    font-size:clamp(2.8rem,5vw,5rem);
    line-height:1;
    letter-spacing:-.04em;
    margin-bottom:22px;
}

.legal-faq__title span{
    display:block;
    color:#d6ae4c;
    font-style:italic;
    font-family:Georgia,serif;
    font-weight:400;
}

.legal-faq__description{
    color:rgba(255,255,255,.65);
    line-height:1.9;
}


/*=========================
ACCORDION
=========================*/

.legal-faq__accordion{
    display:flex;
    flex-direction:column;
    gap:22px;
}


/*=========================
ITEM
=========================*/

.legal-faq__item{
    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    overflow:hidden;

    transition:.4s;
}

.legal-faq__item:hover{
    border-color:#d6ae4c;

    transform:translateY(-4px);

    box-shadow:0 20px 50px rgba(0,0,0,.25);
}


/*=========================
QUESTION
=========================*/

.legal-faq__question{

    width:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:28px 34px;

    background:none;

    border:none;

    color:#fff;

    cursor:pointer;

    text-align:left;

    font-size:1.15rem;
    font-weight:600;

}

.legal-faq__question span:first-child{
    max-width:90%;
}


/*=========================
ICON
=========================*/

.legal-faq__icon{

    width:42px;
    height:42px;

    border-radius:50%;

    display:grid;
    place-items:center;

    background:rgba(214,174,76,.12);

    color:#d6ae4c;

    font-size:1.5rem;

    transition:.35s;
}

.legal-faq__item.active .legal-faq__icon{

    transform:rotate(45deg);

    background:#d6ae4c;

    color:#06162f;

}


/*=========================
ANSWER
=========================*/

.legal-faq__answer{

    max-height:0;

    overflow:hidden;

    transition:
    max-height .45s ease,
    padding .45s ease;

}

.legal-faq__item.active .legal-faq__answer{

    max-height:250px;

    padding:0 34px 30px;

}

.legal-faq__answer p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

}


/*=========================
TABLET
=========================*/

@media(max-width:992px){

    .legal-faq{

        padding:100px 0;

    }

}


/*=========================
MOBILE
=========================*/

@media(max-width:768px){

    .legal-faq{

        padding:80px 0;

    }

    .legal-faq__question{

        padding:22px;

        font-size:1rem;

    }

    .legal-faq__item.active .legal-faq__answer{

        padding:0 22px 22px;

    }

    .legal-faq::before{

        font-size:7rem;

    }

}


/*=========================
REDUCED MOTION
=========================*/

@media(prefers-reduced-motion:reduce){

    .legal-faq *,
    .legal-faq *::before,
    .legal-faq *::after{

        transition:none!important;

    }

}




/*==================================================
CINEMATIC CTA
==================================================*/

.legal-cta{
    position:relative;
    overflow:hidden;
    min-height:700px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
}

.legal-cta__background{
    position:absolute;
    inset:0;
}

.legal-cta__background img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    animation:legalZoom 18s ease-in-out infinite alternate;
}

.legal-cta__overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        135deg,
        rgba(6,22,47,.88),
        rgba(6,22,47,.55),
        rgba(0,0,0,.45)
    );
}

.legal-cta__container{
    position:relative;
    z-index:2;
    width:min(1200px,92%);
}

.legal-cta__content{
    max-width:760px;
}

.legal-cta__eyebrow{
    display:inline-block;
    color:#d6ae4c;
    text-transform:uppercase;
    letter-spacing:.22em;
    font-size:.75rem;
    font-weight:700;
    margin-bottom:22px;
}

.legal-cta__title{
    font-size:clamp(3rem,6vw,6rem);
    line-height:.95;
    letter-spacing:-.05em;
    margin-bottom:30px;
}

.legal-cta__title span{
    display:block;
    color:#d6ae4c;
    font-family:Georgia,serif;
    font-style:italic;
    font-weight:400;
}

.legal-cta__description{
    max-width:700px;
    color:rgba(255,255,255,.82);
    font-size:1.1rem;
    line-height:1.9;
    margin-bottom:45px;
}

.legal-cta__actions{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

.legal-cta__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:18px 40px;

    border-radius:100px;

    text-decoration:none;

    font-weight:600;

    transition:.35s;
}

.legal-cta__button--primary{
    background:#d6ae4c;
    color:#06162f;
}

.legal-cta__button--primary:hover{
    background:#fff;
    transform:translateY(-4px);
}

.legal-cta__button--secondary{
    border:1px solid rgba(255,255,255,.4);
    color:#fff;
    backdrop-filter:blur(12px);
}

.legal-cta__button--secondary:hover{
    background:#fff;
    color:#06162f;
    border-color:#fff;
    transform:translateY(-4px);
}

@keyframes legalZoom{

    from{
        transform:scale(1.08);
    }

    to{
        transform:scale(1.16);
    }

}

@media(max-width:992px){

    .legal-cta{

        min-height:600px;

    }

}

@media(max-width:768px){

    .legal-cta{

        min-height:520px;
        text-align:center;

    }

    .legal-cta__actions{

        justify-content:center;

    }

    .legal-cta__title{

        font-size:2.8rem;

    }

}

@media(prefers-reduced-motion:reduce){

    .legal-cta *{

        animation:none!important;
        transition:none!important;

    }

}







/*==================================================
PROGRAMME HERO
==================================================*/

.programme-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#06162f;
}

.programme-hero__background{
    position:absolute;
    inset:0;
}

.programme-hero__background img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    animation:heroZoom 18s ease-in-out infinite alternate;
}

.programme-hero__overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        90deg,
        rgba(6,22,47,.90) 0%,
        rgba(6,22,47,.68) 45%,
        rgba(6,22,47,.45) 100%
    );
}

.programme-hero__container{
    position:relative;
    z-index:10;
    width:min(1400px,92%);
    margin:auto;
}

.programme-hero__content{
    max-width:760px;
}

.programme-hero__eyebrow{
    display:inline-block;
    margin-bottom:20px;
    color:#d6ae4c;
    font-size:.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.25em;
}

.programme-hero__title{
    margin:0;
    color:#fff;
    font-size:clamp(3.5rem,6vw,6.8rem);
    line-height:.93;
    letter-spacing:-.05em;
}

.programme-hero__title span{
    display:block;
    color:#d6ae4c;
    font-family:Georgia,serif;
    font-style:italic;
    font-weight:400;
}

.programme-hero__description{
    margin:35px 0 50px;
    max-width:650px;
    color:rgba(255,255,255,.82);
    font-size:1.08rem;
    line-height:1.9;
}

.programme-hero__snapshot{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    margin-bottom:55px;
}

.programme-hero__stat{
    min-width:180px;
    padding:24px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(14px);
    border-radius:18px;
}

.programme-hero__value{
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-size:1.35rem;
    font-weight:700;
}

.programme-hero__label{
    color:rgba(255,255,255,.65);
    font-size:.92rem;
    line-height:1.5;
}

.programme-hero__actions{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.programme-hero__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:18px 40px;
    border-radius:60px;
    text-decoration:none;
    font-weight:600;
    transition:.35s;
}

.programme-hero__button--primary{
    background:#d6ae4c;
    color:#06162f;
}

.programme-hero__button--primary:hover{
    background:#fff;
    transform:translateY(-4px);
}

.programme-hero__button--secondary{
    color:#fff;
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(10px);
}

.programme-hero__button--secondary:hover{
    background:#fff;
    color:#06162f;
    border-color:#fff;
    transform:translateY(-4px);
}


/* Scroll Indicator */

.programme-hero__scroll{
    position:absolute;
    bottom:35px;
    left:50%;
    transform:translateX(-50%);
}

.programme-hero__scroll span{
    display:block;
    width:2px;
    height:55px;
    background:rgba(255,255,255,.5);
    position:relative;
    overflow:hidden;
}

.programme-hero__scroll span::before{
    content:"";
    position:absolute;
    left:0;
    top:-100%;
    width:100%;
    height:100%;
    background:#d6ae4c;
    animation:scrollLine 2s infinite;
}


/* Animations */

@keyframes heroZoom{

    from{
        transform:scale(1.08);
    }

    to{
        transform:scale(1.18);
    }

}

@keyframes scrollLine{

    from{
        top:-100%;
    }

    to{
        top:100%;
    }

}


/* Tablet */

@media(max-width:992px){

    .programme-hero{

        min-height:90vh;

    }

    .programme-hero__snapshot{

        gap:18px;

    }

}


/* Mobile */

@media(max-width:768px){

    .programme-hero{

        min-height:100vh;
        text-align:center;

    }

    .programme-hero__content{

        margin:auto;

    }

    .programme-hero__description{

        margin-inline:auto;

    }

    .programme-hero__snapshot{

        justify-content:center;

    }

    .programme-hero__stat{

        width:100%;

    }

    .programme-hero__actions{

        justify-content:center;

    }

    .programme-hero__title{

        font-size:3rem;

    }

}


/* Reduced Motion */

@media(prefers-reduced-motion:reduce){

    .programme-hero *{
        animation:none!important;
        transition:none!important;
    }

}








/*==================================================
ABOUT THE PROGRAMME
==================================================*/

.programme-about{
    padding:140px 0;
    background:#f7f5ef;
    overflow:hidden;
}

.programme-about__container{
    width:min(1400px,92%);
    margin:auto;
}

.programme-about__content{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:80px;
    align-items:center;
    margin-bottom:90px;
}

.programme-about__eyebrow{
    display:inline-block;
    margin-bottom:18px;
    color:#b58b2b;
    text-transform:uppercase;
    letter-spacing:.22em;
    font-size:.75rem;
    font-weight:700;
}

.programme-about__title{
    margin:0 0 30px;
    color:#06162f;
    font-size:clamp(2.8rem,5vw,5.5rem);
    line-height:.95;
    letter-spacing:-.05em;
}

.programme-about__title span{
    display:block;
    color:#d6ae4c;
    font-family:Georgia,serif;
    font-style:italic;
    font-weight:400;
}

.programme-about__description{
    max-width:650px;
    color:#5d6675;
    font-size:1.05rem;
    line-height:1.9;
}

.programme-about__visual{
    position:relative;
    overflow:hidden;
    border-radius:28px;
}

.programme-about__visual img{
    width:100%;
    height:680px;
    object-fit:cover;
    display:block;
    transition:transform .8s ease;
}

.programme-about__visual:hover img{
    transform:scale(1.05);
}


/*==============================
VALUES
==============================*/

.programme-about__values{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.programme-about__value{
    position:relative;
    padding:36px;
    background:#fff;
    border-radius:22px;
    border:1px solid rgba(6,22,47,.08);
    overflow:hidden;
    transition:.35s;
}

.programme-about__value::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:0;
    background:#d6ae4c;
    transition:.35s;
}

.programme-about__value:hover{
    transform:translateY(-8px);
    border-color:#d6ae4c;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
}

.programme-about__value:hover::before{
    height:100%;
}

.programme-about__value span{
    display:block;
    margin-bottom:20px;
    color:#d6ae4c;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.22em;
}

.programme-about__value h3{
    margin:0;
    color:#06162f;
    font-size:1.35rem;
    line-height:1.35;
}


/*==============================
TABLET
==============================*/

@media(max-width:992px){

    .programme-about{
        padding:100px 0;
    }

    .programme-about__content{
        grid-template-columns:1fr;
        gap:50px;
    }

    .programme-about__visual img{
        height:520px;
    }

    .programme-about__values{
        grid-template-columns:repeat(2,1fr);
    }

}


/*==============================
MOBILE
==============================*/

@media(max-width:768px){

    .programme-about{
        padding:80px 0;
    }

    .programme-about__title{
        font-size:2.5rem;
    }

    .programme-about__visual img{
        height:380px;
    }

    .programme-about__values{
        grid-template-columns:1fr;
    }

    .programme-about__value{
        padding:28px;
    }

}


/*==============================
REDUCED MOTION
==============================*/

@media(prefers-reduced-motion:reduce){

    .programme-about *,
    .programme-about *::before,
    .programme-about *::after{
        transition:none!important;
    }

}






/*==================================================
PROFESSIONAL JOURNEY
CUSTOMS & TRANSIT
==================================================*/

.customs-journey{
    position:relative;
    overflow:hidden;
    padding:clamp(100px,10vw,170px) 0;
    background:#ffffff;
    color:#06162f;
}

.customs-journey *,
.customs-journey *::before,
.customs-journey *::after{
    box-sizing:border-box;
}

.customs-journey::before{
    content:"JOURNEY";
    position:absolute;
    top:20px;
    right:-.04em;
    color:rgba(6,22,47,.025);
    font-size:clamp(7rem,18vw,18rem);
    font-weight:800;
    line-height:.8;
    letter-spacing:-.08em;
    white-space:nowrap;
    pointer-events:none;
    user-select:none;
}

.customs-journey__container{
    position:relative;
    z-index:2;
    width:min(1320px,calc(100% - 10vw));
    margin:0 auto;
}


/* HEADER */

.customs-journey__header{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);
    align-items:end;
    gap:clamp(50px,8vw,130px);
    margin-bottom:clamp(80px,9vw,140px);
}

.customs-journey__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:16px;
    margin-bottom:22px;
    color:#b58b2b;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.customs-journey__eyebrow::before{
    content:"";
    width:42px;
    height:1px;
    background:#d6ae4c;
}

.customs-journey__title{
    max-width:850px;
    margin:0;
    color:#06162f;
    font-size:clamp(3rem,5.7vw,6.4rem);
    font-weight:600;
    line-height:.94;
    letter-spacing:-.06em;
    text-wrap:balance;
}

.customs-journey__title span{
    display:block;
    margin-top:.08em;
    color:#d6ae4c;
    font-family:Georgia,"Times New Roman",serif;
    font-style:italic;
    font-weight:400;
    letter-spacing:-.04em;
}

.customs-journey__intro{
    max-width:500px;
    margin:0;
    color:#677181;
    font-size:clamp(1rem,1.2vw,1.12rem);
    line-height:1.9;
}


/* TIMELINE */

.customs-journey__timeline{
    position:relative;
    max-width:1160px;
    margin:0 auto;
}

.customs-journey__line{
    position:absolute;
    top:0;
    bottom:0;
    left:143px;
    width:1px;
    background:rgba(6,22,47,.12);
}

.customs-journey__progress{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:0;
    background:linear-gradient(
        180deg,
        #f0d98f,
        #d6ae4c,
        #b58b2b
    );
    transition:height .8s cubic-bezier(.22,1,.36,1);
}


/* CHAPTER */

.customs-journey__chapter{
    position:relative;
    display:grid;
    grid-template-columns:145px minmax(0,1fr);
    gap:clamp(42px,7vw,110px);
    align-items:center;
    min-height:360px;
    padding:54px 0;
    opacity:.45;
    transition:
        opacity .55s ease,
        transform .65s cubic-bezier(.22,1,.36,1);
}

.customs-journey__chapter:not(:last-child){
    border-bottom:1px solid rgba(6,22,47,.08);
}

.customs-journey__chapter.is-active{
    opacity:1;
}


/* NUMBER */

.customs-journey__number{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.customs-journey__number::after{
    content:"";
    position:absolute;
    right:-5px;
    top:50%;
    width:11px;
    height:11px;
    border:3px solid #fff;
    border-radius:50%;
    background:#c9c8c2;
    box-shadow:0 0 0 1px rgba(6,22,47,.15);
    transform:translate(50%,-50%);
    transition:
        background .4s ease,
        box-shadow .4s ease,
        transform .5s cubic-bezier(.22,1,.36,1);
}

.customs-journey__number span{
    display:block;
    color:transparent;
    font-size:clamp(5.5rem,10vw,10rem);
    font-weight:800;
    line-height:.74;
    letter-spacing:-.1em;
    -webkit-text-stroke:1px rgba(6,22,47,.13);
    transition:
        color .45s ease,
        -webkit-text-stroke-color .45s ease,
        transform .65s cubic-bezier(.22,1,.36,1);
}

.customs-journey__chapter.is-active .customs-journey__number::after{
    background:#d6ae4c;
    box-shadow:
        0 0 0 6px rgba(214,174,76,.14),
        0 0 0 1px #d6ae4c;
    transform:translate(50%,-50%) scale(1.08);
}

.customs-journey__chapter.is-active .customs-journey__number span{
    color:rgba(214,174,76,.08);
    -webkit-text-stroke-color:#d6ae4c;
    transform:translateX(8px);
}


/* CONTENT CARD */

.customs-journey__card{
    position:relative;
    overflow:hidden;
    max-width:780px;
    padding:clamp(34px,4.5vw,58px);
    border:1px solid rgba(6,22,47,.09);
    border-radius:28px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.98),
            rgba(247,245,239,.72)
        );
    box-shadow:0 18px 55px rgba(6,22,47,.06);
    transition:
        transform .6s cubic-bezier(.22,1,.36,1),
        border-color .4s ease,
        box-shadow .6s cubic-bezier(.22,1,.36,1);
}

.customs-journey__card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,#d6ae4c,#b58b2b);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .65s cubic-bezier(.22,1,.36,1);
}

.customs-journey__card::after{
    content:"";
    position:absolute;
    top:-110px;
    right:-110px;
    width:290px;
    height:290px;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(214,174,76,.16),
        transparent 70%
    );
    opacity:0;
    transform:scale(.7);
    transition:
        opacity .5s ease,
        transform .7s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
}

.customs-journey__chapter.is-active .customs-journey__card{
    border-color:rgba(214,174,76,.35);
    box-shadow:0 28px 80px rgba(6,22,47,.11);
    transform:translateX(10px);
}

.customs-journey__chapter.is-active .customs-journey__card::before{
    transform:scaleX(1);
}

.customs-journey__chapter.is-active .customs-journey__card::after{
    opacity:1;
    transform:scale(1);
}


/* CARD TYPOGRAPHY */

.customs-journey__label{
    display:inline-block;
    margin-bottom:20px;
    color:#b58b2b;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.2em;
    text-transform:uppercase;
}

.customs-journey__card h3{
    position:relative;
    z-index:2;
    max-width:700px;
    margin:0 0 20px;
    color:#06162f;
    font-size:clamp(2rem,3.2vw,3.6rem);
    font-weight:600;
    line-height:1.04;
    letter-spacing:-.045em;
    text-wrap:balance;
}

.customs-journey__card p{
    position:relative;
    z-index:2;
    max-width:670px;
    margin:0;
    color:#667181;
    font-size:1rem;
    line-height:1.85;
}


/* HOVER */

@media (hover:hover) and (pointer:fine){

    .customs-journey__chapter:hover{
        opacity:1;
    }

    .customs-journey__chapter:hover .customs-journey__card{
        border-color:rgba(214,174,76,.4);
        box-shadow:0 30px 85px rgba(6,22,47,.12);
        transform:translateX(10px) translateY(-6px);
    }

    .customs-journey__chapter:hover .customs-journey__card::before{
        transform:scaleX(1);
    }

    .customs-journey__chapter:hover .customs-journey__card::after{
        opacity:1;
        transform:scale(1);
    }

    .customs-journey__chapter:hover .customs-journey__number span{
        -webkit-text-stroke-color:#d6ae4c;
        transform:translateX(8px);
    }
}


/* TABLET */

@media (max-width:992px){

    .customs-journey{
        padding:100px 0;
    }

    .customs-journey__container{
        width:min(100% - 50px,900px);
    }

    .customs-journey__header{
        grid-template-columns:1fr;
        gap:32px;
        margin-bottom:70px;
    }

    .customs-journey__intro{
        max-width:680px;
    }

    .customs-journey__line{
        left:83px;
    }

    .customs-journey__chapter{
        grid-template-columns:85px minmax(0,1fr);
        gap:38px;
        min-height:300px;
    }

    .customs-journey__number span{
        font-size:5.5rem;
    }

}


/* MOBILE */

@media (max-width:700px){

    .customs-journey{
        padding:80px 0;
    }

    .customs-journey__container{
        width:calc(100% - 30px);
    }

    .customs-journey__title{
        font-size:clamp(2.4rem,11vw,3.7rem);
    }

    .customs-journey__timeline{
        padding-left:24px;
    }

    .customs-journey__line{
        left:5px;
    }

    .customs-journey__chapter{
        display:block;
        min-height:auto;
        padding:28px 0 46px;
    }

    .customs-journey__number{
        margin-bottom:20px;
    }

    .customs-journey__number::after{
        left:-24px;
        right:auto;
    }

    .customs-journey__number span{
        font-size:4.8rem;
    }

    .customs-journey__card{
        padding:30px 24px;
        border-radius:20px;
    }

    .customs-journey__chapter.is-active .customs-journey__card{
        transform:none;
    }

    .customs-journey__card h3{
        font-size:clamp(1.7rem,8vw,2.35rem);
    }

    .customs-journey__card p{
        font-size:.94rem;
        line-height:1.75;
    }

}


/* REDUCED MOTION */

@media (prefers-reduced-motion:reduce){

    .customs-journey *,
    .customs-journey *::before,
    .customs-journey *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }

    .customs-journey__chapter,
    .customs-journey__card,
    .customs-journey__number span{
        transform:none !important;
    }

}







/*==================================================
WHAT YOU'LL LEARN
Premium Sticky Editorial Layout
==================================================*/

.curriculum{
    position:relative;
    padding:160px 0;
    background:#f7f5ef;
    overflow:hidden;
}

.curriculum *{
    box-sizing:border-box;
}

.curriculum__container{
    width:min(1400px,92%);
    margin:auto;
    display:grid;
    grid-template-columns:520px 1fr;
    gap:120px;
    align-items:start;
}


/* LEFT STICKY */

.curriculum__sticky{
    position:sticky;
    top:120px;
}

.curriculum__eyebrow{
    display:inline-block;
    margin-bottom:22px;
    color:#b58b2b;
    font-size:.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.25em;
}

.curriculum__title{
    margin:0;
    color:#06162f;
    font-size:clamp(3rem,5vw,5.5rem);
    line-height:.94;
    letter-spacing:-.05em;
}

.curriculum__title span{
    display:block;
    margin-top:8px;
    color:#d6ae4c;
    font-family:Georgia,serif;
    font-style:italic;
    font-weight:400;
}

.curriculum__description{
    margin:35px 0 45px;
    color:#5e6877;
    font-size:1.05rem;
    line-height:1.9;
    max-width:480px;
}


/* IMAGE */

.curriculum__image{
    overflow:hidden;
    border-radius:26px;
    box-shadow:0 30px 70px rgba(0,0,0,.12);
}

.curriculum__image img{
    display:block;
    width:100%;
    height:620px;
    object-fit:cover;
    transition:transform .8s ease;
}

.curriculum__image:hover img{
    transform:scale(1.06);
}


/* RIGHT SIDE */

.curriculum__right{
    display:flex;
    flex-direction:column;
}


/* MODULE */

.curriculum__module{
    position:relative;
    display:grid;
    grid-template-columns:90px 1fr;
    gap:35px;
    align-items:center;
    padding:45px 0;
    border-bottom:1px solid rgba(6,22,47,.08);
    opacity:.45;
    transition:.45s;
}

.curriculum__module.active{
    opacity:1;
}

.curriculum__module span{

    font-size:3.5rem;
    font-weight:800;
    color:transparent;
    line-height:1;
    letter-spacing:-.05em;
    -webkit-text-stroke:1px rgba(6,22,47,.18);
    transition:.45s;

}

.curriculum__module.active span{

    color:rgba(214,174,76,.08);
    -webkit-text-stroke:1px #d6ae4c;

}

.curriculum__module h3{

    margin:0;
    color:#06162f;
    font-size:clamp(1.6rem,2vw,2.6rem);
    line-height:1.15;
    letter-spacing:-.03em;
    transition:.45s;

}

.curriculum__module.active h3{

    color:#06162f;

}


/* GOLD BAR */

.curriculum__module::before{

    content:"";
    position:absolute;
    left:-40px;
    top:50%;
    width:5px;
    height:0;
    background:#d6ae4c;
    border-radius:10px;
    transform:translateY(-50%);
    transition:.45s;

}

.curriculum__module.active::before{

    height:72px;

}


/* HOVER */

.curriculum__module:hover{

    opacity:1;

}

.curriculum__module:hover span{

    color:rgba(214,174,76,.08);
    -webkit-text-stroke:1px #d6ae4c;

}

.curriculum__module:hover::before{

    height:72px;

}


/* TABLET */

@media(max-width:1100px){

.curriculum{

padding:120px 0;

}

.curriculum__container{

grid-template-columns:1fr;
gap:70px;

}

.curriculum__sticky{

position:relative;
top:auto;

}

.curriculum__description{

max-width:700px;

}

.curriculum__image img{

height:500px;

}

}


/* MOBILE */

@media(max-width:768px){

.curriculum{

padding:80px 0;

}

.curriculum__container{

width:calc(100% - 32px);

}

.curriculum__title{

font-size:2.5rem;

}

.curriculum__module{

grid-template-columns:65px 1fr;
gap:22px;
padding:32px 0;

}

.curriculum__module span{

font-size:2.4rem;

}

.curriculum__module h3{

font-size:1.35rem;

}

.curriculum__module::before{

display:none;

}

.curriculum__image img{

height:350px;

}

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

.curriculum *,
.curriculum *::before,
.curriculum *::after{

transition:none!important;

}

}





/*==================================================
LEARNING EXPERIENCE — CUSTOMS & TRANSIT
==================================================*/

.learning-experience {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    background: #f7f5ef;
    color: #06162f;
}

.learning-experience *,
.learning-experience *::before,
.learning-experience *::after {
    box-sizing: border-box;
}

.learning-experience::before {
    content: "EXPERIENCE";
    position: absolute;
    top: 70px;
    right: -30px;
    color: rgba(6, 22, 47, 0.025);
    font-size: clamp(7rem, 15vw, 15rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.learning-experience__container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(320px, 0.78fr) minmax(600px, 1.22fr);
    gap: clamp(70px, 8vw, 140px);
    align-items: start;
    width: min(1450px, calc(100% - 10vw));
    margin: 0 auto;
}


/*==================================================
LEFT INTRODUCTION
==================================================*/

.learning-experience__left {
    position: sticky;
    top: 120px;
    max-width: 520px;
}

.learning-experience__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 28px;
    color: #b58b2b;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.19em;
    text-transform: uppercase;
}

.learning-experience__eyebrow::before {
    content: "";
    width: 42px;
    height: 1px;
    background: #d6ae4c;
}

.learning-experience__title {
    margin: 0 0 32px;
    color: #06162f;
    font-size: clamp(3rem, 5vw, 6rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.learning-experience__title span {
    display: block;
    margin-top: 0.08em;
    color: #b58b2b;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.04em;
}

.learning-experience__description {
    max-width: 490px;
    margin: 0;
    color: rgba(6, 22, 47, 0.67);
    font-size: 1.05rem;
    line-height: 1.9;
}


/*==================================================
RIGHT CARD COLUMN
==================================================*/

.learning-experience__right {
    display: grid;
    gap: 34px;
}


/*==================================================
EXPERIENCE CARD
==================================================*/

.experience-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(230px, 0.88fr) minmax(280px, 1.12fr);
    min-height: 330px;
    overflow: hidden;
    border: 1px solid rgba(6, 22, 47, 0.1);
    background: #ffffff;
    box-shadow: 0 20px 55px rgba(6, 22, 47, 0.07);
    transition:
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.5s ease,
        border-color 0.4s ease;
}

.experience-card::before {
    content: "";
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    width: 4px;
    height: 0;
    background: #d6ae4c;
    transition: height 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.experience-card:hover,
.experience-card.active {
    transform: translateY(-8px);
    border-color: rgba(181, 139, 43, 0.35);
    box-shadow: 0 32px 80px rgba(6, 22, 47, 0.13);
}

.experience-card:hover::before,
.experience-card.active::before {
    height: 100%;
}


/*==================================================
CARD IMAGE
==================================================*/

.experience-card__image {
    position: relative;
    overflow: hidden;
    min-height: 330px;
    background: #06162f;
}

.experience-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.03) 30%,
            rgba(6, 22, 47, 0.4) 100%
        );
    pointer-events: none;
}

.experience-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 330px;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.9) contrast(1.03);
    transform: scale(1.03);
    transition:
        transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.6s ease;
}

.experience-card:hover .experience-card__image img,
.experience-card.active .experience-card__image img {
    filter: saturate(1) contrast(1.05);
    transform: scale(1.1);
}


/*==================================================
CARD CONTENT
==================================================*/

.experience-card__content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 4vw, 58px);
}

.experience-card__content > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    color: #b58b2b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.experience-card__content > span::after {
    content: "";
    width: 38px;
    height: 1px;
    background: rgba(181, 139, 43, 0.55);
    transition: width 0.45s ease;
}

.experience-card:hover .experience-card__content > span::after,
.experience-card.active .experience-card__content > span::after {
    width: 68px;
}

.experience-card__content h3 {
    position: relative;
    margin: 0 0 22px;
    color: #06162f;
    font-size: clamp(1.7rem, 2.4vw, 2.7rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.experience-card__content h3::after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    margin-top: 20px;
    background: linear-gradient(
        90deg,
        #d6ae4c,
        rgba(214, 174, 76, 0)
    );
    transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.experience-card:hover .experience-card__content h3::after,
.experience-card.active .experience-card__content h3::after {
    width: 110px;
}

.experience-card__content p {
    margin: 0;
    color: rgba(6, 22, 47, 0.65);
    font-size: 1rem;
    line-height: 1.82;
}


/*==================================================
ALTERNATING CARD LAYOUT
==================================================*/

.experience-card:nth-child(even) {
    grid-template-columns: minmax(280px, 1.12fr) minmax(230px, 0.88fr);
}

.experience-card:nth-child(even) .experience-card__image {
    grid-column: 2;
    grid-row: 1;
}

.experience-card:nth-child(even) .experience-card__content {
    grid-column: 1;
    grid-row: 1;
}


/*==================================================
TABLET
==================================================*/

@media (max-width: 1100px) {

    .learning-experience {
        padding: 105px 0;
    }

    .learning-experience__container {
        grid-template-columns: 1fr;
        gap: 70px;
        width: min(92%, 820px);
    }

    .learning-experience__left {
        position: relative;
        top: auto;
        max-width: 700px;
    }

    .learning-experience__description {
        max-width: 680px;
    }

}


/*==================================================
MOBILE
==================================================*/

@media (max-width: 768px) {

    .learning-experience {
        padding: 85px 0;
    }

    .learning-experience::before {
        display: none;
    }

    .learning-experience__container {
        width: calc(100% - 40px);
        gap: 55px;
    }

    .learning-experience__title {
        font-size: clamp(2.6rem, 12vw, 4rem);
    }

    .learning-experience__description {
        font-size: 1rem;
        line-height: 1.8;
    }

    .experience-card,
    .experience-card:nth-child(even) {
        display: block;
        min-height: auto;
    }

    .experience-card:nth-child(even) .experience-card__image,
    .experience-card:nth-child(even) .experience-card__content {
        grid-column: auto;
        grid-row: auto;
    }

    .experience-card__image,
    .experience-card__image img {
        min-height: 300px;
        height: 300px;
    }

    .experience-card__content {
        padding: 34px 26px 38px;
    }

    .experience-card__content h3 {
        font-size: 1.85rem;
    }

    .experience-card:hover,
    .experience-card.active {
        transform: translateY(-4px);
    }

}


/*==================================================
SMALL PHONES
==================================================*/

@media (max-width: 480px) {

    .learning-experience {
        padding: 72px 0;
    }

    .learning-experience__container {
        width: calc(100% - 30px);
    }

    .learning-experience__eyebrow {
        font-size: 0.65rem;
        letter-spacing: 0.15em;
    }

    .learning-experience__eyebrow::before {
        width: 28px;
    }

    .experience-card__image,
    .experience-card__image img {
        height: 250px;
        min-height: 250px;
    }

    .experience-card__content {
        padding: 30px 22px 34px;
    }

    .experience-card__content h3 {
        font-size: 1.65rem;
    }

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .experience-card,
    .experience-card::before,
    .experience-card__image img,
    .experience-card__content > span::after,
    .experience-card__content h3::after {
        transition: none;
    }

}




/*==================================================
CAREER OPPORTUNITIES
==================================================*/

.career-opportunities{

    position:relative;
    overflow:hidden;
    background:#06162f;
    padding:130px 0;
    color:#fff;

}

.career-opportunities::before{

    content:"CAREERS";
    position:absolute;
    top:40px;
    right:-20px;

    font-size:clamp(7rem,15vw,15rem);
    font-weight:800;
    letter-spacing:-.08em;

    color:rgba(255,255,255,.025);

}

.career-opportunities__container{

    width:min(1400px,92%);
    margin:auto;
    position:relative;
    z-index:2;

}

.career-opportunities__header{

    max-width:760px;
    margin:0 auto 90px;
    text-align:center;

}

.career-opportunities__eyebrow{

    display:inline-flex;
    align-items:center;
    gap:14px;

    color:#d6ae4c;
    text-transform:uppercase;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.18em;

    margin-bottom:28px;

}

.career-opportunities__eyebrow::before,
.career-opportunities__eyebrow::after{

    content:"";
    width:36px;
    height:1px;
    background:#d6ae4c;

}

.career-opportunities h2{

    margin:0 0 30px;
    font-size:clamp(3rem,6vw,5.8rem);
    line-height:.95;
    letter-spacing:-.05em;

}

.career-opportunities h2 span{

    display:block;
    color:#d6ae4c;
    font-family:Georgia,serif;
    font-style:italic;
    font-weight:400;

}

.career-opportunities p{

    color:rgba(255,255,255,.72);
    line-height:1.9;
    font-size:1.05rem;

}


/* GRID */

.career-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:26px;

}


/* CARD */

.career-card{

    position:relative;

    padding:45px 35px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(16px);

    min-height:210px;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    transition:.4s;

}

.career-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:4px;
    height:0;

    background:#d6ae4c;

    transition:.45s;

}

.career-card:hover{

    transform:translateY(-10px);

    border-color:rgba(214,174,76,.45);

    background:rgba(255,255,255,.06);

}

.career-card:hover::before{

    height:100%;

}

.career-card span{

    color:#d6ae4c;

    font-size:.75rem;
    font-weight:700;
    letter-spacing:.18em;

    margin-bottom:22px;

}

.career-card h3{

    margin:0;

    font-size:1.7rem;

    line-height:1.2;

    letter-spacing:-.03em;

    font-weight:600;

}


/* TABLET */

@media(max-width:1100px){

.career-grid{

grid-template-columns:repeat(2,1fr);

}

}


/* MOBILE */

@media(max-width:768px){

.career-opportunities{

padding:90px 0;

}

.career-opportunities::before{

display:none;

}

.career-opportunities__header{

margin-bottom:60px;

}

.career-grid{

grid-template-columns:1fr;

}

.career-card{

min-height:170px;

padding:35px 28px;

}

.career-card h3{

font-size:1.45rem;

}

}








/*==================================================
PROGRAMME INFORMATION
==================================================*/

.programme-information{

    position:relative;
    overflow:hidden;
    padding:130px 0;
    background:#f7f5ef;

}

.programme-information::before{

    content:"INFORMATION";

    position:absolute;

    top:40px;
    right:-20px;

    color:rgba(6,22,47,.025);

    font-size:clamp(7rem,15vw,15rem);

    font-weight:800;

    letter-spacing:-.08em;

}

.programme-information__container{

    width:min(1400px,92%);
    margin:auto;
    position:relative;
    z-index:2;

}

.programme-information__header{

    text-align:center;
    margin-bottom:80px;

}

.programme-information__eyebrow{

    display:inline-flex;
    align-items:center;
    gap:14px;

    color:#b58b2b;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:.18em;

    text-transform:uppercase;

    margin-bottom:28px;

}

.programme-information__eyebrow::before,
.programme-information__eyebrow::after{

    content:"";

    width:38px;
    height:1px;

    background:#d6ae4c;

}

.programme-information h2{

    margin:0;

    color:#06162f;

    font-size:clamp(3rem,6vw,5.8rem);

    line-height:.95;

    letter-spacing:-.05em;

}

.programme-information h2 span{

    display:block;

    color:#b58b2b;

    font-family:Georgia,serif;

    font-style:italic;

    font-weight:400;

}


/* GRID */

.programme-information__grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}


/* CARD */

.programme-info-card{

    position:relative;

    background:#fff;

    border:1px solid rgba(6,22,47,.08);

    padding:40px;

    transition:.4s;

    min-height:260px;

}

.programme-info-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(6,22,47,.10);

    border-color:rgba(214,174,76,.35);

}

.programme-info-card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:4px;
    height:0;

    background:#d6ae4c;

    transition:.45s;

}

.programme-info-card:hover::before{

    height:100%;

}

.programme-info-card span{

    display:block;

    color:#b58b2b;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:.18em;

    margin-bottom:20px;

}

.programme-info-card h3{

    margin:0 0 22px;

    color:#06162f;

    font-size:1.8rem;

    line-height:1.15;

    letter-spacing:-.03em;

}

.programme-info-card p{

    margin:0;

    color:#555;

    line-height:1.8;

}

.programme-info-card small{

    display:block;

    margin-top:12px;

    color:#b58b2b;

    font-weight:600;

}

.programme-info-card ul{

    margin:0;

    padding-left:20px;

    color:#555;

    line-height:2;

}

.programme-info-card li{

    margin-bottom:4px;

}

.programme-info-card--large{

    grid-column:span 2;

}


/* TABLET */

@media(max-width:1100px){

.programme-information__grid{

grid-template-columns:repeat(2,1fr);

}

.programme-info-card--large{

grid-column:span 2;

}

}


/* MOBILE */

@media(max-width:768px){

.programme-information{

padding:90px 0;

}

.programme-information::before{

display:none;

}

.programme-information__header{

margin-bottom:55px;

}

.programme-information__grid{

grid-template-columns:1fr;

}

.programme-info-card,
.programme-info-card--large{

grid-column:auto;

padding:30px;

min-height:auto;

}

.programme-info-card h3{

font-size:1.5rem;

}

}





/*==================================================
FREQUENTLY ASKED QUESTIONS
==================================================*/

.programme-faq {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    background: #ffffff;
    color: #06162f;
}

.programme-faq *,
.programme-faq *::before,
.programme-faq *::after {
    box-sizing: border-box;
}

.programme-faq::before {
    content: "QUESTIONS";
    position: absolute;
    top: 65px;
    left: -25px;
    color: rgba(6, 22, 47, 0.025);
    font-size: clamp(7rem, 16vw, 15rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.programme-faq__container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(300px, 0.72fr) minmax(580px, 1.28fr);
    gap: clamp(70px, 9vw, 150px);
    align-items: start;
    width: min(1400px, calc(100% - 10vw));
    margin: 0 auto;
}


/*==================================================
INTRODUCTION
==================================================*/

.programme-faq__intro {
    position: sticky;
    top: 120px;
    max-width: 510px;
}

.programme-faq__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    color: #b58b2b;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.programme-faq__eyebrow::before {
    content: "";
    width: 40px;
    height: 1px;
    background: #d6ae4c;
}

.programme-faq__title {
    margin: 0 0 30px;
    color: #06162f;
    font-size: clamp(3rem, 5vw, 5.8rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.programme-faq__title span {
    display: block;
    margin-top: 0.08em;
    color: #b58b2b;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.04em;
}

.programme-faq__description {
    max-width: 470px;
    margin: 0;
    color: rgba(6, 22, 47, 0.65);
    font-size: 1.04rem;
    line-height: 1.9;
}


/*==================================================
FAQ LIST
==================================================*/

.programme-faq__list {
    border-top: 1px solid rgba(6, 22, 47, 0.12);
}

.faq-item {
    position: relative;
    border-bottom: 1px solid rgba(6, 22, 47, 0.12);
    transition:
        background-color 0.35s ease,
        border-color 0.35s ease;
}

.faq-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 0;
    background: #d6ae4c;
    transition: height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-item.active {
    background: #f7f5ef;
    border-color: rgba(181, 139, 43, 0.25);
}

.faq-item.active::before {
    height: 100%;
}


/*==================================================
QUESTION BUTTON
==================================================*/

.faq-item__button {
    width: 100%;
    margin: 0;
    padding: 38px 34px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;

    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 34px;
    gap: 22px;
    align-items: center;
}

.faq-item__number {
    color: #b58b2b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.17em;
}

.faq-item__question {
    color: #06162f;
    font-size: clamp(1.3rem, 2vw, 1.85rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.025em;
}

.faq-item__button:hover .faq-item__question,
.faq-item.active .faq-item__question {
    color: #b58b2b;
}


/*==================================================
PLUS / MINUS CONTROL
==================================================*/

.faq-item__icon {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(6, 22, 47, 0.16);
    border-radius: 50%;
    transition:
        background-color 0.35s ease,
        border-color 0.35s ease,
        transform 0.4s ease;
}

.faq-item__icon::before,
.faq-item__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 1px;
    background: #06162f;
    transform: translate(-50%, -50%);
    transition:
        transform 0.4s ease,
        background-color 0.35s ease;
}

.faq-item__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.active .faq-item__icon {
    border-color: #d6ae4c;
    background: #d6ae4c;
    transform: rotate(180deg);
}

.faq-item.active .faq-item__icon::before,
.faq-item.active .faq-item__icon::after {
    background: #06162f;
}

.faq-item.active .faq-item__icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
}


/*==================================================
ANSWER
==================================================*/

.faq-item__answer {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
    transition:
        grid-template-rows 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease,
        visibility 0.5s ease;
}

.faq-item.active .faq-item__answer {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
}

.faq-item__answer-inner {
    overflow: hidden;
}

.faq-item__answer p {
    max-width: 720px;
    margin: 0;
    padding: 0 70px 38px 100px;
    color: rgba(6, 22, 47, 0.66);
    font-size: 1rem;
    line-height: 1.85;
}


/*==================================================
TABLET
==================================================*/

@media (max-width: 1050px) {

    .programme-faq {
        padding: 105px 0;
    }

    .programme-faq__container {
        grid-template-columns: 1fr;
        gap: 70px;
        width: min(92%, 850px);
    }

    .programme-faq__intro {
        position: relative;
        top: auto;
        max-width: 700px;
    }

    .programme-faq__description {
        max-width: 650px;
    }

}


/*==================================================
MOBILE
==================================================*/

@media (max-width: 768px) {

    .programme-faq {
        padding: 85px 0;
    }

    .programme-faq::before {
        display: none;
    }

    .programme-faq__container {
        width: calc(100% - 40px);
        gap: 52px;
    }

    .programme-faq__title {
        font-size: clamp(2.6rem, 12vw, 4rem);
    }

    .faq-item__button {
        grid-template-columns: 32px minmax(0, 1fr) 30px;
        gap: 14px;
        padding: 28px 18px;
    }

    .faq-item__question {
        font-size: 1.25rem;
    }

    .faq-item__answer p {
        padding: 0 24px 30px 64px;
        font-size: 0.98rem;
        line-height: 1.8;
    }

}


/*==================================================
SMALL PHONES
==================================================*/

@media (max-width: 480px) {

    .programme-faq__container {
        width: calc(100% - 30px);
    }

    .programme-faq__eyebrow {
        font-size: 0.64rem;
        letter-spacing: 0.15em;
    }

    .programme-faq__eyebrow::before {
        width: 28px;
    }

    .faq-item__button {
        grid-template-columns: 1fr 28px;
        padding: 26px 15px;
    }

    .faq-item__number {
        display: none;
    }

    .faq-item__question {
        font-size: 1.15rem;
    }

    .faq-item__answer p {
        padding: 0 45px 28px 15px;
    }

}


/*==================================================
ACCESSIBILITY
==================================================*/

.faq-item__button:focus-visible {
    outline: 2px solid #d6ae4c;
    outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {

    .faq-item,
    .faq-item::before,
    .faq-item__answer,
    .faq-item__icon,
    .faq-item__icon::before,
    .faq-item__icon::after {
        transition: none;
    }

}












/*==================================================
FINAL CTA
==================================================*/

.programme-cta{

    position:relative;

    overflow:hidden;

    padding:180px 0;

    background-image:url("../assets/images/programmes/customs-cta.jpg");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

    color:#fff;

}

.programme-cta__overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        120deg,
        rgba(6,22,47,.92) 0%,
        rgba(6,22,47,.72) 45%,
        rgba(6,22,47,.82) 100%
    );

}

.programme-cta__container{

    position:relative;

    z-index:2;

    width:min(900px,90%);

    margin:auto;

    text-align:center;

}

.programme-cta__eyebrow{

    display:inline-flex;

    align-items:center;

    gap:14px;

    margin-bottom:28px;

    color:#d6ae4c;

    text-transform:uppercase;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:.18em;

}

.programme-cta__eyebrow::before,
.programme-cta__eyebrow::after{

    content:"";

    width:38px;

    height:1px;

    background:#d6ae4c;

}

.programme-cta__title{

    margin:0 0 32px;

    font-size:clamp(3.3rem,7vw,6.5rem);

    line-height:.95;

    letter-spacing:-.05em;

    font-weight:600;

}

.programme-cta__title span{

    display:block;

    margin-top:.12em;

    color:#d6ae4c;

    font-family:Georgia,serif;

    font-style:italic;

    font-weight:400;

}

.programme-cta__description{

    max-width:760px;

    margin:0 auto 55px;

    color:rgba(255,255,255,.82);

    font-size:1.08rem;

    line-height:1.9;

}

.programme-cta__actions{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}


/*==================================================
BUTTONS
==================================================*/

.programme-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:220px;

    padding:18px 42px;

    text-decoration:none;

    font-size:.95rem;

    font-weight:600;

    transition:.35s;

}

.programme-btn--gold{

    background:#d6ae4c;

    color:#06162f;

}

.programme-btn--gold:hover{

    background:#fff;

    transform:translateY(-4px);

}

.programme-btn--outline{

    border:1px solid rgba(255,255,255,.35);

    color:#fff;

    backdrop-filter:blur(12px);

}

.programme-btn--outline:hover{

    background:#fff;

    color:#06162f;

    border-color:#fff;

    transform:translateY(-4px);

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.programme-cta{

background-attachment:scroll;

padding:150px 0;

}

}

@media(max-width:768px){

.programme-cta{

padding:110px 0;

}

.programme-cta__title{

font-size:clamp(2.7rem,12vw,4.3rem);

}

.programme-cta__description{

font-size:1rem;

}

.programme-btn{

width:100%;

max-width:340px;

}

}




/*==================================================
BUSINESS LAW HERO
==================================================*/

.programme-hero{

    position:relative;
    height:100vh;
    min-height:760px;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:#06162f;

}

.programme-hero__background{

    position:absolute;
    inset:0;
    z-index:1;

}

.programme-hero__background img{

    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;

    animation:heroZoom 18s ease-in-out infinite alternate;

}

.programme-hero__overlay{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(6,22,47,.92) 0%,
        rgba(6,22,47,.82) 35%,
        rgba(6,22,47,.45) 70%,
        rgba(6,22,47,.20) 100%
    );

    z-index:2;

}

.programme-hero__container{

    position:relative;
    z-index:3;

    width:min(1400px,90%);
    margin:auto;

}

.programme-hero__content{

    max-width:720px;

}

.programme-hero__eyebrow{

    display:inline-flex;
    align-items:center;
    gap:14px;

    margin-bottom:32px;

    color:#d6ae4c;

    text-transform:uppercase;

    letter-spacing:.20em;

    font-size:.72rem;

    font-weight:700;

}

.programme-hero__eyebrow::before{

    content:"";

    width:45px;
    height:1px;

    background:#d6ae4c;

}

.programme-hero__title{

    margin:0;

    color:#fff;

    font-size:clamp(4rem,8vw,8rem);

    line-height:.88;

    letter-spacing:-.06em;

    font-weight:700;

}

.programme-hero__title span{

    display:block;

    color:#d6ae4c;

    font-family:Georgia,serif;

    font-style:italic;

    font-weight:400;

}

.programme-hero__subtitle{

    margin:40px 0 35px;

    color:#fff;

    font-size:clamp(1.6rem,2vw,2.4rem);

    line-height:1.35;

    font-weight:300;

}

.programme-hero__description{

    max-width:620px;

    margin:0;

    color:rgba(255,255,255,.82);

    font-size:1.08rem;

    line-height:1.9;

}

.programme-hero__actions{

    display:flex;
    gap:22px;
    flex-wrap:wrap;

    margin-top:55px;

}


/*===================================
BUTTONS
===================================*/

.programme-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:18px 42px;

    text-decoration:none;

    transition:.35s;

    font-weight:600;

    letter-spacing:.03em;

}

.programme-btn--gold{

    background:#d6ae4c;

    color:#06162f;

}

.programme-btn--gold:hover{

    background:#c79a2d;

    transform:translateY(-4px);

}

.programme-btn--outline{

    border:1px solid rgba(255,255,255,.35);

    color:#fff;

    backdrop-filter:blur(10px);

}

.programme-btn--outline:hover{

    background:#fff;

    color:#06162f;

}


/*===================================
SCROLL INDICATOR
===================================*/

.programme-hero__scroll{

    position:absolute;

    bottom:45px;
    left:50%;

    transform:translateX(-50%);

    z-index:3;

}

.programme-hero__scroll span{

    display:block;

    width:1px;
    height:70px;

    background:linear-gradient(
        to bottom,
        #d6ae4c,
        transparent
    );

    animation:scrollMove 2s infinite;

}


/*===================================
ANIMATIONS
===================================*/

@keyframes heroZoom{

from{

transform:scale(1);

}

to{

transform:scale(1.08);

}

}

@keyframes scrollMove{

0%{

opacity:0;
transform:translateY(-10px);

}

50%{

opacity:1;

}

100%{

opacity:0;
transform:translateY(18px);

}

}


/*===================================
TABLET
===================================*/

@media(max-width:991px){

.programme-hero{

min-height:700px;

}

.programme-hero__subtitle{

font-size:1.5rem;

}

}


/*===================================
MOBILE
===================================*/

@media(max-width:768px){

.programme-hero{

height:auto;
min-height:100vh;

padding:140px 0 90px;

}

.programme-hero__container{

width:calc(100% - 40px);

}

.programme-hero__title{

font-size:clamp(3.3rem,13vw,5rem);

}

.programme-hero__subtitle{

font-size:1.35rem;

margin:28px 0;

}

.programme-hero__description{

font-size:1rem;

line-height:1.8;

}

.programme-hero__actions{

flex-direction:column;

}

.programme-btn{

width:100%;

}

.programme-hero__scroll{

display:none;

}

}


/*==================================================
ABOUT THE PROGRAMME
==================================================*/

.programme-about{

    padding:140px 0;
    background:#f7f5ef;
    overflow:hidden;

}

.programme-about *{

    box-sizing:border-box;

}

.programme-about__container{

    width:min(1400px,92%);
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;

}

.programme-about__image{

    position:relative;
    overflow:hidden;

}

.programme-about__image::before{

    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        180deg,
        rgba(6,22,47,.05),
        rgba(6,22,47,.25)
    );

    z-index:2;

}

.programme-about__image img{

    display:block;
    width:100%;
    height:720px;

    object-fit:cover;

    transition:1.2s;

}

.programme-about__image:hover img{

    transform:scale(1.08);

}

.programme-about__eyebrow{

    display:inline-flex;
    align-items:center;
    gap:14px;

    color:#b58b2b;

    text-transform:uppercase;

    letter-spacing:.18em;

    font-size:.72rem;

    font-weight:700;

    margin-bottom:28px;

}

.programme-about__eyebrow::before{

    content:"";

    width:42px;
    height:1px;

    background:#d6ae4c;

}

.programme-about__title{

    margin:0 0 35px;

    color:#06162f;

    font-size:clamp(3rem,6vw,5.8rem);

    line-height:.95;

    letter-spacing:-.05em;

}

.programme-about__title span{

    display:block;

    color:#b58b2b;

    font-family:Georgia,serif;

    font-style:italic;

    font-weight:400;

}

.programme-about__description{

    margin:0;

    color:rgba(6,22,47,.70);

    font-size:1.06rem;

    line-height:1.95;

    max-width:650px;

}

.programme-about__highlights{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    margin-top:55px;

}

.programme-highlight{

    padding:30px;

    background:#fff;

    border-left:4px solid #d6ae4c;

    box-shadow:0 15px 40px rgba(6,22,47,.06);

    transition:.35s;

}

.programme-highlight:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 55px rgba(6,22,47,.10);

}

.programme-highlight h3{

    margin:0 0 15px;

    color:#06162f;

    font-size:1.4rem;

}

.programme-highlight p{

    margin:0;

    color:#666;

    line-height:1.8;

}


/*===================================
TABLET
===================================*/

@media(max-width:1100px){

.programme-about__container{

grid-template-columns:1fr;

gap:70px;

}

.programme-about__image img{

height:600px;

}

}


/*===================================
MOBILE
===================================*/

@media(max-width:768px){

.programme-about{

padding:90px 0;

}

.programme-about__container{

width:calc(100% - 40px);

}

.programme-about__image img{

height:420px;

}

.programme-about__highlights{

grid-template-columns:1fr;

margin-top:40px;

}

.programme-about__title{

font-size:clamp(2.6rem,11vw,4rem);

}

.programme-about__description{

font-size:1rem;

line-height:1.8;

}

}



/*==================================================
BUSINESS LAW HERO SECTION
==================================================*/

.business-law-hero,
.business-law-hero *,
.business-law-hero *::before,
.business-law-hero *::after {
    box-sizing: border-box;
}

.business-law-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 100vh;
    overflow: hidden;
    background: #06162f;
    isolation: isolate;
}


/*==================================================
BACKGROUND IMAGE
==================================================*/

.business-law-hero__media {
    position: absolute;
    inset: 0;
    z-index: -3;
}

.business-law-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% center;
    transform: scale(1.02);
    animation: businessLawHeroZoom 18s ease-in-out infinite alternate;
}


/*==================================================
OVERLAY
==================================================*/

.business-law-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(
            90deg,
            rgba(6, 22, 47, 0.98) 0%,
            rgba(6, 22, 47, 0.93) 34%,
            rgba(6, 22, 47, 0.68) 59%,
            rgba(6, 22, 47, 0.23) 100%
        ),
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.18) 0%,
            rgba(6, 22, 47, 0.08) 60%,
            rgba(6, 22, 47, 0.65) 100%
        );
}


/*==================================================
CONTAINER
==================================================*/

.business-law-hero__container {
    width: min(1400px, calc(100% - 10vw));
    margin: 0 auto;
    padding: 150px 0 100px;
}

.business-law-hero__content {
    max-width: 760px;
}


/*==================================================
EYEBROW
==================================================*/

.business-law-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    color: #d6ae4c;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.business-law-hero__eyebrow::before {
    content: "";
    width: 44px;
    height: 1px;
    background: #d6ae4c;
}


/*==================================================
TITLE
==================================================*/

.business-law-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(4.4rem, 8vw, 8.5rem);
    font-weight: 650;
    line-height: 0.85;
    letter-spacing: -0.07em;
}

.business-law-hero__title span {
    display: block;
    margin-top: 0.12em;
    color: #d6ae4c;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.055em;
}


/*==================================================
SUBTITLE
==================================================*/

.business-law-hero__subtitle {
    margin: 42px 0 28px;
    color: #ffffff;
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    font-weight: 300;
    line-height: 1.36;
    letter-spacing: -0.025em;
}


/*==================================================
DESCRIPTION
==================================================*/

.business-law-hero__description {
    max-width: 670px;
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.05rem;
    line-height: 1.9;
}


/*==================================================
BUTTONS
==================================================*/

.business-law-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 48px;
}

.business-law-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 0 36px;
    border: 1px solid transparent;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.035em;
    transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease,
        color 0.35s ease,
        box-shadow 0.35s ease;
}

.business-law-hero__button--primary {
    background: #d6ae4c;
    color: #06162f;
    box-shadow: 0 18px 45px rgba(214, 174, 76, 0.2);
}

.business-law-hero__button--primary:hover {
    transform: translateY(-4px);
    background: #b58b2b;
    box-shadow: 0 24px 55px rgba(214, 174, 76, 0.3);
}

.business-law-hero__button--secondary {
    border-color: rgba(255, 255, 255, 0.36);
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    backdrop-filter: blur(10px);
}

.business-law-hero__button--secondary:hover {
    transform: translateY(-4px);
    border-color: #ffffff;
    background: #ffffff;
    color: #06162f;
}


/*==================================================
DECORATIVE ACCENT
==================================================*/

.business-law-hero__accent {
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(28vw, 420px);
    height: 5px;
    background: #d6ae4c;
}


/*==================================================
ANIMATION
==================================================*/

@keyframes businessLawHeroZoom {

    from {
        transform: scale(1.02);
    }

    to {
        transform: scale(1.09);
    }

}


/*==================================================
TABLET
==================================================*/

@media (max-width: 1050px) {

    .business-law-hero {
        min-height: 850px;
    }

    .business-law-hero__container {
        width: min(92%, 850px);
        padding: 150px 0 100px;
    }

    .business-law-hero__media img {
        object-position: 62% center;
    }

    .business-law-hero__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(6, 22, 47, 0.97) 0%,
                rgba(6, 22, 47, 0.89) 52%,
                rgba(6, 22, 47, 0.47) 100%
            ),
            linear-gradient(
                180deg,
                rgba(6, 22, 47, 0.12),
                rgba(6, 22, 47, 0.65)
            );
    }

}


/*==================================================
MOBILE
==================================================*/

@media (max-width: 768px) {

    .business-law-hero {
        min-height: 100svh;
        align-items: flex-end;
    }

    .business-law-hero__container {
        width: calc(100% - 40px);
        padding: 145px 0 80px;
    }

    .business-law-hero__media img {
        object-position: 70% center;
    }

    .business-law-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(6, 22, 47, 0.43) 0%,
                rgba(6, 22, 47, 0.78) 42%,
                rgba(6, 22, 47, 0.99) 100%
            );
    }

    .business-law-hero__eyebrow {
        margin-bottom: 24px;
        font-size: 0.66rem;
        letter-spacing: 0.16em;
    }

    .business-law-hero__eyebrow::before {
        width: 30px;
    }

    .business-law-hero__title {
        font-size: clamp(3.6rem, 17vw, 5.4rem);
    }

    .business-law-hero__subtitle {
        margin: 32px 0 24px;
        font-size: 1.4rem;
    }

    .business-law-hero__description {
        font-size: 0.98rem;
        line-height: 1.75;
    }

    .business-law-hero__actions {
        flex-direction: column;
        margin-top: 38px;
    }

    .business-law-hero__button {
        width: 100%;
    }

}


/*==================================================
SMALL PHONES
==================================================*/

@media (max-width: 480px) {

    .business-law-hero__container {
        width: calc(100% - 30px);
        padding-bottom: 65px;
    }

    .business-law-hero__title {
        font-size: clamp(3.2rem, 18vw, 4.6rem);
    }

    .business-law-hero__subtitle {
        font-size: 1.22rem;
    }

    .business-law-hero__button {
        min-height: 56px;
        padding: 0 24px;
    }

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .business-law-hero__media img {
        animation: none;
    }

    .business-law-hero__button {
        transition: none;
    }

}


/*==================================================
ABOUT THE PROGRAMME
==================================================*/

.about-programme{

    padding:120px 0;
    background:#f7f5ef;

}

.about-programme__container{

    width:min(1400px,90%);
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;

}

.about-programme__image{

    overflow:hidden;

}

.about-programme__image img{

    width:100%;
    height:650px;
    object-fit:cover;

    transition:.7s;

}

.about-programme__image:hover img{

    transform:scale(1.05);

}

.about-programme__eyebrow{

    display:inline-flex;
    align-items:center;
    gap:14px;

    color:#b58b2b;

    text-transform:uppercase;

    letter-spacing:.18em;

    font-size:.72rem;

    font-weight:700;

}

.about-programme__eyebrow::before{

    content:"";

    width:45px;
    height:1px;

    background:#d6ae4c;

}

.about-programme__title{

    margin:28px 0;

    color:#06162f;

    font-size:clamp(3rem,5vw,5rem);

    line-height:.95;

    letter-spacing:-.05em;

}

.about-programme__title span{

    display:block;

    color:#b58b2b;

    font-family:Georgia,serif;

    font-style:italic;

    font-weight:400;

}

.about-programme__lead{

    margin-bottom:25px;

    color:#06162f;

    font-size:1.15rem;

    line-height:1.8;

}

.about-programme__content p{

    color:#555;

    line-height:1.9;

}

.about-programme__features{

    display:grid;

    gap:25px;

    margin-top:45px;

}

.feature{

    padding-left:28px;

    border-left:3px solid #d6ae4c;

}

.feature h4{

    margin-bottom:10px;

    color:#06162f;

    font-size:1.15rem;

}

.feature p{

    margin:0;

    color:#666;

}


/*=========================
RESPONSIVE
==========================*/

@media(max-width:991px){

.about-programme__container{

grid-template-columns:1fr;

gap:60px;

}

.about-programme__image img{

height:500px;

}

}

@media(max-width:768px){

.about-programme{

padding:80px 0;

}

.about-programme__container{

width:calc(100% - 40px);

}

.about-programme__image img{

height:380px;

}

.about-programme__title{

font-size:clamp(2.5rem,10vw,4rem);

}

}

/*==================================================
BUSINESS LAW — PROFESSIONAL JOURNEY
==================================================*/

.bl-journey,
.bl-journey *,
.bl-journey *::before,
.bl-journey *::after {
    box-sizing: border-box;
}

.bl-journey {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    background: #ffffff;
    color: #06162f;
}

.bl-journey::before {
    content: "LEGAL JOURNEY";
    position: absolute;
    top: 75px;
    right: -60px;
    color: rgba(6, 22, 47, 0.025);
    font-size: clamp(7rem, 14vw, 14rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.08em;
    white-space: nowrap;
    pointer-events: none;
}

.bl-journey__container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(320px, 0.72fr)
        minmax(620px, 1.28fr);
    gap: clamp(75px, 9vw, 150px);
    align-items: start;
    width: min(1400px, calc(100% - 10vw));
    margin: 0 auto;
}


/*==================================================
LEFT INTRODUCTION
==================================================*/

.bl-journey__intro {
    position: sticky;
    top: 120px;
    max-width: 520px;
}

.bl-journey__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    color: #b58b2b;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.bl-journey__eyebrow::before {
    content: "";
    width: 42px;
    height: 1px;
    background: #d6ae4c;
}

.bl-journey__title {
    margin: 0 0 30px;
    color: #06162f;
    font-size: clamp(3rem, 5vw, 5.7rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.bl-journey__title span {
    display: block;
    margin-top: 0.08em;
    color: #b58b2b;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-style: italic;
}

.bl-journey__description {
    max-width: 490px;
    margin: 0;
    color: rgba(6, 22, 47, 0.66);
    font-size: 1.04rem;
    line-height: 1.9;
}


/*==================================================
TIMELINE
==================================================*/

.bl-journey__timeline {
    position: relative;
    display: grid;
    gap: 28px;
    padding-left: 48px;
}

.bl-journey__timeline::before {
    content: "";
    position: absolute;
    top: 46px;
    bottom: 46px;
    left: 15px;
    width: 1px;
    background: rgba(6, 22, 47, 0.14);
}


/*==================================================
SEMESTER PANEL
==================================================*/

.bl-semester {
    position: relative;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    min-height: 295px;
    overflow: hidden;
    border: 1px solid rgba(6, 22, 47, 0.1);
    background: #f7f5ef;
    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.45s ease,
        border-color 0.35s ease,
        background-color 0.35s ease;
}

.bl-semester::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    height: 0;
    background: #d6ae4c;
    transition: height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.bl-semester::after {
    content: "";
    position: absolute;
    top: 44px;
    left: -41px;
    width: 16px;
    height: 16px;
    border: 4px solid #ffffff;
    border-radius: 50%;
    background: rgba(6, 22, 47, 0.24);
    box-shadow: 0 0 0 1px rgba(6, 22, 47, 0.14);
    transition:
        transform 0.35s ease,
        background-color 0.35s ease;
}

.bl-semester:hover,
.bl-semester--active {
    transform: translateY(-7px);
    border-color: rgba(181, 139, 43, 0.36);
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(6, 22, 47, 0.1);
}

.bl-semester:hover::before,
.bl-semester--active::before {
    height: 100%;
}

.bl-semester:hover::after,
.bl-semester--active::after {
    transform: scale(1.12);
    background: #d6ae4c;
}


/*==================================================
SEMESTER NUMBER
==================================================*/

.bl-semester__number {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 43px;
    border-right: 1px solid rgba(6, 22, 47, 0.1);
    color: #b58b2b;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}


/*==================================================
SEMESTER CONTENT
==================================================*/

.bl-semester__content {
    padding: 42px 45px 46px;
}

.bl-semester__label {
    display: inline-block;
    margin-bottom: 18px;
    color: #b58b2b;
    font-size: 0.69rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.bl-semester__content h3 {
    margin: 0 0 26px;
    color: #06162f;
    font-size: clamp(1.8rem, 2.5vw, 2.6rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.04em;
}

.bl-semester__content ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bl-semester__content li {
    position: relative;
    padding-left: 18px;
    color: rgba(6, 22, 47, 0.68);
    font-size: 0.97rem;
    line-height: 1.6;
}

.bl-semester__content li::before {
    content: "";
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d6ae4c;
}


/*==================================================
TABLET
==================================================*/

@media (max-width: 1050px) {

    .bl-journey {
        padding: 105px 0;
    }

    .bl-journey__container {
        grid-template-columns: 1fr;
        gap: 70px;
        width: min(92%, 850px);
    }

    .bl-journey__intro {
        position: relative;
        top: auto;
        max-width: 720px;
    }

}


/*==================================================
MOBILE
==================================================*/

@media (max-width: 768px) {

    .bl-journey {
        padding: 85px 0;
    }

    .bl-journey::before {
        display: none;
    }

    .bl-journey__container {
        width: calc(100% - 40px);
        gap: 55px;
    }

    .bl-journey__title {
        font-size: clamp(2.7rem, 12vw, 4rem);
    }

    .bl-journey__timeline {
        padding-left: 0;
    }

    .bl-journey__timeline::before,
    .bl-semester::after {
        display: none;
    }

    .bl-semester {
        grid-template-columns: 62px minmax(0, 1fr);
        min-height: auto;
    }

    .bl-semester__number {
        padding-top: 34px;
    }

    .bl-semester__content {
        padding: 34px 26px 38px;
    }

    .bl-semester__content h3 {
        font-size: 1.8rem;
    }

    .bl-semester__content ul {
        grid-template-columns: 1fr;
        gap: 11px;
    }

}


/*==================================================
SMALL PHONES
==================================================*/

@media (max-width: 480px) {

    .bl-journey__container {
        width: calc(100% - 30px);
    }

    .bl-semester {
        display: block;
    }

    .bl-semester__number {
        justify-content: flex-start;
        padding: 25px 22px 0;
        border-right: 0;
    }

    .bl-semester__content {
        padding: 18px 22px 32px;
    }

}


.legal-learning-editorial__chapter p{
    font-size:1.08rem;
    line-height:1.9;
    color:#2d3a4d;
    max-width:100%;
}

