:root{
  --pinktint-100:#fdedf7;
  --pinktint-200:#fce8f1;
  --pinktint-300:#f4d5e7;
  --pinktint-deep:#f0bed9;
  --lav:#f1eef8;
  --lav-2:#e8e4f1;

  --card:#fefdfd;
  --card-light:#fdedf7;
  --card-2:#fce8f1;

  --accent:#d10684;
  --accent-hover:#ae046e;
  --warm:#d10684;
  --warm-2:#ae046e;
  --orange:#d10684;
  --orange-2:#ae046e;
  --crimson:#d10684;
  --indigo:#c6caf3;
  --cta-hover:linear-gradient(95deg,#ae046e,#ae046e 55%,#ae046e);

  --text:#2b242e;
  --text-light:#6c6670;
  --dim:#9895a0;
  --divider:#eed8e4;

  --contrast:#fefdfd;
  --white:#fefdfd;
  --valid:#8ec7a9;
  --divider-light:rgba(254,253,253,.89);
  --card-surface:rgba(254,253,253,.92);
  --overlay:rgba(43,36,46,.48);
  --footer-surface:#2b242e;
  --footer:#dad0db;
  --footer-2:#fefdfd;
  --footer-light:#a8a0b2;
  --footer-ring:rgba(254,253,253,.1);

  --ro-sm:14px;
  --ro-md:20px;
  --ro-lg:28px;
  --ro-xl:36px;
  --ro-pill:999px;

  --sh-sm:0 6px 16px -8px rgba(209,6,132,.28);
  --sh-md:0 18px 38px -18px rgba(209,6,132,.32);
  --sh-lg:0 30px 60px -24px rgba(209,6,132,.37);

  --headline:"Trebuchet MS","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --container:1200px;
  --gap:24px;
  --sy:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  line-height:1.6;background:
    radial-gradient(1200px 700px at 85% -8%, var(--pinktint-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--lav) 0%, transparent 55%),
    linear-gradient(180deg, var(--pinktint-100) 0%, var(--card-light) 40%, var(--pinktint-100) 100%);color:var(--text);background-attachment:fixed;
  font-family:var(--font);
  -webkit-font-smoothing:antialiased;margin:0;
}
img{max-width:100%;display:block}
.head-zone{margin:0 auto 44px;text-align:center;max-width:640px}
.head-zone .ctl{margin-top:24px}
ul{padding:0;margin:0;list-style:none}

.wrapper{max-width:var(--container);padding-inline:var(--gap);margin-inline:auto}
h1,h2,h3,h4{color:var(--text);letter-spacing:-.01em;margin:0;line-height:1.12;font-family:var(--headline)}
.crumbs a:hover{color:var(--accent-hover)}
.bar-a{font-weight:600;font-size:.96rem;padding:9px 14px;transition:background .18s,color .18s;border-radius:var(--ro-pill);color:var(--text)}
.bar-a:hover{color:var(--accent-hover);background:var(--card-2)}
.bar-shine{font-weight:600;text-decoration:none;position:relative;align-items:center;gap:7px;background:none;border:none;display:inline-flex;color:var(--text);border-radius:var(--ro-pill);padding:9px 12px;font-size:.96rem;transition:background .18s ease,color .18s ease;cursor:pointer}
.bar-shine:hover{color:var(--accent-hover);background:var(--card-2)}
.bar-shine svg{width:20px;color:var(--accent);height:20px}
.bar-shine:hover svg{color:var(--accent-hover)}
.bar-shine-para{white-space:nowrap}
.bar-shine .convo-badge{position:static;top:auto;right:auto}
.bar-shine-mobile{text-align:left;font-weight:600;width:100%;background:none;text-decoration:none;font-size:15px;align-items:center;color:var(--text);cursor:pointer;gap:9px;border:none;border-bottom:1px solid var(--divider);display:flex;padding:14px 2px}
.bar-shine-mobile:hover{color:var(--accent-hover)}
.bar-shine-mobile svg{color:var(--accent);width:18px;height:18px}
button{font-family:inherit}
.pop{color:transparent;background:linear-gradient(92deg,var(--accent),var(--warm) 60%,var(--orange));-webkit-background-clip:text;background-clip:text}
.ic-lit svg{fill:currentColor;stroke:none}

.app-top{z-index:60;border-bottom:1px solid var(--divider);position:sticky;top:0;background:var(--card)}
.app-top-core{align-items:center;justify-content:space-between;min-height:74px;padding-block:12px;display:flex;gap:20px}

.ctl{
  border:1.5px solid transparent;gap:9px;white-space:nowrap;cursor:pointer;
  justify-content:center;font-weight:700;border-radius:var(--ro-pill);font-size:1rem;
  align-items:center;text-align:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;display:inline-flex;
  padding:14px 26px;
}
.ctl svg{width:18px;height:18px}
.ctl-small{padding:10px 18px;font-size:.9rem}
.ctl-full{width:100%}
.ctl-primary{color:var(--contrast);box-shadow:0 14px 26px -12px rgba(250,75,98,.74);background:linear-gradient(95deg,var(--orange),var(--warm) 55%,var(--accent))}
.ctl-primary:hover{color:var(--contrast);background:var(--cta-hover);box-shadow:0 20px 34px -12px rgba(250,75,98,.84);transform:translateY(-2px)}
.ctl-soft{background:var(--card);color:var(--accent);border-color:var(--divider)}
.ctl-soft:hover{color:var(--accent-hover);background:var(--card-2);transform:translateY(-2px)}
.ctl-clear{background:var(--white);color:var(--accent-hover)}
.ctl-clear:hover{color:var(--accent-hover);box-shadow:var(--sh-md);transform:translateY(-2px)}
.sidebar-mobile{height:100vh;padding:84px 22px 22px;background:var(--card);position:fixed;width:80%;top:0;height:100dvh;transition:right .3s ease;box-shadow:-6px 0 30px rgba(43,36,46,.22);right:-100%;overflow-y:auto;z-index:1100;max-width:320px}
.sidebar-mobile.current{right:0}
.sidebar-mobile nav{display:flex;flex-direction:column}
.sidebar-mobile a:not(.ctl){font-weight:600;padding:14px 2px;color:var(--text);font-size:15px;border-bottom:1px solid var(--divider)}
.sidebar-mobile a:not(.ctl):hover{color:var(--accent-hover)}
.sidebar-mobile a.ctl{margin-top:22px}
.person-panel{position:relative;cursor:pointer;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;background:var(--card);border-radius:var(--ro-lg);border:1px solid var(--divider-light);overflow:hidden}
.person-panel:hover{transform:translateY(-8px) scale(1.02);z-index:3;box-shadow:var(--sh-lg)}
.person-portrait{aspect-ratio:3/4;position:relative;background:linear-gradient(160deg,var(--pinktint-200),var(--lav-2));display:block;overflow:hidden}
.person-portrait img{width:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease;height:100%;display:block}
.person-panel:hover .person-portrait img{transform:scale(1.1);filter:brightness(.7)}
.person-badge{letter-spacing:.05em;z-index:3;top:10px;gap:6px;font-weight:800;position:absolute;border:1px solid #5a9cd7;border-radius:var(--ro-pill);padding:5px 9px;background:linear-gradient(135deg,#0e2e4b,#0b1f34);font-size:.68rem;box-shadow:0 2px 8px rgba(0,0,1,.19);align-items:center;right:10px;color:#e9f6ff;display:inline-flex}
.person-badge .bullet{border-radius:50%;position:relative;width:8px;font-size:0;background:var(--valid);color:transparent;box-shadow:0 0 6px rgba(142,199,169,.71);height:8px}
.person-badge .bullet::after{background:var(--valid);content:"";position:absolute;border-radius:50%;inset:0;animation:glow 1.8s ease-out infinite}
.person-core{text-align:left;padding:20px 15px 15px;z-index:2;transition:opacity .3s ease;position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,1,.97),rgba(0,0,1,.71) 55%,rgba(0,0,1,0))}
.person-panel:hover .person-core{opacity:0}
.person-second{font-size:.68rem;font-weight:700;color:#f0fef9;border-radius:var(--ro-pill);border:1px solid rgba(75,120,106,.89);align-items:center;letter-spacing:.02em;background:rgba(24,45,43,.92);padding:4px 9px;gap:5px;display:inline-flex;margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,1,.19)}
.person-second svg{height:14px;color:#a7e7d0;width:14px}
.person-name{font-family:var(--headline);font-weight:800;font-size:1.32rem;line-height:1.2;color:#fefdfd}
.person-name span{font-weight:600;font-size:.86rem;color:rgba(254,253,253,.83)}
.person-place{display:flex;color:rgba(254,253,253,.89);font-size:.82rem;gap:6px;margin-top:3px;align-items:center}
.person-place .marker svg{width:14px;height:14px;color:#fefdfd}
.person-veil{align-items:flex-end;opacity:0;justify-content:center;background:linear-gradient(to bottom,rgba(0,0,1,.1),rgba(0,0,1,.89));padding:20px;inset:0;transition:opacity .3s ease,visibility .3s ease;position:absolute;visibility:hidden;display:flex;z-index:4}
.person-panel:hover .person-veil{visibility:visible;opacity:1}
.person-box{width:100%;text-align:center;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform:translateY(20px)}
.person-panel:hover .person-box{transform:translateY(0)}
.person-para{-webkit-box-orient:vertical;margin:0 0 12px;line-height:1.4;-webkit-line-clamp:2;overflow:hidden;font-size:.85rem;color:#fefdfd;display:-webkit-box;text-shadow:0 2px 4px rgba(0,0,1,.79)}
.person-convo{justify-content:center;transition:transform .3s ease,box-shadow .3s ease;align-items:center;background:linear-gradient(135deg,var(--accent),var(--warm));display:inline-flex;border-radius:50%;height:50px;color:var(--contrast);width:50px;box-shadow:0 4px 15px rgba(0,0,1,.28)}
.person-convo svg{width:22px;height:22px}
.person-convo:hover{box-shadow:var(--sh-md);transform:scale(1.1)}
.person-shine{top:10px;border-radius:50%;place-items:center;color:#fefdfd;border:none;cursor:pointer;width:34px;display:grid;box-shadow:0 2px 8px rgba(0,0,1,.27);transition:transform .2s ease,background .2s ease,color .2s ease;left:10px;z-index:6;background:rgba(0,0,1,.42);height:34px;position:absolute}
.person-shine svg{height:18px;width:18px}
.person-shine:hover{background:rgba(0,0,1,.62);transform:scale(1.1)}
.person-shine.lit{color:var(--contrast);background:var(--warm)}
.person-shine.lit svg{fill:currentColor}

.toggle{gap:5px;flex-direction:column;border:none;padding:6px;background:none;display:none;cursor:pointer;z-index:1105}
.toggle span{width:26px;height:3px;transition:transform .3s ease,opacity .3s ease;border-radius:2px;display:block;background:var(--text)}
.toggle.current span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.toggle.current span:nth-child(2){opacity:0}
.toggle.current span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}



.persons-grid{display:grid;gap:5px;grid-template-columns:repeat(4,1fr)}
.heading-2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
p{margin:0}
.band{padding-block:var(--sy)}
.band-alt{background:var(--card-2)}
svg{display:block}

.badge-pill{gap:8px;padding:8px 16px;letter-spacing:.06em;border:1px solid var(--divider);border-radius:var(--ro-pill);align-items:center;font-weight:700;background:var(--card);display:inline-flex;font-size:.82rem;box-shadow:var(--sh-sm);color:var(--accent)}
.badge-pill svg{height:16px;color:var(--warm);width:16px}
.body-bar{align-items:center;gap:8px;margin-left:auto;display:flex}
.eyebrow{letter-spacing:.1em;color:var(--accent);text-transform:uppercase;margin-bottom:10px;font-weight:800;font-size:.8rem}
.brand{letter-spacing:-.02em;color:var(--text);align-items:center;font-family:var(--headline);font-weight:800;gap:11px;display:flex;font-size:1.28rem}
.brand:hover{color:var(--text)}
.brand-logo{display:inline-flex;width:42px;background:linear-gradient(135deg,var(--accent),var(--warm) 55%,var(--orange));height:42px;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(236,78,149,.79);color:var(--contrast);align-items:center;border-radius:14px;justify-content:center}
.brand-logo svg{height:22px;width:22px}
::selection{background:rgba(236,78,149,.2)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.bar-veil{position:fixed;z-index:1090;visibility:hidden;background:var(--overlay);opacity:0;transition:opacity .3s ease;inset:0}
.bar-veil.current{opacity:1;visibility:visible}
figure{margin:0}
.tagline{color:var(--text-light);font-size:1.06rem;margin-top:14px}
.brand,.bar-a,.sidebar-mobile a,.ctl,.crumbs a,.app-base a,.region-links a,.person-convo{text-decoration:none}
@media(max-width:768px){.person-veil{opacity:1;visibility:visible;inset:auto 7px 8px auto;width:auto;height:auto;padding:0;background:none}.person-box{width:auto;transform:none}.person-para{display:none}.person-convo{width:34px;height:34px}.person-convo svg{width:16px;height:16px}.person-shine{top:8px;left:8px;width:30px;height:30px}.person-shine svg{width:16px;height:16px}.person-badge{top:8px;right:8px;gap:4px;padding:3px 7px;font-size:9.5px;letter-spacing:.03em}.person-badge .bullet{width:6px;height:6px}.person-panel .person-core{padding:10px 9px 9px}.person-second{gap:3px;margin-bottom:5px;padding:3px 6px;font-size:9.5px}.person-second svg{width:12px;height:12px}.person-name{font-size:.92rem;line-height:1.2;padding-right:40px}.person-name span{font-size:.72rem;white-space:nowrap}.person-place{font-size:.72rem;gap:4px;margin-top:2px;padding-right:40px}.person-place .marker svg{width:12px;height:12px}}
@keyframes glow{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}

.bullet{color:var(--valid);line-height:1;font-size:.6rem}
.details-cityhall{background:var(--card);box-shadow:var(--sh-md);border-radius:var(--ro-lg);border:1px solid var(--divider-light);padding:24px}
.values-list{display:grid;margin-top:14px;gap:10px}
.values-list li{position:relative;color:var(--text);padding-left:24px}
.values-list li::before{border-radius:50%;content:"";left:0;position:absolute;width:10px;top:.5em;height:10px;background:var(--warm)}
.fact{align-items:center;border-radius:var(--ro-md);border:1px solid var(--divider-light);gap:12px;padding:14px 16px;background:var(--card);box-shadow:var(--sh-sm);display:flex}
.fact-ic{display:grid;color:var(--accent);height:40px;width:40px;place-items:center;flex:none;background:var(--card-2);border-radius:12px}
.fact-ic svg{width:18px;height:18px}
.fact-para dt{letter-spacing:.05em;font-size:.78rem;color:var(--dim);text-transform:uppercase}
.fact-para dd{font-family:var(--headline);font-weight:800;font-size:.98rem;margin:2px 0 0}
.ask-small{font-weight:700}
.ask-small-lit{color:var(--valid)}
.ask-small-closed{color:var(--accent-hover)}
.hour{justify-content:space-between;gap:12px;color:var(--text-light);font-size:.9rem;display:flex}


.push-box{gap:30px;align-items:center;border-radius:var(--ro-xl);position:relative;justify-content:space-between;display:flex;flex-wrap:wrap;background:linear-gradient(100deg,var(--accent-hover),var(--warm) 60%,var(--orange));overflow:hidden;color:var(--contrast);padding:clamp(38px,5vw,64px);box-shadow:var(--sh-lg)}
.push-glob{background:rgba(254,253,253,.13);right:-90px;width:320px;position:absolute;top:-120px;height:320px;border-radius:50%}
.push-para{position:relative;z-index:2}
.push-para h2{color:var(--contrast);max-width:16ch}
.push-para p{color:rgba(254,253,253,.92);max-width:46ch;margin-top:10px}
.push-box .ctl{z-index:2;position:relative}
.story-band .crumbs{display:flex}.story-band .crumbs li{padding-left:0}.story-band .crumbs li::before{display:none}

.app-base{background:var(--footer-surface);color:var(--footer)}
.app-base .wrapper{padding-block:56px 22px}
.app-base a{color:var(--footer)}
.app-base a:hover{color:var(--footer-2)}

.region{display:flex;gap:32px;flex-direction:column}
.region-block h2{font-size:1.15rem;color:var(--text);font-weight:800;margin-bottom:16px}
.region-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.region-links a{justify-content:space-between;border:1px solid var(--divider);align-items:center;background:var(--card);transition:transform .14s,box-shadow .14s,color .14s;color:var(--text);gap:10px;display:flex;font-size:.92rem;padding:13px 16px;border-radius:var(--ro-md);font-weight:600;box-shadow:var(--sh-sm)}
.region-links a:hover{transform:translateY(-3px);box-shadow:var(--sh-md);color:var(--accent-hover)}
.region-links a .marker{place-items:center;flex:none;display:grid;color:var(--accent)}
.region-links a .marker svg{width:16px;height:16px}
.base-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.base-brand{font-family:var(--headline);color:var(--footer-2);font-weight:800;gap:10px;display:flex;font-size:1.2rem;align-items:center;margin-bottom:12px}
.base-col>p:not(.base-name){font-size:.94rem;max-width:34ch;color:var(--footer-light)}
.base-name{color:var(--footer-2);margin-bottom:14px;font-size:1rem;font-weight:800}
.base-links{gap:10px;display:grid;font-size:.94rem}
.person-movie-run{display:grid;height:78px;border-radius:50%;border:none;font-size:1.9rem;top:50%;z-index:3;place-items:center;left:50%;position:absolute;line-height:1;box-shadow:var(--sh-md);color:#fefdfd;cursor:pointer;transition:transform .15s ease,background .15s ease;width:78px;padding-left:6px;transform:translate(-50%,-50%);background:rgba(0,0,1,.48)}
.person-movie-run:hover{background:rgba(0,0,1,.71);transform:translate(-50%,-50%) scale(1.07)}
.person-sidebar{position:sticky;top:96px}
.person-intro{gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap;display:flex}
.person-intro .badge-pill{flex:none}
.person-tagline{font-family:var(--headline);font-weight:800;line-height:1.1;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.person-tagline span{font-weight:600;color:var(--dim);font-size:.62em}
.person-small{align-items:center;margin-top:10px;font-size:1.02rem;gap:7px;color:var(--text-light);display:flex}
.person-small .marker svg{color:var(--accent);width:18px;height:18px}
.person-small a{text-decoration:none;color:var(--accent-hover);transition:border-color .15s ease;font-weight:600;border-bottom:1px solid transparent}
.person-small a:hover{border-bottom-color:currentColor}
.person-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.person-sidebar .tagline{margin-top:18px}
.person-list{display:flex;margin-top:24px;flex-wrap:wrap;gap:12px}

.ask-box{max-width:640px}
.ask-ghost{overflow:hidden;position:absolute;width:1px;height:1px;left:-9999px}
.crumbs{gap:6px;flex-wrap:wrap;color:var(--dim);margin-bottom:14px;justify-content:flex-start;font-size:.86rem;display:flex}

.ask{box-shadow:var(--sh-md);background:var(--card);padding:clamp(24px,3vw,40px);border-radius:var(--ro-lg);border:1px solid var(--divider-light)}
.ask-cell{gap:7px;margin-bottom:18px;display:grid}
.ask-cell label{font-weight:700;font-size:.92rem}

.search-ask{padding:12px;background:var(--card);border-radius:var(--ro-pill);gap:12px;box-shadow:var(--sh-md);display:flex;margin:0 auto;border:1px solid var(--divider-light)}
.search-ask .fld{font-size:1.06rem;border:none;background:transparent;box-shadow:none}
.search-ask .fld:focus{box-shadow:none}
.search-ask+.region{margin-top:40px}
.crumbs li:not(:last-child)::after{color:var(--dim);margin-left:6px;content:"\00203a"}
.crumbs a{color:var(--text-light)}
.notice{font-size:.86rem;color:var(--footer-light);padding-top:22px;margin-top:34px;border-top:1px solid var(--footer-ring)}

.widget-trigger{z-index:80;display:flex;box-shadow:var(--sh-lg);border-radius:50%;height:60px;align-items:center;background:linear-gradient(135deg,var(--accent),var(--warm));right:22px;color:var(--contrast);text-decoration:none;bottom:22px;position:fixed;justify-content:center;cursor:pointer;width:60px;border:none}
.widget-trigger svg{stroke:none;width:26px;fill:currentColor;height:26px}
.widget-trigger-para{font-family:var(--headline);height:auto;width:auto;font-weight:800;gap:9px;padding:13px 20px;max-width:calc(100vw - 44px);font-size:.95rem;border-radius:var(--ro-pill)}
.widget-trigger-para svg{width:20px;height:20px}
.widget-para{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.story-para .ctl{margin-top:26px}
.cityhall-name{font-family:var(--headline);font-weight:800;margin-bottom:14px}
.cityhall-row{gap:10px;margin-top:10px;font-size:.94rem;display:flex;align-items:flex-start;color:var(--text-light)}
.cityhall-row .marker{color:var(--accent);flex:none}
.cityhall-row .marker svg{width:16px;height:16px}

.story{align-items:center;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr;display:grid}
.story-para>p:not(.eyebrow){color:var(--text-light);font-size:1.04rem;margin-top:16px}
.story-second{color:var(--accent-hover);font-family:var(--headline);font-size:1.1rem;font-weight:800;margin-top:22px}

.page-top{padding-block:clamp(40px,6vw,80px) 20px}
.page-top h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.page-top p{font-size:1.08rem;margin:16px auto 0;color:var(--text-light)}

.story-band h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.story-band h2{font-size:1.35rem;margin-top:34px;color:var(--accent-hover);font-weight:800}
.story-band p{margin-top:14px;font-size:1.04rem;color:var(--text-light)}
.story-band p a{font-weight:600}
.story-band ul{margin-top:14px;display:grid;gap:10px}
.story-band li{position:relative;padding-left:24px;color:var(--text-light)}
.story-band li::before{width:10px;background:var(--warm);height:10px;left:0;top:.5em;position:absolute;content:"";border-radius:50%}

.details{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,48px);align-items:start}
.details-facts{gap:16px;grid-template-columns:1fr 1fr;display:grid}
.person-window-shine{height:46px;width:46px;top:14px;right:14px}
.person-window-shine svg{height:21px;width:21px}
.person-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,52px);display:grid;margin-top:22px}
.person-col{min-width:0}
.person-window{margin:0;background:linear-gradient(160deg,var(--pinktint-200),var(--lav-2));position:relative;box-shadow:var(--sh-md);overflow:hidden;border-radius:var(--ro-lg)}
.person-window img{aspect-ratio:4/5;width:100%;display:block;height:auto;object-fit:cover}
.person-pager{top:50%;z-index:2;transform:translateY(-50%);display:grid;border-radius:50%;width:44px;color:var(--accent-hover);box-shadow:var(--sh-md);background:var(--card-surface);position:absolute;place-items:center;border:none;height:44px;transition:transform .15s ease,background .15s ease;cursor:pointer}
.person-pager:hover{transform:translateY(-50%) scale(1.07);background:var(--card-surface)}
.person-pager svg{width:22px;height:22px}
.person-prev{left:12px}
.person-right{right:12px}
.person-band{gap:10px;flex-wrap:wrap;margin-top:12px;display:flex}
.person-cell{width:72px;cursor:pointer;border:2px solid transparent;overflow:hidden;padding:0;aspect-ratio:3/4;background:var(--card-2);box-shadow:var(--sh-sm);flex:0 0 auto;transition:transform .15s ease,border-color .15s ease;border-radius:var(--ro-sm)}
.person-cell img{width:100%;object-fit:cover;display:block;height:100%}
.person-cell:hover{transform:translateY(-2px)}
.person-cell.lit{border-color:var(--accent)}
.person-col [hidden]{display:none!important}
.person-movie{object-fit:contain;background:#000001;width:100%;display:block;max-height:70vh;height:auto}
.person-cell-movie{position:relative}

.convo-badge{top:-3px;font-size:.72rem;right:-3px;height:22px;min-width:22px;color:var(--contrast);position:absolute;padding:0 6px;line-height:1;border-radius:var(--ro-pill);background:var(--crimson);box-shadow:var(--sh-sm);font-weight:800;place-items:center;border:2px solid var(--card);display:grid}
.convo-badge[hidden]{display:none}
.zone-panel{background:var(--lav);border-radius:var(--ro-lg);position:relative;border:1px solid var(--divider-light);box-shadow:var(--sh-md);aspect-ratio:4/3;overflow:hidden}
.zone-panel.zone-async{cursor:pointer}
.zone-ghost{gap:10px;text-align:center;display:grid;padding:20px;position:absolute;place-items:center;background:linear-gradient(160deg,var(--lav-2),var(--card-2));inset:0}
.zone-ghost p{font-weight:700;color:var(--text)}
.zone-marker{filter:drop-shadow(0 10px 12px rgba(250,75,98,.48));color:var(--warm)}
.zone-marker svg{fill:currentColor;height:40px;width:40px;stroke:none}
.zone-panel iframe{position:absolute;border:0;height:100%;inset:0;width:100%}
.zone-panel.is-on .zone-ghost{display:none}
.story-band .crumbs,.crumbs:has(+ .head-zone){justify-content:center}

.ghost{padding-block:clamp(60px,10vw,140px);text-align:center}
.ghost-no{font-family:var(--headline);font-weight:800;font-size:clamp(6rem,20vw,13rem);line-height:.9}
.ghost-block{margin-top:30px;gap:14px;flex-wrap:wrap;justify-content:center;display:flex}
.fld-row{gap:18px;display:grid;grid-template-columns:1fr 1fr}
.fld{border-radius:var(--ro-sm);transition:border-color .16s,box-shadow .16s;border:1.5px solid var(--divider);font-family:inherit;font-size:1rem;width:100%;padding:13px 16px;background:var(--card-light);color:var(--text)}
.fld:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(236,78,149,.14)}
textarea.fld{min-height:140px;resize:vertical}
.movie-window{background:#000001;pointer-events:none;object-fit:cover;width:100%;display:block;height:100%}
.movie-bullet{background:rgba(0,0,1,.55);top:50%;padding-left:2px;font-size:.64rem;box-shadow:var(--sh-sm);height:28px;line-height:1;place-items:center;transform:translate(-50%,-50%);border-radius:50%;color:#fefdfd;pointer-events:none;display:grid;left:50%;width:28px;position:absolute}
.movie-badge{border-radius:var(--ro-pill);z-index:2;bottom:12px;font-weight:700;align-items:center;display:inline-flex;font-size:.7rem;letter-spacing:.02em;position:absolute;left:12px;color:#fefdfd;background:rgba(0,0,1,.6);padding:5px 9px;box-shadow:var(--sh-sm);gap:4px}
.times{display:grid;gap:4px;margin-top:10px}

@media (max-width:980px){
  .persons-grid{grid-template-columns:repeat(3,1fr)}
  .person-grid{grid-template-columns:1fr}
  .person-window{width:100%;max-width:380px;justify-self:start}
  .person-sidebar{position:static}
  .story,.details{grid-template-columns:1fr}
  .base-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .body-bar{display:none}
  .toggle{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .sidebar-mobile,.bar-veil{display:none}
}
@media (max-width:600px){
  :root{--sy:clamp(30px,7vw,48px);--gap:8px}
  .base-grid,.fld-row{grid-template-columns:1fr}
  .persons-grid{grid-template-columns:repeat(2,1fr);gap:5px}
  .person-panel{border-radius:var(--ro-sm)}
  .person-core{padding:16px 10px}
  .push-box{flex-direction:column;align-items:stretch;padding:32px 24px}
  .push-box .ctl{width:100%;white-space:normal}
  .search-ask{flex-direction:column;border-radius:var(--ro-lg)}
  .search-ask .ctl{width:100%}
  .band-person{padding-top:0}
  .person-window img{aspect-ratio:1/1;max-height:46vh}
  .person-grid{margin-top:0}
  .person-sidebar{display:flex;flex-direction:column;margin-top:14px}
  .person-intro{order:1;margin-top:0}
  .person-small{order:2}
  .person-list{order:3;margin-top:16px;gap:10px}
  .person-list .ctl{flex:1 1 auto}
  .person-band{display:none}
  .person-facts{order:4}
  .person-sidebar .tagline{order:5}
  .details-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .fact{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .fact-ic{width:34px;height:34px}
  .fact-para{min-width:0}
  .fact-para dd{font-size:.92rem;overflow-wrap:anywhere}
}
