/* Envision Australian Education Agency Ltd — static site
   Rebuilt from the live WordPress (Avada/Fusion Builder) site. */

:root{
  --brand-navy:#1a2b6d;
  --brand-red:#fc0000;
  --brand-pink:#ed217c;
  --text-dark:#0f0f0f;
  --text-muted:#4a4a4a;
  --bg-light:#f5f5f5;
  --border-light:#e2e2e2;
  --font-body: Questrial, Arial, Helvetica, sans-serif;
  --font-heading: Montserrat, Arial, Helvetica, sans-serif;
  --max-width: 1440px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text-dark);
  background:#fff;
  line-height:1.7;
  font-size:19px;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--brand-pink);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px;}

/* Top contact/location bar */
.top-bar{
  background:var(--brand-navy);
  color:#e7e9f5;
  font-size:.85rem;
}
.top-bar-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px 32px;
  padding:9px 24px;
}
.top-bar-item{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.top-bar-item svg{width:14px;height:14px;fill:#e7e9f5;flex:none;}
.top-bar-item a{color:#e7e9f5;}
.top-bar-item a:hover{color:#fff;}
@media (max-width:700px){
  .top-bar-inner{justify-content:flex-start;gap:6px 20px;}
}

/* Back to top button */
.back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  width:46px;
  height:46px;
  border-radius:50%;
  border:none;
  background:var(--brand-red);
  color:#fff;
  font-size:1.3rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s ease, transform .25s ease, background .2s ease;
  z-index:50;
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:#d40000;}

/* Header */
.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:var(--max-width);
  margin:0 auto;
  padding:8px 24px;
}
.site-header .logo img{height:72px;width:auto;}
.main-nav ul{
  list-style:none;
  display:flex;
  gap:32px;
  margin:0;
  padding:0;
}
.main-nav a{
  color:var(--text-dark);
  font-weight:500;
  letter-spacing:.02em;
  font-size:1.08rem;
}
.main-nav a:hover, .main-nav a.active{
  color:var(--brand-red);
  text-decoration:none;
}
.nav-toggle{
  display:none;
  background:none;
  border:none;
  font-size:28px;
  cursor:pointer;
  color:var(--text-dark);
}

@media (max-width: 860px){
  .main-nav{
    display:none;
    width:100%;
    order:3;
  }
  .main-nav.open{display:block;}
  .main-nav ul{flex-direction:column;gap:0;padding:8px 0;}
  .main-nav li{border-top:1px solid var(--border-light);}
  .main-nav a{display:block;padding:14px 4px;}
  .site-header{flex-wrap:wrap;}
  .nav-toggle{display:block;}
}

/* Page title banner — contained to the same width as the rest of the content, not edge-to-edge */
.page-title-bar{
  max-width:var(--max-width);
  margin:0 auto 28px;
  padding:24px 28px;
  border-radius:6px;
  background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)), url("../images/page-title-bg.jpg") center/cover no-repeat;
}
.page-title-bar h1{
  color:#fff;
  margin:0;
  padding:0;
  font-size:2.3rem;
  font-weight:500;
}
@media (max-width:600px){
  .page-title-bar{border-radius:0;margin:0 0 24px;padding:20px 24px;}
}

/* Hero (home) */
.hero{
  position:relative;
  overflow:hidden;
  max-height:450px;
}
.hero img{width:100%;object-fit:cover;max-height:450px;}

/* Slideshow (home hero) */
.slideshow{
  position:relative;
  overflow:hidden;
  width:100%;
  aspect-ratio:1500/450;
  background:var(--brand-navy);
}
.slideshow .slides{
  position:relative;
  width:100%;
  height:100%;
}
.slideshow .slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .8s ease;
}
.slideshow .slide.active{
  opacity:1;
  visibility:visible;
}
.slideshow .slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.slide-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:none;
  border-radius:50%;
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  transition:background .2s ease;
}
.slide-arrow:hover{background:rgba(0,0,0,.6);}
.slide-arrow.prev{left:16px;}
.slide-arrow.next{right:16px;}
.slide-dots{
  position:absolute;
  bottom:16px;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  gap:10px;
  z-index:2;
}
.slide-dots button{
  width:10px;
  height:10px;
  border-radius:50%;
  border:1px solid #fff;
  background:transparent;
  padding:0;
  cursor:pointer;
  opacity:.8;
}
.slide-dots button.active{background:#fff;}
@media (max-width:600px){
  .slide-arrow{width:34px;height:34px;font-size:1.4rem;}
}

/* Sections */
section{padding:24px 0;}
.section-title{
  color:var(--brand-red);
  font-family:var(--font-heading);
  font-weight:600;
  font-size:2.2rem;
  text-align:center;
  margin-bottom:6px;
}
.section-sep{
  display:block;
  margin:0 auto 16px;
  height:40px;
}
.lede{max-width:1300px;margin:0 auto;text-align:center;color:var(--text-muted);}

/* Services list on home */
.services-feature{
  display:flex;
  align-items:center;
  gap:48px;
  max-width:1200px;
  margin:16px auto 0;
}
.services-feature .services-image{
  flex:0 0 340px;
}
.services-feature .services-image img{
  border-radius:6px;
}
.services-feature .services-list-col{
  flex:1;
}
.services-list{
  max-width:100%;
  margin:0 auto;
  list-style:none;
  padding:0;
  columns:2;
  gap:32px;
}
@media (max-width:760px){
  .services-feature{flex-direction:column;}
  .services-feature .services-image{flex:0 0 auto;max-width:340px;}
}
.services-list li{
  padding:10px 0 10px 30px;
  position:relative;
  border-bottom:1px solid var(--border-light);
  break-inside:avoid;
}
.services-list li::before{
  content:"\2713";
  position:absolute;
  left:0;
  color:var(--brand-pink);
  font-weight:700;
}
@media (max-width:860px){.services-list{columns:2;}}
@media (max-width:600px){.services-list{columns:1;}}

/* About Us page */
.about-copy{max-width:1200px;margin:0 auto;}
.about-photo{
  max-width:1100px;
  margin:32px auto;
  border-radius:6px;
  overflow:hidden;
}
.about-photo img{
  width:100%;
  height:auto;
  display:block;
}

/* Feature rows (services page) */
.feature-row{
  display:flex;
  align-items:center;
  gap:48px;
  padding:36px 0;
  border-bottom:1px solid var(--border-light);
}
.feature-row:last-child{border-bottom:none;}
.feature-row.reverse{flex-direction:row-reverse;}
.feature-row .text{flex:1;min-width:280px;}
.feature-row .image{flex:1;min-width:280px;}
.feature-row .image img{border-radius:8px;}
.feature-row h3{
  color:var(--brand-navy);
  font-family:var(--font-heading);
  letter-spacing:.03em;
  font-size:1.35rem;
}
@media (max-width:760px){
  .feature-row, .feature-row.reverse{flex-direction:column;}
}

/* Contact page */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:48px;
  align-items:start;
}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.contact-item{
  display:flex;
  gap:18px;
  margin-bottom:28px;
}
.contact-item .icon{
  flex:none;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--brand-navy);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.contact-item .icon svg{width:24px;height:24px;fill:#fff;}
.contact-item h4{
  color:var(--brand-red);
  margin:0 0 4px;
  font-family:var(--font-heading);
  font-size:1.3rem;
}
.contact-item p{margin:0;color:var(--text-muted);}
.contact-form{
  background:var(--bg-light);
  padding:32px;
  border-radius:4px;
}
.contact-form h3{color:var(--brand-red);font-family:var(--font-heading);margin-top:0;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px;}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}
.form-group-full{margin-bottom:18px;}
.form-group textarea{resize:vertical;font-family:var(--font-body);}
.form-group label{
  display:block;
  font-size:.85rem;
  letter-spacing:.05em;
  margin-bottom:6px;
  color:var(--text-dark);
  text-transform:uppercase;
}
.form-group input,.form-group textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border-light);
  border-radius:2px;
  font-family:var(--font-body);
  font-size:1rem;
}
.form-note{
  font-size:.85rem;
  color:var(--text-muted);
  margin-top:14px;
}
.btn{
  display:inline-block;
  padding:13px 32px;
  background:var(--brand-red);
  color:#fff;
  border:none;
  border-radius:2px;
  font-weight:600;
  letter-spacing:.03em;
  font-size:1.05rem;
  cursor:pointer;
}
.btn:hover{background:#d40000;text-decoration:none;}

/* Universities list */
.uni-list{
  max-width:var(--max-width);
  margin:0 auto;
  list-style:disc;
  padding:0 24px 0 44px;
}
.uni-list > li{padding:5px 0;color:var(--text-muted);}
.uni-note{
  color:var(--brand-red);
  font-weight:600;
  max-width:var(--max-width);
  margin:0 auto 16px;
  padding:0 24px;
}

/* Navitas — nested sub-list of colleges under its parent bullet */
.uni-list li.uni-group{
  font-weight:600;
  color:var(--brand-navy);
  padding-top:10px;
}
.uni-sublist{
  list-style:circle;
  margin:6px 0 8px;
  padding-left:26px;
  font-weight:400;
}
.uni-sublist li{padding:3px 0;color:var(--text-muted);}

/* Homepage "Start Your Journey" section — dark campus photo background */
.journey-section{
  position:relative;
  background:linear-gradient(rgba(10,20,45,.72),rgba(10,20,45,.8)), url("../images/journey-bg.jpg") center/cover no-repeat;
  padding:44px 0 40px;
  margin-top:4px;
}
.journey-arrow{
  position:absolute;
  top:-15px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  line-height:0;
}
.journey-form{max-width:1020px;margin:0 auto;}
.journey-form h3{
  color:var(--brand-red);
  font-family:var(--font-heading);
  font-weight:700;
  text-align:center;
  font-size:2rem;
  margin:0 0 32px;
}
.journey-form .form-group label{
  color:#fff;
  font-weight:600;
  font-size:.85rem;
}
.journey-form .form-group input,
.journey-form .form-group textarea{
  border:none;
  border-radius:2px;
  padding:12px 14px;
}
.journey-form .btn{display:block;margin:8px auto 0;}
.journey-form .form-note{text-align:center;color:#d7dbe6;}

/* Footer */
.site-footer{
  background:var(--brand-navy);
  color:#dfe3f2;
  padding:32px 0;
  text-align:center;
  font-size:.9rem;
}
.site-footer a{color:#dfe3f2;}
.footer-social{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-bottom:14px;
}
.footer-social a{
  width:38px;height:38px;
  background:#fff;
  border:none;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.footer-social a:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(0,0,0,.3);}
.footer-social svg{width:18px;height:18px;}
.footer-social a.fb svg{fill:#1877F2;}
.footer-social a.ig svg{fill:#E4405F;}
.footer-social a.tw svg{fill:#1DA1F2;}
.footer-social a.yt svg{fill:#FF0000;}
.footer-social a.em svg{fill:var(--brand-navy);}

.static-note{
  background:#fff8e1;
  border:1px solid #f1d98a;
  color:#6b5600;
  font-size:.85rem;
  padding:10px 16px;
  text-align:center;
}
