:root{
  --navy:#0B233F;
  --navy-deep:#071627;
  --teal:#2BAFC9;
  --teal-light:#8FE0EC;
  --paper:#F5F9FA;
  --white:#FFFFFF;
  --ink:#0E2A47;
  --line: rgba(11,35,63,0.12);
  --disp: 'Space Grotesk', sans-serif;
  --body: 'Inter', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--teal); }
.vtag{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.06em;
  padding:3px 9px;
  border:1px solid currentColor;
  border-radius:2px;
  display:inline-block;
}
h1,h2,h3{font-family:var(--disp); font-weight:700; line-height:1.05; letter-spacing:-0.01em;}

/* ===== NAV ===== */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px;
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--line);
}
body.has-hero header{ background:transparent; box-shadow:none; }
body.has-hero header.scrolled{ background:rgba(255,255,255,0.94); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--line); padding:12px 32px; }

.brand{display:flex; align-items:center; gap:11px; font-family:var(--disp); font-weight:700; font-size:14.5px; letter-spacing:0.01em; line-height:1.15; max-width:280px;}
.brand img{height:36px; width:auto; flex-shrink:0;}
header .brand{color:var(--navy);}
body.has-hero header:not(.scrolled) .brand{color:#fff;}

nav ul{list-style:none; display:flex; gap:28px;}
nav a{font-size:13.5px; font-weight:500; letter-spacing:0.02em; position:relative; padding-bottom:3px;}
header nav a{color:var(--navy);}
body.has-hero header:not(.scrolled) nav a{color:rgba(255,255,255,0.9);}
nav a.active{color:var(--teal);}
nav a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--teal); transition:width .25s ease;}
nav a:hover::after, nav a.active::after{width:100%;}

.navToggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.navToggle span{width:24px; height:2px; background:currentColor;}
header .navToggle{color:var(--navy);}
body.has-hero header:not(.scrolled) .navToggle{color:#fff;}
@media(max-width:900px){
  nav{position:fixed; top:0; right:0; height:100vh; width:min(76vw,320px); background:var(--navy); transform:translateX(100%); transition:transform .35s ease; padding:100px 32px; z-index:99;}
  nav.open{transform:translateX(0);}
  nav ul{flex-direction:column; gap:26px;}
  nav a{color:#fff !important; font-size:16px;}
  .navToggle{display:flex;}
}

/* ===== HERO (home only) ===== */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:flex-end;
  background:linear-gradient(180deg, rgba(7,22,39,.55) 0%, rgba(7,22,39,.35) 40%, rgba(7,22,39,.92) 100%), url('../img/adventhr-groupphoto.jpg') center/cover no-repeat;
}
.hero-inner{padding:0 32px 90px; width:100%; color:#fff;}
.hero .eyebrow{color:var(--teal-light);}
.hero .eyebrow::before{background:var(--teal-light);}
.hero h1{ font-size:clamp(38px, 7.6vw, 96px); max-width:17ch; text-transform:uppercase; }
.hero-sub{ margin-top:22px; max-width:520px; font-size:16px; line-height:1.6; color:rgba(255,255,255,.8); }
.hero-tag{ font-family:var(--mono); font-size:14px; letter-spacing:.05em; color:var(--teal-light); margin-top:28px; }
.scroll-cue{
  position:absolute; right:32px; bottom:36px; writing-mode:vertical-rl;
  font-family:var(--mono); font-size:11px; letter-spacing:.15em; color:rgba(255,255,255,.6);
  display:flex; align-items:center; gap:10px;
}
.scroll-cue::after{content:""; width:1px; height:50px; background:rgba(255,255,255,.4);}
@media(max-width:640px){.scroll-cue{display:none;}}

/* ===== PAGE HEADER (non-home pages) ===== */
.page-hero{
  padding:170px 0 60px;
  background:var(--navy);
  color:#fff;
}
.page-hero h1{font-size:clamp(34px,6vw,64px); text-transform:uppercase;}
.page-hero p{margin-top:16px; max-width:560px; font-size:15.5px; line-height:1.7; color:rgba(255,255,255,.7);}
.page-hero .eyebrow{color:var(--teal-light);}
.page-hero .eyebrow::before{background:var(--teal-light);}

/* ===== SECTION SPACING ===== */
section{padding:110px 0;}
@media(max-width:640px){section{padding:64px 0;}}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(30px,4.4vw,50px); text-transform:uppercase;}
.section-head p{margin-top:16px; font-size:16px; line-height:1.7; color:#3c536b;}

/* ===== ABOUT (home) ===== */
.about{background:var(--white);}
.about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr; gap:36px;}}
.about-img{position:relative; border-radius:4px; overflow:hidden;}
.about-img img{aspect-ratio:4/5; object-fit:cover; width:100%;}
.about-stat{
  position:absolute; left:-1px; bottom:-1px; background:var(--navy); color:#fff;
  padding:22px 26px; font-family:var(--disp);
}
.about-stat b{font-size:34px; display:block; color:var(--teal-light);}
.about-stat span{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.7);}
.about-copy p{font-size:16.5px; line-height:1.75; color:#33465c; margin-bottom:18px;}
.about-copy p:last-child{margin-bottom:0;}
.about-copy strong{color:var(--navy);}

/* ===== QUICK LINKS (home) ===== */
.quicklinks{background:var(--paper);}
.ql-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
@media(max-width:900px){.ql-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ql-grid{grid-template-columns:1fr;}}
.ql-card{
  background:var(--white); border:1px solid var(--line); border-radius:6px; padding:30px 26px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ql-card:hover{transform:translateY(-4px); box-shadow:0 16px 30px rgba(11,35,63,.08); border-color:var(--teal);}
.ql-card .vtag{color:var(--teal); margin-bottom:14px;}
.ql-card h3{font-size:19px; text-transform:uppercase; margin-bottom:8px;}
.ql-card p{font-size:13.5px; color:#5a6f86; line-height:1.6;}

/* ===== EVENTS PAGE ===== */
.events{background:var(--paper);}
.event-row{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  padding:56px 0; border-bottom:1px solid var(--line);
}
.event-row:first-of-type{padding-top:0;}
.event-row:last-of-type{border-bottom:none; padding-bottom:0;}
.event-row.reverse .event-media{order:2;}
.event-row.reverse .event-copy{order:1;}
@media(max-width:860px){
  .event-row{grid-template-columns:1fr; gap:26px; padding:40px 0;}
  .event-row.reverse .event-media{order:1;}
  .event-row.reverse .event-copy{order:2;}
}
.event-media{
  background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px;
}
.event-media img{width:100%; height:auto; border-radius:2px;}
.event-copy .vtag{color:var(--teal); margin-bottom:16px;}
.event-copy h3{font-size:clamp(24px,3vw,34px); text-transform:uppercase; margin-bottom:14px;}
.event-copy p{font-size:15.5px; line-height:1.75; color:#3c536b;}

/* ===== GALLERY PAGE ===== */
.gallery{background:var(--white);}
.gallery-grid{
  columns:2 320px; column-gap:22px;
}
@media(max-width:640px){.gallery-grid{columns:1 320px;}}
.gallery-item{
  break-inside:avoid; margin-bottom:22px; background:#fff; border:1px solid var(--line); border-radius:6px; padding:12px;
}
.gallery-item img{width:100%; height:auto; border-radius:2px;}
.gallery-item .g-cap{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#5a6f86; padding-top:10px; text-align:center;}

/* ===== LEADERSHIP / HALL OF FAME (image showcase) ===== */
.leadership{background:var(--white);}
.showcase{background:var(--white);}
.lead-block, .fame-block{margin-bottom:70px;}
.lead-block:last-child, .fame-block:last-child{margin-bottom:0;}
.lead-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:8px;}
.lead-head h3{font-size:20px; text-transform:uppercase; letter-spacing:.03em; color:var(--navy);}
.lead-head .vtag{color:var(--teal);}
.lead-img, .fame-img{
  background:#fff; border:1px solid var(--line); border-radius:6px; padding:16px; overflow:hidden;
}
.lead-img img, .fame-img img{width:100%; height:auto; border-radius:2px;}
.faculty-list{display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:22px;}
.faculty-list span{font-size:14px; color:#3c536b;}
.faculty-list b{color:var(--navy);}

/* ===== CONTACT (home) ===== */
.contact{background:var(--navy); color:#fff;}
.contact .section-head h2{color:#fff;}
.contact .section-head p{color:rgba(255,255,255,.68);}
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr; gap:40px;}}
.contact-info p{font-size:15.5px; line-height:1.75; color:rgba(255,255,255,.72); margin-bottom:24px;}
.contact-addr{
  font-size:14px; line-height:1.7; color:rgba(255,255,255,.72); margin-bottom:28px;
  padding-left:16px; border-left:2px solid var(--teal);
}
.social-row{display:flex; gap:14px; margin-top:8px;}
.social-row a{
  width:44px; height:44px; border:1px solid rgba(255,255,255,.25); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff;
  transition:background .2s ease, border-color .2s ease;
}
.social-row a svg{width:18px; height:18px; fill:currentColor;}
.social-row a:hover{background:var(--teal); border-color:var(--teal);}
form{background:#fff; border:1px solid var(--line); border-radius:6px; padding:36px;}
.field{margin-bottom:18px;}
.field label{display:block; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#5a6f86; margin-bottom:8px;}
.field input, .field textarea{
  width:100%; border:1px solid var(--line); border-radius:4px; padding:12px 14px; font-family:var(--body); font-size:14.5px;
  background:var(--paper); color:var(--ink); resize:vertical;
}
.field input:focus, .field textarea:focus{outline:2px solid var(--teal); outline-offset:1px; background:#fff;}
button[type=submit]{
  width:100%; background:var(--navy); color:#fff; border:none; padding:14px; border-radius:4px;
  font-family:var(--disp); font-weight:600; font-size:14.5px; letter-spacing:.03em; text-transform:uppercase; cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
button[type=submit]:hover{background:var(--teal); color:var(--navy-deep);}
.form-note{font-size:12px; color:#8093a8; margin-top:12px; text-align:center;}
.form-success{display:none; text-align:center; padding:30px 10px;}
.form-success.show{display:block;}
.form-success h4{font-family:var(--disp); font-size:18px; color:var(--navy); margin-bottom:8px;}
.form-success p{font-size:14px; color:#5a6f86;}

/* ===== FOOTER ===== */
footer{background:var(--navy-deep); color:rgba(255,255,255,.7); padding:70px 0 30px;}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.1);}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr; gap:34px;}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}
.foot-brand{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.foot-brand img{height:34px;}
.foot-brand span{font-family:var(--disp); font-weight:700; color:#fff; font-size:14.5px; line-height:1.3;}
.foot-grid > div > p{font-size:13.5px; line-height:1.7; max-width:34ch; margin-bottom:16px;}
.foot-addr{font-size:13px; line-height:1.7; color:rgba(255,255,255,.55);}
.foot-col h5{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal-light); margin-bottom:16px;}
.foot-col ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
.foot-col a, .foot-col li{font-size:13.5px;}
.foot-col a:hover{color:#fff;}
.foot-social{display:flex; gap:12px; margin-top:6px;}
.foot-social a{
  width:38px; height:38px; border:1px solid rgba(255,255,255,.2); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.8);
  transition:background .2s ease, border-color .2s ease;
}
.foot-social a svg{width:16px; height:16px; fill:currentColor;}
.foot-social a:hover{background:var(--teal); border-color:var(--teal); color:var(--navy-deep);}
.foot-bottom{padding-top:26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:rgba(255,255,255,.45);}
.foot-bottom a{color:rgba(255,255,255,.6);}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1; transform:none; transition:none;}
}
