/* Venus and the Bull — a dark, object-led essay treatment. */
:root{
  --vab-night:#100e0d;
  --vab-night-soft:#171311;
  --vab-ivory:#eadfc6;
  --vab-ivory-soft:#bdb09a;
  --vab-red:#a94939;
  --vab-red-bright:#dc745f;
  --vab-line:rgba(234,223,198,.18);
}

html{background:var(--vab-night)}
body{
  color:var(--vab-ivory);
  background:
    radial-gradient(circle at 72% 8%,rgba(143,62,44,.18),transparent 30rem),
    radial-gradient(circle at 10% 48%,rgba(192,153,94,.07),transparent 38rem),
    var(--vab-night);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  opacity:.13;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
}
.site-top{
  position:relative;
  z-index:10;
  color:var(--vab-ivory);
  border-color:var(--vab-line);
  background:rgba(16,14,13,.9);
  backdrop-filter:blur(12px);
}
.site-top .brand,.site-top a{color:var(--vab-ivory)}
.record-page{width:100%;margin:0 auto;max-width:none}
.record.research-page{
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.vab-hero{
  position:relative;
  min-height:min(850px,calc(100vh - 57px));
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--vab-line);
}
.vab-hero-copy{position:relative;z-index:3;padding:clamp(52px,8vw,116px) clamp(24px,6vw,96px)}
.vab-kicker{
  margin:0 0 20px;
  color:var(--vab-red-bright);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.vab-hero h1{
  max-width:780px;
  margin:0;
  color:#f1e7d1;
  font-size:clamp(68px,10vw,158px);
  font-weight:500;
  line-height:.78;
  letter-spacing:-.065em;
}
.vab-hero h1 span{display:block;margin-left:.62em;color:var(--vab-red-bright);font-style:italic}
.vab-deck{
  max-width:590px;
  margin:38px 0 0;
  color:var(--vab-ivory-soft);
  font-size:clamp(19px,2vw,26px);
  line-height:1.45;
}
.vab-hero-visual{position:relative;align-self:stretch;min-height:680px;overflow:hidden}
.vab-hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,var(--vab-night) 0,transparent 30%),linear-gradient(0deg,var(--vab-night) 0,transparent 26%);
}
.vab-hero-ai{
  position:absolute;
  inset:-2% -8% -2% -2%;
  width:110%;
  height:104%;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center;
  filter:saturate(.92) contrast(1.03) brightness(.9);
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  animation:vabDrift 18s ease-in-out infinite alternate;
}
.vab-hero-label{
  position:absolute;
  z-index:3;
  right:clamp(18px,5vw,78px);
  bottom:clamp(12px,3vw,38px);
  max-width:330px;
  margin:0;
  color:var(--vab-ivory-soft);
  font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.05em;
  text-transform:uppercase;
}
@keyframes vabDrift{to{transform:scale(1.035) translate3d(-1%,.5%,0)}}

.vab-shell{width:min(100% - 40px,1060px);margin:0 auto;padding:86px 0 116px}
.vab-intro{max-width:820px}
.vab-intro .lede{
  margin:0;
  color:#eee2cb;
  font-size:clamp(24px,3.2vw,39px);
  line-height:1.36;
}
.vab-intro .lede::first-letter{color:var(--vab-red-bright)}
.research-page .thesis{
  margin:34px 0 0;
  padding:20px 22px;
  border-left:3px solid var(--vab-red-bright);
  background:rgba(234,223,198,.05);
  color:#f0e4cd;
  font-size:21px;
  line-height:1.55;
}
.research-page .tldr{
  margin-top:28px;
  background:rgba(17,13,11,.9);
  border:1px solid var(--vab-line);
}
.research-page .tldr-label{color:var(--vab-red-bright)}
.research-page .tldr li{color:#d9ccb7}
.vab-nav{margin:60px 0 10px!important;padding:20px 0;border-block:1px solid var(--vab-line)}
.vab-nav ul{gap:10px 28px!important}
.vab-nav a{color:var(--vab-ivory-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.vab-nav a:hover{color:var(--vab-red-bright)}

.research-page .vab-section{margin-top:94px}
.research-page .vab-section h2{
  margin:0 0 24px;
  padding:0;
  border:0;
  color:#f0e4cd;
  font-size:clamp(38px,5vw,70px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.035em;
}
.vab-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);gap:38px;align-items:end;margin-bottom:38px;padding-bottom:23px;border-bottom:1px solid var(--vab-line)}
.vab-section-heading p{margin:0!important;color:var(--vab-ivory-soft);font-size:16px;line-height:1.6}
.vab-prose{max-width:720px;color:#d5c9b3;font-size:18px;line-height:1.72}
.vab-prose p{margin-bottom:20px!important}
.vab-prose a,.vab-section a{color:#e1816d}
.vab-map-link{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76em;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.vab-map-link::after{content:" ↗";display:inline-block;transition:transform .18s ease}
.vab-map-link:hover::after{transform:translate(2px,-2px)}

.vab-case{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,6vw,72px);align-items:center;margin:56px 0 86px}
.vab-case.reverse{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.vab-case.reverse .vab-case-media{order:2}
.vab-case-media{position:relative;margin:0!important;opacity:.1;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}
.vab-case-media.is-visible{opacity:1;transform:none}
.vab-case-media img{width:100%!important;max-height:620px!important;object-fit:contain!important;border:0!important;border-radius:1px!important;background:#0b0908!important;box-shadow:0 24px 65px rgba(0,0,0,.35)!important}
.vab-case-media figcaption{color:#8f8371!important}
.vab-case-copy .vab-number{display:block;margin-bottom:16px;color:var(--vab-red-bright);font:12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em}
.vab-case-copy h3{margin:0 0 14px!important;color:#ecdfc8!important;font-size:clamp(28px,3.7vw,48px)!important;font-weight:500;line-height:1.04}
.vab-case-copy p{color:#cfc2ad;font-size:17px;line-height:1.66}
.vab-tag{display:inline-block;margin:0 0 16px;padding:5px 8px;border:1px solid rgba(220,116,95,.45);color:#e1816d;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}

.vab-procession{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:44px 0 22px;background:var(--vab-line)}
.vab-procession figure{position:relative;margin:0!important;overflow:hidden;background:#0b0908;opacity:.1;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}
.vab-procession figure:nth-child(2){transition-delay:.1s}.vab-procession figure:nth-child(3){transition-delay:.2s}
.vab-procession figure.is-visible{opacity:1;transform:none}
.vab-procession img{width:100%!important;height:470px!important;max-height:none!important;object-fit:cover!important;border:0!important;border-radius:0!important;filter:saturate(.72);transition:transform .5s ease,filter .5s ease}
.vab-procession figure:hover img{transform:scale(1.025);filter:saturate(.95)}
.vab-procession figcaption{min-height:100px;margin:0!important;padding:15px 16px 18px;color:#aaa08f!important;background:var(--vab-night-soft);font-size:12.5px!important}
.vab-procession b{color:#e6d9c2;font-weight:500}

.vab-sweep{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:45px}
.vab-sweep article{padding-top:20px;border-top:2px solid #633126}
.vab-sweep h3{margin:0 0 11px!important;color:#ecdfc8!important;font-size:25px!important;font-weight:500}
.vab-sweep p{color:#bcae98;font-size:15px;line-height:1.63}
.vab-sweep figure{margin:22px 0 0!important}
.vab-sweep img{width:100%!important;height:330px!important;max-height:none!important;object-fit:contain!important;border:0!important;background:#0b0908!important;box-shadow:none!important}
.vab-sweep figcaption{color:#817769!important;font-size:11.5px!important}

.vab-catalog-intro{max-width:760px;color:#cfc2ad;font-size:17px;line-height:1.66}
.vab-table-wrap{margin:34px calc(50% - 50vw) 0;padding:0 max(20px,calc((100vw - 1180px)/2));overflow-x:auto}
.vab-table-hint{display:none;margin:0 0 10px!important;color:#8f8371;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}
.vab-table{min-width:900px;margin:0!important;border-top:1px solid rgba(234,223,198,.3);font-size:14px!important}
.vab-table caption{margin:0 0 14px!important;color:#877a67!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px!important;letter-spacing:.15em!important}
.vab-table th{padding:14px 13px!important;border-color:rgba(234,223,198,.26)!important;color:#d16854!important;font:10px ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.13em!important}
.vab-table td{padding:15px 13px!important;border-color:rgba(234,223,198,.1)!important;color:#bdb19e;transition:background .18s ease,color .18s ease}
.vab-table tr:hover td{color:#ece0ca;background:rgba(169,73,57,.09)}
.vab-table .site{color:#eadfc6;font-size:15.5px;font-weight:600}
.vab-table .date{white-space:nowrap;color:#8f8371;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}
.vab-table .meeting{color:#d27a67}
.vab-table .map-cell{text-align:right}

.vab-coda{margin:108px auto 30px;padding:70px clamp(26px,6vw,72px);border-block:1px solid rgba(220,116,95,.35);text-align:center;background:radial-gradient(circle at center,rgba(169,73,57,.12),transparent 62%)}
.vab-coda p{max-width:820px;margin:0 auto 28px!important;color:#ebdfc9;font-size:clamp(27px,4vw,49px);line-height:1.25}
.vab-verdict .vab-prose p:first-child{font-size:24px;color:#eee2cb}
.vab-verdict .vab-coda{margin-top:54px;margin-bottom:0;padding:38px 0 0;border-top:1px solid rgba(220,116,95,.28);border-bottom:0;background:none}
.vab-button{display:inline-flex;padding:12px 17px;border:1px solid var(--vab-red);color:#f3e6cf!important;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:background .18s ease}
.vab-button:hover{background:var(--vab-red)}
.research-page .vab-sources h2{font-size:32px}
.vab-sources p{color:#8f8371!important;font-size:13px!important;line-height:1.55!important}
.vab-sources a{color:#b96150}
.vab-credit{display:block;margin-top:4px;opacity:.78}
@media (max-width:860px){
  .vab-hero{grid-template-columns:1fr;min-height:auto}
  .vab-hero-copy{padding-bottom:36px}
  .vab-hero h1{font-size:clamp(68px,18vw,130px)}
  .vab-hero-visual{min-height:590px}
  .vab-hero-visual::after{background:linear-gradient(0deg,var(--vab-night) 0,transparent 30%)}
  .vab-section-heading{grid-template-columns:1fr}
  .vab-case,.vab-case.reverse{grid-template-columns:1fr}
  .vab-case.reverse .vab-case-media{order:0}
  .vab-procession,.vab-sweep{grid-template-columns:1fr}
  .vab-procession img{height:min(110vw,650px)!important}
  .vab-procession figcaption{min-height:0}
  .vab-sweep img{height:420px!important}
}
@media (max-width:520px){
  .vab-hero-copy{padding-inline:20px}
  .vab-hero h1{font-size:64px}
  .vab-deck{font-size:18px}
  .vab-hero-visual{min-height:500px}
  .vab-shell{width:min(100% - 32px,1060px);padding-top:60px}
  .research-page .vab-section{margin-top:72px}
  .vab-case{margin:40px 0 66px}
  .vab-sweep img{height:330px!important}
  .vab-table-hint{display:block}
}
@media (prefers-reduced-motion:reduce){
  .vab-hero-ai{animation:none}
  .vab-case-media,.vab-procession figure{opacity:1;transform:none;transition:none}
  .vab-procession img,.vab-map-link::after{transition:none}
}
