/* Owner-led refinement: clear movement through a living hip-hop exhibition. */
/* Refined controls: typography, fine rules and one solid accent for primary actions. */
a.action-button,.action-label,button.button,button.menu-toggle,.filter-controls button,.dialog-close{border-radius:2px;box-shadow:none!important;text-shadow:none;transition:color .15s,background-color .15s,border-color .15s;transform:none!important}
a.action-button,.action-label{background:transparent!important;color:inherit!important;border:0;border-bottom:1px solid #a38caf88;padding:10px 2px}
a.action-button:hover,.action-card:hover .action-label{background:transparent!important;border-bottom-color:#9ccfff;color:#aaceed!important;transform:none!important}
a.action-primary,button.button{background:#7240a1!important;color:#fff!important;border:1px solid #af80d0;padding:12px 20px;box-shadow:none!important}
a.action-primary:hover,button.button:hover{background:#8550b6!important;color:white!important}
.action-label{min-height:36px;font-weight:600}
.filter-controls button,.dialog-close,button.menu-toggle{background:transparent;color:inherit;border:1px solid #9e8aaf66}
.filter-controls button[aria-pressed=true]{background:#673a8a;border-color:#c59ae3}
.masthead{border-bottom:1px solid #9872b166}
.masthead nav a.action-button{border:0;border-bottom:2px solid transparent;background:transparent!important;color:#e8e1ef!important;font-weight:600;box-shadow:none!important}
.masthead nav a.action-button:hover,.masthead nav a[aria-current=page]{color:#d2a1f3!important;border-bottom-color:#b080d5}
.nav-more{position:relative;color:#e8e1ef;font:600 14px/1.4 Body,Arial,sans-serif;min-width:70px}
.nav-more>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 11px;min-height:46px;box-sizing:border-box;border-bottom:2px solid transparent}
.nav-more>summary::-webkit-details-marker{display:none}.nav-more[open]>summary{border-bottom-color:#b080d5}
.nav-more>div{position:absolute;right:0;top:100%;z-index:30;min-width:190px;background:#17121e;border:1px solid #8c719e66;padding:10px;box-shadow:0 16px 30px #0005}
.nav-more>div a.action-button{display:flex!important;justify-content:flex-start!important;margin:0;width:100%}
@media(min-width:1201px){.masthead nav{margin-left:auto;gap:12px}.masthead nav>a.action-button{padding:12px 11px}}
@media(max-width:1200px){.masthead nav.open{gap:8px 18px}.masthead nav a.action-button{padding:12px 4px;border-bottom:1px solid #80688d44}.nav-more{grid-column:1/-1}.nav-more>summary{justify-content:flex-start;padding-left:4px}.nav-more>div{position:static;box-shadow:none;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;border:0;padding:4px 0;background:transparent}.nav-more:not([open])>div{display:none}}
/* A finite schematic arrival, with no fracture or radial burst. */
.transit-entrance.logo-entrance{background:#e6dfd3!important;animation:transit-depart 3.1s ease both!important;isolation:isolate}
.transit-entrance:before,.transit-entrance:after{display:none!important}
.transit-diagram{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.transit-diagram path{fill:none;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:transit-arrive 1.85s ease-out both}
.transit-a{stroke:#236db3}.transit-f{stroke:#d96b2b;animation-delay:.18s!important}.transit-local{stroke:#735587;animation-delay:.35s!important;opacity:.5}
.transit-stations{fill:#ece6dc;stroke:#27232a;stroke-width:4;animation:stations-arrive 1.7s ease both}
.transit-bullets text{font:700 26px Arial,sans-serif;fill:white;text-anchor:middle}
.transit-mark{position:relative;z-index:2;text-align:center;padding:22px 30px;background:#e6dfd3e8;border-radius:3px;box-shadow:0 0 65px 25px #e6dfd3}
.transit-mark img{width:min(320px,58vw);height:auto;display:block;margin:auto}
.transit-mark p{font:700 12px/1.5 Body,Arial,sans-serif;color:#322b3e;letter-spacing:.14em;margin-top:16px}
@keyframes transit-arrive{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes stations-arrive{0%,40%{opacity:0}100%{opacity:1}}
@keyframes transit-depart{0%,75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
.street-skip{animation-duration:3.1s;background:#261b32;border:1px solid #cfb7de;box-shadow:none}
/* The supplied seated portrait is shown whole: no synthetic likeness or clipped controller. */
.hiphop-hero .owner-hero-photo{width:min(100%,460px);background:transparent;padding:0;box-shadow:none;filter:drop-shadow(8px 14px 10px #09040c88);transform:none;margin:0}
.owner-hero-photo img{width:100%;height:auto;display:block;background:#fff;clip-path:none}
@media(min-width:1001px){.hiphop-hero{min-height:840px;padding-bottom:110px;grid-template-columns:46% 16% 38%}}
@media(max-width:1000px){.hiphop-hero .owner-hero-photo{width:min(90%,440px);margin:0 auto}.hero-welcome{margin-bottom:0}.hero-actions{justify-content:center}}
/* Optional wayfinding replaces repeated bands of boxes. */
.chapter-index{padding:20px 6%;background:#1c1525;color:#e9deef;border-block:1px solid #987ca74d}
.chapter-index>summary,.project-directory>summary,.retained-book-story>summary{cursor:pointer;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:600 17px/1.5 Body,Arial,sans-serif;list-style:none}
.chapter-index>summary::-webkit-details-marker,.project-directory>summary::-webkit-details-marker{display:none}
.chapter-index nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;padding:18px 0 6px}
.chapter-index nav a{text-decoration:none;padding:10px 0;border-bottom:1px solid #9b83b055;line-height:1.5}
.chapter-index nav a:hover{color:#c3a0e5}
.project-directory{border-block:1px solid #72647777;padding:14px 0;margin:20px 0}
.project-directory .world-links{margin-top:20px}.project-directory>summary{font-size:20px}
@media(max-width:700px){.chapter-index nav{grid-template-columns:1fr 1fr}.chapter-index nav a{font-size:15px}}
/* Books lead to reading; the community chapter has its own identity. */
#rhyme-read .open-book-object img{object-fit:contain;max-height:500px}
#rhyme-read .page-turn-copy .lead{font-size:clamp(24px,3vw,36px);line-height:1.25}
.legacy-anchor{display:block;scroll-margin-top:120px;height:0}
.community-chapter.legacy-room{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px 6%;background:linear-gradient(110deg,#121b2af2,#202036e8),url(/assets/materials/paper.svg);color:#eee8f2;padding-bottom:70px}
.community-mark{background:#101b2d;display:flex;align-items:center;justify-content:center;min-height:300px;border:1px solid #81709066}
.community-mark img{width:80%;max-width:310px;height:auto;object-fit:contain}
.community-copy{align-self:center}.community-copy .lead{font-size:clamp(26px,3vw,38px);line-height:1.25;margin-bottom:22px}.community-copy p{font-size:17px;line-height:1.8;margin-bottom:18px}
@media(max-width:700px){.community-chapter.legacy-room{grid-template-columns:1fr;gap:24px;padding-bottom:45px}.community-mark{min-height:230px}.community-mark img{max-width:240px}.community-copy p{font-size:16px}}
.retained-book-story>summary{border-bottom:1px solid #8e799966;margin-bottom:20px}.retained-book-story .page-turn-copy{max-width:850px;padding-top:15px}
/* Quiet the supporting links without hiding focus or reducing target size. */
main a:focus-visible,summary:focus-visible{outline:3px solid #e5c761;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.transit-entrance.logo-entrance{display:none!important}.transit-diagram *{animation:none!important}.street-skip{display:none!important}.owner-hero-photo{transform:none!important}a.action-button,.action-label,button.button{transition:none}}
/* Bring the book into view beside its chapter title, without a long empty stage. */
#rhyme-read{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px 6%;min-height:0;padding:55px 7% 65px}
#rhyme-read>.legacy-anchor{position:absolute}
#rhyme-read>.section-line{grid-column:1/-1}
#rhyme-read .page-turn-title{grid-column:1;grid-row:2;margin:0}
#rhyme-read .page-turn-title h2{font-size:clamp(45px,5.8vw,78px);line-height:1.06}
#rhyme-read .page-turn-title .eyebrow{margin-bottom:20px}
#rhyme-read .open-book-object{position:relative;grid-column:2;grid-row:2/4;align-self:center;inset:auto;width:100%;height:490px;margin:0;transform:rotate(-3deg)}
#rhyme-read .open-book-object a{position:relative;display:block;width:100%;height:100%;inset:auto;transform:none}
#rhyme-read .book-leaves{display:none}
#rhyme-read .page-turn-copy{grid-column:1;grid-row:3;width:100%;margin:0;padding:0;background:none}
.retained-book-story .page-turn-copy{width:100%;margin:0;background:none}
@media(max-width:700px){#rhyme-read{grid-template-columns:1fr;gap:25px;padding:40px 7% 50px}#rhyme-read .page-turn-title{grid-row:auto;grid-column:auto}#rhyme-read .page-turn-title h2{font-size:clamp(40px,11vw,60px)}#rhyme-read .open-book-object{grid-column:1;grid-row:auto;height:390px}#rhyme-read .page-turn-copy{grid-column:1;grid-row:auto}}
.compact-archive a.action-button:not(.action-primary):hover,.official-listening a.action-button:not(.action-primary):hover{color:#53236f!important}

/* Restore the person-name title face: Display = Barlow Condensed Black.
   Match .relationship-name (700 normal); the bundled static face is Black. */
:is(main,[role="dialog"],dialog) :is(h1:not(#hero-title),h2,h3,h4,h5,h6),
:is(main,[role="dialog"],dialog) :is(h1:not(#hero-title),h2,h3,h4,h5,h6) *,
.footer-top a.action-button,.footer-top a.action-button *{
 font-family:Display,'Arial Narrow',Impact,sans-serif!important;
 font-weight:700!important;font-style:normal!important;
}
main :is(h1:not(#hero-title),h2){line-height:1.04;letter-spacing:-.025em;white-space:normal}
main :is(h1:not(#hero-title),h2,h3,h4,h5,h6){overflow-wrap:break-word}

/* Persistent schematic A/F routes carry the intro onto the masonry wall. */
.hero-transit{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.72;overflow:hidden}
.hero-train-lines{fill:none;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}
.hero-train-stops{fill:#e6dfd3;stroke:#27232a;stroke-width:3}
.hero-train-bullets text{font:700 24px Arial,sans-serif;fill:#fff;text-anchor:middle}
.hero-transit-phone{display:none}
@media(max-width:1000px){.hero-transit-wide{display:none}.hero-transit-phone{display:block;opacity:.63}.hero-train-lines{stroke-width:8}.hero-train-bullets text{font-size:19px}}

.hero-route-labels{position:absolute;left:5%;right:5%;z-index:0;display:flex;justify-content:space-between;gap:24px;pointer-events:none;font:600 12px/1.35 Body,Arial,sans-serif;letter-spacing:.07em;color:#e4ddd4;text-shadow:0 1px 4px #100b19}
.hero-route-labels>span{display:flex;align-items:center;gap:9px;max-width:44%}.hero-route-labels>span:last-child{text-align:right;flex-direction:row-reverse}
.hero-route-labels b{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;font:700 17px Arial,sans-serif;color:white}
.route-a{background:#236db3}.route-f{background:#d96b2b}.route-origins{top:20px}.route-destinations{bottom:90px}
@media(max-width:1000px){.hiphop-hero{padding-top:90px}.hero-route-labels{left:5%;right:5%;font-size:10px;letter-spacing:.035em;gap:18px}.hero-route-labels>span{max-width:48%;gap:6px}.hero-route-labels b{width:21px;height:21px;font-size:14px}.route-origins{top:25px}.route-destinations{bottom:120px}}

@media(max-width:1000px){.hiphop-hero{padding-bottom:240px}.route-destinations{bottom:190px}}

.hero-route-labels i{font-style:normal}.hero-route-labels br{display:none}@media(max-width:1000px){.route-destinations{font-size:10.5px}.hero-route-labels br{display:block}}

/* Slow train-light journeys follow the same endpoint-to-endpoint paths. */
.hero-train-flow{fill:none;stroke:#f8ead2;stroke-width:4;stroke-linecap:round;opacity:.8}
.hero-train-flow path{stroke-dasharray:24 976;animation:hero-train-travel var(--train-time,19s) linear infinite;animation-delay:var(--train-delay,0s)}
@keyframes hero-train-travel{from{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}
.hiphop-hero.motion-paused .hero-train-flow path,.hiphop-hero.motion-user-paused .hero-train-flow path{animation-play-state:paused}
@media(max-width:1000px){.hero-train-flow{stroke-width:3}}
@media(prefers-reduced-motion:reduce){.hero-train-flow{display:none}.hero-train-flow path{animation:none!important}}

/* Map notation stays behind the original portrait and logo. */
.hero-transit{opacity:.9}.hero-map-underlay{fill:none;stroke:#f3e7cd;stroke-width:19;stroke-linejoin:round;stroke-linecap:round;opacity:.28}
.hero-map-transfer{fill:none;stroke:#efe6d6;stroke-width:13;stroke-linecap:round;filter:drop-shadow(0 0 1px #15101b)}
.hero-map-place{fill:#e7dfce;font:700 11px Arial,sans-serif;letter-spacing:1px;paint-order:stroke;stroke:#181320;stroke-width:3;stroke-linejoin:round}
@media(max-width:1000px){.hero-transit-phone{opacity:.78}.hero-map-underlay{stroke-width:12}.hero-map-place{font-size:9px;letter-spacing:.6px;stroke-width:2}}

/* One brick-framed platform scene, softened behind the authentic foreground. */
.hiphop-hero .street-texture{inset:-18px;background-image:linear-gradient(90deg,#1a10235c,#170c2538 55%,#130c232e),url(/assets/scenes/hero-tagged-train-brick.webp);background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:inset 0 0 90px 15px #10091988;transform:translateY(calc((var(--scene,.5) - .5)*24px))}
.hiphop-hero:before{background:linear-gradient(90deg,#170c2666,transparent 65%)}
.hiphop-hero .street-papers{opacity:.04}
.hiphop-hero .hero-transit{opacity:.38}.hiphop-hero .hero-map-underlay{opacity:.12}
.hiphop-hero .wall-graffiti{color:#c39ae8;text-shadow:0 2px 8px #0b0612}
.hiphop-hero .wall-graffiti .graffiti-letter{animation:none!important;clip-path:none!important;opacity:1!important}
@media(max-width:1000px){.hiphop-hero .street-texture{background-position:14% center}.hiphop-hero .hero-transit-phone{opacity:.34}}
.story-motion-off .hiphop-hero .street-texture,.hiphop-hero.motion-paused .street-texture,.hiphop-hero.motion-user-paused .street-texture{transform:none!important}
@media(prefers-reduced-motion:reduce){.hiphop-hero .street-texture{transform:none!important}}
