/* =========================================================
   FTO SHARED HEADER / FOOTER
   Matches the Home page shell exactly.
   Scoped only to .site-header / .site-footer so page content
   and page-specific styles are not changed.
   ========================================================= */

@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/poppins-400.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/poppins-600.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/poppins-700.woff2') format('woff2');}

.site-header,
.site-header *{
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  box-sizing:border-box;
}
.site-footer,
.site-footer *{
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  box-sizing:border-box;
}

/* ---------- Header: Home page dimensions ---------- */
.site-header{
  position:fixed;
  top:0;left:0;width:100%;
  z-index:1000;
  padding:16px 0;
  transition:box-shadow .3s ease;
  background:#fff;
}
.site-header.is-scrolled{box-shadow:0 2px 16px rgba(11,37,69,.14);}
.site-header .container{
  width:100%;
  max-width:1400px;
  margin-inline:auto;
  padding-inline:16px;
}
.site-header .navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  width:100%;
}
.site-header .navbar-brand{display:inline-flex;align-items:center;}
.site-header .navbar-brand img{
  height:44px !important;
  width:auto !important;
  display:block;
}
.site-header .navbar-toggler{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:none;
  border:none;
  border-radius:8px;
  padding:6px 10px;
  font-size:1.625rem;
  line-height:1;
  cursor:pointer;
  color:#13294B;
}
.site-header .navbar-toggler:focus{box-shadow:none;}
.site-header .navbar-toggler:focus-visible{outline:3px solid #1F6FB2;outline-offset:3px;}
.site-header .navbar-collapse{flex-basis:100%;display:none;}
.site-header .navbar-collapse.show{display:block;}
.site-header .navbar-nav{
  display:flex;
  flex-direction:column;
  width:100%;
  list-style:none;
  margin:0;
  padding:0;
}
.site-header .nav-link{
  display:block;
  color:#13294B !important;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif !important;
  font-weight:500 !important;
  font-size:1rem !important;
  line-height:1.5 !important;
  margin:0 14px !important;
  position:relative;
  text-decoration:none !important;
  padding:.5rem 0;
}
.site-header .nav-link:hover,
.site-header .nav-link.active{color:#1F6FB2 !important;}
.site-header .nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:2px;
  background:#1F6FB2;
  transition:width .25s ease;
}
.site-header .nav-link:hover::after,
.site-header .nav-link.active::after{width:100%;}
.site-header .btn-primary-fto{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 26px !important;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif !important;
  font-size:.9375rem !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  background:#1F6FB2 !important;
  color:#fff !important;
  border:1px solid #1F6FB2 !important;
  border-radius:100px !important;
  text-decoration:none !important;
  box-shadow:0 12px 30px -10px rgba(31,111,178,.45);
}
.site-header .btn-primary-fto:hover{
  background:#1F6FB2 !important;
  color:#fff !important;
  transform:translateY(-3px);
  box-shadow:0 18px 36px -10px rgba(31,111,178,.6);
}

/* ---------- Universities dropdown ---------- */
.site-header .fto-nav-dropdown{position:relative;list-style:none;}
.site-header .fto-nav-dropdown > .nav-link{display:flex;align-items:center;gap:5px;cursor:pointer;}
.site-header .fto-dropdown-arrow{font-size:.72em;line-height:1;transition:transform .2s ease;}
.site-header .fto-universities-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(6px);
  min-width:280px;
  padding:8px;
  background:#fff;
  border:1px solid #E4E1D6;
  border-radius:10px;
  box-shadow:0 12px 30px rgba(11,37,69,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  z-index:1100;
}
.site-header .fto-universities-dropdown::before{
  content:"";
  position:absolute;
  top:-6px;left:50%;
  width:12px;height:12px;
  background:#fff;
  border-left:1px solid #E4E1D6;
  border-top:1px solid #E4E1D6;
  transform:translateX(-50%) rotate(45deg);
}
.site-header .fto-universities-dropdown a{
  display:block;
  padding:10px 13px;
  border-radius:7px;
  color:#13294B !important;
  font-size:.9rem !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
  white-space:normal;
}
.site-header .fto-universities-dropdown a:hover,
.site-header .fto-universities-dropdown a:focus-visible{background:#F4F6F8;color:#1F6FB2 !important;}
.site-header .fto-nav-dropdown:hover .fto-universities-dropdown,
.site-header .fto-nav-dropdown:focus-within .fto-universities-dropdown{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.site-header .fto-nav-dropdown:hover .fto-dropdown-arrow,
.site-header .fto-nav-dropdown:focus-within .fto-dropdown-arrow{transform:rotate(180deg);}

/* ---------- Footer: Home page dimensions + typography ---------- */
.site-footer{
  background:#0E1A2B !important;
  color:rgba(255,255,255,.65) !important;
  padding-top:80px !important;
}
.site-footer .container{
  width:100%;
  max-width:1400px;
  margin-inline:auto;
  padding-inline:16px;
}
.site-footer .row{
  display:flex;
  flex-wrap:wrap;
  margin-inline:-12px;
  row-gap:40px;
}
.site-footer .row > *{padding-inline:12px;width:100%;}
.site-footer .col-6{width:50%;}
.site-footer .col-lg-2{width:16.6666%;}
.site-footer .col-lg-4{width:33.3333%;}
.site-footer img.mb-3{
  height:56px !important;
  width:auto !important;
  display:block;
}
.site-footer .mb-4{margin-bottom:24px;}
.site-footer .mb-3{margin-bottom:16px;}
.site-footer .mb-2{margin-bottom:8px;}
.site-footer .footer-heading{
  color:#fff !important;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif !important;
  font-size:1rem !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  margin:0 0 20px !important;
}
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer a{
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif !important;
}
.site-footer p{
  font-size:1rem !important;
  line-height:1.6 !important;
  font-weight:400 !important;
  margin:0 0 16px;
}
.site-footer .footer-intro{
  max-width:340px;
  color:#fff !important;
  font-size:1rem !important;
  line-height:1.6 !important;
}
.site-footer li{font-size:1rem !important;line-height:1.5 !important;}
.site-footer a{color:rgba(255,255,255,.6) !important;text-decoration:none !important;}
.site-footer a:hover{color:#5EA6E3 !important;}
.site-footer .d-flex{display:flex;}
.site-footer .flex-wrap{flex-wrap:wrap;}
.site-footer .justify-content-between{justify-content:space-between;}
.site-footer .gap-2{gap:8px;}
.site-footer .ico{width:18px;height:18px;}
.site-footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.1) !important;
  margin-top:50px !important;
  padding:24px 0 !important;
  font-size:.875rem !important;
  line-height:1.5 !important;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
}
.site-footer .footer-bottom p,
.site-footer .footer-bottom a{
  color:rgba(255,255,255,.65) !important;
  font-size:.875rem !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  margin:0 !important;
}
.site-footer .footer-bottom a:hover{color:#5EA6E3 !important;}
.site-footer .mb-0{margin-bottom:0 !important;}
.site-footer .social-icons a{
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:8px;
}
.site-footer .footer-map{width:100%;border-radius:8px;overflow:hidden;}
.site-footer .map-facade{
  width:100%;
  min-height:200px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:10px;
  background:rgba(255,255,255,.04);
  color:#fff;
  padding:20px;
  text-align:left;
  cursor:pointer;
}
.site-footer .map-facade-place{display:block;font-weight:600;margin-bottom:12px;}
.site-footer .map-facade-cta{display:inline-flex;align-items:center;gap:7px;color:#fff;}

@media (max-width:991.98px){
  .site-header .navbar-collapse{width:100%;}
  .site-header .fto-universities-dropdown{
    position:static;
    min-width:0;
    margin:0 14px 8px;
    transform:none;
    box-shadow:none;
    border:0;
    border-left:2px solid #E4E1D6;
    border-radius:0;
    padding:3px 0 3px 8px;
    display:none;
  }
  .site-header .fto-universities-dropdown::before{display:none;}
  .site-header .fto-nav-dropdown:focus-within .fto-universities-dropdown,
  .site-header .fto-nav-dropdown:hover .fto-universities-dropdown{
    display:block;
    transform:none;
    opacity:1;
    visibility:visible;
  }
  .site-header .nav-link::after{display:none;}
  .site-footer .col-lg-2,.site-footer .col-lg-4{width:100%;}
}

@media (min-width:992px){
  .site-header .navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto;}
  .site-header .navbar-expand-lg .navbar-nav{flex-direction:row;align-items:center;width:auto;}
  .site-header .navbar-expand-lg .navbar-toggler{display:none;}
  .site-header .ms-lg-3{margin-left:16px;}
  .site-header .gap-lg-1{gap:4px;}
}

@media (max-width:768px){
  .site-header .navbar-collapse{
    background:#fff;
    margin-top:16px;
    padding:20px;
    border-radius:16px;
    border:1px solid #E4E1D6;
    box-shadow:0 10px 30px -12px rgba(11,37,69,.18);
  }
  .site-header .nav-link{margin:6px 0 !important;}
  .site-header .navbar-brand img{height:36px !important;}
  .site-footer{padding-top:56px !important;}
  .site-footer img.mb-3{height:44px !important;}
}
