
/* Source: css/style.css */
:root{
  --red:#e10600;
  --ink:#0b0b0d;
  --paper:#fff;
  --muted:#6d6d72;
  --line:#e9e9ea
}
*{
  box-sizing:border-box
}
body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.65
}
a{
  text-decoration:none
}
.nav-top{
  background:#050505
}
.brand-logos img{
  max-height:38px;
  width:auto;
  object-fit:contain
}
.brand-logos img:first-child{
  max-height:43px
}
.navbar{
  border-bottom:1px solid #242424
}
.navbar .nav-link{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:400;
  color:#fff!important
}
.nav-link:hover{
  color:#ff5854!important
}
.btn-red{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
  border-radius:0;
  padding:.8rem 1.2rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase
}
.btn-red:hover{
  background:#b90500;
  border-color:#b90500;
  color:#fff
}
.btn-outline-light,.btn-outline-dark{
  border-radius:0;
  padding:.8rem 1.2rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase
}
.eyebrow{
  color:var(--red);
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em
}
.hero{
  min-height:720px;
  color:#fff;
  background:linear-gradient(90deg,rgba(0,0,0,.88) 5%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.13)),url('img/ramp-walk2.webp') center/cover
}
.hero h1{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(3.1rem,7vw,6.25rem);
  line-height:.95;
  max-width:850px
}
.hero p{
  max-width:630px;
  font-size:1.07rem
}
.section{
  padding:6.5rem 0
}
.section-title{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(2.25rem,4vw,4rem);
  line-height:1.05
}
.red-rule{
  width:55px;
  height:4px;
  background:var(--red);
  margin:1.5rem 0
}
.image-frame{
  position:relative
}
.image-frame img{
  width:100%;
  height:100%;
  min-height:380px;
  object-fit:cover
}
.image-frame:after{
  content:'';
  position:absolute;
  width:48%;
  height:16px;
  background:var(--red);
  bottom:-16px;
  right:0
}
.feature-card{
  border:1px solid var(--line);
  padding:2rem;
  height:100%;
  transition:.25s
}
.feature-card:hover{
  border-color:var(--red);
  transform:translateY(-5px)
}
.feature-icon{
  color:var(--red);
  font-size:1.75rem
}
.course-tile{
  position:relative;
  overflow:hidden;
  height:380px;
  color:#fff
}
.course-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.5s
}
.course-tile:hover img{
  transform:scale(1.06)
}
.course-tile:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 70%)
}
.course-tile .tile-content{
  position:absolute;
  z-index:1;
  left:1.75rem;
  right:1.75rem;
  bottom:1.5rem
}
.dark-section{
  background:#0b0b0d;
  color:#fff
}
.number{
  font-family:'Poppins',Arial,sans-serif;
  color:var(--red);
  font-size:3rem;
  line-height:1
}
.page-hero{
  padding:10rem 0 5rem;
  color:#fff;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.35)),url('img/institute3.webp') center/cover
}
.page-hero h1{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:1
}
.course-detail{
  border-bottom:1px solid var(--line);
  padding:4.5rem 0
}
.course-detail img{
  width:100%;
  height:310px;
  object-fit:cover
}
.course-detail h2{
  font-family:'Poppins',Arial,sans-serif;
  font-size:2.4rem
}
.list-check{
  list-style:none;
  padding-left:0
}
.list-check li{
  padding:.35rem 0 .35rem 1.7rem;
  position:relative
}
.list-check li:before{
  content:'✓';
  color:var(--red);
  font-weight:800;
  position:absolute;
  left:0
}
.admissions-panel{
  background:var(--red);
  color:#fff;
  padding:3.5rem
}
.admissions-panel h2{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(2.2rem,4vw,3.5rem)
}
footer{
  background:#050505;
  color:#d0d0d0
}
footer a{
  color:#d0d0d0;
  font-size:.92rem
}
footer a:hover{
  color:#fff
}
.footer-logo{
  max-height:44px;
  max-width:170px;
  object-fit:contain
}
.social a{
  display:inline-grid;
  place-items:center;
  border:1px solid #555;
  width:34px;
  height:34px;
  margin-right:5px
}
.form-control{
  border-radius:0;
  padding:.85rem;
  border-color:#ccc
}
.form-control:focus{
  box-shadow:none;
  border-color:var(--red)
}
@media(max-width:991px){
  .hero{
    min-height:650px
  }
  .brand-logos img{
    max-height:27px
  }
  .brand-logos img:first-child{
    max-height:31px
  }
  .section{
    padding:4.5rem 0
  }
  .navbar-collapse{
    padding:1rem 0
  }
  .course-tile{
    height:310px
  }

}

:root{
  --red:#e10600;
  --ink:#0b0b0d;
  --paper:#fff;
  --muted:#6d6d72;
  --line:#e9e9ea
}
*{
  box-sizing:border-box
}
body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.65
}
a{
  text-decoration:none
}
.nav-top{
  background:#050505
}
.brand-logos img{
  max-height:38px;
  width:auto;
  object-fit:contain
}
.brand-logos img:first-child{
  max-height:43px
}
.navbar{
  border-bottom:1px solid #242424
}
.navbar .nav-link{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:400;
  color:#fff!important;
  white-space:nowrap;
  line-height:1.2
}
.navbar-nav{
  align-items:center
}
.navbar-nav>li{
  display:flex;
  align-items:center
}
.nav-link:hover{
  color:#ff5854!important
}
.btn-red{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
  border-radius:0;
  padding:.8rem 1.2rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap
}
.btn-red:hover{
  background:#b90500;
  border-color:#b90500;
  color:#fff
}
.btn-outline-light,.btn-outline-dark{
  border-radius:0;
  padding:.8rem 1.2rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase
}
.eyebrow{
  color:var(--red);
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em
}
.hero{
  min-height:720px;
  color:#fff;
  background:linear-gradient(90deg,rgba(0,0,0,.88) 5%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.13)),url('img/ramp-walk2.webp') center/cover
}
.hero h1{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(3.1rem,7vw,6.25rem);
  line-height:.95;
  max-width:850px
}
.hero p{
  max-width:630px;
  font-size:1.07rem
}
.section{
  padding:6.5rem 0
}
.section-title{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(2.25rem,4vw,4rem);
  line-height:1.05
}
.red-rule{
  width:55px;
  height:4px;
  background:var(--red);
  margin:1.5rem 0
}
.image-frame{
  position:relative
}
.image-frame img{
  width:100%;
  height:100%;
  min-height:380px;
  object-fit:cover
}
.image-frame:after{
  content:'';
  position:absolute;
  width:48%;
  height:16px;
  background:var(--red);
  bottom:-16px;
  right:0
}
.feature-card{
  border:1px solid var(--line);
  padding:2rem;
  height:100%;
  transition:.25s
}
.feature-card:hover{
  border-color:var(--red);
  transform:translateY(-5px)
}
.feature-icon{
  color:var(--red);
  font-size:1.75rem
}
.course-tile{
  position:relative;
  overflow:hidden;
  height:380px;
  color:#fff
}
.course-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.5s
}
.course-tile:hover img{
  transform:scale(1.06)
}
.course-tile:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 70%)
}
.course-tile .tile-content{
  position:absolute;
  z-index:1;
  left:1.75rem;
  right:1.75rem;
  bottom:1.5rem
}
.dark-section{
  background:#0b0b0d;
  color:#fff
}
.number{
  font-family:'Poppins',Arial,sans-serif;
  color:var(--red);
  font-size:3rem;
  line-height:1
}
.page-hero{
  padding:10rem 0 5rem;
  color:#fff;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.35)),url('img/institute3.webp') center/cover
}
.page-hero h1{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:1
}
.course-detail{
  border-bottom:1px solid var(--line);
  padding:4.5rem 0
}
.course-detail img{
  width:310px;
  height:310px;
  object-fit:cover
}
.course-detail h2{
  font-family:'Poppins',Arial,sans-serif;
  font-size:2.4rem
}
.list-check{
  list-style:none;
  padding-left:0
}
.list-check li{
  padding:.35rem 0 .35rem 1.7rem;
  position:relative
}
.list-check li:before{
  content:'✓';
  color:var(--red);
  font-weight:800;
  position:absolute;
  left:0
}
.admissions-panel{
  background:var(--red);
  color:#fff;
  padding:3.5rem
}
.admissions-panel h2{
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(2.2rem,4vw,3.5rem)
}
footer{
  background:#050505;
  color:#d0d0d0
}
footer a{
  color:#d0d0d0;
  font-size:.92rem
}
footer a:hover{
  color:#fff
}
.footer-logo{
  max-height:44px;
  max-width:170px;
  object-fit:contain
}
.social a{
  display:inline-grid;
  place-items:center;
  border:1px solid #555;
  width:34px;
  height:34px;
  margin-right:5px
}
.form-control{
  border-radius:0;
  padding:.85rem;
  border-color:#ccc
}
.form-control:focus{
  box-shadow:none;
  border-color:var(--red)
}
@media(min-width:1400px){
  .navbar-nav{
    align-items:center
  }
  .navbar-nav>li{
    display:flex;
    align-items:center
  }

}
@media(max-width:1399.98px){
  .navbar{
    min-height:80px
  }
  .brand-logos{
    max-width:calc(100% - 72px);
    gap:.75rem!important
  }
  .brand-logos img{
    max-height:31px
  }
  .brand-logos img:first-child{
    max-height:36px
  }
  .offcanvas-xxl{
    width:min(86vw,380px)!important
  }
  .offcanvas-header{
    padding:1.25rem 1.5rem;
    border-bottom:1px solid #343434
  }
  .offcanvas-body{
    padding:1.1rem 1.5rem
  }
  .offcanvas .navbar-nav{
    align-items:stretch!important;
    gap:0!important
  }
  .offcanvas .navbar-nav>li{
    display:block;
    border-bottom:1px solid #242424
  }
  .offcanvas .nav-link{
    padding:1rem 0;
    font-size:.9rem
  }
  .offcanvas .btn-red{
    margin:1.5rem 0 0!important;
    width:100%;
    text-align:center
  }
  .offcanvas .dropdown-menu{
    position:static;
    float:none;
    background:transparent;
    border:0;
    padding:0 0 .75rem
  }
  .offcanvas .dropdown-item{
    color:#d8d8d8;
    padding:.55rem 0 .55rem 1rem;
    font-size:.88rem
  }
  .offcanvas .dropdown-item:hover{
    background:transparent;
    color:#fff
  }
  .hero{
    min-height:650px
  }
  .section{
    padding:4.5rem 0
  }
  .course-tile{
    height:310px
  }

}

/* Source: css/mobile-nav.css */
/* Header and offcanvas overrides.  Bootstrap owns the show/hide behavior. */
html,body{
  max-width:100%;
  overflow-x:clip
}

.site-content,footer,.admissions-wrap{
  max-width:100%;
  overflow-x:hidden
}

.course-detail img{
  width:100%
}

.nav-top{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:1030!important;
  width:100%
}

.site-nav-panel{
  background:#050505;
  color:#fff
}

.dropdown-item:active,.dropdown-item.active{
  background-color:var(--red)!important;
  color:#fff!important
}

.dropdown-menu{
  --bs-dropdown-spacer:0;
  padding-top:0!important;
  padding-bottom:0!important;
  border-radius:0!important
}

@media(max-width:1399.98px){
  .nav-top{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important
  }

  body:has(.site-nav-panel.show){
    overflow:hidden!important;
    overscroll-behavior:none
  }

  .navbar{
    width:100%;
    min-height:76px;
    padding-left:16px!important;
    padding-right:16px!important;
    flex-wrap:nowrap!important
  }

  .brand-logos{
    flex:1 1 auto;
    min-width:0;
    max-width:none!important;
    gap:10px!important;
    overflow:hidden
  }

  .brand-logos .vr{
    flex:0 0 1px
  }

  .brand-logos img{
    flex:0 1 auto;
    max-height:none!important;
    height:auto
  }

  .brand-logos img:first-child{
    width:clamp(120px,29vw,114px)!important
  }

  .brand-logos img:last-child{
    width:clamp(88px,31vw,125px)!important
  }

  .navbar-toggler{
    flex:0 0 auto;
    margin-left:10px
  }

  .site-nav-panel.offcanvas{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    z-index:1045!important;
    display:flex!important;
    flex-direction:column!important;
    width:min(88vw,360px)!important;
    height:100dvh!important;
    min-height:100vh!important;
    max-height:none!important;
    --bs-offcanvas-width:min(88vw,360px);
    --bs-offcanvas-bg:#0b0b0d;
    --bs-offcanvas-color:#fff;
    background:#0b0b0d!important;
    color:#fff!important;
    border-left:1px solid #2b2b30!important;
    visibility:hidden!important;
    transform:translateX(100%)!important
  }

  .site-nav-panel.offcanvas.show,.site-nav-panel.offcanvas.showing{
    visibility:visible!important;
    transform:translateX(0)!important
  }

  .site-nav-panel .offcanvas-header{
    padding:1.25rem 1.5rem;
    border-bottom:1px solid #343434
  }

  .site-nav-panel .offcanvas-header{
    flex:0 0 auto!important
  }

  .site-nav-panel .offcanvas-body{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    padding:1.1rem 1.5rem;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    touch-action:pan-y
  }

  .site-nav-panel .navbar-nav{
    align-items:stretch!important;
    gap:0!important
  }

  .site-nav-panel .navbar-nav>li{
    display:block;
    border-bottom:1px solid #242424
  }

  .site-nav-panel .nav-link{
    padding:1rem 0;
    font-size:.9rem
  }

  .site-nav-panel .btn-red{
    margin:1.5rem 0 0!important;
    width:100%;
    text-align:center
  }

  .site-nav-panel .dropdown-menu{
    position:static;
    float:none;
    background:transparent;
    border:0;
    padding:0 0 .75rem
  }

  .site-nav-panel .dropdown-item{
    color:#d8d8d8;
    padding:.55rem 0 .55rem 1rem;
    font-size:.88rem
  }

  .site-nav-panel .dropdown-item:hover{
    background:transparent;
    color:#fff
  }

}

@media(max-width:991px){
  .admissions-cta{
    padding:2.25rem 0!important
  }

}

@media(min-width:1400px){
  .site-nav-panel.offcanvas{
    position:static!important;
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:row!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    visibility:visible!important;
    transform:none!important;
    background:transparent!important;
    border:0!important
  }
  .site-nav-panel .offcanvas-header{
    display:none!important
  }
  .site-nav-panel .offcanvas-body{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto!important;
    padding:0!important;
    overflow:visible!important
  }
  .site-nav-panel .navbar-nav{
    width:100%;
    justify-content:flex-end!important
  }

}

/* Source: css/visual-refresh.css */
/* Editorial visual refresh: contrast, pace, and stronger image direction. */
:root{
  --red:#e10600;
  --red-deep:#a00000;
  --cream:#f5f1ea;
  --charcoal:#17171a;
  --soft-black:#0b0b0d
}

body,.hero h1,.section-title,.page-hero h1,.course-tile h3,.course-detail h2,.admissions-panel h2,.feature-card h3,.info-point h3{
  font-family:'Poppins',Arial,sans-serif
}

footer h3{
  margin-bottom:1rem
}
footer p{
  line-height:2.05;
  margin-bottom:0
}

@media(min-width:1400px){
  .container{
    max-width:min(94vw,1560px)
  }

}

body{
  background:var(--cream);
  letter-spacing:.005em
}

.nav-top{
  background:rgba(5,5,5,.96);
  backdrop-filter:blur(14px);
  box-shadow:0 8px 28px rgba(0,0,0,.18)
}

.navbar{
  border-bottom:1px solid rgba(255,255,255,.12)
}

.hero{
  min-height:calc(100vh - 80px);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-position:center
}

.hero:before{
  display:none
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0
}
.hero:after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(0,0,0,.84) 5%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.18))
}
.hero .container{
  position:relative;
  z-index:2
}

.hero .container:after{
  content:'';
  position:absolute;
  width:clamp(70px,10vw,150px);
  height:7px;
  background:var(--red);
  top:-.001rem;
  left:12px
}

.hero h1{
  max-width:760px;
  letter-spacing:-.045em;
  text-wrap:balance
}

.hero p{
  font-size:1.1rem;
  line-height:1.75
}
.hero .hero-summary{
  max-width:600px;
  margin-bottom:0
}

.section{
  position:relative;
  padding:4.5rem 0;
  background:#fff
}

.section.bg-light{
  background:var(--cream)!important
}

.section.bg-light:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(225,6,0,.055),transparent 42%);
  pointer-events:none
}

.section>.container{
  position:relative
}

.section-title{
  letter-spacing:-.045em;
  text-wrap:balance
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem
}

.eyebrow:before{
  content:'';
  display:inline-block;
  width:22px;
  height:2px;
  background:currentColor
}

.red-rule{
  width:74px;
  height:5px;
  margin:1.8rem 0
}

.image-frame{
  padding:12px 12px 0 0
}

.image-frame:before{
  content:'';
  position:absolute;
  inset:0 12% 11% 0;
  border:1px solid var(--red);
  transform:translate(-12px,12px);
  z-index:0
}

.image-frame img{
  position:relative;
  z-index:1;
  min-height:440px;
  filter:contrast(1.05) saturate(1.08)
}

.image-frame:after{
  height:10px;
  width:43%;
  z-index:2
}

.feature-card{
  background:#fff;
  border:0;
  border-top:3px solid transparent;
  box-shadow:0 14px 32px rgba(12,12,14,.08);
  padding:2.25rem 2rem
}

.feature-card:hover{
  border-top-color:var(--red);
  box-shadow:0 22px 45px rgba(12,12,14,.15)
}

.feature-card h3{
  font-size:1.35rem
}

.course-tile{
  height:465px;
  border-radius:0;
  box-shadow:0 16px 28px rgba(0,0,0,.16)
}

.course-tile:before{
  content:'';
  position:absolute;
  z-index:2;
  top:1.2rem;
  right:1.2rem;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:50%;
  transition:.3s
}

.course-tile:after{
  background:linear-gradient(0deg,rgba(0,0,0,.96),rgba(0,0,0,.05) 78%)
}

.course-tile:hover:before{
  background:var(--red);
  border-color:var(--red)
}

.course-tile .tile-content{
  left:2rem;
  right:2rem;
  bottom:2rem
}

.course-tile h3{
  font-size:1.75rem;
  letter-spacing:-.035em
}

.dark-section{
  background:linear-gradient(130deg,#111116,#050505)!important;
  overflow:hidden
}

.dark-section:before{
  content:'';
  position:absolute;
  width:42vw;
  height:42vw;
  border:1px solid rgba(225,6,0,.55);
  border-radius:50%;
  right:-15vw;
  top:-23vw
}

.dark-section .section-title{
  max-width:600px
}

.number{
  font-size:5rem;
  color:var(--red);
  opacity:.85
}

.admissions-panel{
  background:linear-gradient(125deg,var(--red),#9e0000);
  box-shadow:0 20px 42px rgba(166,0,0,.27);
  position:relative;
  overflow:hidden
}

.admissions-panel:after{
  content:'FFI';
  position:absolute;
  right:2rem;
  bottom:-4.2rem;
  font:italic 11rem/1 'Poppins',Arial,sans-serif;
  color:rgba(255,255,255,.12)
}

.admissions-panel>*{
  position:relative;
  z-index:1
}

.admissions-wrap{
  background:#fff;
  margin:0
}

.admissions-cta{
  width:100%;
  padding:3.5rem 0;
  border:0;
  border-radius:0;
  box-shadow:none
}

.admissions-cta:after{
  content:'FFI';
  right:2.4rem;
  bottom:-3.6rem;
  color:rgba(255,255,255,.12);
  font-size:10rem
}

.admissions-cta .eyebrow{
  color:#fff
}

.admissions-cta h2{
  font-size:clamp(2.15rem,3.8vw,4rem);
  line-height:1.02;
  letter-spacing:-.05em;
  margin:.7rem 0 1rem
}

.admissions-cta p{
  max-width:550px;
  color:rgba(255,255,255,.88);
  font-size:1.05rem
}

.cta-meta{
  display:flex;
  gap:1.5rem;
  margin-bottom:1.35rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid rgba(255,255,255,.36);
  color:#fff;
  font-size:.79rem;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700
}

.cta-meta span+span{
  padding-left:1.5rem;
  border-left:1px solid rgba(255,255,255,.36)
}

.page-hero{
  min-height:430px;
  display:flex;
  align-items:flex-end;
  padding-bottom:5.5rem
}

.course-detail{
  background:#fff
}

.course-detail:nth-of-type(even){
  background:var(--cream)!important
}

.course-detail img{
  box-shadow:16px 16px 0 var(--red);
  height:340px
}

.list-check li:before{
  font-size:1.1em
}

footer{
  border-top:5px solid var(--red)
}

.footer-link-list{
  display:flex;
  flex-direction:column;
  gap:.75rem
}
.footer-link-list a{
  line-height:1.35
}
.footer-connect{
  max-width:480px
}
.footer-connect>.eyebrow{
  margin-bottom:1rem
}
.footer-social{
  display:flex;
  gap:.55rem;
  margin-bottom:1.75rem
}
.social.footer-social a{
  width:42px;
  height:42px;
  margin:0;
  border-color:#4d4d51;
  transition:background .2s,border-color .2s,color .2s
}
.social.footer-social a:hover{
  background:var(--red);
  border-color:var(--red);
  color:#fff
}
.footer-utility{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #303034;
  border-bottom:1px solid #303034
}
.footer-utility a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.9rem 0;
  color:#dedee0;
  font-size:.82rem;
  line-height:1.35
}
.footer-utility a:nth-child(odd){
  padding-right:1rem;
  border-right:1px solid #303034
}
.footer-utility a:nth-child(even){
  padding-left:1rem
}
.footer-utility a:nth-child(-n+2){
  border-bottom:1px solid #303034
}
.footer-utility a i{
  color:var(--red);
  font-size:.8rem
}
@media(max-width:575px){
  .footer-utility{
    grid-template-columns:1fr
  }
  .footer-utility a,.footer-utility a:nth-child(odd),.footer-utility a:nth-child(even){
    padding:.85rem 0;
    border-right:0
  }
  .footer-utility a:not(:last-child){
    border-bottom:1px solid #303034
  }

}

@media(max-width:991px){
  .hero{
    min-height:620px
  }
  .hero .container:after{
    top:-1rem
  }
  .section{
    padding:5rem 0
  }
  .image-frame img{
    min-height:330px
  }
  .course-tile{
    height:370px
  }
  .course-detail img{
    height:270px;
    box-shadow:10px 10px 0 var(--red)
  }
  .admissions-panel{
    padding:2.25rem 1.5rem
  }
  .admissions-cta{
    padding:2.25rem 1.5rem
  }
  .cta-meta{
    gap:1rem
  }
  .cta-meta span+span{
    padding-left:1rem
  }
  .page-hero{
    min-height:340px;
    padding-bottom:3.5rem
  }

}

@media(prefers-reduced-motion:reduce){
  .hero-video{
    display:none
  }

}

.hero{
  background-image:linear-gradient(90deg,rgba(0,0,0,.88) 5%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.13)),url('../img/ramp-walk2.webp')
}

.page-hero{
  background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.35)),url('../img/institute3.webp');
  background-position:center;
  background-size:cover
}
.page-hero.admissions-hero{
  background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.35)),url('../img/admissionhead.webp')
}
.page-hero.contact-hero{
  background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.35)),url('../img/ffi-header.webp')
}

/* Homepage feature imagery: a refined red frame and subtle lift. */
body:has(.hero) img[src="img/institute2.webp"],body:has(.hero) img[src="img/model-walk.webp"]{
  outline:1px solid var(--red);
  outline-offset:-20px;
  box-shadow:16px 16px 0 rgba(192,192,192,.32),0 18px 36px rgba(12,12,14,.14);
  transition:transform .35s ease,box-shadow .35s ease
}

body:has(.hero) img[src="img/institute2.webp"]:hover,body:has(.hero) img[src="img/model-walk.webp"]:hover{
  transform:translate(-5px,-5px);
  box-shadow:22px 22px 0 rgba(192,192,192,.42),0 24px 42px rgba(12,12,14,.18)
}

@media(max-width:991px){
  body:has(.hero) img[src="img/institute2.webp"],body:has(.hero) img[src="img/model-walk.webp"]{
    outline-offset:-14px;
    box-shadow:10px 10px 0 rgba(225,6,0,.12),0 14px 28px rgba(12,12,14,.12)
  }

}

/* Source: css/info-pages.css */
.info-hero{
  min-height:520px
}
.info-hero .container{
  position:relative
}
.page-hero-video{
  position:relative;
  overflow:hidden;
  background:#090909!important
}
.page-hero-video>video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0
}
.page-hero-video:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.42) 57%,rgba(0,0,0,.18));
  z-index:1
}
.page-hero-video .container{
  z-index:2
}
.hero-scroll-note{
  position:absolute;
  right:12px;
  bottom:-1.1rem;
  display:inline-flex;
  gap:.6rem;
  align-items:center;
  background:var(--red);
  color:#fff;
  padding:.7rem 1rem;
  text-transform:uppercase;
  font-weight:700;
  font-size:.7rem;
  letter-spacing:.08em
}
.info-intro{
  background:#fff
}
.visual-collage{
  min-height:500px;
  position:relative;
  padding:0 17% 17% 0
}
.visual-collage img{
  object-fit:cover
}
.visual-main{
  width:100%;
  height:460px;
  filter:contrast(1.08) saturate(1.08)
}
.visual-secondary{
  position:absolute;
  right:0;
  bottom:0;
  width:49%;
  height:48%;
  border:10px solid #fff;
  box-shadow:0 14px 35px rgba(0,0,0,.18)
}
.visual-stamp{
  position:absolute;
  left:-18px;
  bottom:18%;
  display:grid;
  place-items:center;
  width:60px;
  height:60px;
  background:var(--red);
  color:#fff;
  font-size:1.55rem;
  z-index:2
}
.about-video-feature{
  position:relative;
  min-height:560px;
  overflow:hidden;
  background:#090909;
  color:#fff
}
.about-video-feature>video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.about-video-feature__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  padding:5rem 0;
  background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.42) 55%,rgba(0,0,0,.14))
}
.about-video-feature__copy{
  max-width:720px
}
.about-video-feature h2{
  font:600 clamp(2.4rem,4.3vw,5rem)/1.02 'Poppins',Arial,sans-serif;
  letter-spacing:-.055em;
  margin:1rem 0
}
.about-video-feature p{
  max-width:560px;
  margin:0;
  font-size:1.1rem;
  line-height:1.75;
  color:rgba(255,255,255,.9)
}
.info-points{
  background:#0b0b0d;
  color:#fff
}
.info-point{
  position:relative;
  min-height:185px;
  padding:2.25rem;
  border-right:1px solid #333
}
.info-point span{
  color:var(--red);
  font-weight:800;
  letter-spacing:.1em
}
.info-point i{
  position:absolute;
  right:2rem;
  top:2rem;
  color:#fff;
  font-size:1.1rem
}
.info-point .info-point-icon{
  left:2.5rem;
  right:auto;
  color:var(--red);
  font-size:2.3rem
}
.info-points-projects .info-point{
  align-items:center;
  text-align:center
}
.info-points-projects .info-point .info-point-icon{
  left:50%;
  right:auto;
  transform:translateX(-50%)
}
.info-point h3{
  font:1.7rem/1.1 'Poppins',Arial,sans-serif;
  margin:2.25rem 0 0
}
.info-story{
  background:var(--cream)
}
.story-kicker{
  display:flex;
  align-items:center;
  gap:.8rem;
  color:var(--red);
  text-transform:uppercase;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.1em;
  margin-bottom:2rem
}
.story-kicker i{
  font-size:1.5rem
}
.academic-card{
  height:100%
}
.mentor-callout{
  margin-top:3rem;
  padding:2rem;
  background:#0b0b0d;
  color:#fff;
  display:flex;
  gap:1.25rem;
  align-items:flex-start
}
.mentor-callout>i{
  font-size:2rem;
  color:var(--red)
}
.mentor-callout .eyebrow{
  color:#fff
}
.info-list-panel{
  margin-top:3rem;
  padding:2.5rem;
  background:#fff;
  border-left:6px solid var(--red);
  box-shadow:0 16px 38px rgba(0,0,0,.08)
}
@media(max-width:991px){
  .info-hero{
    min-height:410px
  }
  .visual-collage{
    min-height:390px
  }
  .visual-main{
    height:350px
  }
  .about-video-feature{
    min-height:520px
  }
  .about-video-feature__overlay{
    padding:3.5rem 0
  }
  .about-video-feature h2{
    font-size:clamp(2.3rem,11vw,3.5rem)
  }
  .info-point{
    min-height:145px;
    padding:1.6rem;
    border-right:0;
    border-bottom:1px solid #333
  }
  .info-point h3{
    margin-top:1.2rem
  }
  .info-list-panel{
    padding:1.7rem
  }
  .mentor-callout{
    padding:1.5rem
  }

}

.info-story{
  background:#fff
}
.page-hero h1{
  max-width:min(920px,75vw);
  font-size:clamp(2.5rem,3.5vw,4.4rem)!important;
  line-height:1.08;
  letter-spacing:-.04em
}
.info-story .col-lg-9{
  max-width:1240px;
  width:100%
}
.info-story .lead{
  max-width:1120px;
  font-size:1.16rem;
  line-height:1.85
}
.info-story .section-title{
  max-width:1180px;
  font-size:clamp(2.7rem,4.5vw,4.6rem)
}
.academic-card{
  background:transparent!important;
  border:0;
  border-top:1px solid rgba(15,15,15,.25)!important;
  box-shadow:none!important;
  padding:2rem 0 0!important;
  transform:none!important
}
.academic-card:hover{
  border-top-color:var(--red)!important
}
.academic-card .feature-icon{
  display:block;
  font-size:2rem;
  margin-bottom:.65rem
}
.academic-card h3{
  font-size:1.7rem
}
.academic-card p{
  line-height:1.7
}
.info-story hr{
  margin:5rem 0 3rem!important;
  border-color:rgba(15,15,15,.25);
  opacity:1
}
.info-list-panel{
  background:transparent;
  box-shadow:none;
  border-left:0;
  border-top:5px solid var(--red);
  padding:2.25rem 0 0
}
.info-points .col-md-4:last-child .info-point{
  border-right:0
}
.info-point{
  min-height:220px;
  padding:2.5rem clamp(2rem,4vw,4rem);
  display:flex;
  flex-direction:column
}
.info-point h3{
  margin-top:auto;
  padding-top:2.5rem
}
@media(max-width:991px){
  .info-hero-about{
    background-position:65% center!important
  }
  .page-hero h1{
    max-width:100%;
    font-size:clamp(2.3rem,10vw,3.2rem)!important
  }
  .info-story .lead{
    font-size:1.05rem
  }
  .info-story .section-title{
    font-size:clamp(2.4rem,11vw,3.8rem)
  }
  .academic-card{
    padding-top:1.5rem!important
  }
  .info-point{
    min-height:145px
  }
  .info-point .info-point-icon{
    left:1.6rem
  }
  .info-point h3{
    margin-top:0;
    padding-top:1.2rem
  }

}

.global-exposure{
  margin:4rem 0 1rem;
  padding:3rem;
  background:#111116;
  color:#fff;
  border-left:6px solid var(--red)
}
.global-exposure .eyebrow{
  color:#fff
}
.global-exposure h2{
  font:600 clamp(2rem,3vw,3.2rem)/1.08 'Poppins',Arial,sans-serif;
  letter-spacing:-.045em;
  margin:1rem 0
}
.global-exposure p{
  color:#e5e5e6;
  line-height:1.75
}
.brand-list{
  font-size:.75rem;
  font-weight:700;
  line-height:1.7;
  letter-spacing:.08em;
  color:#ff5b55;
  text-transform:uppercase
}
@media(max-width:991px){
  .global-exposure{
    padding:2rem 1.5rem;
    margin-top:3rem
  }

}
.info-points-iconized .info-point{
  align-items:center;
  text-align:center
}
.info-points-iconized .info-point .info-point-icon{
  left:50%;
  right:auto;
  transform:translateX(-50%)
}
.visual-collage-career:before{
  display:none
}
.visual-main-frame{
  position:relative;
  width:100%;
  height:460px
}
.visual-main-frame .visual-main{
  width:100%;
  height:100%
}
.visual-main-frame:after{
  content:'';
  position:absolute;
  inset:15px;
  border:1px solid var(--red);
  pointer-events:none
}
.visual-collage-career .visual-secondary,.visual-collage-career .visual-stamp{
  z-index:2
}
@media(max-width:991px){
  .visual-main-frame{
    height:350px
  }
  .visual-main-frame:after{
    inset:20px
  }

}

.info-list-why{
  position:relative;
  overflow:hidden;
  margin-top:4.5rem;
  padding:3.2rem!important;
  background:#111116!important;
  border:0!important;
  color:#fff;
  box-shadow:none!important
}
.info-list-why:after{
  content:'FFI';
  position:absolute;
  right:-1rem;
  bottom:-5rem;
  font:800 italic 10rem/1 'Poppins',sans-serif;
  color:rgba(225,6,0,.15)
}
.info-list-why>*{
  position:relative;
  z-index:1
}
.info-list-why .eyebrow{
  color:#ff5b55
}
.info-list-why h2{
  font:600 clamp(2.2rem,3.5vw,3.6rem)/1.08 'Poppins',sans-serif;
  letter-spacing:-.045em;
  margin-bottom:2rem
}
.info-list-why .row{
  counter-reset:discipline
}
.info-list-why .row>div{
  border-top:1px solid rgba(255,255,255,.28)
}
.info-list-why p{
  counter-increment:discipline;
  display:flex;
  align-items:baseline;
  gap:.85rem;
  margin:0;
  padding:1.15rem 0;
  color:#fff;
  font-weight:600
}
.info-list-why p:before{
  content:'0' counter(discipline);
  color:#ff5b55;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.1em
}
.info-list-why p i{
  display:none
}
@media(max-width:991px){
  .info-list-why{
    padding:2rem 1.5rem!important
  }
  .info-list-why h2{
    font-size:2.2rem
  }

}

.info-story-about .lead{
  max-width:1020px;
  font-size:1.1rem;
  line-height:1.82
}
.info-story-about hr{
  margin:3.5rem 0 2.5rem!important
}
.info-story-about .section-title{
  max-width:900px;
  font-size:clamp(2.6rem,3.8vw,4rem);
  line-height:1.1
}
.info-story-about .section-title+.lead{
  max-width:1030px;
  margin-top:1.5rem!important
}
.info-story-about .academic-card{
  padding-top:1.6rem!important
}
@media(max-width:991px){
  .info-story-about .lead{
    font-size:1.05rem
  }
  .info-story-about .section-title{
    font-size:clamp(2.25rem,10vw,3.3rem)
  }

}

.project-skills-panel{
  display:grid;
  grid-template-columns:minmax(280px,.88fr) minmax(0,1.62fr);
  margin-top:4.5rem;
  background:#0b0b0d;
  color:#fff;
  overflow:hidden
}
.project-skills-intro{
  position:relative;
  min-height:500px;
  padding:3.5rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  background:linear-gradient(145deg,#e10b05 0%,#970000 100%);
  overflow:hidden
}
.project-skills-intro .eyebrow{
  position:relative;
  z-index:1
}
.project-skills-intro h2{
  position:relative;
  z-index:1;
  margin:1.25rem 0 1.5rem;
  font:600 clamp(2.8rem,4vw,4.7rem)/.95 'Poppins',Arial,sans-serif;
  letter-spacing:-.055em
}
.project-skills-intro h2 em{
  font-style:italic
}
.project-skills-intro p{
  position:relative;
  z-index:1;
  max-width:310px;
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:1.02rem;
  line-height:1.75
}
.project-skills-mark{
  position:absolute;
  right:-.08em;
  bottom:-.26em;
  color:rgba(255,255,255,.13);
  font:700 clamp(9rem,16vw,17rem)/.7 'Poppins',Arial,sans-serif;
  letter-spacing:-.12em
}
.project-skills-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:center;
  padding:1.25rem
}
.project-skill{
  position:relative;
  min-height:165px;
  padding:1.75rem;
  border-bottom:1px solid #343438
}
.project-skill:nth-last-child(-n+2){
  border-bottom:0
}
.project-skill:nth-child(odd){
  border-right:1px solid #343438
}
.project-skill span{
  display:block;
  color:var(--red);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.14em
}
.project-skill i{
  position:absolute;
  right:1.75rem;
  top:1.65rem;
  color:#fff;
  font-size:1.05rem;
  transition:transform .25s ease,color .25s ease
}
.project-skill h3{
  max-width:235px;
  margin:2.7rem 0 0;
  font:400 clamp(1.35rem,1.8vw,1.8rem)/1.12 'Poppins',Arial,sans-serif
}
.project-skill:hover{
  background:#17171a
}
.project-skill:hover i{
  color:var(--red);
  transform:translate(3px,-3px)
}
@media(max-width:991px){
  .project-skills-panel{
    grid-template-columns:1fr;
    margin-top:3rem
  }
  .project-skills-intro{
    min-height:360px;
    padding:2.5rem
  }
  .project-skills-grid{
    padding:.75rem
  }
  .project-skill{
    min-height:135px;
    padding:1.35rem
  }
  .project-skill i{
    right:1.35rem;
    top:1.3rem
  }
  .project-skill h3{
    margin-top:2rem
  }

}
@media(max-width:575px){
  .project-skills-intro{
    min-height:330px;
    padding:2rem 1.5rem
  }
  .project-skills-intro h2{
    font-size:3.2rem
  }
  .project-skills-grid{
    grid-template-columns:1fr;
    padding:0
  }
  .project-skill,.project-skill:nth-child(odd),.project-skill:nth-last-child(-n+2){
    border-right:0;
    border-bottom:1px solid #343438
  }
  .project-skill:last-child{
    border-bottom:0
  }
  .project-skill h3{
    max-width:250px;
    font-size:1.55rem
  }

}
@media(max-width:991px){
  .info-points-iconized .info-point{
    justify-content:center;
    min-height:180px;
    padding:2rem 1.6rem
  }
  .info-points-iconized .info-point .info-point-icon{
    position:static;
    transform:none;
    margin:0 0 .8rem;
    font-size:2rem
  }
  .info-points-iconized .info-point h3{
    margin:0;
    padding:0
  }

}

/* Source: css/course-pages.css */
.course-hero h1 {
  max-width:880px
}

.course-hero{
  background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.35)),url('../img/diploma-head.webp')!important;
  background-position:center!important;
  background-size:cover!important
}

.course-hero.course-hero-diploma{
  background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.35)),url('../img/diploma-head.webp')!important
}

@media(max-width:991px){
  .course-hero{
    background-position:65% center!important
  }

}

.course-hero p {
  max-width:610px
}

.course-intro {
  background:#fff
}

.programme-facts {
  border-top:4px solid var(--red);
  background:#111116;
  color:#fff;
  padding:1.75rem 2rem
}

.programme-facts>div {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1.15rem 0;
  border-bottom:1px solid #3a3a3d
}

.programme-facts>div:last-child {
  border:0;
  padding-bottom:0
}

.programme-facts span {
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#bdbdbf;
  font-weight:700
}

.programme-facts strong {
  text-align:right;
  font-size:1rem;
  line-height:1.35
}

.course-showcase {
  padding:5rem 0;
  background:#f7f4ef
}

.course-showcase-alt {
  background:#fff
}

.course-visual {
  position:relative;
  padding:0 1rem 1rem 0
}

.course-visual:before {
  content:'';
  position:absolute;
  z-index:0;
  inset:1.5rem 0 0 1.5rem;
  border:1px solid var(--red)
}

.course-visual img {
  position:relative;
  z-index:1;
  width:100%;
  height:410px;
  object-fit:cover;
  filter:contrast(1.05) saturate(1.08)
}

.course-index {
  position:absolute;
  z-index:2;
  top:1rem;
  left:1rem;
  background:var(--red);
  color:#fff;
  padding:.55rem .7rem;
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.1em;
  display:none;
}

.course-copy {
  max-width:850px
}

.course-copy h2 {
  font:600 clamp(2rem,3.1vw,3.4rem)/1.08 'Poppins',Arial,sans-serif;
  letter-spacing:-.045em;
  margin:.7rem 0 1.2rem
}

.course-summary {
  font-size:1.1rem;
  line-height:1.75;
  max-width:720px
}

.course-label {
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--red);
  font-weight:800;
  margin:1.5rem 0 .8rem
}

.course-skills {
  margin:0;
  padding:0;
  list-style:none
}

.course-skills li {
  position:relative;
  padding:.5rem 0 .5rem 1.25rem;
  border-bottom:1px solid rgba(10,10,10,.1);
  font-size:.94rem
}

.course-skills li:before {
  content:'↗';
  position:absolute;
  left:0;
  color:var(--red);
  font-weight:800
}

.career-card {
  background:#111116;
  color:#fff;
  padding:1.4rem 1.35rem;
  height:100%
}

.career-card>i {
  color:var(--red);
  font-size:1.5rem
}

.career-card .course-label {
  color:#fff;
  margin-top:.75rem
}

.career-card p {
  font-size:.9rem;
  line-height:1.65;
  margin:0;
  color:#ddd
}

.learning-band {
  position:relative;
  overflow:hidden;
  background:#0b0b0d;
  color:#fff;
  padding:4rem 0
}



.learning-band .container {
  position:relative;
  z-index:1
}

.learning-band h2 {
  font:600 clamp(2.2rem,3.5vw,3.9rem)/1.08 'Poppins',Arial,sans-serif;
  letter-spacing:-.045em
}

.learning-list {
  border-top:1px solid #444
}

.learning-list>div {
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  padding:1.1rem 0;
  border-bottom:1px solid #444
}

.learning-list span {
  color:var(--red);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.1em;
  margin-top:.25rem
}

.learning-list p {
  margin:0;
  font-size:1rem;
  line-height:1.5
}

@media(max-width:991px) {
  .course-showcase {
    padding:4.5rem 0
  }

  .course-visual img {
    height:310px
  }

  .course-copy h2 {
    font-size:2.2rem
  }

  .programme-facts {
    padding:1.5rem
  }

  .learning-band {
    padding:4.5rem 0
  }

}

/* Source: css/home-buttons.css */
/* Homepage-only call-to-action refinement. */
body:has(.hero) .site-content .btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0.9rem 1.35rem;
  border-radius:10px;
  font-size:.74rem;
  letter-spacing:.095em;
  box-shadow:0 8px 20px rgba(11,11,13,.14);
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease;
}

body:has(.hero) .site-content .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 28px rgba(11,11,13,.23);
}

body:has(.hero) .site-content .btn-red{
  background:linear-gradient(135deg,#ef231d 0%,#d40000 100%);
  border-color:#d40000;
}

body:has(.hero) .site-content .btn-red:hover{
  background:linear-gradient(135deg,#ff352e 0%,#df0000 100%);
  border-color:#df0000;
}

body:has(.hero) .site-content .btn-outline-light,
body:has(.hero) .site-content .btn-outline-dark{
  padding-left:1.5rem;
  padding-right:1.5rem;
  backdrop-filter:blur(7px);
}

body:has(.hero) .site-content .btn-outline-light:hover{
  background:#fff;
  color:#101012
}

body:has(.hero) .site-content .btn-outline-dark:hover{
  background:#101012;
  color:#fff
}

@media(max-width:575px){
  body:has(.hero) .site-content .btn{
    width:100%;
    min-height:50px
  }

}

/* Source: css/contact-page.css */
.contact-detail-link{
  color:var(--red);
  font-weight:600;
  transition:color .2s ease;
}

.contact-detail-link:hover,
.contact-detail-link:focus{
  color:var(--ink);
}

/* Source: css/ai-design.css */
:root{
  --lime:#d5ff36;
  --ink:#101315;
  --deep:#080b0c;
  --cloud:#f3f5f1;
  --line:#d6ddd4
}
body{
  font-family:Poppins,Arial,sans-serif;
  background:var(--cloud);
  color:var(--ink);
  line-height:1.65
}
.nav-top{
  background:rgba(0,0,0,1);
  border-bottom:1px solid rgba(213,255,54,.2)
}
.navbar{
  border:0
}
.brand-logos img,.brand-logos img:first-child{
  max-height:42px
}
.brand-divider{
  width:1px;
  height:30px;
  background:rgba(255,255,255,.35)
}
.brand-wordmark{
  color:#fff;
  font:500 .62rem/1.1 Poppins,Arial,sans-serif;
  letter-spacing:.22em
}
.navbar .nav-link{
  font:500 .68rem Poppins,Arial,sans-serif;
  letter-spacing:.08em
}
.nav-link:hover{
  color:var(--lime)!important
}
.btn-red{
  background:var(--lime);
  border-color:var(--lime);
  color:#111;
  border-radius:999px;
  font:700 .7rem Poppins,Arial,sans-serif;
  letter-spacing:.08em;
  padding:.85rem 1.25rem
}
.btn-red:hover{
  background:#fff;
  border-color:#fff;
  color:#111
}
.btn-outline-light{
  border-radius:999px;
  font:700 .7rem Poppins,Arial,sans-serif;
  letter-spacing:.08em
}
.section{
  padding:7.5rem 0
}
.section-title{
  font-family:Poppins,Arial,sans-serif;
  font-weight:700;
  letter-spacing:-.055em;
  line-height:.98
}
.signal-label{
  font:500 .68rem Poppins,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#74806f
}
.ai-hero{
  position:relative;
  overflow:hidden;
  min-height:760px;
  color:#fff;
  background:radial-gradient(circle at 73% 31%,rgba(213,255,54,.25),transparent 11%),radial-gradient(circle at 82% 62%,#253318 0,transparent 23%),linear-gradient(135deg,#080b0c 0%,#11181b 55%,#030405 100%)
}
.ai-hero-grid{
  position:absolute;
  inset:0;
  opacity:.45;
  background-image:linear-gradient(rgba(213,255,54,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(213,255,54,.09) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(90deg,transparent 0,#000 55%,transparent 100%)
}
.min-vh-75{
  min-height:760px
}
.ai-hero h1{
  max-width:820px;
  font:700 clamp(3.8rem,8.5vw,8.3rem)/.9 Poppins,Arial,sans-serif;
  letter-spacing:-.075em
}
.hero-summary{
  max-width:600px;
  font-size:1.08rem;
  color:#d6dcd8
}
.hero-status{
  margin:0 0 4rem auto;
  padding:1.2rem;
  border:1px solid rgba(255,255,255,.22);
  max-width:215px;
  background:rgba(8,11,12,.55);
  backdrop-filter:blur(8px);
  font:500 .65rem Poppins,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em
}
.hero-status strong{
  display:block;
  margin-top:.7rem;
  color:var(--lime);
  font:700 1.15rem Poppins,Arial,sans-serif;
  letter-spacing:-.04em;
  text-transform:none
}
.status-dot{
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:7px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 14px var(--lime)
}
.intro-panel{
  background:#fff
}
.lead{
  font-size:1.18rem;
  line-height:1.6
}
.text-link{
  display:inline-flex;
  gap:.6rem;
  align-items:center;
  color:var(--ink);
  font:700 .73rem Poppins,Arial,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  border-bottom:1px solid var(--ink);
  padding-bottom:.3rem
}
.text-link:hover{
  color:#557000;
  border-color:#557000
}
.capabilities{
  background:var(--cloud)
}
.signal-card{
  position:relative;
  height:100%;
  padding:1.5rem;
  border:1px solid var(--line);
  background:#fff;
  transition:.2s
}
.signal-card:hover{
  transform:translateY(-5px);
  border-color:#9ebc24
}
.signal-card>span{
  font:500 .65rem Poppins,Arial,sans-serif;
  color:#869087
}
.signal-card>i{
  display:block;
  margin:2.7rem 0 1.2rem;
  font-size:1.6rem;
  color:#688400
}
.signal-card h3{
  font-weight:700;
  font-size:1.08rem
}
.signal-card p{
  font-size:.85rem;
  color:#687069
}
.programmes-surface{
  background:var(--deep);
  color:#fff
}
.programmes-surface .signal-label{
  color:var(--lime)
}
.programmes-surface .text-link{
  color:#fff;
  border-color:#fff
}
.programme-stack{
  border-top:1px solid rgba(255,255,255,.25)
}
.programme-row{
  display:grid;
  grid-template-columns:70px 1.25fr 1fr 28px;
  gap:2rem;
  align-items:center;
  color:#fff;
  padding:1.75rem 0;
  border-bottom:1px solid rgba(255,255,255,.25);
  transition:.2s
}
.programme-row:hover{
  color:var(--lime);
  padding-left:10px
}
.programme-row h3{
  margin:0;
  font-size:clamp(1.4rem,2vw,2rem);
  letter-spacing:-.045em
}
.programme-row p{
  margin:0;
  color:#b4bdb4;
  font-size:.82rem
}
.programme-no,.programme-duration{
  font:500 .65rem Poppins,Arial,sans-serif;
  letter-spacing:.08em;
  color:var(--lime)
}
.programme-duration{
  display:block;
  margin-bottom:.4rem;
  color:#a4afa5
}
.learning-split{
  background:#d5ff36
}
.learning-pills{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem
}
.learning-pills span{
  border:1px solid rgba(16,19,21,.4);
  padding:.55rem .8rem;
  border-radius:999px;
  font:500 .7rem Poppins,Arial,sans-serif
}
.learning-split .btn-red{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff
}
.learning-split .btn-red:hover{
  background:#fff;
  color:#111
}
.eyebrow{
  color:#668100;
  font-family:Poppins,Arial,sans-serif
}
.red-rule{
  background:var(--lime)
}
.page-hero,.dark-section{
  background-color:var(--deep)!important
}
.page-hero{
  padding:9rem 0 5rem;
  background-image:linear-gradient(115deg,rgba(8,11,12,.95),rgba(8,11,12,.65)),linear-gradient(90deg,#172015,#080b0c)!important
}
.page-hero h1{
  font-family:Poppins,Arial,sans-serif;
  letter-spacing:-.025em
}
.feature-card{
  border-radius:0;
  border-color:var(--line);
  box-shadow:none
}
.feature-card:hover{
  border-color:#94b326
}
.feature-icon,.list-check li:before,.number{
  color:#668100
}
.admissions-panel{
  background:var(--deep);
  border:1px solid rgba(213,255,54,.4)
}
footer{
  background:#080b0c
}
footer .eyebrow{
  color:var(--lime)
}
.footer-logo{
  max-height:45px
}
.dropdown-menu{
  border-radius:0;
  border-color:#263026
}
.dropdown-item{
  font:500 .76rem Poppins,Arial,sans-serif
}
.dropdown-item:hover{
  background:#e7f7b0
}
@media(max-width:991px){
  .section{
    padding:4.5rem 0
  }
  .ai-hero,.min-vh-75{
    min-height:670px
  }
  .programme-row{
    grid-template-columns:38px 1fr 25px;
    gap:1rem
  }
  .programme-row p{
    display:none
  }
  .hero-status{
    margin:3rem 0 2rem
  }
  .brand-wordmark{
    font-size:.52rem
  }

}

/* Source: css/ai-components.css */
:root{
  --lime:#d8b56a
}
.ai-hero{
  background:linear-gradient(105deg,rgba(4,5,5,.91),rgba(4,5,5,.55)),radial-gradient(circle at 82% 55%,rgba(216,181,106,.24),transparent 26%),#080909
}
.ai-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.42;
  filter:grayscale(0) contrast(1.1) brightness(.75)
}
.ai-hero-grid{
  background-image:linear-gradient(rgba(216,181,106,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(216,181,106,.12) 1px,transparent 1px)
}
.status-dot{
  background:#d8b56a;
  box-shadow:0 0 14px #d8b56a
}
.page-media{
  position:relative
}
.page-media>img{
  width:100%;
  aspect-ratio:1/1.1;
  object-fit:cover;
  filter:grayscale(.45) contrast(1.06)
}
.page-media .info-orbit{
  width:140px;
  position:absolute;
  right:-24px;
  bottom:-24px;
  background:rgba(245,226,184,.92)
}
.page-media .info-orbit i{
  font-size:2.2rem
}
.info-orbit{
  position:relative;
  display:grid;
  place-items:center;
  width:min(100%,300px);
  aspect-ratio:1;
  border:1px solid #c6b184;
  border-radius:50%;
  background:radial-gradient(circle,#f5e2b8 0,transparent 64%)
}
.info-orbit:before,.info-orbit:after{
  content:'';
  position:absolute;
  border:1px solid rgba(135,104,38,.38);
  border-radius:50%;
  inset:12%
}
.info-orbit:after{
  inset:29%
}
.info-orbit i{
  font-size:4rem;
  color:#8a671d
}
.info-orbit span{
  position:absolute;
  top:17%;
  right:17%;
  font:500 .78rem Poppins,Arial,sans-serif
}
.info-points{
  padding:0 0 7.5rem
}
.info-points .signal-card>i{
  margin:2rem 0 1rem
}
.media-pair{
  position:relative;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:1.25rem;
  max-width:1180px;
  margin:0 auto 7.5rem;
  padding:0 1rem
}
.media-pair__image{
  overflow:hidden;
  background:#111
}
.media-pair__image--one{
  height:480px
}
.media-pair__image--two{
  height:330px;
  align-self:end
}
.media-pair img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(.35) contrast(1.05);
  transition:.3s
}
.media-pair:hover img{
  filter:grayscale(0)
}
.media-pair__caption{
  position:absolute;
  right:3rem;
  bottom:1.5rem;
  padding:.7rem .9rem;
  max-width:280px;
  background:#0b0c0c;
  color:#fff;
  font:500 .62rem Poppins,Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase
}
@media(max-width:991px){
  .info-points{
    padding-bottom:4.5rem
  }
  .media-pair{
    grid-template-columns:1fr;
    margin-bottom:4.5rem
  }
  .media-pair__image--one,.media-pair__image--two{
    height:320px
  }
  .media-pair__caption{
    position:static;
    max-width:none
  }
  .page-media{
    margin-bottom:2rem
  }
  .page-media .info-orbit{
    right:10px;
    bottom:-16px
  }

}

/* Source: css/layout-refinement.css */
/* Keep the original site typography and use a denser editorial rhythm. */
body,.btn,.navbar .nav-link,.brand-wordmark,.section-kicker,.signal-label,.text-link,.programme-duration,.programme-no,.hero-status,.learning-pills span,.media-pair__caption{
  font-family:Poppins,Arial,sans-serif!important
}
.brand-wordmark,.navbar .nav-link,.section-kicker,.signal-label,.text-link,.programme-duration,.programme-no,.hero-status,.learning-pills span,.media-pair__caption{
  letter-spacing:.06em
}
.section{
  padding:4rem 0
}
.min-vh-75,.ai-hero{
  min-height:720px
}
.ai-hero h1{
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(3.25rem,4.4vw,5.4rem);
  line-height:.95
}
.hero-copy{
  padding-top:1.25rem
}
.section-kicker{
  margin-bottom:.65rem;
  color:#8b7040;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase
}
.ai-hero .section-kicker{
  color:#d8b56a
}
.intro-panel .lead{
  margin-bottom:1rem
}
.media-pair{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:1.1rem;
  margin:0 auto 4.75rem;
  max-width:1180px;
  padding:0
}
.media-pair__image--one,.media-pair__image--two{
  height:390px;
  align-self:stretch
}
.media-pair img{
  filter:grayscale(.15) contrast(1.03)
}
.signal-card{
  padding:1.25rem
}
.signal-card>i{
  margin:1.3rem 0 .8rem
}
.signal-card p{
  margin-bottom:0
}
.programmes-surface{
  background:#10100f!important
}
.programmes-surface .section-kicker{
  color:#d8b56a
}
.programmes-surface .text-link{
  color:#d8b56a;
  border-color:#d8b56a
}
.programme-card{
  display:flex;
  min-height:330px;
  flex-direction:column;
  justify-content:space-between;
  padding:1.6rem;
  color:#10100f;
  background:#eee5d1;
  border:1px solid transparent;
  transition:transform .2s,background .2s
}
.programme-card:hover{
  color:#fff;
  background:#2a261f;
  transform:translateY(-7px)
}
.programme-card--undergraduate{
  background:#d8b56a
}
.programme-card--postgraduate{
  color:#fff;
  background:#342b1e
}
.programme-card--postgraduate:hover{
  background:#eee5d1;
  color:#10100f
}
.programme-card__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.7rem;
  font-weight:700;
  text-transform:uppercase
}
.programme-card__top i{
  font-size:1.25rem
}
.programme-card h3{
  font-size:1.8rem;
  line-height:1.05;
  letter-spacing:-.05em
}
.programme-card p{
  margin:.8rem 0 0;
  font-size:.79rem;
  line-height:1.75
}
.programme-card strong{
  font-size:.68rem;
  letter-spacing:.06em;
  text-transform:uppercase
}
.learning-split{
  padding:4rem 0;
  background:#fff
}
.learning-split .section-kicker{
  color:#715823
}
.learning-split .btn-red{
  background:#1b1813;
  border-color:#1b1813
}
.section-title{
  font-family:Poppins,Arial,sans-serif
}
.page-media>img{
  aspect-ratio:16 / 10
}
.page-media .info-orbit{
  display:none
}
@media(max-width:991px){
  .section{
    padding:3.5rem 0
  }
  .min-vh-75,.ai-hero{
    min-height:620px
  }
  .hero-copy{
    padding-top:0
  }
  .media-pair{
    grid-template-columns:1fr;
    margin:0 1rem 3.5rem;
    padding:0
  }
  .media-pair__image--one,.media-pair__image--two{
    height:280px
  }
  .programme-card{
    min-height:240px
  }
  .programme-row{
    grid-template-columns:1fr 25px
  }
  .programme-row p{
    display:none
  }

}

/* Source: css/image-story-layout.css */
.story-panel{
  padding:4rem 0;
  background:#fff
}
.story-panel--warm{
  background:#f3eee6
}
.story-panel__copy{
  padding:1.25rem 4rem 1.25rem 1rem
}
.story-panel__copy .section-title{
  max-width:580px;
  font-size:clamp(2.55rem,4.5vw,4.1rem)
}
.story-panel__copy p:not(.section-kicker){
  max-width:620px;
  font-size:1rem;
  line-height:1.75
}
.story-panel__media{
  position:relative
}

.story-panel__media img{
  display:block;
  width:100%;
  height:500px;
  object-fit:cover
}
.gold-rule{
  width:58px;
  height:4px;
  margin:1.5rem 0;
  background:#d8b56a
}
.story-panel .btn-dark{
  border-radius:0;
  padding:.82rem 1.15rem;
  background:#171714;
  font-family:Poppins,Arial,sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase
}
.story-panel .btn-dark:hover{
  background:#d8b56a;
  color:#16140f;
  border-color:#d8b56a
}
@media(max-width:991px){
  .story-panel{
    padding:3.75rem 0
  }
  .story-panel__copy{
    padding:0 1rem
  }
  .story-panel__media{
    margin:1rem
  }
  .story-panel__media img{
    height:330px
  }
  .story-panel__media:after{
    right:-8px;
    bottom:-8px
  }
  .story-panel--warm .story-panel__media:after{
    left:-8px
  }

}

/* Source: css/brand-cleanup.css */
/* Remove inherited Ferrari decoration and all remaining lime accents. */
.admissions-panel,.admissions-cta{
  border:0!important
}
.admissions-panel:after,.admissions-cta:after{
  content:none!important
}
.nav-top{
  border-bottom-color:rgba(216,181,106,.28)
}
.feature-card:hover{
  border-color:#d8b56a
}
.signal-card>i,.feature-icon,.list-check li:before,.number{
  color:#9b782d
}
.eyebrow{
  color:#9b782d
}
.admissions-wrap{
  border-top:0!important
}

/* Source: css/inner-hero-media.css */
.info-hero{
  position:relative;
  overflow:hidden;
  background:#080909!important
}
.info-hero__image{
  position:absolute;
  inset:0;
  z-index:0;
  background-position:center;
  background-size:cover
}
.info-hero__image:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,rgba(7,9,9,.92) 0%,rgba(7,9,9,.63) 55%,rgba(7,9,9,.28) 100%)
}
.info-hero .container{
  z-index:2
}
.info-hero .ai-hero-video{
  z-index:1
}
.why-intro-video{
  position:relative;
  overflow:hidden;
  background:#080909;
  color:#fff
}
.why-intro-video video{
  display:block;
  width:100%;
  height:clamp(360px,44vw,560px);
  object-fit:cover;
  background:#080909
}
.why-intro-video:after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48)
}
.why-intro-video__overlay{
  position:absolute;
  z-index:1;
  top:50%;
  left:max(1.5rem,calc((100vw - 1320px) / 2));
  width:min(530px,calc(100% - 3rem));
  transform:translateY(-50%)
}
.why-intro-video__overlay .eyebrow{
  margin-bottom:1rem;
  color:#d8b56a
}
.why-intro-video__overlay h2{
  margin:0 0 1.25rem;
  color:#fff;
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(2.6rem,5vw,5.75rem);
  font-weight:600;
  letter-spacing:-.07em;
  line-height:.91
}
.why-intro-video__overlay p:last-child{
  max-width:410px;
  margin:0;
  color:#f0eee9;
  font-size:1.05rem;
  line-height:1.65
}
@media(max-width:991px){
  .why-intro-video video{
    height:420px
  }
  .why-intro-video__overlay{
    left:1.5rem
  }
}

/* Admissions call to action */
.admissions-wrap{
  background:#fff
}
.admissions-panel.admissions-cta{
  background:#fff;
  color:#171511;
  box-shadow:none
}
.admissions-cta .eyebrow{
  color:#9b782d
}
.admissions-cta h2{
  color:#171511
}
.admissions-cta p{
  color:#565149
}
.admissions-cta .cta-meta{
  color:#26231e;
  border-bottom-color:#cfc5b4
}
.admissions-cta .cta-meta span+span{
  border-left-color:#cfc5b4
}
.admissions-cta .btn-light{
  background:#171511;
  border-color:#171511;
  color:#fff!important
}
.admissions-cta .btn-light:hover{
  background:#9b782d;
  border-color:#9b782d;
  color:#fff!important
}
.page-experience .admissions-wrap,
.page-experience .admissions-panel.admissions-cta{
  background:#fff
}
.page-home .admissions-wrap,
.page-home .admissions-panel.admissions-cta{
  background:#f3eee6
}
.page-about .admissions-wrap,
.page-about .admissions-panel.admissions-cta{
  background:#f3eee6
}

/* Admissions page enquiry section */
.admissions-enquiry{
  padding:4rem 0;
  background:#f3eee6
}
.admissions-enquiry__grid{
  box-shadow:0 20px 52px rgba(30,27,21,.12)
}
.admissions-enquiry__copy,.admissions-enquiry__form{
  min-height:100%;
  padding:clamp(2rem,4vw,4.5rem)
}
.admissions-enquiry__copy{
  display:flex;
  flex-direction:column;
  background:#171511;
  color:#f8f6f0
}
.admissions-enquiry__copy .eyebrow,.admissions-enquiry__form .eyebrow{
  margin-bottom:1rem;
  color:#b18a39
}
.admissions-enquiry h2{
  margin:0;
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(2.8rem,4.8vw,5.25rem);
  font-weight:600;
  letter-spacing:-.04em;
  line-height:.91
}
.admissions-enquiry__copy .lead{
  max-width:480px;
  margin:1.5rem 0 2.5rem;
  color:#d7d3ca
}
.admissions-enquiry__details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  padding:1.4rem 0;
  border-top:1px solid rgba(255,255,255,.2);
  border-bottom:1px solid rgba(255,255,255,.2)
}
.admissions-enquiry__details span,.admissions-enquiry__form label{
  display:block;
  margin-bottom:.45rem;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.admissions-enquiry__details span{
  color:#c7a55e
}
.admissions-enquiry__details p{
  margin:0;
  font-size:.9rem;
  line-height:1.55
}
.admissions-enquiry__description{
  max-width:490px;
  margin:2rem 0;
  color:#e5e2db
}
.admissions-enquiry__contact{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.6rem;
  margin-top:auto
}
.admissions-enquiry__contact a{
  color:#fff;
  font-size:.82rem;
  font-weight:700
}
.admissions-enquiry__contact i{
  margin-right:.45rem;
  color:#c7a55e
}
.admissions-enquiry__form{
  background:#fff;
  color:#171511
}
.admissions-enquiry__form h2{
  font-size:clamp(2.6rem,4vw,4.5rem)
}
.admissions-enquiry__form>p{
  max-width:420px;
  margin:1rem 0 2.25rem;
  color:#625d55
}
.admissions-enquiry__form label{
  color:#514b42
}
.admissions-enquiry__form .form-control{
  min-height:52px;
  border:1px solid #d8d0c2;
  border-radius:0;
  color:#171511;
  background:#faf9f6
}
.admissions-enquiry__form .form-control:focus{
  border-color:#a98338;
  box-shadow:0 0 0 .18rem rgba(169,131,56,.14)
}
.admissions-enquiry__submit{
  padding:.9rem 1.2rem;
  background:#171511;
  border:1px solid #171511;
  border-radius:0;
  color:#fff;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase
}
.admissions-enquiry__submit:hover{
  background:#a98338;
  border-color:#a98338;
  color:#fff
}
.admissions-enquiry__submit i{
  margin-left:.5rem
}
@media(max-width:991px){
  .admissions-enquiry{
    padding:4.5rem 0
  }
  .admissions-enquiry__details{
    grid-template-columns:1fr
  }
}

/* Contact page */
.contact-connect{
  padding:4rem 0;
  background:#f3eee6
}
.contact-connect__grid{
  box-shadow:0 20px 52px rgba(30,27,21,.12)
}
.contact-connect__details,.contact-connect__form{
  min-height:100%;
  padding:clamp(2rem,4vw,4.5rem)
}
.contact-connect__details{
  display:flex;
  flex-direction:column;
  background:#171511;
  color:#f8f6f0
}
.contact-connect .eyebrow{
  margin-bottom:1rem;
  color:#c7a55e
}
.contact-connect h2{
  margin:0;
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(2.7rem,4.5vw,4.8rem);
  font-weight:700;
  letter-spacing:-.07em;
  line-height:.92
}
.contact-connect__details>p{
  margin:1.5rem 0 2.3rem;
  color:#d8d4ca;
  line-height:1.7
}
.contact-connect__list{
  display:grid;
  gap:1.25rem
}
.contact-connect__list>div{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:.8rem;
  align-items:start
}
.contact-connect__list i{
  color:#c7a55e;
  font-size:1rem
}
.contact-connect__list span{
  display:block;
  margin-bottom:.22rem;
  color:#c7a55e;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.contact-connect__list strong,.contact-connect__list a{
  color:#fff;
  font-size:.9rem;
  font-weight:600;
  line-height:1.5
}
.contact-connect__cta{
  align-self:flex-start;
  margin-top:auto;
  padding:.85rem 1.1rem;
  background:#c7a55e;
  border:1px solid #c7a55e;
  border-radius:0;
  color:#171511;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase
}
.contact-connect__cta:hover{
  background:#fff;
  border-color:#fff;
  color:#171511
}
.contact-connect__cta i,.contact-connect__submit i{
  margin-left:.5rem
}
.contact-connect__form{
  background:#fff;
  color:#171511
}
.contact-connect__form h2{
  font-size:clamp(2.5rem,4vw,4.1rem)
}
.contact-connect__form>p{
  margin:1rem 0 2.25rem;
  color:#5c564d
}
.contact-connect__form label{
  display:block;
  margin-bottom:.45rem;
  color:#4f493f;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.contact-connect__form .form-control{
  min-height:52px;
  border:1px solid #d5cbbb;
  border-radius:0;
  background:#fff
}
.contact-connect__form textarea.form-control{
  min-height:145px
}
.contact-connect__form .form-control:focus{
  border-color:#a98338;
  box-shadow:0 0 0 .18rem rgba(169,131,56,.14)
}
.contact-connect__submit{
  padding:.9rem 1.2rem;
  background:#171511;
  border:1px solid #171511;
  border-radius:0;
  color:#fff;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase
}
.contact-connect__submit:hover{
  background:#a98338;
  border-color:#a98338;
  color:#fff
}
@media(max-width:991px){
  .contact-connect{
    padding:4.5rem 0
  }
  .contact-connect__cta{
    margin-top:2.4rem
  }
}

/* Gold accent system */
:root{
  --red:#d8b56a
}
.nav-link:hover{
  color:#d8b56a!important
}
.btn-red:hover{
  background:#a98338;
  border-color:#a98338
}

/* Homepage editorial image treatments */
.story-panel--light .story-panel__media{
  padding:0 1.25rem 1.25rem 0
}
.story-panel--light .story-panel__media:before{
  content:'01 / THE INSTITUTE';
  position:absolute;
  z-index:2;
  top:1.25rem;
  left:-1.25rem;
  padding:.55rem .75rem;
  background:#171511;
  color:#d8b56a;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.story-panel--light .story-panel__media:after{
  right:0;
  bottom:0;
  width:52%;
  height:18px
}
.story-panel--light .story-panel__media img{
  clip-path:polygon(0 0,100% 0,100% 93%,93% 100%,0 100%);
  filter:saturate(.78) contrast(1.06)
}
.story-panel--warm .story-panel__media{
  padding:1.25rem 0 0 1.25rem
}
.story-panel--warm .story-panel__media:before{
  content:'02 / PRACTICAL LEARNING';
  position:absolute;
  z-index:2;
  right:-1.25rem;
  bottom:1.25rem;
  padding:.55rem .75rem;
  background:#fff;
  color:#171511;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.story-panel--warm .story-panel__media:after{
  top:0;
  bottom:auto;
  left:0;
  width:18px;
  height:48%
}
.story-panel--warm .story-panel__media img{
  clip-path:polygon(7% 0,100% 0,100% 100%,0 100%,0 7%);
  filter:saturate(.7) contrast(1.1)
}
@media(max-width:991px){
  .story-panel--light .story-panel__media,.story-panel--warm .story-panel__media{
    padding:0
  }
  .story-panel--light .story-panel__media:before{
    left:1rem
  }
  .story-panel--warm .story-panel__media:before{
    right:1rem;
    bottom:1rem
  }
  .story-panel--light .story-panel__media:after{
    right:-8px;
    bottom:-8px
  }
  .story-panel--warm .story-panel__media:after{
    top:auto;
    bottom:-8px;
    left:-8px;
    width:45%;
    height:14px
  }
}
.story-panel--light .story-panel__media:before,
.story-panel--warm .story-panel__media:before{
  content:'';
  width:3.5rem;
  height:4px;
  padding:0
}
.story-panel--light .story-panel__media:before{
  background:#d8b56a
}
.story-panel--warm .story-panel__media:before{
  background:#171511
}

/* Source: css/info-points-refinement.css */
.info-points{
  padding:4rem 0 5rem!important;
  background:#f3eee6!important
}
.info-points__intro{
  max-width:650px;
  margin:0 0 2.2rem
}
.info-points__intro h2{
  margin:0;
  color:#151411;
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(2rem,3.5vw,3.45rem);
  font-weight:700;
  letter-spacing:-.055em;
  line-height:1.05
}
.info-points .signal-card{
  height:100%;
  min-height:220px;
  padding:1.8rem;
  background:#fff;
  border:1px solid #ddd2bf;
  color:#171511
}
.info-points .signal-card i{
  display:block;
  margin:0 0 2.5rem;
  color:#ad8632;
  font-size:1.65rem
}
.info-points .signal-card h3{
  display:block!important;
  margin:0 0 .7rem!important;
  color:#171511!important;
  font-family:Poppins,Arial,sans-serif;
  font-size:1.15rem!important;
  font-weight:700
}
.info-points .signal-card p{
  display:block!important;
  margin:0!important;
  color:#5d5951!important;
  font-size:.88rem!important;
  line-height:1.65
}
.info-points .signal-card:hover{
  transform:translateY(-4px);
  border-color:#d8b56a
}
@media(max-width:991px){
  .info-points{
    padding:3.5rem 0!important
  }
  .info-points .signal-card{
    min-height:0
  }

}

/* Source: css/about-intro-refinement.css */
.info-intro--about{
  padding:4rem 0;
  background:linear-gradient(90deg,#f8f7f4 0%,#fff 58%)
}
.info-intro--about .row{
  align-items:flex-start!important
}
.info-intro--about .page-media{
  position:sticky;
  top:7rem;
  padding:0 1.1rem 1.1rem 0
}
.info-intro--about .page-media:before{
  content:'';
  position:absolute;
  inset:1.1rem -1.1rem -1.1rem 1.1rem;
  border:1px solid #d8b56a;
  z-index:0
}
.info-intro--about .page-media>img{
  position:relative;
  z-index:1;
  width:100%;
  height:clamp(560px,52vw,720px);
  aspect-ratio:auto;
  object-fit:cover;
  filter:none
}
.about-media-label{
  position:absolute;
  z-index:2;
  left:1.15rem;
  bottom:1.75rem;
  padding:.65rem .85rem;
  background:#171511;
  color:#fff;
  font-family:Poppins,Arial,sans-serif;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.info-intro--about .section-title{
  max-width:740px;
  font-size:clamp(2.7rem,4.1vw,4.55rem);
  line-height:1.02
}
.info-intro--about .red-rule{
  background:#d8b56a
}
.about-intro-lead{
  max-width:760px;
  margin:0 0 1.65rem!important;
  font-size:1.18rem!important;
  line-height:1.55
}
.about-copy-grid{
  display:flex;
  flex-direction:column;
  gap:0
}
.about-copy-item{
  display:grid;
  grid-template-columns:minmax(118px,.42fr) minmax(0,1fr);
  gap:1.4rem;
  align-items:start;
  padding:1.15rem 0;
  border-top:1px solid #ded8cd
}
.about-copy-item:last-child{
  border-bottom:1px solid #ded8cd
}
.about-copy-item>span{
  padding-top:.18rem;
  color:#a98338;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.4;
  text-transform:uppercase
}
.about-copy-item p{
  margin:0;
  color:#403c35;
  font-size:1rem;
  line-height:1.68
}
@media(max-width:991px){
  .info-intro--about{
    padding:3.75rem 0
  }
  .info-intro--about .page-media{
    position:relative;
    top:auto;
    margin:0 1rem 2.75rem 0
  }
  .info-intro--about .page-media>img{
    height:340px
  }
  .info-intro--about .section-title{
    font-size:clamp(2.4rem,10vw,3.5rem)
  }
  .about-copy-item{
    grid-template-columns:1fr;
    gap:.5rem
  }
}

/* Source: css/header-menu-refinement.css */
.brand-logos .partner-logo{
  max-height:34px!important;
  max-width:130px;
  object-fit:contain
}
.navbar .dropdown-menu{
  min-width:220px;
  margin-top:.9rem;
  padding:0;
  background:#151511;
  border:1px solid rgba(216,181,106,.5);
  border-radius:0;
  box-shadow:0 16px 32px rgba(0,0,0,.28);
  overflow:hidden
}
.navbar .dropdown-item{
  padding:.85rem 1rem;
  color:#eee9df;
  font-family:Poppins,Arial,sans-serif;
  font-size:.78rem;
  font-weight:500;
  transition:background .15s,color .15s
}
.navbar .dropdown-item:hover,.navbar .dropdown-item:focus{
  background:#d8b56a;
  color:#17140e
}
.navbar .dropdown-item:active,.navbar .dropdown-item.active{
  background:#a88234;
  color:#fff
}
.navbar .nav-link:focus,.navbar .nav-link:active{
  color:#d8b56a!important;
  background:transparent
}
.navbar .nav-link:hover{
  color:#d8b56a!important
}
.dropdown-toggle.show{
  color:#d8b56a!important
}
@media(max-width:1399.98px){
  .navbar-toggler{
    border:1px solid rgba(216,181,106,.7)!important;
    padding:.7rem!important
  }
  .navbar-toggler:focus{
    box-shadow:0 0 0 .18rem rgba(216,181,106,.25)!important
  }
  .navbar-toggler-icon{
    width:1.45em!important;
    height:1.45em!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23d8b56a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")!important
  }
  .offcanvas .dropdown-menu{
    margin:.2rem 0!important;
    padding:0!important;
    background:#171511!important;
    border:1px solid rgba(216,181,106,.25)!important
  }
  .offcanvas .dropdown-item{
    padding:.65rem 1rem!important
  }
  .brand-logos .partner-logo{
    max-height:28px!important;
    max-width:105px
  }

}
@media(max-width:575px){
  .ai-hero,.min-vh-75{
    min-height:calc(100svh - 106px)!important
  }

}

/* Source: css/degree-architecture.css */
.degree-architecture{
  padding:5.5rem 0;
  background:#f2eee6
}
.degree-architecture__head{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:4rem;
  align-items:end;
  margin-bottom:2.2rem
}
.degree-chip{
  display:inline-block;
  margin-bottom:1rem;
  padding:.5rem .8rem;
  background:#d8b56a;
  color:#15130e;
  font-family:Poppins,Arial,sans-serif;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.degree-architecture__head h2{
  margin:0;
  color:#151511;
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(2.7rem,5vw,5.1rem);
  font-weight:700;
  letter-spacing:-.065em;
  line-height:.94
}
.degree-architecture__head p{
  margin:0 0 .35rem;
  color:#4d4942;
  font-size:1.05rem;
  line-height:1.7
}
.degree-architecture__grid{
  display:grid;
  grid-template-columns:1.65fr 1fr;
  gap:0
}
.degree-architecture__image{
  min-height:540px;
  background:#171511
}
.degree-architecture__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center
}
.degree-architecture__learning{
  padding:2.4rem;
  background:#171511;
  color:#fff
}
.degree-architecture__learning .eyebrow{
  color:#d8b56a
}
.degree-architecture__learning h3{
  margin:.65rem 0 1.7rem;
  font-family:Poppins,Arial,sans-serif;
  font-size:2rem;
  letter-spacing:-.04em
}
.degree-architecture__learning ul{
  margin:0;
  padding:0;
  list-style:none
}
.degree-architecture__learning li{
  padding:.9rem 0;
  border-top:1px solid rgba(255,255,255,.18);
  font-size:.92rem
}
.degree-architecture__learning li:before{
  content:'+';
  display:inline-block;
  width:1.3rem;
  color:#d8b56a;
  font-size:1.1rem
}
.degree-architecture__career{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1.05fr 1.3fr auto;
  gap:2.5rem;
  align-items:center;
  padding:2rem 2.3rem;
  background:#d8b56a;
  color:#17130c
}
.degree-architecture__career span{
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.degree-architecture__career h3{
  margin:.45rem 0 0;
  font-family:Poppins,Arial,sans-serif;
  font-size:1.7rem;
  letter-spacing:-.04em
}
.degree-architecture__career p{
  margin:0;
  font-size:.9rem;
  line-height:1.65
}
.degree-architecture__career .btn-red{
  background:#171511;
  border-color:#171511;
  color:#fff;
  white-space:nowrap
}
.degree-architecture__career .btn-red:hover{
  background:#fff;
  color:#171511;
  border-color:#fff
}
@media(max-width:991px){
  .degree-architecture{
    padding:3.75rem 0
  }
  .degree-architecture__head,.degree-architecture__grid{
    grid-template-columns:1fr
  }
  .degree-architecture__head{
    gap:1.2rem;
    margin-bottom:1.2rem
  }
  .degree-architecture__grid{
    gap:0
  }
  .degree-architecture__image{
    min-height:0;
    aspect-ratio:16 / 9
  }
  .degree-architecture__image img{
    object-fit:contain
  }
  .degree-architecture__learning{
    padding:1.6rem
  }
  .degree-architecture__career{
    grid-template-columns:1fr;
    gap:1rem;
    padding:1.6rem
  }
  .degree-architecture__career .btn-red{
    justify-self:start
  }

}

/* Source: css/advanced-programme-layouts.css */
.skills-studio{
  padding:5.5rem 0;
  background:#fff
}
.skills-studio__head{
  max-width:800px;
  margin:0 auto 3rem;
  text-align:center
}
.skills-studio__head h2,.masters-track h2{
  margin:0;
  font-family:Poppins,Arial,sans-serif;
  font-weight:700;
  letter-spacing:-.06em;
  line-height:.98
}
.skills-studio__head h2{
  font-size:clamp(2.6rem,4.5vw,4.6rem)
}
.skills-studio__head p{
  max-width:610px;
  margin:1.2rem auto 0;
  color:#5d5951;
  line-height:1.7
}
.skills-card{
  height:100%;
  overflow:hidden;
  background:#171511;
  color:#fff
}
.skills-card>img{
  display:block;
  width:100%;
  height:265px;
  object-fit:cover;
  filter:grayscale(.45) contrast(1.08)
}
.skills-card__body{
  padding:2rem
}
.skills-card__body>span{
  color:#d8b56a;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.skills-card h3{
  margin:.55rem 0 .9rem;
  font-family:Poppins,Arial,sans-serif;
  font-size:1.8rem;
  letter-spacing:-.045em
}
.skills-card p{
  color:#d9d6ce;
  font-size:.9rem;
  line-height:1.65
}
.skills-card ul{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  margin:1.4rem 0;
  padding:0;
  list-style:none
}
.skills-card li{
  color:#e9e5da;
  font-size:.75rem;
  line-height:1.45
}
.skills-card li:before{
  content:'•';
  margin-right:.45rem;
  color:#d8b56a
}
.skills-card a{
  color:#d8b56a;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase
}
.skills-card a i{
  margin-left:.4rem
}
.masters-track{
  padding:4rem 0;
  background:#f2eee6;
  color:#171511
}
.masters-track__top{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:4rem;
  align-items:end;
  margin-bottom:2rem
}
.masters-track h2{
  font-size:clamp(2.7rem,5vw,5.15rem)
}
.masters-track__top>p{
  margin:0;
  color:#4d4942;
  font-size:1.05rem;
  line-height:1.7
}
.masters-track__content{
  display:grid;
  grid-template-columns:1.65fr 1fr;
  background:#24211d
}
.masters-track__image{
  min-height:570px
}
.masters-track__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:grayscale(.5)
}
.masters-track__outcomes{
  padding:2.7rem;
  color:#fff
}
.masters-track__outcomes .eyebrow{
  color:#d8b56a
}
.masters-track__outcomes h3{
  margin:.65rem 0 2rem;
  font-family:Poppins,Arial,sans-serif;
  font-size:2.2rem;
  letter-spacing:-.05em
}
.masters-track__list>div{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:.7rem;
  padding:.85rem 0;
  border-top:1px solid rgba(255,255,255,.14)
}
.masters-track__list span{
  color:#d8b56a;
  font-size:.72rem;
  font-weight:700
}
.masters-track__list p{
  margin:0;
  font-size:.9rem;
  line-height:1.5
}
.masters-track__footer{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:center;
  padding:1.6rem 2rem;
  background:#d8b56a;
  color:#17130c
}
.masters-track__footer p{
  max-width:900px;
  margin:0;
  font-size:.88rem;
  line-height:1.65
}
.masters-track__footer strong{
  display:block;
  margin-bottom:.35rem;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase
}
.masters-track__footer .btn-red{
  background:#171511;
  border-color:#171511;
  color:#fff;
  white-space:nowrap
}
.masters-track__footer .btn-red:hover{
  background:#fff;
  color:#171511;
  border-color:#fff
}
@media(max-width:991px){
  .skills-studio,.masters-track{
    padding:3.75rem 0
  }
  .skills-card ul{
    grid-template-columns:1fr
  }
  .masters-track__top,.masters-track__content{
    grid-template-columns:1fr;
    gap:1.2rem
  }
  .masters-track__image{
    min-height:0;
    aspect-ratio:16 / 9
  }
  .masters-track__image img{
    object-fit:contain
  }
  .masters-track__outcomes{
    padding:1.6rem
  }
  .masters-track__footer{
    display:block;
    padding:1.5rem
  }
  .masters-track__footer .btn-red{
    margin-top:1.2rem
  }
  .masters-track h2{
    font-size:clamp(2.5rem,10vw,3.7rem)
  }

}

/* Source: css/diploma-track-layout.css */
/* Short-term courses: visual editorial stories rather than a card grid. */
.diploma-spotlight:before{
  height:37rem
}
.diploma-spotlight__head{
  min-height:32rem
}
.diploma-spotlight .degree-chip{
  display:inline-flex!important;
  width:max-content!important;
  align-items:center;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:#e4c474!important
}
.diploma-spotlight__head h2{
  font-size:clamp(3.4rem,6.2vw,6.5rem);
  line-height:.88
}
@media(max-width:991px){
  .diploma-spotlight:before{
    height:25rem
  }
  .diploma-spotlight__head{
    min-height:20rem
  }

}
@media(max-width:575px){
  .diploma-spotlight:before{
    height:21rem
  }
  .diploma-spotlight__head{
    min-height:17rem
  }

}

.diploma-spotlight{
  position:relative;
  padding:7rem 0;
  background:#ece7dc;
  color:#111312
}
.diploma-spotlight:before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:17rem;
  background:#101211
}
.diploma-spotlight .container{
  position:relative
}
.diploma-spotlight__head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.5fr .75fr;
  column-gap:4rem;
  min-height:17rem;
  color:#fff
}
.diploma-spotlight .degree-chip{
  grid-column:1;
  padding-top:.1rem;
  color:#e4c474;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase
}
.diploma-spotlight .degree-chip:before{
  content:'—';
  padding-right:.5rem
}
.diploma-spotlight__head h2{
  grid-column:1;
  margin:.7rem 0 0;
  align-self:start;
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(3.4rem,7vw,7.5rem);
  font-weight:700;
  letter-spacing:-.085em;
  line-height:.82
}
.diploma-spotlight__head>p{
  grid-column:2;
  grid-row:2;
  align-self:end;
  max-width:295px;
  margin:0 0 2.4rem;
  color:#d3d3ce;
  font-size:1.05rem;
  line-height:1.65
}
.diploma-spotlight__stories{
  position:relative;
  margin-top:4.25rem
}
.course-story{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:center;
  margin-bottom:5rem
}
.course-story--reverse{
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)
}
.course-story--reverse .course-story__image{
  grid-column:2
}
.course-story--reverse .course-story__content{
  grid-column:1;
  grid-row:1;
  margin:-3rem -2.7rem -3rem 0
}
.course-story__image{
  position:relative;
  grid-column:1;
  min-height:550px;
  overflow:hidden;
  background:#161816
}
.course-story__image:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(130deg,rgba(0,0,0,.05),rgba(0,0,0,.35))
}
.course-story__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.78) contrast(1.06)
}
.course-story__image span{
  position:absolute;
  z-index:1;
  top:1.5rem;
  left:1.5rem;
  padding:.52rem .8rem;
  background:#dec070;
  color:#12120f;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.course-story__content{
  position:relative;
  z-index:2;
  grid-column:2;
  margin:-3rem 0 -3rem -2.7rem;
  padding:3.3rem;
  background:#171a18;
  color:#f8f7f3;
  box-shadow:0 16px 35px rgba(18,19,17,.16)
}
.course-story__content:before{
  content:'';
  position:absolute;
  top:0;
  right:0;
  width:5.75rem;
  height:5.75rem;
  border-top:2px solid #dec070;
  border-right:2px solid #dec070
}
.course-story__content h3{
  max-width:510px;
  margin:0;
  font-family:Poppins,Arial,sans-serif;
  font-size:clamp(2.15rem,3.7vw,4.35rem);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:.9
}
.course-story__intro{
  margin:1.35rem 0 1.8rem;
  color:#d8d7d1;
  font-size:1rem;
  line-height:1.7
}
.course-story__details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  padding:1.25rem 0;
  border-top:1px solid rgba(255,255,255,.19);
  border-bottom:1px solid rgba(255,255,255,.19)
}
.course-story__details strong{
  display:block;
  margin-bottom:.7rem;
  color:#dec070;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.course-story__details ul{
  margin:0;
  padding:0;
  list-style:none
}
.course-story__details li{
  position:relative;
  margin-bottom:.45rem;
  padding-left:.8rem;
  color:#f0efeb;
  font-size:.78rem;
  line-height:1.45
}
.course-story__details li:before{
  content:'•';
  position:absolute;
  left:0;
  color:#dec070
}
.course-story__details p{
  margin:0;
  color:#eceae4;
  font-size:.8rem;
  line-height:1.55
}
.course-story__link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:1.6rem;
  color:#dec070;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase
}
.course-story__link i{
  font-size:1.08rem;
  transition:transform .25s ease
}
.course-story__link:hover{
  color:#fff
}
.course-story__link:hover i{
  transform:translate(3px,-3px)
}
@media(max-width:991px){
  .diploma-spotlight{
    padding:5rem 0
  }
  .diploma-spotlight:before{
    height:13rem
  }
  .diploma-spotlight__head{
    grid-template-columns:1fr;
    min-height:13rem
  }
  .diploma-spotlight__head h2{
    font-size:clamp(3.3rem,11vw,5.6rem)
  }
  .diploma-spotlight__head>p{
    display:none
  }
  .diploma-spotlight__stories{
    margin-top:3rem
  }
  .course-story,.course-story--reverse{
    grid-template-columns:1fr;
    margin-bottom:3rem
  }
  .course-story__image,.course-story--reverse .course-story__image{
    grid-column:1;
    grid-row:1;
    min-height:400px
  }
  .course-story__content,.course-story--reverse .course-story__content{
    grid-column:1;
    grid-row:2;
    margin:-2.1rem 1.5rem 0;
    padding:2.3rem
  }
  .course-story--reverse .course-story__content{
    grid-row:2
  }

}
@media(max-width:575px){
  .diploma-spotlight{
    padding:4rem 0
  }
  .diploma-spotlight:before{
    height:11rem
  }
  .diploma-spotlight__head{
    min-height:11rem
  }
  .diploma-spotlight__head h2{
    font-size:3.5rem
  }
  .diploma-spotlight__head h2 br{
    display:none
  }
  .diploma-spotlight__stories{
    margin-top:2rem
  }
  .course-story__image,.course-story--reverse .course-story__image{
    min-height:260px
  }
  .course-story__image span{
    top:1rem;
    left:1rem
  }
  .course-story__content,.course-story--reverse .course-story__content{
    margin:-1.4rem .75rem 0;
    padding:1.65rem
  }
  .course-story__content:before{
    width:3.6rem;
    height:3.6rem
  }
  .course-story__content h3{
    font-size:2.01rem
  }
  .course-story__intro{
    font-size:.92rem
  }
  .course-story__details{
    grid-template-columns:1fr;
    gap:1rem
  }
  .course-story__details>div+div{
    padding-top:1rem;
    border-top:1px solid rgba(255,255,255,.13)
  }

}

/* Source: css/diploma-spotlight-fix.css */
/* A single, vertically balanced opening stage for short-term courses. */
.diploma-spotlight {
  padding:0 0 3.2rem
}

.diploma-spotlight:before {
  height:24rem
}

.diploma-spotlight__head {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);
  grid-template-rows:1fr;
  column-gap:5rem;
  min-height:24rem;
  padding:3rem 0 3.3rem;
  align-items:center
}

.diploma-spotlight .degree-chip {
  position:absolute;
  top:3rem;
  left:0;
  display:inline-flex!important;
  width:max-content!important;
  align-items:center;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:#e4c474!important
}

.diploma-spotlight__head h2 {
  grid-column:1;
  grid-row:1;
  margin:2.1rem 0 0;
  font-size:clamp(3.3rem,5.35vw,5.7rem);
  line-height:.91
}

.diploma-spotlight__head>p {
  grid-column:2;
  grid-row:1;
  align-self:center;
  margin:2.1rem 0 0;
  max-width:320px;
  padding-left:1.35rem;
  border-left:2px solid #dec070;
  color:#d9d8d3;
  font-size:1.02rem
}

.diploma-spotlight__stories {
  margin-top:15
}

.course-story,
.course-story--reverse {
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  min-height:500px;
  margin-bottom:2.2rem
}

.course-story__image,
.course-story--reverse .course-story__image {
  min-height:0;
  height:100%
}

.course-story__content,
.course-story--reverse .course-story__content {
  margin:0
}

.course-story--reverse .course-story__image {
  grid-column:2
}

.course-story--reverse .course-story__content {
  grid-column:1;
  grid-row:1
}

@media(max-width:991px) {
  .diploma-spotlight {
    padding-bottom:2.5rem
  }

  .diploma-spotlight:before {
    height:20rem
  }

  .diploma-spotlight__head {
    grid-template-columns:1fr;
    min-height:20rem;
    padding:2.5rem 0
  }

  .diploma-spotlight .degree-chip {
    top:2.5rem
  }

  .diploma-spotlight__head h2 {
    margin-top:1.5rem;
    font-size:clamp(3.1rem,10vw,5rem)
  }

  .diploma-spotlight__head>p {
    display:none
  }

  .course-story,
  .course-story--reverse {
    grid-template-columns:1fr;
    min-height:0;
    margin-bottom:3rem
  }

  .course-story__image,
  .course-story--reverse .course-story__image {
    grid-column:1;
    grid-row:1;
    height:auto;
    min-height:280px
  }

  .course-story__content,
  .course-story--reverse .course-story__content {
    grid-column:1;
    grid-row:2;
    margin:-2.1rem 1.5rem 0
  }

}

@media(max-width:575px) {
  .diploma-spotlight:before {
    height:17rem
  }

  .diploma-spotlight__head {
    min-height:17rem;
    padding:2rem 0
  }

  .diploma-spotlight .degree-chip {
    top:2rem
  }

  .diploma-spotlight__head h2 {
    margin-top:1.25rem;
    font-size:3.25rem
  }

  .course-story__image,
  .course-story--reverse .course-story__image {
    min-height:235px
  }

  .course-story__content,
  .course-story--reverse .course-story__content {
    margin:-1.4rem .75rem 0
  }

}

/* Short-term course opening heading */
.diploma-spotlight__head h2{
  font-size:clamp(2.85rem,4.25vw,4.7rem);
  font-weight:600;
  line-height:.96
}
@media(max-width:991px){
  .diploma-spotlight__head h2{
    font-size:clamp(2.65rem,8vw,4.1rem)
  }
}

/* Why Us: architectural image treatment. */
.info-intro--why .page-media{
  isolation:isolate;
  padding:0 1.4rem 1.4rem 0;
  transition:transform .35s ease
}
.info-intro--why .page-media:before{
  content:'';
  position:absolute;
  z-index:0;
  inset:1.35rem -.1rem -.1rem 1.4rem;
  border:1px solid #d8b56a;
  background:linear-gradient(135deg,rgba(216,181,106,.13),transparent 48%)
}

.info-intro--why .page-media>img{
  position:relative;
  z-index:1;
  display:block;
  filter:grayscale(.18) contrast(1.08) brightness(.92);
  box-shadow:18px 22px 42px rgba(15,15,13,.16);
  transition:filter .35s ease,transform .5s ease
}
.info-intro--why .page-media:hover{
  transform:translateY(-5px)
}
.info-intro--why .page-media:hover>img{
  transform:scale(1.015);
  filter:grayscale(0) contrast(1.06) brightness(1)
}
@media(max-width:991px){
  .info-intro--why .page-media{
    margin:0 1rem 2.5rem 0
  }
}
@media(max-width:575px){
  .diploma-spotlight__head h2{
    font-size:2.65rem
  }
}
.diploma-spotlight__title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center
}
.diploma-spotlight__title .degree-chip{
  position:static;
  margin:0 0 1.45rem;
  transform:none
}
.diploma-spotlight__title h2{
  margin:0;
  font-size:clamp(2.85rem,4.25vw,4.7rem);
  font-weight:600;
  line-height:.96
}
@media(max-width:991px){
  .diploma-spotlight__title h2{
    font-size:clamp(2.65rem,8vw,4.1rem)
  }
}
@media(max-width:575px){
  .diploma-spotlight__title h2{
    font-size:2.65rem;
    line-height: 1.2em;
    letter-spacing: .0001em
  }
}

/* Shared framed image treatment across the Experience pages. */
.info-intro--experience .page-media,
.info-intro--teaching .page-media,
.info-intro--projects .page-media,
.info-intro--career .page-media,
.info-intro--beyond .page-media,
.info-intro--visits .page-media,
.info-intro--relations .page-media{
  isolation:isolate;
  padding:0 1.4rem 1.4rem 0;
  transition:transform .35s ease
}
.info-intro--experience .page-media:before,
.info-intro--teaching .page-media:before,
.info-intro--projects .page-media:before,
.info-intro--career .page-media:before,
.info-intro--beyond .page-media:before,
.info-intro--visits .page-media:before,
.info-intro--relations .page-media:before{
  content:'';
  position:absolute;
  z-index:0;
  inset:1.35rem -.1rem -.1rem 1.4rem;
  border:1px solid #d8b56a;
  background:linear-gradient(135deg,rgba(216,181,106,.13),transparent 48%)
}
.info-intro--experience .page-media>img,
.info-intro--teaching .page-media>img,
.info-intro--projects .page-media>img,
.info-intro--career .page-media>img,
.info-intro--beyond .page-media>img,
.info-intro--visits .page-media>img,
.info-intro--relations .page-media>img{
  position:relative;
  z-index:1;
  display:block;
  filter:grayscale(.18) contrast(1.08) brightness(1);
  box-shadow:18px 22px 42px rgba(15,15,13,.16);
  transition:filter .35s ease,transform .5s ease
}
.info-intro--experience .page-media:hover,
.info-intro--teaching .page-media:hover,
.info-intro--projects .page-media:hover,
.info-intro--career .page-media:hover,
.info-intro--beyond .page-media:hover,
.info-intro--visits .page-media:hover,
.info-intro--relations .page-media:hover{
  transform:translateY(-5px)
}
.info-intro--experience .page-media:hover>img,
.info-intro--teaching .page-media:hover>img,
.info-intro--projects .page-media:hover>img,
.info-intro--career .page-media:hover>img,
.info-intro--beyond .page-media:hover>img,
.info-intro--visits .page-media:hover>img,
.info-intro--relations .page-media:hover>img{
  transform:scale(1.015);
  filter:grayscale(0) contrast(1.06) brightness(1)
}
@media(max-width:991px){
  .info-intro--experience .page-media,
  .info-intro--teaching .page-media,
  .info-intro--projects .page-media,
  .info-intro--career .page-media,
  .info-intro--beyond .page-media,
  .info-intro--visits .page-media,
  .info-intro--relations .page-media{
    margin:0 1rem 2.5rem 0
  }
}

/* Homepage: distinctive editorial framing for the two content photographs. */
.page-home .story-panel__media{
  position:relative;
  isolation:isolate;
  overflow:visible;
  transition:transform .4s cubic-bezier(.2,.75,.25,1)
}
.page-home .story-panel__media img{
  position:relative;
  z-index:1;
  width:100%;
  display:block;
  box-shadow:20px 26px 48px rgba(20,18,14,.17);
  transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .45s ease
}
.page-home .story-panel__media:after{
  content:'';
  position:absolute;
  z-index:0;
  pointer-events:none
}
.page-home .story-panel--light .story-panel__media{
  padding:0 1.65rem 1.65rem 0
}
.page-home .story-panel--light .story-panel__media:after{
  inset:1.25rem 0 0 1.25rem;
  border:1px solid #d8b56a;
  background:linear-gradient(135deg,rgba(216,181,106,.18),transparent 53%)
}
.page-home .story-panel--light .story-panel__media:before{
  content:'01  /  THE INSTITUTE';
  position:absolute;
  z-index:2;
  top:1.25rem;
  left:-.85rem;
  padding:.55rem .75rem;
  background:#171511;
  color:#e4c474;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase
}
.page-home .story-panel--light .story-panel__media img{
  clip-path:polygon(0 0,100% 0,100% 94%,94% 100%,0 100%);
  filter:saturate(.76) contrast(1.08) brightness(.94)
}
.page-home .story-panel--warm .story-panel__media{
  padding:1.65rem 0 0 1.65rem
}
.page-home .story-panel--warm .story-panel__media:after{
  inset:0 1.25rem 1.25rem 0;
  border:1px solid #171511;
  background:linear-gradient(315deg,rgba(216,181,106,.22),transparent 54%)
}
.page-home .story-panel--warm .story-panel__media:before{
  content:'02  /  PRACTICAL LEARNING';
  position:absolute;
  z-index:2;
  right:-.85rem;
  bottom:1.25rem;
  padding:.55rem .75rem;
  background:#d8b56a;
  color:#171511;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase
}
.page-home .story-panel--warm .story-panel__media img{
  clip-path:polygon(6% 0,100% 0,100% 100%,0 100%,0 6%);
  filter:saturate(.72) contrast(1.1) brightness(.94)
}
.page-home .story-panel__media:hover{
  transform:translateY(-6px)
}
.page-home .story-panel__media:hover img{
  transform:scale(1.018);
  filter:saturate(.96) contrast(1.04) brightness(1)
}
@media(max-width:991px){
  .page-home .story-panel__media{
    margin:1rem .85rem 1.5rem
  }
  .page-home .story-panel--light .story-panel__media,
  .page-home .story-panel--warm .story-panel__media{
    padding:0 1rem 1rem 0
  }
  .page-home .story-panel--warm .story-panel__media:after{
    inset:1rem 0 0 1rem
  }
  .page-home .story-panel--light .story-panel__media:before{
    top:.9rem;
    left:-.2rem
  }
  .page-home .story-panel--warm .story-panel__media:before{
    right:-.2rem;
    bottom:.9rem
  }
}

/* Persistent image markers: kept in the document so they remain visible above
   the photo at every browser zoom level. */
.page-home .story-panel__media:before{
  content:none!important
}
.page-home .story-panel__media-label{
  position:absolute;
  z-index:4;
  top:1.15rem;
  left:1.15rem;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.6rem .8rem;
  background:rgba(15,15,13,.94);
  border-left:3px solid #d8b56a;
  color:#d8b56a;
  font:800 .83rem/1 Poppins,Arial,sans-serif;
  letter-spacing:.04em
}
.page-home .story-panel__media-label small{
  color:#fff;
  font:700 .57rem/1 Poppins,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase
}
.page-home .story-panel__media-corner{
  position:absolute;
  z-index:3;
  right:1.1rem;
  bottom:1.1rem;
  width:3.25rem;
  height:3.25rem;
  border-right:2px solid #d8b56a;
  border-bottom:2px solid #d8b56a;
  filter:drop-shadow(0 1px 5px rgba(0,0,0,.55))
}
.page-home .story-panel--warm .story-panel__media-label{
  top:auto;
  right:1.15rem;
  bottom:1.15rem;
  left:auto;
  background:#d8b56a;
  border-color:#171511;
  color:#171511
}
.page-home .story-panel--warm .story-panel__media-label small{
  color:#171511
}
.page-home .story-panel--warm .story-panel__media-corner{
  top:1.1rem;
  right:auto;
  bottom:auto;
  left:1.1rem;
  border-color:#fff;
  border-top:2px solid #fff;
  border-right:0;
  border-bottom:0
}
@media(max-width:575px){
  .page-home .story-panel__media-label{
    top:.75rem;
    left:.75rem
  }
  .page-home .story-panel--warm .story-panel__media-label{
    top:auto;
    right:.75rem;
    bottom:.75rem;
    left:auto
  }
  .page-home .story-panel__media-corner{
    right:.75rem;
    bottom:.75rem;
    width:2.6rem;
    height:2.6rem
  }
  .page-home .story-panel--warm .story-panel__media-corner{
    top:.75rem;
    right:auto;
    bottom:auto;
    left:.75rem
  }
}

/* Keep the homepage photography clean: the content and badge carry the visual
   hierarchy, without an ornamental outer frame. */
.page-home .story-panel__media,
.page-home .story-panel--light .story-panel__media,
.page-home .story-panel--warm .story-panel__media{
  padding:0!important
}
.page-home .story-panel__media:after,
.page-home .story-panel__media-corner{
  content:none!important;
  display:none
}
.page-home .story-panel__media img,
.page-home .story-panel--light .story-panel__media img,
.page-home .story-panel--warm .story-panel__media img{
  clip-path:none;
  border-bottom:4px solid #d8b56a;
  box-shadow:0 18px 36px rgba(20,18,14,.14)
}
.page-home .story-panel__media-label{
  top:auto;
  right:1.1rem;
  bottom:1.1rem;
  left:auto
}
.page-home .story-panel--warm .story-panel__media-label{
  top:auto;
  right:1.1rem;
  bottom:1.1rem;
  left:auto
}
@media(max-width:575px){
  .page-home .story-panel__media-label,
  .page-home .story-panel--warm .story-panel__media-label{
    right:.75rem;
    bottom:.75rem;
    left:auto
  }
}

/* Homepage photo shape: soft rounded corners with two inset scallops. */
.page-home .story-panel__media,
.page-home .story-panel--light .story-panel__media,
.page-home .story-panel--warm .story-panel__media{
  overflow:hidden;
  border-radius:1.15rem
}
.page-home .story-panel__media-label{
  display:none
}
.page-home .story-panel__media img,
.page-home .story-panel--light .story-panel__media img,
.page-home .story-panel--warm .story-panel__media img{
  border:0;
  border-radius:inherit;
  box-shadow:none
}
.page-home .story-panel__media:before,
.page-home .story-panel__media-corner{
  content:''!important;
  display:block!important;
  position:absolute;
  z-index:3;
  width:clamp(3.3rem,8vw,6.1rem);
  height:clamp(1.8rem,4vw,3.35rem);
  background:#fff;
  pointer-events:none
}
.page-home .story-panel__media:before{
  top:-1px;
  left:50%;
  border-radius:0 0 999px 999px;
  transform:translateX(-50%)
}
.page-home .story-panel__media-corner{
  right:50%;
  bottom:-1px;
  border-radius:999px 999px 0 0;
  transform:translateX(50%);
  filter:none
}
.page-home .story-panel--warm .story-panel__media:before,
.page-home .story-panel--warm .story-panel__media-corner{
  background:#f3eee6
}
.page-home .story-panel--warm .story-panel__media-corner{
  top:auto;
  right:50%;
  bottom:-1px;
  left:auto;
  width:clamp(3.3rem,8vw,6.1rem);
  height:clamp(1.8rem,4vw,3.35rem);
  border:0;
  border-radius:999px 999px 0 0;
  transform:translateX(50%)
}

/* Use a single responsive mask instead of overlay circles. */
.page-home .story-panel__media,
.page-home .story-panel--light .story-panel__media,
.page-home .story-panel--warm .story-panel__media{
  overflow:visible;
  border-radius:0
}
.page-home .story-panel__media:before,
.page-home .story-panel__media-corner{
  content:none!important;
  display:none!important
}
.page-home .story-panel__media img,
.page-home .story-panel--light .story-panel__media img,
.page-home .story-panel--warm .story-panel__media img{
  display:block;
  border:0;
  border-radius:0;
  -webkit-mask:url('../img/home-image-mask.svg?v=2') center / 100% 100% no-repeat;
  mask:url('../img/home-image-mask.svg?v=2') center / 100% 100% no-repeat
}

/* Reset homepage content photography to the original plain presentation. */
.page-home .story-panel__media,
.page-home .story-panel--light .story-panel__media,
.page-home .story-panel--warm .story-panel__media{
  padding:0!important;
  margin:0;
  overflow:visible;
  border-radius:0;
  transform:none!important
}
.page-home .story-panel__media:before,
.page-home .story-panel__media:after{
  content:none!important;
  display:none!important
}
.page-home .story-panel__media img,
.page-home .story-panel--light .story-panel__media img,
.page-home .story-panel--warm .story-panel__media img{
  clip-path:none;
  filter:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none!important;
  transition:none;
  -webkit-mask:none;
  mask:none
}

/* Clean image finish: softened corners and an inset gold keyline. */
.page-home .story-panel__media,
.page-home .story-panel--light .story-panel__media,
.page-home .story-panel--warm .story-panel__media{
  position:relative;
  overflow:hidden!important;
  border-radius:18px
}
.page-home .story-panel__media img,
.page-home .story-panel--light .story-panel__media img,
.page-home .story-panel--warm .story-panel__media img{
  border-radius:18px
}
.page-home .story-panel__media:after{
  content:''!important;
  display:block!important;
  position:absolute;
  z-index:2;
  inset:12px;
  border:1px solid rgba(216,181,106,.82);
  border-radius:9px;
  pointer-events:none
}
.page-home .story-panel--light .story-panel__media:after,
.page-home .story-panel--warm .story-panel__media:after{
  inset:12px;
  width:auto;
  height:auto;
  background:none
}
.page-home .story-panel--warm .story-panel__media:after{
  border-color:#d8b56a!important
}

/* Why Us: separate the benefits catalogue from the learning-method chapter. */
.page-why .why-benefits{
  background:#ece6d9!important
}
.page-why .why-benefits .signal-card{
  background:rgba(255,255,255,.68)
}
.page-why .info-points--why{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#171511,#29241c)!important;
  color:#fff
}
.page-why .info-points--why:before{
  content:'';
  position:absolute;
  width:32rem;
  height:32rem;
  top:-20rem;
  right:-12rem;
  border:1px solid rgba(216,181,106,.35);
  border-radius:50%;
  pointer-events:none
}
.page-why .info-points--why .container{
  position:relative
}
.page-why .info-points--why .section-kicker,
.page-why .info-points--why .signal-card i{
  color:#d8b56a
}
.page-why .info-points--why .info-points__intro h2,
.page-why .info-points--why .signal-card h3{
  color:#fff
}
.page-why .info-points--why .signal-card{
  background:#302d27!important;
  border-color:rgba(216,181,106,.65)!important
}
.page-why .info-points--why .signal-card h3{
  color:#fff!important
}
.page-why .info-points--why .signal-card p{
  color:#f0ece3!important
}

/* Programmes: a dedicated visual hero and editorial programme selector. */
.programmes-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:end;
  padding:10rem 0 5rem;
  background-image:linear-gradient(90deg,rgba(7,8,8,.92) 0%,rgba(7,8,8,.69) 46%,rgba(7,8,8,.18) 100%),url('../img/common-head.webp')!important;
  background-position:center;
  background-size:cover
}
.programmes-hero:after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:5px;
  background:#d8b56a
}
.programmes-hero .container{
  position:relative;
  z-index:1
}
.programmes-hero h1{
  max-width:760px;
  font-size:clamp(3.8rem,7vw,7.2rem);
  font-weight:700;
  letter-spacing:-.08em;
  line-height:.85
}
.programmes-hero .lead{
  max-width:670px;
  margin:1.5rem 0 0;
  color:#f0eee9
}
.programmes-hero__facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(216,181,106,.45)
}
.programmes-hero__facts>div{
  min-height:112px;
  padding:1rem;
  background:rgba(16,16,15,.78)
}
.programmes-hero__facts span{
  display:block;
  color:#d8b56a;
  font-size:1.65rem;
  font-weight:700;
  line-height:1
}
.programmes-hero__facts p{
  margin:.55rem 0 0;
  color:#fff;
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.06em;
  line-height:1.35;
  text-transform:uppercase
}
.programme-showcase{
  padding:6.5rem 0;
  background:#f3eee6
}
.programme-showcase__head{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:4rem;
  align-items:end;
  margin-bottom:2.4rem
}
.programme-showcase__head h2{
  max-width:710px;
  margin:0;
  color:#171511;
  font-size:clamp(2.6rem,4.6vw,5rem);
  font-weight:700;
  letter-spacing:-.075em;
  line-height:.9
}
.programme-showcase__head>p{
  margin:0;
  color:#554f45;
  font-size:1rem;
  line-height:1.7
}
.programme-showcase .programme-card{
  min-height:445px;
  padding:1.8rem;
  border:0;
  box-shadow:0 14px 28px rgba(24,21,16,.09)
}
.programme-card__eyebrow{
  margin:0 0 .8rem!important;
  font-size:.64rem!important;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase
}
.programme-showcase .programme-card h3{
  margin:0;
  font-size:clamp(2rem,2.6vw,2.8rem);
  line-height:.92
}
.programme-showcase .programme-card>div:last-child{
  display:flex;
  flex-direction:column;
  gap:1rem
}
.programme-card__courses{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase
}
.programme-showcase .programme-card strong i{
  margin-left:.4rem;
  font-size:1rem;
  transition:transform .2s ease
}
.programme-showcase .programme-card:hover strong i{
  transform:translateX(5px)
}
.programme-showcase__note{
  max-width:760px;
  margin:2rem 0 0;
  padding-top:1.1rem;
  border-top:1px solid rgba(23,21,17,.18);
  color:#686157;
  font-size:1rem;
  line-height:1.6
}
@media(max-width:991px){
  .programmes-hero{
    min-height:590px;
    padding:8rem 0 3.5rem
  }
  .programmes-hero__facts,.programme-showcase__head{
    grid-template-columns:1fr;
    gap:1rem
  }
  .programmes-hero__facts{
    grid-template-columns:repeat(3,1fr)
  }
  .programme-showcase{
    padding:4.5rem 0
  }
}

/* Short-term course stories: prevent long titles from widening mobile cards. */
@media(max-width:575px){
  .diploma-spotlight .course-story,
  .diploma-spotlight .course-story--reverse{
    width:100%;
    min-width:0
  }
  .diploma-spotlight .course-story__content,
  .diploma-spotlight .course-story--reverse .course-story__content{
    width:auto;
    min-width:0;
    max-width:calc(100% - 1.5rem)
  }
  .diploma-spotlight .course-story__content h3{
    overflow-wrap:anywhere;
    word-break:normal
  }
}

/* Public enquiry forms. */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-security-help{display:block;margin-top:.5rem;color:inherit;font-size:.8rem}
.contact-connect__list a,.admissions-enquiry__contact a,footer a[href^="mailto:"]{overflow-wrap:anywhere}
/* WhatsApp contact, shared across all pages. */
.whatsapp-contact{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));z-index:1030;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 4px 16px #0003;font-size:28px;line-height:1}
.whatsapp-contact:hover,.whatsapp-contact:focus{background:#128c7e;color:#fff}
.whatsapp-contact:focus-visible{outline:3px solid #111;outline-offset:4px}
@media print{.whatsapp-contact{display:none}}
