/* Hall of Legends Phase 2 visual *layout* blueprint — no historical scene art in this file. */
:root{--h-gold:#fff200;--h-green:#94ff53}
body.hall-visual-demo{background:#030604;color:#f7f8f3;font-family:Georgia,"Times New Roman",serif;overflow-x:hidden}
.hv-shell{width:min(1530px,100%);margin:0 auto;padding:20px clamp(12px,3vw,36px) 80px}
.hv-header{text-align:center;padding:34px 12px 26px}.hv-header h1{color:#fff200;font:700 clamp(32px,5.3vw,60px)/1.12 Georgia,serif;margin:12px 0}.hv-header p{color:#d6dfd5;font:16px/1.6 Georgia,serif;max-width:810px;margin:10px auto}
.hv-tag{color:#94ff53;letter-spacing:.13em;text-transform:uppercase;font:700 12px Georgia,serif}
.hv-control{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;border-radius:18px;padding:14px;margin:12px auto 24px;background:#0b150e;border:1px solid #94ff5347;max-width:900px}
.hv-control p{font:13px/1.5 Georgia,serif;color:#cbd5cd;margin:0;flex:1 1 280px}
.hv-btn{font:700 14px Georgia,serif;cursor:pointer;border:1px solid #94ff53a3;color:#fff200;background:#111d13;border-radius:999px;padding:10px 16px;min-height:44px}.hv-btn:hover,.hv-btn:focus-visible{box-shadow:0 0 16px #94ff5340;outline:2px solid #fff200;outline-offset:2px}.hv-btn[aria-pressed="true"]{background:#24442a;border-color:#fff200}
.hv-back{display:inline-flex;align-items:center;color:#94ff53;padding:10px 0;text-decoration:none;font:700 13px Georgia,serif}
.hv-pair-head{margin:29px auto 0;position:relative;padding:16px 14px;text-align:center;color:#fff200;font:700 15px Georgia,serif;background:#0f1d16;border:1px solid #94ff5347;border-radius:15px 15px 0 0}
.hv-scene{--h-sky:#111924;--h-wall:#494b41;--h-ground:#716149;position:relative;isolation:isolate;overflow:hidden;border:1px solid #fff20026;border-top:0;min-height:700px;background:radial-gradient(ellipse at 50% 24%,color-mix(in srgb,var(--h-sky) 65%,#b2aa8f),transparent 60%),linear-gradient(100deg,var(--h-wall) 0%,var(--h-sky) 27%,var(--h-sky) 74%,var(--h-wall) 100%)}
.hv-scene::before{position:absolute;z-index:-1;content:"";inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--h-ground) 60%,transparent),transparent 55%),repeating-linear-gradient(90deg,transparent 0 14%,#fff2 14.05% 14.12%,transparent 14.2% 24%);pointer-events:none}
.hv-scene::after{content:"";position:absolute;z-index:-1;bottom:-2%;left:26%;width:48%;height:102%;clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);background:linear-gradient(180deg,color-mix(in srgb,var(--h-ground) 40%,#090d0a),var(--h-ground));box-shadow:0 0 40px #000a;opacity:.8;pointer-events:none}
.hv-vignette{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0008 0,transparent 24%,transparent 76%,#0008),linear-gradient(0deg,#0006,transparent 25%,transparent 78%,#0006)}
.hv-head{position:relative;text-align:center;max-width:840px;margin:0 auto;padding:30px 12px 15px;text-shadow:0 2px 10px #000}.hv-head h2{margin:8px auto;color:#fff200;font:700 clamp(20px,3.3vw,31px)/1.2 Georgia,serif}.hv-head p{margin:6px auto;color:#f1eee6;font:13px/1.55 Georgia,serif;max-width:670px}.hv-count{display:inline-block;color:#94ff53;font:700 12px Georgia,serif;padding:5px 10px;border:1px solid #94ff537e;border-radius:99px;background:#0008}
.hv-rows{position:relative;display:flex;flex-direction:column;gap:45px;padding:32px clamp(12px,18vw,275px) 74px}
.hv-row{display:flex;justify-content:space-between;gap:8px;min-height:173px;align-items:center}
.hv-person{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;flex:0 0 clamp(126px,13.2vw,177px);min-height:161px;border-radius:12px;text-align:center;padding:12px 8px;background:linear-gradient(160deg,#0a140ddc,#1a1d16ec);border:1px solid #fff2009e;box-shadow:0 0 0 5px #0005,0 14px 27px #0008}
.hv-person--spacer{border:0;background:transparent;box-shadow:none;visibility:hidden}.hv-avatar{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#968d64,#4c503e 74%);border:2px solid #fff200aa;color:#fff200;font:700 21px Georgia,serif}.hv-person b{color:#fff;font:700 14px/1.22 Georgia,serif}.hv-person small{font:11px/1.3 Georgia,serif;color:#f1d780}.hv-person .hv-num{font:700 10px Georgia,serif;color:#a6e789}.hv-person .hv-note{font:10px Georgia,serif;color:#e1e9da}
.hv-footnote{font:13px/1.55 Georgia,serif;position:relative;margin:8px auto 0;max-width:790px;text-align:center;padding:14px;background:#000a;border:1px solid #ffffff29;border-radius:12px;color:#ede9db}
.hv-source{color:#94ff53;text-decoration:underline}
.hv-entrance,.hv-summit{text-align:center;background:radial-gradient(ellipse at center,#1b2e1d,#0a120d 75%);padding:45px 14px;border:1px solid #94ff536a;border-radius:18px}.hv-entrance h2,.hv-summit h2{color:#fff200;font:700 clamp(25px,3vw,35px) Georgia,serif}.hv-entrance p,.hv-summit p{color:#dfe7dc;font:15px/1.6 Georgia,serif;max-width:700px;margin:10px auto}
.hv-explainer{padding:18px;background:#0a130e;border:1px solid #94ff533b;border-radius:14px;margin:20px 0;color:#e5e9e2;font:14px/1.6 Georgia,serif}.hv-explainer strong{color:#fff200}
.hv-pair{margin:0 auto}.hv-pair .hv-scene+.hv-scene{margin-top:0}
.hv-mobile .hv-pair{max-width:390px}.hv-mobile .hv-rows{padding:20px 10px 45px;gap:20px}.hv-mobile .hv-person{flex-basis:143px;min-height:161px}.hv-mobile .hv-row{min-height:164px}.hv-mobile .hv-scene::after{left:28%;width:44%}
@media(max-width:700px){.hv-rows{padding:22px 10px 43px;gap:21px}.hv-row{min-height:156px}.hv-person{flex-basis:clamp(125px,41%,148px);min-height:156px;padding:8px 6px}.hv-person b{font-size:12px}.hv-person small{font-size:10px}.hv-avatar{width:43px;height:43px;font-size:17px}.hv-pair-head{font-size:13px}.hv-head{padding:25px 9px}.hv-header{padding:20px 2px 15px}.hv-scene::after{left:28%;width:44%}.hv-visual-toggle{display:none}.hv-source{word-break:break-word}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Automatically installed portrait crops preserve wall-card sizing at all breakpoints. */
.hv-image{display:block;width:94px;height:94px;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:2px solid #fff20096;box-shadow:0 5px 15px #0009}
.hv-person:has(.hv-image){min-height:192px}
@media(max-width:700px){.hv-image{width:82px;height:82px}.hv-person:has(.hv-image){min-height:178px}}

/* Phase 5 interaction anchors: controls and accessible previews. */
.hv-activity{font-size:12px;min-height:40px;padding:8px 12px;margin-top:4px}
.hv-era-control{display:block;position:relative;z-index:1;margin:8px auto 18px;border-color:#fff200;background:linear-gradient(125deg,#101f17,#233727,#101a13);box-shadow:0 0 18px #94ff533b}
.hv-demo-overlay[hidden]{display:none!important}
body.hv-demo-modal-open{overflow:hidden}
.hv-demo-overlay{position:fixed;inset:0;background:#000d;z-index:99999;display:flex;align-items:center;justify-content:center;padding:14px}
.hv-demo-dialog{width:min(560px,100%);max-height:88dvh;overflow-y:auto;position:relative;background:linear-gradient(125deg,#13251e,#060c08);color:white;border:1px solid #94ff53;border-radius:18px;padding:clamp(23px,4vw,38px);box-shadow:0 20px 65px #000e}
.hv-demo-dialog h2{font:700 clamp(25px,4vw,37px)/1.2 Georgia,serif;color:#fff200;margin:15px 45px 7px 0}
.hv-demo-dialog p{font:15px/1.65 Georgia,serif;color:#e2e8dd}
.hv-demo-dialog #hv-demo-dates{font-weight:700;color:#94ff53}
.hv-demo-close{position:absolute;top:10px;right:12px;min-width:44px;min-height:44px;border:1px solid #94ff53;border-radius:50%;background:#172b1e;color:#fff200;font:30px Georgia,serif;cursor:pointer}
.hv-demo-close:focus-visible,.hv-demo-close:hover{outline:2px solid #fff200;outline-offset:2px}

/* Hall of Legends — death-year ascent layout, intentionally without final scenic artwork. */
.hv-chronology{min-height:0;overflow:hidden}
.hv-chronology .hv-head{padding:30px 12px 22px}
.hv-chronology .hv-head p{color:#f0e8db}
.hv-chronology .hv-stops{position:relative;width:100%;min-height:360px;isolation:isolate}
.hv-chronology .hv-person,.hv-chronology .hv-person:has(.hv-image){position:absolute;bottom:var(--bottom);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;width:clamp(145px,16vw,190px);min-height:0;height:auto;flex-basis:auto;padding:0 4px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;transition:transform .35s ease,filter .35s ease}
.hv-chronology .hv-person--left{left:clamp(10px,12%,215px);transform:perspective(800px) rotateY(-14deg) rotateZ(-1.5deg);transform-origin:left center}
.hv-chronology .hv-person--right{right:clamp(10px,12%,215px);transform:perspective(800px) rotateY(14deg) rotateZ(1.5deg);transform-origin:right center}
.hv-chronology .hv-person:hover,.hv-chronology .hv-person:focus-within,.hv-chronology .hv-person--active{z-index:8;transform:perspective(800px) rotateY(0deg) rotateZ(0deg) translateY(-7px) scale(1.08);filter:drop-shadow(0 0 15px #94ff5399)}
.hv-chronology .hv-portrait-button{display:flex;justify-content:center;align-items:center;position:relative;cursor:pointer;flex:0 0 auto;width:clamp(116px,13vw,148px);height:clamp(116px,13vw,148px);padding:0;border:0;border-radius:9px;background:radial-gradient(ellipse at center,#17241eaa,#030a0800 74%);box-shadow:0 0 0 1px #ffffff13,0 0 17px #94ff5324;transition:box-shadow .3s ease,background .3s ease}
.hv-chronology .hv-portrait-button:hover,.hv-chronology .hv-person--active .hv-portrait-button{background:radial-gradient(ellipse at center,#354f2bd9,#030a0800 77%);box-shadow:0 0 14px #fff2008c,0 0 28px #94ff539c}
.hv-chronology .hv-portrait-button:focus-visible,.hv-chronology .hv-bio-link:focus-visible{outline:2px solid #fff200;outline-offset:3px}
.hv-chronology .hv-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border:0;border-radius:7px;box-shadow:none;background:transparent}
.hv-chronology .hv-avatar{width:70px;height:70px}
.hv-chronology .hv-person-name{display:block;color:#fff;font:700 clamp(12px,1.3vw,15px)/1.22 Georgia,"Times New Roman",serif;max-width:100%;text-shadow:-1px -1px 1px #000,1px 1px 2px #000,0 0 7px #000;-webkit-text-stroke:.2px #080808}
.hv-chronology .hv-person-date{display:block;color:#fff;font:400 clamp(10px,1.05vw,12px)/1.28 Georgia,"Times New Roman",serif;max-width:100%;text-shadow:0 1px 3px #000,0 0 5px #000;-webkit-text-stroke:.15px #050505}
.hv-chronology .hv-bio-link{border:0;background:transparent;min-height:38px;padding:6px 12px;color:#fff;cursor:pointer;font:700 14px Georgia,"Times New Roman",serif;text-decoration:underline;text-underline-offset:4px;text-shadow:0 1px 3px #000,0 0 7px #000;-webkit-text-stroke:.2px #000}
.hv-chronology .hv-bio-link:hover{color:#fff200}
.hv-challenge-bay{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;min-height:95px;margin:12px auto 0;max-width:600px;background:radial-gradient(ellipse at center,#111f16d9,transparent 80%)}
.hv-challenge-bay .hv-era-control{font-size:13px;max-width:220px;white-space:normal;text-align:center}
.hv-demo-image{display:block;width:min(220px,60vw);height:min(220px,60vw);object-fit:contain;margin:8px auto 14px;background:radial-gradient(circle,#31412c55,transparent 75%);border-radius:10px}
.hv-demo-image[hidden]{display:none!important}
.hv-mobile #hv-journey{max-width:390px;margin:auto}
.hv-mobile .hv-chronology .hv-person,.hv-mobile .hv-chronology .hv-person:has(.hv-image){width:clamp(132px,39vw,152px)}
.hv-mobile .hv-chronology .hv-person--left{left:5px}.hv-mobile .hv-chronology .hv-person--right{right:5px}
.hv-mobile .hv-chronology .hv-portrait-button{width:112px;height:112px}
@media(max-width:700px){
 .hv-chronology .hv-person,.hv-chronology .hv-person:has(.hv-image){width:clamp(132px,42vw,156px)}
 .hv-chronology .hv-person--left{left:4px}.hv-chronology .hv-person--right{right:4px}
 .hv-chronology .hv-portrait-button{width:clamp(105px,32vw,125px);height:clamp(105px,32vw,125px)}
 .hv-chronology .hv-person-name{font-size:12px}.hv-chronology .hv-person-date{font-size:10.5px}
 .hv-chronology .hv-bio-link{font-size:13px}
 .hv-challenge-bay{min-height:80px}.hv-challenge-bay .hv-era-control{max-width:175px;font-size:12px}
 #hv-references ul{columns:1!important}
}
@media(prefers-reduced-motion:reduce){.hv-chronology .hv-person,.hv-chronology .hv-portrait-button{transition:none!important}}

/* Phase 6: parallel museum walls, angled portrait frames, on-path challenge signals, and scorekeeping. */
body.hall-visual-demo{overflow-x:clip}
.hv-chronology{background:linear-gradient(90deg,color-mix(in srgb,var(--h-wall) 60%,#0b0d0a) 0 26.5%,#1c241e 27% 73%,color-mix(in srgb,var(--h-wall) 60%,#0b0d0a) 73.5% 100%)}
.hv-chronology::before{z-index:0;background:repeating-linear-gradient(0deg,transparent 0 159px,#fff1 160px,transparent 162px 320px),linear-gradient(90deg,#0008 0,transparent 9%,#fff1 25%,#0009 27%,transparent 29% 71%,#0009 73%,#fff1 75%,transparent 91%,#0008)}
.hv-chronology::after{z-index:0;top:0;bottom:0;left:27%;width:46%;height:100%;clip-path:none;opacity:1;transform:none;border-left:2px solid #7e82616e;border-right:2px solid #7e82616e;background:repeating-linear-gradient(0deg,transparent 0 139px,#ffffff15 140px,transparent 142px 280px),repeating-linear-gradient(90deg,transparent 0 44%,#ffffff0a 44.2%,transparent 44.5% 100%),linear-gradient(90deg,#101a16,#2c342b 18%,#30392e 50%,#2c342b 82%,#101a16);box-shadow:inset 14px 0 22px #0006,inset -14px 0 22px #0006}
.hv-chronology .hv-head,.hv-chronology .hv-stops{position:relative;z-index:1}
.hv-chronology .hv-person--left,.hv-chronology .hv-person--right{transform:none;transform-origin:center}
.hv-chronology .hv-person:hover,.hv-chronology .hv-person:focus-within,.hv-chronology .hv-person--active{transform:none;filter:none}
.hv-chronology .hv-portrait-button{border:3px ridge #c9b56a;padding:3px;border-radius:5px;background:linear-gradient(135deg,#1b271e,#0b0f0c);box-shadow:0 0 0 2px #0009,0 8px 20px #000b,0 0 12px #94ff5333;transition:transform .6s cubic-bezier(.19,.83,.24,1),box-shadow .45s ease,filter .45s ease;backface-visibility:hidden}
.hv-chronology .hv-person--left .hv-portrait-button{transform:perspective(750px) rotateY(-24deg) rotateZ(26deg);transform-origin:48% 50%}
.hv-chronology .hv-person--right .hv-portrait-button{transform:perspective(750px) rotateY(24deg) rotateZ(-26deg);transform-origin:52% 50%}
.hv-chronology .hv-person:hover .hv-portrait-button,.hv-chronology .hv-person:focus-within .hv-portrait-button,.hv-chronology .hv-person--active .hv-portrait-button{transform:perspective(750px) rotateY(0deg) rotateZ(0deg) translateY(-8px) scale(1.14);box-shadow:0 0 0 2px #fff200,0 0 20px #fff20099,0 0 40px #94ff53bb,0 18px 30px #000c;filter:brightness(1.08)}
.hv-chronology .hv-portrait-button .hv-image{width:100%;height:100%;object-fit:contain;border-radius:2px}
.hv-chronology .hv-person-name,.hv-chronology .hv-person-date,.hv-chronology .hv-bio-link{position:relative;z-index:2}
.hv-chronology .hv-person-name{font-size:clamp(12px,1.25vw,15px)}
.hv-chronology .hv-person-date{font-size:clamp(10px,1vw,12px)}
.hv-floor-marker{position:absolute;z-index:4;left:50%;transform:translateX(-50%);width:min(245px,44%);min-height:52px;padding:8px 6px;border:0;border-radius:8px;background:transparent;color:#fff200;text-align:center;letter-spacing:.04em;text-transform:uppercase;font:700 clamp(13px,1.55vw,18px)/1.25 Georgia,"Times New Roman",serif;text-shadow:0 0 7px #fff20077,0 0 17px #fff20055,0 2px 4px #000;cursor:pointer;transition:text-shadow .3s ease,transform .3s ease}
.hv-floor-marker::after{content:"";display:block;width:46%;height:1px;margin:7px auto 0;background:linear-gradient(90deg,transparent,#fff200,transparent);box-shadow:0 0 10px #fff2008a}
.hv-floor-marker--era{font-size:clamp(15px,1.8vw,21px);color:#fff200;text-shadow:0 0 12px #fff200aa,0 0 20px #94ff5366,0 2px 4px #000}
.hv-floor-marker:hover,.hv-floor-marker:focus-visible{transform:translateX(-50%) scale(1.09);outline:1px solid #fff2007a;outline-offset:3px;text-shadow:0 0 9px #fff200,0 0 23px #fff200,0 0 35px #94ff53}
.hv-floor-marker.hv-marker--arrived{animation:hv-marker-arrival 1.45s ease-in-out 1}
@keyframes hv-marker-arrival{0%,100%{filter:brightness(1);text-shadow:0 0 7px #fff20077,0 0 17px #fff20055}25%{filter:brightness(1.8);text-shadow:0 0 16px #fff200,0 0 34px #fff200,0 0 42px #94ff53}50%{filter:brightness(.8)}75%{filter:brightness(1.7);text-shadow:0 0 16px #fff200,0 0 34px #fff200}}
.hv-scorebar{position:sticky;top:var(--etp-header-height,72px);z-index:2147481999;width:100%;background:linear-gradient(90deg,#0b130df5,#18281af7,#0b130df5);border-bottom:1px solid #94ff5399;box-shadow:0 6px 15px #0008,0 0 12px #94ff5329;backdrop-filter:blur(10px);font-family:Georgia,"Times New Roman",serif}
.hv-scorebar-inner{width:min(1200px,100%);min-height:45px;margin:auto;padding:5px 14px;display:flex;align-items:center;justify-content:center;gap:clamp(13px,3vw,42px)}
.hv-score-title{color:#fff200;font:700 12px Georgia,serif;letter-spacing:.13em;white-space:nowrap}
.hv-score-item{display:flex;align-items:baseline;gap:8px;white-space:nowrap;color:#fff;font:12px Georgia,serif}
.hv-score-item b{font:700 20px Georgia,serif;color:#fff200;font-variant-numeric:tabular-nums}
.hv-score-item b span{font-size:12px;color:#f4f1df}
.hv-score-item small{font-size:11px;color:#e6e8df}
.hv-score-pending{color:#94ff53;font:italic 11px Georgia,serif}
.hv-entrance-ledger{width:min(730px,100%);margin:25px auto 4px;padding:16px 18px;border:1px solid #fff20066;border-radius:14px;background:#050d09cc;box-shadow:inset 0 0 20px #94ff5314}
.hv-entrance-ledger h3{color:#fff200;font:700 20px Georgia,serif;margin:0 0 12px}
.hv-ledger-values{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.hv-ledger-values span{display:flex;flex-direction:column;gap:4px;min-width:140px;font:12px Georgia,serif;color:#e9eee7}
.hv-ledger-values strong{font:700 23px Georgia,serif;color:#94ff53}
.hv-entrance-ledger p{font-size:12px;margin:12px auto 0;color:#d5dcd1}
.hv-summit{padding:35px clamp(10px,3vw,34px) 38px}
.hv-certificate{position:relative;overflow:hidden;isolation:isolate;width:min(860px,100%);margin:25px auto 18px;padding:clamp(24px,5vw,56px) clamp(14px,5vw,55px);background:radial-gradient(ellipse at 50% 40%,#fffdf5,#f2e6c6 85%);border:8px double #a48643;outline:2px solid #d8b968;outline-offset:3px;box-shadow:0 0 0 8px #090d0a,0 20px 50px #0009;color:#2d281e;font-family:Georgia,"Times New Roman",serif}
.hv-cert-corners{position:absolute;left:16px;top:9px;font-size:22px;color:#8b6d32}
.hv-cert-brand{color:#315333;font:700 clamp(12px,1.8vw,16px) Georgia,serif;letter-spacing:.25em}
.hv-cert-ornament{color:#a28646;margin:14px 0;font-size:20px;letter-spacing:.15em}
.hv-cert-title{font:700 clamp(26px,4.2vw,48px)/1.13 Georgia,serif;color:#29271d;margin:8px 0 18px}
.hv-certificate .hv-cert-intro{color:#474032;font:italic clamp(13px,1.5vw,17px)/1.6 Georgia,serif;max-width:650px;margin:0 auto}
.hv-cert-name{color:#22422b;font:italic 700 clamp(27px,4vw,42px) Georgia,serif;border-bottom:1px solid #a48643;max-width:510px;margin:24px auto 10px;padding-bottom:10px}
.hv-cert-subtitle{font:700 clamp(13px,1.7vw,17px) Georgia,serif;letter-spacing:.05em;color:#4a4536}
.hv-cert-stats{display:flex;justify-content:center;gap:clamp(10px,3vw,36px);flex-wrap:wrap;margin:30px auto 20px}
.hv-cert-stats span{display:flex;flex-direction:column;gap:4px;font:12px Georgia,serif;color:#504632;min-width:110px}
.hv-cert-stats b{font:700 24px Georgia,serif;color:#315333}
.hv-cert-seals{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(7px,1.6vw,15px);margin:22px 0}
.hv-cert-seal{display:grid;place-items:center;width:clamp(30px,5vw,46px);height:clamp(30px,5vw,46px);border:2px dashed #a89c80;border-radius:50%;font:700 15px Georgia,serif;color:#8a806a;background:#ffffff50}
.hv-cert-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #a4864366;margin-top:28px;padding-top:12px;font:italic 12px Georgia,serif;color:#5e573f}
.hv-cert-watermark{position:absolute;z-index:2;top:49%;left:50%;width:max-content;max-width:90%;transform:translate(-50%,-50%) rotate(-14deg);border:3px double #a3434380;padding:10px 15px;color:#8e3030a0;font:700 clamp(15px,3.6vw,32px) Georgia,serif;letter-spacing:.1em;pointer-events:none;background:#fffdf516}
.hv-summit .hv-cert-note{font-size:13px;max-width:680px;margin:12px auto 18px;color:#dce6d6}
@media(max-width:700px){
 .hv-chronology .hv-person--left{left:clamp(18px,5vw,30px)}
 .hv-chronology .hv-person--right{right:clamp(18px,5vw,30px)}
 .hv-floor-marker{width:46%;min-height:48px;font-size:12px;padding:6px 2px;letter-spacing:0}
 .hv-floor-marker--era{font-size:15px}
 .hv-scorebar-inner{min-height:47px;gap:clamp(7px,3vw,18px);padding:5px 8px;justify-content:space-around}
 .hv-score-title,.hv-score-pending{display:none}
 .hv-score-item{display:flex;flex-direction:column;align-items:center;gap:0}
 .hv-score-item b{font-size:17px}.hv-score-item b span{font-size:10px}
 .hv-score-item small{font-size:10px}
 .hv-cert-bottom{flex-direction:column;align-items:center;gap:6px}
 .hv-cert-stats{gap:10px}.hv-cert-stats span{min-width:76px;font-size:10px}.hv-cert-stats b{font-size:20px}
 .hv-cert-seals{gap:5px}.hv-cert-seal{width:31px;height:31px}
 .hv-certificate{border-width:5px;outline-offset:2px}
}
@media(prefers-reduced-motion:reduce){
 .hv-chronology .hv-portrait-button,.hv-floor-marker{transition:none!important}
 .hv-floor-marker.hv-marker--arrived{animation:none!important}
}

/* The summit certificate is the topmost Hall content; supporting research is tucked into the entrance. */
.hv-entrance-title{color:#fff200;font:700 clamp(28px,4.8vw,48px)/1.12 Georgia,serif;margin:10px auto 18px}
.hv-research-details{max-width:900px;margin:26px auto 8px;padding:10px 12px;border:1px solid #94ff5360;border-radius:12px;background:#08110b;text-align:left}
.hv-research-details>summary{color:#fff200;font:700 15px Georgia,serif;cursor:pointer;padding:8px;list-style-position:inside}
.hv-research-details>summary:hover,.hv-research-details>summary:focus-visible{color:#94ff53;outline-offset:3px}
.hv-research-details .hv-header{padding:15px 8px}
.hv-research-details .hv-header h1{font-size:clamp(24px,3vw,36px)}
.hv-research-details .hv-control{margin:10px auto}
.hv-research-details .hv-explainer{margin:12px 0}
.hv-entrance>.hv-back{margin-top:18px}

/* Modal must sit above the shared site navigation and the sticky score ledger. */
.hv-demo-overlay{z-index:2147483000}
.hv-mobile .hv-chronology .hv-person--left{left:clamp(18px,5vw,30px)}
.hv-mobile .hv-chronology .hv-person--right{right:clamp(18px,5vw,30px)}

/* Phase 7 — upright gallery frames: consistent textile-inspired geometry, unified nameplates, no rotation. */
.hv-chronology .hv-person,.hv-chronology .hv-person:has(.hv-image){
 transform:none;transform-origin:center center;
 transition:transform .38s cubic-bezier(.18,.8,.2,1),filter .38s ease;
}
.hv-chronology .hv-frame-unit{
 width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;
 gap:0;overflow:visible;isolation:isolate;
 border:1px solid #bda259;border-radius:3px;
 padding:4px 5px 5px;
 background:linear-gradient(145deg,#243622,#0b160e 28%,#080e09 70%,#253822);
 box-shadow:inset 0 0 0 1px #fff20026,0 7px 20px #000a,0 0 10px #94ff532c;
 transition:box-shadow .38s ease,border-color .38s ease;
}
.hv-chronology .hv-person--left .hv-portrait-button,
.hv-chronology .hv-person--right .hv-portrait-button,
.hv-chronology .hv-person:hover .hv-portrait-button,
.hv-chronology .hv-person:focus-within .hv-portrait-button,
.hv-chronology .hv-person--active .hv-portrait-button{
 transform:none;transform-origin:center;filter:none;
}
.hv-chronology .hv-portrait-button,
.hv-mobile .hv-chronology .hv-portrait-button{
 position:relative;display:grid;place-items:center;flex:0 0 auto;
 width:100%;height:auto;aspect-ratio:1;
 margin:0;padding:0;border:0;border-radius:1px;
 background:#0b130d;box-shadow:0 0 0 1px #bda25977;
 overflow:hidden;
 transition:box-shadow .38s ease,filter .38s ease;
}
.hv-chronology .hv-portrait-button::after{
 content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
 background-image:url("./hall-of-legends/afrocentric-geometric-frame.svg");
 background-repeat:no-repeat;background-position:center;background-size:100% 100%;
}
.hv-chronology .hv-portrait-button .hv-image{
 display:block;width:100%;height:100%;max-width:100%;max-height:100%;
 padding:clamp(11px,1.1vw,15px);box-sizing:border-box;
 object-fit:contain;object-position:center;background:#0b140f;
 border:0;border-radius:0;box-shadow:none;
}
.hv-chronology .hv-frame-unit .hv-person-name{
 display:block;align-self:stretch;max-width:100%;width:100%;
 margin:4px 0 0;padding:8px 4px 2px;
 border-top:1px solid #bda2599c;
 background:linear-gradient(90deg,#1a2c1d,#0b150e,#1a2c1d);
 color:#fff9dd;font:700 clamp(12px,1.18vw,15px)/1.23 Georgia,"Times New Roman",serif;
 text-shadow:0 1px 3px #000;overflow-wrap:break-word;
}
.hv-chronology .hv-frame-unit .hv-person-date{
 display:block;align-self:stretch;width:100%;max-width:100%;
 margin:0;padding:3px 3px 5px;
 background:#0b150e;color:#e9d784;
 font:400 clamp(10px,1vw,12px)/1.25 Georgia,"Times New Roman",serif;
 text-shadow:0 1px 2px #000;overflow-wrap:break-word;
}
.hv-chronology .hv-frame-unit .hv-bio-link{
 align-self:stretch;display:block;min-height:36px;margin:0;
 border-top:1px solid #94ff534c;
 background:linear-gradient(90deg,#102415,#18321c,#102415);
 color:#fff200;font:700 13px Georgia,"Times New Roman",serif;
 text-decoration:none;text-shadow:0 0 8px #fff20050;
}
.hv-chronology .hv-frame-unit .hv-bio-link:hover,
.hv-chronology .hv-frame-unit .hv-bio-link:focus-visible{background:#24402a;color:#fff}
.hv-chronology .hv-person:hover,
.hv-chronology .hv-person:focus-within,
.hv-chronology .hv-person--active{
 z-index:10;transform:translateY(-11px) scale(1.075);
 filter:drop-shadow(0 0 13px #94ff5388);
}
.hv-chronology .hv-person:hover .hv-frame-unit,
.hv-chronology .hv-person:focus-within .hv-frame-unit,
.hv-chronology .hv-person--active .hv-frame-unit{
 border-color:#fff200;
 box-shadow:inset 0 0 0 1px #fff2008c,0 0 14px #fff200a1,0 0 27px #94ff53b0,0 16px 28px #000b;
}
.hv-chronology .hv-person:hover .hv-portrait-button,
.hv-chronology .hv-person:focus-within .hv-portrait-button,
.hv-chronology .hv-person--active .hv-portrait-button{
 box-shadow:0 0 0 1px #fff200,0 0 15px #94ff5360;
}
.hv-summit-title{
 color:#94ff53;font:700 clamp(24px,4vw,44px)/1.15 Georgia,"Times New Roman",serif;
 margin:8px auto 15px;letter-spacing:.025em;text-shadow:0 0 15px #94ff5340;
}
.hv-summit .hv-back--top{display:flex;width:max-content;margin:0 auto 9px;min-height:44px;align-items:center;justify-content:center}
.hv-entrance{scroll-margin-top:calc(var(--etp-header-height,72px) + 68px)}
.hv-entrance-howto{max-width:650px;margin:12px auto 20px!important;font-size:14px!important;color:#e9f1e3!important}
.hv-entrance-howto strong{color:#fff200}
.hv-entrance #hv-begin{
 display:inline-flex;align-items:center;justify-content:center;gap:12px;
 min-height:62px;padding:15px clamp(18px,4vw,40px);
 border:2px solid #fff200;border-radius:13px;
 background:linear-gradient(115deg,#203923,#315b31 48%,#142e1b);
 color:#fff200;font:700 clamp(16px,2.2vw,21px)/1.2 Georgia,"Times New Roman",serif;
 box-shadow:0 5px 0 #08170c,0 12px 25px #000a,0 0 19px #94ff537a;
 text-shadow:0 0 10px #fff2007a;
 animation:hv-begin-glow 3.8s ease-in-out infinite;
 transition:transform .22s ease,box-shadow .22s ease;
}
.hv-entrance #hv-begin:hover,.hv-entrance #hv-begin:focus-visible{
 transform:translateY(-5px) scale(1.045);
 box-shadow:0 9px 0 #08170c,0 16px 32px #000b,0 0 29px #fff200b0,0 0 44px #94ff53a8;
}
@keyframes hv-begin-glow{0%,100%{box-shadow:0 5px 0 #08170c,0 12px 25px #000a,0 0 13px #94ff535c}50%{box-shadow:0 5px 0 #08170c,0 12px 25px #000a,0 0 25px #fff2007c,0 0 35px #94ff5370}}
.hv-research-details{margin-top:20px}
.hv-research-details .hv-explainer{background:transparent;border:0;padding:7px;margin:6px 0}
.hv-research-details #hv-references-list{columns:2;padding-left:22px;line-height:1.75}
@media(max-width:700px){
 .hv-chronology .hv-person,.hv-chronology .hv-person:has(.hv-image),
 .hv-mobile .hv-chronology .hv-person,.hv-mobile .hv-chronology .hv-person:has(.hv-image){
  width:clamp(115px,37vw,145px);padding:0;
 }
 .hv-chronology .hv-person--left,.hv-mobile .hv-chronology .hv-person--left{left:clamp(4px,1.5vw,10px)}
 .hv-chronology .hv-person--right,.hv-mobile .hv-chronology .hv-person--right{right:clamp(4px,1.5vw,10px)}
 .hv-chronology .hv-portrait-button,.hv-mobile .hv-chronology .hv-portrait-button{
  width:100%;height:auto;aspect-ratio:1;
 }
 .hv-chronology .hv-portrait-button .hv-image{padding:10px}
 .hv-chronology .hv-frame-unit .hv-person-name{font-size:12px;padding:6px 2px 2px}
 .hv-chronology .hv-frame-unit .hv-person-date{font-size:10px}
 .hv-chronology .hv-frame-unit .hv-bio-link{min-height:34px;font-size:12px}
 .hv-chronology .hv-person:hover,.hv-chronology .hv-person:focus-within,.hv-chronology .hv-person--active{
  transform:translateY(-8px) scale(1.055);
 }
 .hv-research-details #hv-references-list{columns:1}
}
@media(prefers-reduced-motion:reduce){
 .hv-entrance #hv-begin{animation:none!important;transition:none!important}
 .hv-chronology .hv-person,.hv-chronology .hv-frame-unit{transition:none!important}
}

/* Phase 8 — staggered five-credit activities, seal milestones and museum portal transitions. */
.hv-floor-marker{
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:5px;left:50%;width:min(240px,42%);min-height:78px;
 padding:10px 8px;line-height:1.18;
 --hall-marker-shift:0px;
 transform:translateX(calc(-50% + var(--hall-marker-shift)));
 background:transparent;border:1px solid transparent;
 border-radius:10px;box-shadow:none;
}
.hv-floor-marker--west{--hall-marker-shift:clamp(-42px,-3vw,-10px)}
.hv-floor-marker--east{--hall-marker-shift:clamp(10px,3vw,42px)}
.hv-floor-marker--center{--hall-marker-shift:0px}
.hv-floor-marker .hv-marker-title{
 display:block;width:100%;font:700 clamp(13px,1.4vw,18px)/1.24 Georgia,"Times New Roman",serif;
 text-wrap:balance;overflow-wrap:break-word;
}
.hv-floor-marker .hv-marker-reward{
 display:block;font:700 clamp(10px,1vw,12px)/1.25 Georgia,"Times New Roman",serif;
 text-transform:none;letter-spacing:.015em;color:#94ff53;text-shadow:0 0 8px #94ff5377,0 1px 3px #000;
}
.hv-floor-marker--era .hv-marker-title{font-size:clamp(16px,1.75vw,21px);color:#fff200}
.hv-floor-marker--era .hv-marker-reward{color:#e8c971}
.hv-floor-marker:hover,.hv-floor-marker:focus-visible{
 transform:translateX(calc(-50% + var(--hall-marker-shift))) translateY(-4px) scale(1.045);
 border-color:#fff20075;outline:2px solid #94ff53;outline-offset:2px;
}
.hv-floor-marker.hv-marker--arrived{animation:hv-marker-arrival 1.45s ease-in-out 1}
.hv-demo-overlay:not([hidden]){animation:hv-portal-enter .42s ease-out both}
.hv-demo-overlay:not([hidden])::before{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(ellipse at center,#94ff531a 0%,transparent 60%);
 animation:hv-portal-halo .6s ease-out both;
}
.hv-demo-overlay:not([hidden]) .hv-demo-dialog{
 animation:hv-dialog-enter .48s cubic-bezier(.16,.84,.23,1) both;
}
.hv-demo-overlay.hv-overlay-leaving{animation:hv-portal-leave .26s ease-in both!important}
.hv-demo-overlay.hv-overlay-leaving .hv-demo-dialog{animation:hv-dialog-leave .26s ease-in both!important}
@keyframes hv-portal-enter{from{opacity:0;background-color:#0000}to{opacity:1;background-color:#000d}}
@keyframes hv-portal-leave{from{opacity:1}to{opacity:0}}
@keyframes hv-portal-halo{0%{opacity:0;transform:scale(.72)}45%{opacity:1}100%{opacity:.35;transform:scale(1.08)}}
@keyframes hv-dialog-enter{0%{opacity:0;transform:translateY(26px) scale(.87);filter:blur(5px)}70%{opacity:1;filter:blur(0)}100%{transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes hv-dialog-leave{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.95)}}
.hv-demo-activity{
 margin:18px 0 20px;padding:14px 16px;
 background:linear-gradient(125deg,#15281b,#0b1b11);
 border:1px solid #94ff5366;border-radius:12px;text-align:left;
}
.hv-demo-activity h3{margin:0 0 8px;color:#fff200;font:700 18px Georgia,serif}
.hv-demo-activity p{margin:0 0 12px;color:#f1f5ec;font:14px/1.55 Georgia,serif}
.hv-demo-activity .hv-reward-note{display:block;color:#94ff53;font:700 14px Georgia,serif}
.hv-demo-activity .hv-reward-pending{display:block;margin-top:9px;color:#e0ddc7;font:italic 12px Georgia,serif}
@media(max-width:850px){
 /* On narrow screens the wall panels grow wider so every portrait remains mounted to a wall. */
 .hv-chronology{
  background:linear-gradient(90deg,
   color-mix(in srgb,var(--h-wall) 60%,#0b0d0a) 0 33.7%,
   #1c241e 34% 66%,
   color-mix(in srgb,var(--h-wall) 60%,#0b0d0a) 66.3% 100%);
 }
 .hv-chronology::after{left:34%;width:32%;height:100%;clip-path:none;transform:none}
 .hv-chronology .hv-person,.hv-chronology .hv-person:has(.hv-image),
 .hv-mobile .hv-chronology .hv-person,.hv-mobile .hv-chronology .hv-person:has(.hv-image){
  width:clamp(98px,31vw,205px);padding:0;
 }
 .hv-chronology .hv-person--left,.hv-mobile .hv-chronology .hv-person--left{left:1.5vw}
 .hv-chronology .hv-person--right,.hv-mobile .hv-chronology .hv-person--right{right:1.5vw}
 .hv-floor-marker{width:42%;padding:8px 4px;min-height:75px}
 .hv-floor-marker--west{--hall-marker-shift:-5px}
 .hv-floor-marker--east{--hall-marker-shift:5px}
 .hv-floor-marker .hv-marker-title{font-size:clamp(11px,2.5vw,15px)}
 .hv-floor-marker--era .hv-marker-title{font-size:clamp(13px,2.9vw,18px)}
 .hv-floor-marker .hv-marker-reward{font-size:clamp(9px,2.2vw,11px)}
}
@media(prefers-reduced-motion:reduce){
 .hv-demo-overlay:not([hidden]),.hv-demo-overlay:not([hidden])::before,
 .hv-demo-overlay:not([hidden]) .hv-demo-dialog,.hv-demo-overlay.hv-overlay-leaving,
 .hv-demo-overlay.hv-overlay-leaving .hv-demo-dialog{animation:none!important;transition:none!important}
 .hv-floor-marker:hover,.hv-floor-marker:focus-visible{transform:translateX(calc(-50% + var(--hall-marker-shift)))}
}

/* At tablet/desktop widths, keep the full decorative frame inside the 27% wall. */
@media(min-width:851px){
 .hv-chronology .hv-person--left{left:9%}
 .hv-chronology .hv-person--right{right:9%}
}

/* Chapter 1 artwork preview: user-uploaded 1530 × 3168 WebP.
   Mount it only in the 3168px portrait/activities area; retain all live foreground UI. */
.hv-chronology[data-chapter="1"] .hv-stops{
  background-color:#100e0b;
  background-image:
    linear-gradient(to bottom,rgba(0,0,0,.68) 0%,transparent 5%,transparent 94%,rgba(0,0,0,.72) 100%),
    url("../hall-chapter-01-ancient-courts-1530x3168.webp");
  background-position:center center,center center;
  background-repeat:no-repeat,no-repeat;
  background-size:100% 100%,100% 100%;
}
/* Reduce the provisional schematic floor showing around the installed artwork. */
.hv-chronology[data-chapter="1"] .hv-stops::before{content:none}

/* Hall journey entry labels: historical era names begin BELOW the portrait corridor.
   On a bottom-to-top ascent, the visitor reads the title before entering each era. */
.hv-chronology .hv-head{
 position:relative;z-index:3;display:grid;place-items:center;
 min-height:114px;padding:27px 16px 36px;margin:0 auto;
 border-bottom:1px solid rgba(148,255,83,.34);
 background:linear-gradient(to bottom,#030603 0%,#09110b 27%,rgba(3,6,4,.85) 70%,transparent 100%);
 text-align:center;
}
.hv-chronology .hv-head h2{
 margin:0 auto;color:#94ff53;font:700 clamp(21px,3.2vw,35px)/1.17 Georgia,"Times New Roman",serif;
 letter-spacing:.025em;text-shadow:0 2px 5px #000,0 0 16px #94ff5366;
 max-width:960px;
}
.hv-chronology .hv-head .hv-count{display:none!important}
.hv-chronology[data-chapter="1"] .hv-head{background:linear-gradient(to bottom,#070a08 0%,#10100cc9 60%,#0000)}

/* Navigation and History Jukebox deliberately have NO Hall-only styles.
   Both are rendered by assets/site-shell.js and styled by homepage CSS. */

/* Hall of Legends — locked certificate of historical legacy.
   Subdued grayscale portrait gallery, silver graphite paper, brand green/yellow. */
.hv-certificate{
 color:#e9eae4;
 border:8px double #667268;
 outline:2px solid rgba(148,255,83,.52);
 background:
  radial-gradient(ellipse at 52% 38%,rgba(61,73,63,.34),transparent 68%),
  linear-gradient(145deg,#232926 0%,#121714 55%,#292c2a 100%);
 box-shadow:0 0 0 7px #070a08,0 18px 60px #000d,inset 0 0 0 1px #d4d6ce33;
}
.hv-certificate::before{
 content:"";position:absolute;z-index:0;inset:10px;
 background-image:
   linear-gradient(90deg,#141a17b5,#11171390 50%,#141a17b5),
   url("hall-of-legends/portraits/001.webp"),
   url("hall-of-legends/portraits/040.webp"),
   url("hall-of-legends/portraits/080.webp"),
   url("hall-of-legends/portraits/141.webp");
 background-size:100% 100%,24% auto,24% auto,24% auto,24% auto;
 background-position:center,3% 52%,34% 50%,67% 50%,97% 52%;
 background-repeat:no-repeat;
 filter:grayscale(1);
 opacity:.18;
 pointer-events:none;
}
.hv-certificate > *{position:relative;z-index:1}
.hv-certificate > .hv-cert-watermark{position:absolute;z-index:2}
.hv-cert-brand{color:#bbefaa;letter-spacing:.24em;text-shadow:0 1px 4px #000}
.hv-cert-corners,.hv-cert-ornament{color:#c9b967}
.hv-cert-title{color:#fff3a7;text-shadow:0 2px 8px #000c;font-size:clamp(26px,4.2vw,48px)}
.hv-certificate .hv-cert-intro{color:#e4e6dd;text-shadow:0 1px 4px #000}
.hv-cert-name{color:#d3ebcc;border-color:#94ff5380}
.hv-cert-subtitle{color:#c6d3c8}
.hv-cert-stats span{color:#c7d1c8}
.hv-cert-stats b{color:#a4ee89}
.hv-cert-seal{
 border-color:#808d81;color:#adb5ae;
 background:#bdc8be12;
 box-shadow:inset 0 0 9px #0008
}
.hv-cert-bottom{color:#c5ccc4;border-color:#94ff5355}
.hv-cert-watermark{
 transform:translate(-50%,-50%) rotate(-9deg);
 border:2px solid #9aa39b88;
 background:#0b100dc4;
 color:#e0e6dfc7;
 font:700 clamp(13px,3vw,27px) Georgia,serif;
 letter-spacing:.08em;
 padding:12px 18px;
 text-shadow:0 2px 6px #000;
}
@media(max-width:700px){.hv-certificate::before{background-size:100% 100%,24% auto,24% auto,24% auto,24% auto;opacity:.14}}

/* Navigation is intentionally provided by shared site-shell.css + nav-footer-parity.css.
   Do not reintroduce Hall-specific header, menu or jukebox overrides. */
