:root{
  --app-pinktint-100:#ffedf6;
  --app-pinktint-200:#f9e7f0;
  --app-pinktint-300:#f5d6ea;
  --app-pinktint-deep:#ecbed9;
  --app-lilac:#f1f0fa;
  --app-lilac-2:#eae5f4;

  --app-panel:#fdffff;
  --app-panel-light:#ffedf6;
  --app-panel-2:#f9e7f0;

  --app-primary:#d20283;
  --app-primary-hover:#ae056e;
  --app-flush:#d20283;
  --app-flush-2:#ae056e;
  --app-tangerine:#d20283;
  --app-tangerine-2:#ae056e;
  --app-love:#d20283;
  --app-peri:#c8ccf1;
  --app-promo-hover:linear-gradient(95deg,#ae056e,#ae056e 55%,#ae056e);

  --app-text:#2a252f;
  --app-text-light:#6b6272;
  --app-muted:#9b95a2;
  --app-line:#f1d8e6;

  --app-inverse:#fdffff;
  --app-base:#fdffff;
  --app-positive:#8ec8ab;
  --app-line-light:rgba(253,255,255,.92);
  --app-panel-back:rgba(253,255,255,.91);
  --app-overlay:rgba(42,37,47,.51);
  --app-baseline-back:#2a252f;
  --app-baseline:#d6d2dc;
  --app-baseline-2:#fdffff;
  --app-baseline-light:#a79eb3;
  --app-baseline-ring:rgba(253,255,255,.09);

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

  --app-shadow-sm:0 6px 16px -8px rgba(210,2,131,.32);
  --app-shadow-md:0 18px 38px -18px rgba(210,2,131,.36);
  --app-shadow-lg:0 30px 60px -24px rgba(210,2,131,.36);

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

  --app-wrap:1200px;
  --app-gutter:24px;
  --app-section-y:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--app-type);background:
    radial-gradient(1200px 700px at 85% -8%, var(--app-pinktint-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--app-lilac) 0%, transparent 55%),
    linear-gradient(180deg, var(--app-pinktint-100) 0%, var(--app-panel-light) 40%, var(--app-pinktint-100) 100%);line-height:1.6;color:var(--app-text);
  -webkit-font-smoothing:antialiased;
  margin:0;background-attachment:fixed;
}
img{max-width:100%;display:block}
.kicker{color:var(--app-primary);font-weight:800;text-transform:uppercase;font-size:.8rem;margin-bottom:10px;letter-spacing:.1em}
.mark,.menu-a,.sidebar-mobile a,.btn,.path a,.site-colophon a,.places-menu a,.person-talk{text-decoration:none}
.section-head{margin:0 auto 44px;max-width:640px;text-align:center}
.section-head .btn{margin-top:24px}
.menu-a{border-radius:var(--app-rnd-pill);font-weight:600;padding:9px 14px;transition:background .18s,color .18s;font-size:.96rem;color:var(--app-text)}
.menu-a:hover{background:var(--app-panel-2);color:var(--app-primary-hover)}
.menu-twinkle{border:none;font-weight:600;cursor:pointer;color:var(--app-text);align-items:center;display:inline-flex;gap:7px;font-size:.96rem;padding:9px 12px;border-radius:var(--app-rnd-pill);position:relative;background:none;transition:background .18s ease,color .18s ease;text-decoration:none}
.menu-twinkle:hover{background:var(--app-panel-2);color:var(--app-primary-hover)}
.menu-twinkle svg{color:var(--app-primary);height:20px;width:20px}
.menu-twinkle:hover svg{color:var(--app-primary-hover)}
.menu-twinkle-line{white-space:nowrap}
.menu-twinkle .talk-status{position:static;top:auto;right:auto}
.menu-twinkle-mobile{border:none;background:none;border-bottom:1px solid var(--app-line);text-align:left;align-items:center;font-weight:600;width:100%;text-decoration:none;gap:9px;display:flex;color:var(--app-text);font-size:15px;cursor:pointer;padding:14px 2px}
.menu-twinkle-mobile:hover{color:var(--app-primary-hover)}
.menu-twinkle-mobile svg{color:var(--app-primary);height:18px;width:18px}
h1,h2,h3,h4{color:var(--app-text);margin:0;font-family:var(--app-font-head);letter-spacing:-.01em;line-height:1.12}



.persons-row{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}
::selection{background:rgba(235,80,152,.22)}

.inner{margin-inline:auto;max-width:var(--app-wrap);padding-inline:var(--app-gutter)}
:focus-visible{outline:3px solid var(--app-primary);border-radius:6px;outline-offset:2px}
svg{display:block}
button{font-family:inherit}
.menu-backdrop{background:var(--app-overlay);position:fixed;inset:0;opacity:0;transition:opacity .3s ease;z-index:1090;visibility:hidden}
.menu-backdrop.shown{visibility:visible;opacity:1}
.sidebar-mobile{top:0;position:fixed;overflow-y:auto;background:var(--app-panel);transition:right .3s ease;max-width:320px;z-index:1100;padding:84px 22px 22px;height:100vh;right:-100%;box-shadow:-6px 0 30px rgba(42,37,47,.2);height:100dvh;width:80%}
.sidebar-mobile.shown{right:0}
.sidebar-mobile nav{display:flex;flex-direction:column}
.sidebar-mobile a:not(.btn){color:var(--app-text);border-bottom:1px solid var(--app-line);font-weight:600;font-size:15px;padding:14px 2px}
.sidebar-mobile a:not(.btn):hover{color:var(--app-primary-hover)}
.sidebar-mobile a.btn{margin-top:22px}
.zone{padding-block:var(--app-section-y)}
.zone-other{background:var(--app-panel-2)}
figure{margin:0}
.mark{letter-spacing:-.02em;font-family:var(--app-font-head);display:flex;color:var(--app-text);gap:11px;align-items:center;font-weight:800;font-size:1.28rem}
.mark:hover{color:var(--app-text)}
.mark-icon{align-items:center;flex-shrink:0;border-radius:14px;background:linear-gradient(135deg,var(--app-primary),var(--app-flush) 55%,var(--app-tangerine));height:42px;width:42px;display:inline-flex;justify-content:center;color:var(--app-inverse);box-shadow:0 8px 18px -8px rgba(235,80,152,.78)}
.mark-icon svg{height:22px;width:22px}
.pic-done svg{fill:currentColor;stroke:none}
.core-menu{align-items:center;display:flex;margin-left:auto;gap:8px}

.site-head{position:sticky;z-index:60;background:var(--app-panel);top:0;border-bottom:1px solid var(--app-line)}
.site-head-inner{min-height:74px;padding-block:12px;align-items:center;justify-content:space-between;gap:20px;display:flex}
.ttl{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}

.btn{
  text-align:center;border:1.5px solid transparent;border-radius:var(--app-rnd-pill);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
  font-weight:700;justify-content:center;display:inline-flex;gap:9px;
  font-size:1rem;padding:14px 26px;white-space:nowrap;cursor:pointer;
  align-items:center;
}
.btn svg{height:18px;width:18px}
.btn-mini{padding:10px 18px;font-size:.9rem}
.btn-block{width:100%}
.btn-primary{color:var(--app-inverse);background:linear-gradient(95deg,var(--app-tangerine),var(--app-flush) 55%,var(--app-primary));box-shadow:0 14px 26px -12px rgba(251,72,97,.74)}
.btn-primary:hover{box-shadow:0 20px 34px -12px rgba(251,72,97,.86);transform:translateY(-2px);background:var(--app-promo-hover);color:var(--app-inverse)}
.btn-secondary{color:var(--app-primary);border-color:var(--app-line);background:var(--app-panel)}
.btn-secondary:hover{transform:translateY(-2px);background:var(--app-panel-2);color:var(--app-primary-hover)}
.btn-pale{color:var(--app-primary-hover);background:var(--app-base)}
.btn-pale:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-md);color:var(--app-primary-hover)}
.person-panel{cursor:pointer;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;border-radius:var(--app-rnd-lg);border:1px solid var(--app-line-light);background:var(--app-panel);position:relative;overflow:hidden}
.person-panel:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--app-shadow-lg);z-index:3}
.person-avatar{display:block;aspect-ratio:3/4;position:relative;background:linear-gradient(160deg,var(--app-pinktint-200),var(--app-lilac-2));overflow:hidden}
.person-avatar img{display:block;width:100%;transition:transform .5s ease,filter .3s ease;height:100%;object-fit:cover}
.person-panel:hover .person-avatar img{filter:brightness(.7);transform:scale(1.1)}
.person-status{align-items:center;box-shadow:0 2px 8px rgba(0,0,1,.17);position:absolute;top:10px;right:10px;border:1px solid #5d9bd8;border-radius:var(--app-rnd-pill);z-index:3;color:#e9f2fe;padding:5px 9px;letter-spacing:.05em;display:inline-flex;font-weight:800;gap:6px;font-size:.68rem;background:linear-gradient(135deg,#112c49,#0c1f33)}
.person-status .bullet{box-shadow:0 0 6px rgba(142,200,171,.72);width:8px;height:8px;border-radius:50%;color:transparent;background:var(--app-positive);position:relative;font-size:0}
.person-status .bullet::after{inset:0;background:var(--app-positive);animation:undulate 1.8s ease-out infinite;position:absolute;content:"";border-radius:50%}
.person-inner{left:0;background:linear-gradient(to top,rgba(0,0,1,.93),rgba(0,0,1,.72) 55%,rgba(0,0,1,0));z-index:2;padding:20px 15px 15px;position:absolute;text-align:left;right:0;bottom:0;transition:opacity .3s ease}
.person-panel:hover .person-inner{opacity:0}
.person-subtitle{letter-spacing:.02em;font-size:.68rem;display:inline-flex;align-items:center;border-radius:var(--app-rnd-pill);padding:4px 9px;gap:5px;margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,1,.17);color:#f1fcf7;background:rgba(22,44,45,.91);border:1px solid rgba(72,116,109,.92);font-weight:700}
.person-subtitle svg{color:#a9e3ce;height:14px;width:14px}
.person-title{font-family:var(--app-font-head);font-weight:800;font-size:1.32rem;color:#fdffff;line-height:1.2}
.person-title span{font-weight:600;color:rgba(253,255,255,.82);font-size:.86rem}
.person-addr{gap:6px;display:flex;color:rgba(253,255,255,.92);margin-top:3px;font-size:.82rem;align-items:center}
.person-addr .marker svg{color:#fdffff;height:14px;width:14px}
.person-backdrop{padding:20px;position:absolute;display:flex;justify-content:center;z-index:4;background:linear-gradient(to bottom,rgba(0,0,1,.09),rgba(0,0,1,.92));inset:0;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;align-items:flex-end}
.person-panel:hover .person-backdrop{opacity:1;visibility:visible}
.person-frame{width:100%;text-align:center;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform:translateY(20px)}
.person-panel:hover .person-frame{transform:translateY(0)}
.person-line{margin:0 0 12px;font-size:.85rem;line-height:1.4;-webkit-line-clamp:2;overflow:hidden;display:-webkit-box;text-shadow:0 2px 4px rgba(0,0,1,.78);-webkit-box-orient:vertical;color:#fdffff}
.person-talk{justify-content:center;display:inline-flex;width:50px;color:var(--app-inverse);background:linear-gradient(135deg,var(--app-primary),var(--app-flush));transition:transform .3s ease,box-shadow .3s ease;align-items:center;border-radius:50%;box-shadow:0 4px 15px rgba(0,0,1,.28);height:50px}
.person-talk svg{width:22px;height:22px}
.person-talk:hover{transform:scale(1.1);box-shadow:var(--app-shadow-md)}
.person-twinkle{border-radius:50%;transition:transform .2s ease,background .2s ease,color .2s ease;background:rgba(0,0,1,.4);top:10px;place-items:center;box-shadow:0 2px 8px rgba(0,0,1,.3);left:10px;display:grid;z-index:6;border:none;width:34px;color:#fdffff;cursor:pointer;height:34px;position:absolute}
.person-twinkle svg{height:18px;width:18px}
.person-twinkle:hover{background:rgba(0,0,1,.62);transform:scale(1.1)}
.person-twinkle.done{color:var(--app-inverse);background:var(--app-flush)}
.person-twinkle.done svg{fill:currentColor}
.hl{color:transparent;background:linear-gradient(92deg,var(--app-primary),var(--app-flush) 60%,var(--app-tangerine));-webkit-background-clip:text;background-clip:text}
ul{list-style:none;margin:0;padding:0}
.path a:hover{color:var(--app-primary-hover)}

.status-pill{background:var(--app-panel);gap:8px;border:1px solid var(--app-line);font-weight:700;box-shadow:var(--app-shadow-sm);letter-spacing:.06em;border-radius:var(--app-rnd-pill);color:var(--app-primary);align-items:center;display:inline-flex;padding:8px 16px;font-size:.82rem}
.status-pill svg{height:16px;width:16px;color:var(--app-flush)}
p{margin:0}

.toggle{background:none;border:none;padding:6px;z-index:1105;cursor:pointer;gap:5px;display:none;flex-direction:column}
.toggle span{display:block;height:3px;background:var(--app-text);border-radius:2px;transition:transform .3s ease,opacity .3s ease;width:26px}
.toggle.shown span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.toggle.shown span:nth-child(2){opacity:0}
.toggle.shown span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.tagline{font-size:1.06rem;margin-top:14px;color:var(--app-text-light)}
@media(max-width:768px){.person-backdrop{opacity:1;visibility:visible;inset:auto 7px 8px auto;width:auto;height:auto;padding:0;background:none}.person-frame{width:auto;transform:none}.person-line{display:none}.person-talk{width:34px;height:34px}.person-talk svg{width:16px;height:16px}.person-twinkle{top:8px;left:8px;width:30px;height:30px}.person-twinkle svg{width:16px;height:16px}.person-status{top:8px;right:8px;gap:4px;padding:3px 7px;font-size:9.5px;letter-spacing:.03em}.person-status .bullet{width:6px;height:6px}.person-panel .person-inner{padding:10px 9px 9px}.person-subtitle{gap:3px;margin-bottom:5px;padding:3px 6px;font-size:9.5px}.person-subtitle svg{width:12px;height:12px}.person-title{font-size:.92rem;line-height:1.2;padding-right:40px}.person-title span{font-size:.72rem;white-space:nowrap}.person-addr{font-size:.72rem;gap:4px;margin-top:2px;padding-right:40px}.person-addr .marker svg{width:12px;height:12px}}
@keyframes undulate{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}

.story{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr;align-items:center}
.story-line>p:not(.kicker){margin-top:16px;font-size:1.04rem;color:var(--app-text-light)}
.story-subtitle{margin-top:22px;font-family:var(--app-font-head);font-size:1.1rem;font-weight:800;color:var(--app-primary-hover)}
.story-zone .path,.path:has(+ .section-head){justify-content:center}
.colophon-row{gap:40px;grid-template-columns:1.6fr 1fr 1fr;display:grid}
.colophon-mark{display:flex;gap:10px;font-family:var(--app-font-head);font-weight:800;font-size:1.2rem;color:var(--app-baseline-2);align-items:center;margin-bottom:12px}
.colophon-side>p:not(.colophon-title){color:var(--app-baseline-light);font-size:.94rem;max-width:34ch}
.colophon-title{color:var(--app-baseline-2);font-size:1rem;font-weight:800;margin-bottom:14px}
.colophon-menu{font-size:.94rem;gap:10px;display:grid}
.copyright{color:var(--app-baseline-light);font-size:.86rem;padding-top:22px;margin-top:34px;border-top:1px solid var(--app-baseline-ring)}
.clip-window{width:100%;display:block;object-fit:cover;height:100%;pointer-events:none;background:#000001}
.clip-bullet{box-shadow:var(--app-shadow-sm);display:grid;transform:translate(-50%,-50%);color:#fdffff;font-size:.64rem;padding-left:2px;line-height:1;top:50%;left:50%;position:absolute;pointer-events:none;height:28px;width:28px;background:rgba(0,0,1,.56);place-items:center;border-radius:50%}
.clip-status{box-shadow:var(--app-shadow-sm);display:inline-flex;padding:5px 9px;z-index:2;letter-spacing:.02em;bottom:12px;left:12px;gap:4px;color:#fdffff;border-radius:var(--app-rnd-pill);position:absolute;align-items:center;font-weight:700;background:rgba(0,0,1,.62);font-size:.7rem}

.about{display:grid;align-items:start;grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,48px)}
.about-infos{grid-template-columns:1fr 1fr;display:grid;gap:16px}
.info{border-radius:var(--app-rnd-md);gap:12px;padding:14px 16px;align-items:center;border:1px solid var(--app-line-light);display:flex;box-shadow:var(--app-shadow-sm);background:var(--app-panel)}
.info-pic{border-radius:12px;height:40px;background:var(--app-panel-2);place-items:center;flex:none;color:var(--app-primary);display:grid;width:40px}
.info-pic svg{height:18px;width:18px}
.info-line dt{letter-spacing:.05em;font-size:.78rem;text-transform:uppercase;color:var(--app-muted)}
.info-line dd{margin:2px 0 0;font-family:var(--app-font-head);font-weight:800;font-size:.98rem}
.story-line .btn{margin-top:26px}
.when{justify-content:space-between;gap:12px;display:flex;color:var(--app-text-light);font-size:.9rem}

.bullet{font-size:.6rem;color:var(--app-positive);line-height:1}

.site-colophon{background:var(--app-baseline-back);color:var(--app-baseline)}
.site-colophon .inner{padding-block:56px 22px}
.site-colophon a{color:var(--app-baseline)}
.site-colophon a:hover{color:var(--app-baseline-2)}


.prompt-zone{padding:clamp(38px,5vw,64px);overflow:hidden;gap:30px;border-radius:var(--app-rnd-xl);background:linear-gradient(100deg,var(--app-primary-hover),var(--app-flush) 60%,var(--app-tangerine));display:flex;position:relative;flex-wrap:wrap;align-items:center;box-shadow:var(--app-shadow-lg);justify-content:space-between;color:var(--app-inverse)}
.prompt-deco{width:320px;height:320px;border-radius:50%;right:-90px;background:rgba(253,255,255,.14);position:absolute;top:-120px}
.prompt-line{z-index:2;position:relative}
.prompt-line h2{max-width:16ch;color:var(--app-inverse)}
.prompt-line p{max-width:46ch;color:rgba(253,255,255,.91);margin-top:10px}
.prompt-zone .btn{z-index:2;position:relative}
.person-window-twinkle{top:14px;width:46px;right:14px;height:46px}
.person-window-twinkle svg{width:21px;height:21px}
.person-row{gap:clamp(24px,4vw,52px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;margin-top:22px;display:grid}
.person-side{min-width:0}
.person-window{overflow:hidden;box-shadow:var(--app-shadow-md);border-radius:var(--app-rnd-lg);position:relative;margin:0;background:linear-gradient(160deg,var(--app-pinktint-200),var(--app-lilac-2))}
.person-window img{object-fit:cover;width:100%;aspect-ratio:4/5;height:auto;display:block}
.person-nav{color:var(--app-primary-hover);top:50%;height:44px;border-radius:50%;place-items:center;border:none;z-index:2;display:grid;width:44px;transition:transform .15s ease,background .15s ease;background:var(--app-panel-back);position:absolute;cursor:pointer;transform:translateY(-50%);box-shadow:var(--app-shadow-md)}
.person-nav:hover{transform:translateY(-50%) scale(1.07);background:var(--app-panel-back)}
.person-nav svg{height:22px;width:22px}
.person-back{left:12px}
.person-next{right:12px}
.person-band{gap:10px;display:flex;flex-wrap:wrap;margin-top:12px}
.person-entry{aspect-ratio:3/4;border:2px solid transparent;flex:0 0 auto;padding:0;width:72px;border-radius:var(--app-rnd-sm);overflow:hidden;background:var(--app-panel-2);box-shadow:var(--app-shadow-sm);cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.person-entry img{width:100%;height:100%;display:block;object-fit:cover}
.person-entry:hover{transform:translateY(-2px)}
.person-entry.done{border-color:var(--app-primary)}
.person-side [hidden]{display:none!important}
.person-clip{max-height:70vh;object-fit:contain;display:block;width:100%;background:#000001;height:auto}
.person-entry-clip{position:relative}
.person-clip-watch{font-size:1.9rem;transform:translate(-50%,-50%);width:78px;top:50%;border-radius:50%;padding-left:6px;color:#fdffff;place-items:center;display:grid;z-index:3;line-height:1;height:78px;cursor:pointer;background:rgba(0,0,1,.51);left:50%;position:absolute;border:none;box-shadow:var(--app-shadow-md);transition:transform .15s ease,background .15s ease}
.person-clip-watch:hover{background:rgba(0,0,1,.72);transform:translate(-50%,-50%) scale(1.07)}
.person-sidebar{position:sticky;top:96px}
.person-header{gap:12px;display:flex;margin-top:14px;flex-wrap:wrap;align-items:center}
.person-header .status-pill{flex:none}
.person-tagline{font-family:var(--app-font-head);font-weight:800;line-height:1.1;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.person-tagline span{color:var(--app-muted);font-weight:600;font-size:.62em}
.person-hint{font-size:1.02rem;display:flex;gap:7px;align-items:center;margin-top:10px;color:var(--app-text-light)}
.person-hint .marker svg{height:18px;width:18px;color:var(--app-primary)}
.person-hint a{transition:border-color .15s ease;color:var(--app-primary-hover);text-decoration:none;font-weight:600;border-bottom:1px solid transparent}
.person-hint a:hover{border-bottom-color:currentColor}
.person-infos{gap:8px;display:flex;margin-top:16px;flex-wrap:wrap}
.person-sidebar .tagline{margin-top:18px}
.person-set{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.fld-line{display:grid;gap:18px;grid-template-columns:1fr 1fr}
.fld{color:var(--app-text);width:100%;font-family:inherit;border-radius:var(--app-rnd-sm);border:1.5px solid var(--app-line);font-size:1rem;transition:border-color .16s,box-shadow .16s;padding:13px 16px;background:var(--app-panel-light)}
.fld:focus{border-color:var(--app-primary);box-shadow:0 0 0 3px rgba(235,80,152,.15);outline:none}
textarea.fld{min-height:140px;resize:vertical}

.places{gap:32px;display:flex;flex-direction:column}
.places-part h2{margin-bottom:16px;font-size:1.15rem;font-weight:800;color:var(--app-text)}
.places-menu{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid;gap:12px}
.places-menu a{font-size:.92rem;padding:13px 16px;background:var(--app-panel);transition:transform .14s,box-shadow .14s,color .14s;color:var(--app-text);border:1px solid var(--app-line);border-radius:var(--app-rnd-md);justify-content:space-between;font-weight:600;box-shadow:var(--app-shadow-sm);display:flex;align-items:center;gap:10px}
.places-menu a:hover{color:var(--app-primary-hover);box-shadow:var(--app-shadow-md);transform:translateY(-3px)}
.places-menu a .marker{flex:none;display:grid;color:var(--app-primary);place-items:center}
.places-menu a .marker svg{width:16px;height:16px}

.form{border-radius:var(--app-rnd-lg);box-shadow:var(--app-shadow-md);border:1px solid var(--app-line-light);padding:clamp(24px,3vw,40px);background:var(--app-panel)}
.form-entry{margin-bottom:18px;display:grid;gap:7px}
.form-entry label{font-weight:700;font-size:.92rem}
.path li:not(:last-child)::after{color:var(--app-muted);content:"\00203a";margin-left:6px}
.path a{color:var(--app-text-light)}

.talk-status{position:absolute;background:var(--app-love);top:-3px;border-radius:var(--app-rnd-pill);padding:0 6px;font-size:.72rem;color:var(--app-inverse);border:2px solid var(--app-panel);right:-3px;display:grid;font-weight:800;line-height:1;box-shadow:var(--app-shadow-sm);height:22px;place-items:center;min-width:22px}
.talk-status[hidden]{display:none}

.story-zone h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.story-zone h2{font-size:1.35rem;margin-top:34px;font-weight:800;color:var(--app-primary-hover)}
.story-zone p{color:var(--app-text-light);margin-top:14px;font-size:1.04rem}
.story-zone p a{font-weight:600}
.story-zone ul{display:grid;margin-top:14px;gap:10px}
.story-zone li{position:relative;padding-left:24px;color:var(--app-text-light)}
.story-zone li::before{border-radius:50%;position:absolute;height:10px;left:0;background:var(--app-flush);width:10px;content:"";top:.5em}
.path{margin-bottom:14px;justify-content:flex-start;color:var(--app-muted);gap:6px;font-size:.86rem;display:flex;flex-wrap:wrap}
.cityhall-title{font-family:var(--app-font-head);font-weight:800;margin-bottom:14px}
.cityhall-line{gap:10px;font-size:.94rem;margin-top:10px;align-items:flex-start;display:flex;color:var(--app-text-light)}
.cityhall-line .marker{color:var(--app-primary);flex:none}
.cityhall-line .marker svg{width:16px;height:16px}

.finder-form{border-radius:var(--app-rnd-pill);border:1px solid var(--app-line-light);box-shadow:var(--app-shadow-md);padding:12px;margin:0 auto;gap:12px;display:flex;background:var(--app-panel)}
.finder-form .fld{box-shadow:none;border:none;background:transparent;font-size:1.06rem}
.finder-form .fld:focus{box-shadow:none}
.finder-form+.places{margin-top:40px}

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

.form-frame{max-width:640px}
.form-empty{height:1px;overflow:hidden;left:-9999px;position:absolute;width:1px}
.map-panel{border-radius:var(--app-rnd-lg);position:relative;overflow:hidden;box-shadow:var(--app-shadow-md);background:var(--app-lilac);aspect-ratio:4/3;border:1px solid var(--app-line-light)}
.map-panel.map-lazy{cursor:pointer}
.map-empty{padding:20px;gap:10px;background:linear-gradient(160deg,var(--app-lilac-2),var(--app-panel-2));inset:0;place-items:center;text-align:center;display:grid;position:absolute}
.map-empty p{font-weight:700;color:var(--app-text)}
.map-marker{color:var(--app-flush);filter:drop-shadow(0 10px 12px rgba(251,72,97,.51))}
.map-marker svg{fill:currentColor;height:40px;width:40px;stroke:none}
.map-panel iframe{inset:0;border:0;width:100%;position:absolute;height:100%}
.map-panel.ready .map-empty{display:none}
.about-cityhall{padding:24px;border-radius:var(--app-rnd-lg);box-shadow:var(--app-shadow-md);background:var(--app-panel);border:1px solid var(--app-line-light)}
.reasons-set{gap:10px;margin-top:14px;display:grid}
.reasons-set li{padding-left:24px;position:relative;color:var(--app-text)}
.reasons-set li::before{width:10px;left:0;top:.5em;border-radius:50%;position:absolute;content:"";background:var(--app-flush);height:10px}
.opening{display:grid;margin-top:10px;gap:4px}

.floater-opener{border-radius:50%;color:var(--app-inverse);right:22px;background:linear-gradient(135deg,var(--app-primary),var(--app-flush));bottom:22px;box-shadow:var(--app-shadow-lg);align-items:center;position:fixed;justify-content:center;border:none;z-index:80;cursor:pointer;height:60px;width:60px;text-decoration:none;display:flex}
.floater-opener svg{width:26px;height:26px;stroke:none;fill:currentColor}
.floater-opener-line{height:auto;width:auto;gap:9px;font-family:var(--app-font-head);max-width:calc(100vw - 44px);font-weight:800;border-radius:var(--app-rnd-pill);font-size:.95rem;padding:13px 20px}
.floater-opener-line svg{height:20px;width:20px}
.floater-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.form-hint{font-weight:700}
.form-hint-done{color:var(--app-positive)}
.form-hint-hidden{color:var(--app-primary-hover)}

.empty{padding-block:clamp(60px,10vw,140px);text-align:center}
.empty-num{font-family:var(--app-font-head);line-height:.9;font-weight:800;font-size:clamp(6rem,20vw,13rem)}
.empty-part{margin-top:30px;gap:14px;justify-content:center;flex-wrap:wrap;display:flex}
.story-zone .path{display:flex}.story-zone .path li{padding-left:0}.story-zone .path li::before{display:none}

@media (max-width:980px){
  .persons-row{grid-template-columns:repeat(3,1fr)}
  .person-row{grid-template-columns:1fr}
  .person-window{width:100%;max-width:380px;justify-self:start}
  .person-sidebar{position:static}
  .story,.about{grid-template-columns:1fr}
  .colophon-row{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .core-menu{display:none}
  .toggle{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .sidebar-mobile,.menu-backdrop{display:none}
}
@media (max-width:600px){
  :root{--app-section-y:clamp(30px,7vw,48px);--app-gutter:8px}
  .colophon-row,.fld-line{grid-template-columns:1fr}
  .persons-row{grid-template-columns:repeat(2,1fr);gap:5px}
  .person-panel{border-radius:var(--app-rnd-sm)}
  .person-inner{padding:16px 10px}
  .prompt-zone{flex-direction:column;align-items:stretch;padding:32px 24px}
  .prompt-zone .btn{width:100%;white-space:normal}
  .finder-form{flex-direction:column;border-radius:var(--app-rnd-lg)}
  .finder-form .btn{width:100%}
  .zone-person{padding-top:0}
  .person-window img{aspect-ratio:1/1;max-height:46vh}
  .person-row{margin-top:0}
  .person-sidebar{display:flex;flex-direction:column;margin-top:14px}
  .person-header{order:1;margin-top:0}
  .person-hint{order:2}
  .person-set{order:3;margin-top:16px;gap:10px}
  .person-set .btn{flex:1 1 auto}
  .person-band{display:none}
  .person-infos{order:4}
  .person-sidebar .tagline{order:5}
  .about-infos{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .info{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .info-pic{width:34px;height:34px}
  .info-line{min-width:0}
  .info-line dd{font-size:.92rem;overflow-wrap:anywhere}
}
