/* Landing only: a legible type hierarchy and a single coordinated motion scene. */
body.sh-on header.wrap.hh-stage{
  position:relative;isolation:isolate;overflow:hidden;display:block;text-align:left;
  width:100%;max-width:none;box-sizing:border-box;min-height:0;padding:72px max(28px,calc((100vw - 1160px)/2)) 64px!important;
  background:var(--paper,#faf8f0);border-bottom:1px solid var(--rule,#e6dfcf);
}
header.hh-stage #skin-art,header.hh-stage>.brand,header.hh-stage>.eyebrow,header.hh-stage>.tag{display:none!important}
header.hh-stage>.hh-atmosphere{position:absolute!important;inset:0;z-index:0!important;pointer-events:none;overflow:hidden}
.hh-atmosphere .hh-halo{position:absolute;width:62%;height:130%;border-radius:50%;filter:blur(55px);opacity:.55;will-change:transform}
.hh-halo-one{left:-20%;top:-70%;background:radial-gradient(ellipse,#e5c87588,transparent 70%)}
.hh-halo-two{right:-12%;bottom:-90%;background:radial-gradient(ellipse,#d8b85877,transparent 70%)}
.hh-grid{position:absolute;inset:15% -15% -55%;background-image:linear-gradient(#ae924115 1px,transparent 1px),linear-gradient(90deg,#ae924115 1px,transparent 1px);background-size:64px 64px;transform:perspective(650px) rotateX(54deg);mask-image:linear-gradient(transparent,#0005);pointer-events:none}
header.hh-stage>.hh-layout{position:relative!important;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;max-width:1160px;margin:auto}
.hh-hero{min-width:0}
.hh-label{display:flex;align-items:center;gap:9px;margin:0 0 24px;font:600 12px/1.5 var(--sans,system-ui);letter-spacing:.035em;color:var(--ink-2,#53534b)}
.hh-label>span{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#aa8529;box-shadow:0 0 0 5px #aa852912}
header.hh-stage .hh-head{font:600 clamp(38px,4.2vw,60px)/1.08 var(--sans,system-ui)!important;letter-spacing:-.055em!important;margin:0;max-width:18ch;color:var(--ink,#20221d);text-wrap:balance}
header.hh-stage .hh-head em{font:inherit;color:var(--gold-dp,#8c6b22);letter-spacing:inherit}
.hh-sub{font:400 17px/1.8 var(--sans,system-ui);color:var(--ink-2,#55564d);max-width:43ch;margin:25px 0 30px;text-wrap:pretty}
.hh-cta{display:flex;flex-wrap:wrap;gap:12px}
.hh-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:0 22px;border:1px solid var(--rule,#ddd7c7);border-radius:13px;text-decoration:none!important;font:600 14px/1.3 var(--sans,system-ui);letter-spacing:0;color:var(--ink,#222);background:var(--skin-card,var(--paper,#fffdf8));box-shadow:0 3px 8px #29200c06;transition:transform .25s,box-shadow .25s,border-color .25s}
.hh-btn-gold{background:linear-gradient(135deg,#b68e2b,#97731d);color:#fff!important;border-color:transparent;box-shadow:0 8px 22px #97731d22}
.hh-btn>span{transition:transform .25s;font-size:19px}
.hh-btn:focus-visible{outline:3px solid var(--gold,#ac8a3d);outline-offset:4px}
.hh-note{margin:21px 0 0;font:400 12px/1.6 var(--sans,system-ui);color:var(--mute,#757469)}
.hh-visual{position:relative;aspect-ratio:520/440;min-width:0;perspective:1000px;pointer-events:none}
.hh-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none}
.hh-orbit-line{stroke:var(--gold,#aa873a);stroke-opacity:.12;stroke-width:1;stroke-dasharray:3 7}
.hh-wires{stroke:url(#hh-line);stroke-width:1.5}
.hh-signals{stroke:#ad872f;stroke-width:2.5;stroke-dasharray:6 94;stroke-linecap:round;opacity:.75}
.hh-core{position:absolute;left:36%;top:34%;width:29%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #b59a5060;border-radius:29%;background:linear-gradient(145deg,var(--skin-card,var(--paper,#fffefa)),var(--paper,#f5efdc));box-shadow:0 20px 55px #7560321c,inset 0 0 0 7px #b89a3e09;z-index:2}
.hh-core-mark{font:600 48px/1 var(--sans,system-ui);letter-spacing:-.09em;color:var(--gold-dp,#937323)}
.hh-core strong{font:600 11px/1 var(--sans,system-ui);letter-spacing:.15em;color:var(--ink)}
.hh-core>span:last-child{font:400 9px/1.4 var(--sans,system-ui);color:var(--mute)}
.hh-insight{position:absolute;border:1px solid var(--rule,#e6decb);background:var(--skin-card,var(--paper,#fffdf8));border-radius:18px;box-shadow:0 14px 35px #51401b10;z-index:3;padding:17px;width:43%;will-change:transform}
.hh-card-label{display:block;font:500 10px/1.5 var(--sans,system-ui);color:var(--mute);margin-bottom:7px}
.hh-insight strong{font:600 13px/1.4 var(--sans,system-ui);letter-spacing:-.015em;color:var(--ink)}
.hh-quality{left:0;top:5%;transform:rotate(-5deg)}
.hh-portfolio{right:0;top:13%;width:34%;transform:rotate(5deg)}
.hh-portfolio strong{display:block;font-size:11px;margin-top:8px}
.hh-evidence{left:0;bottom:3%;transform:rotate(-3deg);width:42%}
.hh-bars{height:36px;display:flex;gap:8px;align-items:end;margin-top:12px}
.hh-bars i{display:block;flex:1;height:var(--h,60%);background:linear-gradient(#d9c483,#a9873c);border-radius:3px 3px 0 0;transform-origin:bottom}
.hh-bars i:nth-child(1){--h:35%}.hh-bars i:nth-child(2){--h:65%}.hh-bars i:nth-child(3){--h:50%}.hh-bars i:nth-child(4){--h:90%}.hh-bars i:nth-child(5){--h:72%}.hh-bars i:nth-child(6){--h:100%}
.hh-donut{width:56px;height:56px;border-radius:50%;background:conic-gradient(#a88739 0 43%,#d8c997 43% 72%,#a9b7a5 72%);margin:10px auto;position:relative}
.hh-donut:after{content:'';position:absolute;inset:10px;background:var(--skin-card,var(--paper,#fffdf8));border-radius:50%}
.hh-lines{display:grid;gap:6px;margin-top:12px}.hh-lines i{height:4px;border-radius:4px;background:#b6a47033;width:90%}.hh-lines i:nth-child(2){width:68%}.hh-lines i:nth-child(3){width:80%}
.hh-visual-caption{position:absolute;right:0;bottom:1%;font:500 10px/1.5 var(--sans,system-ui);color:var(--mute)}
header.wrap.hh-stage>.hm-motion{position:relative!important;display:block;margin:24px auto 0;min-height:36px;z-index:2;font:500 11px/1.4 var(--sans,system-ui);letter-spacing:0;opacity:1}
/* Motion has one owner. Nothing starts invisible or depends on animation to appear. */
.hh-active .hh-halo-one{animation:hhLight 16s ease-in-out infinite alternate}.hh-active .hh-halo-two{animation:hhLight 19s ease-in-out -7s infinite alternate-reverse}
.hh-active .hh-quality{animation:hhFloatLeft 7s ease-in-out infinite}.hh-active .hh-portfolio{animation:hhFloatRight 8s ease-in-out -3s infinite}.hh-active .hh-evidence{animation:hhFloatLeft 9s ease-in-out -5s infinite}
.hh-active .hh-signals{animation:hhFlow 7s linear infinite}.hh-active .hh-signals path:nth-child(2){animation:hhFlow 7s linear -3.5s infinite}
.hh-active .hh-bars i{animation:hhBar 4s ease-in-out infinite alternate}.hh-active .hh-bars i:nth-child(2n){animation-delay:-2s}
.hh-active .hh-core{animation:hhCore 6s ease-in-out infinite}
@keyframes hhLight{to{transform:translate3d(20%,14%,0) scale(1.15)}}
@keyframes hhFloatLeft{50%{transform:translateY(-10px) rotate(-2deg)}}
@keyframes hhFloatRight{50%{transform:translateY(12px) rotate(2deg)}}
@keyframes hhFlow{to{stroke-dashoffset:-100}}
@keyframes hhBar{to{transform:scaleY(.66);opacity:.7}}
@keyframes hhCore{50%{box-shadow:0 20px 55px #75603228,0 0 0 12px #b89a3e06}}
@media(hover:hover) and (pointer:fine){.hh-btn:hover{transform:translateY(-3px);box-shadow:0 10px 26px #75603222}.hh-btn:hover>span{transform:translateX(3px)}.hm-route:hover{border-color:var(--gold)!important;transform:translateY(-5px)}}
/* Existing hero-in and motion controllers must never freeze content at opacity zero. */
header.hh-stage>*,html[data-motion="off"] header.hh-stage *{opacity:1;filter:none}
header.hh-stage>.hh-layout,header.hh-stage>.hm-motion,header.hh-stage>.hh-atmosphere{animation:none!important;transform:none!important}
html[data-motion="off"] header.hh-stage *,html.hm-tab-hidden header.hh-stage *{animation:none!important;transition:none!important}
/* Carry the same reading rhythm into the first research panels. */
#view-screener .hm-route h3,#view-screener .mb-heading h2{font-family:var(--sans,system-ui)!important;font-weight:600!important;letter-spacing:-.025em}
#view-screener .hm-route{border-radius:20px;padding:24px;transition:transform .3s,border-color .3s,box-shadow .3s}
#view-screener .hm-route h3{font-size:18px!important;line-height:1.4}
#view-screener .hm-route p{font:400 14px/1.75 var(--sans,system-ui);color:var(--ink-2)}
#view-screener .hm-route svg{height:116px}
body.sh-on .searchrow{border-radius:16px!important;box-shadow:0 8px 28px #6b542b0c!important}
body.sh-on #tk{font:400 16px/1.5 var(--sans,system-ui)!important;letter-spacing:0!important}
body.sh-on #go{font:600 13px/1.3 var(--sans,system-ui)!important;letter-spacing:0!important;text-transform:none!important;border-radius:11px!important;min-height:44px}
@media(max-width:900px){
 body.sh-on header.wrap.hh-stage{padding:44px 24px 26px!important}
 header.hh-stage>.hh-layout{gap:24px;grid-template-columns:1fr 1fr}
 header.hh-stage .hh-head{font-size:clamp(34px,5vw,48px)!important}
 .hh-sub{font-size:15px}.hh-cta{gap:9px}.hh-btn{padding:0 16px;font-size:13px;gap:10px}
 .hh-insight{padding:12px}.hh-core-mark{font-size:36px}.hh-core>span:last-child{display:none}
}
@media(max-width:640px){
 body.sh-on header.wrap.hh-stage{padding:32px 22px 20px!important}
 header.hh-stage>.hh-layout{grid-template-columns:1fr;gap:24px}
 .hh-hero{text-align:center}.hh-label{justify-content:center;font-size:11px;letter-spacing:0;margin-bottom:18px}
 header.hh-stage .hh-head{font-size:clamp(35px,9.5vw,52px)!important;max-width:100%;letter-spacing:-.05em!important}
 .hh-sub{font-size:15px;line-height:1.7;margin:19px auto 22px;max-width:34ch}
 .hh-cta{justify-content:center}.hh-btn{flex:1 1 140px;min-height:49px;padding:0 12px;font-size:13px}
 .hh-note{font-size:11px;max-width:32ch;margin:15px auto 0}
 .hh-visual{width:min(100%,390px);margin:0 auto;aspect-ratio:520/390}
 .hh-quality{top:0}.hh-portfolio{top:8%}.hh-evidence{bottom:5%}
 .hh-insight strong{font-size:11px}.hh-card-label{font-size:9px}.hh-portfolio strong{font-size:10px}
 .hh-bars{height:27px;margin-top:8px}.hh-donut{width:45px;height:45px}.hh-donut:after{inset:8px}
 .hh-core{top:33%;gap:5px}.hh-core-mark{font-size:34px}.hh-core strong{font-size:9px}
 .hh-visual-caption{font-size:9px;bottom:0}
 .hh-atmosphere .hh-halo{filter:blur(30px);width:100%}
 #view-screener .hm-tools{grid-template-columns:1fr;gap:12px}
 #view-screener .hm-route{display:flex;align-items:center;gap:16px;padding:19px}
 #view-screener .hm-route svg{width:80px;height:76px;flex-shrink:0}
 #view-screener .hm-route h3{font-size:16px!important}#view-screener .hm-route p{font-size:13px;margin-top:5px}
}
@media(prefers-reduced-motion:reduce){header.hh-stage *,header.hh-stage *:before,header.hh-stage *:after{animation:none!important;transition:none!important}.hm-route{transition:none!important}}

header.hh-stage::before,header.hh-stage::after,header.hh-stage>.hero-candles{display:none!important}
#view-screener .ux-guide h2{font:600 21px/1.35 var(--sans,system-ui);letter-spacing:-.025em}
#view-screener .ux-guide{border-radius:18px}
@media(max-width:640px){#view-screener .hm-route{flex-direction:row}#view-screener .hm-route svg{margin:0}#view-screener .ux-guide h2{font-size:19px}}

@media(max-width:640px){.hh-core{left:39%;top:30%;width:27%}.hh-evidence{left:0;bottom:1%}.hh-btn{font-size:12px;gap:8px;padding:0 10px}.hh-visual-caption{max-width:46%;text-align:right}}


/* Every illustrated card now opens the research tool it represents. */
.hh-visual{pointer-events:auto}
.hh-connections,.hh-core,.hh-visual-caption{pointer-events:none}
button.hh-insight{box-sizing:border-box;text-align:left;cursor:pointer;font-family:var(--sans,system-ui);color:var(--ink);appearance:none;transition:border-color .25s,box-shadow .25s}
button.hh-insight:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
button.hh-insight:hover,button.hh-insight:focus-visible{border-color:var(--gold);box-shadow:0 15px 40px #a27c3035}
.hh-explore{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;font:500 12px/1.5 var(--sans,system-ui)}
.hh-explore>span{width:100%;color:var(--mute);font-size:11px}
.hh-explore a{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--rule);border-radius:99px;padding:0 13px;text-decoration:none;color:var(--ink);background:var(--skin-card,var(--paper))}
.hh-explore a:hover,.hh-explore a:focus-visible{border-color:var(--gold);color:var(--gold-dp)}
.hh-active .hh-signals{animation-duration:3.6s;stroke-width:3.5;stroke-dasharray:12 88}
.hh-active .hh-signals path:nth-child(2){animation-duration:4.4s}
.hh-active .hh-orbit-line{animation:hhOrbitDrift 12s linear infinite}
.hh-active .hh-quality{animation:hhExploreLeft 5s ease-in-out infinite}
.hh-active .hh-portfolio{animation:hhExploreRight 6s ease-in-out -2s infinite}
.hh-active .hh-evidence{animation:hhExploreLeft 7s ease-in-out -3s infinite}
.hh-active .hh-donut{animation:hhDonutTurn 14s linear infinite}
.hh-active .hh-lines i{animation:hhEvidence 3s ease-in-out infinite}.hh-active .hh-lines i:nth-child(2){animation-delay:.4s}.hh-active .hh-lines i:nth-child(3){animation-delay:.8s}
.hh-active .hh-grid{animation:hhGridTravel 16s linear infinite}
.hh-active .hh-bars i{animation-duration:2s}
@keyframes hhExploreLeft{50%{transform:translateY(-17px) rotate(1deg)}}
@keyframes hhExploreRight{50%{transform:translateY(17px) rotate(-2deg)}}
@keyframes hhOrbitDrift{to{stroke-dashoffset:-120}}
@keyframes hhDonutTurn{to{transform:rotate(360deg)}}
@keyframes hhEvidence{50%{background:#bb943d88;transform:scaleX(.75);transform-origin:left}}
@keyframes hhGridTravel{to{background-position:64px 64px}}
.sh-search:focus-within,.searchrow.hh-search-target:focus-within{outline:2px solid var(--gold);outline-offset:5px;border-radius:14px}
.hh-search-target{animation:hhSearchRing 1.2s ease-out}
@keyframes hhSearchRing{from{box-shadow:0 0 0 12px #b9953933}to{box-shadow:0 0 0 0 #b9953900}}
header.wrap.hh-stage>.hm-motion{min-height:44px;padding:10px 18px;border-color:var(--gold);color:var(--gold-dp);font-size:12px}
@media(max-width:640px){.hh-explore{justify-content:center}button.hh-insight{padding:12px}.hh-explore a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hh-search-target{animation:none!important}button.hh-insight{transition:none!important}}
html[data-motion="off"] .hh-search-target{animation:none}
/* Only the landing page opens on the banner (nav.js sets .at-home). */
body.sh-on:not(.at-home) header.wrap{display:none!important}
