/* =========================================================
   Student Externships — editorial layout (ext-*)
   Brand: ink #363587 · marigold #f5c307
   ========================================================= */

body.externships-page{
  background:#faf9f6;
}

.externships-page .ext-intro,
.externships-page .ext-real,
.externships-page .ext-yep,
.externships-page .ext-explore,
.externships-page .ext-wider,
.externships-page .ext-cta{
  position:relative;
  overflow:hidden;
  scroll-margin-top:96px;
}
.externships-page .ext-wider{
  overflow:visible;
}

.ext-kicker{
  display:inline-block;
  margin:0 0 12px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ext-kicker.on-dark{ color:rgba(255,255,255,.9); }

.ext-center{
  max-width:46rem;
  margin:0 auto 28px;
  text-align:center;
}
.ext-copy h1,
.ext-copy h2,
.ext-yep-copy h2,
.ext-cta-copy h2{
  margin:0 0 14px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.015em;
}
.ext-copy h1{
  font-size:clamp(2rem, 4vw, 3.1rem);
}
.ext-copy h2,
.ext-yep-copy h2,
.ext-cta-copy h2{
  font-size:clamp(1.8rem, 3.2vw, 2.55rem);
}
.ext-copy p,
.ext-points p,
.ext-explore p,
.ext-yep-copy p{
  margin:0 0 12px;
  color:rgb(33, 37, 41);
  line-height:1.7;
}
.ext-copy p:last-child,
.ext-points p:last-child,
.ext-yep-copy p:last-child{ margin-bottom:0; }

.ext-split{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:clamp(28px, 4.5vw, 64px);
  align-items:center;
}
.ext-split-media-first{
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
}
.ext-copy,
.ext-media{ min-width:0; }

.ext-frame{
  position:relative;
  z-index:1;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eceaf5;
}
.ext-frame img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
  display:block;
}

.ext-intro{
  padding:48px 0 40px;
  background:#fff;
}
.ext-intro .ext-media{ position:relative; }
.ext-intro .ext-frame{
  box-shadow:14px 14px 0 var(--marigold);
}
.ext-intro .ext-copy .btn{ margin-top:10px; }
.ext-media-label{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  margin:0;
  padding:14px 16px;
  background:var(--marigold);
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:.88rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.01em;
}

.ext-real{
  padding:42px 0;
  background:#faf9f6;
}
.ext-points{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 22px;
}
.ext-points li{
  padding-top:14px;
  border-top:3px solid var(--marigold);
}
.ext-points strong{
  display:block;
  margin:0 0 6px;
  color:rgb(52, 50, 114);
  font-size:1.02rem;
  font-weight:700;
}

.ext-yep{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  color:#fff;
}
.ext-yep-media{
  position:absolute;
  inset:0;
  background:#2a2968;
}
.ext-yep-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.ext-yep-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(42,41,104,.82) 0%, rgba(54,53,135,.5) 55%, rgba(54,53,135,.28) 100%),
    linear-gradient(180deg, rgba(42,41,104,.1) 0%, rgba(42,41,104,.35) 100%);
}
.ext-yep-shell{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:clamp(36px, 5vw, 56px) clamp(16px, 4vw, 48px) 36px;
  box-sizing:border-box;
}
.ext-yep-inner{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:clamp(20px, 3vw, 40px);
  align-items:center;
}
.ext-yep-copy{ max-width:40rem; }
.ext-yep-copy h2,
.ext-cta-copy h2{ color:#fff; }
.ext-yep-copy p{
  color:rgba(255,255,255,.9);
}
.ext-yep-video{
  min-width:0;
  overflow:hidden;
  background:#1c1b4a;
  box-shadow:14px 14px 0 var(--marigold);
}
.ext-yep-video iframe{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  border:0;
}
.ext-yep-explore{
  margin-top:28px;
}
.ext-yep-explore .ext-center{
  margin-bottom:14px;
  text-align:center;
}
.ext-yep-explore .ext-kicker.on-dark{
  color:var(--marigold);
  margin:0;
}
.ext-yep-explore .ext-explore-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
.ext-yep-explore .ext-explore-grid li{
  margin:0;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:0;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 14px 28px -22px rgba(0,0,0,.5);
}
.ext-yep-explore .ext-explore-grid figure{
  margin:0;
  aspect-ratio:3 / 2;
  background:#eceaf5;
  overflow:hidden;
}
.ext-yep-explore .ext-explore-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.ext-yep-explore .ext-explore-grid h3{
  margin:0;
  padding:10px 12px 4px;
  color:var(--ink);
  font-family:Helvetica, Arial, sans-serif;
  font-size:.92rem;
  font-weight:700;
  line-height:1.25;
}
.ext-yep-explore .ext-explore-grid p{
  margin:0;
  padding:0 12px 12px;
  color:#5b5b66;
  font-size:.78rem;
  line-height:1.4;
}

.ext-explore{
  padding:48px 0 52px;
  background:#fff;
}
.ext-explore-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.ext-explore-grid li{
  margin:0;
  background:#faf9f6;
  border-top:3px solid var(--marigold);
}
.ext-explore-grid figure{
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  aspect-ratio:16 / 10;
  background:#eceaf5;
}
.ext-explore-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.ext-explore-grid h3{
  margin:16px 16px 8px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:1.08rem;
  font-weight:700;
}
.ext-explore-grid p{
  margin:0 16px 18px;
}

.ext-wider{
  padding:42px 0;
  background:#faf9f6;
}
.ext-gallery{
  position:relative;
  margin-top:36px;
  padding:0 52px;
}
.ext-gallery-viewport{
  overflow:hidden;
  width:100%;
}
.ext-gallery-track{
  display:flex;
  gap:18px;
  will-change:transform;
  transition:transform .6s ease;
}
.ext-gallery-card{
  flex:0 0 auto;
  min-width:0;
  background:#fff;
  box-shadow:0 3px 12px rgba(0,0,0,.1);
}
.ext-gallery-media{
  margin:0;
  background:#1c1b4a;
  aspect-ratio:16 / 9;
  overflow:hidden;
}
.ext-gallery-media iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.ext-gallery-copy{
  padding:16px 18px 18px;
}
.ext-gallery-copy h3{
  margin:0 0 4px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:1.05rem;
  font-weight:700;
  line-height:1.3;
}
.ext-gallery-copy p{
  margin:0;
  color:rgb(33, 37, 41);
  font-size:.92rem;
  line-height:1.45;
}
.ext-gallery-nav{
  position:absolute;
  top:42%;
  z-index:2;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:50%;
  background:var(--marigold);
  color:var(--ink);
  cursor:pointer;
  box-shadow:0 6px 16px rgba(54,53,135,.18);
}
.ext-gallery-nav:hover,
.ext-gallery-nav:focus-visible{
  background:#ffd84a;
}
.ext-gallery-nav:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:3px;
}
.ext-gallery-prev{ left:0; }
.ext-gallery-next{ right:0; }

.ext-cta{
  padding:clamp(48px, 7vw, 88px) 0;
  color:#fff;
  background:
    radial-gradient(ellipse 50% 60% at 100% 0%, rgba(245,195,7,.16), transparent 55%),
    #363587;
}
.ext-cta-inner{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:clamp(24px, 4vw, 48px);
  align-items:center;
}
.ext-cta-copy > p:not(.ext-kicker){
  margin:0 0 14px;
  color:rgba(255,255,255,.9);
}
.ext-cta-actions{ margin-top:12px; }
.ext-cta-visual{
  min-width:0;
}
.ext-cta-photo{
  margin:0;
  background:transparent;
}
.ext-cta-photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(440px, 62vh);
  object-fit:contain;
  object-position:center center;
}
.ext-cta-card{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:1;
  margin:0;
  max-width:16rem;
  padding:22px 20px 18px;
  background:var(--marigold);
  color:rgb(52, 50, 114);
}
.ext-cta-card .ext-cta-label{
  margin:0;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:1.35rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
}

@media (max-width:980px){
  .ext-split,
  .ext-split-media-first,
  .ext-explore-grid,
  .ext-cta-inner,
  .ext-yep-inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .ext-yep-explore .ext-explore-grid{
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  .ext-intro .ext-media{ order:2; max-width:520px; }
  .ext-intro .ext-copy{ order:1; }
  .ext-points{ grid-template-columns:1fr 1fr; }
  .ext-yep-video{ box-shadow:10px 10px 0 var(--marigold); }
  .ext-cta-card{ justify-self:start; }
}

@media (max-width:640px){
  .ext-intro,
  .ext-real,
  .ext-wider{ padding:30px 0; }
  .ext-explore{ padding:34px 0 38px; }
  .ext-points,
  .ext-explore-grid,
  .ext-yep-explore .ext-explore-grid{ grid-template-columns:1fr; }
  .ext-gallery{ padding:0 44px; }
  .ext-gallery-nav{
    width:38px;
    height:38px;
  }
  .ext-intro .ext-frame{ box-shadow:10px 10px 0 var(--marigold); }
  .ext-yep-inner,
  .ext-cta{ padding:36px 0 40px; }
}
