
:root{
  --paper:#f5f4f1;
  --paper-deep:#ece9e2;
  --ink:#0a2235;
  --ink-soft:#41566b;
  --line:#0a2235;
  --green:#1e6f4a;
  --red:#b3261e;
  --gold:#c0995c;
  --serif:'Cinzel', Georgia, serif;
  --text:'Manrope', -apple-system, sans-serif;
  --sans:'Manrope', -apple-system, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--text);line-height:1.55}
a{color:inherit}
.rule{height:2px;background:var(--line);margin:0 auto;max-width:1080px}
.brandwrap{background:var(--ink)}
.brandbar{max-width:1080px;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}
.brand img{height:30px;display:block}
.brand{display:flex;align-items:center;gap:12px}
.brand .bmark{height:34px}
.brand-research{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:#8595a8}
.brand-research:hover{color:var(--paper)}
.hero{background:var(--ink);color:var(--paper);padding:52px 0 58px}
.hero>*{max-width:1080px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.hero h1{color:var(--paper)}
.hero h1::after{content:'';display:block;width:220px;height:2px;background:var(--gold);margin-top:26px}
.hero-intro{color:#8595a8;max-width:1080px}.hero-intro{font-size:17.5px;line-height:1.6}
.hero-kicker{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4.6vw,52px);line-height:1.12}
.hero-intro{margin-top:20px;color:var(--ink-soft);font-size:17px}
.controls{max-width:1080px;margin:34px auto 0;padding:0 24px}
#search{width:100%;padding:13px 16px;font:16px var(--text);background:#fff;border:1.5px solid var(--ink);border-radius:2px;outline:none}
.control-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:14px}
.viewtoggle{display:flex;border:1.5px solid var(--ink);border-radius:2px;overflow:hidden;flex:none}
.vt-btn{font:600 13px var(--sans);letter-spacing:.04em;padding:8px 16px;background:transparent;border:0;cursor:pointer;color:var(--ink)}
.vt-btn.active{background:var(--ink);color:var(--paper)}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{font:500 12px var(--sans);padding:6px 11px;border:1px solid var(--ink-soft);border-radius:999px;background:transparent;color:var(--ink-soft);cursor:pointer}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip-sep{width:10px}
.result-count{font:12px var(--sans);color:var(--ink-soft);margin-top:10px;min-height:16px}
main{max-width:1080px;margin:0 auto;padding:8px 24px 60px}
.era{margin-top:44px}
.era-title{font-family:var(--serif);font-weight:700;font-size:27px;border-bottom:2px solid var(--line);padding-bottom:8px;margin-bottom:18px}
.era-years{font-size:16px;color:var(--gold);font-style:italic;margin-left:10px}
.sub-title{font:600 13px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin:22px 0 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;gap:3px;background:#fff;border:1.5px solid var(--ink);border-radius:3px;padding:14px 16px;text-decoration:none;position:relative;transition:transform .12s ease, box-shadow .12s ease}
.tile:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--ink)}
.tile-top{display:flex;justify-content:space-between;align-items:center;min-height:20px}
.tile-year{font:600 11px var(--sans);letter-spacing:.1em;color:var(--gold)}
.tile-logo{max-height:22px;max-width:104px;object-fit:contain;opacity:.92}
.c-titlerow{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.c-logo{max-height:34px;max-width:150px;object-fit:contain}
.tile-name{font-family:var(--serif);font-size:19px;line-height:1.2;color:var(--ink);font-weight:400}
.tile-sub{font:12px var(--sans);color:var(--ink-soft)}
.tile-status{font:600 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-top:6px}
.tile.st-active .tile-status{color:var(--green)}
.tile.st-failed .tile-status{color:var(--red)}
.tile.st-acquired .tile-status{color:var(--gold)}
.tile.st-failed .tile-name{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:rgba(179,38,30,.55)}
.hidden{display:none !important}
.st-active{color:var(--green);font-weight:600}
.st-failed{color:var(--red);font-weight:600}
.st-acquired{color:var(--gold);font-weight:600}
/* takes */
.takes,.vcs{margin-top:76px}
.takes .rule,.vcs .rule{margin-bottom:40px}
.takes-title{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.4vw,38px);line-height:1.16;margin:12px 0 8px}
.takes-intro{color:var(--ink-soft);margin:10px 0 26px}
.take-block{margin-top:34px}
.take-block h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:14px}
.take-block p{font-size:16.5px;margin-bottom:14px}
.thin-rule{height:1px;background:rgba(10,34,53,.22);max-width:720px;margin:36px 0}
/* vcs */
.vc-list{}
.vc{border-bottom:1px solid rgba(10,34,53,.22)}
.vc summary{display:flex;align-items:baseline;gap:14px;padding:15px 4px;cursor:pointer;list-style:none}
.vc summary::-webkit-details-marker{display:none}
.vc summary::after{content:'+';margin-left:auto;font:400 20px var(--sans);color:var(--ink-soft)}
.vc[open] summary::after{content:'\2212'}
.vc-num{font:600 12px var(--sans);color:var(--gold);min-width:22px}
.vc-name{font-family:var(--serif);font-size:20px}
.vc-years{font:12px var(--sans);color:var(--ink-soft)}
.vc-body{padding:4px 4px 20px 36px}
.vc-body .why{margin-top:16px}
.foot{background:var(--ink);color:#8595a8;margin:60px 0 0;padding:44px 24px 50px;font:13.5px var(--sans)}
.foot .rule{display:none}
.foot p{max-width:1080px;margin:0 auto;line-height:1.6}
.foot a{color:var(--gold)}
/* subscribe panel */
.subwrap{max-width:1080px;margin:70px auto 0;padding:0 24px}
.subcard{background:var(--ink);color:var(--paper);border-top:2px solid var(--gold);padding:40px 38px;text-align:center}
.subcard h3{font-family:var(--serif);font-weight:700;font-size:24px;letter-spacing:-.01em}
.subcard p{color:#8595a8;font-size:15px;max-width:460px;margin:12px auto 22px;line-height:1.6}
.subcard form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.subcard input[type=email]{background:transparent;border:1px solid rgba(245,244,241,.16);color:var(--paper);padding:12px 16px;font:14.5px var(--sans);min-width:250px}
.subcard input[type=email]::placeholder{color:#8595a8}
.subcard button{background:var(--gold);border:1px solid var(--gold);color:var(--ink);padding:12px 26px;font:700 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.subcard button:hover{background:transparent;color:var(--gold)}
.subcard .done{color:var(--gold);font-size:15px;font-weight:600}
/* card (overlay + static page) */
.card{background:var(--paper);padding:34px 38px;max-width:760px}
.c-kicker{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold);border-bottom:2px solid var(--line);padding-bottom:8px;margin-bottom:16px}
.c-name{font-family:var(--serif);font-weight:700;font-size:34px;line-height:1.1}
.c-meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:8px 0 20px}
.c-founders{font-size:16px}
.c-facts{font:12.5px var(--sans);color:var(--ink-soft)}
.c-sec{margin-bottom:14px;font-size:16.5px}
.c-label{font-weight:600}
.why{border:2px solid var(--line);border-left-width:8px;border-radius:6px;background:#ffffff;padding:14px 18px;margin-top:22px}
.why-label{font-weight:600;text-decoration:underline;text-underline-offset:3px;margin-bottom:6px}
/* overlay */
.noscroll{overflow:hidden}
.overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}
.overlay[hidden]{display:none}
.overlay-backdrop{position:absolute;inset:0;background:rgba(10,34,53,.6)}
.overlay-panel{position:relative;max-width:820px;width:calc(100% - 32px);max-height:88vh;overflow-y:auto;background:var(--paper);border:2px solid var(--line);border-radius:4px;box-shadow:10px 10px 0 rgba(10,34,53,.3)}
.ov-close{position:absolute;top:10px;right:12px;font:26px var(--sans);background:none;border:0;cursor:pointer;color:var(--ink);z-index:2}
.ov-nav{position:fixed;top:50%;transform:translateY(-50%);font:22px var(--sans);background:var(--paper);border:2px solid var(--line);border-radius:999px;width:46px;height:46px;cursor:pointer;z-index:2}
.ov-prev{left:calc(50% - 410px - 66px)}
.ov-next{right:calc(50% - 410px - 66px)}
@media (max-width:1020px){.ov-prev{left:10px}.ov-next{right:10px}.ov-nav{opacity:.92}}
.ov-permalink{display:block;font:12.5px var(--sans);padding:12px 38px 18px;color:var(--ink-soft)}
/* static company page */
.card-page{max-width:820px;margin:0 auto;padding:26px 24px 10px}
.backlink{display:inline-block;font:13px var(--sans);text-decoration:none;color:var(--ink-soft);margin-bottom:14px}
.page-company .card{border:2px solid var(--line);border-radius:4px;margin:0 auto}
.pager{display:flex;justify-content:space-between;gap:16px;max-width:760px;margin:22px auto 0;font:14px var(--sans)}
.pager a{text-decoration:none;color:var(--ink-soft)}
.pager a:hover{color:var(--ink)}
@media (max-width:560px){
  .card{padding:24px 20px}
  .c-name{font-size:27px}
}
