:root{
  --navy: #0b1e3d;
  --navy-2: #132a52;
  --navy-3: #1c3766;
  --gold: #c9a15a;
  --gold-bright: #e3c17a;
  --cream-tile: #f5e3ac;
  --blue-tile: #c7e4f5;
  --salmon: #f4a891;
  --blue-accent: #2e9bf0;

  /* dark theme (default) */
  --bg: #0a1220;
  --bg-alt: #0e1a30;
  --surface: #132445;
  --surface-2: #17294c;
  --border: rgba(255,255,255,.09);
  --ink: #eef2fa;
  --ink-soft: #c3cee4;
  --muted: #8b9ac0;
  --shadow: 0 2px 6px rgba(0,0,0,.16);
  --radius: 16px;
}

:root[data-theme="light"]{
  --bg: #fbf3e7;
  --bg-alt: #fbf3e7;
  --surface: #ffffff;
  --surface-2: #eef4fc;
  --border: #dde6f2;
  --ink: #0b1e3d;
  --ink-soft: #1c3766;
  --muted: #5b6b83;
  --shadow: 0 2px 6px rgba(11,28,63,.06);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  transition:background .2s, color .2s;
}
h1,h2,h3{font-family:'Poppins',sans-serif;}
a{color:var(--gold);}
img{max-width:100%;display:block;}
.hidden{display:none !important;}
button{font-family:inherit;cursor:pointer;}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky; top:0; z-index:50;
  background:var(--navy);
  border-bottom:1px solid rgba(201,161,90,.35);
}
.topbar-inner{
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 24px; gap:16px;
}
.brand{display:flex; align-items:center; gap:10px; cursor:pointer;}
.brand-logo{width:36px; height:36px; border-radius:8px;}
.brand-title{color:#fff; font-weight:700; font-family:'Poppins',sans-serif; font-size:15px; letter-spacing:.5px;}
.nav-links{display:flex; gap:4px;}
.nav-link{
  background:transparent; border:none; color:#aebbd9;
  padding:8px 14px; border-radius:20px; font-size:13.5px; font-weight:600;
  transition:all .15s; white-space:nowrap;
}
.nav-link:hover{color:#fff;}
.nav-link.active{background:var(--gold); color:var(--navy);}
.topbar-actions{display:flex; align-items:center; gap:10px;}
.theme-toggle{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); color:var(--gold-bright);
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.theme-toggle:hover{background:rgba(255,255,255,.16);}
.nav-toggle{display:none; background:none; border:none; color:#fff; align-items:center; justify-content:center;}

@media(max-width:860px){
  .nav-links{
    display:none; position:absolute; top:59px; left:0; right:0;
    background:var(--navy); flex-direction:column; padding:10px 20px 16px; gap:4px;
    border-bottom:1px solid rgba(201,161,90,.35);
  }
  .nav-links.open{display:flex;}
  .nav-toggle{display:flex;}
}

/* ---------- Page shell ---------- */
main{max-width:1280px; margin:0 auto; padding:0 24px 70px;}
.page{padding-top:36px; scroll-margin-top:64px; border-top:1px solid var(--border);}
#page-overview{border-top:none; padding-top:10px;}
.section-block{margin:56px 0; text-align:center;}
.section-block .lede{margin-left:auto; margin-right:auto;}
.campus-photo{
  width:100%; max-width:900px; height:auto; aspect-ratio:1400/822;
  border-radius:20px; margin:0 auto 28px; box-shadow:var(--shadow);
  border:1px solid var(--border); object-fit:cover;
}
.section-block h2{font-size:26px; margin-bottom:14px; color:var(--ink);}
.lede{color:var(--muted); font-size:16px; line-height:1.7; max-width:800px;}
.cta-row{margin-top:20px;}
.about-contact-cta{text-align:center;}
.about-contact-cta .lede{margin-left:auto; margin-right:auto;}
.about-contact-cta .cta-row{display:flex; justify-content:center;}

/* ---------- Buttons ---------- */
.btn{
  border:none; border-radius:30px; padding:12px 26px; font-weight:600; font-size:14px;
  transition:transform .12s, box-shadow .12s; display:inline-block; text-decoration:none;
}
.btn:active{transform:scale(.97);}
.btn-gold{background:var(--gold); color:var(--navy);}
.btn-gold:hover{background:var(--gold-bright);}
.btn-outline{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.35);}
.btn-outline:hover{border-color:var(--gold);}
.btn-navy{background:var(--navy); color:#fff;}
.btn-navy:hover{background:var(--navy-2);}
.btn-text{background:none; color:var(--gold); text-decoration:underline; padding:6px 0; font-size:13px;}
.btn-dark-pill{background:rgba(0,0,0,.28); color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:20px; padding:9px 18px; font-size:13px; font-weight:600;}
.btn-dark-pill:hover{background:rgba(0,0,0,.42);}

/* ---------- Hero (Overview) ---------- */
.hero{
  position:relative; margin:20px 0 0; border-radius:24px; overflow:hidden;
  background:var(--navy);
  color:#fff; padding:76px 30px 46px;
  text-align:center; border:1px solid rgba(201,161,90,.25);
}
.hero-bg{display:none;}
.hero-content{position:relative; z-index:1;}
.hero-eyebrow{color:var(--gold-bright); letter-spacing:2.5px; text-transform:uppercase; font-size:12px; margin:0 0 20px; font-weight:600;}
.hero h1{
  font-size:clamp(34px, 11vw, 64px); margin:0; line-height:1.02; font-weight:800; color:#f4f6fb;
  text-shadow:none;
  letter-spacing:.5px;
}
.hero h1 .accent{
  color:var(--gold-bright);
  background:linear-gradient(180deg,#f3d998 0%, #c9a15a 55%, #a67f3d 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:none;
}
.hero-batch{font-size:19px; color:var(--gold-bright); margin:18px 0 6px; font-weight:600; letter-spacing:1px;}
.hero-tagline{color:#b9c4de; margin:0 auto 30px; max-width:560px; line-height:1.6;}
.hero-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:40px;}

.stat-strip{
  display:flex; flex-wrap:wrap; gap:36px; justify-content:center;
  padding-top:30px; border-top:1px solid rgba(255,255,255,.1);
}
.stat-chip{display:flex; flex-direction:column; gap:2px;}
.stat-chip strong{font-size:26px; color:#fff; font-family:'Poppins',sans-serif; font-weight:700;}
.stat-chip span{font-size:12px; color:#b9c4de;}

/* ---------- Directory header ---------- */
.dir-header{padding-top:30px; margin-bottom:20px;}
.dir-header h2{font-size:34px; color:var(--ink); margin:0 0 8px;}

/* ---------- Search & Filters ---------- */
.search-row{position:relative; isolation:isolate; margin-bottom:16px;}
.search-icon{position:absolute; z-index:1; pointer-events:none; left:18px; top:50%; transform:translateY(-50%); display:flex; color:var(--muted);}
#searchInput{
  width:100%; padding:15px 18px 15px 46px; border-radius:14px; border:1.5px solid var(--border);
  font-size:15px; background:var(--surface); color:var(--ink); box-shadow:var(--shadow);
}
#searchInput::placeholder{color:var(--muted);}
#searchInput:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,161,90,.25);}

.filters-panel{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:22px;
  background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:18px 20px;
  box-shadow:var(--shadow); margin-bottom:14px;
}
.filters-panel > .filter-group{min-width:0;}
@media(max-width:760px){
  .filters-panel{flex-direction:column; gap:18px;}
}
.statistics-heading{display:flex; align-items:center; justify-content:space-between; gap:16px; margin:24px 0 16px;}
.statistics-heading h3{font-size:20px; margin:0;}
.statistics-heading .btn-dark-pill{background:var(--navy); color:#fff;}
.filter-group{}
.skills-group{margin-bottom:20px;}
.filter-label{display:block; font-size:11px; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:1px; margin-bottom:9px;}
.chip-row{display:flex; flex-wrap:wrap; gap:8px;}
.chip{
  background:transparent; border:1.5px solid var(--border); color:var(--ink-soft);
  padding:6px 14px; border-radius:20px; font-size:13px; font-weight:500;
  transition:all .12s;
}
.chip:hover{border-color:var(--gold);}
.chip.active,.chip.gold-active{
  background:var(--gold); border-color:var(--gold-bright); color:var(--navy);
  box-shadow:inset 0 0 0 1px var(--gold-bright),0 2px 6px rgba(0,0,0,.12);
}
.chip.active:hover,.chip.gold-active:hover{background:var(--gold-bright); border-color:var(--gold-bright);}

/* ---------- Results ---------- */
.results-bar{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
  margin-bottom:16px; font-size:14px; color:var(--muted);
}
.results-bar strong{color:var(--ink);}
.no-results{text-align:center; color:var(--muted); padding:40px 0;}

/* ---------- Candidate grid & cards ---------- */
.candidate-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px;
}
.candidate-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow); position:relative; cursor:pointer;
  transition:transform .12s, border-color .12s, box-shadow .15s;
  display:flex; flex-direction:column; height:100%;
}
.candidate-card:hover{transform:translateY(-3px); border-color:rgba(201,161,90,.4);}
.candidate-card:has(.skill-row[open]){
  box-shadow:var(--shadow); border-color:rgba(201,161,90,.55); z-index:2;
}
.card-top{display:flex; gap:12px; align-items:flex-start;}
.card-photo{width:52px; height:52px; border-radius:10px; object-fit:cover; background:var(--surface-2); flex-shrink:0;}
.card-name{font-weight:700; font-size:15px; color:var(--ink); font-family:'Poppins',sans-serif; margin:0 0 3px; padding-right:64px;}
.card-spec{font-size:11px; color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.4px;}
.card-tag{
  position:absolute; top:16px; right:16px; background:var(--navy-3); color:var(--gold-bright);
  font-size:10px; font-weight:700; padding:3px 8px; border-radius:8px; letter-spacing:.5px;
  white-space:nowrap; z-index:1;
}
:root[data-theme="light"] .card-tag{background:var(--navy);}
.card-meta{margin-top:12px; display:flex; flex-direction:column; gap:4px;}
.card-meta-row{font-size:12px; color:var(--muted); display:flex; gap:5px;}
.card-meta-row b{color:var(--ink-soft); font-weight:600;}
.card-divider{border:none; border-top:1px solid var(--border); margin:14px 0 12px;}
.card-skills-rows{display:flex; flex-direction:column;}
.skill-row{border-top:1px solid var(--border); padding:9px 0;}
.skill-row:first-child{border-top:none; padding-top:0;}
.skill-row summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px;
}
.skill-row summary::-webkit-details-marker{display:none;}
.skill-row summary::marker{font-size:0;}
.skill-row h5{
  font-size:9.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--gold);
  margin:0; font-weight:700; flex-shrink:0; white-space:nowrap;
}
.skill-row .row-preview{
  flex:1; min-width:0; font-size:11.5px; color:var(--muted); line-height:1.4;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.skill-row .row-chevron{color:var(--gold); flex-shrink:0; transition:transform .15s;}
.skill-row[open] .row-chevron{transform:rotate(180deg);}
.skill-row[open] .row-preview{display:none;}
.skill-row .row-full{
  font-size:11.5px; color:var(--muted); line-height:1.6; margin:8px 0 0 0;
  animation:rowFadeIn .18s ease;
}
@keyframes rowFadeIn{from{opacity:0; transform:translateY(-2px);} to{opacity:1; transform:translateY(0);}}
.skill-row-empty{display:flex; align-items:center; gap:8px;}
.skill-row-empty .row-preview{font-style:italic; opacity:.7;}
.card-footer{margin-top:auto; padding-top:14px; display:flex;}
.linkedin-btn{
  display:inline-flex; align-items:center; gap:6px; background:#0a66c2; color:#fff;
  font-size:11.5px; font-weight:700; padding:6px 13px; border-radius:16px; text-decoration:none;
  transition:background .12s;
}
.linkedin-btn:hover{background:#0958a8;}
.modal-linkedin{margin-top:10px;}

/* ---------- Pagination ---------- */
.pagination{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  margin:36px 0 10px; text-align:center;
}
.pagination-range{font-size:12.5px; color:var(--muted); letter-spacing:.2px;}
.pagination-controls{display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap;}
.page-btn{
  background:var(--surface); border:1.5px solid var(--border); color:var(--ink-soft);
  min-width:38px; height:38px; padding:0 12px; border-radius:10px;
  font-size:13.5px; font-weight:600; transition:all .12s;
}
.page-btn:hover:not(:disabled){border-color:var(--gold); color:var(--ink);}
.page-btn.active{background:var(--gold); border-color:var(--gold); color:var(--navy); font-weight:700;}
.page-btn:disabled{opacity:.35; cursor:default;}
.page-btn.page-nav{color:var(--gold); font-weight:700; padding:0 16px;}
.page-btn.page-nav:disabled{color:var(--muted);}
@media(max-width:480px){
  .pagination-controls{flex-wrap:nowrap; gap:4px; width:100%;}
  .page-btn{min-width:30px; height:34px; padding:0 7px; font-size:12px; border-radius:8px;}
  .page-btn.page-nav{padding:0 9px; flex-shrink:0;}
}

/* ---------- Modal ---------- */
.modal-backdrop{
  position:fixed; inset:0; background:rgba(4,9,20,.7); z-index:100;
  display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; overflow-y:auto;
}
.modal-card{
  background:var(--surface); border:1px solid var(--border); border-radius:20px; max-width:640px; width:100%; padding:26px;
  box-shadow:var(--shadow); position:relative;
  max-height:90vh; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
}
.modal-card.modal-wide{max-width:900px;}
.modal-wide .howit-grid{margin-top:20px;}
.modal-close{position:absolute; top:16px; right:18px; background:none; border:none; font-size:22px; color:var(--muted);}
.modal-top{display:flex; gap:16px; align-items:flex-start; margin-bottom:18px;}
.modal-photo{width:88px; height:88px; border-radius:14px; object-fit:cover; background:var(--surface-2);}
.modal-name{font-size:21px; font-weight:700; color:var(--ink); font-family:'Poppins',sans-serif; margin:0 0 5px;}
.modal-spec{color:var(--gold); font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.5px;}
.modal-info{display:flex; flex-direction:column; gap:10px; margin-bottom:18px; padding:14px; background:var(--surface-2); border-radius:12px;}
.modal-info-row{display:flex; gap:8px; font-size:13.5px;}
.modal-info-row b{color:var(--gold); min-width:90px; display:inline-block;}
.modal-cols{display:grid; grid-template-columns:1fr; gap:18px;}
.modal-col h4{font-size:11.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--gold); margin:0 0 8px; border-bottom:1px solid var(--border); padding-bottom:6px;}
.modal-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.modal-col li{
  font-size:12.5px; line-height:1.45; color:var(--ink-soft);
  position:relative; padding-left:13px;
}
.modal-col li::before{content:"\2022"; position:absolute; left:0; top:0; color:var(--gold);}
.modal-col .empty{color:var(--muted); font-style:italic;}

/* ---------- Dashboard banner ---------- */
.dash-banner{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  background:var(--navy);
  border-radius:20px; padding:20px 28px; margin:24px 0 26px;
  box-shadow:var(--shadow);
}
.dash-banner-logo img{width:56px; height:56px; border-radius:50%; border:2px solid var(--gold);}
.dash-banner-text{flex:1; min-width:220px;}
.dash-banner-text h2{color:#fff; font-size:26px; margin:0 0 4px;}
.dash-banner-text p{color:var(--gold-bright); font-size:12.5px; margin:0; font-weight:600;}
.dash-banner-sub{color:#9fb0d1 !important; font-weight:400 !important; margin-top:2px !important;}

/* ---------- Collapsible section (mobile) ---------- */
.section-collapse{margin-bottom:6px;}
.section-toggle{
  list-style:none; cursor:pointer; display:none; align-items:center; justify-content:space-between;
  background:var(--surface); border:1px solid var(--border); border-radius:12px;
  padding:12px 16px; margin-bottom:16px; font-weight:700; font-size:13.5px; color:var(--ink);
}
.section-toggle::-webkit-details-marker{display:none;}
.section-toggle::marker{font-size:0;}
.section-chevron{color:var(--gold); transition:transform .15s; flex-shrink:0;}
.section-collapse[open] .section-chevron{transform:rotate(180deg);}
@media(max-width:760px){
  .section-toggle{display:flex;}
}

/* Expand/collapse button living inside the Batch/Placement banner cards */
.banner-toggle{display:inline-flex; align-items:center; gap:6px;}
.banner-toggle-chevron{transition:transform .15s; flex-shrink:0;}
.banner-toggle[aria-expanded="false"] .banner-toggle-chevron{transform:rotate(-90deg);}
.bp-grid.collapsed{display:none;}

/* ---------- Bento dashboard grid ---------- */
.bp-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:16px;
}
.tile{
  border-radius:16px; padding:20px; box-shadow:var(--shadow); border:1px solid var(--border);
  background:var(--surface);
}
.tile h3{margin:0 0 14px; font-size:13.5px; color:var(--ink); font-weight:700;}
.tile-gold{background:var(--cream-tile); border-color:rgba(0,0,0,.06);}
.tile-blue{background:var(--blue-tile); border-color:rgba(0,0,0,.06);}
.tile-gold, .tile-blue{color:#1a2b47;}
.tile-gold h3, .tile-blue h3{color:#1a2b47;}
.tile-gold .muted-note, .tile-blue .muted-note{color:#4a5b78;}

.tile-stat{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.tile-stat strong{font-size:44px; font-family:'Poppins',sans-serif; font-weight:800; line-height:1;}
.tile-stat span{font-size:12.5px; margin-top:8px; font-weight:600; letter-spacing:.3px;}

.tile-list{max-height:260px; overflow-y:auto;}
.tile-list ol{margin:0; padding:0; list-style:none; counter-reset:rank;}
.tile-list li{
  counter-increment:rank; display:flex; align-items:center; gap:10px;
  padding:7px 0; font-size:13px; border-bottom:1px solid var(--border);
}
.tile-gold .tile-list li, .tile-blue .tile-list li{border-bottom-color:rgba(0,0,0,.08);}
.tile-list li::before{
  content:counter(rank); width:20px; height:20px; border-radius:50%; background:var(--surface-2);
  color:var(--ink); font-size:10.5px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.tile-gold .tile-list li::before, .tile-blue .tile-list li::before{
  background:rgba(11,30,61,.12); color:#1a2b47;
}
.tile-list li .cnt{margin-left:auto; font-weight:700; opacity:.65; font-size:11.5px;}

.gauge-wrap{position:relative; display:flex; flex-direction:column; align-items:center;}
.gauge-value{position:absolute; top:58%; left:50%; transform:translate(-50%,-50%); text-align:center;}
.gauge-value strong{display:block; font-size:26px; font-family:'Poppins',sans-serif; font-weight:800;}
.gauge-range{display:flex; justify-content:space-between; width:100%; font-size:11px; opacity:.7; margin-top:-6px;}

.span-3{grid-column:span 3;}
.span-4{grid-column:span 4;}
.span-5{grid-column:span 5;}
.span-6{grid-column:span 6;}
.span-7{grid-column:span 7;}
.span-8{grid-column:span 8;}
.span-9{grid-column:span 9;}
.span-12{grid-column:span 12;}
@media(max-width:980px){
  .bp-grid [class*="span-"]{grid-column:span 6;}
}
@media(max-width:640px){
  .bp-grid [class*="span-"]{grid-column:span 12;}
}
.chart-wrap{position:relative; height:220px;}
.chart-wrap.tall{height:260px;}
.chart-wrap canvas{width:100% !important; height:100% !important;}
.gauge-wrap .chart-wrap{height:150px;}

/* ---------- How it works / About ---------- */
.howit-grid, .about-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px;}
.about-grid{grid-template-columns:repeat(2,1fr); margin-top:36px; margin-bottom:36px;}
.about-card{background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:20px; box-shadow:var(--shadow);}
.about-card h3{color:var(--ink); margin:0 0 10px; font-size:16px;}
.about-card p, .about-card li{color:var(--muted); font-size:14px; line-height:1.6;}
.about-card ul{margin:0; padding-left:18px;}
@media(max-width:760px){.howit-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.about-grid{grid-template-columns:1fr;}}

.contact-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.contact-item{display:flex; flex-direction:column; gap:4px; font-size:14px; color:var(--ink);}
.contact-label{color:var(--gold); font-size:11px; text-transform:uppercase; letter-spacing:.5px; font-weight:700;}
.contact-item a{color:var(--gold);}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
.site-footer{
  text-align:center; padding:32px 20px 44px; font-size:13px;
  background:#ffffff; color:#5b6b83; border-top:1px solid #e6ecf5;
}
.site-footer p{margin:0;}
.site-footer p:first-of-type{color:#0b1e3d; font-weight:600; margin-top:2px;}
.footer-logos{
  display:flex; align-items:flex-start; justify-content:center; gap:30px;
  flex-wrap:wrap; margin:0 0 16px;
}
.footer-logos img{
  width:54px; height:54px; object-fit:contain; margin:0; border-radius:8px;
}
.footer-logos img.footer-logo-polara{width:48px; height:36px; border-radius:0; margin:9px 0;}
.footer-logo-link{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  text-decoration:none; color:#5b6b83; line-height:1;
}
.footer-logo-link span{
  font-size:8.5px; font-weight:700; letter-spacing:.4px; line-height:1.3;
  text-transform:uppercase; text-align:center; white-space:nowrap;
}
.footer-logo-link:hover span{text-decoration:underline;}
.footer-credit{font-size:10.5px; opacity:.75; margin-top:6px;}
.footer-credit a{color:inherit; text-decoration:underline;}

/* ---------- SaaS surface treatment; existing palette and geometry retained ---------- */
:root{
  --surface-depth:0 2px 6px rgba(0,0,0,.16);
  --surface-highlight:inset 0 1px 0 rgba(255,255,255,.06);
  --motion-ease:cubic-bezier(.2,.7,.3,1);
}
:root[data-theme="light"]{
  --surface-depth:0 2px 6px rgba(11,28,63,.06);
  --surface-highlight:inset 0 1px 0 rgba(255,255,255,.65);
}

.hero{isolation:isolate; box-shadow:var(--surface-depth), var(--surface-highlight);}
.hero h1{text-shadow:none;}
.hero h1 .accent{text-shadow:none;}
.hero-content{animation:surfaceReveal .65s var(--motion-ease);}
@keyframes surfaceReveal{
  from{opacity:0;}
  to{opacity:1;}
}

.candidate-card,.tile,.about-card,.filters-panel,.modal-card,#searchInput{
  box-shadow:var(--surface-depth), var(--surface-highlight);
}
.candidate-card,.tile,.filters-panel{border-radius:18px;}
.about-card{border-radius:16px;}
.modal-card{border-radius:22px; animation:surfaceReveal .2s var(--motion-ease);}
.modal-backdrop{backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
.dash-banner{box-shadow:var(--surface-depth), var(--surface-highlight);}
.tile-gold,.tile-blue{box-shadow:var(--surface-depth), inset 0 1px 0 rgba(255,255,255,.3);}

.btn,.chip,.nav-link,.page-btn,.theme-toggle,.nav-toggle,.linkedin-btn,.modal-close,
.section-toggle,.skill-row summary{
  transition:background-color .2s var(--motion-ease), color .2s var(--motion-ease),
    border-color .2s var(--motion-ease), box-shadow .2s var(--motion-ease),
    transform .2s var(--motion-ease);
}
.btn-gold,.btn-navy,.btn-dark-pill,.nav-link.active,.page-btn.active{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 3px 8px rgba(0,0,0,.12);
}
.btn-outline{box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.candidate-card{transition:transform .2s var(--motion-ease), border-color .2s var(--motion-ease), box-shadow .2s var(--motion-ease);}
@media(hover:hover) and (pointer:fine){
  .btn:not(.btn-text):hover,.linkedin-btn:hover{transform:translateY(-2px);}
  .chip:hover,.page-btn:hover:not(:disabled){box-shadow:0 3px 8px rgba(0,0,0,.1);}
  .candidate-card:hover{box-shadow:var(--surface-depth), var(--surface-highlight), 0 0 0 1px rgba(201,161,90,.15);}
  .modal-close:hover{color:var(--gold); transform:scale(1.08);}
  .nav-toggle:hover{color:var(--gold-bright);}
  .section-toggle:hover,.skill-row summary:hover{box-shadow:inset 0 -1px 0 var(--gold);}
}
.btn:active,.linkedin-btn:active{transform:scale(.97);}
:where(button,a,input,summary,[tabindex]):focus-visible{
  outline:2px solid var(--gold-bright);
  outline-offset:4px;
}
:root[data-theme="light"] :where(button,a,input,summary,[tabindex]):focus-visible{
  outline-color:var(--navy);
}
#searchInput:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

/* Even glass surfaces: no diagonal sheen or cloudy colour overlays. */
:root{
  --glass-fill:rgba(19,36,69,.62);
  --glass-edge:rgba(195,206,228,.2);
  --glass-shadow:0 2px 6px rgba(0,0,0,.14), inset 0 1px 0 rgba(238,242,250,.2), inset 1px 0 0 rgba(238,242,250,.07);
}
:root[data-theme="light"]{
  --glass-fill:rgba(255,255,255,.58);
  --glass-edge:rgba(11,30,61,.14);
  --glass-shadow:0 2px 6px rgba(11,28,63,.06), inset 0 1px 0 rgba(255,255,255,.9), inset 1px 0 0 rgba(255,255,255,.5);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .candidate-card,.tile,.about-card,.filters-panel,.modal-card,#searchInput,.section-toggle{
    background:var(--glass-fill);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-color:var(--glass-edge);
    box-shadow:var(--glass-shadow);
  }
  .tile-gold{background:var(--cream-tile);}
  .tile-blue{background:var(--blue-tile);}
  .modal-card{background-color:color-mix(in srgb,var(--surface) 86%,transparent);}
  .dash-banner{background:var(--navy); box-shadow:var(--surface-depth);}
  .btn-outline{
    background:rgba(238,242,250,.05);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:inset 0 1px 0 rgba(238,242,250,.18),0 4px 12px rgba(0,0,0,.12);
  }
  .chip:not(.active):not(.gold-active){background:var(--glass-fill);}
  .candidate-card:hover,.candidate-card:has(.skill-row[open]){
    box-shadow:var(--glass-shadow),0 0 0 1px rgba(201,161,90,.25);
  }
  @media(max-width:860px){
    .nav-links{background:var(--navy);}
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* Section links retain the existing navigation appearance. */
a.nav-link{display:inline-block; text-decoration:none;}
