@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500&display=swap");
:root{--bg:#050608;--bg2:#080B10;--text:#f3f0ea;--muted:#89929b;--line:rgba(70,112,255,.16);--blue:#0B4CFF;--blue2:#2F78FF;--blue-bright:#1670FF;--blue-light:#4C96FF;--serif:"Playfair Display",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 78% 45%,#0A1B63 0,#080B10 30%,#050608 72%,#01051E 100%);color:var(--text);font-family:var(--sans);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 45%,rgba(11,76,255,.16),transparent 30%),linear-gradient(115deg,transparent 55%,rgba(70,120,255,.025));z-index:-1}
.noise{position:fixed;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.site-header{height:82px;display:grid;grid-template-columns:140px minmax(0,1fr) auto auto;align-items:center;gap:28px;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:20;background:rgba(5, 6, 8, .62);backdrop-filter:blur(16px)}
.brand{font-family:var(--serif);font-size:22px;letter-spacing:-.04em;text-decoration:none;color:var(--text);white-space:nowrap}.brand b{color:var(--blue);font-weight:500}.brand span{color:#fff}
.brand-note{font:10px var(--mono);letter-spacing:.14em;color:#747d84}
nav{display:flex;gap:28px}nav a{display:inline-block;position:relative;flex:0 0 auto;font:400 10px var(--mono);letter-spacing:.12em;color:#8f979d;text-decoration:none;transition:color .25s ease}nav a:hover{color:#fff}nav a.active{color:#1768FF}
/* V183 — keep header navigation visually fixed while pages change/activate. */
.site-header nav a,.site-header nav a:hover,.site-header nav a:focus,.site-header nav a:active,.site-header nav a.nav-active{transform:none;text-indent:0}
.subscribe,.button{border:1px solid rgba(11,76,255,.9);color:#fff;text-decoration:none;font:10px var(--mono);letter-spacing:.12em;padding:12px 17px;transition:.3s}.subscribe:hover,.button:hover{background:var(--blue);color:#050505;box-shadow:0 0 30px rgba(11,76,255,.28)}
.hero{min-height:calc(100vh - 82px);position:relative;overflow:hidden;display:flex;align-items:center;padding:5vw}
.hero-copy{position:relative;z-index:8;width:38%;max-width:530px;margin-top:-5vh}
.eyebrow{font:10px var(--mono);letter-spacing:.18em;color:var(--blue);margin-bottom:22px}
h1{font:500 clamp(72px,9vw,142px)/.82 var(--serif);letter-spacing:-.065em;margin:0 0 25px}h1 em,h2 em{font-style:normal;color:var(--blue)}
.hero-sub{font:500 19px var(--sans);letter-spacing:-.02em;margin:0 0 15px}.hero-text{max-width:400px;color:#8e969d;font-size:14px;line-height:1.75;margin:0 0 30px}.button span{margin-left:20px;color:var(--blue)}
.orbit-wrap{position:absolute;left:58%;top:39%;transform:translate(-50%,-50%);width:min(72vw,1040px);height:min(78vh,740px);perspective:1300px;transform-style:preserve-3d;pointer-events:none}
.cards{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border:1px solid rgba(11,76,255,.72);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:2;box-shadow:0 0 90px rgba(11,76,255,.18);pointer-events:none}
.orbit-core span{font:26px var(--serif)}.orbit-core b{color:var(--blue);font-weight:500}.orbit-core small{font:7px var(--mono);letter-spacing:.14em;color:#6d767d;margin-top:9px}
.orbit-line{position:absolute;left:50%;top:50%;border:1px solid rgba(22,112,255,.52);border-radius:50%;transform:translate(-50%,-50%) rotateX(66deg) rotateY(-7deg);pointer-events:none}
.orbit-line-a{width:84%;height:44%}.orbit-line-b{width:70%;height:34%;transform:translate(-50%,-50%) rotateX(66deg) rotateY(8deg)}.orbit-line-c{width:91%;height:30%;transform:translate(-50%,-50%) rotateX(73deg) rotateY(-12deg);opacity:.45}
.orbit-glow{position:absolute;width:65%;height:55%;right:3%;top:21%;background:radial-gradient(ellipse,rgba(11,76,255,.34),transparent 65%);filter:blur(35px);pointer-events:none}
/* 3D model core — the identity mark sits physically inside the orbital field. */
.orbit-core{perspective:700px;transform-style:preserve-3d;overflow:visible}
.orbit-core span{position:relative;color:var(--blue);transform:translateZ(22px) rotateX(7deg);transform-style:preserve-3d;text-shadow:1px 1px 0 rgba(12,8,5,.9),2px 2px 0 rgba(12,8,5,.75),3px 3px 0 rgba(11,76,255,.28),0 10px 28px rgba(11,76,255,.28);letter-spacing:-.045em}
.orbit-core span b{display:inline-block;color:var(--blue);transform:translateZ(10px);text-shadow:1px 1px 0 #092C9B,2px 2px 0 #061A68,3px 3px 0 rgba(11,76,255,.48),0 8px 24px rgba(11,76,255,.30)}
.orbit-core small{position:relative;color:var(--blue2);transform:translateZ(14px) rotateX(5deg);text-shadow:0 2px 10px rgba(47,120,255,.14);letter-spacing:.19em}
.orbit-core i{position:relative;transform:translateZ(18px);}

.company-card{position:absolute;left:50%;top:50%;width:168px;height:106px;margin:-53px 0 0 -84px;border:1px solid rgba(22,112,255,.42);border-radius:9px;background:linear-gradient(145deg,rgba(5,15,48,.97),rgba(2,7,29,.99));box-shadow:0 28px 75px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.025);color:#f5f1eb;text-align:left;padding:17px 17px;display:flex;flex-direction:column;justify-content:space-between;transform-style:preserve-3d;backface-visibility:hidden;pointer-events:auto;cursor:pointer;transition:border-color .35s,box-shadow .35s,background .35s;will-change:transform}
.company-card:before{content:"";position:absolute;inset:0;border-radius:9px;background:linear-gradient(120deg,rgba(255,255,255,.055),transparent 42%);pointer-events:none}
.card-num{font:10px var(--mono);color:var(--blue);letter-spacing:.08em}.card-name{font:500 21px var(--serif);letter-spacing:-.035em}.card-mark{height:1px;width:22px;background:var(--blue);opacity:.65}
.company-card:hover,.company-card.is-active{border-color:rgba(11,76,255,.85);box-shadow:0 25px 80px rgba(0,0,0,.62),0 0 52px rgba(11,76,255,.22);background:linear-gradient(145deg,rgba(7,20,64,.99),rgba(2,8,34,.99))}
.company-card.is-selected{border-color:var(--blue);box-shadow:0 25px 90px rgba(0,0,0,.72),0 0 80px rgba(11,76,255,.34)}
.hero-scroll{position:absolute;left:5vw;bottom:30px;font:9px var(--mono);letter-spacing:.16em;color:#69727a}.hero-scroll span{color:var(--blue);margin-left:14px}
.manifesto,.selection,.archive-preview,.join{padding:130px 7vw;border-top:1px solid rgba(255,255,255,.08)}
.manifesto{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:5vw}.manifesto-kicker{font:10px var(--mono);color:var(--blue);letter-spacing:.16em}.manifesto-title{font:500 clamp(42px,5vw,75px)/.98 var(--serif);letter-spacing:-.055em;transform:translateX(-1.2vw)}.manifesto-title>span{display:block}.manifesto-title .manifesto-muted{color:#747c83}.manifesto-title .keep-together{display:inline-block;white-space:nowrap}.manifesto-title em{font-style:normal;color:#747c83}.manifesto-copy{color:#7d868e;line-height:1.8;max-width:310px;font-size:13px}.manifesto-methodology{display:flex;align-items:center;gap:18px;margin-top:28px;padding:13px 17px;border:1px solid rgba(11,76,255,.72);color:#fff;text-decoration:none;font:500 9px var(--mono);letter-spacing:.14em;white-space:nowrap;width:max-content;transition:background .2s ease,border-color .2s ease,transform .2s ease}.manifesto-methodology span{font:500 14px var(--mono);color:var(--blue)}.manifesto-methodology:hover{background:rgba(11,76,255,.10);border-color:var(--blue);transform:translateY(-2px)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-head h2{font:500 clamp(42px,5vw,70px)/.95 var(--serif);letter-spacing:-.055em;margin:0}.locked{font:9px var(--mono);letter-spacing:.14em;border:1px solid var(--line);padding:9px 12px;color:#7b848b}
.selection-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  border:0;
  padding:2px;
}
.mini-card{
  position:relative;
  min-height:150px;
  padding:22px;
  border:1px solid rgba(22,112,255,.20);
  border-radius:4px;
  background:linear-gradient(145deg,rgba(10,13,21,.98),rgba(3,5,10,.99));
  text-decoration:none;
  color:var(--text);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  transform:translateY(0) translateZ(0);
  box-shadow:
    0 7px 16px rgba(0,0,0,.30),
    0 1px 0 rgba(255,255,255,.035) inset;
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    box-shadow .34s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    background .28s ease;
  will-change:transform,box-shadow;
}
.mini-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 36%,transparent 70%,rgba(22,112,255,.035));
}
.mini-card::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(22,112,255,.42),transparent);
  opacity:.45;
  pointer-events:none;
}
.mini-card:hover{
  transform:translateY(-12px) scale(1.018);
  border-color:rgba(22,112,255,.68);
  background:linear-gradient(145deg,rgba(12,18,34,.99),rgba(3,6,13,1));
  box-shadow:
    0 25px 42px rgba(0,0,0,.66),
    0 12px 24px rgba(8,35,120,.24),
    0 0 0 1px rgba(22,112,255,.08),
    0 0 30px rgba(22,112,255,.08);
  z-index:4;
}
.mini-card span{font:9px var(--mono);color:var(--blue)}
.mini-card b{font:500 23px var(--serif);letter-spacing:-.03em}
.mini-card i{font:8px var(--mono);font-style:normal;color:#69737b;letter-spacing:.12em}
.locked-company{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.locked-company b{filter:blur(7px);opacity:.28;user-select:none}
.lock-icon{width:13px;height:11px;border:1px solid var(--blue);border-radius:2px;position:relative;flex:0 0 auto;opacity:.8}
.lock-icon::before{content:"";position:absolute;width:7px;height:7px;border:1px solid var(--blue);border-bottom:0;border-radius:7px 7px 0 0;left:2px;top:-7px}

.archive-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.archive-row a{padding:28px 15px;border-right:1px solid var(--line);color:var(--text);text-decoration:none;display:flex;flex-direction:column;gap:22px;transition:.25s}.archive-row a:hover{background:rgba(11,76,255,.055)}.archive-row span{font:11px var(--mono)}.archive-row b{font:8px var(--mono);color:#69737b;letter-spacing:.12em}
.join{min-height:60vh;display:flex;flex-direction:column;justify-content:center}.join h2{font:500 clamp(60px,8vw,120px)/.84 var(--serif);letter-spacing:-.06em;margin:0 0 25px}.join p{color:#7e878f;margin-bottom:28px}
footer{padding:32px 5vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;color:#657078;font:8px var(--mono);letter-spacing:.12em}.inner-page{min-height:100vh}.inner-main{min-height:calc(100vh - 170px);padding:130px 10vw 100px}.inner-main h1{font-size:clamp(60px,8vw,120px);max-width:900px}.lede{max-width:600px;color:#858e96;font-size:17px;line-height:1.8}.archive-list{margin-top:75px;border-top:1px solid var(--line)}.archive-list a{display:grid;grid-template-columns:1fr 1fr 120px;padding:24px 8px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.archive-list a:hover{background:rgba(11,76,255,.05)}.archive-list span{font:12px var(--mono)}.archive-list b,.archive-list i{font:9px var(--mono);font-style:normal;color:#707981;letter-spacing:.1em}.archive-list b{color:var(--blue)}
.method-grid{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.method-grid article{min-height:300px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.method-grid span{font:10px var(--mono);color:var(--blue)}.method-grid h2{font:14px var(--mono);letter-spacing:.14em;margin:70px 0 20px}.method-grid p,.body-copy{font-size:13px;line-height:1.9;color:#7f8991}.about-rule{height:1px;background:var(--line);margin:80px 0 35px;max-width:760px}.body-copy{max-width:700px;font-size:17px}
@media(max-width:1100px){.site-header{grid-template-columns:150px 1fr auto auto}.brand-note{display:none}.hero-copy{width:42%}.orbit-wrap{left:58%;right:auto;width:72vw}.selection-grid{grid-template-columns:repeat(3,1fr);gap:12px}.method-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
.manifesto-title{transform:none}.manifesto-methodology{margin-top:24px}.site-header{height:70px;padding:0 20px;grid-template-columns:1fr auto}.site-header nav{display:none}.brand{font-size:20px}.hero{min-height:900px;padding:80px 22px 40px;display:block}.hero-copy{width:100%;position:relative;margin:0;max-width:430px}.hero h1{font-size:82px}.hero-text{font-size:13px}.orbit-wrap{left:50%;top:59%;right:auto;width:120vw;height:470px;transform:translate(-50%,-50%)}.company-card{width:138px;height:88px;margin:-44px 0 0 -69px;padding:13px}.card-name{font-size:16px}.orbit-core{width:130px;height:130px}.orbit-core span{font-size:20px}.orbit-core small{font-size:6px}.hero-scroll{display:none}.manifesto{grid-template-columns:1fr;gap:30px;padding:90px 22px}.selection,.archive-preview,.join{padding:90px 22px}.section-head{align-items:start;gap:20px;flex-direction:column}.selection-grid{grid-template-columns:repeat(2,1fr);gap:10px}.mini-card{min-height:112px}.mini-card b{font-size:18px}.archive-row{grid-template-columns:1fr 1fr}.archive-row a{border-bottom:1px solid var(--line)}footer{grid-template-columns:1fr;padding:28px 22px}.inner-main{padding:90px 22px}.archive-list a{grid-template-columns:1fr auto;gap:10px}.archive-list b{grid-column:2;grid-row:1}.archive-list i{grid-column:1}.method-grid{grid-template-columns:1fr}.method-grid article{min-height:230px}.method-grid h2{margin-top:45px}}
@media(max-width:760px){
  /* V117 — mobile hero: compact the 20-card sphere and keep it below the CTA. */
  .hero{
    min-height:790px;
    padding:64px 22px 28px;
  }
  .hero-copy{
    z-index:10;
    max-width:430px;
  }
  .hero h1{
    font-size:clamp(48px,13vw,64px);
    line-height:.9;
    margin-bottom:22px;
  }
  .hero-sub{font-size:17px}
  .hero-text{
    max-width:390px;
    font-size:13px;
    line-height:1.65;
    margin-bottom:24px;
  }
  .orbit-wrap{
    left:50%;
    top:70%;
    width:94vw;
    height:300px;
    transform:translate(-50%,-50%);
  }
  .company-card{
    width:116px;
    height:74px;
    margin:-37px 0 0 -58px;
    padding:11px;
    border-radius:6px;
  }
  .card-num{font-size:8px}
  .card-name{font-size:14px}
  .card-mark{width:14px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V3 — signature orbital interface */
.orbit-wrap{isolation:isolate;left:56%;top:37%;transform:translate(-50%,-50%)}
.orbit-halo{position:absolute;left:50%;top:50%;width:58%;height:58%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(11,76,255,.10),transparent 66%);filter:blur(12px);z-index:0}
.signal-path{position:absolute;left:50%;top:50%;width:88%;height:16%;border-top:1px solid rgba(241,110,34,.20);border-radius:50%;transform:translate(-50%,-50%) rotate(-10deg) skewX(-16deg);z-index:1;opacity:.75}
.signal-path:before{content:"";position:absolute;left:-3%;top:-3px;width:22%;height:5px;background:linear-gradient(90deg,transparent,rgba(47,120,255,.95),transparent);filter:blur(2px);animation:signalRun 6s linear infinite}
.signal-path-b{width:68%;height:23%;transform:translate(-50%,-50%) rotate(14deg) skewX(8deg);opacity:.35}
.signal-path-b:before{animation-duration:8s;animation-delay:-2s}
@keyframes signalRun{from{left:-8%}to{left:92%}}
.signal-node{position:absolute;width:4px;height:4px;border-radius:50%;background:#0B4CFF;box-shadow:0 0 18px rgba(11,76,255,.88);z-index:4;animation:nodePulse 3s ease-in-out infinite}
.node-a{left:72%;top:29%}.node-b{left:28%;top:68%;animation-delay:-1.4s}
@keyframes nodePulse{0%,100%{transform:scale(.7);opacity:.35}50%{transform:scale(1.5);opacity:1}}
.orbit-status{position:absolute;right:7%;bottom:9%;display:flex;gap:13px;align-items:center;z-index:8;font:8px var(--mono);letter-spacing:.12em;color:#59636b}
.orbit-status b{color:#d3d0ca;font-weight:400}
.orbit-core{z-index:5;background:#080d12;border-color:rgba(11,76,255,.48);box-shadow:0 0 0 1px rgba(11,76,255,.06),0 18px 55px rgba(0,0,0,.65),0 0 48px rgba(11,76,255,.12);backdrop-filter:none}
.orbit-core i{width:4px;height:4px;background:var(--blue);border-radius:50%;margin-top:14px;box-shadow:0 0 18px rgba(47,120,255,.9);animation:corePulse 2.8s ease-in-out infinite}
@keyframes corePulse{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}
.company-card{border-radius:6px;border-color:rgba(255,255,255,.13);overflow:hidden}
.company-card:after{content:"";position:absolute;left:0;top:0;width:34%;height:1px;background:linear-gradient(90deg,var(--blue),transparent);opacity:.7}
.company-card:hover:after,.company-card.is-active:after{width:70%;transition:width .5s ease}
.card-num{font-size:9px}.card-mark{width:16px}
@media(max-width:760px){.orbit-status{display:none}.orbit-wrap:after{background:radial-gradient(ellipse at 50% 50%,transparent 0 32%,rgba(3,6,8,.85) 86%)}}

/* V10 — true spherical card field */
.orbit-wrap {
  overflow: visible;
}
.orbit-wrap > .orbit-glow {
  pointer-events: none;
}
.company-card {
  transition: border-color .28s ease, box-shadow .28s ease, background .28s ease, filter .28s ease;
}
.company-card.is-active {
  border-color: rgba(255,106,26,.78);
  box-shadow: 0 34px 90px rgba(0,0,0,.56), 0 0 28px rgba(11,76,255,.18), inset 0 1px 0 rgba(255,255,255,.035);
}
.orbit-core {
  transform: translate(-50%,-50%) translateZ(30px);
  background: #080d12;
  border-color: rgba(11,76,255,.48);
  box-shadow: 0 0 0 1px rgba(11,76,255,.06), 0 18px 55px rgba(0,0,0,.65), 0 0 48px rgba(11,76,255,.12);
  backdrop-filter: none;
}
.orbit-core span {
  transform: perspective(500px) rotateX(10deg);
  text-shadow: 1px 1px 0 rgba(11,76,255,.35), 2px 2px 10px rgba(11,76,255,.18);
}
@media (max-width: 900px) {
  .orbit-wrap { left: 55%; top: 43%; width: 92vw; height: 64vh; }
}
@media (max-width: 640px) {
  .orbit-wrap { left: 50%; top: 45%; width: 108vw; height: 58vh; }
}


/* V12 — prevent the 3D core title from clipping */
.orbit-core {
  width: 220px;
  height: 220px;
  overflow: visible;
  isolation: isolate;
  padding: 18px;
}
.orbit-core span {
  display: block;
  width: max-content;
  max-width: none;
  white-space: nowrap;
  font-size: 30px;
  line-height: 1;
  transform: perspective(700px) rotateX(8deg) translateZ(28px);
  transform-origin: center center;
}
.orbit-core small {
  display: block;
  width: max-content;
  max-width: none;
  white-space: nowrap;
  font-size: 7px;
  line-height: 1;
  margin-top: 14px;
}
@media (max-width: 760px) {
  .orbit-core { width: 148px; height: 148px; padding: 12px; }
  .orbit-core span { font-size: 21px; }
  .orbit-core small { font-size: 5.5px; margin-top: 9px; letter-spacing: .14em; }
}

/* V13 — flat central wordmark: remove 3D treatment from THE 20 text */
.orbit-core span {
  transform: none;
  transform-style: flat;
  text-shadow: 0 0 18px rgba(255,106,26,.16);
}
.orbit-core span b {
  transform: none;
  text-shadow: 0 0 18px rgba(11,76,255,.18);
}
.orbit-core small {
  transform: none;
  text-shadow: none;
}
.orbit-core i {
  transform: none;
}


/* V14 — based on V13 Flat Core Title: clean sphere, no center disk, no overlay */
.orbit-wrap::before, .orbit-wrap::after { display:none !important; content:none !important; }
.orbit-core { display:none !important; }
:root { --blue:#0B4CFF; --blue2:#2F78FF; }


/* V15 — move the spherical animation further right and remove model status */
.orbit-wrap { left: 64.5%; }
.orbit-status { display: none !important; }
@media (max-width: 1100px) {
  .orbit-wrap { left: 63.5%; }
}
@media (max-width: 900px) {
  .orbit-wrap { left: 59.5%; }
}
@media (max-width: 640px) {
  .orbit-wrap { left: 50%; }
}

/* V17 — lower the spherical animation only; horizontal position stays unchanged */
.orbit-wrap { top: 44%; }
@media (max-width: 1100px) { .orbit-wrap { top: 44%; } }
@media (max-width: 900px) { .orbit-wrap { top: 50%; } }
@media (max-width: 640px) { .orbit-wrap { top: 58%; } }

/* V20 — electric blue across the entire animated card field */
.orbit-glow{background:radial-gradient(ellipse,rgba(11,76,255,.34),transparent 65%)}
.orbit-halo{background:radial-gradient(circle,rgba(11,76,255,.10),transparent 66%)}
.signal-path{border-top-color:rgba(11,76,255,.20)}
.signal-path:before{background:linear-gradient(90deg,transparent,rgba(47,120,255,.95),transparent)}
.signal-node{background:#0B4CFF;box-shadow:0 0 18px rgba(11,76,255,.88)}
.company-card.is-active{border-color:rgba(11,76,255,.78);box-shadow:0 34px 90px rgba(0,0,0,.56),0 0 28px rgba(11,76,255,.18),inset 0 1px 0 rgba(255,255,255,.035)}


/* V28 — locked current selection + monthly release countdown */
.selection-head{align-items:flex-end;gap:40px}
.next-selection{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.next-selection-label{font:9px var(--mono);letter-spacing:.16em;color:#69737b}
.next-selection strong{font:500 11px var(--mono);letter-spacing:.12em;color:var(--blue);font-weight:500}
.selection-countdown{display:flex;gap:18px;padding-left:18px;border-left:1px solid var(--line)}
.selection-countdown span{display:flex;flex-direction:column;gap:5px;min-width:52px}
.selection-countdown b{font:500 19px var(--mono);letter-spacing:-.04em;color:#e9edf4}
.selection-countdown i{font:7px var(--mono);font-style:normal;letter-spacing:.14em;color:#5f6871}
.locked-card{position:relative;overflow:hidden;cursor:default;background:linear-gradient(145deg,rgba(5,8,15,.98),rgba(3,5,10,.99))}
.locked-card:hover{background:linear-gradient(145deg,rgba(6,10,20,.99),rgba(3,5,10,.99));border-color:rgba(11,76,255,.34)}
.locked-card .mini-num{font:9px var(--mono);color:var(--blue)}
.locked-company{display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:0}
.locked-company b{font:500 23px var(--serif);letter-spacing:-.035em;color:#dce1e8;filter:blur(7px);opacity:.28;user-select:none;white-space:nowrap;max-width:80%;transform:scale(.98)}
.lock-icon{width:13px;height:11px;border:1px solid var(--blue);border-radius:2px;position:relative;opacity:.72;flex:0 0 auto;box-shadow:0 0 12px rgba(11,76,255,.18)}
.lock-icon:before{content:"";position:absolute;left:2px;top:-7px;width:7px;height:8px;border:1px solid var(--blue);border-bottom:0;border-radius:7px 7px 0 0}
.lock-icon:after{content:"";position:absolute;left:5px;top:4px;width:2px;height:3px;background:var(--blue);border-radius:2px}
.locked-card i{font:7px var(--mono);font-style:normal;color:#59636b;letter-spacing:.14em}
@media(max-width:900px){.selection-head{align-items:flex-start}.next-selection{justify-content:flex-start;align-items:center}.selection-countdown{padding-left:0;border-left:0;width:100%;margin-top:5px}}
@media(max-width:760px){.next-selection{gap:12px}.selection-countdown{gap:10px}.selection-countdown span{min-width:45px}.selection-countdown b{font-size:15px}.locked-company b{font-size:18px}.locked-company{gap:8px}}


/* V31 — Current Selection cards match the animated sphere cards */
.selection-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  border:0;
  padding:2px;
}
.mini-card{
  position:relative;
  min-height:158px;
  padding:20px 22px 18px;
  border:1px solid rgba(22,112,255,.30);
  border-radius:7px;
  background:
    linear-gradient(145deg,rgba(10,14,24,.97),rgba(3,6,12,.985));
  color:var(--text);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  transform:translateY(0) translateZ(0);
  box-shadow:
    0 8px 22px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.045),
    inset 0 0 24px rgba(22,112,255,.025);
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    box-shadow .34s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease;
  will-change:transform,box-shadow;
}
.mini-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),transparent 34%),
    linear-gradient(180deg,transparent 70%,rgba(22,112,255,.025));
}
.mini-card::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:14px;
  height:1px;
  background:rgba(22,112,255,.42);
  opacity:.7;
  pointer-events:none;
}
.mini-card:hover{
  transform:translateY(-11px) scale(1.015);
  border-color:rgba(22,112,255,.78);
  box-shadow:
    0 27px 44px rgba(0,0,0,.70),
    0 13px 25px rgba(8,35,120,.28),
    0 0 0 1px rgba(22,112,255,.10),
    0 0 34px rgba(22,112,255,.10);
  z-index:4;
}
.mini-card span{
  position:relative;
  z-index:1;
  font:9px var(--mono);
  color:#1768FF;
  letter-spacing:.12em;
}
.mini-card b{
  position:relative;
  z-index:1;
  font:500 24px var(--serif);
  letter-spacing:-.03em;
  line-height:1.05;
}
.mini-card i{
  position:relative;
  z-index:1;
  font:8px var(--mono);
  font-style:normal;
  color:#69737b;
  letter-spacing:.12em;
}
.locked-company{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.locked-company b{
  filter:blur(7px);
  opacity:.30;
  user-select:none;
}
.lock-icon{
  width:13px;
  height:11px;
  border:1px solid #1768FF;
  border-radius:2px;
  position:relative;
  flex:0 0 auto;
  opacity:.9;
}
.lock-icon::before{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border:1px solid #1768FF;
  border-bottom:0;
  border-radius:7px 7px 0 0;
  left:2px;
  top:-7px;
}


/* V32b — active navigation uses THE 20 electric blue */
.site-header nav a.nav-active,
header nav a.nav-active,
nav a.nav-active{
  color:#1768FF !important;
}



/* V35 — tagline beside logo, no overlap */
.site-header .brand-note{
  position:relative;
  left:0;
  transform:none;
  white-space:nowrap;
}


/* V38 — footer tagline truly centered in the viewport */
.site-footer{
  position:relative;
}
.site-footer .footer-note, .site-footer .footer-tagline, .site-footer .footer-copy{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  text-align:center;
  white-space:nowrap;
}


/* V39 — footer tagline centered to the full viewport */
footer{
  position:relative;
  min-height:80px;
}
footer > div:nth-child(2){
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:max-content;
  margin:0;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
}
@media(max-width:760px){
  footer{
    min-height:120px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:14px;
  }
  footer > div:nth-child(2){
    position:static;
    transform:none;
    order:2;
    width:auto;
    text-align:center;
  }
  footer > div:first-child{order:1}
  footer > div:last-child{order:3}
}


/* V40 — center only the footer tagline; keep copyright in original grid position */
footer{
  position:relative;
  min-height:0;
  display:grid;
  grid-template-columns:1fr 1fr auto;
  align-items:center;
  gap:20px;
}
footer > div:nth-child(2){
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:max-content;
  margin:0;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
}
footer > div:first-child,
footer > div:last-child{
  position:relative;
}
@media(max-width:760px){
  footer{
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }
  footer > div:nth-child(2){
    position:static;
    transform:none;
    width:auto;
    text-align:center;
    pointer-events:none;
  }
}


/* V41 — copyright explicitly pinned to the far right */
footer > div:last-child{
  grid-column:3;
  justify-self:end;
  text-align:right;
  position:relative;
  left:auto;
  right:0;
  transform:none;
}
@media(max-width:760px){
  footer > div:last-child{
    grid-column:auto;
    justify-self:center;
    text-align:center;
    right:auto;
  }
}

/* V42 — Previous Selections redesign: editorial performance cards, no chart */
.previous-selections{
  padding-top:120px;
  padding-bottom:120px;
}
.previous-intro{
  display:grid;
  grid-template-columns:1fr 2.2fr auto;
  gap:40px;
  align-items:end;
  margin-bottom:48px;
}
.previous-intro h2{
  margin:0;
  font:500 clamp(42px,5vw,72px)/.94 var(--serif);
  letter-spacing:-.055em;
}
.previous-intro h2 em{
  font-style:normal;
  color:#747c83;
}
.previous-intro p{
  max-width:540px;
  margin:18px 0 0;
  color:#7d868e;
  font-size:13px;
  line-height:1.75;
}
.previous-all{
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:var(--blue);
  font:9px var(--mono);
  letter-spacing:.14em;
  text-decoration:none;
  padding-bottom:5px;
  border-bottom:1px solid rgba(22,112,255,.38);
}
.previous-all span{
  font-size:15px;
  transition:transform .25s ease;
}
.previous-all:hover span{transform:translate(4px,-2px)}

.previous-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.performance-card{
  min-height:390px;
  padding:30px 32px 26px;
  border:1px solid rgba(22,112,255,.24);
  border-radius:6px;
  background:
    radial-gradient(circle at 100% 0%,rgba(22,112,255,.16),transparent 46%),
    radial-gradient(circle at 0% 100%,rgba(22,112,255,.055),transparent 42%),
    linear-gradient(145deg,rgba(11,16,28,.98),rgba(4,7,14,.99));
  color:var(--text);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
  box-shadow:
    0 12px 30px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .3s ease,box-shadow .35s ease;
}
.performance-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(22,112,255,.018) 42%,transparent 68%);
  pointer-events:none;
}
.performance-card:hover{
  transform:translateY(-8px);
  border-color:rgba(22,112,255,.65);
  box-shadow:
    0 28px 48px rgba(0,0,0,.58),
    0 0 34px rgba(22,112,255,.08);
}
.performance-top,
.performance-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  position:relative;
  z-index:1;
}
.performance-month{
  font:12px var(--mono);
  letter-spacing:.12em;
}
.performance-month b{
  color:#747c83;
  font-weight:400;
}
.performance-status{
  color:#69737b;
  font:8px var(--mono);
  letter-spacing:.16em;
  border:1px solid rgba(255,255,255,.08);
  padding:8px 10px;
}
.performance-main{
  position:relative;
  z-index:1;
  padding:45px 0 40px;
}
.performance-label{
  color:#69737b;
  font:9px var(--mono);
  letter-spacing:.16em;
  margin-bottom:12px;
}
.performance-value{
  font:500 clamp(54px,6vw,82px)/.9 var(--serif);
  letter-spacing:-.055em;
  color:#f2f3f5;
}
.performance-benchmark{
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
}
.performance-benchmark span{
  color:#69737b;
  font:9px var(--mono);
  letter-spacing:.15em;
}
.performance-benchmark strong{
  color:#aeb6bf;
  font:500 28px var(--serif);
  letter-spacing:-.03em;
}
.performance-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:18px;
  color:#69737b;
  font:8px var(--mono);
  letter-spacing:.13em;
}
.performance-arrow{
  color:var(--blue);
  transition:transform .25s ease;
}
.performance-card:hover .performance-arrow{transform:translateX(5px)}

@media(max-width:900px){
  .previous-intro{grid-template-columns:1fr;gap:24px}
  .previous-cards{grid-template-columns:1fr}
  .performance-card{min-height:340px}
}
@media(max-width:760px){
  .previous-selections{padding-top:90px;padding-bottom:90px}
  .performance-card{padding:24px;min-height:320px}
  .performance-main{padding:34px 0}
  .performance-value{font-size:58px}
}

/* V43 — Previous Selections hierarchy and illustrative performance values */
.previous-intro{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "eyebrow eyebrow"
    "copy action";
  gap:18px 40px;
  align-items:end;
  margin-bottom:48px;
}
.previous-intro > .eyebrow{
  grid-area:eyebrow;
}
.previous-intro > div:not(.eyebrow){
  grid-area:copy;
}
.previous-intro > .previous-all{
  grid-area:action;
}
.previous-intro h2{
  margin:0;
  font:500 clamp(42px,5vw,72px)/.94 var(--serif);
  letter-spacing:-.055em;
}
.previous-intro h2 em{
  font-style:normal;
  color:#747c83;
}
.previous-intro p{
  max-width:620px;
  margin:18px 0 0;
  color:#7d868e;
  font-size:13px;
  line-height:1.75;
}
.previous-intro::after{
  content:"ILLUSTRATIVE RESULTS — REPLACE WITH VERIFIED MONTHLY PERFORMANCE";
  grid-column:1 / -1;
  color:#4f5962;
  font:7px var(--mono);
  letter-spacing:.13em;
  margin-top:4px;
}
.performance-value{
  color:#f2f3f5;
}
@media(max-width:900px){
  .previous-intro{
    grid-template-columns:1fr;
    grid-template-areas:
      "eyebrow"
      "copy"
      "action";
  }
}

/* V44 — concise Previous Selections intro */
.previous-intro{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "eyebrow action"
    "copy action";
  gap:10px 40px;
  align-items:end;
}
.previous-intro > .eyebrow{grid-area:eyebrow}
.previous-intro > .previous-intro-copy{grid-area:copy}
.previous-intro > .previous-all{grid-area:action}
.previous-description{
  margin:0;
  color:#7d868e;
  font:400 15px/1.5 var(--sans);
  letter-spacing:0;
}
.previous-intro::after{display:none}
@media(max-width:900px){
  .previous-intro{
    grid-template-columns:1fr;
    grid-template-areas:
      "eyebrow"
      "copy"
      "action";
  }
}

/* V45 — Current Selection editorial serif matching reference */
.selection .section-head h2,
.selection .section-head h1{
  font-family:"Cormorant Garamond", "Times New Roman", serif;
  font-weight:500;
  letter-spacing:-.055em;
}

/* V46 — Previous Selections description uses the same editorial serif */
.previous-description{
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-weight:500;
  font-size:clamp(30px,3.2vw,48px);
  line-height:1.05;
  letter-spacing:-.045em;
  color:#f1f0ec;
}

/* V47 — Previous Selections copy styled like the Current Selection heading */
.previous-intro .previous-description{
  margin:0;
  max-width:1100px;
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(54px,6vw,88px);
  line-height:.94;
  font-weight:500;
  letter-spacing:-.055em;
  color:#f1f0ec;
}

/* V48 — Previous Selections heading matches Current Selection size */
.previous-intro .previous-description{
  font-size:clamp(42px,5vw,70px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:500;
  max-width:1100px;
}

/* V49 — Previous Selections headline in THE 20 blue */
.previous-intro .previous-description{
  color:var(--blue);
}

/* V50 — only "Historical record" in blue */
.previous-intro .previous-description{
  color:#f1f0ec;
}
.previous-intro .historical-blue{
  color:var(--blue);
}

/* V51 — vivid performance colors */
.performance-value.performance-positive,
.performance-benchmark strong.performance-positive{
  color:#19F06B !important;
  text-shadow:0 0 18px rgba(25,240,107,.12);
}
.performance-value.performance-negative,
.performance-benchmark strong.performance-negative{
  color:#FF304F !important;
  text-shadow:0 0 18px rgba(255,48,79,.12);
}

/* V52 — MSCI World result stays neutral grey */
.performance-benchmark strong{
  color:#7D858D !important;
  text-shadow:none !important;
}

/* V53 — force MSCI World value to neutral grey */
html body .performance-benchmark strong.performance-positive,
html body .performance-benchmark strong.performance-negative{
  color:#7D858D !important;
  text-shadow:none !important;
}

/* V54 — Previous Selections methodology note */
.performance-methodology-note{
  margin:22px 0 0;
  color:#69737b;
  font:8px var(--mono);
  letter-spacing:.08em;
  line-height:1.6;
}


/* V164 — Privacy Policy and Terms pages */
.legal-meta{margin-top:22px;font:8px var(--mono);letter-spacing:.16em;color:#626c74}
.legal-copy a{color:#aab5bf;text-decoration:none;border-bottom:1px solid rgba(11,76,255,.35);transition:color .2s ease,border-color .2s ease}
.legal-copy a:hover{color:var(--blue);border-color:var(--blue)}
.legal-alert{margin-top:34px;margin-bottom:0;padding:24px;border:1px solid rgba(11,76,255,.28);background:rgba(11,76,255,.045)}
.legal-alert b{display:block;margin-bottom:10px;font:9px var(--mono);letter-spacing:.16em;color:var(--blue)}
.legal-alert p{margin:0;max-width:760px;color:#7d8790;font-size:12px;line-height:1.7}
/* V55 — Investment Disclaimer / legal notice */
.footer-center{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.footer-center a{color:#69737b;text-decoration:none;font:8px var(--mono);letter-spacing:.12em;transition:.2s}.footer-center a:hover{color:var(--blue)}
.legal-main{padding-bottom:130px}.legal-copy{max-width:860px;margin-top:75px;border-top:1px solid var(--line)}.legal-copy section{padding:34px 0;border-bottom:1px solid var(--line)}.legal-copy h2{margin:0 0 15px;font:10px var(--mono);letter-spacing:.16em;color:var(--blue)}.legal-copy p{max-width:760px;margin:0 0 13px;color:#8a939b;font-size:15px;line-height:1.8}.legal-copy p:last-child{margin-bottom:0}.legal-note{margin-top:34px;padding:24px;border:1px solid rgba(11,76,255,.25);background:rgba(11,76,255,.035)}.legal-note b{display:block;margin-bottom:12px;font:9px var(--mono);letter-spacing:.16em;color:#aeb7bf}.legal-note p{font-size:12px;line-height:1.7;color:#737d85}
@media(max-width:760px){.footer-center{align-items:flex-start;text-align:left}.legal-copy{margin-top:55px}.legal-copy section{padding:28px 0}.legal-copy p{font-size:14px}.legal-note{padding:20px}}

/* V55 FIX — keep the centered footer legal link clickable */
footer > div:nth-child(2){
  pointer-events:auto !important;
  z-index:10;
}
footer > div:nth-child(2) a{
  pointer-events:auto !important;
  position:relative;
  z-index:11;
}

/* V57 — tighten methodology notes and improve readability */
.performance-methodology-note{
  color:#FFFFFF;
  font-size:9px;
}
.performance-methodology-note:first-of-type{
  margin-top:22px;
  margin-bottom:0;
}
.performance-methodology-note + .performance-methodology-note{
  margin-top:6px;
}


/* V58 — footer investment notice */
.footer-center{gap:7px}
.footer-center .footer-tagline{line-height:1.4}
.footer-center .footer-disclaimer{
  color:var(--blue);
  font:8px var(--mono);
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.4;
}
.footer-center a{margin-top:2px}
@media(max-width:760px){
  .footer-center{gap:7px}
}


/* V59 — archive performance values: larger and aligned with THE 20 performance palette */
.archive-list i.archive-performance{
  font-size:13px;
  font-weight:500;
  letter-spacing:.04em;
  font-style:normal;
}
.archive-list i.archive-performance-positive{
  color:#19F06B !important;
  text-shadow:0 0 14px rgba(25,240,107,.10);
}
.archive-list i.archive-performance-negative{
  color:#FF304F !important;
  text-shadow:0 0 14px rgba(255,48,79,.10);
}
@media(max-width:760px){
  .archive-list i.archive-performance{font-size:12px}
}


/* V61 — historical monthly selection detail pages */
.back-link{display:inline-block;margin-bottom:42px;color:#69737b;text-decoration:none;font:9px var(--mono);letter-spacing:.14em;transition:color .2s ease,transform .2s ease}
.back-link:hover{color:var(--blue);transform:translateX(-3px)}
.selection-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;padding-bottom:52px;border-bottom:1px solid var(--line)}
.selection-detail-head h1{margin-bottom:16px}
.historical-total{min-width:260px;text-align:right;padding-bottom:6px}
.historical-total span{display:block;font:9px var(--mono);letter-spacing:.16em;color:#69737b;margin-bottom:9px}
.historical-total strong{display:block;font:500 clamp(46px,6vw,78px) var(--mono);letter-spacing:-.07em;line-height:.95;color:#19F06B}
.historical-total strong.performance-negative{color:#FF304F}
.historical-total small{display:block;margin-top:13px;font:8px var(--mono);letter-spacing:.10em;color:#69737b}
.historical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:44px}
.historical-card b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.historical-card .company-return{font:500 17px var(--mono);letter-spacing:-.03em;font-style:normal}
.historical-card .performance-positive{color:#19F06B !important;text-shadow:0 0 14px rgba(25,240,107,.10)}
.historical-card .performance-negative{color:#FF304F !important;text-shadow:0 0 14px rgba(255,48,79,.10)}
.selection-data-note{margin:34px 0 0;max-width:780px;color:#59636b;font:8px var(--mono);line-height:1.7;letter-spacing:.05em}
@media(max-width:900px){.selection-detail-head{grid-template-columns:1fr;gap:28px}.historical-total{text-align:left}.historical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.selection-detail-main{padding-top:90px}.back-link{margin-bottom:32px}.historical-grid{gap:10px}.historical-card{min-height:130px;padding:17px}.historical-card b{font-size:18px}.historical-card .company-return{font-size:14px}.historical-total strong{font-size:52px}}


/* V63 — Join THE 20 calls to action */
.archive-intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}
.archive-intro-row .lede{margin:0}
.archive-join{display:inline-flex;align-items:center;gap:16px;padding:13px 18px;border:1px solid rgba(11,76,255,.65);color:#fff;text-decoration:none;font:500 9px var(--mono);letter-spacing:.14em;white-space:nowrap;width:max-content;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.archive-join span,.archive-join b{font:500 14px var(--mono);color:var(--blue)}
.archive-join:hover{background:rgba(11,76,255,.10);border-color:var(--blue);transform:translateY(-2px)}
.selection-join{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);max-width:780px}
.selection-join>span{color:#8a939b;font:10px var(--mono);letter-spacing:.08em}
@media(max-width:760px){.archive-intro-row{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:36px}.selection-join{align-items:flex-start;flex-direction:column;gap:18px}.archive-join{padding:12px 15px}}

/* V66 — Historical Selection header spacing aligned with Archive */
.selection-detail-main .back-link{margin-bottom:42px}
.selection-detail-main .selection-detail-head{gap:40px}
.selection-detail-main .selection-detail-head h1{font-size:clamp(60px,8vw,120px);line-height:.95;margin:0 0 25px;max-width:1100px}
.selection-detail-main .selection-detail-head .lede{margin:0}
.selection-detail-main .selection-detail-head .eyebrow{margin-bottom:22px}

@media(max-width:760px){
  .selection-detail-main .back-link{margin-bottom:32px}
  .selection-detail-main .selection-detail-head h1{font-size:clamp(52px,14vw,82px)}
}

/* V68 — Methodology editorial redesign */
.methodology-v2{padding-top:100px;padding-bottom:140px}
.method-hero{max-width:1040px;padding:70px 0 76px;border-bottom:1px solid var(--line)}
.method-hero h1{font:500 clamp(62px,8.2vw,126px)/.91 var(--serif);letter-spacing:-.065em;margin:28px 0 38px;max-width:1120px}
.method-hero h1 em,.method-section h2 em,.split-section h2 em,.why-layout h2 em,.update-panel h2 em{font-style:normal;color:var(--blue)}
.method-hero .lede{max-width:920px;font-size:21px;line-height:1.6;color:#8d969e;margin:0 0 14px}
.method-hero .lede-secondary{font-size:16px;line-height:1.8;max-width:850px}
.method-hero strong,.method-card strong,.flow-copy strong,.split-copy strong,.why-copy strong{color:#dfe3e6;font-weight:500}
.method-section{padding:92px 0 0}
.method-section-head{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:end;margin-bottom:34px}
.method-section-head>span{font:10px var(--mono);letter-spacing:.17em;color:var(--blue);padding-bottom:8px}
.method-section h2{font:500 clamp(42px,5vw,72px)/.95 var(--serif);letter-spacing:-.055em;margin:0}
.section-intro{font-size:17px;color:#858e96;line-height:1.7;margin:0 0 30px}
.method-grid-v2{margin-top:0;display:grid;grid-template-columns:repeat(2,1fr);border:0;gap:14px}
.method-card{min-height:390px;padding:34px 36px 30px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(8,12,22,.7),rgba(3,5,10,.55));display:flex;flex-direction:column;position:relative;overflow:hidden}
.method-card:after{content:"";position:absolute;inset:auto -20% -45% 35%;height:230px;background:radial-gradient(circle,rgba(11,76,255,.13),transparent 68%);pointer-events:none}
.method-index{font:11px var(--mono);letter-spacing:.14em;color:var(--blue);margin-bottom:70px}
.method-card h3{font:500 clamp(25px,2.2vw,36px)/1.05 var(--serif);letter-spacing:-.035em;margin:0 0 22px;color:#f1f0ec}
.method-card p{font-size:14px;line-height:1.8;color:#858e96;max-width:650px;margin:0 0 13px}
.method-objective{margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:24px;align-items:flex-start;position:relative;z-index:1}
.method-objective span{font:9px var(--mono);letter-spacing:.16em;color:#66717a;white-space:nowrap}
.method-objective b{font:500 11px var(--mono);letter-spacing:.04em;line-height:1.55;color:#b7c0c7;text-align:right;max-width:310px}
.narrowing-section{border-top:1px solid var(--line);margin-top:100px;padding-top:88px}
.selection-flow{margin-top:42px;border-top:1px solid var(--line)}
.selection-flow>div{min-height:76px;display:grid;grid-template-columns:72px 1fr;align-items:center;border-bottom:1px solid var(--line)}
.selection-flow>div span{font:9px var(--mono);letter-spacing:.13em;color:#68727a}
.selection-flow>div b{font:500 18px var(--mono);letter-spacing:.02em;color:#c8cdd1}
.selection-flow>i{display:block;text-align:center;height:0;position:relative;top:-10px;font:14px var(--mono);font-style:normal;color:var(--blue);z-index:2}
.selection-flow .flow-final{min-height:118px;background:linear-gradient(90deg,rgba(11,76,255,.08),transparent 70%);border:1px solid rgba(11,76,255,.35);padding:0 24px;margin-top:12px;grid-template-columns:120px 1fr}
.selection-flow .flow-final span{color:var(--blue)}
.selection-flow .flow-final b{font:500 clamp(34px,5vw,64px)/1 var(--serif);letter-spacing:-.04em;color:#f1f0ec}
.flow-copy{font-size:15px;line-height:1.8;color:#818a92;max-width:760px;margin:30px 0 0}
.philosophy-section{border-top:1px solid var(--line);margin-top:100px;padding-top:88px}
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.split-section h2{font:500 clamp(40px,4.5vw,66px)/.98 var(--serif);letter-spacing:-.055em;margin:25px 0 0;max-width:620px}
.split-copy{padding-top:46px;max-width:620px}
.split-copy p,.why-copy p,.update-panel p{font-size:16px;line-height:1.85;color:#858e96;margin:0 0 18px}
.why-section{border-top:1px solid var(--line);margin-top:100px;padding-top:88px}
.why-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.why-layout h2{font:500 clamp(42px,5vw,72px)/.95 var(--serif);letter-spacing:-.055em;margin:25px 0 15px}
.why-statement{font:500 clamp(24px,2.4vw,38px)/1.1 var(--serif);letter-spacing:-.03em;color:#eeeae4}
.why-copy{padding-top:48px;max-width:600px}
.update-section{border-top:1px solid var(--line);margin-top:100px;padding-top:88px}
.update-panel{border:1px solid rgba(11,76,255,.28);background:linear-gradient(120deg,rgba(11,76,255,.075),rgba(5,8,15,.25));padding:50px 54px;display:grid;grid-template-columns:1fr 1fr;gap:90px}
.update-panel h2{font:500 clamp(42px,4.8vw,70px)/.95 var(--serif);letter-spacing:-.055em;margin:24px 0 0}
.update-panel>div:last-child{padding-top:6px}
.closing-line{color:#dfe3e6!important;font:500 17px/1.6 var(--serif)!important;margin-top:28px!important;max-width:470px}
.method-end{text-align:center;padding:130px 20px 10px;max-width:950px;margin:0 auto}
.method-end blockquote{font:500 clamp(38px,5vw,70px)/1.05 var(--serif);letter-spacing:-.05em;margin:26px 0 28px;color:#f1f0ec}
.method-end>p{font:10px var(--mono);letter-spacing:.18em;color:#777f86;margin:0 0 20px}
.method-end>p span{margin:0 10px}
.method-end>strong{font:500 14px var(--mono);letter-spacing:.03em;color:var(--blue)}
@media(max-width:900px){
 .methodology-v2{padding-top:70px}
 .method-hero{padding:55px 0 70px}
 .method-hero h1{font-size:clamp(54px,11vw,92px)}
 .method-section-head{grid-template-columns:1fr;gap:14px}
 .method-grid-v2,.split-section,.why-layout,.update-panel{grid-template-columns:1fr}
 .method-card{min-height:340px}
 .split-copy,.why-copy{padding-top:0}
 .update-panel{gap:35px;padding:38px}
}
@media(max-width:760px){
 .methodology-v2{padding-bottom:90px}
 .method-hero h1{font-size:58px}
 .method-hero .lede{font-size:17px}
 .method-hero .lede-secondary{font-size:14px}
 .method-section{padding-top:68px}
 .method-section h2{font-size:48px}
 .method-card{padding:28px 24px;min-height:390px}
 .method-index{margin-bottom:48px}
 .method-objective{display:block}
 .method-objective b{display:block;text-align:left;margin-top:10px}
 .narrowing-section,.philosophy-section,.why-section,.update-section{margin-top:70px;padding-top:65px}
 .selection-flow>div{grid-template-columns:55px 1fr;min-height:70px}
 .selection-flow>div b{font-size:14px}
 .selection-flow .flow-final{grid-template-columns:1fr;gap:8px;padding:18px 20px}
 .selection-flow .flow-final b{font-size:48px}
 .update-panel{padding:30px 24px}
 .method-end{padding-top:95px}
 .method-end blockquote{font-size:42px}
 .method-end>p span{display:block;margin:7px 0}
}

/* V72 — Methodology header mirrors Archive exactly */
.methodology-v2{padding-top:130px;padding-bottom:140px}
.methodology-v2 .back-link{margin-bottom:42px}
.methodology-v2>.eyebrow{margin-bottom:22px}
.methodology-v2>h1{font:500 clamp(60px,8vw,120px)/.82 var(--serif);letter-spacing:-.065em;margin:0 0 25px;max-width:900px}
.methodology-v2>h1 em{font-style:normal;color:var(--blue)}
.methodology-intro-row{margin-top:0;margin-bottom:48px}
.methodology-lede-spacer{min-height:1px}
.methodology-v2 .method-section:first-of-type{padding-top:0}
@media(max-width:760px){
  .methodology-v2{padding-top:90px}
  .methodology-v2 .back-link{margin-bottom:32px}
  .methodology-v2>h1{font-size:clamp(52px,14vw,82px);line-height:.82;margin-bottom:25px}
  .methodology-intro-row{align-items:flex-start;margin-top:0;margin-bottom:36px}
}

/* Methodology uses the exact same page background as Archive. */
body.methodology-page{background:radial-gradient(circle at 78% 45%,#0A1B63 0,#080B10 30%,#050608 72%,#01051E 100%);}
body.methodology-page:before{background:radial-gradient(circle at 78% 45%,rgba(11,76,255,.16),transparent 30%),linear-gradient(115deg,transparent 55%,rgba(70,120,255,.025));}

/* V73 — align methodology section heading with the Home page rhythm */
.method-section-head{
  display:block;
  margin-bottom:42px;
}
.method-section-head>span{display:none}
.method-section-head h2{
  margin:0;
  text-align:left;
  max-width:760px;
}
@media(max-width:760px){
  .method-section-head{margin-bottom:30px}
  .method-section-head h2{max-width:100%}
}

/* V74 — consistent methodology section separators and blue labels */
.methodology-v2 .method-section-bordered{border-top:1px solid var(--line);margin-top:100px;padding-top:88px}
.methodology-v2 .method-section-bordered:first-of-type{margin-top:clamp(70px, calc(100vh - 690px), 150px);border-top:1px solid var(--line);padding-top:88px;position:relative}.methodology-v2 .method-section-bordered:first-of-type::before{display:none}
.methodology-v2 .method-section-bordered .method-section-head{margin-bottom:34px}
.methodology-v2 .method-end.method-section-bordered{margin-top:100px;padding-top:88px}
@media(max-width:760px){
  .methodology-v2 .method-section-bordered{margin-top:70px;padding-top:65px}
  .methodology-v2 .method-end.method-section-bordered{margin-top:70px;padding-top:65px}
}

/* V77 — first methodology separator: same full-width treatment and viewport position as Home */
.methodology-v2 .method-section-bordered:first-of-type{
  border-top:0;
  position:relative;
  margin-top:calc(100vh - 460px);
  padding-top:88px;
}
.methodology-v2 .method-section-bordered:first-of-type::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:100vw;
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.08);
}
@media(max-width:760px){
  .methodology-v2 .method-section-bordered:first-of-type{
    margin-top:calc(100vh - 390px);
    padding-top:65px;
  }
}

/* V78 — Methodology separators follow the Home page: full viewport width */
.methodology-v2 .method-section,
.methodology-v2 .method-section-bordered{
  border-top:0;
  position:relative;
}
.methodology-v2 .method-section::before,
.methodology-v2 .method-section-bordered::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:100vw;
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.methodology-v2 .method-section:first-of-type::before{
  display:block;
}
@media(max-width:760px){
  .methodology-v2 .method-section::before,
  .methodology-v2 .method-section-bordered::before{
    width:100vw;
  }
}

/* V79 — first Methodology separator aligned to the Home section break */
.methodology-v2 .method-section-bordered:first-of-type{
  margin-top:0;
  border-top:0;
  padding-top:88px;
}
.methodology-v2 .method-section-bordered:first-of-type::before{
  top:calc(100vh - 468px);
  left:50%;
  width:100vw;
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.08);
}
@media(max-width:760px){
  .methodology-v2 .method-section-bordered:first-of-type::before{
    top:calc(100vh - 392px);
  }
}

/* V80 — exact Home section-break treatment for the first Methodology separator */
.methodology-v2{position:relative}
.methodology-v2::before{
  content:"";
  position:absolute;
  top:calc(100vh - 82px);
  left:50%;
  width:100vw;
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.methodology-v2 .method-section-bordered:first-of-type::before{display:none}
@media(max-width:760px){
  .methodology-v2::before{top:900px}
}

/* V81 — How the selection works: match the editorial section structure */
.how-selection-section{border-top:1px solid var(--line);margin-top:100px;padding-top:88px}
.how-selection-section .how-selection-head{display:block;margin:0 0 46px}
.how-selection-section .how-selection-head>span{display:block;padding:0;margin:0 0 22px;font:10px var(--mono);letter-spacing:.17em;color:var(--blue)}
.how-selection-section .how-selection-head h2{font:500 clamp(60px,7vw,104px)/.9 var(--serif);letter-spacing:-.06em;margin:0;max-width:1000px;color:#f1f0ec}
@media(max-width:760px){
  .how-selection-section{margin-top:70px;padding-top:65px}
  .how-selection-section .how-selection-head{margin-bottom:36px}
  .how-selection-section .how-selection-head>span{margin-bottom:16px}
  .how-selection-section .how-selection-head h2{font-size:48px;line-height:.94}
}

/* V82 — Match "How the selection works" to the THE FRAMEWORK editorial scale */
.how-selection-section .how-selection-head{display:block;margin:0 0 46px}
.how-selection-section .how-selection-head>span{display:block;padding:0;margin:0 0 0;font:10px var(--mono);letter-spacing:.17em;color:var(--blue)}
.how-selection-section .how-selection-head h2{font:500 clamp(40px,4.5vw,66px)/.98 var(--serif);letter-spacing:-.055em;margin:25px 0 0;max-width:620px;color:#f1f0ec}
@media(max-width:760px){
  .how-selection-section .how-selection-head{margin-bottom:36px}
  .how-selection-section .how-selection-head>span{margin-bottom:0}
  .how-selection-section .how-selection-head h2{font-size:42px;line-height:.98;margin-top:18px;max-width:100%}
}

/* V83 — keep the same breathing room between the section separator and its label as THE FRAMEWORK */
.how-selection-section .how-selection-head{
  padding-top:68px;
}
@media(max-width:760px){
  .how-selection-section .how-selection-head{
    padding-top:55px;
  }
}


/* V85 — refine Methodology hero spacing and CTA placement */
.methodology-v2 > h1{margin-bottom:0}
.methodology-join-row{display:flex;align-items:flex-start;justify-content:flex-start;margin-top:30px;margin-bottom:0}
.methodology-join-row .archive-join{margin:0}
.how-selection-section .how-selection-head{padding-top:143px}
@media(max-width:760px){
  .methodology-join-row{margin-top:24px}
  .how-selection-section .how-selection-head{padding-top:106px}
}


/* V86 — subtle 20-point data animation for the Methodology hero */
.methodology-v2{overflow:hidden}
.methodology-signal-field{
  position:absolute;
  width:min(520px,34vw);
  height:min(520px,34vw);
  right:2vw;
  top:150px;
  opacity:.72;
  pointer-events:none;
  z-index:0;
}
.methodology-signal-field .signal-grid{
  position:absolute; inset:0;
  border:1px solid rgba(76,150,255,.08);
  background:
    linear-gradient(rgba(76,150,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(76,150,255,.045) 1px, transparent 1px);
  background-size:20% 20%;
  mask-image:radial-gradient(circle at center, #000 18%, transparent 72%);
  -webkit-mask-image:radial-gradient(circle at center, #000 18%, transparent 72%);
  transform:rotate(8deg);
  animation:signalGridDrift 14s ease-in-out infinite alternate;
}
.methodology-signal-field .signal-scan{
  position:absolute;
  left:4%; right:4%; top:12%; height:1px;
  background:linear-gradient(90deg, transparent, rgba(76,150,255,.65), transparent);
  filter:drop-shadow(0 0 8px rgba(76,150,255,.25));
  animation:signalScan 6s ease-in-out infinite;
}
.methodology-signal-field .signal-nodes{
  position:absolute; inset:15% 15%;
  display:grid; grid-template-columns:repeat(5,1fr); grid-template-rows:repeat(4,1fr);
}
.methodology-signal-field .signal-nodes i{
  width:6px; height:6px; border-radius:50%;
  justify-self:center; align-self:center;
  background:#2F78FF;
  box-shadow:0 0 0 1px rgba(47,120,255,.08), 0 0 14px rgba(47,120,255,.18);
  opacity:.22;
  animation:signalNodePulse 4.8s ease-in-out infinite;
}
.methodology-signal-field .signal-nodes i:nth-child(2n){animation-delay:-1.1s}
.methodology-signal-field .signal-nodes i:nth-child(3n){animation-delay:-2.4s}
.methodology-signal-field .signal-nodes i:nth-child(5n){animation-delay:-3.5s}
.methodology-signal-field .signal-core{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:108px; height:108px; border-radius:50%;
  border:1px solid rgba(47,120,255,.25);
  background:radial-gradient(circle, rgba(47,120,255,.10), rgba(3,5,10,.02) 68%, transparent 70%);
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  box-shadow:0 0 60px rgba(47,120,255,.08);
  animation:signalCorePulse 5s ease-in-out infinite;
}
.methodology-signal-field .signal-core:before,.methodology-signal-field .signal-core:after{
  content:""; position:absolute; inset:-18px; border:1px solid rgba(47,120,255,.09); border-radius:50%;
}
.methodology-signal-field .signal-core:after{inset:-38px; opacity:.55}
.methodology-signal-field .signal-core span{font:500 24px var(--serif); color:#f1f0ec; letter-spacing:-.04em}
.methodology-signal-field .signal-core small{font:8px var(--mono); letter-spacing:.18em; color:var(--blue); margin-top:5px}
.methodology-v2>h1,.methodology-v2>.eyebrow,.methodology-v2>.back-link,.methodology-v2>.methodology-join-row{position:relative; z-index:2}
@keyframes signalScan{0%,100%{top:10%;opacity:0}15%{opacity:.7}50%{top:82%;opacity:.45}85%{opacity:.7}100%{top:10%;opacity:0}}
@keyframes signalNodePulse{0%,100%{opacity:.16;transform:scale(.8)}50%{opacity:.62;transform:scale(1.25)}}
@keyframes signalCorePulse{0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(.98)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.035)}}
@keyframes signalGridDrift{from{transform:rotate(8deg) scale(.98)}to{transform:rotate(11deg) scale(1.03)}}
@media(max-width:1100px){
  .methodology-signal-field{width:420px;height:420px;right:-40px;top:170px;opacity:.55}
}
@media(max-width:760px){
  .methodology-signal-field{width:330px;height:330px;right:-85px;top:145px;opacity:.28}
  .methodology-signal-field .signal-core{width:78px;height:78px}
  .methodology-signal-field .signal-core span{font-size:19px}
  .methodology-signal-field .signal-core small{font-size:6px}
  .methodology-v2>h1,.methodology-v2>.eyebrow{z-index:3}
}
@media(prefers-reduced-motion:reduce){
  .methodology-signal-field *{animation:none !important}
}

/* V88 — refined particle laptop: decorative only, does not affect hero layout */
.methodology-particle-laptop{position:absolute;z-index:1;pointer-events:none;width:min(620px,46vw);height:440px;right:-10px;top:150px;opacity:.78;filter:drop-shadow(0 0 24px rgba(35,83,255,.12));}
.methodology-particle-laptop canvas{display:block;width:100%;height:100%;}
.methodology-v2>h1,.methodology-v2>.eyebrow,.methodology-v2>.back-link,.methodology-v2>.methodology-join-row{position:relative;z-index:3}
@media (max-width:900px){.methodology-particle-laptop{width:430px;height:330px;right:-100px;top:175px;opacity:.38}}
@media (max-width:680px){.methodology-particle-laptop{width:360px;height:285px;right:-125px;top:185px;opacity:.22}}


/* V89 — Methodology: large luminous particle globe */
.methodology-particle-globe{position:absolute;z-index:1;pointer-events:auto;width:min(700px,48vw);height:620px;right:-30px;top:35px;opacity:.82;filter:drop-shadow(0 0 34px rgba(35,83,255,.10));}
.methodology-particle-globe canvas{display:block;width:100%;height:100%;}
@media(max-width:900px){.methodology-particle-globe{width:520px;height:500px;right:-150px;top:85px;opacity:.42}}
@media(max-width:680px){.methodology-particle-globe{width:430px;height:410px;right:-150px;top:115px;opacity:.25}}

/* V99 — complete redesign of THE SIGNALS / How the selection works */
.how-selection-section{padding-top:0;padding-bottom:110px}
.how-selection-section .how-selection-head{
  padding-top:92px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:80px;
  align-items:end;
  margin-bottom:56px;
}
.signals-kicker{display:block;font:500 10px var(--mono);letter-spacing:.22em;color:#1768FF;margin-bottom:14px}
.how-selection-section .how-selection-head h2{margin:0;font:500 clamp(38px,4.2vw,64px) var(--serif);letter-spacing:-.045em;line-height:.98}
.signals-summary{margin:0;max-width:440px;color:#737b83;font-size:14px;line-height:1.75}
.signal-system{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.signal-track{position:absolute;left:5.5%;right:5.5%;top:24px;height:1px;background:linear-gradient(90deg,rgba(23,104,255,.05),rgba(23,104,255,.38),rgba(23,104,255,.05));z-index:0}
.signal-track span{position:absolute;left:0;right:0;top:-1px;height:3px;background:linear-gradient(90deg,transparent,rgba(23,104,255,.18),transparent);filter:blur(4px)}
.signal-track i{position:absolute;top:-3px;width:7px;height:7px;border:1px solid rgba(23,104,255,.65);background:#05070b;border-radius:50%;box-shadow:0 0 14px rgba(23,104,255,.25)}
.signal-track i:nth-of-type(1){left:0}.signal-track i:nth-of-type(2){left:33.33%}.signal-track i:nth-of-type(3){left:66.66%}.signal-track i:nth-of-type(4){right:0}
.signal-module{position:relative;z-index:1;min-height:480px;padding:25px 24px 22px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(145deg,rgba(15,19,26,.94),rgba(6,8,12,.97));display:flex;flex-direction:column;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.signal-module:hover{transform:translateY(-7px);border-color:rgba(23,104,255,.38);box-shadow:0 24px 55px rgba(0,0,0,.35),0 0 35px rgba(23,104,255,.06)}
.signal-module-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.055)}
.signal-module-head span{font:500 10px var(--mono);letter-spacing:.15em;color:#1768FF}.signal-module-head small{font:9px var(--mono);letter-spacing:.18em;color:#59626b}
.signal-art{height:135px;margin:5px -2px 20px;position:relative;overflow:hidden}
.signal-module-copy h3{font:500 25px var(--serif);letter-spacing:-.03em;margin:0 0 12px;color:#f0f0ed}.signal-module-copy p{margin:0;color:#858d94;font-size:12.5px;line-height:1.72}
.signal-objective{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.055)}.signal-objective span{display:block;font:8px var(--mono);letter-spacing:.18em;color:#1768FF;margin-bottom:7px}.signal-objective b{font-size:11px;font-weight:500;color:#b9c0c6}
/* quality visual */
.quality-bars{position:absolute;left:8%;right:8%;bottom:25px;height:82px;display:flex;align-items:flex-end;gap:9px}.quality-bars i{display:block;flex:1;background:linear-gradient(to top,rgba(23,104,255,.12),rgba(23,104,255,.7));border-top:1px solid #1768FF}.quality-bars i:nth-child(1){height:30%}.quality-bars i:nth-child(2){height:45%}.quality-bars i:nth-child(3){height:53%}.quality-bars i:nth-child(4){height:72%}.quality-bars i:nth-child(5){height:92%}.quality-line{position:absolute;left:8%;right:8%;bottom:25px;height:1px;background:rgba(255,255,255,.12)}
/* momentum visual */
.momentum-grid{position:absolute;inset:18px 8%;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:25% 33%;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.momentum-path{position:absolute;left:8%;right:7%;top:58px;height:55px}.momentum-path:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 0 17%,rgba(23,104,255,.9) 18% 19%,transparent 20% 37%,rgba(23,104,255,.9) 38% 39%,transparent 40% 58%,rgba(23,104,255,.9) 59% 60%,transparent 61% 78%,rgba(23,104,255,.9) 79% 80%,transparent 81%);transform:skewY(-10deg);filter:drop-shadow(0 0 5px rgba(23,104,255,.25))}.momentum-path i{position:absolute;width:5px;height:5px;background:#dbe6ff;border-radius:50%;top:42px;box-shadow:0 0 9px rgba(23,104,255,.5)}.momentum-path i:nth-child(1){left:0}.momentum-path i:nth-child(2){left:25%;top:34px}.momentum-path i:nth-child(3){left:50%;top:25px}.momentum-path i:nth-child(4){left:75%;top:14px}.momentum-path i:nth-child(5){right:0;top:2px}
/* acceleration visual */
.accel-rings{position:absolute;left:17%;top:20px;width:110px;height:110px;border-radius:50%;border:1px solid rgba(23,104,255,.16)}.accel-rings i{position:absolute;inset:17px;border:1px solid rgba(23,104,255,.22);border-radius:50%}.accel-rings i:nth-child(2){inset:34px;border-color:rgba(23,104,255,.32)}.accel-rings i:nth-child(3){inset:49px;border-color:rgba(23,104,255,.55)}.accel-path{position:absolute;left:25%;right:8%;top:82px;height:1px;background:linear-gradient(90deg,rgba(23,104,255,.12),#1768FF);transform:rotate(-23deg);transform-origin:left}
/* flow visual */
.art-flow .flow-core{position:absolute;left:50%;top:50%;width:38px;height:38px;transform:translate(-50%,-50%);border:1px solid rgba(23,104,255,.75);border-radius:50%;box-shadow:0 0 25px rgba(23,104,255,.15),inset 0 0 20px rgba(23,104,255,.08)}.art-flow i{position:absolute;width:5px;height:5px;border-radius:50%;background:#1768FF;box-shadow:0 0 10px rgba(23,104,255,.55)}.art-flow i:nth-of-type(1){left:12%;top:25%}.art-flow i:nth-of-type(2){left:28%;top:70%}.art-flow i:nth-of-type(3){left:44%;top:15%}.art-flow i:nth-of-type(4){right:17%;top:28%}.art-flow i:nth-of-type(5){right:12%;top:72%}.art-flow i:nth-of-type(6){left:64%;top:82%}.art-flow:before,.art-flow:after{content:"";position:absolute;left:15%;right:15%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(23,104,255,.28),transparent);transform:rotate(25deg)}.art-flow:after{transform:rotate(-25deg)}
@media(max-width:1050px){.how-selection-section .how-selection-head{grid-template-columns:1fr;gap:20px}.signal-system{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-track{display:none}.signal-module{min-height:455px}}
@media(max-width:760px){.how-selection-section .how-selection-head{padding-top:72px;margin-bottom:40px}.how-selection-section .how-selection-head h2{font-size:42px}.signals-summary{font-size:13px}.signal-system{grid-template-columns:1fr;gap:12px}.signal-module{min-height:430px}.signal-art{height:125px}}

/* V100 — align THE SIGNALS spacing with the other Methodology sections */
.how-selection-section .how-selection-head{
  align-items:start;
}
.how-selection-section .signals-kicker{
  margin-bottom:25px;
}
.how-selection-section .signals-summary{
  padding-top:36px;
}
@media(max-width:1050px){
  .how-selection-section .signals-summary{padding-top:0}
}
@media(max-width:760px){
  .how-selection-section .signals-kicker{margin-bottom:18px}
  .how-selection-section .signals-summary{padding-top:0}
}

/* V101 — restore the same breathing room between the section divider and THE SIGNALS as the other Methodology sections */
.how-selection-section .how-selection-head{
  padding-top:143px;
}
@media(max-width:760px){
  .how-selection-section .how-selection-head{
    padding-top:106px;
  }
}

/* V102 — close THE SIGNALS section with a balanced separator */
.how-selection-section{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-top:100px;
  padding-top:0;
  padding-bottom:88px;
}
.how-selection-section .how-selection-head{padding-top:143px}
.narrowing-section{border-top:0 !important;margin-top:0 !important;padding-top:88px}
@media(max-width:760px){
  .how-selection-section{margin-top:70px;padding-bottom:65px}
  .how-selection-section .how-selection-head{padding-top:106px}
  .narrowing-section{padding-top:65px}
}

/* V104 — THE FILTER / selection pipeline redesign */
.narrowing-section{border-top:1px solid var(--line);margin-top:100px;padding-top:88px}
.narrowing-section .method-section-head{display:block;margin-bottom:48px}
.narrowing-section .method-section-head>span{display:block;margin-bottom:22px;padding:0;font:10px var(--mono);letter-spacing:.18em;color:var(--blue)}
.narrowing-section .method-section-head h2{max-width:920px;font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.055em}
.narrowing-section .section-intro{max-width:640px;margin:-22px 0 44px;font-size:16px;color:#7e8790}
.selection-flow{margin:0;position:relative;border:1px solid rgba(255,255,255,.09);background:linear-gradient(135deg,rgba(10,14,24,.82),rgba(3,5,10,.55));padding:0;overflow:hidden}
.selection-flow:before{content:"";position:absolute;left:74px;top:40px;bottom:40px;width:1px;background:linear-gradient(to bottom,rgba(11,76,255,.05),rgba(11,76,255,.65),rgba(11,76,255,.05));}
.selection-flow>div{min-height:82px;display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:24px;padding:0 30px 0 0;border-bottom:1px solid rgba(255,255,255,.07);position:relative;z-index:1}
.selection-flow>div:last-child{border-bottom:0}
.selection-flow>div span{font:10px var(--mono);letter-spacing:.16em;color:#56616b;text-align:center}
.selection-flow>div b{font:500 17px var(--mono);letter-spacing:.01em;color:#d2d7db}
.selection-flow>div:after{content:"";width:7px;height:7px;border:1px solid rgba(11,76,255,.65);border-radius:50%;justify-self:end;background:#060910;box-shadow:0 0 0 5px rgba(11,76,255,.035)}
.selection-flow>i{position:absolute;left:68px;height:16px;width:13px;display:flex;align-items:center;justify-content:center;background:#080b10;color:var(--blue);font:11px var(--mono);font-style:normal;z-index:3;}
.selection-flow>i:nth-of-type(1){top:74px}.selection-flow>i:nth-of-type(2){top:156px}.selection-flow>i:nth-of-type(3){top:238px}.selection-flow>i:nth-of-type(4){top:320px}.selection-flow>i:nth-of-type(5){display:none}
.selection-flow .flow-final{min-height:132px;margin:0;padding:0 30px 0 0;grid-template-columns:74px 1fr auto;background:linear-gradient(90deg,rgba(11,76,255,.13),rgba(11,76,255,.035) 65%,transparent);border:0;border-top:1px solid rgba(11,76,255,.28)}
.selection-flow .flow-final span{color:var(--blue);font-size:9px}
.selection-flow .flow-final b{font:500 clamp(40px,5.2vw,70px)/1 var(--serif);letter-spacing:-.05em;color:#f1f0ec}
.selection-flow .flow-final:after{width:9px;height:9px;border-color:var(--blue);background:var(--blue);box-shadow:0 0 18px rgba(11,76,255,.38),0 0 0 7px rgba(11,76,255,.07)}
.flow-copy{font-size:15px;line-height:1.8;color:#818a92;max-width:760px;margin:28px 0 0}
@media(max-width:760px){
 .narrowing-section{margin-top:70px;padding-top:65px}
 .narrowing-section .method-section-head{margin-bottom:38px}
 .narrowing-section .method-section-head>span{margin-bottom:18px}
 .narrowing-section .method-section-head h2{font-size:48px}
 .narrowing-section .section-intro{margin:-10px 0 32px;font-size:14px}
 .selection-flow:before{left:52px;top:28px;bottom:28px}
 .selection-flow>div{grid-template-columns:52px 1fr auto;gap:16px;min-height:72px;padding-right:18px}
 .selection-flow>div b{font-size:13px;line-height:1.4}
 .selection-flow>div:after{width:6px;height:6px}
 .selection-flow>i{left:46px}
 .selection-flow>i:nth-of-type(1){top:65px}.selection-flow>i:nth-of-type(2){top:137px}.selection-flow>i:nth-of-type(3){top:209px}.selection-flow>i:nth-of-type(4){top:281px}
 .selection-flow .flow-final{min-height:112px;grid-template-columns:52px 1fr auto;padding-right:18px}
 .selection-flow .flow-final b{font-size:48px}
}
.selection-flow>div small{font:9px var(--mono);letter-spacing:.08em;color:#5e6871;text-align:right;white-space:nowrap}
@media(max-width:760px){.selection-flow>div small{display:none}}

/* V105 — THE FILTER / concentric dynamic selection system */
.selection-orbit-system{display:grid;grid-template-columns:minmax(500px,1.25fr) minmax(320px,.75fr);gap:70px;align-items:center;margin-top:54px;min-height:560px;position:relative}
.orbit-visual{width:min(560px,100%);aspect-ratio:1;position:relative;margin:auto;display:grid;place-items:center}
.orbit-visual:before{content:"";position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle,rgba(18,70,255,.13),rgba(18,70,255,.045) 34%,transparent 67%);filter:blur(12px);animation:orbitBreath 5s ease-in-out infinite}
.orbit-visual:after{content:"";position:absolute;inset:3%;border:1px solid rgba(47,104,255,.08);border-radius:50%;box-shadow:0 0 80px rgba(20,70,255,.06) inset}
.orbit-ring{position:absolute;border:1px solid rgba(68,112,255,.22);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box}
.ring-1{width:96%;height:96%;border-color:rgba(68,112,255,.13)}
.ring-2{width:78%;height:78%;border-color:rgba(68,112,255,.19)}
.ring-3{width:60%;height:60%;border-color:rgba(68,112,255,.27)}
.ring-4{width:42%;height:42%;border-color:rgba(68,112,255,.38)}
.ring-5{width:25%;height:25%;border-color:rgba(68,112,255,.58);box-shadow:0 0 26px rgba(36,92,255,.09)}
.orbit-ring:before{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;border-top-color:rgba(65,123,255,.72);transform:rotate(-18deg);animation:ringSpin 8s linear infinite}
.ring-2:before{animation-duration:10s;animation-direction:reverse;transform:rotate(90deg)}
.ring-3:before{animation-duration:7s;transform:rotate(145deg)}
.ring-4:before{animation-duration:6s;animation-direction:reverse;transform:rotate(220deg)}
.ring-5:before{animation-duration:5s;transform:rotate(35deg)}
.ring-label{position:absolute;font:9px var(--mono);letter-spacing:.16em;color:#65707c;white-space:nowrap;background:#070a10;padding:5px 8px}
.label-1{left:8%;top:7%}.label-2{right:3%;top:21%}.label-3{left:0;top:54%}.label-4{right:-15%;bottom:25%;color:#86a7ff;background:#050810;padding:6px 10px;z-index:8;border:1px solid rgba(68,112,255,.18)}.label-5{left:50%;bottom:-14%;transform:translateX(-50%);color:#86a7ff;background:#050810;padding:6px 10px;z-index:8;border:1px solid rgba(68,112,255,.18)}
.orbit-core-final{position:relative;z-index:4;width:112px;height:112px;border-radius:50%;border:1px solid rgba(72,128,255,.72);background:radial-gradient(circle,rgba(20,67,210,.30),rgba(5,8,15,.96) 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(26,76,255,.14),inset 0 0 30px rgba(46,106,255,.08);animation:corePulse 3.8s ease-in-out infinite}
.orbit-core-final span{font:8px var(--mono);letter-spacing:.2em;color:#7891c8;margin-left:.2em}.orbit-core-final b{font:500 46px/1 var(--serif);letter-spacing:-.06em;color:#f1f0ec}
.orbit-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#3e78ff;box-shadow:0 0 14px rgba(54,113,255,.7);z-index:5;transform-origin:calc(50% + 180px) calc(50% + 0px);animation:orbitDot 7s linear infinite}
.dot-1{left:50%;top:calc(50% - 3.5px)}.dot-2{left:50%;top:calc(50% - 3.5px);animation-duration:11s;animation-direction:reverse;transform-origin:calc(50% + 225px) 3.5px}.dot-3{left:50%;top:calc(50% - 3.5px);animation-duration:9s;transform-origin:calc(50% + 125px) 3.5px}.dot-4{left:50%;top:calc(50% - 3.5px);animation-duration:13s;animation-direction:reverse;transform-origin:calc(50% + 265px) 3.5px}
.orbit-stages{position:relative;border-left:1px solid rgba(255,255,255,.08);padding-left:34px;display:flex;flex-direction:column;gap:0}
.orbit-stage{min-height:94px;display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;border-bottom:1px solid rgba(255,255,255,.07);position:relative}
.orbit-stage:first-child{border-top:1px solid rgba(255,255,255,.07)}
.orbit-stage:before{content:"";position:absolute;left:-38px;width:7px;height:7px;border-radius:50%;background:#080b10;border:1px solid rgba(59,112,255,.65);box-shadow:0 0 0 5px rgba(40,91,255,.04)}
.orbit-stage:last-child:before{background:var(--blue);box-shadow:0 0 15px rgba(28,89,255,.45),0 0 0 5px rgba(40,91,255,.06)}
.orbit-stage>span{font:10px var(--mono);letter-spacing:.14em;color:var(--blue)}
.orbit-stage b{font:500 15px var(--mono);color:#d5d9dd;letter-spacing:.01em}.orbit-stage small{display:block;margin-top:7px;font:9px var(--mono);letter-spacing:.08em;color:#626d77}
@keyframes ringSpin{to{transform:rotate(342deg)}}
@keyframes orbitDot{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes orbitBreath{0%,100%{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1.02)}}
@keyframes corePulse{0%,100%{box-shadow:0 0 40px rgba(26,76,255,.14),inset 0 0 30px rgba(46,106,255,.08)}50%{box-shadow:0 0 60px rgba(26,76,255,.24),inset 0 0 36px rgba(46,106,255,.13)}}
@media(max-width:900px){.selection-orbit-system{grid-template-columns:1fr;gap:44px;min-height:0}.orbit-visual{width:min(560px,92vw)}.orbit-stages{border-left:0;padding-left:0}.orbit-stage:before{display:none}}
@media(max-width:760px){.selection-orbit-system{margin-top:36px;gap:34px}.orbit-visual{width:94vw}.ring-label{font-size:7px;padding:4px 6px}.orbit-core-final{width:88px;height:88px}.orbit-core-final b{font-size:38px}.orbit-stage{min-height:82px;grid-template-columns:36px 1fr}.orbit-stage b{font-size:12px}.orbit-stage small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.orbit-ring:before,.orbit-dot,.orbit-visual:before,.orbit-core-final{animation:none}}


/* V108 — Methodology closing mark uses the THE 20 logo treatment */
.method-end-logo{
  font-family:var(--serif);
  font-size:42px;
  line-height:1;
  letter-spacing:-.045em;
  color:var(--text);
  font-weight:500;
}
.method-end-logo b{color:var(--blue);font-weight:500}
@media(max-width:760px){.method-end-logo{font-size:34px}}

/* V110 — keep the closing filter statement on one clean line on desktop */
.flow-copy{max-width:none;width:100%;white-space:nowrap}
@media(max-width:900px){.flow-copy{white-space:normal}}

/* V112 — JOIN THE 20 directly beneath the blue closing statement */
.method-end-join{
  display:flex;
  width:max-content;
  margin:58px auto 0;
}

/* V118 — final mobile hero correction: the 3D sphere sits below the copy/CTA. */
@media (max-width:760px){
  .hero{
    min-height:780px;
    padding:64px 22px 24px;
  }
  .hero-copy{
    position:relative;
    z-index:20;
  }
  .orbit-wrap{
    left:50% !important;
    top:76% !important;
    width:100% !important;
    height:250px !important;
    transform:translate(-50%,-50%) !important;
    z-index:1 !important;
  }
  .cards{z-index:1}
  .company-card{
    width:108px;
    height:70px;
    margin:-35px 0 0 -54px;
    padding:10px;
  }
  .card-num{font-size:7px}
  .card-name{font-size:13px}
  .card-mark{width:13px}
}

/* V119 — mobile hero: force the animated card field into its own lower zone. */
@media (max-width:760px){
  .hero{
    min-height:900px !important;
    padding:64px 22px 20px !important;
    overflow:hidden !important;
  }
  .hero-copy{position:relative !important; z-index:50 !important;}
  .hero-copy .button{position:relative !important; z-index:60 !important;}
  .orbit-wrap{
    position:absolute !important;
    left:50% !important;
    top:82% !important;
    right:auto !important;
    width:100vw !important;
    height:210px !important;
    transform:translate(-50%,-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
  }
  .cards{inset:0 !important; pointer-events:none !important;}
  .company-card{
    width:92px !important;
    height:60px !important;
    margin:-30px 0 0 -46px !important;
    padding:9px !important;
    pointer-events:none !important;
    border-radius:6px !important;
  }
  .card-num{font-size:7px !important;}
  .card-name{font-size:12px !important;}
  .card-mark{width:12px !important;}
  .orbit-line,.signal-path,.signal-node,.orbit-halo,.orbit-glow{opacity:.7 !important;}
}

/* V120 — mobile hero balance: bring the card field up into the visual middle. */
@media (max-width:760px){
  .hero{
    min-height:900px !important;
  }
  .orbit-wrap{
    top:63% !important;
    width:100vw !important;
    height:320px !important;
  }
  .company-card{
    width:104px !important;
    height:68px !important;
    margin:-34px 0 0 -52px !important;
    padding:10px !important;
  }
  .card-name{font-size:14px !important;}
}

/* V122 — mobile hero: wider desktop-like orbit, cards can leave/re-enter the viewport */
@media (max-width:760px){
  .hero{
    min-height:820px !important;
    padding:64px 22px 24px !important;
  }
  .hero-copy{
    position:relative !important;
    z-index:30 !important;
  }
  .hero-copy .button{
    position:relative !important;
    z-index:40 !important;
  }
  .orbit-wrap{
    left:50% !important;
    top:64% !important;
    width:150vw !important;
    height:340px !important;
    transform:translate(-50%,-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
    overflow:visible !important;
  }
  .cards{
    inset:0 !important;
    overflow:visible !important;
  }
  .company-card{
    width:122px !important;
    height:78px !important;
    margin:-39px 0 0 -61px !important;
    padding:11px !important;
    border-radius:7px !important;
  }
  .card-num{font-size:8px !important;}
  .card-name{font-size:15px !important;}
  .card-mark{width:14px !important;}
}

/* V125 — Home Current Selection: two cards per row on mobile/tablet, matching monthly archive */
@media(max-width:900px){
  .selection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
}
@media(max-width:760px){
  .selection-grid{gap:10px}
  .mini-card{min-height:112px;padding:16px 15px 14px}
  .mini-card b{font-size:18px}
}

/* V128 — unified button system across the entire site */
.subscribe,
.button,
.manifesto-methodology,
.archive-join,
.previous-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:46px;
  padding:13px 18px;
  border:1px solid rgba(11,76,255,.72);
  border-bottom:1px solid rgba(11,76,255,.72);
  border-radius:0;
  background:transparent;
  color:#fff;
  text-decoration:none;
  font:500 10px var(--mono);
  letter-spacing:.14em;
  line-height:1;
  white-space:nowrap;
  width:max-content;
  box-shadow:none;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.subscribe:hover,
.button:hover,
.manifesto-methodology:hover,
.archive-join:hover,
.previous-all:hover{
  background:rgba(11,76,255,.10);
  border-color:var(--blue);
  color:#fff;
  box-shadow:0 0 30px rgba(11,76,255,.12);
  transform:translateY(-2px);
}
.button span,
.manifesto-methodology span,
.archive-join span,
.archive-join b,
.previous-all span{
  margin-left:0;
  color:var(--blue);
  font:500 14px var(--mono);
  transition:transform .25s ease,color .25s ease;
}
.button:hover span,
.manifesto-methodology:hover span,
.archive-join:hover span,
.archive-join:hover b,
.previous-all:hover span{
  color:var(--blue-light);
  transform:translateX(3px);
}
.subscribe{min-height:40px;padding:11px 16px;font-size:9px;}
.previous-all{padding:13px 18px;}

@media(max-width:760px){
  .subscribe{min-height:40px;padding:10px 14px;font-size:9px;}
  .button,
  .manifesto-methodology,
  .archive-join,
  .previous-all{min-height:44px;padding:12px 15px;font-size:9px;}
}

/* V129 — Methodology closing statement and CTA stacked vertically */
.method-end>strong{
  display:block;
  width:100%;
  text-align:center;
  margin:0;
}
.method-end .method-end-join{
  display:flex;
  width:max-content;
  margin:34px auto 0;
}
@media(max-width:760px){
  .method-end>strong{
    line-height:1.5;
  }
  .method-end .method-end-join{
    margin-top:28px;
  }
}


/* V137 — separate account access from THE 20 membership */
.account-entry{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:40px;
  padding:10px 14px;
  border:1px solid rgba(23,104,255,.72);
  background:transparent;
  color:rgba(255,255,255,.9);
  font:500 9px var(--mono);
  letter-spacing:.12em;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.account-entry:hover{background:rgba(23,104,255,.08);border-color:rgba(23,104,255,1);color:#fff;transform:translateY(-1px)}
.account-entry.is-authenticated{border-color:rgba(23,104,255,.72);color:#fff;padding-right:13px}
.account-icon{width:21px;height:21px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 21px}
.account-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.account-entry.is-authenticated .account-icon{border-color:rgba(22,112,255,.85);color:var(--blue-light)}
.account-name{max-width:115px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){
  .account-entry{padding:10px 12px}
  .account-entry:not(.is-authenticated){font-size:8px;letter-spacing:.09em}
}
@media(max-width:760px){.account-entry{display:none}}

/* V133 — mobile full-screen navigation */
.mobile-menu-toggle{display:none}
.mobile-menu{display:none}
@media(max-width:760px){
  .site-header{position:relative;z-index:100}
  .site-header .subscribe{display:none}
  .mobile-menu-toggle{display:flex;position:relative;z-index:220;width:42px;height:42px;margin:0;padding:0;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
  .mobile-menu-toggle span{display:block;width:24px;height:1px;background:#f3f0ea;transition:transform .3s ease,opacity .25s ease,width .3s ease}
  .mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .mobile-menu-toggle.is-open span:nth-child(2){opacity:0}
  .mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .mobile-menu{display:block;position:fixed;inset:0;z-index:200;background:radial-gradient(circle at 75% 20%,rgba(11,76,255,.18),transparent 38%),linear-gradient(145deg,rgba(3,5,10,.985),rgba(2,5,24,.99));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
  .mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .mobile-menu-inner{height:100%;display:flex;flex-direction:column;padding:26px 24px 24px}
  .mobile-menu-top{display:flex;align-items:center;justify-content:space-between}
  .mobile-menu-kicker{font:10px var(--mono);letter-spacing:.2em;color:var(--blue)}
  .mobile-menu-close{border:0;background:transparent;color:#f3f0ea;font:300 34px/1 var(--sans);padding:4px 0;cursor:pointer}
  .mobile-menu-nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:auto 0}
  .mobile-menu-nav a{font:500 clamp(34px,10vw,52px)/1 var(--serif);letter-spacing:-.045em;color:#f3f0ea;text-decoration:none;padding:13px 0;transition:color .25s ease,transform .25s ease}
  .mobile-menu-nav a:hover,.mobile-menu-nav a:focus{color:var(--blue);transform:translateX(6px);outline:none}
  .mobile-menu-nav .mobile-menu-account{font:500 10px var(--mono);letter-spacing:.14em;margin-top:28px;padding:15px 18px;border:1px solid rgba(23,104,255,.72);color:#fff;transform:none}
  .mobile-menu-nav .mobile-menu-account:hover,.mobile-menu-nav .mobile-menu-account:focus{border-color:rgba(23,104,255,1);background:rgba(23,104,255,.08)}
  .mobile-menu-nav .mobile-menu-subscribe{font:500 10px var(--mono);letter-spacing:.14em;margin-top:10px;padding:15px 18px;border:1px solid rgba(11,76,255,.75);color:#fff;transform:none}
  .mobile-menu-nav .mobile-menu-subscribe span{color:var(--blue);font-size:14px;margin-left:14px}
  .mobile-menu-footer{font:9px var(--mono);letter-spacing:.14em;line-height:1.7;color:#69727b;max-width:320px}
  body.menu-open{overflow:hidden}
}

/* V134 — mobile menu branding and active-page state. */
@media(max-width:1100px){
  .mobile-menu-brand{display:inline-flex;align-items:baseline;gap:7px;font-family:var(--serif);font-size:22px;line-height:1;letter-spacing:-.045em;text-decoration:none;white-space:nowrap;color:#fff}
  .mobile-menu-brand span{color:#fff}
  .mobile-menu-brand b{color:var(--blue);font-weight:500}
  .mobile-menu-nav a.mobile-menu-active{color:var(--blue)}
  .mobile-menu-nav a.mobile-menu-active:hover,.mobile-menu-nav a.mobile-menu-active:focus{color:var(--blue)}
}

/* V135 — compact monthly performance cards on mobile */
@media(max-width:760px){
  .previous-cards{gap:16px}
  .performance-card{
    min-height:0;
    padding:20px 20px 18px;
  }
  .performance-top,.performance-bottom{gap:12px}
  .performance-month{font-size:11px}
  .performance-status{padding:7px 9px;font-size:7px}
  .performance-main{padding:26px 0 24px}
  .performance-label{font-size:8px;margin-bottom:9px}
  .performance-value{font-size:50px}
  .performance-benchmark{margin-top:24px;padding-top:16px}
  .performance-benchmark span{font-size:8px}
  .performance-benchmark strong{font-size:24px}
  .performance-bottom{padding-top:14px;font-size:7px}
}

/* V136 — Cookie consent banner, settings panel and policy controls */
.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 14px}
.footer-links a,.footer-cookie-settings{color:#69737b;text-decoration:none;font:8px var(--mono);letter-spacing:.12em;background:none;border:0;padding:0;cursor:pointer;transition:color .2s ease}
.footer-links a:hover,.footer-cookie-settings:hover{color:var(--blue)}
.cookie-banner{position:fixed;left:50%;bottom:20px;transform:translate(-50%,18px);width:min(1120px,calc(100vw - 40px));z-index:10000;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;padding:22px 24px;border:1px solid rgba(22,112,255,.38);background:linear-gradient(135deg,rgba(3,7,18,.98),rgba(5,10,28,.985));box-shadow:0 24px 80px rgba(0,0,0,.48),0 0 40px rgba(11,76,255,.08);backdrop-filter:blur(22px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,transform .3s ease,visibility .3s ease}
.cookie-banner.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.cookie-kicker{font:9px var(--mono);letter-spacing:.2em;color:var(--blue);margin-bottom:9px}
.cookie-copy h2,.cookie-panel h2{margin:0;color:var(--text);font:500 27px/1 var(--serif);letter-spacing:-.03em}
.cookie-copy p{max-width:760px;margin:9px 0 7px;color:#9aa2aa;font:12px/1.6 var(--sans)}
.cookie-copy>a,.cookie-panel-policy{color:#8290a0;text-decoration:none;font:8px var(--mono);letter-spacing:.12em;transition:color .2s ease}
.cookie-copy>a:hover,.cookie-panel-policy:hover{color:var(--blue)}
.cookie-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.cookie-btn{min-height:44px;padding:12px 15px;border:1px solid rgba(11,76,255,.7);border-radius:0;background:transparent;color:#fff;font:500 9px var(--mono);letter-spacing:.12em;cursor:pointer;white-space:nowrap;transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.cookie-btn:hover{border-color:var(--blue);background:rgba(11,76,255,.1);box-shadow:0 0 26px rgba(11,76,255,.12);transform:translateY(-1px)}
.cookie-btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}
.cookie-btn-primary:hover{background:var(--blue-light);border-color:var(--blue-light);color:#fff}
.cookie-panel-backdrop{position:fixed;inset:0;z-index:10010;background:rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.cookie-panel-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.cookie-panel{position:fixed;right:28px;bottom:28px;width:min(560px,calc(100vw - 40px));z-index:10020;padding:28px;background:linear-gradient(145deg,#070b15,#070d22);border:1px solid rgba(22,112,255,.45);box-shadow:0 30px 100px rgba(0,0,0,.58);opacity:0;visibility:hidden;transform:translateY(16px);pointer-events:none;transition:opacity .28s ease,visibility .28s ease,transform .28s ease}
.cookie-panel.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.cookie-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cookie-close{border:0;background:transparent;color:#f3f0ea;font:300 31px/1 var(--sans);padding:0;cursor:pointer}.cookie-panel-intro{margin:17px 0 18px;color:#929ba4;font:12px/1.7 var(--sans)}
.cookie-option{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.08)}
.cookie-option strong{display:block;color:#f3f0ea;font:500 10px var(--mono);letter-spacing:.14em;line-height:1;margin-bottom:8px;text-transform:uppercase}.cookie-option span:not(.cookie-status){display:block;color:#7f8992;font:11px/1.55 var(--sans);max-width:400px}.cookie-status{font:8px var(--mono);letter-spacing:.14em;color:#6f7880}
.cookie-switch{position:relative;display:block;width:44px;height:24px}.cookie-switch input{position:absolute;opacity:0;width:0;height:0}.cookie-switch>span{position:absolute;inset:0;border:1px solid rgba(11,76,255,.55);background:#070b14;cursor:pointer;transition:.2s}.cookie-switch>span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#6f7880;transition:.2s}.cookie-switch input:checked+span{background:rgba(11,76,255,.18);border-color:var(--blue)}.cookie-switch input:checked+span:before{transform:translateX(20px);background:var(--blue)}
.cookie-panel-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.cookie-panel-policy{display:inline-block;margin-top:17px}
body.cookie-panel-open{overflow:hidden}
.cookie-policy-main .legal-copy{max-width:900px}.cookie-policy-main .legal-copy section p strong{font-family:var(--mono);font-size:.9em;letter-spacing:.08em;color:#aab3bb}
@media(max-width:760px){
  .footer-links{justify-content:flex-start;gap:8px 12px}
  .cookie-banner{left:12px;bottom:12px;transform:translateY(18px);width:calc(100vw - 24px);display:block;padding:20px 18px}
  .cookie-banner.is-visible{transform:translateY(0)}
  .cookie-copy h2,.cookie-panel h2{font-size:24px}.cookie-copy p{font-size:11px;line-height:1.55}
  .cookie-actions{margin-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.cookie-actions .cookie-btn:last-child{grid-column:1/-1}
  .cookie-btn{width:100%;min-height:43px;font-size:8px}
  .cookie-panel{right:12px;bottom:12px;width:calc(100vw - 24px);padding:21px 18px;max-height:calc(100vh - 24px);overflow:auto}
  .cookie-panel-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-panel-actions .cookie-btn{width:100%}
    .cookie-banner.is-visible~}


/* V142 — full company name as an in-card call-out near the name */
.company-card,
.historical-card{
  overflow:hidden;
}
.company-card .name-callout,
.historical-card .name-callout{
  position:absolute;
  left:42%;
  top:auto;
  bottom:66%;
  transform:translateY(6px);
  z-index:8;
  max-width:none;
  width:max-content;
  padding:6px 9px;
  border:1px solid rgba(11,76,255,.58);
  border-radius:3px;
  background:rgba(5,10,24,.96);
  color:#f5f1eb;
  font:500 9px var(--mono);
  letter-spacing:.035em;
  line-height:1.25;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.company-card .name-callout::before,
.historical-card .name-callout::before{
  content:"";
  position:absolute;
  left:14px;
  top:auto;
  bottom:-4px;
  width:7px;
  height:7px;
  background:rgba(5,10,24,.96);
  border-right:1px solid rgba(11,76,255,.58);
  border-bottom:1px solid rgba(11,76,255,.58);
  transform:rotate(45deg);
}
.company-card:hover .name-callout,
.company-card:focus-visible .name-callout,
.historical-card:hover .name-callout,
.historical-card:focus-within .name-callout{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.company-card .card-name{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.historical-card.has-name-tooltip{overflow:hidden}
@media(max-width:760px){
  .company-card .name-callout,
  .historical-card .name-callout{
    left:38%;
    bottom:65%;
    max-width:none;
    width:max-content;
    padding:5px 8px;
    font-size:8px;
  }
}

/* V150 — identical blue gradient treatment across both previous-selection cards */


/* Current archive month status */
.archive-status{
  color:#747c83;
  font-style:normal;
  font:500 10px var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .archive-status{font-size:9px;letter-spacing:.12em;}
}

/* V155 — current October selection page: same locked treatment as homepage */
.current-locked-card{cursor:default;overflow:hidden;background:linear-gradient(145deg,rgba(5,8,15,.98),rgba(3,5,10,.99));}
.current-locked-card:hover{background:linear-gradient(145deg,rgba(6,10,20,.99),rgba(3,5,10,.99));border-color:rgba(11,76,255,.34);}
.current-locked-card .locked-company{height:100%;}
.current-locked-card .locked-company b{font:500 23px var(--serif);letter-spacing:-.035em;color:#dce1e8;filter:blur(7px);opacity:.28;user-select:none;white-space:nowrap;max-width:80%;transform:scale(.98);overflow:hidden;text-overflow:ellipsis;}
.current-locked-card .lock-icon{width:13px;height:11px;border:1px solid var(--blue);border-radius:2px;position:relative;opacity:.72;flex:0 0 auto;box-shadow:0 0 12px rgba(11,76,255,.18);}
.current-locked-card .lock-icon:before{content:"";position:absolute;left:2px;top:-7px;width:7px;height:8px;border:1px solid var(--blue);border-bottom:0;border-radius:7px 7px 0 0;}
.current-locked-card .lock-icon:after{content:"";position:absolute;left:5px;top:4px;width:2px;height:3px;background:var(--blue);border-radius:2px;}
.current-locked-card>i{font:7px var(--mono);font-style:normal;color:#59636b;letter-spacing:.14em;}
@media(max-width:760px){.current-locked-card .locked-company b{font-size:18px}.current-locked-card .locked-company{gap:8px}}

/* V174 — current selection unlocked cards use the same visual treatment as historical cards,
   with company name + ticker and no performance figure. */
.current-selection-card .company-return{display:none}

/* V159 — company ticker in the upper-right corner of historical cards */
.historical-card .card-ticker{
  position:absolute;
  top:20px;
  right:22px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:28px;
  padding:0 9px;
  border:1px solid rgba(11,76,255,.55);
  border-radius:3px;
  background:rgba(5,10,24,.72);
  color:#dfe3e6;
  font:500 9px var(--mono);
  letter-spacing:.10em;
  line-height:1;
  white-space:nowrap;
}
.historical-card .mini-num{position:relative;z-index:2}
/* Keep the long-name call-out safely left of the card's right edge. */
.historical-card .name-callout{
  left:20%;
}
@media(max-width:760px){
  .historical-card .card-ticker{top:16px;right:16px;min-width:32px;height:21px;padding:0 5px;font-size:7px;letter-spacing:.09em}
  .historical-card .name-callout{left:12%}
}

/* V161 — Mobile header stays accessible while scrolling */
@media(max-width:1100px){
  .site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    opacity:1;
    transform:translateY(0);
    transition:opacity .35s ease,transform .35s ease,background .35s ease;
  }
  .site-header.mobile-scroll-ready{
    background:rgba(5,6,8,.45);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
}

/* V164 mobile legal */
@media(max-width:760px){.legal-meta{margin-top:18px;font-size:7px}.legal-alert{padding:19px;margin-top:28px}.legal-alert p{font-size:11px}}

/* V165 — lock Home page horizontal overflow on mobile. The orbital scene is intentionally clipped inside the viewport rather than expanding the document width. */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:760px){
  .hero{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}
  .orbit-wrap{max-width:100vw;overflow:visible}
}

/* V166 — mobile Home: move the hero copy below the fixed header for a cleaner opening. */
@media(max-width:760px){
  .hero{
    padding-top:94px !important;
  }
}

/* V167 — move the mobile Home animation slightly lower so it clears the CTA. */
@media (max-width: 760px) {
  .orbit-wrap { top: 63%; }
}

/* V168 — move the mobile Home animation further down to keep clear separation from the CTA. */
@media (max-width: 760px) {
  .orbit-wrap { top: 68%; }
}

/* V170 — mobile Home: clearly lower the animation to create more space below the CTA. */
@media (max-width: 760px) {
  .orbit-wrap { top: calc(68% + 55px); }
}

/* V171 — mobile Home: move the animation further down. */
@media (max-width: 760px) {
  .orbit-wrap { top: calc(68% + 115px); }
}

/* V173 — mobile Home: fine-tune animation position between previous mobile placements. */
@media (max-width:760px){
  .orbit-wrap{
    top:calc(68% + 90px) !important;
  }
}

/* V176 — mobile Home: move animation a little further upward while keeping clear space below CTA. */
@media (max-width:760px){
  .orbit-wrap{top:calc(68% + 40px) !important;}
}

/* V177 — mobile Home: move animation 15px higher. */
@media (max-width:760px){
  .orbit-wrap{top:calc(68% + 25px) !important;}
}


/* V178 — THE 20 archive performance chart */
.performance-chart-section{
  margin-top:72px;
  padding:42px 42px 30px;
  border:1px solid rgba(70,112,255,.16);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(7,11,20,.88),rgba(3,6,13,.96));
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.025);
}
.performance-chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:18px}
.performance-chart-head .eyebrow{margin-bottom:12px}
.performance-chart-head h2{font:500 clamp(34px,4vw,58px)/.96 var(--serif);letter-spacing:-.055em;margin:0}
.performance-chart-head h2 em{font-style:normal;color:var(--blue)}
.performance-chart-head p{margin:14px 0 0;color:#7f8991;font-size:13px;line-height:1.7;max-width:640px}
.chart-base-label{font:9px var(--mono);letter-spacing:.15em;color:#69737b;border:1px solid rgba(70,112,255,.18);padding:10px 12px;white-space:nowrap}
.performance-chart-shell{position:relative;height:430px;margin-top:20px;border-top:1px solid rgba(70,112,255,.10);overflow:visible}
.performance-chart-svg{display:block;width:100%;height:100%;overflow:visible}
.chart-grid-line{stroke:rgba(255,255,255,.065);stroke-width:1}
.chart-axis-label,.chart-x-label{font:9px var(--mono);fill:#59636b;letter-spacing:.05em}
.chart-x-label{fill:#6d767d}
.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;vector-effect:non-scaling-stroke;transition:opacity .25s ease}
.chart-line-portfolio{stroke:var(--blue)}
.chart-line-sp500{stroke:#fff;stroke-width:1.8}
.chart-area{fill:url(#portfolioArea);opacity:.8}
.chart-points circle{vector-effect:non-scaling-stroke;transition:opacity .25s ease}
.chart-points-portfolio circle{fill:var(--blue);stroke:#07102a;stroke-width:2}
.chart-points-sp500 circle{fill:#fff;stroke:#101217;stroke-width:2}
.chart-hover-targets rect{fill:transparent;cursor:crosshair;pointer-events:all}
.chart-line.is-hidden,.chart-points.is-hidden{opacity:0;pointer-events:none}
.performance-chart-tooltip{position:absolute;z-index:5;min-width:190px;padding:12px 14px;border:1px solid rgba(70,112,255,.30);border-radius:5px;background:rgba(5,8,15,.96);box-shadow:0 16px 40px rgba(0,0,0,.45),0 0 28px rgba(11,76,255,.08);font:10px var(--mono);letter-spacing:.02em;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;pointer-events:none}
.performance-chart-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.performance-chart-tooltip strong{display:block;color:#f3f0ea;font:500 12px var(--mono);margin-bottom:9px}
.performance-chart-tooltip span{display:flex;align-items:center;gap:7px;color:#aeb5bb;margin-top:5px}
.performance-chart-tooltip span b{margin-left:auto;color:#f3f0ea;font-weight:500}
.performance-chart-tooltip span b em{font-style:normal;color:#7f8a94;font-weight:400;font-size:9px}
.performance-chart-tooltip small{display:block;margin-top:10px;color:#667079;line-height:1.5}
.tooltip-blue,.tooltip-white{width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 auto;background:var(--blue)}
.tooltip-white{background:#fff}
.performance-chart-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:4px}
.performance-chart-legend{display:flex;align-items:center;gap:22px}
.chart-legend-item{border:0;background:transparent;color:#a8b0b6;padding:0;font:9px var(--mono);letter-spacing:.10em;display:inline-flex;align-items:center;gap:9px;cursor:pointer;transition:color .2s ease,opacity .2s ease}
.chart-legend-item:hover,.chart-legend-item.is-active{color:#f3f0ea}
.chart-legend-item:not(.is-active){opacity:.42}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.legend-dot-blue{background:var(--blue);box-shadow:0 0 12px rgba(11,76,255,.35)}
.legend-dot-white{background:#fff}
.performance-chart-summary{display:flex;gap:10px}
.chart-summary-item{min-width:118px;padding:10px 12px;border:1px solid rgba(70,112,255,.14);background:rgba(4,7,14,.48)}
.chart-summary-item span{display:block;color:#68727a;font:7px var(--mono);letter-spacing:.10em;margin-bottom:6px}
.chart-summary-item strong{font:500 16px var(--mono);color:var(--blue);letter-spacing:-.04em}
.chart-summary-item strong.chart-summary-white{color:#fff}
.performance-chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#69737b;font:9px var(--mono);letter-spacing:.12em}
@media(max-width:760px){
  .performance-chart-section{margin-top:54px;padding:28px 16px 22px;border-radius:6px}
  .performance-chart-head{align-items:flex-start;flex-direction:column;gap:16px}
  .performance-chart-head h2{font-size:38px}
  .performance-chart-head p{font-size:12px}
  .chart-base-label{align-self:flex-start}
  .performance-chart-shell{height:320px;margin-top:14px}
  .performance-chart-footer{align-items:flex-start;flex-direction:column;gap:20px;margin-top:12px}
  .performance-chart-legend{gap:16px;flex-wrap:wrap}
  .performance-chart-summary{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .chart-summary-item{min-width:0;padding:9px 8px}
  .chart-summary-item span{font-size:6px}
  .chart-summary-item strong{font-size:12px}
  .performance-chart-tooltip{min-width:174px;padding:10px 11px}
  .chart-axis-label,.chart-x-label{font-size:7px}
}

/* V179 — archive chart period selector */
.chart-periods{display:flex;align-items:center;border:1px solid rgba(70,112,255,.16);background:rgba(4,7,14,.45);border-radius:5px;overflow:hidden}
.chart-period-item{border:0;border-right:1px solid rgba(255,255,255,.06);background:transparent;color:#78828a;padding:10px 13px;font:9px var(--mono);letter-spacing:.08em;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.chart-period-item:last-child{border-right:0}
.chart-period-item:hover{color:#f3f0ea;background:rgba(70,112,255,.07)}
.chart-period-item.is-active{color:#fff;background:var(--blue);box-shadow:0 0 18px rgba(11,76,255,.18)}
@media(max-width:760px){
  .chart-periods{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
  .chart-period-item{padding:9px 4px;font-size:8px}
}

/* Minimal archive chart hover */
.performance-chart-tooltip .tooltip-index{display:none}

/* v194 — Archive as a minimal three-row table with pagination */
.archive-table-section{margin-top:75px;position:relative;padding-bottom:70px}
.archive-table-section::after{content:"";position:absolute;left:50%;bottom:0;width:100vw;height:1px;transform:translateX(-50%);background:rgba(255,255,255,.08);pointer-events:none}
.archive-table{border-top:1px solid var(--line)}
.archive-table-head,.archive-table-row{display:grid;grid-template-columns:1.2fr 1fr 180px;align-items:center}
.archive-table-head{min-height:42px;border-bottom:1px solid var(--line);padding:0 14px;color:#58636c;font:8px var(--mono);letter-spacing:.14em}
.archive-table-row{min-height:88px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;transition:background .2s ease}
.archive-table-row:hover{background:rgba(11,76,255,.05)}
.archive-table-row span{font:13px var(--mono);letter-spacing:.01em}
.archive-table-row b,.archive-table-row i{font:10px var(--mono);font-style:normal;letter-spacing:.1em}
.archive-table-row b{color:var(--blue);font-weight:400}
.archive-table-row i{justify-self:start;color:#707981}
.archive-table-row i.archive-performance-positive{color:#6ef26e;font-weight:500}
.archive-table-row i.archive-performance-negative{color:#ff7777;font-weight:500}
.archive-table-row i{font-size:13px;font-weight:500}
.archive-table-row i:empty{display:none}
.archive-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:18px}
.archive-page-arrow{width:34px;height:34px;border:1px solid rgba(70,112,255,.32);background:transparent;color:var(--text);font:16px var(--mono);cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}
.archive-page-arrow:hover:not(:disabled){background:rgba(11,76,255,.08);border-color:var(--blue)}
.archive-page-arrow:disabled{opacity:.22;cursor:default}
.archive-page-count{min-width:42px;text-align:center;color:#5f6870;font:8px var(--mono);letter-spacing:.1em}

@media(max-width:760px){
  .archive-table-section{margin-top:52px}
  .archive-table-head,.archive-table-row{grid-template-columns:1fr auto}
  .archive-table-head span:nth-child(2),.archive-table-row b{display:none}
  .archive-table-head span:last-child{justify-self:end}
  .archive-table-row{min-height:76px;padding:0 8px}
  .archive-table-row span{font-size:11px}
  .archive-table-row i{justify-self:end;font-size:12px}
  .archive-pagination{margin-top:14px}
}

/* V197 — Archive closing section mirrors the final Methodology section. */
.archive-method-end{margin-top:100px}
@media(max-width:760px){.archive-method-end{margin-top:70px}}

/* V199 — Restore breathing room before the Performance chart. */
.archive-table-section{
  position:relative;
}

.archive-table-section::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:100vw;
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.08);
  pointer-events:none;
}

/* Keep the separator between Performance and the closing section. */
.archive-method-end{
  position:relative;
}

.archive-method-end::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:100vw;
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.08);
  pointer-events:none;
}


/* V200 — Archive structure aligned with Methodology */
.archive-page{padding-top:130px;padding-bottom:140px}
.archive-page .back-link{margin-bottom:42px}
.archive-page>.eyebrow{margin-bottom:22px}
.archive-page>h1{font:500 clamp(60px,8vw,120px)/.82 var(--serif);letter-spacing:-.065em;margin:0;max-width:1000px}
.archive-page>h1 em{font-style:normal;color:var(--blue)}
.archive-page .archive-join-row{display:flex;align-items:flex-start;justify-content:flex-start;margin-top:30px}
.archive-page .archive-join-row .archive-join{margin:0}

/* First section separator: title/button -> table */
.archive-page .archive-table-section{margin-top:calc(100vh - 460px);padding-top:70px;padding-bottom:70px;position:relative;border-top:0}
.archive-page .archive-table-kicker{display:block;font:500 10px var(--mono);letter-spacing:.22em;color:#1768FF;margin:0 0 25px}
.archive-page .archive-table-section::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;transform:translateX(-50%);background:rgba(255,255,255,.08);pointer-events:none}
.archive-page .archive-table-section::after{display:none}

/* Second section separator: table -> performance */
.archive-page .performance-chart-section{margin-top:100px;padding:42px 42px 30px;position:relative;border:1px solid rgba(70,112,255,.16);border-radius:8px;background:linear-gradient(145deg,rgba(7,11,20,.88),rgba(3,6,13,.96));box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025)}
.archive-page .performance-chart-section::before{content:"";position:absolute;top:-89px;left:50%;width:100vw;height:1px;transform:translateX(-50%);background:rgba(255,255,255,.08);pointer-events:none}

/* Final section keeps the same Methodology-style separator */
.archive-page .archive-method-end{margin-top:100px}

@media(max-width:760px){
  /* Match Methodology mobile section rhythm exactly. */
  .archive-page{padding-top:90px;padding-bottom:90px;position:relative}
  .archive-page::before{
    content:"";
    position:absolute;
    top:900px;
    left:50%;
    width:100vw;
    height:1px;
    transform:translateX(-50%);
    background:rgba(255,255,255,.08);
    pointer-events:none;
  }
  .archive-page .archive-join-row{margin-top:24px}
  .archive-page .archive-table-section{
    margin-top:calc(100vh - 390px);
    padding-top:106px;
    padding-bottom:52px;
  }
  .archive-page .archive-table-section::before{display:none}
  .archive-page .performance-chart-section{
    margin-top:70px;
    padding:28px 16px 22px;
    border-radius:6px;
  }
  .archive-page .performance-chart-section::before{top:-66px}
  .archive-page .archive-method-end{margin-top:70px}
}

/* Archive moving-average intro */
.archive-intro{position:relative;isolation:isolate;margin:0 -42px;overflow:visible;}
.archive-intro-content{position:relative;z-index:2;width:100%;max-width:1000px;}
.archive-waveform-canvas{position:absolute;left:0;right:0;top:-130px;width:100%;height:calc(100vh - 180px);z-index:0;pointer-events:none;opacity:1;display:block;filter:drop-shadow(0 0 22px rgba(35,83,255,.08));}
.archive-intro::after{content:"";position:absolute;left:0;right:0;top:-130px;height:calc(100vh - 180px);z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,rgba(2,5,12,.58) 0%,rgba(2,5,12,.34) 30%,rgba(2,5,12,.08) 65%,rgba(2,5,12,0) 86%);}
.archive-intro .back-link,.archive-intro h1,.archive-intro .archive-join-row{position:relative;z-index:2}

@media(max-width:900px){
  .archive-intro{margin:0 -24px;}
  .archive-waveform-canvas,.archive-intro::after{top:-100px;height:calc(100vh - 140px);}
  .archive-waveform-canvas{opacity:.92}
}
@media(max-width:680px){
  .archive-intro{margin:0 -16px;}
  .archive-waveform-canvas,.archive-intro::after{top:-90px;height:calc(100vh - 120px);}
  .archive-waveform-canvas{opacity:.84}
  .archive-intro::after{background:radial-gradient(ellipse at 50% 45%,rgba(2,5,12,.68) 0%,rgba(2,5,12,.46) 38%,rgba(2,5,12,.12) 72%,rgba(2,5,12,0) 92%)}
}
@media(prefers-reduced-motion:reduce){
  .archive-waveform-canvas{opacity:.36}
}

/* V201 — Archive hero mirrors Methodology hero exactly: particle globe + editorial heading */
.archive-page{position:relative;overflow:visible;}
.archive-intro{position:relative;isolation:isolate;margin:0;overflow:visible;}
.archive-intro-content{position:relative;z-index:10;width:100%;max-width:1000px;}
.archive-intro .back-link{margin-bottom:42px;}
.archive-intro .eyebrow{margin-bottom:22px;}
.archive-intro h1{position:relative;z-index:11;font:500 clamp(60px,8vw,120px)/.82 var(--serif);letter-spacing:-.065em;margin:0 0 25px;max-width:900px;}
.archive-intro h1 em{font-style:normal;color:var(--blue);}
.archive-intro .archive-join-row{display:flex;align-items:flex-start;justify-content:flex-start;margin-top:30px;}
.archive-intro .archive-join-row .archive-join{margin:0;}
.archive-page{position:relative;}
.archive-particle-globe{position:absolute;z-index:1;pointer-events:none;width:100%;height:620px;left:0;right:auto;top:35px;opacity:.82;filter:drop-shadow(0 0 34px rgba(35,83,255,.10));}
.archive-particle-globe canvas{display:block;width:100%;height:100%;}
.archive-intro::after{display:none;}
@media(max-width:900px){
  .archive-particle-globe{width:100%;height:500px;left:0;right:auto;top:85px;opacity:.42;}
}
@media(max-width:680px){
  .archive-intro{margin:0;}
  .archive-intro-content{max-width:100%;}
  .archive-particle-globe{width:100%;height:410px;left:0;right:auto;top:115px;opacity:.25;}
  .archive-intro .back-link{margin-bottom:32px;}
  .archive-intro h1{font-size:clamp(52px,14vw,82px);line-height:.82;margin-bottom:25px;}
  .archive-intro .archive-join-row{margin-top:24px;}
}
@media(prefers-reduced-motion:reduce){
  .archive-particle-globe{opacity:.36;}
}



/* V35 — Archive particle waves fill the entire hero background. */
.archive-particle-globe{
  position:absolute !important;
  z-index:1 !important;
  pointer-events:none;
  width:100% !important;
  height:calc(100vh - 70px) !important;
  left:0 !important;
  right:auto !important;
  top:-30px !important;
  opacity:.84 !important;
  filter:drop-shadow(0 0 34px rgba(35,83,255,.10));
}
.archive-particle-globe canvas{display:block;width:100%;height:100%;}
.archive-intro-content{position:relative;z-index:10 !important;}
.archive-intro .back-link,
.archive-intro .eyebrow,
.archive-intro h1,
.archive-intro .archive-join-row{position:relative;z-index:11 !important;}
@media(max-width:900px){
  .archive-particle-globe{height:calc(100vh - 80px) !important;top:-25px !important;opacity:.62 !important;}
}
@media(max-width:680px){
  .archive-particle-globe{height:calc(100vh - 90px) !important;top:-15px !important;opacity:.46 !important;}
}

/* V68 — Archive particle canvas is visual-only; it must never intercept the hero CTA click. */
.archive-page .archive-particle-globe,
.archive-page .archive-particle-globe canvas{
  pointer-events:none !important;
}
.archive-page .archive-intro .archive-join-row,
.archive-page .archive-intro .archive-join-row .archive-join{
  position:relative !important;
  z-index:999 !important;
  pointer-events:auto !important;
}

/* V49 — Keep the hero CTA explicitly above the particle canvas and clickable. */
.archive-intro .archive-join-row,
.archive-intro .archive-join-row .archive-join{
  position:relative !important;
  z-index:30 !important;
  pointer-events:auto !important;
}
.archive-intro .archive-join-row .archive-join{
  cursor:pointer;
}


/* V103 — Archive table section matches Methodology THE SIGNALS structure exactly */
.archive-page{position:relative}
.archive-page::before{
  content:"";
  position:absolute;
  top:calc(100vh - 82px);
  left:50%;
  width:100vw;
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.08);
  pointer-events:none
}
.archive-page .archive-methodology-match{
  margin-top:36px;
  padding-top:143px;
  padding-bottom:70px;
  border-top:0;
}
.archive-page .archive-methodology-match::before{display:none}
.archive-page .archive-methodology-match .archive-table-headline{
  display:block;
  padding-top:143px;
  margin:0 0 32px;
}
.archive-page .archive-methodology-match .archive-table-headline>div{
  display:block;
}
.archive-page .archive-methodology-match .signals-kicker{
  display:block;
  margin:0;
  font:500 10px var(--mono);
  letter-spacing:.22em;
  line-height:1;
  color:#1768FF;
}
.archive-page .archive-methodology-match .archive-table{
  margin:0;
}
@media(max-width:760px){
  .archive-page::before{top:900px}
  .archive-page .archive-methodology-match{margin-top:35px;padding-top:106px;padding-bottom:52px}
  .archive-page .archive-methodology-match .archive-table-headline{padding-top:106px;margin-bottom:24px}
  .archive-page .archive-methodology-match .signals-kicker{margin:0}
}

/* V57 — PREVIOUS SELECTIONS: exact Methodology section rhythm, without the duplicated inner padding. */
.archive-page .archive-methodology-match{
  margin-top:calc(100vh - 460px);
  padding-top:143px;
  padding-bottom:70px;
}
.archive-page .archive-methodology-match .archive-table-headline{
  display:block;
  padding-top:0;
  margin:0 0 56px;
}
.archive-page .archive-methodology-match .archive-table-headline>div{
  display:block;
  padding:0;
  margin:0;
}
.archive-page .archive-methodology-match .signals-kicker{
  display:block;
  margin:0;
  padding:0;
  font:500 10px/1 var(--mono);
  letter-spacing:.22em;
  color:#1768FF;
}
.archive-page .archive-methodology-match .archive-table{margin:0}
@media(max-width:760px){
  .archive-page .archive-methodology-match{
    margin-top:calc(100vh - 390px);
    padding-top:106px;
    padding-bottom:52px;
  }
  .archive-page .archive-methodology-match .archive-table-headline{
    padding-top:0;
    margin:0 0 40px;
  }
}


/* V58 — Archive: place PREVIOUS SELECTIONS on the same vertical rhythm as Methodology THE SIGNALS.
   The separator remains the existing page-level divider. */
.archive-page .archive-intro h1{margin-bottom:0;}
.archive-page .archive-methodology-match{
  margin-top:0;
  padding-top:0;
  padding-bottom:70px;
}
.archive-page .archive-methodology-match .archive-table-headline{
  padding-top:85px;
  margin:0 0 56px;
}
.archive-page .archive-methodology-match .archive-table-headline>div{
  padding:0;
  margin:0;
}
.archive-page .archive-methodology-match .signals-kicker{
  margin:0;
  font:500 10px/1 var(--mono);
  letter-spacing:.22em;
  color:#1768FF;
}
@media(max-width:760px){
  .archive-page .archive-intro h1{margin-bottom:0;}
  .archive-page .archive-methodology-match{margin-top:0;padding-top:0;padding-bottom:52px;}
  .archive-page .archive-methodology-match .archive-table-headline{padding-top:72px;margin-bottom:40px;}
}


/* V59 — Put PREVIOUS SELECTIONS and the archive table definitively BELOW the existing divider.
   The divider itself is untouched. The content starts 120px below it, matching Methodology THE SIGNALS. */
.archive-page .archive-methodology-match .archive-table-headline{
  padding-top:329px;
  margin:0 0 56px;
}
@media(max-width:760px){
  .archive-page .archive-methodology-match .archive-table-headline{
    padding-top:176px;
    margin:0 0 40px;
  }
}

/* V61 — PREVIOUS SELECTIONS: use the exact same structural spacing as Methodology / THE SIGNALS. */
.archive-page .archive-methodology-match{
  margin-top:100px;
  padding-top:0;
  padding-bottom:110px;
  border-top:0;
}
.archive-page .archive-methodology-match .archive-table-headline{
  padding-top:143px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:80px;
  align-items:start;
  margin:0 0 56px;
}
.archive-page .archive-methodology-match .archive-table-headline>div{
  display:block;
  padding:0;
  margin:0;
}
.archive-page .archive-methodology-match .signals-kicker{
  display:block;
  margin:0 0 14px;
  padding:0;
  font:500 10px var(--mono);
  letter-spacing:.22em;
  line-height:1;
  color:#1768FF;
}
.archive-page .archive-methodology-match .archive-table{margin:0}
@media(max-width:1050px){
  .archive-page .archive-methodology-match .archive-table-headline{
    grid-template-columns:1fr;
    gap:20px;
  }
}
@media(max-width:760px){
  .archive-page .archive-methodology-match{
    margin-top:70px;
    padding-top:0;
    padding-bottom:65px;
  }
  .archive-page .archive-methodology-match .archive-table-headline{
    padding-top:106px;
    margin:0 0 40px;
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
  }
  .archive-page .archive-methodology-match .signals-kicker{
    margin-bottom:18px;
  }
}



/* V70 — Intermediate particle-wave scale on mobile. */
@media(max-width:680px){
  .archive-page .archive-particle-globe{
    height:420px !important;
    top:25px !important;
  }
}

/* V74 — Mobile: match Methodology THE SIGNALS structure exactly.
   Methodology uses 100px section margin + 106px head padding on mobile.
   The existing Archive divider stays in its current page position. */
@media(max-width:760px){
  .archive-page .archive-methodology-match{
    margin-top:100px;
    padding-top:0;
  }
  .archive-page .archive-methodology-match .archive-table-headline{
    padding-top:106px;
    margin:0 0 40px;
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
  }
  .archive-page .archive-methodology-match .signals-kicker{
    margin-bottom:18px;
  }
}

/* V75 — Archive mobile: exact Methodology THE SIGNALS vertical structure. */
@media(max-width:760px){
  .archive-page .archive-methodology-match{
    margin-top:70px;
    padding-top:0;
    padding-bottom:65px;
  }
  .archive-page .archive-methodology-match .archive-table-headline{
    padding-top:106px;
    margin:0 0 40px;
  }
}

/* V76 — Mobile Archive: match the effective THE SIGNALS vertical position.
   Methodology's hero is taller before the section begins because its H1 wraps to
   an extra line on mobile. Add only that missing vertical amount here; keep the
   existing divider and particle animation untouched. */
@media(max-width:760px){
  .archive-page .archive-methodology-match{
    margin-top:115px;
    padding-top:0;
  }
  .archive-page .archive-methodology-match .archive-table-headline{
    padding-top:106px;
    margin:0 0 40px;
  }
}

/* V78 — Mobile: move the particle animation further down without changing its scale. */
@media(max-width:680px){
  .archive-page .archive-particle-globe{
    top:40px !important;
  }
}

/* V176 — authenticated profile label is stable across desktop/mobile. */
.account-entry.is-authenticated{
  min-width:136px;
  gap:9px;
  justify-content:center;
}
.account-entry.is-authenticated .account-name{
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
@media(max-width:760px){
  .mobile-menu-nav .mobile-menu-account.is-authenticated{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-width:0;
    width:auto;
    white-space:nowrap;
  }
  .mobile-menu-nav .mobile-menu-account.is-authenticated .account-name{
    max-width:none;
    overflow:visible;
    white-space:nowrap;
  }
}

/* V177 — current selection names sit vertically centered like the historical cards. */
.current-selection-card{
  justify-content:space-between;
}
.current-selection-card > b{
  align-self:center;
  width:100%;
  text-align:center;
  margin:auto 0;
  padding:0 38px 0 18px;
}
@media(max-width:760px){
  .current-selection-card > b{
    padding:0 28px 0 10px;
  }
}

/* V180 — authenticated profile label uses THE20 blue on desktop and mobile. */
.account-entry.is-authenticated .account-name,
.mobile-menu-nav .mobile-menu-account.is-authenticated .account-name{
  color:var(--blue);
}

/* V181 — current-month cards intentionally mirror the historical card layout:
   number top-left, ticker top-right, company name centered, no return value. */
.current-selection-card{
  min-height:150px;
  padding:22px;
  justify-content:space-between;
}
.current-selection-card .mini-num{
  position:relative;
  z-index:2;
  align-self:flex-start;
  font:9px var(--mono);
  color:var(--blue);
  letter-spacing:.12em;
}
.current-selection-card .card-ticker{
  position:absolute;
  top:20px;
  right:22px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:28px;
  padding:0 9px;
  border:1px solid rgba(11,76,255,.55);
  border-radius:3px;
  background:rgba(5,10,24,.72);
  color:var(--blue);
  font:500 9px var(--mono);
  letter-spacing:.10em;
  line-height:1;
  white-space:nowrap;
}
.current-selection-card > b{
  position:relative;
  z-index:1;
  align-self:center;
  width:100%;
  margin:auto 0;
  padding:0 42px 0 22px;
  text-align:center;
  font:500 24px/1.05 var(--serif);
  letter-spacing:-.03em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.current-selection-card .company-return,
.current-selection-card > i:not(.company-return){
  display:none;
}
@media(max-width:760px){
  .current-selection-card{
    min-height:130px;
    padding:17px;
  }
  .current-selection-card .card-ticker{
    top:16px;
    right:16px;
    min-width:32px;
    height:21px;
    padding:0 5px;
    font-size:7px;
    letter-spacing:.09em;
  }
  .current-selection-card > b{
    padding:0 30px 0 12px;
    font-size:18px;
  }
}


/* V183 — final visual polish: current-month names align left like historical cards. */
.current-selection-card > b{
  position:absolute;
  left:22px;
  right:22px;
  top:50%;
  width:auto;
  margin:0;
  padding:0 8px 0 0;
  transform:translateY(-50%);
  text-align:left;
  font:500 24px/1.05 var(--serif);
  letter-spacing:-.03em;
  color:#f5f1eb !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.current-selection-card .card-ticker{
  position:absolute !important;
  top:20px !important;
  right:22px !important;
  z-index:5 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:28px;
  padding:0 9px;
  border:1px solid rgba(11,76,255,.70);
  border-radius:3px;
  background:rgba(5,10,24,.78);
  color:#fff !important;
  font:500 9px var(--mono) !important;
  letter-spacing:.10em;
  line-height:1;
  white-space:nowrap;
  opacity:1 !important;
  visibility:visible !important;
}
.current-selection-card .mini-num{
  position:relative;
  z-index:5;
  color:var(--blue) !important;
}
.account-entry.is-authenticated .account-name,
.mobile-menu-nav .mobile-menu-account.is-authenticated .account-name{
  color:#fff !important;
}
@media(max-width:760px){
  .current-selection-card > b{
    left:17px;
    right:17px;
    padding:0;
    font-size:18px;
    text-align:left;
  }
  .current-selection-card .card-ticker{
    top:16px !important;
    right:16px !important;
    min-width:32px;
    height:21px;
    padding:0 5px;
    font-size:7px !important;
  }
}


/* V183 — cleaner account and membership modal hierarchy. */
.membership-card h2{margin-bottom:18px}
.membership-intro{margin:0 0 10px!important;max-width:390px}
.membership-price{font:500 13px/1.4 var(--sans,Arial,sans-serif);color:rgba(255,255,255,.72);margin:0 0 24px}
.membership-intro[hidden],.membership-price[hidden]{display:none!important}

.membership-note[hidden]{display:none!important}

/* V186 — original header look, fixed geometry, equal navigation spacing, no layout shift. */
html{scrollbar-gutter:stable;}
.site-header{grid-template-columns:140px minmax(0,1fr) 330px auto auto;column-gap:28px;}
.site-header > nav{width:330px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:center;justify-content:stretch;}
.site-header > nav a{width:100%;box-sizing:border-box;display:block;text-align:center;white-space:nowrap;font:400 10px var(--mono);letter-spacing:.12em;color:#8f979d;transform:none!important;text-indent:0;}
.site-header > nav a:hover,.site-header > nav a:focus,.site-header > nav a:active{transform:none!important;}
.site-header > nav a.nav-active{color:var(--blue)!important;}
@media(max-width:1100px){.site-header{grid-template-columns:140px minmax(0,1fr) 300px auto auto;column-gap:22px;}.site-header > nav{width:300px;}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto;}.site-header > nav{display:none;}}

/* V186 — modal fits every viewport; the form scrolls inside instead of pushing the dialog off-screen. */
.membership-modal{padding:20px;}
.membership-card{max-height:calc(100dvh - 40px);overflow:hidden;}
.membership-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;}
.membership-legal{order:initial;margin:0 0 16px;}
.membership-consent{max-width:100%;}
.membership-logo{left:50%;top:50%;width:132px;transform:translate(-50%,-50%);}
@media(max-width:760px){.membership-modal{padding:10px;align-items:center;overflow-y:auto;}.membership-card{max-height:calc(100dvh - 20px);}.membership-content{overflow-y:auto;}.membership-logo{width:112px;}}
@media(max-width:430px){.membership-modal{padding:8px;}.membership-card{max-height:calc(100dvh - 16px);}.membership-logo{width:104px;}}

/* V187 — final header geometry and archive context */
.site-header{grid-template-columns:140px minmax(0,1fr) minmax(300px,360px) auto;column-gap:28px;}
.site-header > nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:0;align-items:center;}
.site-header > nav a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--mono)!important;font-weight:400!important;font-size:10px!important;letter-spacing:.12em!important;line-height:1!important;white-space:nowrap;transform:none!important;}
.site-header > nav a.nav-active,
.site-header > nav a.active,
body.archive-page .site-header > nav a[href="archive.html"],
body.selection-page .site-header > nav a[href="archive.html"]{color:var(--blue)!important;}
@media(max-width:1100px){.site-header{grid-template-columns:140px minmax(0,1fr) 300px auto;column-gap:20px}.site-header > nav{width:300px}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto}.site-header > nav{display:none}}

/* V188 — header + modal mobile correction */
@media(min-width:761px){
  .site-header{
    position:relative;
    display:flex;
    align-items:center;
    height:82px;
    padding:0 5vw;
    gap:0;
  }
  .site-header > .brand{flex:0 0 auto;}
  .site-header > .brand-note{margin-left:46px;white-space:nowrap;}
  .site-header > nav{
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
    width:390px;
    height:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    align-items:center;
  }
  .site-header > nav a,
  .site-header > nav a:hover,
  .site-header > nav a:focus,
  .site-header > nav a:active{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-family:var(--mono)!important;
    font-weight:400!important;
    font-size:10px!important;
    letter-spacing:.12em!important;
    line-height:1!important;
    transform:none!important;
  }
  .site-header > .account-entry{
    margin-left:auto;
    flex:0 0 auto;
  }
}

@media(max-width:760px){
  .site-header{
    height:70px!important;
    min-height:70px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0 20px!important;
  }
  .site-header > .brand{display:block!important;flex:0 0 auto;}
  .site-header > .brand-note{display:none!important;}
  .site-header > nav{display:none!important;}
  .site-header > .account-entry{display:none!important;}
  .site-header > .mobile-menu-toggle{margin-left:auto!important;}

  /* Keep the dialog centered on phones; only its content scrolls. */
  .membership-modal{
    inset:0!important;
    padding:12px!important;
    display:none;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .membership-modal.is-open{display:flex!important;}
  .membership-card{
    width:min(520px,calc(100vw - 24px))!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 24px)!important;
    margin:0!important;
    display:block!important;
    overflow:hidden!important;
    border-radius:16px!important;
  }
  .membership-content{
    width:100%!important;
    max-height:calc(100dvh - 24px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:30px 20px 22px!important;
  }
  .membership-card h2{
    font-size:clamp(36px,10.5vw,48px)!important;
    line-height:.94!important;
    margin-bottom:18px!important;
    max-width:100%!important;
  }
  .membership-intro{font-size:13px!important;line-height:1.5!important;margin-bottom:16px!important;}
  .membership-price{margin-bottom:22px!important;}
  .membership-tabs{margin-bottom:20px!important;}
  .membership-form input{padding:13px 12px!important;margin-bottom:13px!important;}
  .membership-legal{margin:1px 0 16px!important;}
  .membership-consent{font-size:9px!important;line-height:1.5!important;}
  .membership-submit{padding:14px 14px!important;}
  .membership-note{margin-top:16px!important;padding-top:13px!important;}
  .membership-close{right:12px!important;top:10px!important;}
}

@media(max-width:380px){
  .site-header{padding:0 16px!important;}
  .membership-modal{padding:8px!important;}
  .membership-card{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;}
  .membership-content{max-height:calc(100dvh - 16px)!important;padding:27px 17px 18px!important;}
  .membership-card h2{font-size:36px!important;}
  .membership-kicker{font-size:8px!important;margin-bottom:11px!important;}
}

/* V189 — definitive desktop header geometry.
   Keep brand, tagline, navigation and account control on one stable row. */
@media (min-width:761px){
  .site-header{
    display:grid!important;
    grid-template-columns:140px minmax(0,1fr) 390px max-content!important;
    grid-template-rows:82px!important;
    align-items:center!important;
    width:100%!important;
    height:82px!important;
    min-height:82px!important;
    padding:0 5vw!important;
    column-gap:34px!important;
    row-gap:0!important;
    position:relative!important;
  }
  .site-header > .brand{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
    position:static!important;
  }
  .site-header > .brand-note{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    white-space:nowrap!important;
  }
  .site-header > nav{
    grid-column:3!important;
    grid-row:1!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:390px!important;
    height:82px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:center!important;
    gap:0!important;
  }
  .site-header > nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:82px!important;
    margin:0!important;
    padding:0!important;
    font-family:var(--mono)!important;
    font-size:10px!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    text-align:center!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .site-header > .account-entry{
    grid-column:4!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    position:static!important;
  }
  .site-header > .mobile-menu-toggle{display:none!important;}
}

@media (min-width:761px) and (max-width:1180px){
  .site-header{
    grid-template-columns:130px minmax(0,1fr) 320px max-content!important;
    column-gap:20px!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }
  .site-header > nav{width:320px!important;}
  .site-header > .brand-note{display:none!important;}
}

/* V189 — selection pages inherit the Archive active state. */
body.selection-page .site-header > nav a[href="archive.html"],
body.archive-page .site-header > nav a[href="archive.html"]{
  color:var(--blue)!important;
}

/* V190 — desktop header: navigation sits immediately beside the account CTA, not centered on the viewport. */
@media(min-width:761px){
  .site-header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) 390px auto!important;
    align-items:center!important;
    column-gap:28px!important;
    height:82px!important;
    padding:0 5vw!important;
  }
  .site-header > .brand{grid-column:1;grid-row:1;}
  .site-header > .brand-note{grid-column:2;grid-row:1;margin-left:18px!important;white-space:nowrap;}
  .site-header > nav{
    grid-column:3;grid-row:1;
    position:static!important;
    transform:none!important;
    width:390px!important;
    height:82px!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:center!important;
  }
  .site-header > .account-entry{
    grid-column:4;grid-row:1;
    margin-left:0!important;
    justify-self:end;
  }
}
@media(min-width:761px) and (max-width:1100px){
  .site-header{grid-template-columns:auto minmax(0,1fr) 330px auto!important;column-gap:20px!important;}
  .site-header > nav{width:330px!important;}
}

/* V191 — equal edge-to-edge spacing between desktop navigation labels. */
@media (min-width: 761px){
  .site-header{
    grid-template-columns:auto minmax(0,1fr) max-content auto !important;
    column-gap:28px !important;
  }
  .site-header > nav{
    grid-column:3 !important;
    grid-row:1 !important;
    width:max-content !important;
    min-width:0 !important;
    height:82px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:42px !important;
    margin:0 !important;
    padding:0 !important;
  }
  .site-header > nav a{
    width:auto !important;
    min-width:0 !important;
    display:block !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    font-family:var(--mono) !important;
    font-size:10px !important;
    font-weight:400 !important;
    letter-spacing:.12em !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .site-header > .account-entry{
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:end !important;
    margin:0 !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px){
  .site-header{column-gap:20px !important;}
  .site-header > nav{gap:28px !important;}
}

/* V192 — desktop header: keep HOME / METHODOLOGY / ARCHIVE as a right-side group immediately beside the account button. */
@media (min-width:761px){
  .site-header{
    grid-template-columns:auto minmax(0,1fr) max-content max-content !important;
    column-gap:18px !important;
  }
  .site-header > .brand-note{
    min-width:0 !important;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .site-header > nav{
    justify-self:end !important;
    width:max-content !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:34px !important;
    margin:0 !important;
  }
  .site-header > nav a{
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    width:auto !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }
  .site-header > .account-entry{
    justify-self:end !important;
    margin:0 !important;
  }
}

@media (min-width:761px) and (max-width:1100px){
  .site-header{
    column-gap:16px !important;
  }
  .site-header > nav{
    gap:26px !important;
  }
}

/* V195 — definitive header fix.
   Desktop: one horizontal row, navigation and account control share the same
   right-side rhythm. Mobile: logo + hamburger only, with a reliable full-screen menu. */
@media (min-width:761px){
  .site-header{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:82px!important;
    min-height:82px!important;
    padding:0 5vw!important;
    gap:0!important;
    overflow:hidden!important;
  }

  .site-header > .brand{
    flex:0 0 auto!important;
    width:auto!important;
    margin:0!important;
    position:static!important;
    align-self:center!important;
  }

  .site-header > .brand-note{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0 0 0 46px!important;
    padding:0!important;
    position:static!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    align-self:center!important;
  }

  .site-header > nav{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    height:82px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:34px!important;
    margin:0 0 0 34px!important;
    padding:0!important;
    position:static!important;
    transform:none!important;
    align-self:center!important;
  }

  .site-header > nav a{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    white-space:nowrap!important;
    font-family:var(--mono)!important;
    font-size:10px!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    transform:none!important;
  }

  .site-header > .account-entry{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    margin:0 0 0 34px!important;
    padding:12px 17px!important;
    align-self:center!important;
    justify-self:auto!important;
    position:static!important;
    white-space:nowrap!important;
  }

  .site-header > .mobile-menu-toggle{display:none!important;}
}

/* At narrower desktop/tablet widths the tagline gives way first; the
   navigation/account spacing remains identical. */
@media (min-width:761px) and (max-width:1180px){
  .site-header{
    padding-left:28px!important;
    padding-right:28px!important;
  }
  .site-header > .brand-note{display:none!important;}
  .site-header > nav{
    margin-left:auto!important;
    gap:26px!important;
  }
  .site-header > .account-entry{
    margin-left:26px!important;
    padding:11px 14px!important;
    font-size:9px!important;
  }
}

@media (min-width:761px) and (max-width:900px){
  .site-header > nav{gap:20px!important;}
  .site-header > .account-entry{margin-left:20px!important;padding:10px 12px!important;font-size:8px!important;letter-spacing:.09em!important;}
}

/* V195 mobile menu hardening — applies equally to Home, Archive,
   Methodology and every legal page. */
@media (max-width:760px){
  .site-header{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    height:70px!important;
    min-height:70px!important;
    padding:0 20px!important;
    overflow:visible!important;
    position:relative!important;
    z-index:10001!important;
  }
  .site-header > .brand{display:block!important;flex:0 0 auto!important;margin:0!important;}
  .site-header > .brand-note,
  .site-header > nav,
  .site-header > .account-entry{display:none!important;}
  .site-header > .mobile-menu-toggle{
    display:flex!important;
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    margin:0 0 0 auto!important;
    position:relative!important;
    z-index:10003!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  .mobile-menu{
    position:fixed!important;
    inset:0!important;
    z-index:10000!important;
    display:block!important;
    width:100vw!important;
    height:100dvh!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  .mobile-menu.is-open{
    pointer-events:auto!important;
  }
  .mobile-menu-inner{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:26px 24px 24px!important;
  }
  .mobile-menu-nav a{
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  .mobile-menu-close{
    position:relative!important;
    z-index:10004!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  body.menu-open{overflow:hidden!important;touch-action:none;}
}
