:root{
  --app-rose-100:#15090c;
  --app-rose-200:#1c0f14;
  --app-rose-300:#280e1a;
  --app-rose-deep:#361421;
  --app-lav:#130c13;
  --app-lav-alt:#1f1021;

  --app-paper:#181113;
  --app-paper-tint:#21161f;
  --app-paper-alt:#291822;

  --app-pink:#f5347c;
  --app-pink-600:#ff2b70;
  --app-red:#ff4b5c;
  --app-red-alt:#ff3950;
  --app-orange:#ff793e;
  --app-orange-alt:#ff6c23;
  --app-crush:#ff3d4b;
  --app-periwinkle:#9aa2e2;

  --app-text:#f3edf0;
  --app-text-tint:#b5a9b0;
  --app-quiet:#857d85;
  --app-edge:#3a2632;

  --app-contrast:#fefeff;
  --app-base:#fefeff;
  --app-positive:#34c575;
  --app-edge-tint:rgba(254,254,255,.08);
  --app-paper-fill:rgba(20,9,17,.84);
  --app-veil:rgba(1,1,1,.6);
  --app-baseline-fill:#0f0807;
  --app-baseline:#c8bbc5;
  --app-baseline-alt:#f3edf0;
  --app-baseline-tint:#887d85;
  --app-baseline-ring:rgba(254,254,255,.09);

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

  --app-shadow-sm:0 6px 16px -8px rgba(1,1,1,.53);
  --app-shadow-md:0 18px 38px -18px rgba(1,1,1,.6);
  --app-shadow-lg:0 30px 60px -24px rgba(1,1,1,.67);

  --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-maxw:1200px;
  --app-edge-x:24px;
  --app-vgap:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--app-type);-webkit-font-smoothing:antialiased;background:
    radial-gradient(1200px 700px at 85% -8%, var(--app-rose-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--app-lav) 0%, transparent 55%),
    linear-gradient(180deg, var(--app-rose-100) 0%, var(--app-paper-tint) 40%, var(--app-rose-100) 100%);color:var(--app-text);
  background-attachment:fixed;
  margin:0;line-height:1.6;
}
img{max-width:100%;display:block}
.time{justify-content:space-between;color:var(--app-text-tint);gap:12px;font-size:.9rem;display:flex}
.led{font-size:.6rem;color:var(--app-positive);line-height:1}
.links-backdrop{position:fixed;visibility:hidden;z-index:1090;inset:0;background:var(--app-veil);opacity:0;transition:opacity .3s ease}
.links-backdrop.current{opacity:1;visibility:visible}
.rights{font-size:.86rem;color:var(--app-baseline-tint);border-top:1px solid var(--app-baseline-ring);padding-top:22px;margin-top:34px}

.view-feature{padding-block:clamp(40px,6vw,80px) 20px}
.view-feature h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.view-feature p{margin:16px auto 0;font-size:1.08rem;color:var(--app-text-tint)}
.body-links{gap:8px;display:flex;align-items:center;margin-left:auto}
.person-shine{box-shadow:var(--app-shadow-sm);top:12px;position:absolute;background:var(--app-paper-fill);border-radius:50%;z-index:2;color:var(--app-red);transition:transform .16s,background .16s,color .16s;cursor:pointer;height:36px;width:36px;right:12px;border:none;place-items:center;display:grid}
.person-shine svg{height:18px;width:18px}
.person-shine:hover{transform:scale(1.08)}
.person-shine.done{background:var(--app-red);color:var(--app-contrast)}
.person-shine.done svg{fill:currentColor}
.person-shot-shine{width:46px;top:14px;right:14px;height:46px}
.person-shot-shine svg{width:21px;height:21px}
.person-inner{padding:16px 18px}
.person-heading{font-family:var(--app-font-head);font-weight:800;font-size:1.12rem}
.person-heading a{outline-offset:3px;text-decoration:none;color:inherit}
.person-heading a::after{inset:0;position:absolute;z-index:1;content:""}
.person-heading span{font-weight:600;color:var(--app-quiet)}
.person-loc{gap:6px;font-size:.88rem;align-items:center;display:flex;color:var(--app-text-tint);margin-top:4px}
.person-loc .needle svg{height:14px;color:var(--app-pink);width:14px}
.person-inbox{box-shadow:var(--app-shadow-sm);z-index:2;gap:7px;padding:9px 14px;margin-top:12px;position:relative;width:100%;display:inline-flex;font-weight:700;align-items:center;transition:transform .16s ease,box-shadow .16s ease;color:var(--app-contrast);font-size:.9rem;background:linear-gradient(135deg,var(--app-pink),var(--app-red));border-radius:var(--app-r-pill);justify-content:center}
.person-inbox svg{height:16px;width:16px}
.person-inbox:hover{transform:translateY(-1px);box-shadow:var(--app-shadow-md)}
.person-layout{gap:clamp(24px,4vw,52px);margin-top:22px;display:grid;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.person-side{min-width:0}
.person-shot{background:linear-gradient(160deg,var(--app-rose-200),var(--app-lav-alt));position:relative;box-shadow:var(--app-shadow-md);margin:0;border-radius:var(--app-r-lg);overflow:hidden}
.person-shot img{width:100%;display:block;object-fit:cover;aspect-ratio:4/5;height:auto}
.person-pager{border-radius:50%;position:absolute;transition:transform .15s ease,background .15s ease;background:var(--app-paper-fill);height:44px;top:50%;display:grid;box-shadow:var(--app-shadow-md);transform:translateY(-50%);border:none;place-items:center;z-index:2;width:44px;color:var(--app-pink-600);cursor:pointer}
.person-pager:hover{background:var(--app-paper-fill);transform:translateY(-50%) scale(1.07)}
.person-pager svg{width:22px;height:22px}
.person-left{left:12px}
.person-fwd{right:12px}
.person-band{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.person-cell{border:2px solid transparent;background:var(--app-paper-alt);transition:transform .15s ease,border-color .15s ease;flex:0 0 auto;width:72px;cursor:pointer;aspect-ratio:3/4;border-radius:var(--app-r-sm);padding:0;box-shadow:var(--app-shadow-sm);overflow:hidden}
.person-cell img{width:100%;display:block;height:100%;object-fit:cover}
.person-cell:hover{transform:translateY(-2px)}
.person-cell.done{border-color:var(--app-pink)}
.person-side [hidden]{display:none!important}
.person-vid{object-fit:contain;background:#010101;max-height:70vh;width:100%;display:block;height:auto}
.person-cell-vid{position:relative}
.details-cityhall{border-radius:var(--app-r-lg);background:var(--app-paper);border:1px solid var(--app-edge-tint);padding:24px;box-shadow:var(--app-shadow-md)}
ul{margin:0;padding:0;list-style:none}
.stat{border-radius:var(--app-r-md);padding:14px 16px;align-items:center;background:var(--app-paper);box-shadow:var(--app-shadow-sm);gap:12px;border:1px solid var(--app-edge-tint);display:flex}
.stat-ic{background:var(--app-paper-alt);color:var(--app-pink);border-radius:12px;display:grid;flex:none;place-items:center;width:40px;height:40px}
.stat-ic svg{width:18px;height:18px}
.stat-txt dt{color:var(--app-quiet);letter-spacing:.05em;font-size:.78rem;text-transform:uppercase}
.stat-txt dd{margin:2px 0 0;font-family:var(--app-font-head);font-weight:800;font-size:.98rem}

.offer-box{background:linear-gradient(100deg,var(--app-pink-600),var(--app-red) 60%,var(--app-orange));color:var(--app-contrast);position:relative;justify-content:space-between;border-radius:var(--app-r-xl);display:flex;align-items:center;padding:clamp(38px,5vw,64px);flex-wrap:wrap;gap:30px;overflow:hidden;box-shadow:var(--app-shadow-lg)}
.offer-blob{position:absolute;right:-90px;top:-120px;height:320px;background:rgba(254,254,255,.12);width:320px;border-radius:50%}
.offer-txt{z-index:2;position:relative}
.offer-txt h2{color:var(--app-contrast);max-width:16ch}
.offer-txt p{color:rgba(254,254,255,.94);margin-top:10px;max-width:46ch}
.offer-box .action{z-index:2;position:relative}
.name,.links-entry,.drawer-mobile a,.action,.trail a,.site-colophon a,.towns-list a,.person-inbox{text-decoration:none}
.field-entry{grid-template-columns:1fr 1fr;display:grid;gap:18px}
.field{border-radius:var(--app-r-sm);transition:border-color .16s,box-shadow .16s;border:1.5px solid var(--app-edge);background:var(--app-paper-tint);font-family:inherit;width:100%;padding:13px 16px;color:var(--app-text);font-size:1rem}
.field:focus{border-color:var(--app-pink);outline:none;box-shadow:0 0 0 3px rgba(237,78,152,.17)}
textarea.field{min-height:140px;resize:vertical}

.site-masthead{background:var(--app-paper);top:0;position:sticky;border-bottom:1px solid var(--app-edge);z-index:60}
.site-masthead-inner{padding-block:12px;min-height:74px;justify-content:space-between;gap:20px;display:flex;align-items:center}
.vid-shot{pointer-events:none;object-fit:cover;width:100%;height:100%;background:#010101;display:block}
.vid-led{transform:translate(-50%,-50%);position:absolute;border-radius:50%;color:#fefeff;background:rgba(1,1,1,.53);top:50%;box-shadow:var(--app-shadow-sm);display:grid;pointer-events:none;place-items:center;width:28px;line-height:1;padding-left:2px;height:28px;font-size:.64rem;left:50%}
.vid-stamp{align-items:center;border-radius:var(--app-r-pill);background:rgba(1,1,1,.6);bottom:12px;font-weight:700;left:12px;display:inline-flex;letter-spacing:.02em;z-index:2;gap:4px;box-shadow:var(--app-shadow-sm);color:#fefeff;padding:5px 9px;font-size:.7rem;position:absolute}

.hamburger{z-index:1105;gap:5px;background:none;flex-direction:column;cursor:pointer;display:none;border:none;padding:6px}
.hamburger span{width:26px;height:3px;display:block;transition:transform .3s ease,opacity .3s ease;border-radius:2px;background:var(--app-text)}
.hamburger.current span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.hamburger.current span:nth-child(2){opacity:0}
.hamburger.current span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.trail li:not(:last-child)::after{color:var(--app-quiet);content:"\00203a";margin-left:6px}
.trail a{color:var(--app-text-tint)}
.entry-band .trail{display:flex}.entry-band .trail li{padding-left:0}.entry-band .trail li::before{display:none}
.drawer-mobile{z-index:1100;top:0;padding:84px 22px 22px;width:80%;transition:right .3s ease;background:var(--app-paper);position:fixed;max-width:320px;height:100vh;overflow-y:auto;right:-100%;height:100dvh;box-shadow:-6px 0 30px rgba(44,35,49,.21)}
.drawer-mobile.current{right:0}
.drawer-mobile nav{flex-direction:column;display:flex}
.drawer-mobile a:not(.action){padding:14px 2px;color:var(--app-text);font-weight:600;border-bottom:1px solid var(--app-edge);font-size:15px}
.drawer-mobile a:not(.action):hover{color:var(--app-pink-600)}
.drawer-mobile a.action{margin-top:22px}
svg{display:block}

.dock-offer{max-width:calc(100vw - 44px);background:var(--app-paper);right:22px;border-radius:var(--app-r-lg);bottom:22px;box-shadow:var(--app-shadow-lg);width:300px;padding:20px;position:fixed;z-index:80;border:1px solid var(--app-edge-tint)}
.dock-hide{border-radius:50%;top:12px;color:var(--app-text-tint);font-size:1.1rem;position:absolute;right:12px;background:var(--app-paper-alt);height:28px;line-height:1;width:28px;padding:0;place-items:center;cursor:pointer;border:none;display:grid}
.dock-hide:hover{color:var(--app-contrast);background:var(--app-pink)}
.dock-heading{font-family:var(--app-font-head);padding-right:26px;font-weight:800;font-size:1.04rem}
.dock-txt{font-size:.86rem;color:var(--app-text-tint);margin-top:4px;margin-bottom:14px}
.dock-trigger{border-radius:50%;z-index:80;position:fixed;color:var(--app-contrast);align-items:center;cursor:pointer;box-shadow:var(--app-shadow-lg);height:60px;right:22px;background:linear-gradient(135deg,var(--app-pink),var(--app-red));display:none;justify-content:center;width:60px;border:none;bottom:22px}
.dock-trigger svg{fill:currentColor;stroke:none;height:26px;width:26px}

.contact-holder{max-width:640px}
.contact-ghost{height:1px;left:-9999px;position:absolute;overflow:hidden;width:1px}
button{font-family:inherit}
.hook{margin-top:14px;font-size:1.06rem;color:var(--app-text-tint)}
.entry-txt .action{margin-top:26px}
.contact-hint{font-weight:700}
.contact-hint-done{color:var(--app-positive)}
.contact-hint-off{color:var(--app-pink-600)}

.entry{gap:clamp(28px,4vw,56px);display:grid;align-items:center;grid-template-columns:1fr 1fr}
.entry-txt>p:not(.overline){color:var(--app-text-tint);margin-top:16px;font-size:1.04rem}
.entry-deck{color:var(--app-pink-600);margin-top:22px;font-family:var(--app-font-head);font-size:1.1rem;font-weight:800}
.em{background:linear-gradient(92deg,var(--app-pink),var(--app-red) 60%,var(--app-orange));-webkit-background-clip:text;color:transparent;background-clip:text}
.overline{margin-bottom:10px;color:var(--app-pink);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.trail{flex-wrap:wrap;color:var(--app-quiet);justify-content:flex-start;display:flex;gap:6px;margin-bottom:14px;font-size:.86rem}

.entry-band h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.entry-band h2{font-size:1.35rem;color:var(--app-pink-600);margin-top:34px;font-weight:800}
.entry-band p{color:var(--app-text-tint);margin-top:14px;font-size:1.04rem}
.entry-band p a{font-weight:600}
.entry-band ul{display:grid;gap:10px;margin-top:14px}
.entry-band li{padding-left:24px;color:var(--app-text-tint);position:relative}
.entry-band li::before{left:0;top:.5em;content:"";background:var(--app-red);border-radius:50%;height:10px;width:10px;position:absolute}
.entry-topics>.wrap>h2{text-align:center;margin-bottom:28px}
::selection{background:rgba(237,78,152,.21)}

.query-contact{gap:12px;border-radius:var(--app-r-pill);margin:0 auto;background:var(--app-paper);box-shadow:var(--app-shadow-md);padding:12px;display:flex;border:1px solid var(--app-edge-tint)}
.query-contact .field{box-shadow:none;background:transparent;font-size:1.06rem;border:none}
.query-contact .field:focus{box-shadow:none}
.query-contact+.towns{margin-top:40px}
.strengths-set{margin-top:14px;display:grid;gap:10px}
.strengths-set li{color:var(--app-text);padding-left:24px;position:relative}
.strengths-set li::before{height:10px;width:10px;position:absolute;border-radius:50%;left:0;background:var(--app-red);top:.5em;content:""}
p{margin:0}
.colophon-layout{display:grid;gap:40px;grid-template-columns:1.6fr 1fr 1fr}
.colophon-name{align-items:center;font-family:var(--app-font-head);gap:10px;font-weight:800;color:var(--app-baseline-alt);font-size:1.2rem;display:flex;margin-bottom:12px}
.colophon-side>p:not(.colophon-heading){max-width:34ch;color:var(--app-baseline-tint);font-size:.94rem}
.colophon-heading{font-size:1rem;color:var(--app-baseline-alt);margin-bottom:14px;font-weight:800}
.colophon-list{display:grid;font-size:.94rem;gap:10px}
.cityhall-heading{margin-bottom:14px;font-family:var(--app-font-head);font-weight:800}
.cityhall-entry{color:var(--app-text-tint);font-size:.94rem;margin-top:10px;display:flex;align-items:flex-start;gap:10px}
.cityhall-entry .needle{color:var(--app-pink);flex:none}
.cityhall-entry .needle svg{width:16px;height:16px}

.stamp-pill{align-items:center;font-weight:700;border:1px solid var(--app-edge);font-size:.82rem;gap:8px;padding:8px 16px;box-shadow:var(--app-shadow-sm);color:var(--app-pink);letter-spacing:.06em;display:inline-flex;border-radius:var(--app-r-pill);background:var(--app-paper)}
.stamp-pill svg{height:16px;color:var(--app-red);width:16px}
.times{display:grid;margin-top:10px;gap:4px}

.action{
  font-weight:700;gap:9px;align-items:center;display:inline-flex;
  padding:14px 26px;text-align:center;font-size:1rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
  white-space:nowrap;justify-content:center;border:1.5px solid transparent;cursor:pointer;
  border-radius:var(--app-r-pill);
}
.action svg{width:18px;height:18px}
.action-sm{padding:10px 18px;font-size:.9rem}
.action-xl{font-size:1.06rem;padding:17px 32px}
.action-wide{width:100%}
.action-cta{box-shadow:0 14px 26px -12px rgba(251,72,99,.73);color:var(--app-contrast);background:linear-gradient(95deg,var(--app-orange),var(--app-red) 55%,var(--app-pink))}
.action-cta:hover{transform:translateY(-2px);color:var(--app-contrast);box-shadow:0 20px 34px -12px rgba(251,72,99,.86)}
.action-secondary{border-color:var(--app-edge);background:var(--app-paper);color:var(--app-pink)}
.action-secondary:hover{background:var(--app-paper-alt);transform:translateY(-2px);color:var(--app-pink-600)}
.action-plain{color:var(--app-pink-600);background:var(--app-base)}
.action-plain:hover{color:var(--app-pink-600);box-shadow:var(--app-shadow-md);transform:translateY(-2px)}
.band{padding-block:var(--app-vgap)}
.band-second{background:var(--app-paper-alt)}
.head-zone{text-align:center;margin:0 auto 44px;max-width:640px}

.details{gap:clamp(28px,4vw,48px);display:grid;align-items:start;grid-template-columns:1.2fr 1fr}
.details-stats{display:grid;gap:16px;grid-template-columns:1fr 1fr}

.site-colophon{color:var(--app-baseline);background:var(--app-baseline-fill)}
.site-colophon .wrap{padding-block:56px 22px}
.site-colophon a{color:var(--app-baseline)}
.site-colophon a:hover{color:var(--app-baseline-alt)}
.name{font-family:var(--app-font-head);color:var(--app-text);align-items:center;font-weight:800;display:flex;letter-spacing:-.02em;font-size:1.28rem;gap:11px}
.name:hover{color:var(--app-text)}
.name-logo{background:linear-gradient(135deg,var(--app-pink),var(--app-red) 55%,var(--app-orange));flex-shrink:0;justify-content:center;height:42px;display:inline-flex;box-shadow:0 8px 18px -8px rgba(237,78,152,.78);width:42px;color:var(--app-contrast);align-items:center;border-radius:14px}
.name-logo svg{width:22px;height:22px}

.persons-layout{display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}
.links-entry{padding:9px 14px;transition:background .18s,color .18s;color:var(--app-text);border-radius:var(--app-r-pill);font-weight:600;font-size:.96rem}
.links-entry:hover{background:var(--app-paper-alt);color:var(--app-pink-600)}
.links-shine{font-weight:600;transition:background .18s ease,color .18s ease;color:var(--app-text);text-decoration:none;cursor:pointer;border:none;padding:9px 12px;display:inline-flex;border-radius:var(--app-r-pill);font-size:.96rem;align-items:center;background:none;gap:7px;position:relative}
.links-shine:hover{background:var(--app-paper-alt);color:var(--app-pink-600)}
.links-shine svg{color:var(--app-pink);width:20px;height:20px}
.links-shine:hover svg{color:var(--app-pink-600)}
.links-shine-txt{white-space:nowrap}
.links-shine .inbox-stamp{top:auto;position:static;right:auto}
.links-shine-mobile{font-weight:600;align-items:center;padding:14px 2px;gap:9px;background:none;border:none;color:var(--app-text);font-size:15px;text-align:left;display:flex;width:100%;border-bottom:1px solid var(--app-edge);cursor:pointer;text-decoration:none}
.links-shine-mobile:hover{color:var(--app-pink-600)}
.links-shine-mobile svg{width:18px;color:var(--app-pink);height:18px}

.ghost{padding-block:clamp(60px,10vw,140px);text-align:center}
.ghost-no{line-height:.9;font-family:var(--app-font-head);font-weight:800;font-size:clamp(6rem,20vw,13rem)}
.ghost-part{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
h1,h2,h3,h4{margin:0;letter-spacing:-.01em;font-family:var(--app-font-head);color:var(--app-text);line-height:1.12}
.topics-cell{border-radius:var(--app-r-md);background:var(--app-paper);margin-bottom:14px;border:1px solid var(--app-edge);box-shadow:var(--app-shadow-sm);overflow:hidden}
.topics-cell summary{font-family:var(--app-font-head);font-weight:800;cursor:pointer;padding:20px 22px;gap:16px;font-size:1.05rem;justify-content:space-between;list-style:none;display:flex;align-items:center;color:var(--app-text)}
.topics-cell summary::-webkit-details-marker{display:none}
.topics-cell summary::after{content:"+";color:var(--app-pink);height:30px;font-size:1.2rem;width:30px;transition:transform .25s ease;display:grid;background:var(--app-paper-alt);place-items:center;border-radius:50%;flex:none}
.topics-cell[open] summary::after{background:var(--app-pink);color:var(--app-contrast);transform:rotate(45deg)}
.topics-resp{padding:0 22px 20px;color:var(--app-text-tint)}
:focus-visible{border-radius:6px;outline:3px solid var(--app-pink);outline-offset:2px}
.geo-card{background:var(--app-lav);aspect-ratio:4/3;overflow:hidden;border-radius:var(--app-r-lg);position:relative;border:1px solid var(--app-edge-tint);box-shadow:var(--app-shadow-md)}
.geo-card.geo-lazy{cursor:pointer}
.geo-ghost{position:absolute;display:grid;background:linear-gradient(160deg,var(--app-lav-alt),var(--app-paper-alt));gap:10px;inset:0;padding:20px;place-items:center;text-align:center}
.geo-ghost p{font-weight:700;color:var(--app-text)}
.geo-needle{filter:drop-shadow(0 10px 12px rgba(251,72,99,.5));color:var(--app-red)}
.geo-needle svg{stroke:none;fill:currentColor;width:40px;height:40px}
.geo-card iframe{height:100%;position:absolute;inset:0;width:100%;border:0}
.geo-card.is-ready .geo-ghost{display:none}
.ic-done svg{stroke:none;fill:currentColor}
.person-card{transition:transform .2s ease,box-shadow .2s ease;border-radius:var(--app-r-lg);position:relative;overflow:hidden;background:var(--app-paper);border:1px solid var(--app-edge-tint);box-shadow:var(--app-shadow-md)}
.person-card:hover{transform:translateY(-6px);box-shadow:var(--app-shadow-lg)}
.person-avatar{overflow:hidden;background:linear-gradient(160deg,var(--app-rose-200),var(--app-lav-alt));position:relative;aspect-ratio:1/1}
.person-avatar img{object-fit:cover;display:block;width:100%;height:100%}
.person-stamp{background:var(--app-paper-fill);align-items:center;top:12px;display:inline-flex;left:12px;position:absolute;padding:5px 10px;box-shadow:var(--app-shadow-sm);gap:6px;z-index:2;font-weight:700;color:var(--app-positive);border-radius:var(--app-r-pill);font-size:.72rem}

.wrap{padding-inline:var(--app-edge-x);max-width:var(--app-maxw);margin-inline:auto}

.contact{box-shadow:var(--app-shadow-md);border-radius:var(--app-r-lg);border:1px solid var(--app-edge-tint);background:var(--app-paper);padding:clamp(24px,3vw,40px)}
.contact-cell{display:grid;margin-bottom:18px;gap:7px}
.contact-cell label{font-weight:700;font-size:.92rem}
figure{margin:0}
.person-vid-start{padding-left:6px;transition:transform .15s ease,background .15s ease;background:rgba(1,1,1,.5);width:78px;border-radius:50%;font-size:1.9rem;place-items:center;box-shadow:var(--app-shadow-md);top:50%;color:#fefeff;transform:translate(-50%,-50%);z-index:3;line-height:1;height:78px;position:absolute;border:none;display:grid;left:50%;cursor:pointer}
.person-vid-start:hover{background:rgba(1,1,1,.71);transform:translate(-50%,-50%) scale(1.07)}
.person-drawer{top:96px;position:sticky}
.person-header{align-items:center;margin-top:14px;gap:12px;display:flex;flex-wrap:wrap}
.person-header .stamp-pill{flex:none}
.person-hook{font-family:var(--app-font-head);line-height:1.1;font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.person-hook span{color:var(--app-quiet);font-weight:600;font-size:.62em}
.person-hint{gap:7px;font-size:1.02rem;color:var(--app-text-tint);display:flex;align-items:center;margin-top:10px}
.person-hint .needle svg{color:var(--app-pink);width:18px;height:18px}
.person-hint a{text-decoration:none;border-bottom:1px solid transparent;font-weight:600;color:var(--app-pink-600);transition:border-color .15s ease}
.person-hint a:hover{border-bottom-color:currentColor}
.person-stats{flex-wrap:wrap;margin-top:16px;display:flex;gap:8px}
.person-drawer .hook{margin-top:18px}
.person-set{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

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

.towns{gap:32px;display:flex;flex-direction:column}
.towns-part h2{font-size:1.15rem;color:var(--app-text);font-weight:800;margin-bottom:16px}
.towns-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.towns-list a{background:var(--app-paper);color:var(--app-text);padding:13px 16px;display:flex;align-items:center;font-size:.92rem;transition:transform .14s,box-shadow .14s,color .14s;gap:10px;box-shadow:var(--app-shadow-sm);border:1px solid var(--app-edge);font-weight:600;justify-content:space-between;border-radius:var(--app-r-md)}
.towns-list a:hover{color:var(--app-pink-600);box-shadow:var(--app-shadow-md);transform:translateY(-3px)}
.towns-list a .needle{place-items:center;flex:none;color:var(--app-pink);display:grid}
.towns-list a .needle svg{height:16px;width:16px}
.h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.trail a:hover{color:var(--app-pink-600)}

@media (max-width:980px){
  .persons-layout{grid-template-columns:repeat(3,1fr)}
  .person-layout{grid-template-columns:1fr}
  .person-shot{width:100%;max-width:380px;justify-self:start}
  .person-drawer{position:static}
  .entry,.details{grid-template-columns:1fr}
  .colophon-layout{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .body-links{display:none}
  .hamburger{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .drawer-mobile,.links-backdrop{display:none}
}
@media (max-width:600px){
  :root{--app-vgap:clamp(30px,7vw,48px)}
  .colophon-layout,.field-entry{grid-template-columns:1fr}
  .persons-layout{grid-template-columns:repeat(2,1fr);gap:12px}
  .person-inner{padding:16px 10px}
  .offer-box{flex-direction:column;align-items:stretch;padding:32px 24px}
  .offer-box .action{width:100%;white-space:normal}
  .query-contact{flex-direction:column;border-radius:var(--app-r-lg)}
  .query-contact .action{width:100%}
  .band-person{padding-top:0}
  .person-shot img{aspect-ratio:1/1;max-height:46vh}
  .person-layout{margin-top:0}
  .person-drawer{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 .action{flex:1 1 auto}
  .person-band{display:none}
  .person-stats{order:4}
  .person-drawer .hook{order:5}
  .details-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .stat{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .stat-ic{width:34px;height:34px}
  .stat-txt{min-width:0}
  .stat-txt dd{font-size:.92rem;overflow-wrap:anywhere}
}
