/* The King's Art Bus: the road room. Additive to hiphop-exhibit.css. v1 (2026-09-19). Ink, bone, gold; Bodoni Moda display; transform and opacity only. */
:root{--ab-ink:#141211;--ab-bone:#e9e1d1;--ab-gold:#c2a267;--ab-line:#76644755;--ab-ease:cubic-bezier(.22,1,.36,1)}

/* ---------- main page: placard + door (injected before #vault) ---------- */
#artbus-door{position:relative;background:var(--ab-ink);color:var(--ab-bone);padding:0 0 96px;overflow:hidden;font-family:Arial,sans-serif}
#artbus-door .ab-placard{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:10px 40px;padding:54px 8% 36px;border-top:1px solid var(--ab-line);border-bottom:1px solid var(--ab-line);text-align:center}
#artbus-door .ab-placard p{margin:0;font-size:14px;letter-spacing:.16em;color:var(--ab-gold);text-transform:uppercase;width:100%}
#artbus-door .ab-placard span{font:italic 400 clamp(22px,2.6vw,34px)/1.2 'Bodoni Moda',Georgia,serif;color:var(--ab-bone)}
#artbus-door .ab-placard span+span::before{content:'·';color:var(--ab-gold);margin-right:40px;font-style:normal}
#artbus-door .ab-band{position:relative;min-height:420px;display:grid;align-items:end;margin-top:0}
#artbus-door .ab-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(.75)}
#artbus-door .ab-band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#141211 0%,#14121166 35%,#141211ee 100%)}
#artbus-door .ab-copy{position:relative;z-index:2;padding:120px 8% 0;max-width:760px;opacity:0;transform:translateY(24px);transition:opacity .625s var(--ab-ease),transform .625s var(--ab-ease)}
#artbus-door.is-in .ab-copy{opacity:1;transform:none}
#artbus-door .ab-eyebrow{font-size:14px;letter-spacing:.14em;color:var(--ab-gold);margin:0 0 18px}
#artbus-door h2{font:400 clamp(40px,5vw,72px)/1.02 'Bodoni Moda',Georgia,serif;margin:0 0 22px;color:var(--ab-bone)}
#artbus-door h2 em{font-style:italic;color:var(--ab-gold)}
#artbus-door .ab-copy>p{font-size:18px;line-height:1.6;color:#d6ccbb;margin:0 0 30px;max-width:600px}
#artbus-door .ab-enter{display:inline-block;background:var(--ab-gold);color:#1a150e;padding:15px 24px;font:700 16px/1.2 Arial,sans-serif;text-decoration:none;box-shadow:0 12px 34px #c2a26744;transition:transform .25s var(--ab-ease)}
#artbus-door .ab-enter:hover{transform:translateY(-3px)}
#artbus-door .ab-credit{position:absolute;right:8%;bottom:14px;z-index:2;font-size:14px;color:#b7ab97;margin:0}
@media(max-width:700px){#artbus-door .ab-placard{gap:6px 0;padding:40px 6% 28px}#artbus-door .ab-placard span+span::before{display:none}#artbus-door .ab-placard span{display:block;width:100%}#artbus-door .ab-band{min-height:0}#artbus-door .ab-copy{padding:90px 6% 0}#artbus-door .ab-credit{position:static;padding:18px 6% 0}}
@media(prefers-reduced-motion:reduce){#artbus-door .ab-copy{opacity:1;transform:none;transition:none}}

/* ---------- the room: /art-bus/ ---------- */
body.artbus{--road:0;font-family:Arial,sans-serif}
body.artbus header nav a[aria-current="page"]{color:var(--ab-gold)}
.ab-road{position:fixed;left:calc(4% - 1px);top:0;bottom:0;width:2px;background:linear-gradient(var(--ab-gold),var(--ab-gold)) top/100% 100% no-repeat;transform-origin:top;transform:scaleY(var(--road));z-index:5;pointer-events:none;opacity:.7}
.ab-section{padding:96px 8% 96px calc(8% + 24px);position:relative}
.ab-section h2{font:400 clamp(38px,4.6vw,66px)/1.04 'Bodoni Moda',Georgia,serif;margin:0 0 24px;max-width:14ch}
.ab-section h2 em{font-style:italic;color:var(--ab-gold)}
.ab-section .eyebrow{margin-bottom:18px}
.ab-section p{font-size:18px;line-height:1.65;max-width:640px;color:#d6ccbb;margin:0 0 18px}
.ab-section [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .625s var(--ab-ease),transform .625s var(--ab-ease);transition-delay:calc(var(--i,0)*200ms)}
.ab-section.is-in [data-reveal]{opacity:1;transform:none}
.ab-caption{font-size:14px;color:#b7ab97;margin:12px 0 0}

/* beat 1 */
#arrive{padding:0;min-height:88vh;display:grid;align-items:end;position:relative;overflow:hidden}
#arrive img.ab-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#arrive::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#14121155 0%,#14121122 40%,#141211f2 100%)}
#arrive .ab-hero-copy{position:relative;z-index:2;padding:160px 8% 56px calc(8% + 24px);max-width:820px}
#arrive h1{font:400 clamp(46px,6.4vw,96px)/.98 'Bodoni Moda',Georgia,serif;margin:0 0 24px;color:var(--ab-bone)}
#arrive h1 em{font-style:italic;color:var(--ab-gold)}
#arrive .ab-hero-copy p{font-size:19px;line-height:1.6;color:#e3dbcc;max-width:620px}
#arrive .ab-caption{position:absolute;right:8%;bottom:18px;z-index:2;margin:0}
.ab-actions{display:flex;flex-wrap:wrap;gap:14px 18px;margin-top:28px}
.ab-btn{display:inline-block;padding:15px 24px;font:700 16px/1.2 Arial,sans-serif;text-decoration:none;transition:transform .25s var(--ab-ease);white-space:nowrap}
.ab-btn:hover{transform:translateY(-3px)}
.ab-btn.gold{background:var(--ab-gold);color:#1a150e;box-shadow:0 12px 34px #c2a26744}
.ab-btn.line{border:1px solid var(--ab-gold);color:var(--ab-bone)}
.ab-btn.bone{background:#26221c;color:var(--ab-bone)}

/* beat 2: the cream inversion */
#reach{background:var(--ab-bone);color:#26221c}
#reach .eyebrow{color:#6e552c}
#reach p{color:#3a332a}
#reach h2{color:#1a150e}
#reach h2 em{color:#6e552c}
#reach .ab-who{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 40px;margin-top:40px;max-width:900px}
#reach .ab-who div{border-top:1px solid #b3a48a;padding-top:14px}
#reach .ab-who b{display:block;font:italic 400 24px/1.2 'Bodoni Moda',Georgia,serif;margin-bottom:6px;color:#1a150e}
#reach .ab-who p{font-size:16px;margin:0;color:#4a4238}

/* beat 3 */
#campus figure{margin:0 0 40px}
#campus figure img{display:block;width:100%;max-height:62vh;object-fit:cover}
.ab-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ab-cards div{background:#1b1815;border:1px solid var(--ab-line);padding:26px 24px 30px}
.ab-cards span{display:block;font-size:14px;letter-spacing:.12em;color:var(--ab-gold);margin-bottom:12px}
.ab-cards h3{font:400 28px/1.1 'Bodoni Moda',Georgia,serif;margin:0 0 12px}
.ab-cards p{font-size:16px;margin:0;color:#c7bfb2}

/* beat 4: the day */
#day ol{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(9,1fr);gap:0;position:relative}
#day ol::before{content:'';position:absolute;left:0;right:0;top:9px;height:2px;background:var(--ab-gold);opacity:.6}
#day li{position:relative;padding:34px 14px 0 0}
#day li::before{content:'';position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:var(--ab-ink);border:2px solid var(--ab-gold);box-sizing:border-box}
#day li b{display:block;font:italic 400 22px/1.15 'Bodoni Moda',Georgia,serif;margin-bottom:8px}
#day li span{font-size:15px;line-height:1.5;color:#c7bfb2;display:block}
#day li i{font-style:normal;font-size:14px;color:var(--ab-gold);letter-spacing:.1em;display:block;margin-bottom:6px}

/* beat 5: the proof wall */
#proof{background:#0f0e0c}
.ab-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ab-line);margin-top:36px}
.ab-proof div{padding:28px 26px 30px;border-right:1px solid var(--ab-line);border-bottom:1px solid var(--ab-line)}
.ab-proof div:nth-child(3n){border-right:0}
.ab-proof div:nth-last-child(-n+3){border-bottom:0}
.ab-proof span{display:block;font-size:14px;letter-spacing:.14em;color:var(--ab-gold);text-transform:uppercase;margin-bottom:12px}
.ab-proof b{display:block;font:400 26px/1.15 'Bodoni Moda',Georgia,serif;margin-bottom:8px;color:var(--ab-bone)}
.ab-proof p{font-size:15px;margin:0;color:#b7ab97;max-width:none}
.ab-bridge{margin-top:44px;padding-top:28px;border-top:1px solid var(--ab-line);font:italic 400 clamp(24px,2.8vw,36px)/1.25 'Bodoni Moda',Georgia,serif;color:var(--ab-bone);max-width:22ch}
.ab-bridge em{color:var(--ab-gold);font-style:normal}
.ab-ready{margin-top:40px}
.ab-ready h3{font-size:14px;letter-spacing:.14em;color:var(--ab-gold);text-transform:uppercase;margin:0 0 12px;font-weight:400}
.ab-ready ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}
.ab-ready li small{font-size:inherit;color:#b7ab97}.ab-ready li{font-size:15px;color:#d6ccbb;border:1px solid var(--ab-line);padding:8px 14px}
.ab-ready li[data-status="verified"]::before{content:'✓ ';color:#8bb46c}
.ab-ready li[data-status="in-progress"]::before{content:'○ ';color:var(--ab-gold)}
.ab-ready .ab-standard{font-size:15px;color:#b7ab97;margin:16px 0 0;max-width:640px}

/* beat 6: the model */
.ab-model{margin-top:36px;border:1px solid var(--ab-line)}
.ab-model h3{font:400 24px/1.2 'Bodoni Moda',Georgia,serif;margin:0;padding:18px 22px;background:#1b1815;border-bottom:1px solid var(--ab-line)}
.ab-model table{width:100%;border-collapse:collapse}
.ab-model th,.ab-model td{text-align:left;vertical-align:top;padding:14px 22px;border-bottom:1px solid var(--ab-line);font-size:15px;line-height:1.5}
.ab-model th{font-weight:400;color:var(--ab-gold);letter-spacing:.1em;font-size:14px;text-transform:uppercase}
.ab-model td:first-child{color:var(--ab-bone);width:32%}
.ab-model td:nth-child(2){color:#c7bfb2}
.ab-model td:last-child{width:170px;white-space:nowrap}
.ab-tag{display:inline-block;font-size:14px;letter-spacing:.06em;padding:4px 10px;border:1px solid var(--ab-line);color:#d6ccbb}
.ab-tag.benchmark{border-color:#8bb46c66;color:#bfd6ad}
.ab-tag.founder{border-color:var(--ab-gold);color:var(--ab-gold)}
.ab-model tbody:last-child tr:last-child td{border-bottom:0}
.ab-derived td{font-style:italic;color:#b7ab97}
.ab-vision{margin-top:40px;padding:26px 28px;border-left:2px solid var(--ab-gold);background:#1b1815}
.ab-vision span{display:block;font-size:14px;letter-spacing:.14em;color:var(--ab-gold);margin-bottom:8px}
.ab-vision p{margin:0;font-size:17px}

/* beat 7: three doors */
#road{background:#0f0e0c;padding-bottom:140px}
.ab-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.ab-doors div{border:1px solid var(--ab-line);padding:30px 28px 34px;display:flex;flex-direction:column;background:var(--ab-ink)}
.ab-doors span{font-size:14px;letter-spacing:.16em;color:var(--ab-gold);text-transform:uppercase;display:block;margin-bottom:12px}
.ab-doors h3{font:400 34px/1.05 'Bodoni Moda',Georgia,serif;margin:0 0 14px}
.ab-doors p{font-size:16px;margin:0 0 26px;flex:1;max-width:none}
.ab-doors .ab-btn{align-self:flex-start}
.ab-lanes{margin-top:34px;font-size:15px;color:#b7ab97;max-width:760px}

/* sticky: reuse .ke-sticky from hiphop-archive.css; on this page hiphop-archive.css is not loaded, so define the subset here */
.ab-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:14px;align-items:center;justify-content:center;padding:10px 16px;background:#141211f0;border-top:1px solid var(--ab-gold);color:var(--ab-bone);font:15px/1.4 Arial,sans-serif;transform:translateY(105%);transition:transform .35s var(--ab-ease);min-height:56px;box-sizing:border-box}
.ab-sticky.is-on{transform:none}
.ab-sticky span b{color:var(--ab-gold)}
.ab-sticky-cta{background:var(--ab-gold);color:#1a150e;padding:11px 16px;text-decoration:none;font-weight:700;white-space:nowrap}
.ab-sticky button{background:none;border:0;color:var(--ab-bone);font-size:22px;line-height:1;padding:6px 10px;cursor:pointer}
.ab-sticky-short{display:none}

@media(max-width:1000px){.ab-cards{grid-template-columns:repeat(2,1fr)}#day ol{grid-template-columns:1fr;padding-left:26px}#day ol::before{top:0;bottom:0;left:7px;right:auto;width:2px;height:auto}#day li{padding:0 0 26px 0}#day li::before{left:-26px;top:6px}.ab-proof{grid-template-columns:repeat(2,1fr)}.ab-proof div:nth-child(3n){border-right:1px solid var(--ab-line)}.ab-proof div:nth-child(2n){border-right:0}.ab-proof div:nth-last-child(-n+3){border-bottom:1px solid var(--ab-line)}.ab-proof div:nth-last-child(-n+2){border-bottom:0}.ab-doors{grid-template-columns:1fr}}
@media(max-width:700px){.ab-road{left:calc(5% - 1px)}.ab-section{padding:64px 6% 64px calc(6% + 20px)}#arrive .ab-hero-copy{padding:120px 6% 48px calc(6% + 20px)}#arrive{min-height:0}#arrive img.ab-hero{position:relative;height:56vh;object-fit:cover}#arrive .ab-caption{position:static;padding:10px 6% 0;background:var(--ab-ink)}#arrive .ab-hero-copy{padding-top:32px}#reach .ab-who{grid-template-columns:1fr}.ab-cards{grid-template-columns:1fr}.ab-proof{grid-template-columns:1fr}.ab-proof div{border-right:0!important;border-bottom:1px solid var(--ab-line)!important}.ab-proof div:last-child{border-bottom:0!important}.ab-model th:nth-child(3),.ab-model td:last-child{width:auto;white-space:normal}.ab-model th,.ab-model td{padding:12px 14px}.ab-actions .ab-btn,.ab-doors .ab-btn{width:100%;text-align:center;box-sizing:border-box}.ab-sticky-long{display:none}.ab-sticky-short{display:inline}.ab-sticky{padding:8px 8px 8px 14px}.ab-sticky span{font-size:14px;line-height:1.3}}
@media(prefers-reduced-motion:reduce){.ab-section [data-reveal]{opacity:1;transform:none;transition:none}.ab-road{transform:none}.ab-btn,.ab-sticky{transition:none}}
