@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(fonts/plexSans.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plexMono.woff2) format('woff2')}

:root{
  /* auto:pigmente */
  --marine:#020408; --ivory:#E8E1D2; --racingGreen:#176B52; --oldGold:#B89B5E; --slateBlue:#667B96; --oxblood:#804080;
  --deckBlue:color-mix(in srgb,var(--marine) 82%,var(--slateBlue));
  /* /auto:pigmente */
  --paper:var(--ivory);
  /* ein grund fuer jede karte im handel: schwarzer raum, ein kuehler schein von oben, weit gestreute sterne */
  /* Far layers stay fixed to the window, near ones travel with the page: scroll alone opens the depth. */
  --stars:radial-gradient(1.8px 1.8px at 9% 21%,rgba(232,225,210,.6),transparent 70%) 0 0/610px 470px,
    radial-gradient(1px 1px at 61% 12%,rgba(232,225,210,.32),transparent 70%) 0 0/410px 330px,
    radial-gradient(.7px .7px at 83% 67%,rgba(142,230,232,.3),transparent 70%) 0 0/340px 290px fixed,
    radial-gradient(.6px .6px at 37% 83%,rgba(232,225,210,.22),transparent 70%) 0 0/420px 360px fixed;
  /* Transparent tails keep the distant light from revealing the scene's rectangular bounds. */
  --stage:var(--stars),
    radial-gradient(circle at 72% 52%,color-mix(in srgb,var(--ivory) 24%,transparent),color-mix(in srgb,var(--ivory) 8%,transparent) 1px,color-mix(in srgb,var(--slateBlue) 5%,transparent) 5px,transparent 26px),
    radial-gradient(ellipse 13% 2% at 72% 52%,color-mix(in srgb,var(--ivory) 4%,transparent),transparent 72%),
    radial-gradient(ellipse 19% 25% at 72% 52%,color-mix(in srgb,var(--slateBlue) 12%,transparent),color-mix(in srgb,var(--slateBlue) 4%,transparent) 24%,transparent 74%),
    radial-gradient(ellipse 29% 12% at 66% 56%,color-mix(in srgb,var(--slateBlue) 5%,transparent),transparent 76%),
    radial-gradient(ellipse 11% 21% at 77% 44%,color-mix(in srgb,var(--oldGold) 3%,transparent),transparent 78%);

  --haar:color-mix(in srgb,var(--ink) 14%,var(--bg));
  --leise:color-mix(in srgb,var(--ink) 63%,var(--bg));
  --flaeche:color-mix(in srgb,var(--ink) 6%,var(--bg));

  --chartGrid:color-mix(in srgb,var(--ink) 9%,transparent);
  --chartTick:.625rem;

  --rib1:var(--ivory);--rib2:var(--racingGreen);--rib3:var(--oldGold);--rib4:var(--serie1);--rib5:var(--chartIce);
  --chartIvory:#EDE6D6;--chartIce:#8EE6E8;--chartOldGold:var(--oldGold);
  --chartSurface:color-mix(in srgb,var(--ivory) 2%,var(--marine));
  --chartGlass:linear-gradient(145deg,color-mix(in srgb,var(--slateBlue) 10%,var(--marine)),var(--marine) 74%);
  --surfaceShadow:inset 0 1px 0 color-mix(in srgb,var(--ivory) 5%,transparent),0 6px 18px color-mix(in srgb,var(--marine) 35%,transparent);
  --chartStroke:.9;--chartStrokeFine:.35;--chartStrokeDash:.65;--chartStrokeDot:1;--chartPoint:2.6;
  --serie1:var(--chartIvory);--serie2:var(--hanse6);--serie3:var(--chartOldGold);
  --hanse1:var(--ivory);--hanse2:color-mix(in srgb,var(--oxblood) 55%,var(--slateBlue));--hanse3:var(--oldGold);--hanse4:var(--slateBlue);--hanse5:color-mix(in srgb,var(--oldGold) 58%,var(--oxblood));--hanse6:color-mix(in srgb,var(--racingGreen) 78%,var(--ivory));--hanse7:color-mix(in srgb,var(--ivory) 58%,var(--marine));
  --silber:var(--leise);
  --bronze:var(--oldGold);
  --holz:var(--chartIce);
  --up:var(--serie2);--dn:var(--oxblood);
  --bg:var(--marine); --card:color-mix(in srgb,color-mix(in srgb,var(--marine) 88%,var(--ivory)) 78%,transparent); --ink:var(--ivory); --muted:var(--silber);
  --line:var(--haar);
  --frameOuter:color-mix(in srgb,var(--rib1) 54%,transparent);
  --frameInner:color-mix(in srgb,var(--serie1) 44%,transparent);
  --frameStroke:1px;
  --chartEdge:color-mix(in srgb,var(--ivory) 14%,transparent);
  --chartLight:color-mix(in srgb,var(--ivory) 24%,transparent);
  --tempo:.35;--motionQuick:.28s;--motionBase:.68s;--motionSlow:1.1s;--motionReveal:1.4s;--motionEase:cubic-bezier(.2,.75,.2,1);
  --lightX:50%;--lightY:34%;--grainY:0px;--grainOpacity:.016;--tintOpacity:.285;
  --fieldMask:linear-gradient(180deg,transparent 0%,#000 19%,#000 81%,transparent 100%);

  --serif:Georgia,'Iowan Old Style','Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --typeXs:.75rem;--typeSm:.9375rem;--typeMd:1.125rem;--typeLg:1.5rem;--typeXl:2.125rem;--type2xl:3rem;

  --rXs:4px; --rSm:12px; --pill:999px;
  --ease:var(--motionEase);
  --pageGutter:clamp(1rem,5vw,4.5rem);--sectionTop:clamp(4.5rem,8vw,7.8rem);--sectionGap:clamp(4rem,8vw,7rem);--ribbonHeight:clamp(21rem,48svh,32rem);--cardHeight:clamp(26rem,21.5rem + 15.6vw,35rem);--editorialGrid:1120px;
  --wt:64ch; --wide:min(var(--editorialGrid),calc(100vw - 2*var(--pageGutter)));
  --pageInset:max(var(--pageGutter),calc((100vw - var(--editorialGrid))/2));

}

#team{--accent:var(--rib1)}
#trade{--accent:var(--rib3)}
#factory{--accent:var(--rib4)}
#impressum,#datenschutz{--accent:var(--rib1)}

.solPArticles{--accent:var(--rib1)}
.solPMarkets{--accent:var(--rib1)}
.solPCool{--accent:var(--rib1)}
.solPBacktests{--accent:var(--rib1)}
.solPReport{--accent:var(--rib1)}

nav.tabs button[data-t="team"]{--accent:var(--rib1)}
nav.tabs button[data-t="trade"]{--accent:var(--rib3)}
nav.tabs button[data-t="factory"]{--accent:var(--rib4)}

.menu button[data-nav="team"]{--accent:var(--rib1)}
.menu button[data-nav="trade"]{--accent:var(--rib3)}
.menu button[data-nav="factory"]{--accent:var(--rib4)}

.frame{position:relative;border:var(--frameStroke) solid var(--chartEdge);border-top-color:var(--chartLight);border-radius:var(--rSm);background:var(--flaeche);box-shadow:var(--surfaceShadow)}
.frame .frame{border-color:var(--line);outline:0}
.frame .chart{border-color:var(--line);box-shadow:none}

*{box-sizing:border-box}
[hidden]{display:none!important}
button,input,select,textarea{font-family:var(--sans)}
img,svg,video{vertical-align:middle}
.chart{display:block;width:100%;height:auto;overflow:visible;border:0;border-block:.5px solid var(--chartGrid);border-radius:0;background:transparent;shape-rendering:geometricPrecision;text-rendering:geometricPrecision}
.chart .chartGrid,.chart .grid{stroke:var(--chartGrid);stroke-width:var(--chartStrokeFine);vector-effect:non-scaling-stroke}
.chart .chartLine{stroke-width:var(--chartStroke)}.chart .chartDash{stroke-width:var(--chartStrokeDash)}.chart .chartPoint{stroke-width:var(--chartPoint)}.chart .chartDot{stroke-width:var(--chartStrokeDot)}.chart .tipX{stroke-width:.5}
.chart :is(.chartLine,.chartDash,.focusLine){stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
a,button{-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;overscroll-behavior:none;scrollbar-width:none}
html::-webkit-scrollbar{width:0;height:0;display:none}
::selection{background:var(--racingGreen);color:var(--marine)}
@media(hover:hover) and (pointer:fine){
  html,html *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='2.5' fill='%23E8E1D2' stroke='%23020408' stroke-width='.5'/%3E%3C/svg%3E") 5 5,auto!important}
  html :is(input,textarea,[contenteditable="true"]){cursor:text!important}
}
.stage .corner{position:absolute;width:24px;height:24px;z-index:3;pointer-events:none;
  border:0 solid color-mix(in srgb,var(--ivory) 56%,transparent);opacity:.85}
.stage .corner.tl{top:1.1rem;left:1.1rem;border-top-width:1px;border-left-width:1px}
.stage .corner.tr{top:1.1rem;right:1.1rem;border-top-width:1px;border-right-width:1px}
.stage .corner.bl{bottom:1.1rem;left:1.1rem;border-bottom-width:1px;border-left-width:1px}
.stage .corner.br{bottom:1.1rem;right:1.1rem;border-bottom-width:1px;border-right-width:1px}

.stage video{opacity:0;transition:opacity 1s ease;filter:saturate(.78) contrast(1.02) brightness(.94)}
.stage video.ready{opacity:1}

body{position:relative;margin:0;padding-bottom:3.5rem;overscroll-behavior:none;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-weight:400;font-size:var(--typeSm);line-height:1.55;
  -webkit-text-size-adjust:100%;font-variant-numeric:tabular-nums lining-nums;
  font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"tnum" 1;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;font-synthesis:none;transition:background-color 1.8s var(--ease),color 1.2s var(--ease)}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none}
body::after{inset:-8px;background-image:radial-gradient(circle,color-mix(in srgb,var(--ivory) 32%,transparent) 0 .35px,transparent .55px);background-size:3px 3px;mix-blend-mode:soft-light;opacity:var(--grainOpacity);transform:translateY(var(--grainY))}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.084;
  letter-spacing:0;text-wrap:balance}
p{text-wrap:pretty}
h1{font-size:clamp(var(--typeXl),6vw,var(--type2xl));margin:.12em 0}
h1,.brandLg{font-family:var(--serif)}
h2{font-size:clamp(var(--typeLg),4vw,var(--typeXl));margin:0 0 .6em}
h3{font-size:var(--typeLg);margin:0 0 .45em}
a{color:var(--serie1);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:var(--ivory)}
.text a,.legal a{text-decoration:underline;text-decoration-color:transparent;
  transition:text-decoration-color var(--motionQuick) var(--ease),color var(--motionQuick) var(--ease)}
.text a:hover,.legal a:hover{text-decoration-color:var(--serie1)}
:is(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ivory);color:var(--marine);
  padding:.589rem .9817rem;z-index:99}
.skip:focus{left:0}

.wrap{width:var(--wide);max-width:none;margin:0 auto;padding:0}
.text{max-width:var(--wt)}

#hd{--headerDensity:0;--headerOpacity:.08;--headerBlur:4px;--headerSaturation:.82;--headIn:1;position:fixed;inset:0 0 auto;z-index:20;isolation:isolate;
  opacity:var(--headIn);transition:opacity 1.5s var(--ease)}
/* the mask fades the backdrop blur itself, so no hard edge splits blurred from sharp video */
#hd::before{content:"";position:absolute;z-index:-1;inset:0 0 -3rem;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent);mask-image:linear-gradient(180deg,#000 40%,transparent);background:linear-gradient(180deg,var(--marine) 0%,color-mix(in srgb,var(--marine) 97%,transparent) 62%,transparent 100%);opacity:var(--headerOpacity);-webkit-backdrop-filter:blur(var(--headerBlur)) saturate(var(--headerSaturation));backdrop-filter:blur(var(--headerBlur)) saturate(var(--headerSaturation));transition:opacity 1.1s var(--ease);pointer-events:none}
body[data-scene="team"] #hd::before{content:none}
#hd.solid{background:transparent;opacity:var(--headIn);border:0}
body.home #hd{opacity:0;pointer-events:none}
.nav{width:var(--wide);max-width:none;margin:0 auto;padding:.8836rem 0;display:flex;
  align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4909rem}
.brand{font-family:var(--serif);font-size:var(--typeMd);font-weight:600;text-decoration:none;color:var(--ivory);letter-spacing:-.01em}
.brandLetters{display:inline-flex;gap:.24em;white-space:nowrap}
.brandFlow{position:relative;display:inline-block;color:inherit}
.brandMalou{font-style:italic}
.brandFlow::after{background:
    radial-gradient(circle at 24% 35%,var(--rib2) 0 10%,transparent 38%),
    radial-gradient(circle at 72% 68%,var(--rib4) 0 12%,transparent 42%),
    linear-gradient(108deg,var(--rib1) 4%,var(--rib2) 24%,var(--rib3) 45%,var(--rib4) 66%,var(--rib5) 84%,var(--rib1) 100%);
  background-size:190% 210%,210% 190%,310% 100%;background-position:0 20%,100% 80%,0 50%;
  -webkit-background-clip:text;background-clip:text;filter:saturate(.82);
  animation:brandLiquid 8s cubic-bezier(.45,0,.55,1) infinite alternate paused}
.brandFlow::after{content:attr(data-word);position:absolute;inset:0;color:transparent;opacity:0;
  -webkit-text-fill-color:transparent;transition:opacity 1.1s var(--ease);pointer-events:none}
.brandFlow:last-child::after{animation-delay:-2.7s}
.brand:is(:hover,:focus-visible) .brandFlow::after{opacity:.88;animation-play-state:running}
.brandLg :is(.brandCursive,em){position:relative;display:inline-block}
.brandLg :is(.brandCursive,em)::after{content:attr(data-word);position:absolute;inset:0;opacity:.9;pointer-events:none;
  color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;
  background:radial-gradient(ellipse .9em .34em at calc(var(--brandX,50%) - .45em) calc(var(--brandY,50%) - .12em),var(--ivory),transparent 85%),radial-gradient(ellipse var(--brandWide,2.6em) var(--brandTall,1.45em) at var(--brandX,50%) var(--brandY,50%),var(--ivory) 4%,color-mix(in srgb,var(--oxblood) 48%,var(--ivory)) 28%,color-mix(in srgb,var(--oldGold) 70%,var(--ivory)) 47%,color-mix(in srgb,var(--racingGreen) 38%,var(--ivory)) 65%,color-mix(in srgb,var(--slateBlue) 46%,var(--ivory)) 80%,transparent 100%);
  -webkit-background-clip:text;background-clip:text}
.brandLg:focus-visible :is(.brandCursive,em)::after{opacity:1}
@keyframes brandLiquid{0%{background-position:8% 18%,92% 76%,0 50%}50%{background-position:72% 68%,28% 24%,52% 50%}100%{background-position:94% 32%,6% 74%,100% 50%}}
.brand em,.brandLg em{color:inherit;font-style:normal}
.brandCursive{color:inherit;font-style:italic}
nav.tabs{display:flex;gap:.15rem;flex-wrap:wrap}
nav.tabs button{font-family:var(--sans);font-size:var(--typeXs);font-weight:500;letter-spacing:.06em;
  background:none;border:var(--frameStroke) solid transparent;outline:var(--frameStroke) solid transparent;outline-offset:2px;cursor:pointer;color:var(--silber);padding:.4909rem .9327rem;
  border-radius:var(--pill);transition:color var(--motionQuick) var(--ease),background-color var(--motionQuick) var(--ease),border-color var(--motionQuick) var(--ease);white-space:nowrap;min-height:40px}
nav.tabs button:hover{color:var(--accent,var(--bronze))}
nav.tabs button.active{background:var(--accent,var(--bronze));border-color:var(--frameOuter);outline-color:var(--frameInner);color:var(--marine)}
@media(max-width:640px){
  .nav{padding:.6872rem 0}
  nav.tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  nav.tabs::-webkit-scrollbar{display:none}
}

main section.tab{display:none}
main section.tab.show{display:block}
body.sceneShift main section.tab.show>:first-child{animation:sceneMaskIn var(--motionReveal) var(--ease) both}
@keyframes sceneMaskIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}

#home{padding:0}
.landing{display:grid;grid-template-columns:minmax(320px,42%) 1fr;
  min-height:calc(100svh - 3.5rem)}
.landing .left{position:relative;display:flex;
  padding:clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,3rem) clamp(2rem,5vw,4rem) clamp(.8rem,2.5vw,1.6rem);
  background:color-mix(in srgb,var(--marine) 94%,black)}

.landing .left::after{content:"";position:absolute;top:9%;bottom:9%;right:0;width:1px;
  background:color-mix(in srgb,var(--silber) 40%,transparent)}

.leftInner{flex:1;display:grid;grid-template-rows:1fr 1fr;
  align-items:center;width:100%;max-width:none}
.brandLg{font-family:var(--serif);font-style:normal;font-weight:600;justify-self:center;text-align:center;white-space:nowrap;
  -webkit-text-stroke:.4px color-mix(in srgb,var(--silber) 56%,var(--ivory));
  font-size:clamp(1.85rem,4.2vw,3.2rem);line-height:1.084;margin:0;letter-spacing:.015em;
  transform:translate(-2.2rem,2.6rem);
  color:var(--ivory);text-decoration:none}
.brandLg:hover{color:var(--ivory)}
.brandLg em{font-style:normal;color:inherit}
.menu{justify-self:start;display:flex;flex-direction:column;gap:0;margin:0 0 0 3rem;
  width:min(13rem,80%)}
.menu button{position:relative;display:block;background:none;border:0;appearance:none;-webkit-appearance:none;font-family:var(--mono);
  border-top:1px solid var(--line);cursor:pointer;color:var(--ink);font:inherit;
  font-size:.8345rem;letter-spacing:.16em;padding:.6872rem .1rem;
  text-align:left;transition:color var(--motionQuick) var(--ease)}
.menu button:last-child{border-bottom:1px solid var(--line)}

.menu button::before{content:"";position:absolute;left:-.7rem;top:50%;width:.6rem;height:1px;
  background:var(--accent);transition:transform var(--motionQuick) var(--ease);transform:translateY(-50%) scaleX(0);transform-origin:right}
.menu button:hover,.menu button:focus-visible,.menu button:focus{color:var(--accent)}
.menu button:hover::before,.menu button:focus-visible::before{transform:translateY(-50%) scaleX(1)}

.landing .stage{position:relative;overflow:hidden;isolation:isolate}
.landing .stage video{position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover}
.tint{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:color;opacity:var(--tintOpacity);
  background:linear-gradient(120deg,var(--marine),var(--card) 55%,var(--holz));background-size:140% 140%;background-position:var(--lightX) var(--lightY);transition:opacity .8s var(--ease),background-position .25s linear}
.crop{position:fixed;inset:0;z-index:6;pointer-events:none}
.crop i{position:absolute;width:11px;height:11px;border:0 solid var(--silber);opacity:.3}
.crop .tl{top:16px;left:16px;border-top-width:1px;border-left-width:1px}
.crop .tr{top:16px;right:16px;border-top-width:1px;border-right-width:1px}
.crop .bl{bottom:16px;left:16px;border-bottom-width:1px;border-left-width:1px}
.crop .br{bottom:16px;right:16px;border-bottom-width:1px;border-right-width:1px}
.landing .stage::before{content:"";position:absolute;inset:1.1rem;border:1px solid color-mix(in srgb,var(--rib1) 56%,transparent);
  z-index:2;pointer-events:none}

@media(max-width:860px){
  .landing{grid-template-columns:1fr;min-height:auto}
  .landing .stage{min-height:62svh;order:-1}
  .landing .left::after{display:none}
  .landing .left{padding:2.6016rem 1.5217rem 3.5834rem}
}

section.tab.sub{padding:0 0 clamp(6rem,12vw,10rem);position:relative}
/* the footer keeps one distance from the last thing on every page, never from a padding that only some pages carry */
section.tab.sub .wrap>:last-child,.ledgerYear:last-child{margin-bottom:0}.sentimentField:last-child{padding-bottom:0}
section.tab.sub .wrap{max-width:none;padding-top:var(--sectionTop)}
#factory .wrap{padding-top:var(--sectionTop)}
:is(#trade,#factory)>.wrap{width:100%;display:grid;grid-template-columns:minmax(var(--pageGutter),1fr) minmax(0,var(--editorialGrid)) minmax(var(--pageGutter),1fr)}
:is(#trade,#factory)>.wrap>*{grid-column:2}
:is(#trade,#factory)>.wrap>.ribbonField{grid-column:1/-1}

section.tab.sub h2::after{content:"";display:block;width:4.2rem;height:2px;
  margin-top:.55rem;background:var(--ivory);
  transform:scaleX(1);transform-origin:left}
:is(#trade,#factory){isolation:isolate}
.legal{font-size:1.1781rem}
.legal h2{text-transform:none}
.legal h3{margin-top:2rem;color:var(--silber);text-transform:none}
.legal p,.legal li{text-transform:none}
section.plain .wrap{padding-top:clamp(5.5rem,10vw,7.5rem)}
:is(.termMetric,.measureHead) b{display:block;font-family:var(--mono);font-size:var(--typeLg);font-weight:400;line-height:1;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
:is(.termMetric,.measureHead,.rwNums) b.dn{color:var(--dn)}
.termMetric span,.measureHead>div>span{font-family:var(--mono);font-weight:400;font-style:normal;font-size:var(--typeXs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ribbonField{position:relative;z-index:2;width:100%;height:var(--ribbonHeight);margin:0 0 clamp(4rem,7vw,6rem);overflow:hidden;isolation:isolate;background:transparent;perspective:900px;-webkit-mask-image:radial-gradient(ellipse 66% 82% at 50% 39%,#000 25%,transparent 100%);mask-image:radial-gradient(ellipse 66% 82% at 50% 39%,#000 25%,transparent 100%)}
.ribbonGravity{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;transform:translateZ(0);transition:opacity var(--motionSlow) var(--ease)}.ribbonGravity:active{cursor:grabbing}
.ribbonQuote{width:min(var(--wt),calc(100% - 2rem));margin:0 auto var(--sectionGap);padding:0;text-align:center;border:0;color:var(--ink)}
.ribbonQuote p{margin:0;font-family:var(--serif);font-size:clamp(1.05rem,2.2vw,1.35rem);font-style:italic;line-height:1.5}
.ribbonQuote cite{display:block;margin-top:.7rem;font-family:var(--mono);font-size:var(--typeXs);font-style:normal;letter-spacing:.12em;color:var(--muted)}
@media(max-width:640px){:root{--pageGutter:1rem;--ribbonHeight:23rem}.ribbonField{margin-bottom:4rem}}
.solPCool{align-items:stretch}
.coolWalk{position:relative;margin-top:-8svh}
.coolStage{position:sticky;top:0;width:100vw;height:100svh;margin:0 calc(50% - 50vw) -100svh;overflow:hidden;background:var(--marine)}
.coolStage canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity var(--motionReveal) var(--ease)}
.coolWalk.ready .coolStage canvas{opacity:1}
.coolStop{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem;width:min(36rem,100%);color:var(--ink);text-decoration:none;opacity:0;transform:translateY(1.5rem);transition:opacity var(--motionBase) var(--ease),transform var(--motionSlow) var(--ease)}
.coolStop.on{opacity:1;transform:none}
.coolStop strong{font-family:var(--serif);font-weight:700;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1}
.coolStop small{padding-top:.7rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:var(--typeXs);letter-spacing:.22em;text-transform:uppercase;transition:color var(--motionQuick) var(--ease)}
.coolStop:is(:hover,:focus-visible) small{color:var(--oldGold)}
@media(max-width:760px){
  .coolStage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,var(--marine) 82%);pointer-events:none}
  .coolStop{justify-content:flex-end;width:auto;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}
  .coolStop strong{font-size:2.4rem}
}
@media(prefers-reduced-motion:reduce){.coolStop{transition:none;transform:none}}
.teamBottom{width:min(100%,960px);margin:var(--tgap) auto 0}
.homage{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;gap:clamp(2rem,5vw,5rem);margin:0}
.homagePortrait{width:244px;height:244px;border:var(--frameStroke) solid var(--frameOuter);border-radius:50%;overflow:hidden;box-shadow:0 0 0 var(--frameStroke) var(--deckBlue);
  background:var(--marine);flex:none}
.homagePortrait img{width:100%;height:100%;object-fit:cover;display:block}
.homageName{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.4rem);margin:0;color:var(--ivory);mix-blend-mode:difference;-webkit-text-stroke:.6px color-mix(in srgb,var(--ivory) 50%,var(--marine));paint-order:stroke fill;text-shadow:0 1px 2px var(--ivory)}
.teamShelf{display:grid;grid-template-columns:1fr;gap:clamp(1rem,2.5vw,2rem);width:100%;margin:clamp(4rem,8vw,7rem) auto 0}.teamShelf:has(.teamPlayer:empty){row-gap:0}
.teamLists{grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,7vw,7rem);padding:clamp(1.8rem,3.5vw,3rem)}
.teamLists.frame{isolation:isolate;overflow:hidden;background:color-mix(in srgb,var(--deckBlue) 82%,var(--marine))}
.teamLists::before{content:"";position:absolute;z-index:0;inset:-50% -30%;pointer-events:none;opacity:.12;background:radial-gradient(ellipse at center,var(--slateBlue),transparent 60%);animation:teamGlimmer 18s ease-in-out infinite alternate}
.teamLists>*{position:relative;z-index:1}
@keyframes teamGlimmer{from{transform:translateX(-18%)}to{transform:translateX(18%)}}
.teamList h4{font-family:var(--mono);font-size:var(--typeXs);font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--oldGold);margin:0 0 1.6rem}
.teamMusicHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
.teamMusicHead h4{margin:0}.teamMusicHead img{display:block;width:80px;height:auto;opacity:.75}
.teamListRow{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.8rem;align-items:center;min-height:4rem;margin-bottom:.9rem;color:var(--ivory)}
.teamSong img{width:44px;height:44px;object-fit:cover;border-radius:var(--rXs);background:color-mix(in srgb,var(--slateBlue) 20%,var(--marine))}
.teamListRow span{min-width:0}.teamListRow strong{display:block;font-family:var(--serif);font-size:var(--typeMd);font-weight:400;line-height:1.18}
.teamListRow small{display:block;margin-top:.32rem;font-family:var(--mono);font-size:var(--typeXs);color:var(--muted)}
.teamListRow time{font-family:var(--mono);font-size:var(--typeXs);color:var(--muted);white-space:nowrap}
.teamSong a{color:inherit;text-decoration:none}.teamSong a:is(:hover,:focus-visible) strong{color:var(--oldGold)}
.teamPlay{border:0;background:none;color:var(--ivory);font:var(--typeXs) var(--mono);cursor:pointer;padding:.6rem 0 .6rem .4rem}
.teamPlay:is(:hover,:focus-visible){color:var(--oldGold)}
.teamPlayer{grid-row:2;position:relative;width:100%;max-width:320px;height:152px;margin-inline:auto;overflow:hidden}.teamPlayer:empty{height:0}.teamPlayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.teamBook{--bookTone:var(--oldGold)}.teamBook:nth-of-type(2){--bookTone:var(--racingGreen)}.teamBook:nth-of-type(3){--bookTone:var(--slateBlue)}
.teamBook i{display:block;width:30px;height:42px;border:1px solid color-mix(in srgb,var(--bookTone) 65%,var(--ivory));border-left:4px solid var(--bookTone);border-radius:1px 3px 3px 1px;background:color-mix(in srgb,var(--bookTone) 22%,var(--marine))}
@media(max-width:640px){.homagePortrait{width:clamp(136px,37vw,244px);height:auto;aspect-ratio:1}.teamLists{grid-template-columns:1fr;gap:2.5rem;padding:1.25rem}.homage{gap:clamp(1.2rem,5vw,2rem)}}
.solutions{width:100%;margin:0 auto clamp(3.4rem,6vw,5rem);padding:0 0 .85rem}
.solutions.frame{border:0;outline:0;background:transparent;box-shadow:none}
.solRadio{position:fixed;top:0;left:0;width:0;height:0;opacity:0;pointer-events:none}
.solToggle{position:relative;z-index:5;display:grid;grid-auto-columns:1fr;grid-auto-flow:column;width:100%;margin:0 0 clamp(2.2rem,4vw,3rem);border-bottom:1px solid var(--line);isolation:isolate;opacity:var(--subFade,1);filter:blur(calc((1 - var(--subFade,1)) * 6px))}
/* one light rides the hairline to the chosen entry; it glides instead of jumping, so the eye travels with it */
.solToggle::after{content:"";position:absolute;left:0;bottom:-1px;width:25%;height:1px;background:linear-gradient(90deg,transparent,var(--accent) 30%,var(--accent) 70%,transparent);box-shadow:0 0 14px var(--accent);transform:translateX(calc(var(--at,0) * 100%));transition:transform var(--motionSlow) var(--ease)}
.solutions>.solToggle{grid-template-columns:1fr 1fr}
.solutions>.solToggle::after{width:50%}
.solutions>.solToggle label[for="solLive"]{justify-items:center;padding-right:0}
#solLive:checked ~ .solToggle::after{width:50%;transform:translateX(100%)}

#solReport:checked ~ .solToggle{--at:1}
#solMarkets:checked ~ .solToggle{--at:2}
#solCool:checked ~ .solToggle{--at:3}
.solBtn{display:grid;align-content:center;min-width:0;min-height:4.5rem;padding:.9rem 1.4rem .9rem 0;cursor:pointer;user-select:none;color:var(--muted);transition:color var(--motionBase) var(--ease)}
.solBtn b{font-family:var(--serif);font-size:clamp(var(--typeSm),.8vw + .5rem,var(--typeMd));font-weight:400;line-height:1.15}
.solBtn:is(:hover,:focus-visible){color:var(--ink)}
#solMarkets:checked ~ .solToggle label[for="solMarkets"],
#solArticles:checked ~ .solToggle label[for="solArticles"],
#solCool:checked ~ .solToggle label[for="solCool"],
#solBacktests:checked ~ .solToggle label[for="solBacktests"],
#solLive:checked ~ .solToggle label[for="solLive"],
#solReport:checked ~ .solToggle label[for="solReport"]{color:var(--ink)}
.solBody{display:grid}
.solPanel{position:absolute;inset:0;overflow:hidden;display:none;flex-direction:column;gap:clamp(3.2rem,5.8vw,5rem);grid-area:1/1;width:100%;min-width:0;opacity:0;visibility:hidden;pointer-events:none}
.scrollArrival{opacity:var(--arrive,1);transform:translateY(calc((1 - var(--arrive,1)) * 14px))}
.scrollArrival.settled{opacity:1;transform:none}
#solLive:checked ~ .solBody .solPLive,
#solMarkets:checked ~ .solBody .solPMarkets,
#solArticles:checked ~ .solBody .solPArticles,
#solCool:checked ~ .solBody .solPCool,
#solBacktests:checked ~ .solBody .solPBacktests,
#solReport:checked ~ .solBody .solPReport{display:flex;position:relative;inset:auto;overflow:visible;opacity:1;visibility:visible;pointer-events:auto}
@media(max-width:640px){.solBtn{min-height:4.25rem;padding:.75rem .6rem .75rem 0}.solBtn b{font-size:var(--typeSm);hyphens:auto}}
@media(prefers-reduced-motion:reduce){.solToggle::after{transition:none}}
.stuffToggle{position:relative;width:100%;max-width:none;margin-inline:auto;isolation:isolate}
.stuffToggle>.solToggle{z-index:5}.stuffToggle>.solBody{position:relative;z-index:0}
.term{border-radius:var(--rSm);padding:clamp(1rem,2.4vw,1.6rem);background:color-mix(in srgb,var(--ink) 3%,var(--flaeche))}
.termStrip{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(1rem,3vw,2.4rem);padding-bottom:1.0799rem;margin-bottom:0;border-bottom:1px solid var(--line)}
.termIdentity{display:flex;min-width:0;align-items:baseline;gap:clamp(1rem,2.5vw,2rem)}
.termName{flex:none;font-family:var(--serif);font-style:italic;font-size:1.2763rem;color:var(--ink);letter-spacing:.01em}
.termSlogan{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1.2763rem;padding-left:clamp(1rem,2vw,1.8rem);border-left:1px solid var(--accent);font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.termSlogan span{position:relative}.termSlogan span::before{content:"·";position:absolute;left:-.78rem;color:color-mix(in srgb,var(--muted) 56%,transparent)}
.termSlogan b{font-weight:500;color:var(--ink)}
.termPlot{position:relative}
.termPlot.perf{padding:0;border:0;border-block:.5px solid var(--chartGrid);border-radius:0;overflow:hidden;background:transparent}
.termSvg{display:block;width:100%;height:auto;border:0;background:transparent;box-shadow:none}
.termGrid{stroke:var(--chartGrid);stroke-width:var(--chartStrokeFine)}
.termTick{font-family:var(--mono);font-size:12px;fill:var(--muted)}
.termFoot{--typeLg:1.125rem;--typeMd:.9375rem;--typeXs:.6875rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.9rem;border-top:1px solid var(--line)}
.termMetric{min-width:0;padding:.8836rem clamp(.6rem,1.8vw,1.2763rem) .8345rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 64%,transparent)}
.termMetric:nth-child(3n+2),.termMetric:nth-child(3n+3){padding-left:clamp(.6rem,1.8vw,1.2763rem);border-left:1px solid color-mix(in srgb,var(--line) 64%,transparent)}
.termMetric span{display:block;margin-top:.3436rem}
.termMetric small{display:block;margin-top:.2945rem;font-family:var(--sans);font-size:var(--typeXs);line-height:1.35;color:var(--muted)}
.termMetric.secondary b{font-size:var(--typeMd)}
@media(max-width:720px){.termStrip,.termIdentity{flex-wrap:wrap}.termStrip{gap:1rem}.termIdentity{gap:.7363rem}.termSlogan{width:100%;padding-left:0;border-left:0}.termFoot{grid-template-columns:repeat(2,minmax(0,1fr))}.termMetric:nth-child(n){padding-left:0;border-left:0}.termMetric:nth-child(even){padding-left:.8836rem;border-left:1px solid color-mix(in srgb,var(--line) 64%,transparent)}}
.mag{width:100%;max-width:none;margin:0 auto;text-align:left}
.cityFilm{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;margin:0 0 clamp(3rem,6vw,5rem);background:var(--stage);-webkit-mask-image:var(--fieldMask);mask-image:var(--fieldMask)}
@media(max-width:640px){.cityFilm{aspect-ratio:4/3}}
.reportArchive{width:100%}
.reportLedger{border-bottom:1px solid var(--line)}
.reportEntry{display:grid;grid-template-columns:5.8rem minmax(0,1fr) auto;align-items:center;gap:clamp(1.2rem,3.5vw,2.6rem);padding:1.6199rem .1rem;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color var(--motionQuick) var(--ease)}
.reportEntry:hover,.reportEntry:focus-visible{color:var(--ink);border-color:var(--serie1)}
.reportEntry time{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:start;gap:0 .4418rem;font-family:var(--mono);color:var(--muted);white-space:nowrap}
.reportEntry time b{font-size:1.0799rem;font-weight:400;color:var(--serie1)}
.reportEntry time span{font-size:.57rem;letter-spacing:.07em}
.reportCopy{min-width:0}.reportCopy strong{display:block;font-family:var(--serif);font-size:clamp(1.05rem,1.8vw,1.24rem);font-weight:400;line-height:1.272;color:var(--ink)}
.reportCopy small{display:block;margin-top:.4rem;font-family:var(--mono);font-size:.618rem;letter-spacing:.045em;color:var(--muted)}
.reportOpen{font-family:var(--mono);font-size:.618rem;letter-spacing:.08em;color:var(--serie1);opacity:.62;transition:opacity var(--motionQuick) var(--ease),transform var(--motionQuick) var(--ease)}
.reportEntry:hover .reportOpen,.reportEntry:focus-visible .reportOpen{opacity:1;transform:translate(2px,-1px)}
@media(max-width:640px){.reportEntry{grid-template-columns:4.5rem minmax(0,1fr);gap:.7854rem}.reportOpen{display:none}}
.ledger{position:relative;width:100%}
.solPArticles>.ledger,.solPMarkets>.marketDay,.solPReport .reportArchive{position:relative;z-index:1}
.ledgerYear{margin-bottom:clamp(2.4rem,5vw,4rem)}
.ledgerYear>h3{margin:0 0 .8rem;font-family:var(--mono);font-size:.7363rem;font-weight:400;letter-spacing:.2em;color:var(--muted)}
.ledgerEntry{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;gap:clamp(.8rem,2vw,1.6rem);align-items:baseline;padding:1rem 0;border-top:1px solid color-mix(in srgb,var(--line) 56%,transparent);color:var(--muted);text-decoration:none;transition:color var(--motionQuick) var(--ease)}
.ledgerEntry:hover,.ledgerEntry:focus-visible{color:var(--ink)}
.ledgerEntry time,.ledgerEntry small{font-family:var(--mono);font-size:.67rem;letter-spacing:.08em;white-space:nowrap}
.ledgerEntry strong{font-family:var(--serif);font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:400;line-height:1.3}
@media(max-width:640px){.ledgerEntry{grid-template-columns:3.6rem minmax(0,1fr)}.ledgerEntry small{grid-column:2}}
.solPArticles,.solPMarkets,.solPCool,.solPReport{gap:clamp(2.4rem,4vw,3.2rem)}
.solPBacktests{gap:clamp(2.4rem,4vw,3.2rem)}
.solPBacktests{position:relative;width:100vw;margin-left:calc(50% - 50vw);isolation:isolate}
.signalSwitch:has(>:only-child){display:none}
.solPanel .term.frame{padding-inline:0;border:0;border-radius:0;background:none}
.infraWorld{position:relative;width:100vw;height:100svh;overflow:hidden;background:var(--stage)}
.houseDay{box-sizing:border-box;width:var(--wide);margin:clamp(1rem,3vw,2rem) auto clamp(3.5rem,7vw,5.5rem)}
#trade:has(#solBacktests:checked){padding-bottom:0}
#trade:has(#solBacktests:checked) .solutions{padding-bottom:0;margin-bottom:0}
#trade:has(#solBacktests:checked) .houseDay{margin-bottom:0}
body:has(#trade.show #solBacktests:checked){padding-bottom:0}
/* A short scroll assembles the clock without holding the page for each ring. */
@media(prefers-reduced-motion:no-preference){.houseDay{height:112svh}.houseDayPin{position:sticky;top:max(.5rem,calc(15svh - 2.5rem))}}
.houseDayBody{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(15rem,1fr);gap:clamp(1.5rem,4vw,3.8rem);align-items:center;padding-top:clamp(1.2rem,3vw,2.2rem)}
.houseDayBody canvas{display:block;width:min(100%,42rem,68svh);aspect-ratio:1;margin:0 auto;cursor:crosshair;filter:saturate(1.3)}
.houseDayLegend{margin:0;padding:0;list-style:none}
.houseDayLegend li{opacity:.1;transition:opacity .8s var(--ease)}
.houseDayLegend li.on{opacity:1}
.houseDayLegend button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:.8rem 1fr auto;align-items:center;gap:.85rem;width:100%;padding:.55rem 0;border-bottom:1px solid color-mix(in srgb,var(--ivory) 9%,transparent);cursor:pointer;font-family:var(--sans);font-size:var(--typeSm);color:var(--muted);transition:color .6s var(--ease)}
.houseDayLegend i{width:.8rem;height:.8rem;border:2px solid var(--tone);border-radius:50%;box-sizing:border-box;transition:background-color .6s var(--ease)}
.houseDayLegend small{font-family:var(--mono);font-size:var(--typeXs);letter-spacing:.06em;color:var(--muted)}
.houseDayLegend button:is(:hover,:focus-visible,[aria-pressed="true"]){color:var(--ink)}
.houseDayLegend button:is(:hover,:focus-visible,[aria-pressed="true"]) i{background:var(--tone)}
.houseDayDetail{display:grid;margin-top:1.6rem;padding:.2rem 0 .2rem 1rem;border-left:1px solid var(--accent);transition:border-color .6s var(--ease)}
.houseDayDetail>div{grid-area:1/1;opacity:0;transition:opacity .6s var(--ease);pointer-events:none}
.houseDayDetail>div.on{opacity:1}
.houseDayDetail span{display:block;font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.houseDayDetail p{margin:.6rem 0 0;max-width:34ch;font-family:var(--sans);font-size:var(--typeSm);line-height:1.5;color:var(--muted)}
.houseDayDetail b{display:block;margin-top:.25rem;font-family:var(--sans);font-size:var(--typeSm);font-weight:500;color:var(--ink)}
@media(max-width:760px){.houseDayBody{grid-template-columns:1fr}.houseDayBody canvas{width:min(100%,54svh)}.houseDayLegend{display:none}.houseDayDetail{margin-top:0}}
.marketDay{--marketPlace:8.5rem;--marketState:8rem;--marketLine:color-mix(in srgb,var(--ivory) 24%,transparent);width:100%;margin:0;padding:clamp(1.2rem,2.4vw,1.7rem) 0;border-bottom:1px solid var(--marketLine)}
.marketDayScale{display:grid;grid-template-columns:repeat(4,25%);margin:0 var(--marketState) .5rem var(--marketPlace);font-family:var(--mono);font-size:.7854rem;letter-spacing:.04em;color:color-mix(in srgb,var(--ivory) 72%,transparent)}
.marketDayScale span{text-align:left}
.marketDayLine{border-top:1px solid var(--marketLine)}
.marketStop{display:grid;grid-template-columns:var(--marketPlace) minmax(0,1fr) var(--marketState);align-items:center;min-width:0;min-height:3.6rem;border-bottom:1px solid var(--marketLine)}
.marketStopHead{min-width:0}
.marketStop b{font-family:var(--sans);font-size:1.15rem;font-weight:500;line-height:1;color:var(--ink)}
.marketRail{position:relative;height:1px;background:color-mix(in srgb,var(--ivory) 24%,transparent)}
.marketWindow{position:absolute;left:var(--open);top:-3px;width:var(--length);height:7px;border-left:1px solid color-mix(in srgb,var(--ivory) 72%,transparent);border-right:1px solid color-mix(in srgb,var(--ivory) 72%,transparent);background:color-mix(in srgb,var(--ivory) 32%,var(--marine));opacity:.7}
.marketStop.open .marketWindow{background:color-mix(in srgb,var(--ivory) 64%,var(--marine));opacity:1}
.marketNow{position:absolute;left:var(--now);top:-8px;width:1px;height:17px;background:var(--ivory);opacity:.82}
.marketState{display:flex;flex-direction:column;align-items:flex-end;gap:.12rem;padding-left:.9817rem;font-family:var(--mono);font-size:.7854rem;line-height:1.2;letter-spacing:.02em;text-align:right;white-space:nowrap;color:color-mix(in srgb,var(--ivory) 72%,transparent)}
.marketStop.open .marketState{color:var(--ivory)}
@media(max-width:640px){.marketDay{--marketPlace:5.8rem;--marketState:6.1rem}.marketStop{padding:.4418rem 0}.marketStop b{font-size:1rem}.marketState,.marketDayScale{font-size:.7rem}}
.pressureHorizon{stroke:var(--line);stroke-width:var(--chartStrokeFine);stroke-dasharray:1 9}
.signalShelfHead h4{margin:0;font-family:var(--sans);font-weight:600;text-transform:none;letter-spacing:.02em}
.riskStack{padding:0}
.sentimentStack{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(3.2rem,7vw,5.8rem)}
.sentimentField{position:relative;display:flex;flex-direction:column;min-width:0;padding:clamp(1.5rem,3.8vw,2.7rem);content-visibility:auto;contain-intrinsic-size:590px;isolation:isolate}
.sentimentField::before{content:"";position:absolute;z-index:-1;top:.55rem;right:.7rem;width:2.2rem;height:2.2rem;border-top:.5px solid color-mix(in srgb,var(--serie1) 24%,transparent);border-right:.5px solid color-mix(in srgb,var(--serie1) 24%,transparent);opacity:.52;pointer-events:none}
.sentimentField.measureChart{padding:clamp(1.5rem,3.8vw,2.7rem);border:0}
.sentimentField{min-height:var(--cardHeight)}.sentimentField>.measureChart{display:flex;flex-direction:column;flex:1}.sentimentField :is(.signalCharts,.signalFocus){display:flex;flex-direction:column;flex:1}.sentimentField .riskPlot{flex:1;display:flex;flex-direction:column}.sentimentField .riskSvg{flex:1 1 0;height:auto;min-height:clamp(145px,19vw,180px)}
.sentimentField .measureChart{padding:clamp(1.45rem,3vw,2rem) 0 0;border:0}
.measureChart{min-width:0;padding:clamp(1.45rem,3vw,2rem) 0;border-bottom:1px solid var(--line)}
.measureChart:last-child{border-bottom:0}
.measureHead{display:flex;align-items:start;justify-content:space-between;gap:.9817rem}
.measureHead>div>span{display:block;margin-bottom:.35rem}
.measureHead h5{margin:0;font-family:var(--sans);font-size:var(--typeMd);font-weight:500;line-height:1.2;letter-spacing:.01em;color:var(--ink)}
.measureHead>p{flex:none;margin:0;text-align:right}
.measureHead small{display:block;max-width:23ch;margin-top:.35rem;font-family:var(--mono);font-size:var(--typeXs);line-height:1.5;letter-spacing:.04em;color:var(--muted)}
.riskPlot{position:relative;width:104%;margin:0 -2%}
.riskSvg{display:block;width:100%;height:clamp(145px,19vw,180px)}
#hausFlow{height:clamp(205px,27vw,260px)}
.riskCross{position:absolute;top:0;bottom:0;width:1px;background:var(--ink);opacity:.4;pointer-events:none}
.riskAxis{position:relative;height:1.35rem;font-family:var(--mono);font-size:var(--typeXs);letter-spacing:.02em;color:var(--muted)}
.riskAxis span{position:absolute;top:.3rem;transform:translateX(-50%);white-space:nowrap;color:var(--ink)}
.riskEvent{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:var(--serie1);opacity:.45}
.riskEvent:hover{opacity:1}
.riskEvent:hover::after{content:attr(data-t);position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);white-space:nowrap;padding:.3436rem .54rem;background:var(--card);border:1px solid var(--line);border-radius:var(--rXs);font-family:var(--serif);font-size:.7854rem;color:var(--ink);z-index:4}
.riskKey{display:flex;flex-wrap:wrap;gap:.4418rem 1.129rem;margin:.9rem 0 0}
#hausKey{display:none}
.riskKey::before{display:none}
.riskKeyRow{position:relative;display:grid;grid-template-columns:8px auto;align-items:center;gap:.4418rem;padding:0;border:0;font-family:var(--mono);font-size:var(--typeXs);color:var(--muted)}
.riskKeyRow.sum .riskKeyName,.riskKeyRow.sum b{color:var(--ivory)}
.riskDot{width:8px;height:2px}
.riskSpark{display:none}
.riskBar{display:none;position:relative;height:3px;background:color-mix(in srgb,var(--silber) 16%,transparent)}
.riskBar i{position:absolute;top:0;bottom:0;left:0;width:var(--v)}
.riskKeyName{font-family:var(--mono);font-size:var(--typeXs);color:var(--muted)}
.riskKeyRow b,.riskKeyRow em{display:none}
.riskTip{position:absolute;left:0;bottom:calc(100% + .25rem);z-index:5;display:none;width:max-content;max-width:34ch;padding:.4909rem .6381rem;background:var(--card);border:1px solid var(--line);border-radius:var(--rXs);font-family:var(--serif);font-size:var(--typeSm);line-height:1.5;color:var(--ink)}
.riskKeyRow:hover .riskTip,.riskKeyRow:focus-within .riskTip{display:block}@media(max-width:640px){.measureHead h5{font-size:1.0799rem}}

.signalShelfHead{display:flex;align-items:end;justify-content:space-between;gap:.9817rem;padding-bottom:.9817rem;border-bottom:1px solid var(--line)}
.signalCharts{margin-top:.7854rem}
.signalFocus{min-width:0}
.signalSwitch{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(.7rem,2vw,1.6rem);margin:0 0 clamp(1.15rem,2.4vw,1.65rem);border-bottom:1px solid var(--line)}
.signalChoice{position:relative;min-width:0;padding:.4909rem 0 .7854rem;border:0;background:none;text-align:left;color:var(--muted);cursor:pointer}
.signalChoice::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:1px;background:var(--choice);transform:scaleX(0);transform-origin:left;transition:transform var(--motionQuick) var(--ease)}
.signalChoice[aria-pressed="true"]::after{transform:scaleX(1)}
.signalChoice span{display:block;overflow:hidden;font-family:var(--mono);font-size:var(--typeXs);letter-spacing:.16em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;transition:color var(--motionQuick) var(--ease)}
.signalChoice:is(:hover,:focus-visible) span{color:var(--ink)}
.signalChoice[aria-pressed="true"] span{color:var(--ink)}
.signalFocusHead{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8836rem}
.signalFocusHead h5{max-width:28ch;margin:0;font-family:var(--sans);font-size:var(--typeMd);font-weight:500;line-height:1.2;letter-spacing:.01em;color:var(--ink)}
.signalFocusHead p{flex:none;margin:0;text-align:right}
.signalFocusHead b{display:block;font-family:var(--mono);font-size:var(--typeLg);font-weight:400;line-height:1;color:var(--focusTone);font-feature-settings:"tnum" 1,"lnum" 1}
.signalFocusHead small{display:block;max-width:23ch;margin-top:.35rem;font-family:var(--mono);font-size:var(--typeXs);line-height:1.5;letter-spacing:.04em;color:var(--muted)}
.signalFocusPlot{position:relative;width:104%;margin:0 -2%;overflow:hidden;border:0;border-block:.5px solid var(--chartGrid);border-radius:0;background:transparent}
.signalFocusSvg{display:block;width:100%;height:auto;shape-rendering:geometricPrecision}
.focusRule{stroke:var(--chartGrid);stroke-width:var(--chartStrokeFine);stroke-dasharray:1 8;vector-effect:non-scaling-stroke}
.focusFill{fill:var(--focusTone);opacity:.025}
.focusLine{fill:none;stroke:var(--focusTone);stroke-width:var(--chartStroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.focusInterest{fill:var(--focusTone);opacity:.16}
.focusDot{fill:var(--ivory);stroke:var(--focusTone);stroke-width:var(--chartStrokeDot);vector-effect:non-scaling-stroke;opacity:0;animation:dotIn .4s var(--ease) 1.7s both}
.focusDate,.focusRange{font:12px var(--sans);fill:var(--muted)}
.ideaDot{fill:var(--marine);stroke:var(--focusTone);stroke-width:var(--chartStrokeDot);vector-effect:non-scaling-stroke}
.ideaValue{font:26px var(--sans);font-variant-numeric:tabular-nums lining-nums;fill:var(--ink)}
.ideaLabel{font:11px var(--sans);letter-spacing:.08em;text-transform:uppercase;fill:var(--muted)}
.focusCross{stroke:var(--ink);stroke-width:.52;stroke-opacity:.5;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
.scoreTip{top:.6rem;right:.6rem;grid-auto-flow:column;align-items:center;gap:.7854rem;max-width:calc(100% - 1.2rem);white-space:nowrap}
.scoreTip strong{font-weight:500;color:var(--ink)}.scoreTip span{color:var(--focusTone)}
.chartDetail{position:relative;z-index:3;margin-top:.7854rem;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.chartDetail[open]{z-index:30}.sentimentField:has(.chartDetail[open]){content-visibility:visible}
.chartDetail summary{width:max-content;padding-top:.589rem;cursor:pointer;list-style:none;font-family:var(--sans);font-size:var(--typeXs);letter-spacing:.08em;color:var(--muted);transition:color var(--motionQuick) var(--ease)}
.chartDetail summary::-webkit-details-marker{display:none}.chartDetail summary::after{content:" +";color:var(--serie2)}.chartDetail[open] summary::after{content:" −"}
.chartDetail summary:hover,.chartDetail summary:focus-visible{color:var(--ink)}
.chartDetailBody{position:absolute;left:0;bottom:calc(100% + .55rem);z-index:30;width:min(42rem,calc(100vw - 3rem));max-height:min(65vh,32rem);overflow:auto;overscroll-behavior:contain;padding:1.0799rem 1.2763rem;animation:drawerIn .35s var(--ease) both;border:var(--frameStroke) solid var(--chartEdge);border-top-color:var(--chartLight);border-radius:var(--rXs);background:color-mix(in srgb,var(--marine) 97%,var(--ivory));box-shadow:0 1rem 3rem rgb(0 0 0/.22)}
.chartDetailBody p{display:grid;grid-template-columns:7.5rem minmax(0,1fr);column-gap:1.2763rem;align-items:start;margin:0;padding:.7363rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 64%,transparent);font-family:var(--sans);font-size:var(--typeSm);line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
.chartDetailBody p:first-child{padding-top:0}.chartDetailBody p:last-child{padding-bottom:0;border-bottom:0}.chartDetailBody span{padding-top:.12em;font-family:var(--mono);font-size:var(--typeXs);font-weight:500;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.chartDetailBody b{font:inherit;font-weight:400;color:inherit}
.termDetail{margin-top:.3436rem}
@keyframes dotIn{from{opacity:0}to{opacity:1}}
@keyframes drawerIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:760px){.sentimentStack{gap:2.7rem}.sentimentField,.sentimentField.measureChart{padding:1.35rem .95rem}.signalShelfHead{align-items:start;flex-direction:column;gap:.2rem}.signalSwitch{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.signalFocusHead{align-items:start}.signalFocusHead small{max-width:18ch}.tab.show:has(.chartDetail[open]){animation:none;transform:none}.chartDetailBody{position:fixed;left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));width:auto;max-height:min(78dvh,36rem);padding:1.0799rem}.chartDetailBody p{grid-template-columns:minmax(0,1fr);row-gap:.3436rem;padding:.7854rem 0}.chartDetailBody span{padding-top:0}.scoreTip{display:none!important}}
.portrait{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--rSm);overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.portrait .mono{display:none}
.portrait.noimg .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:3.91rem;letter-spacing:.1em;color:var(--accent,var(--ivory));opacity:.55}
.member{
  display:grid;grid-template-columns:minmax(150px,215px) minmax(0,1fr);
  gap:clamp(1.8rem,4vw,3.8rem);align-items:stretch;margin:0;position:relative}
.member+.member{margin-top:var(--tgap)}
.member .portrait{aspect-ratio:4/5;border-radius:var(--rSm)}
.member .aboutText{display:flex;min-width:0;flex-direction:column;justify-content:center;padding-left:clamp(.6rem,2vw,1.6rem)}
.member .aboutText h3{margin:0 0 .75rem;font-size:clamp(1.18rem,1.7vw,1.4rem);font-weight:500;
  color:color-mix(in srgb,var(--ink) 80%,var(--muted))}
.memberSay{font-family:var(--serif);text-transform:none;font-style:italic;font-weight:400;color:color-mix(in srgb,var(--ink) 88%,var(--muted));
  font-size:clamp(1.02rem,1.7vw,1.28rem);line-height:1.378;margin:0}
.socials{display:flex;justify-content:flex-start;gap:1.2763rem;margin:1.6rem 0 0}
.socials a{color:var(--muted);display:inline-flex;transition:color var(--motionQuick) var(--ease),transform var(--motionQuick) var(--ease)}
.socials a:hover{color:var(--ivory);transform:translateY(-2px)}
.socials svg{width:20px;height:20px;display:block}
@media(max-width:900px){.member{grid-template-columns:minmax(140px,200px) minmax(0,1fr)}}
@media(max-width:560px){
  .member{grid-template-columns:1fr;gap:1.2763rem}
  .member .portrait{max-width:220px;margin:0 auto}
  .member .aboutText{text-align:center;padding-left:0}
  .memberSay{text-align:center}
  .socials{justify-content:center}
}

footer{position:fixed;z-index:20;inset:auto 0 0;min-height:3.5rem;display:flex;align-items:center;border:none;padding:.75rem 0;color:var(--muted);background:var(--marine);opacity:var(--footIn,0)}

footer::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;
  background:var(--line);opacity:.72}

footer .row{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;
  gap:1.0799rem;font-size:.7854rem;letter-spacing:.05em;white-space:nowrap;
  max-width:100%;overflow-x:auto;scrollbar-width:none}
footer .row::-webkit-scrollbar{display:none}
.footerMark{flex:0 0 auto;width:18px;height:18px;border-radius:var(--rXs);opacity:.72;box-shadow:0 0 0 1px color-mix(in srgb,var(--paper) 9%,transparent);transition:opacity var(--motionQuick) var(--ease)}
.footerMark:hover{opacity:1}
footer .imp{flex:0 1 auto;font:400 .7854rem/1.3 var(--sans);letter-spacing:0;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
footer .links{flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:inherit;line-height:1}
@media(max-width:640px){footer .row{gap:.55rem;font-size:.7rem}.footerMark{display:none}}
footer button{position:relative;background:none;border:none;cursor:pointer;padding:0;
  font:inherit;color:var(--muted);text-decoration:none}
footer button::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--ivory);transform:scaleX(0);transform-origin:left;transition:transform var(--motionQuick) var(--ease)}
footer button:is(:hover,:focus-visible){color:var(--ivory)}
footer button:is(:hover,:focus-visible)::after{transform:scaleX(1)}
#main{position:relative;z-index:1;overflow-x:clip}
.ribEst,.teamClaim{color:var(--silber)}

#team .ribIntro{max-width:min(92vw,var(--wt));margin:0 auto var(--tgap);text-align:center}
#team .ribLead{max-width:52ch;margin:0 auto;color:color-mix(in srgb,var(--ivory) 84%,var(--silber));font-style:italic;text-transform:none}
.ribEst{display:inline-flex;align-items:baseline;gap:.65em;padding:0;border:0;border-radius:0;background-color:transparent;font-family:var(--serif);font-weight:600;font-size:var(--typeLg);letter-spacing:0}
.teamWord{display:inline-block;color:transparent;background:linear-gradient(100deg,color-mix(in srgb,var(--ivory) 72%,var(--silber)),var(--ivory) 32%,color-mix(in srgb,var(--ivory) 78%,var(--serie2)) 48%,var(--ivory) 64%,color-mix(in srgb,var(--ivory) 78%,var(--serie3)));background-size:180% 100%;background-position:0 50%;-webkit-background-clip:text;background-clip:text;filter:blur(.16px);animation:teamWordBleed 18s var(--ease) infinite alternate}
@keyframes teamWordBleed{to{background-position:100% 50%}}
.ribEst .est{font-family:var(--serif);font-weight:400;font-size:.42em;font-style:italic;letter-spacing:.04em;text-transform:none;color:color-mix(in srgb,var(--ivory) 88%,var(--silber))}
.teamRule{display:block;width:56px;height:1px;margin:clamp(1.3rem,2.5vw,1.8rem) auto;background:color-mix(in srgb,var(--serie1) 48%,transparent)}
.teamClaim{display:block;font-family:var(--serif);font-size:var(--typeLg);font-weight:400;background:linear-gradient(100deg,var(--silber) 38%,color-mix(in srgb,var(--ivory) 75%,var(--slateBlue)) 48%,var(--ivory) 50%,color-mix(in srgb,var(--ivory) 75%,var(--slateBlue)) 52%,var(--silber) 62%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:teamClaimShine 18s ease-in-out infinite alternate}
@keyframes teamClaimShine{from{background-position:120% 0}to{background-position:-20% 0}}

#team{position:relative;--tgap:clamp(7rem,11vw,9.5rem)}
.tabbg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.tabbg,.landing .stage{-webkit-mask-image:linear-gradient(to bottom,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,#000 84%,transparent 100%)}
.tabbg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:saturate(.85) contrast(1.05);animation:kenburns 150s ease-in-out infinite alternate}
/* The name must blend with the photograph, not an isolated transparent wrapper. */
#team .wrap{position:relative}

.landing .stage video{animation:kenburns 150s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.05) translate(.6%,-.6%)}}
.perfTip{top:.6rem;right:.6rem;align-items:center;gap:.3436rem .7854rem;max-width:calc(100% - 1.2rem);font-size:.67rem;line-height:1.35;color:var(--ink);white-space:nowrap}
.perfTip b{display:block;font-size:.67rem;font-weight:400;letter-spacing:.04em;color:var(--muted)}
.perfTip span{display:flex;align-items:center;gap:.3436rem}
.perfTip i{display:inline-block;width:10px;height:2px;border-radius:2px}.solVid{order:-2;position:relative;height:clamp(260px,36vw,400px);border-radius:var(--rSm);overflow:hidden;display:flex;align-items:center;justify-content:center;--feather:linear-gradient(90deg,transparent,#000 1.2%,#000 98.8%,transparent),linear-gradient(180deg,transparent,#000 2%,#000 70%,transparent);-webkit-mask-image:var(--feather);-webkit-mask-composite:source-in;mask-image:var(--feather);mask-composite:intersect}
.solVid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(.99) brightness(.92);transition:filter var(--motionBase) var(--ease)}
@media(max-width:640px){.solVid{height:150px}}

.rw{flex:1;display:flex;flex-direction:column;gap:.4909rem;min-height:0}
.rwNums{display:flex;flex-wrap:wrap;gap:.2rem 1.0799rem;font-size:.7363rem;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.rwNums span{display:flex;align-items:baseline;gap:.2945rem}
.rwNums b{font-family:var(--mono);font-weight:400;font-size:1rem;color:var(--ink);letter-spacing:0;text-transform:none}
.rwPlot{position:relative;flex:1;min-height:86px;padding-left:2.1108rem}
.rwPlot .perfTip{top:.35rem;right:.35rem}
.rwPlot .anSvg{display:block;height:100%;min-height:86px}
.rwPlot:has(.rwRight){padding-right:2.1108rem}
.rwT{position:absolute;left:0;font-family:var(--mono);font-style:normal;font-size:var(--chartTick);color:var(--muted);transform:translateY(-50%)}
.rwT[style*="top:0"],.rwT[style*="bottom"]{transform:none}
.rwRight{left:auto;right:0;text-align:right}
.rwLast{left:auto;right:0;font-size:.67rem;padding:.05rem .2rem;background:var(--bg);border:0}
.rwX{display:flex;justify-content:space-between;padding-left:2.1108rem;margin-top:.1rem;font-family:var(--mono);font-size:.67rem;color:var(--muted)}
.rw:has(.rwRight) .rwX{padding-right:2.1108rem}
.anCard{border-radius:var(--rSm);padding:.9817rem 1.0799rem .8345rem;display:flex;flex-direction:column;min-height:150px}
.anSvg{flex:1;width:100%;min-height:100px}
.megaCard{width:100%;padding:clamp(1.25rem,3vw,2.5rem);border-color:var(--line);border-radius:0;background:var(--marine)}
.megaSwitch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 1.5rem;margin:0 0 2rem;padding:0;border:0;border-bottom:1px solid var(--line);background:none}
.megaSwitch button{min-width:0;min-height:52px;padding:.75rem 0 1rem;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);font:400 .8125rem/1.5 var(--sans);letter-spacing:.025em;cursor:pointer;transition:color var(--motionQuick) var(--ease),border-color var(--motionQuick) var(--ease)}
.histZeroLine{stroke:var(--ink);stroke-width:.35;stroke-opacity:.5;stroke-dasharray:1 2;vector-effect:non-scaling-stroke}
.histZeroLabel{font-family:var(--mono);font-size:3.4px;font-weight:500;letter-spacing:.05em;fill:var(--ink);opacity:.68}
.chartReferenceLine{stroke:var(--silber);stroke-width:1;stroke-opacity:.8;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.megaSwitch button:hover{color:var(--ink)}.megaSwitch button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
@media(max-width:760px){.megaSwitch{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1rem;margin-bottom:1.5rem}.megaSwitch button{padding:.75rem 0}}
.megaBody{position:relative;display:flex;flex-direction:column;min-width:0}
.megaBody .rwNums{gap:.2rem .75rem;font-size:.6875rem;letter-spacing:.035em}
.megaBody .rwNums b{font-size:.8125rem;color:var(--muted)}
.megaBody .rw{flex:none;height:clamp(390px,42vw,480px);gap:1rem}
.megaBody .rw>.rwLegend{position:static;display:flex;flex-wrap:wrap;flex:none;width:auto;height:auto;padding:0;border:0;background:none;box-shadow:none;animation:none;gap:.75rem 1.5rem}
.megaBody .rwLegend span{display:flex;gap:.5rem}
.megaBody .rwPlot>.rwLegend{position:absolute;top:.35rem;right:.65rem;left:calc(2.1108rem + .65rem);z-index:3;display:flex;width:auto;height:auto;margin:0;padding:0;border:0;background:none;box-shadow:none;animation:none;gap:.75rem 1.5rem}
.megaBody .hbFoot{margin:.5rem 0 0;padding-top:1.5rem}
.megaBody .hbFoot .rwNums{align-items:baseline;gap:.45rem 1.25rem;padding-top:.7rem}
.megaBody .hbFoot .rwNums span{flex-direction:row;align-items:baseline;gap:.375rem;font:400 .72rem/1.5 var(--sans)}
.megaBody .hbFoot .rwNums b{font:400 .9375rem/1.2 var(--mono);color:var(--muted)}
.megaBody .hbFoot .rwNums b.up{color:color-mix(in srgb,var(--up) 35%,var(--muted))}
.megaBody .hbFoot .rwNums b.dn{color:color-mix(in srgb,var(--dn) 35%,var(--muted))}
.megaBody .anSvg{min-height:0}
.anEmpty{margin:auto;font-size:.8345rem;color:var(--muted);font-style:italic;text-align:center}
.mg{display:grid;grid-template-columns:5rem repeat(12,minmax(2.75rem,1fr)) 7rem;gap:0;align-items:stretch;font:400 .75rem/1.5 var(--sans);font-variant-numeric:tabular-nums lining-nums}
.mg>i{display:flex;align-items:center;justify-content:center;padding:.5rem .25rem;font-style:normal}
.mg>.mgLab{color:var(--muted);font-size:.6875rem;letter-spacing:.06em}
.mg>i:nth-child(-n+14){padding-top:0;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.mg>i:nth-child(14n+1){position:sticky;left:0;z-index:1;justify-content:flex-start;padding-left:.75rem;background:var(--marine);border-bottom:1px solid var(--chartGrid)}
.mg>.mgYear{font-size:.875rem;font-weight:500;letter-spacing:.015em;color:var(--muted)}
.mgCell{align-self:stretch;min-height:2.25rem;margin-block:.875rem;color:var(--ink);border-radius:0;border-right:1px solid color-mix(in srgb,var(--marine) 76%,transparent)}
.mgVoid{color:var(--muted);background:none}
.mg>.mgTot{justify-content:flex-start;margin-left:.5rem;padding-left:1rem;border-bottom:1px solid var(--chartGrid);font:500 .9375rem/1.5 var(--sans);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.01em;color:var(--muted);filter:none}
.mg>.mgTot.up{color:color-mix(in srgb,var(--up) 32%,var(--muted))}.mg>.mgTot.dn{color:color-mix(in srgb,var(--dn) 32%,var(--muted))}
.mg>.mgLab.mgTot{font-size:.6875rem;letter-spacing:.06em;color:var(--muted);border-bottom-color:var(--line)}
.hbFoot{margin:.2rem 0 0;font-size:.7363rem;letter-spacing:.03em;color:var(--muted);border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);padding-top:.4418rem;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3436rem 1.4235rem}
.hbFoot .rwNums{font-size:inherit;letter-spacing:inherit;color:inherit;text-transform:none;gap:.2rem .8836rem;justify-content:flex-end;flex:0 1 auto}
.hbFoot .rwNums b{font-family:inherit;font-size:inherit}
.marketsLegal{max-width:min(680px,90vw);margin:.7rem auto 0;padding:.6381rem .8836rem;border-radius:var(--rXs);font-family:var(--serif);font-size:.7363rem;line-height:1.493;color:color-mix(in srgb,var(--muted) 88%,var(--bg));text-align:center;text-wrap:balance}
.marketsLegal.frame{background:color-mix(in srgb,var(--paper) 3%,transparent)}
.marketsLegal b{color:var(--ink);font-weight:600}
.marketsLegal a,.marketsLegal .linklike{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.marketsLegal .linklike{background:none;border:0;padding:0;font:inherit;font-size:inherit;line-height:inherit;cursor:pointer}
@media(max-width:640px){
  .solutions{padding:clamp(3rem,9vw,4rem) 0 .7rem}
  .rwNums{font-size:.7854rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.filmWalk{order:-2;position:relative;width:100%;height:auto;flex:none}
.filmWalk :is(.solVid,.cityFilm){position:relative;top:auto;width:min(var(--wide),calc(100% - 2rem));height:clamp(260px,36vw,400px);margin-inline:auto;filter:none;pointer-events:none}
.filmWalk .solVid video{filter:saturate(.76) contrast(.99) brightness(.92)}
/* the film dissolves into the page on every side, so the deep room below meets no edge */
.filmWalk .solVid{--feather:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 55%,transparent)}
.filmWalk .cityFilm{aspect-ratio:auto;margin-bottom:0;object-fit:cover;border-radius:var(--rSm)}
:is(.solPArticles,.solPReport) .cityFilm{--fieldMask:linear-gradient(180deg,transparent,#000 12%,#000 78%,transparent)}
.modelWalk{position:relative;width:100vw;height:300svh;margin-top:-8svh}
.modelFrame{position:relative;width:100%;height:100svh;overflow:hidden;will-change:transform}
@media(prefers-reduced-motion:reduce){.modelWalk{height:auto}}
.machineEngine{position:relative;display:block;width:100%;height:100%}
@media(hover:hover){html .machineEngine{cursor:grab!important}html .machineEngine:active{cursor:grabbing!important}}
.machineRender{position:absolute;left:var(--pageInset);bottom:16%;max-width:42ch;margin:0;font:400 var(--typeXs)/1.5 var(--sans);color:var(--silber);z-index:2}
.machineRender[hidden]{display:none}
.machineSurface{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(max-width:760px){.machineRender{right:var(--pageInset)}}
.machineCaption{position:absolute;left:var(--pageInset);top:50%;width:min(40vw,42rem);transform:translateY(calc(var(--drift,0px) - 50%));opacity:var(--captionFade,1);pointer-events:none}
.machineCaption h2{max-width:16ch;margin:0 0 .4rem;font:400 clamp(2.4rem,4.2vw,4.8rem)/1.12 var(--serif);letter-spacing:-.015em;text-wrap:balance;color:var(--ivory)}
.machineDetail{max-width:30ch;margin:1rem 0 0;font:400 clamp(.85rem,1.2vw,1rem)/1.5 var(--sans);color:var(--silber)}
.machineDetail:empty{display:none}
@media(max-width:760px){.modelFrame,.infraWorld{height:100svh}.machineCaption{top:18svh;right:var(--pageInset);width:auto;transform:none}.machineCaption h2{font-size:clamp(2.3rem,8vw,3.8rem)}}
.solPBacktests .houseDayPin{opacity:var(--dialOpacity,1);transition:opacity var(--motionBase) var(--ease)}
.solPBacktests .houseDayBody{padding-top:0}
@media(max-width:640px){.filmWalk :is(.solVid,.cityFilm){height:150px}}
@media(prefers-reduced-motion:reduce){.filmWalk{height:auto}.filmWalk :is(.solVid,.cityFilm){position:relative;top:auto;filter:none}.solVid video{filter:none;transition:none}.modelWalk{height:100svh;margin-top:0}.modelFrame{position:relative;height:100svh;overflow:hidden}.infraWorld{height:100svh}.machineCaption h2{animation:none}.solPBacktests .houseDayPin{opacity:1}}

/* Ein Bildregister: gleiche Kante, gleiche Schrift, eine ruhige Linie. */
.sceneFrame{border:var(--frameStroke) solid var(--chartEdge);border-top-color:var(--chartLight);border-radius:var(--rSm);overflow:hidden}
.sceneFrame::before{content:"";position:absolute;z-index:2;left:clamp(1rem,4vw,3rem);top:12%;bottom:12%;width:1px;pointer-events:none;background:linear-gradient(transparent,color-mix(in srgb,var(--ivory) 25%,transparent) 28%,color-mix(in srgb,var(--ivory) 25%,transparent) 72%,transparent);opacity:.4;animation:sceneBreath 18s ease-in-out infinite alternate}
@keyframes sceneBreath{to{opacity:.72}}
.filmWalk>.solVid.sceneFrame{align-self:center}
@media(prefers-reduced-motion:reduce){.sceneFrame::before{animation:none;opacity:.4}}

.solPLive .megaCard{display:block}


/* The other scenes keep their existing edge treatment. */
:is(#trade,#factory) :is(.infraWorld,.coolStage){border:0;border-radius:0;box-shadow:none;background:var(--stage);-webkit-mask-image:var(--fieldMask);mask-image:var(--fieldMask)}
:is(#trade,#factory) :is(.infraWorld,.coolStage)::before{display:none}
#trade .infraWorld{background:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 84%,transparent);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 84%,transparent)}

/* Data charts share one paperless plot and one reading surface; emphasis belongs to the selected value. */
:is(.termPlot,.riskPlot,.signalFocusPlot,.rwPlot){background:radial-gradient(ellipse at 54% 40%,color-mix(in srgb,var(--slateBlue) 3%,transparent),transparent 74%)}
:is(.termTick,.riskAxis,.rwT,.focusDate,.focusRange){font-family:var(--mono);font-size:var(--chartTick);font-variant-numeric:tabular-nums lining-nums;color:var(--muted)}
:is(.scoreTip,.perfTip,.riskTip){position:absolute;z-index:5;display:none;padding:.3436rem .54rem;border:1px solid var(--line);border-radius:var(--rXs);background:var(--card);font-family:var(--mono);font-size:var(--typeXs);line-height:1.5;text-align:left;color:var(--muted);pointer-events:none}

/* One reading register keeps chart labels in the same place across instruments. */
.chartLegend{position:absolute;z-index:3;top:.65rem;left:.65rem;box-sizing:border-box;display:grid;gap:.26rem;width:min(12.5rem,calc(100% - 1.3rem));padding:.65rem .75rem;border:1px solid color-mix(in srgb,var(--ivory) 23%,transparent);border-radius:var(--rXs);background:color-mix(in srgb,var(--marine) 96%,var(--slateBlue));font-family:var(--mono);font-size:.75rem;font-weight:400;line-height:1.4;letter-spacing:.035em;color:color-mix(in srgb,var(--ivory) 90%,var(--slateBlue));pointer-events:none}
.chartLegend span{display:grid;grid-template-columns:.65rem minmax(0,1fr) auto;align-items:center;column-gap:.45rem;min-width:0}
.chartLegend i{display:block;width:.55rem;height:2px;background:var(--tone)}
.chartLegend i.dash{height:0;border-top:1px dashed var(--tone);background:none}
.chartLegend i.area{height:.4rem;background:color-mix(in srgb,var(--tone) 35%,transparent)}
.chartLegend em{overflow:hidden;font:inherit;text-overflow:ellipsis;white-space:nowrap}
.chartLegend b{font:inherit;font-variant-numeric:tabular-nums;color:var(--ivory)}
.rwLegend{width:min(12.5rem,calc(100% - 2.7608rem));height:4rem;padding:.5rem .65rem;gap:.18rem}
.rwPlot>.rwLegend{left:calc(2.1108rem + .65rem)}
.rwLegend span{grid-template-columns:.65rem minmax(0,1fr)}
.rwLegend em{font-size:.72rem;line-height:1.25}
.monthPlot{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;justify-content:flex-start;align-items:stretch;overflow-x:auto;padding-bottom:.75rem;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.monthPlot>.rwLegend{position:static;flex:none;align-self:flex-start;margin:.8rem 0 0}
.monthPlot .mg{flex:none;width:100%;min-width:54rem;margin:0;grid-auto-rows:minmax(3.5rem,auto)}
.riskLegend{position:relative;left:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.45rem .9rem;width:100%;margin:.8rem 0 0;padding:.65rem 0 0;border:0;border-top:1px solid var(--line);background:none;pointer-events:auto}
.riskLegend::before{grid-column:1/-1;color:var(--muted)}
.riskPlot>.riskKey{display:none}
.riskLegend .riskKeyRow{min-width:0}
.riskLegend .riskKeyName{white-space:normal}
.riskLegend .riskKeyRow:has(.riskTip){cursor:help}
.riskLegend .riskTip{max-width:min(34ch,80vw)}
.riskLegend .riskTip{bottom:calc(100% + .25rem)}
@media(max-width:640px){.riskLegend{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem}.riskLegend .riskKeyName{font-size:.68rem;line-height:1.25}}
.riskKeyRow{grid-template-columns:.65rem minmax(0,1fr) auto;gap:.45rem;font:inherit;color:inherit}
.riskKeyName{overflow:hidden;font:inherit;color:inherit;text-overflow:ellipsis;white-space:nowrap}
.riskKeyRow b{display:block;font:inherit;font-variant-numeric:tabular-nums;color:var(--ivory)}
.riskDot{width:.55rem;height:2px}
.signalFocusHead.chartLegend{display:grid;gap:.3rem;margin:0}
.signalFocusHead h5{overflow:hidden;max-width:none;font:inherit;text-overflow:ellipsis;white-space:nowrap;color:var(--ivory)}
.signalFocusHead p{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;text-align:left}
.signalFocusHead b,.signalFocusHead small{display:inline;margin:0;font:inherit;line-height:1.4;letter-spacing:.035em}
.signalFocusHead b{color:var(--ivory)}
.signalFocusHead small{max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rwPlot .perfTip{top:auto;bottom:.35rem;left:calc(2.1108rem + .65rem);right:auto;box-sizing:border-box;width:min(12.5rem,calc(100% - 2.7608rem));max-width:none;padding:.65rem .75rem;border-color:color-mix(in srgb,var(--ivory) 23%,transparent);background:color-mix(in srgb,var(--marine) 96%,var(--slateBlue));font-size:.75rem;line-height:1.4;letter-spacing:.035em;white-space:normal}
.termPlot .perfTip,.signalFocusPlot .scoreTip{top:.65rem;left:auto;right:.65rem;box-sizing:border-box;width:min(12.5rem,calc(100% - 2.7608rem));max-width:none;padding:.65rem .75rem;border-color:color-mix(in srgb,var(--ivory) 23%,transparent);background:color-mix(in srgb,var(--marine) 96%,var(--slateBlue));font-size:.75rem;line-height:1.4;letter-spacing:.035em;white-space:normal}
.termPlot:has(.perfTip[style*="block"])>.chartLegend,.signalFocusPlot:has(.scoreTip[style*="grid"])>.chartLegend{visibility:hidden}
.termPlot>.chartLegend{display:none}
.drawdownLabel{font:9px var(--mono);letter-spacing:.08em;opacity:.72}
.dn,.lossLine,.drawdownLabel{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--dn) 54%,transparent))}
.lossArea{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--dn) 28%,transparent))}

/* Reading surfaces keep their light still so the measurements hold the eye. */
.solPanel :is(.chartLegend,.perfTip,.scoreTip,.chartDetailBody){background:var(--chartGlass);border-color:var(--chartEdge);border-top-color:var(--chartLight);box-shadow:var(--surfaceShadow);font-variant-numeric:tabular-nums lining-nums}
.solPanel :is(.chartLegend,.perfTip) i{border-radius:1px}
.histBar{stroke:var(--chartLight);stroke-width:.35;vector-effect:non-scaling-stroke}

/* golfWorld: the isolated par-3 dialog; delete this block with site/golfWorld.js and the marked block in index.html */
[data-golf-enter]{position:relative;cursor:default}

.golfWorld{--gwIvory:var(--ivory);--gwGreen:var(--racingGreen);--gwGold:var(--oldGold);--gwMarine:var(--marine);--gwX:36%;--gwY:51%;position:fixed;inset:0;z-index:1000;overflow:hidden;background:var(--gwMarine) url(images/golfPoster.webp) center/cover;color:var(--gwIvory);clip-path:circle(0 at var(--gwX) var(--gwY));opacity:0;isolation:isolate;transition:clip-path .65s cubic-bezier(.45,0,.2,1),opacity .4s ease}
.golfWorld[hidden]{display:none}
.golfWorld.isOpen{clip-path:circle(150% at var(--gwX) var(--gwY));opacity:1}
.golfWorld.isClosing{clip-path:circle(150% at var(--gwX) var(--gwY));opacity:0;pointer-events:none;transition:opacity .25s .25s ease}
.golfWorldTransit{position:absolute;z-index:8;inset:0;display:block;width:100%;height:100%;background:var(--gwMarine);opacity:1;pointer-events:none;transition:opacity .45s .1s ease}
.golfWorld.isOpen .golfWorldTransit{opacity:0}
.golfWorld.isClosing .golfWorldTransit{opacity:1;transition:opacity .2s ease}
.golfWorldFilm{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;scale:1.06;filter:brightness(.65);transition:opacity .5s .1s ease,scale .8s .05s cubic-bezier(.3,.1,.2,1),filter .55s .1s ease}
.golfWorldFilm{object-fit:contain;background:var(--gwMarine)}.golfWorldFilm[hidden]{display:none}
.golfWorld.isOpen.isLive .golfWorldFilm{opacity:1;scale:1;filter:brightness(1)}
.golfWorldShade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--gwMarine) 55%,transparent),transparent 45%),linear-gradient(180deg,color-mix(in srgb,var(--gwMarine) 24%,transparent),transparent 28%,color-mix(in srgb,var(--gwMarine) 46%,transparent));mix-blend-mode:multiply}
.golfWorldShade::after{content:"";position:absolute;inset:0;opacity:.06;background-image:repeating-linear-gradient(105deg,color-mix(in srgb,var(--gwIvory) 35%,transparent) 0 1px,transparent 1px 4px);mix-blend-mode:soft-light}
.golfWorldHead{position:absolute;z-index:3;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,5vw,5rem);opacity:0;transition:opacity .35s .2s ease}
.golfWorld.isOpen .golfWorldHead{opacity:1}
.golfWorldMark{width:24px;height:24px;opacity:.88;filter:drop-shadow(0 1px 4px var(--gwMarine))}
.golfWorldHead>div{display:flex;align-items:center;gap:.55rem;margin-left:auto}
.golfWorldScore{display:grid;min-width:12.5rem;border:1px solid color-mix(in srgb,var(--gwIvory) 55%,transparent);background:color-mix(in srgb,var(--gwGreen) 88%,var(--gwMarine));color:var(--gwIvory);font:600 .7rem/1.25 var(--sans);letter-spacing:.04em}
.golfWorldScoreEvent,.golfWorldScoreShot{padding:.3rem .65rem;font:600 .56rem/1.2 var(--mono);letter-spacing:.16em}
.golfWorldScoreEvent{border-bottom:1px solid color-mix(in srgb,var(--gwIvory) 35%,transparent)}
.golfWorldScoreRow{display:flex;align-items:stretch;justify-content:space-between;gap:.8rem;padding-left:.65rem;white-space:nowrap}
.golfWorldScoreRow>b:first-child{padding:.45rem 0}
.golfWorldScoreResult{display:grid;place-items:center;min-width:3.2rem;background:var(--gwIvory);color:var(--gwGreen);font:700 .9rem/1 var(--sans);font-variant-numeric:tabular-nums}
.golfWorldScoreShot{display:flex;gap:.35rem;border-top:1px solid color-mix(in srgb,var(--gwIvory) 35%,transparent)}
.golfWorldScoreShot [data-golf-lie]{margin-left:auto;color:var(--gwIvory)}
.golfWorldSound,.golfWorldClose{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid color-mix(in srgb,var(--gwIvory) 38%,transparent);border-radius:50%;background:color-mix(in srgb,var(--gwMarine) 42%,transparent);color:var(--gwIvory);cursor:pointer}
.golfWorldSound i,.golfWorldClose i{font:400 1.2rem/1 var(--sans);font-style:normal}
.golfWorldSound[aria-pressed="true"]{border-color:var(--gwGold);color:var(--gwGold)}
.golfWorldSound:focus-visible,.golfWorldClose:focus-visible,.golfWorldScenes button:focus-visible{outline:1px solid var(--gwIvory);outline-offset:3px}
.golfWorldStory{position:absolute;z-index:2;left:clamp(1.25rem,9vw,9rem);bottom:clamp(7rem,18vh,12rem);width:min(46rem,78vw);pointer-events:none;opacity:0;transition:opacity .35s .2s ease}
.golfWorld.isOpen .golfWorldStory{opacity:1}
.golfWorldStory article{--gwShow:0;position:absolute;left:0;bottom:0;display:grid;gap:.65rem;max-width:100%;border-left:2px solid var(--gwGold);padding-left:clamp(1rem,2vw,1.7rem);opacity:var(--gwShow);translate:0 calc((1 - var(--gwShow))*8px);transition-property:none}
.golfWorldStory strong{font:400 clamp(2rem,4vw,4.4rem)/1.06 var(--serif);letter-spacing:-.025em;text-wrap:balance;text-shadow:0 2px 18px color-mix(in srgb,var(--gwMarine) 75%,transparent)}
.golfWorldDalyQuote{font-size:clamp(1.4rem,3.2vw,3rem)!important}.golfWorldDalyQuote span{display:block;white-space:nowrap}
.golfWorldStory small{font:400 .7rem/1.4 var(--mono);letter-spacing:.12em;color:var(--gwGold)}
.golfWorldScenes{position:absolute;z-index:3;right:clamp(1.25rem,5vw,5rem);bottom:clamp(1.25rem,4vh,3rem);left:clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.5rem,1.2vw,1.2rem);opacity:0;transition:opacity .35s .2s ease}
.golfWorld.isOpen .golfWorldScenes{opacity:1}
.golfWorld.isClosing :is(.golfWorldHead,.golfWorldStory,.golfWorldScenes){transition-delay:0s}
.golfWorldScenes button{--gwFill:0;position:relative;min-height:2.75rem;border:0;background:transparent;cursor:pointer}
.golfWorldScenes button::before,.golfWorldScenes button::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:color-mix(in srgb,var(--gwIvory) 35%,transparent)}
.golfWorldScenes button::after{background:var(--gwGold);transform-origin:left;scale:var(--gwFill) 1}
.golfWorldFallback{position:absolute;z-index:4;top:50%;left:50%;margin:0;translate:-50% -50%;font-family:var(--serif);font-size:1.2rem;color:var(--gwIvory)}
body.golfWorldOpen{overflow:hidden;touch-action:none}
body:has(.golfWorld) #home .landing{transition:transform .65s ease,filter .5s ease}body.golfWorldOpen #home .landing{transform:scale(1.035);filter:brightness(.18)}

@media(max-width:700px){.golfWorldHead{padding:1rem}.golfWorldScore{min-width:0}.golfWorldScoreRow{font-size:.6rem}.golfWorldScoreResult{min-width:2.5rem}.golfWorldStory{left:1.4rem;bottom:8rem;width:calc(100vw - 2.8rem)}.golfWorldStory strong{font-size:clamp(1.8rem,8vw,2.7rem)}.golfWorldDalyQuote{font-size:clamp(.95rem,4.2vw,1.45rem)!important}.golfWorldScenes{right:1.4rem;left:1.4rem;bottom:1rem}}
@media(prefers-reduced-motion:reduce){.golfWorld,.golfWorldTransit,.golfWorldFilm,.golfWorldStory,body.golfWorldOpen #home .landing{transition-duration:.01ms!important;transition-delay:0s!important}}
/* /golfWorld */
