/* Pathways Training — shared stylesheet */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root{
  --navy:#14304D;
  --navy-dark:#0C2038;
  --blue:#1F6FB2;
  --pale:#EDF3F8;
  --gold:#C98A2B;
  --ink:#1B2430;
  --slate:#4B5A6A;
  --white:#FFFFFF;
  --line:#D8E1EA;
  --radius:2px;
  --maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Source Sans 3', system-ui, sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:'Archivo', system-ui, sans-serif;
  color:var(--navy-dark);
  line-height:1.15;
  margin:0 0 .5em;
  font-weight:700;
}
h1{font-size:clamp(2.1rem,4vw,3.1rem); font-weight:800; letter-spacing:-0.01em;}
h2{font-size:clamp(1.5rem,2.6vw,2.05rem);}
h3{font-size:1.2rem;}
p{margin:0 0 1em; color:var(--slate); max-width:62ch;}
a{color:var(--blue); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%; display:block;}
ul{padding-left:1.1em;}
button{font-family:inherit;}

:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}

/* Utility bar */
.utility-bar{background:var(--navy-dark); color:#B9C8D6;}
.utility-bar .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 24px; font-size:.85rem; flex-wrap:wrap; gap:8px;
}
.utility-left{display:flex; gap:20px; flex-wrap:wrap;}
.utility-bar a{color:#E4ECF3; font-weight:600;}
.utility-accred{display:flex; align-items:center; gap:8px;}
.utility-accred img{height:22px; width:auto;}

/* Header */
.site-header{
  border-bottom:1px solid var(--line);
  position:sticky; top:0; background:var(--white); z-index:50;
}
.site-header .wrap{
  display:flex; align-items:center;
  padding-top:14px; padding-bottom:14px; gap:36px;
  position:relative;
}
.nav-group{display:flex; align-items:center; gap:10px; margin-left:auto;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:56px; width:auto;}
.brand-text{font-family:'Archivo',sans-serif; font-weight:800; color:var(--navy-dark); font-size:1.05rem;}
.brand-text span{display:block; font-family:'Source Sans 3',sans-serif; font-weight:600; font-size:.7rem; letter-spacing:.03em; color:var(--slate);}

.header-right{display:flex; align-items:center; gap:10px;}

nav.primary-nav{display:flex; align-items:center; gap:8px;}
nav.primary-nav a, .nav-menu-btn{
  color:var(--white); font-weight:600; font-size:.95rem;
  padding:9px 18px; border:none; border-radius:20px; background:var(--navy);
  cursor:pointer; font-family:inherit;
}
nav.primary-nav a:hover, nav.primary-nav a.active, .nav-menu-btn:hover, .nav-menu-btn[aria-expanded="true"]{
  background:var(--blue); text-decoration:none;
}
.nav-menu-btn{display:flex; align-items:center; gap:6px;}
.nav-menu-btn .chev{font-size:.7rem; transition:transform .15s ease;}
.nav-menu-btn[aria-expanded="true"] .chev{transform:rotate(180deg);}

.icon-btn{
  background:var(--navy); border:none; border-radius:50%;
  width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--white); font-size:1rem; flex-shrink:0;
}
.icon-btn:hover{background:var(--blue);}

.nav-cta{
  background:var(--navy) !important; color:var(--white) !important; padding:9px 18px !important;
  border-radius:20px !important; margin-left:4px;
}
.nav-cta:hover{background:var(--blue) !important;}

.nav-toggle{display:none; background:none; border:1px solid var(--line); border-radius:var(--radius); padding:8px 10px; font-size:1.1rem; cursor:pointer;}

/* Mega menu */
.mega-panel{
  position:absolute; left:0; right:0; top:100%; background:var(--white);
  border-top:2px solid var(--navy); border-bottom:1px solid var(--line);
  box-shadow:0 16px 28px rgba(12,32,56,.1);
  display:none;
}
.mega-panel.open{display:block;}
.mega-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  max-width:var(--maxw); margin:0 auto; padding:28px 24px;
}
.mega-item{
  padding:6px 20px; border-left:1px solid var(--line);
}
.mega-item:first-child{border-left:none; padding-left:0;}
.mega-item .mega-tag{font-family:'Archivo',sans-serif; font-weight:800; color:var(--gold); font-size:.78rem; display:block; margin-bottom:6px;}
.mega-item h4{font-size:1rem; margin-bottom:6px;}
.mega-item p{font-size:.88rem; margin-bottom:8px;}
.mega-item a.mega-link{font-weight:700; font-size:.85rem;}

/* Search overlay */
.search-overlay{
  position:absolute; left:0; right:0; top:100%; background:var(--white);
  border-top:2px solid var(--navy); border-bottom:1px solid var(--line);
  box-shadow:0 16px 28px rgba(12,32,56,.1); display:none;
}
.search-overlay.open{display:block;}
.search-overlay .wrap{padding:24px;}
.search-input-row{display:flex; gap:10px; margin-bottom:6px;}
.search-input-row input{
  flex:1; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius);
  font-size:1.05rem; font-family:inherit;
}
.search-input-row input:focus{border-color:var(--blue);}
.search-results{list-style:none; margin:10px 0 0; padding:0;}
.search-results li{border-top:1px solid var(--line);}
.search-results a{
  display:block; padding:12px 4px; color:var(--ink); font-weight:600;
}
.search-results a:hover{color:var(--blue); text-decoration:none;}
.search-results .cat{color:var(--slate); font-weight:400; font-size:.85rem;}
.search-empty{color:var(--slate); font-size:.9rem; padding:8px 4px 0;}

@media (max-width:860px){
  .utility-bar{display:none;}
  nav.primary-nav{
    position:fixed; inset:64px 0 auto 0; background:var(--white);
    flex-direction:column; align-items:flex-start; gap:0;
    border-bottom:1px solid var(--line); box-shadow:0 12px 24px rgba(20,48,77,.08);
    padding:8px 24px 20px; transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:opacity .15s ease, transform .15s ease;
  }
  nav.primary-nav.open{opacity:1; transform:translateY(0); pointer-events:auto;}
  nav.primary-nav a, nav.primary-nav .nav-menu-btn{
    width:100%; padding:12px 4px; border-bottom:1px solid var(--line);
    background:none; color:var(--navy-dark); border-radius:0;
  }
  nav.primary-nav a:hover, nav.primary-nav .nav-menu-btn:hover{background:var(--pale);}
  .nav-cta{margin-top:10px; text-align:center; border-radius:20px !important;}
  .nav-toggle{display:block;}
  .mega-panel{position:static; box-shadow:none;}
  .mega-grid{grid-template-columns:1fr; gap:18px; padding:12px 0;}
  .mega-item{border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:16px;}
  .mega-item:first-child{border-top:none; padding-top:0;}
}

/* Hero */
.hero{background:var(--pale); border-bottom:1px solid var(--line); position:relative;}
.hero .wrap{
  display:grid; grid-template-columns:1.3fr 1fr; gap:56px;
  padding-top:72px; padding-bottom:64px; align-items:start;
}
.hero-eyebrow{
  color:var(--blue); font-weight:700; font-size:.9rem; margin-bottom:14px; display:block;
}
.hero p.lede{font-size:1.15rem; color:var(--ink); max-width:44ch;}

.hero--photo{
  background-size:cover; background-position:center; border-bottom:none;
  position:relative; overflow:hidden; background:var(--pale);
}
.hero--photo::before{
  content:'';
  position:absolute; inset:-20px;
  background-image:
    linear-gradient(100deg, rgba(12,32,56,.92) 0%, rgba(12,32,56,.75) 45%, rgba(12,32,56,.5) 100%),
    var(--hero-image);
  background-size:cover; background-position:center;
  filter:blur(2.5px);
  z-index:0;
}
.hero--photo .wrap{position:relative; z-index:1;}
.hero--photo .wrap{padding-top:104px; padding-bottom:96px; align-items:center; min-height:480px;}
.hero--photo .hero-eyebrow{color:#8FC1F0;}
.hero--photo h1{color:var(--white);}
.hero--photo p.lede{color:#DCE6EF;}

.hero-actions{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:8px;}
.hero-actions .btn{margin-top:0;}
.accred-chip{
  display:inline-flex; align-items:center; gap:12px; background:var(--white);
  border-radius:14px; padding:10px 18px; box-shadow:0 10px 24px rgba(12,32,56,.16); border:1px solid var(--line);
}
.accred-chip img{height:32px; width:auto;}
.accred-chip span{font-weight:700; color:var(--navy-dark); font-size:.85rem; line-height:1.25;}
.btn{
  display:inline-block; background:var(--navy); color:var(--white); font-weight:700;
  padding:14px 26px; border-radius:var(--radius); margin-top:8px; border:none; cursor:pointer; font-size:1rem;
}
.btn:hover{background:var(--navy-dark); text-decoration:none;}
.btn-block{width:100%; text-align:center;}
.btn-outline{
  background:transparent; color:var(--navy); border:2px solid var(--navy); padding:12px 24px;
}
.btn-outline:hover{background:var(--navy); color:var(--white);}

.enquiry-card{
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  padding:28px; box-shadow:0 20px 40px rgba(12,32,56,.18);
}
.enquiry-card h2{font-size:1.1rem; margin-bottom:4px; color:var(--navy-dark);}
.enquiry-card .sub{font-size:.88rem; margin-bottom:18px;}
.enquiry-card form{display:flex; flex-direction:column; gap:14px;}
.enquiry-card label{font-weight:600; font-size:.85rem; display:block; margin-bottom:5px;}
.enquiry-card input, .enquiry-card select{
  width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:inherit; font-size:.95rem; background:var(--white);
}
.enquiry-card input:focus, .enquiry-card select:focus{border-color:var(--blue);}
.enquiry-card .fine{font-size:.78rem; margin:2px 0 0;}

/* Category bands */
.category{border-bottom:1px solid var(--line); padding:56px 0;}
.category-head{
  text-align:left; margin-bottom:32px; max-width:60ch;
}
.category-head h2{margin-bottom:8px;}
.category-head p{margin:0;}

.course-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.course-card{
  background:var(--white); padding:26px; display:flex; flex-direction:column; gap:10px; scroll-margin-top:180px;
}
.course-level{
  font-family:'Archivo',sans-serif; font-weight:800; color:var(--navy); font-size:1.6rem;
  border-bottom:2px solid var(--gold); display:inline-block; padding-bottom:4px; width:fit-content;
}
.course-card h3{margin-bottom:2px;}
.course-card p{font-size:.95rem; margin-bottom:6px;}
.course-card .cta{font-weight:700; font-size:.9rem; margin-top:auto;}

/* About */
.about{background:var(--navy-dark); color:var(--white);}
.about .wrap{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; padding:64px 24px; align-items:center;
}
.about h2{color:var(--white);}
.about p{color:#C9D5E1; max-width:52ch;}
.about img{border-radius:var(--radius);}
.about-caption{margin:10px 0 0; font-size:.85rem; font-weight:600; color:#A9BBCC;}

/* Accreditation strip */
.accred{border-bottom:1px solid var(--line);}
.accred .wrap{
  display:flex; align-items:center; gap:20px; padding:28px 24px; flex-wrap:wrap;
}
.accred img{height:52px; width:auto;}
.accred p{margin:0; font-size:.92rem; color:var(--slate);}

/* Contact */
.contact{padding:64px 0; scroll-margin-top:80px;}
.contact .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:56px;}
.contact form{display:flex; flex-direction:column; gap:16px;}
.contact label{font-weight:600; font-size:.9rem; display:block; margin-bottom:6px;}
.contact input, .contact textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:inherit; font-size:1rem; background:var(--white);
}
.contact input:focus, .contact textarea:focus{border-color:var(--blue);}
.contact-details{background:var(--pale); border:1px solid var(--line); border-radius:var(--radius); padding:28px;}
.contact-details h3{margin-bottom:14px;}
.contact-details a{font-weight:700; font-size:1.05rem;}
.contact-details .phone{display:block; margin-bottom:14px;}

.form-status{
  border-radius:var(--radius); padding:14px 18px; margin-bottom:18px; font-weight:600; font-size:.92rem;
}
.form-status.success{background:#E8F3EC; border:1px solid #B6DDC3; color:#1E5B36;}
.form-status.error{background:#FBEAEA; border:1px solid #E9BEBE; color:#7A2323;}

/* Footer */
footer.site-footer{background:var(--navy-dark); color:#A9BBCC; padding:36px 0;}
footer.site-footer .wrap{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
}
footer.site-footer a{color:#DCE6EF;}
.footer-social{display:flex; gap:14px;}
.footer-social img{height:20px; width:20px; filter:grayscale(1) brightness(2);}

/* Course detail pages */
.breadcrumb{font-size:.85rem; color:var(--slate); margin-bottom:18px;}
.breadcrumb a{color:var(--blue); font-weight:600;}
.course-hero{background:var(--pale); border-bottom:1px solid var(--line); padding:48px 0 40px;}
.course-hero .course-level{font-size:2rem; margin-bottom:16px;}
.course-hero h1{margin-bottom:14px;}
.fact-pills{display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 0;}
.fact-pill{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:10px 16px; min-width:150px;
}
.fact-pill strong{
  display:block; color:var(--gold); font-family:'Archivo',sans-serif; font-weight:800;
  font-size:.72rem; letter-spacing:.03em; margin-bottom:2px;
}
.fact-pill span{color:var(--navy-dark); font-weight:600; font-size:.92rem;}
.course-body{padding:52px 0;}
.course-body h2{font-size:1.25rem; margin-bottom:14px;}
.course-body-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:start;}
.outcomes-list{list-style:none; padding:0; margin:0 0 8px;}
.outcomes-list li{
  padding:11px 0 11px 22px; border-top:1px solid var(--line); position:relative; color:var(--slate);
}
.outcomes-list li:first-child{border-top:none;}
.outcomes-list li::before{
  content:''; position:absolute; left:0; top:19px; width:7px; height:7px;
  background:var(--gold); border-radius:50%;
}
.course-sidebar{
  background:var(--pale); border:1px solid var(--line); border-radius:var(--radius); padding:26px;
}
.course-sidebar h3{font-size:1rem; margin-bottom:10px;}
.course-sidebar p{font-size:.92rem;}
.tbc-note{font-size:.82rem; color:var(--slate); font-style:italic; margin-top:4px;}

@media (max-width:860px){
  .course-body-grid{grid-template-columns:1fr;}
}

@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;}
  .about .wrap{grid-template-columns:1fr;}
  .about img{order:-1;}
  .contact .wrap{grid-template-columns:1fr;}
}
