/* ============================================================
   ABOUT — art-house editorial CV
   ============================================================ */
body{ background:var(--vellum); }
.cv-wrap{ max-width:1320px; margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

/* ---------- Masthead: wall of name ---------- */
.mast{
  position:relative; overflow:hidden;
  min-height:100vh; min-height:100svh;
  display:flex; align-items:flex-end;
  padding:150px 0 clamp(40px,7vh,80px);
  border-bottom:1.5px solid var(--ink);
}
.name-field{
  position:absolute; inset:0; z-index:0; overflow:hidden;
  font-family:var(--pd); font-weight:700;
  font-size:clamp(54px,8.5vw,128px); line-height:1.34;
  letter-spacing:.02em; word-spacing:.18em;
  color:transparent; -webkit-text-stroke:1px rgba(26,23,20,.10);
  user-select:none; pointer-events:none;
  padding:80px 0 0;
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 16%, #000 64%, transparent 100%);
  mask-image:linear-gradient(180deg, transparent 0%, #000 16%, #000 64%, transparent 100%);
}
.name-field b{ color:transparent; -webkit-text-stroke:1px rgba(193,67,43,.18); }

.mast-inner{ position:relative; z-index:2; width:100%; }
.mast-kicker{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  font-family:var(--mo); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); margin-bottom:clamp(26px,5vh,52px);
}
.mast-kicker .ln{ flex:1; min-width:30px; height:1px; background:var(--ink); opacity:.25; }
.mast-kicker .vm{ color:var(--vermilion); }
/* blended bilingual + bracket kicker */
.mast-kicker.mk-blend{ align-items:center; }
.mk-stack{ display:inline-flex; flex-direction:column; gap:4px; }
.mk-en{
  font-family:var(--mo); font-size:14px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--vermilion); font-weight:600; line-height:1; display:block;
}
.mk-en .br{ color:var(--vermilion); letter-spacing:0; margin:0 .14em; font-weight:400; }
.mk-my{ font-size:18px; color:var(--gold); letter-spacing:.02em; line-height:1.5; display:block; margin-top:7px; }
.mk-meta{ font-family:var(--mo); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); white-space:nowrap; }
.mk-meta .vm{ color:var(--vermilion); }
@media (max-width:620px){ .mast-kicker.mk-blend .ln{ display:none; } .mast-kicker.mk-blend{ align-items:flex-start; } }
.mast-name{
  font-family:var(--pd); font-weight:700; color:var(--ink);
  font-size:clamp(58px,14vw,188px); line-height:1.46; letter-spacing:.004em;
  padding-bottom:.04em;
}
.mast-foot{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:14px 30px;
  margin-top:clamp(26px,5vh,52px);
  border-top:1px solid var(--hair); padding-top:24px;
}
.mast-en{ font-family:var(--eg); font-style:italic; font-size:clamp(22px,3vw,38px); color:var(--ink); }
.mast-en .pn{ font-family:var(--mo); font-style:normal; font-size:.4em; color:var(--gold); letter-spacing:.1em; vertical-align:middle; margin-left:.5em; }
.mast-role{
  font-family:var(--in); font-size:clamp(13px,1.4vw,16px); line-height:1.6;
  max-width:50ch; opacity:.82; margin-left:auto; text-align:right;
}
.mast-role .em{ font-family:var(--eg); font-style:italic; color:var(--vermilion); }
@media (max-width:760px){ .mast-role{ margin-left:0; text-align:left; } }

/* ---------- Section scaffolding ---------- */
.cv-sec{ padding:clamp(64px,11vh,128px) 0; position:relative; }
.cv-sec.alt{ background:var(--vellum-warm); border-bottom:1px solid var(--hair); }
#education{ border-top:none; }
.sec-head{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px;
  margin-bottom:clamp(40px,7vh,72px);
}
.sec-no{ font-family:var(--mo); font-size:clamp(13px,1.4vw,15px); letter-spacing:.1em; color:var(--vermilion); }
.sec-label{
  font-family:var(--eg); font-weight:500; font-size:clamp(30px,5.4vw,68px);
  line-height:1; letter-spacing:.01em; color:var(--ink);
}
.sec-my{ font-family:var(--pd); font-size:clamp(15px,1.8vw,22px); color:var(--gold); opacity:.8; justify-self:end; }
.sec-rule{ grid-column:1 / -1; height:1.5px; background:var(--ink); margin-top:4px; }

/* ---------- Headline experience entries ---------- */
.entry{
  display:grid; grid-template-columns:54px minmax(180px,232px) 1fr;
  gap:clamp(16px,3vw,52px); align-items:start;
  padding:clamp(30px,4.5vh,52px) 0; border-top:1px solid var(--hair);
  transition:padding-left .35s ease;
}
.entry:first-of-type{ border-top:none; }
.entry:hover{ padding-left:10px; }
.entry .idx{ font-family:var(--mo); font-size:13px; color:var(--gold); padding-top:.55em; }
.entry .meta{ display:flex; flex-direction:column; gap:7px; padding-top:.45em; }
.entry .org{ font-family:var(--mo); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink); line-height:1.5; }
.entry .when{ font-family:var(--mo); font-size:11px; letter-spacing:.04em; color:var(--vermilion); }
.entry .where{ font-family:var(--mo); font-size:10.5px; letter-spacing:.06em; opacity:.5; text-transform:uppercase; }
.entry h3{
  font-family:var(--eg); font-weight:500; font-size:clamp(27px,3.6vw,48px);
  line-height:1.08; letter-spacing:.004em; color:var(--ink);
  transition:color .25s;
}
.entry:hover h3{ color:var(--vermilion); }
.entry .sub{ font-family:var(--mo); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-top:11px; }
.entry .lede{ font-family:var(--in); font-size:clamp(14px,1.4vw,16px); line-height:1.74; opacity:.84; margin-top:16px; max-width:62ch; text-wrap:pretty; }
.entry ul{ list-style:none; margin-top:18px; display:flex; flex-direction:column; gap:11px; max-width:64ch; }
.entry li{ font-family:var(--in); font-size:14px; line-height:1.62; opacity:.82; padding-left:24px; position:relative; text-wrap:pretty; }
.entry li::before{ content:'→'; position:absolute; left:0; top:0; color:var(--vermilion); font-family:var(--mo); font-size:12px; }
.entry .tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.entry .tags span{ font-family:var(--mo); font-size:10px; letter-spacing:.04em; padding:5px 11px; border:1px solid var(--hair); border-radius:999px; opacity:.72; }
@media (max-width:720px){
  .entry{ grid-template-columns:1fr; gap:14px; }
  .entry .idx{ padding-top:0; }
  .entry .meta{ flex-direction:column; gap:6px; padding-top:0; }
  .venture .vhead{ flex-direction:column; align-items:flex-start; gap:16px; }
  .venture .vredact{ min-width:0; width:100%; }
  .venture .main .stamp{
    position:absolute; top:50%; left:50%; margin:0; z-index:5;
    transform:translate(-50%,-50%) rotate(-9deg);
    width:78%; box-sizing:border-box; text-align:center; white-space:normal;
    font-size:clamp(38px,13vw,60px); letter-spacing:.04em; line-height:1.05;
    padding:34px 24px; border-width:3px;
    background:rgba(244,240,232,.62);
    -webkit-backdrop-filter:blur(2.5px); backdrop-filter:blur(2.5px);
    box-shadow:0 0 0 6px rgba(193,67,43,.08), 0 20px 48px -16px rgba(193,67,43,.5);
  }
}

/* ---------- Entry 03 · art-house redaction ---------- */
.venture .main{ position:relative; }
.venture .vhead{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.venture .vname{
  font-family:var(--eg); font-weight:500; font-size:clamp(46px,8vw,116px);
  line-height:.86; letter-spacing:-.012em; color:var(--ink); text-transform:none;
}
.venture:hover .vname{ color:var(--ink); }
.venture .vname .stop{ color:var(--vermilion); }
/* PeafowlAI · stealth lede */
.entry .pf-tag{
  display:inline-block; font-family:var(--mo); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--vermilion);
  border:1px solid var(--hair); border-radius:999px; padding:4px 11px;
  margin-right:13px; vertical-align:middle; transform:translateY(-1px);
}
/* redacted hero headline */
.venture .vname.is-redacted{ display:flex; }
.venture .vredact{
  display:inline-flex; align-items:center;
  height:clamp(58px,9vw,118px); min-width:min(74%,11ch);
  background:var(--ink); border-radius:3px; padding:0 clamp(20px,2.6vw,34px);
  font-family:var(--mo); font-size:clamp(11px,1.3vw,14px);
  letter-spacing:.4em; text-transform:uppercase;
  color:rgba(244,240,232,.16); cursor:default; user-select:none;
  transition:background .45s ease, color .45s ease;
}
.venture .main:hover .vredact{ background:var(--vermilion); color:rgba(244,240,232,.5); }
.venture .stamp{
  flex-shrink:0; margin-top:10px; transform:rotate(6deg);
  border:1.5px solid var(--vermilion); color:var(--vermilion);
  font-family:var(--mo); font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  padding:8px 13px 7px; border-radius:3px; opacity:.9; line-height:1;
  box-shadow:0 0 0 4px rgba(193,67,43,.06);
}
.venture .bars{ margin-top:clamp(26px,3.4vw,40px); display:flex; flex-direction:column; gap:clamp(9px,1vw,13px); max-width:60ch; }
.venture .bar{
  height:clamp(24px,3vw,34px); background:var(--vermilion); border-radius:2px;
  position:relative; overflow:hidden; cursor:default;
  transition:background .45s ease, transform .45s ease;
}
.venture .bar::after{
  content:attr(data-x); position:absolute; inset:0; display:flex; align-items:center; padding:0 14px;
  font-family:var(--mo); font-size:10px; letter-spacing:.34em; text-transform:uppercase;
  color:rgba(244,240,232,.13); white-space:nowrap;
}
.venture .bar.w1{ width:90%; } .venture .bar.w2{ width:58%; }
.venture .bar.w3{ width:76%; } .venture .bar.w4{ width:38%; }
.venture .main:hover .bar{ background:var(--ink); }
.venture .main:hover .bar::after{ color:rgba(244,240,232,.4); }
.venture .main:hover .bar.w2{ transform:translateX(8px); }
.venture .main:hover .bar.w4{ transform:translateX(14px); }
.venture .vcap{
  margin-top:clamp(22px,2.6vw,30px); font-family:var(--mo); font-size:11px;
  letter-spacing:.05em; color:var(--ink); opacity:.5; text-wrap:pretty;
}
.venture .vcap .dot{ color:var(--vermilion); }
.venture .meta .where{ display:inline-flex; }
.venture .redbar{
  display:inline-block; width:64px; height:11px; background:var(--ink); border-radius:2px;
  vertical-align:middle; transition:background .4s ease;
}
.venture .meta:hover .redbar{ background:var(--vermilion); }

/* interlude line */
.interlude{
  border-top:1px solid var(--hair); padding:clamp(22px,3.5vh,34px) 0;
  display:grid; grid-template-columns:54px 1fr; gap:clamp(16px,3vw,52px);
}
.interlude .idx{ font-family:var(--mo); font-size:13px; color:var(--gold); }
.interlude p{ font-family:var(--eg); font-style:italic; font-size:clamp(17px,2vw,23px); line-height:1.5; opacity:.8; max-width:48ch; }
.interlude .m{ font-family:var(--mo); font-style:normal; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--vermilion); display:block; margin-bottom:9px; }
@media (max-width:720px){ .interlude{ grid-template-columns:1fr; gap:10px; } }

/* ---------- Cluster: teaching & research ---------- */
.cluster-head{
  display:flex; align-items:baseline; gap:16px; flex-wrap:wrap;
  margin:clamp(50px,8vh,84px) 0 8px;
}
.cluster-head .t{ font-family:var(--mo); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); }
.cluster-head .c{ font-family:var(--mo); font-size:11px; color:var(--vermilion); }
.cluster-head .ln{ flex:1; height:1px; background:var(--hair); }
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(34px,5vw,72px); }
.mini{ border-top:1px solid var(--hair); padding:clamp(18px,2.6vh,24px) 0; display:flex; flex-direction:column; gap:6px; }
.mini-head{ display:flex; justify-content:space-between; align-items:first baseline; gap:8px; }
.mini .role{ font-family:var(--eg); font-size:clamp(19px,2vw,24px); line-height:1.18; color:var(--ink); }
.mini .yr{ font-family:var(--mo); font-size:11px; color:var(--vermilion); flex-shrink:0; white-space:nowrap; }
.mini .org{ font-family:var(--mo); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; opacity:.5; }
.mini .note{ font-family:var(--in); font-size:13px; line-height:1.6; opacity:.78; margin-top:4px; max-width:44ch; text-wrap:pretty; }
@media (max-width:680px){ .grid2{ grid-template-columns:1fr; } }

.honors{
  margin-top:clamp(40px,6vh,60px); padding-top:24px; border-top:1.5px solid var(--ink);
  display:flex; align-items:baseline; gap:16px; flex-wrap:wrap;
}
.honors .k{ font-family:var(--mo); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.honors .v{ font-family:var(--eg); font-style:italic; font-size:clamp(18px,2vw,24px); }
.honors .yr{ font-family:var(--mo); font-size:11px; color:var(--vermilion); }

/* ---------- Static section seam — Option E (light, black-outlined name) ---------- */
.seam{
  position:relative; overflow:hidden;
  background:linear-gradient(to bottom, #F4F0E8 0%, #F1EBE1 50%, #EDE7DB 100%);
  min-height:clamp(210px,32vh,300px);
  display:flex; align-items:center; justify-content:center;
  padding:0 var(--pad) 10px;
}
.seam-out{
  position:relative; z-index:1;
  white-space:nowrap; pointer-events:none; user-select:none;
  font-weight:700; font-size:clamp(72px,15.5vw,210px); line-height:1.5;
  color:transparent; -webkit-text-stroke:1.3px rgba(26,23,20,.42);
}
.seam::after{
  content:''; position:absolute; left:50%; bottom:2px;
  transform:translateX(-50%); width:46px; height:1.5px; background:var(--vermilion); opacity:.55; z-index:2;
}
@media (max-width:560px){
  .seam-out{ font-size:56px; -webkit-text-stroke-width:1px; }
}

/* ---------- Education ---------- */
.edu{
  display:grid; grid-template-columns:minmax(180px,232px) 1fr; gap:clamp(16px,3vw,52px);
  padding:clamp(30px,4.5vh,50px) 0; border-top:1px solid var(--hair);
}
.edu:first-of-type{ border-top:none; }
.edu .school{ font-family:var(--mo); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink); line-height:1.5; }
.edu .school .college{ display:block; color:var(--vermilion); margin-top:8px; letter-spacing:.04em; }
.edu .deg{ font-family:var(--eg); font-weight:500; font-size:clamp(25px,3.2vw,42px); line-height:1.1; color:var(--vermilion); }
.edu .focus{ font-family:var(--eg); font-style:italic; font-size:clamp(17px,1.8vw,21px); opacity:.8; margin-top:8px; }
.edu dl{ margin-top:20px; display:grid; grid-template-columns:120px 1fr; gap:9px 18px; max-width:60ch; }
.edu dt{ font-family:var(--mo); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); padding-top:3px; }
.edu dd{ font-family:var(--in); font-size:13.5px; line-height:1.6; opacity:.84; text-wrap:pretty; }
@media (max-width:720px){ .edu{ grid-template-columns:1fr; gap:14px; } .edu dl{ grid-template-columns:1fr; gap:3px 0; } .edu dt{ margin-top:10px; } }

/* ---------- Education section background — giant drifting wall ---------- */
.edu-bg{
  position:absolute; inset:0; z-index:0;
  pointer-events:none; user-select:none; overflow:hidden;
  display:flex; flex-direction:column; justify-content:space-between; gap:0;
  padding:clamp(20px,4vh,52px) 0;
  -webkit-mask-image:radial-gradient(ellipse 120% 120% at 60% 50%, #000 42%, rgba(0,0,0,.35) 72%, transparent 100%);
          mask-image:radial-gradient(ellipse 120% 120% at 60% 50%, #000 42%, rgba(0,0,0,.35) 72%, transparent 100%);
}
.edu-bg .eb-row{ white-space:nowrap; line-height:.9; }
.edu-bg .t{ display:inline-block; font-family:var(--pd); font-weight:700; will-change:transform; }
.edu-bg .eb-big .t{
  font-size:clamp(86px,13vw,168px);
  color:transparent; -webkit-text-stroke:1.25px rgba(26,23,20,.05);
  animation:eb-l 72s linear infinite;
}
.edu-bg .eb-low .t{
  -webkit-text-stroke:1.25px rgba(193,67,43,.06);
  animation:eb-r 88s linear infinite;
}
.edu-bg .eb-mid .t{
  font-size:clamp(58px,9vw,132px);
  color:transparent; -webkit-text-stroke:1px rgba(176,141,63,.09);
  animation:eb-r 60s linear infinite;
}
.edu-bg .eb-mid.eb-low .t{ -webkit-text-stroke:1px rgba(193,67,43,.06); animation:eb-l 80s linear infinite; }
@keyframes eb-l{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes eb-r{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
@media (prefers-reduced-motion:reduce){ .edu-bg .t{ animation:none !important; } }
#education .cv-wrap{ position:relative; z-index:1; }

/* PeafowlAI redaction treatment */
.redact{
  display:inline-block; background:var(--ink); color:var(--ink);
  letter-spacing:.06em; border-radius:2px; padding:0 3px;
  font-family:var(--mo); font-size:.85em; vertical-align:baseline;
  user-select:none; cursor:default;
  transition:background .4s ease, color .4s ease;
}
.redact:hover{ background:var(--vermilion); color:var(--vellum); }
.pf-aside{ font-family:var(--eg); font-style:italic; opacity:.62; }
.pf-redacted{
  display:inline-block;
  font-family:var(--mo); font-size:clamp(13px,1.4vw,15px);
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--vellum); background:var(--ink);
  padding:4px 14px 3px; border-radius:2px;
  cursor:default; user-select:none;
  transition:background .35s ease, color .35s ease;
}
.pf-redacted:hover{ background:var(--vermilion); }
