/* SEDI / MAPS campaign hero.
   The student's original portrait is reused unchanged, with its correctly named
   JPEG alias. This file is loaded after site.css and does not alter course content. */
:root{--sedi-deep:#003d31;--sedi-forest:#00513a;--sedi-neon:#c7ff77;--sedi-bright:#02dc69;}
.site-header {
  position:absolute;
  inset:0 0 auto;
  width:100%;
  z-index:70;
  background:transparent;
  border-bottom:1px solid rgba(226,255,218,.22);
}
.site-header .header-inner {height:103px;}
.site-header .brand img {
  width:clamp(180px,17vw,235px);
  filter:brightness(0) invert(1);
}
.site-header .header-divider {background:rgba(235,255,220,.32);}
.site-header .header-course {color:#ebffdb;}
.site-header .header-nav a {color:#f4fff0;}
.site-header .header-nav a:hover {color:var(--sedi-neon);}
.site-header .header-cta {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:6px 7px 6px 19px;
  border-radius:999px;
  color:#003f31;
  background:var(--sedi-neon);
  border:1px solid #e0ffac;
  box-shadow:0 8px 26px rgba(0,30,17,.15);
}
.site-header .header-cta span {
  display:grid;
  place-items:center;
  padding:0;
  width:33px;
  height:33px;
  border-radius:50%;
  background:#004b38;
  color:var(--sedi-neon);
  font-size:19px;
}
.site-header .header-cta:hover{color:#003f31;background:#e1ffae;}
.sedi-hero {
  isolation:isolate;
  min-height:820px;
  background:radial-gradient(ellipse at 84% 18%,#05ee63,#00884c 59%,#003c31 100%);
  color:white;
}
.sedi-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,22,17,.24) 0%,transparent 24%,transparent 70%,rgba(0,31,19,.34) 100%);
  pointer-events:none;
}
.sedi-hero-photo {
  position:absolute;
  inset:0 0 0 auto;
  z-index:-2;
  width:77%;
  height:100%;
  overflow:hidden;
  background:#00b65a url("../assets/sedi-welcome.jpg") 49% 33% / cover no-repeat;
}
.sedi-hero-photo img {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:49% 33%;
  filter:saturate(1.23) contrast(1.06);
}
.sedi-hero-curve {
  pointer-events:none;
  position:absolute;
  z-index:-1;
  left:-3.5%;
  top:-11%;
  bottom:-11%;
  width:70%;
  background:
    radial-gradient(ellipse at 77% 61%,rgba(0,119,71,.48),transparent 61%),
    linear-gradient(116deg,#002d2b 2%,#004335 54%,#075e3f 100%);
  clip-path:ellipse(83% 91% at 9% 50%);
}
.sedi-hero-orbit-line {
  pointer-events:none;
  position:absolute;
  z-index:1;
  top:-14%;
  left:46.5%;
  width:32%;
  height:124%;
  border:1px solid rgba(213,255,149,.51);
  border-radius:50%;
  transform:rotate(8deg);
}
.sedi-hero-3d {
  pointer-events:none;
  position:absolute;
  z-index:3;
  top:clamp(138px,13vw,215px);
  right:clamp(-36px,1.2vw,24px);
  width:clamp(210px,22vw,330px);
  height:auto;
  max-width:none;
  transform:rotate(-15deg);
  filter:hue-rotate(-9deg) saturate(1.35) drop-shadow(0 22px 27px rgba(0,31,18,.32));
  animation:sediFloat 7.4s ease-in-out infinite;
}
.sedi-hero-spark {
  pointer-events:none;
  position:absolute;
  z-index:3;
  top:20%;
  left:49%;
  font:400 clamp(58px,7vw,112px)/1 var(--outfit);
  color:#cfff78;
  transform:rotate(-17deg);
  text-shadow:0 9px 22px rgba(0,50,27,.3);
}
.sedi-hero-chapter {
  pointer-events:none;
  position:absolute;
  z-index:3;
  top:55%;
  left:47%;
  font:900 clamp(118px,15vw,245px)/.82 var(--outfit);
  letter-spacing:-.13em;
  color:#ceff7b;
  -webkit-text-stroke:1px rgba(243,255,200,.75);
  transform:rotate(-13deg);
  text-shadow:
    2px 3px 0 #aaf15b,
    5px 7px 0 #79bf3e,
    8px 11px 0 #379d48,
    12px 15px 0 #087644,
    19px 27px 21px rgba(0,35,24,.38);
}
.sedi-hero-maps {
  position:absolute;
  top:135px;
  right:clamp(22px,4.25vw,72px);
  z-index:8;
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 6px 5px 5px;
  border:1px solid #e3ffb4;
  border-radius:999px;
  background:#c7ff78;
  color:#084634;
  font:900 11px/1 var(--outfit);
  letter-spacing:.11em;
  box-shadow:0 13px 29px rgba(0,52,29,.23);
  white-space:nowrap;
}
.sedi-hero-maps strong{font-weight:900;}
.sedi-maps-star,.sedi-maps-arrow {
  display:grid;
  place-items:center;
  border-radius:50%;
  width:31px;
  height:31px;
  flex:none;
}
.sedi-maps-star{background:#034b37;color:#c6ff79;font-size:19px;}
.sedi-maps-arrow{border:1px solid rgba(3,70,45,.54);font-size:20px;}
.sedi-hero .hero-layout {
  display:flex;
  align-items:center;
  position:relative;
  z-index:4;
  min-height:clamp(810px,91svh,980px);
}
.sedi-hero .hero-copy {
  width:min(62%,755px);
  max-width:755px;
  padding:188px 0 76px;
  margin:0;
  position:relative;
}
.sedi-hero .hero-kicker {
  display:flex;
  width:max-content;
  max-width:100%;
  gap:12px;
  border:1px solid rgba(212,255,169,.64);
  padding:10px 15px;
  background:rgba(0,65,46,.7);
  backdrop-filter:blur(6px);
  border-radius:999px;
  color:#e9ffdd;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  white-space:normal;
}
.sedi-hero .kicker-line{width:24px;height:1px;flex:none;background:#c4ff85;}
.sedi-hero .hero-eyebrow{
  display:flex;
  width:max-content;
  max-width:100%;
  margin-top:28px;
  color:#dcffb4;
  font-size:11px;
  letter-spacing:.16em;
  font-weight:900;
}
.sedi-hero .eyebrow-star{font-size:18px;color:#c9ff80;}
.sedi-hero h1 {
  font-size:clamp(58px,6.3vw,103px);
  font-weight:900;
  letter-spacing:-.077em;
  line-height:.97;
  margin:20px 0 26px;
  white-space:normal;
  text-wrap:balance;
  color:white;
  text-shadow:0 10px 35px rgba(0,35,26,.18);
}
.sedi-hero h1 em {
  color:#c8ff78;
  font-style:normal;
}
.sedi-hero .hero-period{color:#fff;}
/* Give the official course name the same hero-level priority as English V. */
.sedi-hero h1.sedi-course-title {
  max-width:755px;
  margin:18px 0 23px;
  text-wrap:initial;
}
.sedi-hero .sedi-title-main {
  display:block;
  color:#fff;
  font-size:clamp(64px,6.75vw,101px);
  font-weight:900;
  letter-spacing:-.083em;
  line-height:.91;
}
.sedi-hero .sedi-title-main em{color:#c8ff78;font-style:normal;}
.sedi-hero .sedi-title-sub {
  display:block;
  margin-top:19px;
  color:#fff;
  font-size:clamp(28px,2.95vw,42px);
  font-weight:800;
  letter-spacing:-.055em;
  line-height:1.09;
  text-wrap:balance;
}
.sedi-hero .sedi-title-acronym{color:#f2ffe7;}
.sedi-hero .sedi-title-sub strong{color:#c8ff78;font-weight:900;}
@media(max-width:1200px){
  .sedi-hero .sedi-title-main{font-size:clamp(57px,6.2vw,85px);}
  .sedi-hero .sedi-title-sub{font-size:clamp(26px,2.8vw,38px);}
}
@media(max-width:991px){
  .sedi-hero .sedi-title-main{font-size:clamp(55px,7.8vw,78px);}
}
@media(max-width:700px){
  .sedi-hero h1.sedi-course-title{margin:14px 0 19px;}
  .sedi-hero .sedi-title-main{font-size:clamp(46px,10.6vw,68px);line-height:.94;}
  .sedi-hero .sedi-title-sub{font-size:clamp(23px,5vw,32px);line-height:1.13;margin-top:14px;}
}
@media(max-width:390px){
  .sedi-hero .sedi-title-main{font-size:clamp(41px,10.2vw,46px);}
  .sedi-hero .sedi-title-sub{font-size:22px;}
}

.sedi-hero .hero-description {
  color:#e9f8e6;
  font-size:clamp(15px,1.38vw,19px);
  line-height:1.55;
  font-weight:500;
  max-width:555px;
  margin-bottom:0;
  text-shadow:0 2px 10px rgba(0,28,19,.1);
}
.sedi-hero .hero-actions{margin-top:32px;gap:20px;}
.sedi-hero .action-primary{
  background:#c8ff7c;
  border:1px solid #dcffb5;
  color:#03422f;
  padding:7px 7px 7px 23px;
  gap:29px;
  border-radius:999px;
  box-shadow:0 12px 27px rgba(0,38,20,.23);
}
.sedi-hero .action-primary:hover {color:#03422f;background:#e0ffb4;}
.sedi-hero .action-arrow {
  color:#c8ff80;
  background:#004631;
  border-radius:50%;
  height:41px;
  width:41px;
  font-size:21px;
  transition:transform .2s;
}
.sedi-hero .action-primary:hover .action-arrow{transform:translate(2px,-2px);}
.sedi-hero .action-secondary{color:#e6ffda;}
.sedi-hero .action-secondary:hover{color:#c8ff80;}
.sedi-hero .hero-foot{
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:55px;
  font-size:9px;
  color:#d1e6d1;
  letter-spacing:.11em;
}
.sedi-hero .hero-foot > span:first-child{color:#d1ffa0;}
.sedi-hero .hero-foot-line{background:#a6dba9;width:30px;height:1px;}
.sedi-hero-stamp {
  position:absolute;
  right:clamp(22px,4.25vw,72px);
  bottom:115px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:15px;
  padding:11px 11px 11px 16px;
  border:1px solid rgba(203,255,155,.65);
  border-radius:999px;
  color:#f6ffed;
  background:rgba(1,65,43,.8);
  backdrop-filter:blur(10px);
  font:900 10px var(--outfit);
  letter-spacing:.085em;
}
.sedi-hero-stamp strong{color:#c4ff84;font-weight:900;}
.sedi-hero-stamp > span:last-child{
  width:33px;height:33px;
  border:1px solid #c6ff85;
  display:grid;place-items:center;
  border-radius:50%;font-size:20px;
}
.sedi-hero .hero-bottom {
  position:relative;
  z-index:7;
  background:#003b2f;
  border-top:1px solid rgba(211,255,182,.3);
}
.sedi-hero .hero-bottom-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  min-height:76px;
  color:#e4ffce;
}
.sedi-hero .hero-bottom-message {font:800 10px/1.45 var(--outfit);letter-spacing:.09em;}
.sedi-hero .hero-bottom-message strong{color:#c3fa85;font-weight:900;}
.sedi-hero .hero-bottom-maps {
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:none;
  border:1px solid rgba(190,249,148,.48);
  border-radius:999px;
  background:rgba(14,91,60,.84);
  padding:7px 12px 7px 7px;
  color:#f4ffe9;
  white-space:nowrap;
  font:900 9px var(--outfit);
  letter-spacing:.05em;
}
.sedi-hero .hero-bottom-maps b{
  display:grid;place-items:center;
  width:25px;height:25px;border-radius:50%;
  background:#c6ff7d;color:#064a33;font:900 9px var(--outfit);
  margin-left:5px;
}
.sedi-hero .hero-bottom-maps b:first-child{margin-left:0;}
.sedi-hero .hero-bottom-maps i{font-style:normal;color:#b0ed9d;}
@keyframes sediFloat{
  0%,100%{transform:rotate(-15deg) translateY(0)}
  50%{transform:rotate(-10deg) translateY(-12px)}
}
@media(max-width:1200px){
  .sedi-hero .hero-copy{width:min(65%,670px);}
  .sedi-hero h1{font-size:clamp(58px,6.35vw,84px);}
  .sedi-hero-curve{width:73%;left:-5%;}
  .sedi-hero-3d{right:-35px;width:clamp(190px,20vw,260px);}
  .sedi-hero-chapter{left:50%;font-size:clamp(125px,13vw,190px);}
  .sedi-hero-stamp>span:first-child{display:none;}
  .sedi-hero .hero-bottom-message{max-width:430px;}
}
@media(max-width:991px){
  .site-header .header-inner{height:82px;}
  .site-header .brand img{width:180px;}
  .site-header .header-nav,.site-header .header-cta,.site-header .header-divider{display:none;}
  .site-header .header-course{margin-left:auto;color:#f1ffe5;}
  .site-header .menu-toggle{margin-left:0;border:1px solid #b8f58c7d;background:#064d3b;}
  .site-header .mobile-nav:not([hidden]){background:#043d31;border-color:#7fb77a88;box-shadow:0 24px 34px #00291c57;}
  .site-header .mobile-nav a{color:#f2ffe5;border-bottom:1px solid #b7ec9257;}
  .sedi-hero-maps{top:107px;}
  .sedi-hero .hero-layout{min-height:790px;}
  .sedi-hero .hero-copy{padding-top:185px;width:68%;}
  .sedi-hero-photo{width:80%;}
  .sedi-hero-photo img{object-position:43% 30%;}
  .sedi-hero-curve{width:77%;}
  .sedi-hero-3d{top:200px;width:205px;right:-40px;}
  .sedi-hero-chapter{left:54%;top:58%;font-size:129px;}
  .sedi-hero-orbit-line{left:49%;}
  .sedi-hero-stamp{bottom:105px;}
  .sedi-hero .hero-bottom-inner{gap:14px;}
  .sedi-hero .hero-bottom-maps{font-size:8px;gap:3px;padding-right:8px;}
  .sedi-hero .hero-bottom-maps b{height:20px;width:20px;margin-left:3px;}
}
@media(max-width:700px){
  .site-header .header-inner{height:77px;}
  .site-header .brand img{width:155px;}
  .site-header .header-course{font-size:8px;max-width:112px;}
  .sedi-hero{min-height:0;}
  .sedi-hero .hero-layout{min-height:860px;display:flex;align-items:flex-end;}
  .sedi-hero-photo{inset:0 0 auto;width:100%;height:61%;background-position:54% 15%;}
  .sedi-hero-photo img{object-position:54% 15%;filter:saturate(1.2) contrast(1.06);}
  .sedi-hero::before{
    background:linear-gradient(180deg,rgba(0,33,22,.35) 0%,transparent 23%,transparent 42%,rgba(0,44,28,.18) 57%,#003e30 90%);
  }
  .sedi-hero-curve{
    left:0;top:auto;bottom:0;width:100%;height:63%;
    clip-path:none;border-radius:0;
    background:linear-gradient(180deg,transparent 0%,rgba(0,58,39,.55) 13%,rgba(0,62,43,.95) 37%,#00392d 74%);
  }
  .sedi-hero-maps{top:100px;right:auto;left:22px;font-size:9px;gap:6px;}
  .sedi-maps-star,.sedi-maps-arrow{width:26px;height:26px;font-size:16px;}
  .sedi-hero-orbit-line{display:none;}
  .sedi-hero-3d{top:171px;right:-46px;width:clamp(145px,37vw,195px);opacity:.94;}
  .sedi-hero-spark{top:34%;left:6%;font-size:50px;}
  .sedi-hero-chapter{top:43%;left:auto;right:20px;font-size:90px;opacity:.55;}
  .sedi-hero .hero-copy{
    width:100%;max-width:620px;
    padding:365px 0 42px;
    margin:0;
  }
  .sedi-hero .hero-kicker{font-size:8px;letter-spacing:.1em;padding:8px 12px;}
  .sedi-hero .hero-eyebrow{margin-top:25px;font-size:9px;letter-spacing:.1em;}
  .sedi-hero h1{font-size:clamp(43px,10.7vw,68px);line-height:.99;margin:13px 0 18px;letter-spacing:-.069em;}
  .sedi-hero .hero-description{font-size:14px;line-height:1.45;max-width:480px;}
  .sedi-hero .hero-actions{gap:17px;margin-top:24px;}
  .sedi-hero .hero-foot{margin-top:38px;flex-wrap:wrap;font-size:8px;}
  .sedi-hero-stamp{display:none;}
  .sedi-hero .hero-bottom-inner{min-height:70px;}
  .sedi-hero .hero-bottom-message{font-size:9px;max-width:none;}
  .sedi-hero .hero-bottom-maps{display:none;}
}
@media(max-width:390px){
  .site-header .header-course{display:none;}
  .site-header .menu-toggle{margin-left:auto;}
  .sedi-hero .hero-layout{min-height:850px;}
  .sedi-hero .hero-copy{padding-top:345px;}
  .sedi-hero h1{font-size:clamp(39px,10.7vw,46px);}
  .sedi-hero .hero-kicker{font-size:7px;}
  .sedi-hero-3d{right:-54px;width:143px;}
  .sedi-hero .hero-actions{align-items:flex-start;}
  .sedi-hero .hero-foot{margin-top:30px;}
}
@media(prefers-reduced-motion:reduce){
  .sedi-hero-3d{animation:none;}
  .sedi-hero .action-arrow{transition:none;}
}
