
/* HAI VU ACADEMIC SYSTEM V6
   Institutional – Academic – Premium
   Authoritative public visual layer: replaces prior experimental visual patches.
*/

:root{
  --hv6-ink:#18384f;
  --hv6-navy:#123f5b;
  --hv6-muted:#607380;
  --hv6-soft:#faf8f2;
  --hv6-line:rgba(24,56,79,.12);
  --hv6-gold:#9a7040;
  --hv6-max:1220px;
}

/* ---------- PAGE FRAME ---------- */

body.hv6-page{
  color:var(--hv6-ink);
  background:#fff;
}

body.hv6-page main{
  overflow:clip;
}

body.hv6-page main > section{
  padding-top:clamp(88px,7vw,112px);
  padding-bottom:clamp(88px,7vw,112px);
}

body.hv6-page main > section:first-child{
  padding-top:clamp(72px,6vw,96px);
  padding-bottom:clamp(76px,6.5vw,104px);
}

body.hv6-page main > section + section{
  border-top:1px solid rgba(24,56,79,.055);
}

/* Bring narrow legacy wrappers back to an institutional width. */
body.hv6-page main > section > div,
body.hv6-page .hv6-wrap{
  width:min(var(--hv6-max),calc(100% - 48px));
  max-width:var(--hv6-max);
  margin-inline:auto;
  box-sizing:border-box;
}

/* ---------- HEADER / FOOTER ---------- */

body.hv6-page > header:first-of-type,
body.hv6-page header.hv-site-header,
body.hv6-page header.hv6-header{
  min-height:78px!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid rgba(24,56,79,.08)!important;
  box-shadow:none!important;
}

body.hv6-page > header:first-of-type > *,
body.hv6-page header.hv-site-header > *,
body.hv6-page header.hv6-header > *{
  width:min(var(--hv6-max),calc(100% - 48px))!important;
  max-width:var(--hv6-max)!important;
  margin-inline:auto!important;
}

body.hv6-page header img{
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
}

body.hv6-page header nav{
  gap:clamp(18px,2vw,30px)!important;
}

body.hv6-page header nav a{
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

body.hv6-page .hv-brand-copy-hidden{
  display:revert!important;
}

body.hv6-page footer > *{
  width:min(var(--hv6-max),calc(100% - 48px))!important;
  max-width:var(--hv6-max)!important;
  margin-inline:auto!important;
}

/* ---------- TYPOGRAPHY ---------- */

body.hv6-page main h1{
  max-width:780px;
  margin-top:0;
  margin-bottom:24px;
  font-size:clamp(46px,4.3vw,56px)!important;
  line-height:1.08!important;
  letter-spacing:-.034em!important;
  font-weight:620!important;
  text-wrap:balance;
}

body.hv6-page main h2{
  max-width:800px;
  margin-top:0;
  margin-bottom:22px;
  font-size:clamp(32px,3vw,40px)!important;
  line-height:1.16!important;
  letter-spacing:-.024em!important;
  font-weight:620!important;
  text-wrap:balance;
}

body.hv6-page main h3{
  margin-top:0;
  margin-bottom:12px;
  font-size:clamp(22px,2vw,26px)!important;
  line-height:1.28!important;
  font-weight:600!important;
}

body.hv6-page main p,
body.hv6-page main li{
  font-size:clamp(16px,1.2vw,18px);
  line-height:1.68;
}

body.hv6-page main p{
  color:var(--hv6-muted);
}

body.hv6-page main [class*="eyebrow"],
body.hv6-page main [class*="kicker"]{
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:650!important;
  letter-spacing:.055em!important;
  text-transform:none!important;
  color:var(--hv6-gold)!important;
}

/* ---------- MEDIA ---------- */

body.hv6-page main figure{
  margin:0;
}

body.hv6-page main img{
  max-width:100%;
  height:auto;
}

body.hv6-page main figure > img,
body.hv6-page main [class*="media"] > img,
body.hv6-page main [class*="visual"] > img{
  border-radius:12px;
}

/* No heavy UI treatment on editorial/public content. */
body.hv6-page main .card,
body.hv6-page main .panel,
body.hv6-page main [class*="card"]{
  box-shadow:none!important;
}

/* ---------- AUTO NORMALIZED 2-COLUMN SECTIONS ---------- */

body.hv6-page .hv6-split{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(48px,6vw,84px)!important;
  align-items:center!important;
}

body.hv6-page main > section:first-child .hv6-split{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
}

body.hv6-page .hv6-split-copy{
  min-width:0;
}

body.hv6-page .hv6-split-media{
  min-width:0;
}

body.hv6-page .hv6-split-media > img,
body.hv6-page .hv6-split-media figure > img{
  display:block;
  width:100%;
  max-height:620px;
  object-fit:contain;
  object-position:center;
  background:#f5f3ed;
  border-radius:12px;
}

body.hv6-page .hv6-image-pair{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}

body.hv6-page .hv6-image-pair figure,
body.hv6-page .hv6-image-pair > div{
  min-width:0;
}

body.hv6-page .hv6-image-pair img{
  width:100%!important;
  height:clamp(320px,31vw,460px)!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f5f3ed!important;
  border-radius:12px!important;
}

body.hv6-page figcaption{
  margin-top:11px;
  color:#73828c;
  font-size:13px;
  line-height:1.55;
}

/* ---------- HOME / LIBRARY BRAND IDENTITY HERO ---------- */

.hv6-identity{
  width:100%;
  min-height:390px;
  box-sizing:border-box;
  padding:clamp(30px,3.4vw,46px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px solid var(--hv6-line);
  border-radius:14px;
  background:#fff;
}

.hv6-identity img{
  width:min(32%,158px)!important;
  height:auto!important;
  aspect-ratio:1/1;
  object-fit:contain!important;
  margin-bottom:26px;
  border-radius:0!important;
  background:transparent!important;
}

.hv6-identity blockquote{
  max-width:450px;
  margin:0;
  color:var(--hv6-ink);
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.62;
  font-weight:450;
}

.hv6-identity cite{
  margin-top:20px;
  color:#7a8891;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.04em;
  font-style:normal;
}

/* ---------- LONG CONTENT / TABLES ---------- */

body.hv6-page main article{
  max-width:820px;
}

body.hv6-page main table{
  width:100%;
  border-collapse:collapse;
  font-size:15px;
}

body.hv6-page main th,
body.hv6-page main td{
  padding:13px 12px;
  border-bottom:1px solid var(--hv6-line);
  text-align:left;
  vertical-align:top;
}

/* ---------- SPECIFIC: EVIDENCE PAGE ---------- */

.hv6-evidence-hero{
  background:linear-gradient(90deg,#fbfaf6 0%,#f8fbfc 100%);
}

.hv6-evidence-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  gap:clamp(54px,6vw,86px);
  align-items:center;
}

.hv6-evidence-lead{
  max-width:620px;
}

.hv6-evidence-frame{
  overflow:hidden;
  aspect-ratio:3/2;
  border-radius:12px;
  background:#f0eee8;
}

.hv6-evidence-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

.hv6-evidence-intro{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(52px,7vw,96px);
  align-items:start;
}

.hv6-evidence-list{
  margin-top:54px;
  border-top:1px solid var(--hv6-line);
}

.hv6-evidence-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:34px;
  padding:27px 0;
  border-bottom:1px solid var(--hv6-line);
}

.hv6-evidence-row span{
  color:var(--hv6-gold);
  font-size:14px;
}

.hv6-evidence-row p{
  margin:0;
  max-width:760px;
}

.hv6-evidence-wide{
  margin-top:38px;
}

.hv6-evidence-wide-frame{
  overflow:hidden;
  aspect-ratio:16/8;
  border-radius:12px;
  background:#f0eee8;
}

.hv6-evidence-wide-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

/* ---------- BUTTONS ---------- */

body.hv6-page main a[class*="button"],
body.hv6-page main a[class*="btn"],
body.hv6-page main button{
  min-height:44px;
  border-radius:999px!important;
  box-shadow:none!important;
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:960px){
  body.hv6-page .hv6-split,
  body.hv6-page main > section:first-child .hv6-split,
  .hv6-evidence-hero-grid,
  .hv6-evidence-intro{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }

  body.hv6-page .hv6-image-pair{
    grid-template-columns:1fr!important;
  }

  body.hv6-page .hv6-image-pair img{
    height:auto!important;
    max-height:600px;
  }

  .hv6-evidence-wide-frame{
    aspect-ratio:16/9;
  }
}

@media(max-width:720px){
  body.hv6-page main > section{
    padding-top:64px;
    padding-bottom:64px;
  }

  body.hv6-page main > section:first-child{
    padding-top:58px;
    padding-bottom:66px;
  }

  body.hv6-page main > section > div,
  body.hv6-page .hv6-wrap,
  body.hv6-page > header:first-of-type > *,
  body.hv6-page header.hv-site-header > *,
  body.hv6-page header.hv6-header > *,
  body.hv6-page footer > *{
    width:min(100% - 32px,var(--hv6-max))!important;
  }

  body.hv6-page main h1{
    font-size:clamp(36px,10vw,42px)!important;
  }

  body.hv6-page main h2{
    font-size:clamp(30px,8vw,34px)!important;
  }

  .hv6-identity{
    min-height:310px;
    padding:28px 22px;
  }

  .hv6-identity img{
    width:min(34%,136px)!important;
  }

  .hv6-evidence-row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .hv6-evidence-frame,
  .hv6-evidence-wide-frame{
    aspect-ratio:4/3;
  }
}
