:root{
  --primary:#10214B;      /* Dark Blue */
  --secondary:#D7BD88;    /* Gold Beige */
  --taupe:#D0C3BA;        /* Neutral Light */
  --offwhite:#EBE7E1;     /* Extra Light Background */

  --ink:#121524;
  --muted:#5F6678;
  --white:#fff;
  --stroke:#E7E1D8;

  --radius:16px;
  --shadow-sm:0 6px 16px rgba(16,33,75,.06);
  --shadow-md:0 10px 24px rgba(16,33,75,.08);

  --s4:4px; --s8:8px; --s12:12px; --s16:16px;
  --s24:24px; --s32:32px; --s48:48px; --s64:64px;
}

/* ===================== BASE ===================== */
html{font-size:16px; max-width:100%;}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--white); color:var(--ink);
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial;
  line-height:1.5; -webkit-font-smoothing:antialiased;
  max-width:100%; overflow-x:hidden;
}
h1,h2,h3{
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial;
  margin:0 0 var(--s12); color:var(--primary);
}
h1{font-size:48px;line-height:1.2;font-weight:700;}
h2{font-size:36px;line-height:1.3;font-weight:600;}
h3{font-size:28px;line-height:1.3;font-weight:500;}
p{font-size:16px;color:var(--muted);margin:0 0 var(--s16);}
ul{margin:0;padding:0;list-style:none;}
a{text-decoration:none;color:inherit;}
img,video{max-width:100%;display:block;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.container{width:min(1160px,calc(100% - 160px));margin-inline:auto;}
@media (max-width:1024px){.container{width:min(960px,calc(100% - 80px));}}
@media (max-width:768px){.container{width:calc(100% - 32px);}}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.75rem 1.1rem;border-radius:999px;border:1px solid transparent;
  font-weight:600;font-size:14px;cursor:pointer;transition:.2s;
}
.btn--primary{background:var(--primary);color:#fff;}
.btn--primary:hover{filter:brightness(.96);}
.btn--secondary{background:var(--secondary);color:#1e1a12;box-shadow:var(--shadow-sm);}
.btn--secondary:hover{filter:brightness(.97);transform:translateY(-1px);}
.btn--ghost{background:transparent;border:1px solid var(--stroke);color:var(--ink);}
.btn--ghost:hover{box-shadow:var(--shadow-sm);}
.btn--assess{ background:#122552; color:#fff; font-weight:700; }

/* ===================== HEADER ===================== */
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--stroke);}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s16);height:72px;}
.brand{font-weight:800;font-size:1.45rem;letter-spacing:.2px;display:inline-flex;gap:4px;align-items:center;}
.brand__primary{color:var(--primary);} .brand__secondary{color:var(--secondary);}

/* desktop nav */
.nav{display:flex;align-items:center;gap:var(--s16);position:relative;}
.menu{display:flex;gap:var(--s16);margin-right:var(--s16);}
.menu a{padding:.5rem .7rem;border-radius:10px;font-weight:600;font-size:14px;color:var(--primary);opacity:.9;}
.menu a.is-active,.menu a:hover{background:rgba(16,33,75,.07);opacity:1;}

.header__cta{display:flex;align-items:center;gap:18px;}
.header__cta::before{content:""; width:1px; height:28px; background:var(--stroke); border-radius:1px; display:block;}

.nav__toggle{display:none;width:42px;height:42px;border:1px solid var(--stroke);border-radius:10px;background:#fff;}
.join-link{display:none;}

.nav__toggle i {
  color: var(--primary); /* or pick another tone, like var(--ink) or black */
}

.brand__logo {
  width: 50px;   /* adjust to your liking */
  height: 50px;
  object-fit: contain;
  border-radius: 10px;
}


/* profile chip */
.profile{position:relative;display:flex;align-items:center;}
.profile__trigger{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem .45rem .45rem;border:1px solid var(--stroke);border-radius:999px;background:#fff;cursor:pointer;transition:.2s;}
.profile__trigger:hover{box-shadow:var(--shadow-sm);}
.profile__name{font-weight:700;color:var(--primary);}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800;font-size:.9rem;}
.avatar--lg{width:40px;height:40px;font-size:1rem;}

.dropdown{position:absolute;right:0;top:calc(100% + 12px);width:min(320px,92vw);max-height:min(70vh,420px);overflow:auto;background:#fff;border:1px solid var(--stroke);border-radius:16px;box-shadow:0 18px 40px rgba(16,33,75,.12);padding:10px;display:none;z-index:60;}
.dropdown.is-open{display:block;}
.dropdown__head{display:flex;align-items:center;gap:12px;padding:8px 8px 12px;border-bottom:1px solid var(--stroke);margin-bottom:6px;}
.dropdown__meta strong{display:block;color:var(--primary);} .dropdown__meta span{display:block;color:var(--muted);font-size:.9rem;}
.dropdown a{display:block;padding:10px 8px;border-radius:10px;color:var(--ink);font-weight:600;}
.dropdown a:hover{background:rgba(16,33,75,.06);} .dropdown a.danger{color:#c83232;}
.dropdown hr{border:0;height:1px;background:var(--stroke);margin:6px 0;}

.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:900;}
.backdrop.is-open{opacity:1;pointer-events:auto;}

@media (max-width:820px){
  .header__inner{
    display:grid;
    grid-template-columns:1fr auto 1fr; 
    align-items:center;
    height:68px;
  }
  .nav{display:contents;} 

  /* Left: hamburger */
  .nav__toggle{grid-column:1;justify-self:start;display:grid;place-items:center;}

  /* Center: brand */
  .brand{grid-column:2;justify-self:center;}

  /* Right: join/profile */
  .header__cta{grid-column:3;justify-self:end;gap:10px;}
  .header__cta::before{display:none;}
  .join-link{display:inline-block;font-weight:800;color:var(--primary);} /* mobile 'Join' */
  .header__cta .btn{display:none;} 
  .profile__trigger{padding:.35rem .45rem .35rem .35rem;}
  .avatar{width:28px;height:28px;font-size:.8rem;}
  .profile__name{font-size:.9rem;}

  .menu{
    position:fixed;top:0;right:0;height:100dvh;width:min(86vw,360px);
    transform:translateX(100%);transition:transform .28s ease;
    background:#fff;border-left:1px solid var(--stroke);
    box-shadow:-24px 0 48px rgba(16,33,75,.18);
    padding:18px 16px;z-index:1001;
    display:flex;flex-direction:column;gap:6px;margin-right:0;
  }
  .menu.is-open{transform:translateX(0);}
  .menu a{display:block;padding:12px 10px;border-radius:12px;color:var(--primary);font-weight:700;}
  .menu a:hover{background:rgba(16,33,75,.06);}
  .only-mobile{display:block;}
}

@media (max-width:380px){ .profile__name{display:none;} } 


/* ===================== HERO ===================== */
.hero{
  position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden;
  border-bottom:1px solid var(--primary);
}
.hero__media{position:absolute;inset:0;}
.hero__video{width:100%;height:100%;object-fit:cover;}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,33,75,.55));}

.hero__content{ position:relative; color:#fff; padding-block:var(--s64); width:100%; }
.hero h1{ color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.35); margin-bottom:12px; }

.hero-stack{ width:min(920px,100%); margin-top:10px; display:grid; gap:12px; justify-items:start; }
.fullwidth-container{ max-width:none; width:calc(100% - 300px); margin-left:40px; margin-right:40px; }
@media (max-width:1280px){ .fullwidth-container{ width:100%; margin:0; padding:0 24px; } }
@media (max-width:768px){ .fullwidth-container{ padding:0 16px; } }

.hero-stack > .search,
.hero-stack > .hero-stats{
  width:100%;
  max-width:880px;
}
.hero-stack .search{
  display:flex; gap:var(--s8);
  background:#fff; border:1px solid var(--stroke);
  border-radius:999px; padding:4px; box-shadow:var(--shadow-sm);
}
.search input{flex:1;border:0;outline:0;padding:.9rem 1.1rem;border-radius:999px;font-size:16px;min-width:0;}
.search__btn{width:46px;height:46px;border-radius:50%;border:0;background:var(--primary);color:#fff;cursor:pointer;}
@media(max-width:560px){ .search__btn{width:40px;height:40px;} }

/* Stats */
.hero-stack .hero-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px; padding:12px 16px; backdrop-filter:blur(4px);
}
.hstat{text-align:left;padding:8px 12px;}
.hstat__num{font-weight:800;font-size:22px;color:#fff;}
.hstat__label{font-size:12px;color:#dfe6ff;}

@media(max-width:768px){
  .hero-stack > .search, .hero-stack > .hero-stats{ max-width:100%; }
  .hero-stack .hero-stats{ grid-template-columns:1fr; }
}
@media(max-width:560px){
  h1{font-size:34px;} h2{font-size:26px;}
}

/* ===================== SECTIONS ===================== */
.section{padding:var(--s64) 0;}
.section--offwhite{background:var(--offwhite);}
.section__title{text-align:center;margin-bottom:24px;}

.grid{display:grid;gap:var(--s24);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:1024px){
  .grid--3{grid-template-columns:1fr 1fr;}
  .grid--4{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .grid--3,.grid--4{grid-template-columns:1fr;}
}

/* Cards / Features */
.feature,.card{
  background:#fff;border:1px solid var(--stroke);border-radius:var(--radius);
  padding:var(--s24);text-align:center;box-shadow:var(--shadow-sm);
}
.feature__icon,.card__icon{
  width:56px;height:56px;display:grid;place-items:center;margin:0 auto var(--s8);
  border-radius:14px;background:rgba(16,33,75,.08);color:var(--primary);font-size:20px;
}

/* ===================== ASSESSMENT CTA ===================== */
.assessment { padding: var(--s48) 0; background: var(--white); }
.ass-shell{
  display:grid; grid-template-columns: 1.05fr 0.95fr;
  border-radius: 18px; overflow:hidden; box-shadow: 0 14px 36px rgba(16,33,75,.10);
}
.ass-left{ background:#0f2146; color:#eaf0ff; padding:28px 36px 32px; }
.ass-left h2{ color:#fff; margin:4px 0 12px; }
.ass-left p{ color:#dbe4ff; margin-bottom:16px; max-width:46ch; }
.ass-list{ display:grid; gap:10px; margin:8px 0 22px; }
.ass-list li{ display:flex; align-items:flex-start; gap:10px; color:#fff; }
.ass-list li::before{ content:"✓"; color:#D7BD88; font-weight:700; line-height:1; margin-top:2px; }
.ass-left .btn{ padding:.7rem 1.1rem; }
.ass-right{ min-height:300px; background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.08)), url('../assets/assessment.jpg') center/cover no-repeat; }
@media (max-width:980px){
  .ass-shell{ grid-template-columns:1fr; }
  .ass-right{ min-height:240px; order:2; }
  .ass-left{ order:1; padding:24px; }
}
@media (max-width:560px){ .ass-left .btn{ padding:.55rem .85rem; font-size:.9rem; } }

/* ===================== TESTIMONIALS ===================== */
.testimonials{ background:#0f2146; padding: var(--s64) 0; }

.t-head{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  margin-bottom: var(--s24);
}
.t-head h2{ color:#ffffff; text-align:left; margin:0; }
.t-arrows{ display:flex; gap:12px; justify-content:flex-end; }
.t-btn{
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.28); background: transparent; color:#fff;
  display:grid; place-items:center; cursor:pointer;
}
.t-btn:hover{ background:rgba(255,255,255,.08); }
@media (max-width:560px){
  .t-head{ grid-template-columns:1fr; row-gap:10px; }
  .t-arrows{ justify-content:flex-end; }
}

.t-track{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(280px,1fr);
  gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 4px 4px;
}
.t-track:focus{outline:2px solid rgba(255,255,255,.4); outline-offset:4px;}
.t-track::-webkit-scrollbar{ height:8px; }
.t-track::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.18); border-radius:999px; }
.tcard{
  scroll-snap-align:start;
  background:#2a3a55; color:#eaf0ff; border-radius:18px; padding:22px;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}
.t-meta{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.t-meta img{ width:52px; height:52px; border-radius:50%; object-fit:cover; }
.t-name{ color:#fff; font-weight:700; letter-spacing:.2px; }
.t-role{ color: var(--secondary); font-weight:600; font-size:14px; margin-top:2px; }
.tcard p{ color:#eaf0ff; font-size:16px; line-height:1.6; margin:10px 0 0; }
@media (min-width:1100px){ .t-track{ grid-auto-columns:32%; } }
@media (max-width:640px){ .t-track{ grid-auto-columns:88%; } }

/* ===================== CTA ===================== */
.cta{ background:#fff; padding: var(--s64) 0; }
.cta__inner{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap: var(--s32); }
.cta__text h2{ color: var(--primary); margin-bottom: var(--s16); }
.cta__text p{ color: var(--muted); margin-bottom: var(--s24); }
.cta__actions{ display:flex; gap: var(--s12); flex-wrap:wrap; }
.cta__image img{ width:100%; border-radius:18px; box-shadow:0 10px 28px rgba(0,0,0,.08); }
@media (max-width:900px){ .cta__inner{ grid-template-columns:1fr; } .cta__image{ order:-1; } }

/* ===================== FOOTER ===================== */
.footer{background:#0b142d;color:#d8def3;}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:var(--s32);padding:var(--s48) 0;}
.footer__brand p{color:#c7cee9;}
.footer__col h4{color:#fff;margin-bottom:8px;}
.footer__col li{margin:6px 0;}
.footer__col a{display:inline-block;color:#d8def3;line-height:1.5;}
.footer__col a:hover{color:#fff;}
.social{display:flex;gap:.5rem;margin-top:.6rem;}
.social a{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#eaf0ff;}
.social a:hover{background:rgba(255,255,255,.08);}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;align-items:center;padding:16px 0;
}
.footer__bottom a{color:#d8def3;margin-left:12px;}
.footer__bottom a:hover{color:#fff;}
@media(max-width:768px){
  .footer .container{width:calc(100% - 32px);}
  .footer__grid{grid-template-columns:1fr 1fr;gap:20px;}
}
@media(max-width:520px){
  .footer__grid{grid-template-columns:1fr;}
  .footer__bottom{flex-direction:column;gap:8px;align-items:flex-start;}
}

a:focus-visible, .btn:focus-visible, .nav__toggle:focus-visible, .t-btn:focus-visible, .search input:focus-visible{
  outline:3px solid #98b4ff; outline-offset:2px;
}
@media (min-width:821px){

  .header__inner{
    display:flex !important;
    align-items:center;
    justify-content:space-between; 
    height:72px;
  }

  .nav{
    display:grid !important;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    column-gap:28px;
    width:100%;
  }

  .brand{
    order:1;
    justify-self:start;
  }

  .menu{
    order:2;
    display:flex !important;
    gap:36px;
    justify-content:center;
    margin:0;
  }

  .header__cta{
    order:3;
    justify-self:end;
    display:flex !important;
    align-items:center;
    gap:18px;
    margin-left:12px;
  }

  .header__cta::before{
    content:"";
    display:block;
    width:1px; height:28px;
    background:var(--stroke);
    border-radius:1px;
    margin-right:12px;
  }

  .btn{ border-radius:12px; padding:.65rem 1.2rem; font-weight:700; }
  .btn.btn--ghost{ 
    background:#fff; 
    border:1px solid var(--primary); 
    color:var(--primary);
  }
  .btn.btn--primary{ 
    background:var(--primary); 
    color:#fff; 
    border:1px solid var(--primary);
  }

  .nav__toggle{ display:none !important; }
}


