
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 800;font-display:swap;src:url('../webfonts/bricolage.woff2') format('woff2')}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 500;font-display:swap;src:url('../webfonts/dmsans.woff2') format('woff2')}
:root{
  --pinktint-100:#fef0f4;
  --pinktint-200:#f9e7f1;
  --pinktint-300:#f7d8e9;
  --pinktint-deep:#edbcd9;
  --wisteria:#f4eff7;
  --wisteria-alt:#eae2f5;

  --surface:#fffdff;
  --surface-light:#fef0f4;
  --surface-alt:#f9e7f1;

  --magenta:#cf0483;
  --magenta-deep:#af056e;
  --red:#cf0483;
  --red-alt:#af056e;
  --peach:#cf0483;
  --peach-alt:#af056e;
  --heart:#cf0483;
  --indigo:#c5cdf0;
  --cta-deep:linear-gradient(95deg,#af056e,#af056e 55%,#af056e);

  --copy:#29252f;
  --copy-light:#6d6474;
  --subtle:#9991a2;
  --edge:#efd7e7;

  --flip:#fffdff;
  --pure:#fffdff;
  --valid:#90c6a8;
  --edge-light:rgba(255,253,255,.89);
  --surface-back:rgba(255,253,255,.94);
  --backdrop:rgba(41,37,47,.51);
  --footer-back:#29252f;
  --footer:#d9d3dd;
  --footer-alt:#fffdff;
  --footer-light:#aa9faf;
  --footer-line:rgba(255,253,255,.11);

  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:36px;
  --radius-pill:999px;
  --radius-btn:10px;

  --shade-sm:0 6px 16px -8px rgba(207,4,131,.3);
  --shade-md:0 18px 38px -18px rgba(207,4,131,.35);
  --shade-lg:0 30px 60px -24px rgba(207,4,131,.4);

  --font-display:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
  --type:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;

  --shell:1200px;
  --pad:24px;
  --block-y:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:linear-gradient(180deg, #fbeff7 0%, #fffdff 30%, #fffdff 100%);line-height:1.6;background-attachment:fixed;margin:0;
  font-family:var(--type);
  color:var(--copy);-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
.hook{color:var(--copy-light);margin-top:14px;font-size:1.06rem}

.btn{
  padding:14px 26px;text-align:center;justify-content:center;gap:9px;
  display:inline-flex;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;white-space:nowrap;
  cursor:pointer;border:1.5px solid transparent;border-radius:var(--radius-btn);align-items:center;
  font-size:1rem;
}
.btn svg{width:18px;height:18px}
.btn-xs{padding:10px 18px;font-size:.9rem}
.btn-wide{width:100%}
.btn-primary{background:linear-gradient(95deg,var(--peach),var(--red) 55%,var(--magenta));color:var(--flip);box-shadow:0 14px 26px -12px rgba(250,73,98,.74)}
.btn-primary:hover{box-shadow:0 20px 34px -12px rgba(250,73,98,.87);color:var(--flip);transform:translateY(-2px);background:var(--cta-deep)}
.btn-soft{color:var(--magenta);background:var(--surface);border-color:var(--edge)}
.btn-soft:hover{color:var(--magenta-deep);background:var(--surface-alt);transform:translateY(-2px)}
.btn-plain{background:var(--pure);color:var(--magenta-deep)}
.btn-plain:hover{transform:translateY(-2px);color:var(--magenta-deep);box-shadow:var(--shade-md)}
.btn.preview{gap:12px;max-width:540px;margin:0 auto 26px;display:flex;padding-inline:16px;justify-content:space-between}

.burger{padding:6px;gap:5px;flex-direction:column;background:none;border:none;display:none;z-index:1105;cursor:pointer}
.burger span{background:var(--copy);transition:transform .3s ease,opacity .3s ease;width:26px;display:block;height:3px;border-radius:2px}
.burger.shown span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.burger.shown span:nth-child(2){opacity:0}
.burger.shown span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.crumbs a:hover{color:var(--magenta-deep)}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;color:var(--copy);letter-spacing:-.01em;font-family:var(--font-display);line-height:1.12}
.person-tile{background:var(--surface);position:relative;overflow:hidden;border-radius:var(--radius-lg);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;cursor:pointer;border:1px solid var(--edge-light)}
.person-tile:hover{box-shadow:var(--shade-lg);transform:translateY(-8px) scale(1.02);z-index:3}
.person-avatar{background:linear-gradient(160deg,var(--pinktint-200),var(--wisteria-alt));overflow:hidden;aspect-ratio:3/4;position:relative;display:block}
.person-avatar img{height:100%;transition:transform .5s ease,filter .3s ease;object-fit:cover;width:100%;display:block}
.person-tile:hover .person-avatar img{filter:brightness(.7);transform:scale(1.1)}
.person-marker{padding:5px 9px;top:10px;align-items:center;font-weight:800;gap:6px;border:1px solid #5c99d8;letter-spacing:.05em;border-radius:var(--radius-pill);color:#ebf5ff;right:10px;box-shadow:0 2px 8px rgba(2,0,0,.19);display:inline-flex;font-size:.68rem;position:absolute;z-index:3;background:linear-gradient(135deg,#112b48,#0c1c35)}
.person-marker .dot{color:transparent;box-shadow:0 0 6px rgba(144,198,168,.71);border-radius:50%;position:relative;background:var(--valid);font-size:0;height:8px;width:8px}
.person-marker .dot::after{content:"";position:absolute;inset:0;background:var(--valid);border-radius:50%;animation:shimmer 1.8s ease-out infinite}
.person-core{padding:20px 15px 15px;left:0;right:0;z-index:2;text-align:left;position:absolute;background:linear-gradient(to top,rgba(2,0,0,.95),rgba(2,0,0,.71) 55%,rgba(2,0,0,0));bottom:0;transition:opacity .3s ease}
.person-tile:hover .person-core{opacity:0}
.person-sub{box-shadow:0 2px 8px rgba(2,0,0,.19);font-size:.68rem;font-weight:700;background:rgba(25,48,44,.94);align-items:center;color:#effdf7;display:inline-flex;padding:4px 9px;letter-spacing:.02em;margin-bottom:8px;border-radius:var(--radius-pill);border:1px solid rgba(71,119,105,.89);gap:5px}
.person-sub svg{color:#a6e7cd;height:14px;width:14px}
.person-title{line-height:1.2;color:#fffdff;font-family:var(--font-display);font-weight:800;font-size:1.32rem}
.person-title span{font-weight:600;font-size:.86rem;color:rgba(255,253,255,.84)}
.person-addr{margin-top:3px;gap:6px;font-size:.82rem;color:rgba(255,253,255,.89);display:flex;align-items:center}
.person-addr .needle svg{width:14px;color:#fffdff;height:14px}

.person-addr{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block}
.person-addr .needle{vertical-align:middle;display:inline-flex;margin-right:6px}
.person-shine{top:10px;place-items:center;border-radius:50%;cursor:pointer;left:10px;width:34px;z-index:6;transition:transform .2s ease,background .2s ease,color .2s ease;height:34px;background:rgba(2,0,0,.44);box-shadow:0 2px 8px rgba(2,0,0,.28);color:#fffdff;position:absolute;display:grid;border:none}
.person-shine svg{width:18px;height:18px}
.person-shine:hover{transform:scale(1.1);background:rgba(2,0,0,.6)}
.person-shine.full{color:var(--flip);background:var(--red)}
.person-shine.full svg{fill:currentColor}
:focus-visible{border-radius:6px;outline:3px solid var(--magenta);outline-offset:2px}




.persons-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
::selection{background:rgba(237,80,149,.23)}
.sign,.menu-entry,.drawer-mob a,.btn,.crumbs a,.main-end a,.zones-nav a{text-decoration:none}
.main-menu{align-items:center;display:flex;margin-left:auto;gap:8px}
.preview-strip{align-items:center;display:inline-flex;flex:none}
.preview-strip img{border-radius:50%;margin-left:-13px;height:38px;box-shadow:var(--shade-sm);border:2px solid var(--flip);width:38px;object-fit:cover}
.preview-strip img:first-child{margin-left:0}
.preview-title{overflow-wrap:break-word;text-align:center;flex:1 1 auto;white-space:normal}
.preview-next{align-items:center;display:inline-flex;flex:none}
.preview-next svg{width:20px;height:20px}
.section{padding-block:var(--block-y)}
.section-inv{background:var(--surface-alt)}
.drawer-mob{transition:right .3s ease;max-width:320px;position:fixed;top:0;overflow-y:auto;width:80%;z-index:1100;box-shadow:-6px 0 30px rgba(41,37,47,.19);background:var(--surface);padding:84px 22px 22px;height:100vh;height:100dvh;right:-100%}
.drawer-mob.shown{right:0}
.drawer-mob nav{display:flex;flex-direction:column}
.drawer-mob a:not(.btn){border-bottom:1px solid var(--edge);font-weight:600;color:var(--copy);padding:14px 2px;font-size:15px}
.drawer-mob a:not(.btn):hover{color:var(--magenta-deep)}
.drawer-mob a.btn{margin-top:22px}
.menu-entry{font-weight:600;font-size:.96rem;border-radius:var(--radius-pill);padding:9px 14px;color:var(--copy);transition:background .18s,color .18s}
.menu-entry:hover{background:var(--surface-alt);color:var(--magenta-deep)}
.menu-shine{border:none;border-radius:var(--radius-pill);align-items:center;cursor:pointer;background:none;display:inline-flex;transition:background .18s ease,color .18s ease;position:relative;padding:9px 12px;color:var(--copy);font-weight:600;text-decoration:none;font-size:.96rem;gap:7px}
.menu-shine:hover{background:var(--surface-alt);color:var(--magenta-deep)}
.menu-shine svg{height:20px;width:20px;color:var(--magenta)}
.menu-shine:hover svg{color:var(--magenta-deep)}
.menu-shine-text{white-space:nowrap}
.menu-shine .chat-marker{top:auto;position:static;right:auto}
.menu-shine-mob{cursor:pointer;font-weight:600;display:flex;border:none;border-bottom:1px solid var(--edge);text-align:left;align-items:center;width:100%;color:var(--copy);padding:14px 2px;gap:9px;font-size:15px;background:none;text-decoration:none}
.menu-shine-mob:hover{color:var(--magenta-deep)}
.menu-shine-mob svg{color:var(--magenta);height:18px;width:18px}
.pic-full svg{stroke:none;fill:currentColor}
figure{margin:0}
.block-head{max-width:640px;margin:0 auto 30px;text-align:center}
.sign{font-family:var(--font-display);align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em;color:var(--copy);display:flex;font-size:1.28rem}
.sign:hover{color:var(--copy)}
.sign-mark{background:linear-gradient(135deg,var(--magenta),var(--red) 55%,var(--peach));justify-content:center;height:42px;align-items:center;width:42px;color:var(--flip);display:inline-flex;flex-shrink:0;border-radius:14px;box-shadow:0 8px 18px -8px rgba(237,80,149,.82)}
.sign-mark svg{height:22px;width:22px}
svg{display:block}
p{margin:0}
.h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}

.inner{margin-inline:auto;padding-inline:var(--pad);max-width:var(--shell)}
.menu-overlay{position:fixed;inset:0;opacity:0;z-index:1090;background:var(--backdrop);visibility:hidden;transition:opacity .3s ease}
.menu-overlay.shown{opacity:1;visibility:visible}

.main-banner{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--edge);z-index:60}
.main-banner-core{gap:20px;justify-content:space-between;padding-block:12px;align-items:center;display:flex}
.pop{background:linear-gradient(92deg,var(--magenta),var(--red) 60%,var(--peach));color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}
button{font-family:inherit}
@media(max-width:768px){.person-shine{top:8px;left:8px;width:30px;height:30px}.person-shine svg{width:16px;height:16px}.person-marker{top:8px;right:8px;gap:4px;padding:3px 7px;font-size:9.5px;letter-spacing:.03em}.person-marker .dot{width:6px;height:6px}.person-tile .person-core{padding:10px 9px 9px}.person-sub{gap:3px;margin-bottom:5px;padding:3px 6px;font-size:9.5px}.person-sub 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 .needle svg{width:12px;height:12px}}
@keyframes shimmer{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.planning{background:var(--surface-alt);padding:14px;border:1px solid var(--edge);border-radius:var(--radius-md);margin-top:16px}
.planning-title{letter-spacing:.05em;display:flex;margin:0 0 12px;gap:7px;font-weight:800;font-size:.82rem;color:var(--magenta-deep);align-items:center;text-transform:uppercase}
.planning-title svg{height:16px;flex:none;color:var(--magenta);width:16px}
.planning-strip{gap:5px;display:flex;margin:0 0 14px;list-style:none;padding:0}
.planning-item{align-items:center;padding:7px 1px;background:#fffdff;border-radius:11px;display:flex;flex:1 1 0;flex-direction:column;gap:6px;border:1px solid var(--edge);min-width:0}
.planning-sub{color:var(--subtle);text-transform:uppercase;font-weight:800;font-size:.6rem;letter-spacing:.02em}
.planning-dot{background:#d4d3e6;width:7px;border-radius:50%;height:7px}
.planning-item.full{border-color:var(--magenta);background:var(--pinktint-200)}
.planning-item.full .planning-sub{color:var(--magenta-deep)}
.planning-item.full .planning-dot{background:var(--valid);box-shadow:0 0 0 3px rgba(144,198,168,.28)}
.planning-set{list-style:none;flex-direction:column;gap:12px;margin:0;padding:0;display:flex}
.planning-set li{display:flex;gap:11px;align-items:center}
.planning-pic{height:34px;flex:none;place-items:center;background:linear-gradient(135deg,var(--magenta),var(--red));color:#fffdff;border-radius:50%;width:34px;display:grid}
.planning-pic svg{width:16px;height:16px}
.planning-text{line-height:1.2;min-width:0;display:flex;flex-direction:column}
.planning-text strong{letter-spacing:.05em;text-transform:uppercase;font-size:.66rem;font-weight:800;color:var(--subtle)}
.planning-text span{font-size:.92rem;font-weight:700;color:var(--copy)}

.dot{color:var(--valid);font-size:.6rem;line-height:1}
.stash{margin-top:10px}
.stash-cols{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}
.stash-item{aspect-ratio:3/4;box-shadow:var(--shade-sm);display:block;cursor:pointer;border-radius:var(--radius-sm);position:relative;overflow:hidden}
.stash-item img{height:100%;display:block;object-fit:cover;width:100%}

.stash-item:nth-child(1) img{filter:blur(9px) brightness(.9) contrast(1.03);transform:scale(1.6) rotate(2deg);object-position:50% 12%}
.stash-item:nth-child(2) img{object-position:88% 42%;transform:scale(-2,2) rotate(5deg);filter:blur(11px) brightness(.82) contrast(1.06) grayscale(.3)}
.stash-item:nth-child(3) img{filter:blur(9px) brightness(.92) sepia(.38);object-position:12% 80%;transform:scale(-1.4,1.4) rotate(8deg)}
.stash-item::after{inset:0;background:linear-gradient(180deg,rgba(2,0,0,.03),rgba(2,0,0,.19));content:"";z-index:1;position:absolute}
.stash-marker{inset:0;display:grid;color:#fffdff;position:absolute;z-index:2;place-items:center}
.stash-marker svg{filter:drop-shadow(0 2px 6px rgba(2,0,0,.6));width:26px;height:26px}
.stash-item:hover::after{background:linear-gradient(180deg,rgba(2,0,0,.03),rgba(2,0,0,.23))}
.person-frame-shine{top:14px;width:46px;right:14px;height:46px;left:auto}
.person-frame-shine svg{width:21px;height:21px}
.person-cols{display:grid;margin-top:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,52px)}
.person-col{min-width:0}
.person-frame{overflow:hidden;background:linear-gradient(160deg,var(--pinktint-200),var(--wisteria-alt));border-radius:var(--radius-sm);box-shadow:var(--shade-md);margin:0;position:relative}
.person-frame img{display:block;aspect-ratio:4/5;object-fit:cover;height:auto;width:100%}

.person-entry{width:100%;margin-top:11px;align-items:center;display:inline-flex;background:linear-gradient(135deg,var(--magenta),var(--red));border-radius:var(--radius-pill);justify-content:center;box-shadow:var(--shade-sm);color:var(--flip);font-weight:700;gap:6px;padding:5px 14px;font-size:.82rem}
.person-entry svg{width:15px;height:15px}
.person-inv:hover .person-core{opacity:1}
.person-drawer{top:96px;position:sticky}

.prefs{margin-top:18px}
.prefs-title{font-family:var(--font-display);margin:0 0 12px;font-weight:800;font-size:.95rem;text-transform:uppercase;color:var(--magenta-deep);letter-spacing:.07em}
.prefs-cols{gap:12px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.prefs-col{border-radius:var(--radius-md);padding:14px;border:1px solid}
.prefs-col-full{background:var(--surface-alt);border-color:var(--edge)}
.prefs-col-shut{border-color:#e3e4f0;background:#f4f3f9}
.prefs-intro{letter-spacing:.04em;font-weight:800;font-size:.82rem;text-transform:uppercase;display:flex;align-items:center;gap:7px;margin:0 0 12px}
.prefs-intro svg{flex:none;width:16px;height:16px}
.prefs-col-full .prefs-intro{color:var(--magenta-deep)}
.prefs-col-shut .prefs-intro{color:var(--subtle)}
.prefs-col ul{padding:0;flex-direction:column;gap:11px;list-style:none;display:flex;margin:0}
.prefs-col li{line-height:1.25;display:flex;align-items:center;gap:10px;font-size:.88rem}
.prefs-col-full li{color:var(--copy)}
.prefs-col-shut li{color:var(--subtle)}
.prefs-pic{flex:none;border-radius:50%;height:30px;width:30px;place-items:center;display:grid}
.prefs-pic svg{width:15px;height:15px}
.prefs-col-full .prefs-pic{color:#fffdff;background:linear-gradient(135deg,var(--magenta),var(--red))}
.prefs-col-shut .prefs-pic{border:1.5px solid #d4dbe9;background:#fffdff;color:#a9abc1}

.bio{margin-top:18px}
.bio-title{font-family:var(--font-display);font-weight:800;margin:0 0 8px;align-items:center;gap:7px;font-size:1rem;display:flex;color:var(--copy)}
.bio .hook{background:var(--surface-alt);padding:13px 16px;margin:0;color:var(--copy-light);border-left:3px solid var(--magenta);font-style:italic;border-radius:0 var(--radius-md) var(--radius-md) 0}
@media(max-width:480px){.prefs-cols{gap:8px}.prefs-col{padding:11px 9px}.prefs-col li{font-size:.78rem;gap:7px}.prefs-intro{font-size:.74rem;gap:5px}.prefs-pic{width:26px;height:26px}.prefs-pic svg{width:13px;height:13px}.prefs-title{font-size:.88rem}}


.widget-overlay{border-radius:50%;right:16px;animation:sway 2.8s ease-in-out infinite;z-index:84;pointer-events:none;transition:opacity .3s ease;transform-origin:center bottom;width:58px;position:fixed;height:58px;opacity:0;bottom:86px}
.widget-overlay::after{content:"";animation:teeter 2.2s ease-out infinite;position:absolute;inset:0;border-radius:50%;pointer-events:none}
.person-col .btn-wide{margin-top:14px}

.shot{border:1px solid var(--edge-light);border-radius:var(--radius-sm);text-align:center;padding:16px 18px;margin-bottom:14px;background:var(--surface-alt);box-shadow:var(--shade-sm)}
.shot-title{font-family:var(--font-display);font-weight:800;margin:0;font-size:1.6rem;line-height:1.1;color:var(--copy)}
.shot-sub{gap:4px 10px;justify-content:center;align-items:center;display:flex;font-size:.98rem;margin:6px 0 0;color:var(--copy-light);flex-wrap:wrap}
.shot-sub span,.shot-sub a{gap:4px;align-items:center;display:inline-flex}
.shot-sub a{color:var(--magenta-deep);text-decoration:none}
.shot-sub a:hover{text-decoration:underline}
.shot-sub svg{color:var(--magenta);height:14px;width:14px}
@keyframes sway{0%,78%,100%{transform:rotate(0) translate3d(0,0,0)}80%{transform:rotate(-9deg) translate3d(-4px,0,0)}83%{transform:rotate(8deg) translate3d(4px,0,0)}86%{transform:rotate(-6deg) translate3d(-3px,0,0)}89%{transform:rotate(4deg) translate3d(2px,0,0)}92%{transform:rotate(-2deg) translate3d(-1px,0,0)}95%{transform:rotate(1deg) translate3d(0,0,0)}}
@keyframes teeter{0%{box-shadow:0 0 0 0 rgba(237,80,149,.51)}70%,100%{box-shadow:0 0 0 16px rgba(237,80,149,0)}}

.contact{padding:clamp(24px,3vw,40px);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--edge-light);box-shadow:var(--shade-md)}
.contact-item{margin-bottom:18px;gap:7px;display:grid}
.contact-item label{font-weight:700;font-size:.92rem}

.main-end{color:var(--footer);background:var(--footer-back)}
.main-end .inner{padding-block:56px 22px}
.main-end a{color:var(--footer)}
.main-end a:hover{color:var(--footer-alt)}
.end-cols{display:grid;gap:40px;grid-template-columns:1.6fr 1fr 1fr}
.end-sign{gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.2rem;display:flex;color:var(--footer-alt);margin-bottom:12px;align-items:center}
.end-col>p:not(.end-title){color:var(--footer-light);font-size:.94rem;max-width:34ch}
.end-title{margin-bottom:14px;font-size:1rem;font-weight:800;color:var(--footer-alt)}
.end-nav{gap:10px;font-size:.94rem;display:grid}

.find-contact{gap:12px;display:flex;border-radius:var(--radius-pill);border:1px solid var(--edge-light);box-shadow:var(--shade-md);padding:12px;margin:0 auto;background:var(--surface)}
.find-contact .entry{box-shadow:none;font-size:1.06rem;border:none;background:transparent}
.find-contact .entry:focus{box-shadow:none}
.find-contact+.zones{margin-top:40px}
.info{display:flex;padding:14px 16px;background:var(--surface);align-items:center;box-shadow:var(--shade-sm);border-radius:var(--radius-md);gap:12px;border:1px solid var(--edge-light)}
.info-pic{width:40px;border-radius:12px;flex:none;height:40px;background:var(--surface-alt);place-items:center;color:var(--magenta);display:grid}
.info-pic svg{height:18px;width:18px}
.info-text dt{color:var(--subtle);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.info-text dd{font-family:var(--font-display);font-weight:800;font-size:.98rem;margin:2px 0 0}

.person-frame .person-frame-marker{top:12px;left:12px;right:auto}
.person-drawer .hook{margin-top:18px}

.chat-marker{border-radius:var(--radius-pill);padding:0 6px;font-size:.72rem;color:var(--flip);line-height:1;font-weight:800;position:absolute;height:22px;border:2px solid var(--surface);display:grid;place-items:center;background:var(--heart);top:-3px;box-shadow:var(--shade-sm);right:-3px;min-width:22px}
.chat-marker[hidden]{display:none}

.page{align-items:center;display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr}

.zones{display:flex;flex-direction:column;gap:32px}
.zones-block h2{font-size:1.15rem;margin-bottom:16px;color:var(--copy);font-weight:800}
.zones-nav{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}
.zones-nav a{border:1px solid var(--edge);padding:13px 16px;font-size:.92rem;background:var(--surface);box-shadow:var(--shade-sm);display:flex;align-items:center;font-weight:600;justify-content:space-between;color:var(--copy);gap:10px;transition:transform .14s,box-shadow .14s,color .14s;border-radius:var(--radius-md)}
.zones-nav a:hover{transform:translateY(-3px);box-shadow:var(--shade-md);color:var(--magenta-deep)}
.zones-nav a .needle{flex:none;white-space:nowrap;color:var(--magenta);align-items:center;font-size:.82rem;gap:4px;font-weight:700;display:inline-flex}
.zones-nav a .needle svg{width:14px;height:14px}


.notes-infos{grid-template-columns:1fr 1fr;display:grid;gap:16px}
.contact-small{font-weight:700}
.contact-small-full{color:var(--valid)}
.contact-small-shut{color:var(--magenta-deep)}
.crumbs{gap:6px;justify-content:flex-start;display:flex;color:var(--subtle);flex-wrap:wrap;margin-bottom:14px;font-size:.86rem}
.crumbs li:not(:last-child)::after{margin-left:6px;color:var(--subtle);content:"\00203a"}
.crumbs a{color:var(--copy-light)}
.crumbs:has(+ .block-head){justify-content:center}
.location-tile{position:relative;background:var(--wisteria);border-radius:var(--radius-lg);border:1px solid var(--edge-light);aspect-ratio:4/3;overflow:hidden;box-shadow:var(--shade-md)}
.location-tile.location-later{cursor:pointer}
.location-skeleton{text-align:center;padding:20px;position:absolute;display:grid;inset:0;place-items:center;gap:10px;background:linear-gradient(160deg,var(--wisteria-alt),var(--surface-alt))}
.location-skeleton p{color:var(--copy);font-weight:700}
.location-needle{filter:drop-shadow(0 10px 12px rgba(250,73,98,.51));color:var(--red)}
.location-needle svg{height:40px;stroke:none;fill:currentColor;width:40px}
.location-tile iframe{position:absolute;border:0;height:100%;inset:0;width:100%}
.location-tile.is-live .location-skeleton{display:none}


.dock{z-index:80;left:0;justify-content:center;right:0;pointer-events:none;padding:0 12px;bottom:14px;position:fixed;display:flex}
.dock-core{border-radius:22px;border:1px solid rgba(255,253,255,.11);max-width:calc(100vw - 24px);align-items:center;pointer-events:auto;display:flex;backdrop-filter:blur(16px) saturate(1.3);gap:7px;box-shadow:0 14px 40px -10px rgba(2,0,0,.51);padding:6px 12px;-webkit-backdrop-filter:blur(16px) saturate(1.3);background:rgba(23,18,27,.88)}
.dock-item{justify-content:center;gap:3px;text-decoration:none;min-width:50px;font-size:.6rem;flex-direction:column;font-weight:700;color:rgba(255,253,255,.78);position:relative;display:flex;padding:5px 7px;transition:color .15s ease,background .15s ease;align-items:center;border-radius:13px}
.dock-item:hover{background:rgba(255,253,255,.08);color:#fffdff}
.dock-item svg{height:21px;width:21px}
.dock-tally{padding:0 4px;height:15px;background:var(--heart);min-width:15px;border-radius:var(--radius-pill);line-height:15px;top:-2px;border:2px solid rgba(23,18,27,.95);position:absolute;text-align:center;margin-left:2px;font-size:.56rem;color:#fffdff;font-weight:800;left:50%}
.dock-item-shut{opacity:.38;pointer-events:none}
.dock-item span{white-space:nowrap}
.dock-promo{margin:0 2px;font-size:.6rem;flex-direction:column;text-decoration:none;gap:3px;align-items:center;display:flex;color:#fffdff;font-weight:800}
.dock-promo-core{border-radius:50%;place-items:center;overflow:hidden;margin-top:-22px;display:grid;box-shadow:0 8px 20px -5px rgba(250,73,98,.87);border:3px solid rgba(23,18,27,.95);height:54px;width:54px;background:linear-gradient(135deg,var(--peach),var(--red) 55%,var(--magenta))}
.dock-promo-core img{object-fit:cover;width:100%;height:100%}
.dock-promo-core svg{color:#fffdff;width:24px;height:24px}
.entry-line{grid-template-columns:1fr 1fr;display:grid;gap:18px}
.entry{background:var(--surface-light);padding:13px 16px;font-family:inherit;transition:border-color .16s,box-shadow .16s;width:100%;border-radius:var(--radius-sm);font-size:1rem;border:1.5px solid var(--edge);color:var(--copy)}
.entry:focus{outline:none;box-shadow:0 0 0 3px rgba(237,80,149,.14);border-color:var(--magenta)}
textarea.entry{min-height:140px;resize:vertical}

.contact-wrap{max-width:640px}
.contact-skeleton{overflow:hidden;height:1px;position:absolute;width:1px;left:-9999px}

.doc-masthead{padding-block:clamp(40px,6vw,80px) 20px}
.doc-masthead h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.doc-masthead p{color:var(--copy-light);font-size:1.08rem;margin:16px auto 0}
.widget-overlay-avatar{width:100%;object-fit:cover;border-radius:50%;height:100%;display:block;box-shadow:0 12px 26px -8px rgba(2,0,0,.46);border:3px solid var(--surface)}
.widget-overlay-dot{box-shadow:var(--shade-sm);position:absolute;height:23px;width:23px;border-radius:50%;border:2px solid var(--surface);top:-3px;color:var(--flip);place-items:center;right:-3px;background:linear-gradient(135deg,var(--magenta),var(--red));display:grid}
.widget-overlay-dot svg{width:12px;height:12px}
.rights{font-size:.86rem;padding-top:22px;border-top:1px solid var(--footer-line);color:var(--footer-light);margin-top:34px}

.skeleton{padding-block:clamp(60px,10vw,140px);text-align:center}
.skeleton-no{font-family:var(--font-display);font-weight:800;font-size:clamp(6rem,20vw,13rem);line-height:.9}
.skeleton-block{flex-wrap:wrap;gap:14px;margin-top:30px;justify-content:center;display:flex}

@media (max-width:980px){
  
  .inner{max-width:720px}
  .persons-cols{grid-template-columns:repeat(3,1fr)}
  .person-cols{grid-template-columns:1fr}
  .person-frame{width:100%;justify-self:start}
  .person-drawer{position:static}
  .page{grid-template-columns:1fr}
  .end-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .main-menu{display:none}
  .burger{display:flex;position:fixed;top:18px;right:18px}
}
@media (min-width:861px){
  .drawer-mob,.menu-overlay{display:none}
}
@media (max-width:600px){
  :root{--block-y:clamp(30px,7vw,48px);--pad:8px}
  
  .block-head{margin-bottom:10px}
  .section{padding-top:16px}
  .end-cols,.entry-line{grid-template-columns:1fr}
  .persons-cols{grid-template-columns:repeat(2,1fr);gap:5px}
  .person-tile{border-radius:var(--radius-sm)}
  .location-tile{border-radius:var(--radius-sm)}
  .person-core{padding:16px 10px}
  
  .section-hook{padding-top:8px}
  .section-hook .crumbs{margin-bottom:8px;font-size:.78rem}
  .find-contact{flex-direction:column;border-radius:var(--radius-lg)}
  .find-contact .btn{width:100%}
  .section-person{padding-top:0}
  .section-person .crumbs{margin-bottom:8px;font-size:.78rem}
  .person-frame img{aspect-ratio:1/1;max-height:40vh}
  .stash{margin-top:8px}
  .stash-cols{gap:6px}
  .stash-item{aspect-ratio:1/1}
  .shot{padding:8px 12px;margin-bottom:8px}
  .shot-title{font-size:1.2rem}
  .shot-sub{font-size:.85rem;margin-top:3px}
  .person-col .btn-wide{margin-top:8px}
  .person-cols{margin-top:0}
  .person-drawer{display:flex;flex-direction:column;margin-top:8px}
  .person-drawer>:first-child{margin-top:4px}
  .dock{bottom:10px;padding:0 8px}
  .dock-core{max-width:calc(100vw - 16px);gap:10px;padding:5px 14px}
  .dock-item{min-width:44px;padding:3px 4px;gap:2px;font-size:.54rem}
  .dock-item svg{width:20px;height:20px}
  .dock-shine span{max-width:88px;overflow:hidden;text-overflow:ellipsis}
  .dock-promo-core{width:46px;height:46px;margin-top:-16px}
  .dock-promo-core svg{width:22px;height:22px}
  .notes-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-text{min-width:0}
  .info-text dd{font-size:.92rem;overflow-wrap:anywhere}
}



.back-overlay{justify-content:center;padding:20px;display:none;z-index:1200;background:var(--backdrop);align-items:center;backdrop-filter:blur(3px);inset:0;-webkit-backdrop-filter:blur(3px);position:fixed}
.back-overlay.is-live{display:flex}
.back-overlay-tile{animation:quiver .34s cubic-bezier(.175,.885,.32,1.275);border-radius:var(--radius-xl);box-shadow:var(--shade-lg);position:relative;color:var(--copy);overflow:hidden;max-width:400px;width:100%;background:var(--surface)}
@keyframes quiver{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.back-overlay-intro{height:92px;background:linear-gradient(135deg,var(--peach),var(--red) 52%,var(--magenta));overflow:hidden;position:relative}
.back-overlay-intro::after{position:absolute;right:-18%;content:"";border-radius:50%;height:220%;width:62%;top:-70%;border:18px solid rgba(255,253,255,.14)}
.back-overlay-core{text-align:center;padding:0 clamp(24px,5vw,34px) clamp(24px,5vw,30px)}
.back-overlay-avatar{height:88px;position:relative;margin:-44px auto 0;width:88px}
.back-overlay-avatar img{display:block;border-radius:50%;border:4px solid var(--surface);object-fit:cover;box-shadow:var(--shade-md);height:100%;width:100%}
.back-overlay-avatar::before{border-radius:50%;pointer-events:none;inset:-5px;content:"";position:absolute;animation:throb 2.2s ease-out infinite}
@keyframes throb{0%{box-shadow:0 0 0 0 rgba(237,80,149,.51)}70%,100%{box-shadow:0 0 0 13px rgba(237,80,149,0)}}
.back-overlay-dot{position:absolute;width:17px;right:5px;border-radius:50%;border:3px solid var(--surface);bottom:5px;height:17px;background:var(--valid)}
.back-overlay-pretitle{letter-spacing:.1em;text-transform:uppercase;color:var(--magenta-deep);font-weight:800;margin:14px 0 0;font-size:.73rem}
.back-overlay-title{margin:7px 0 0;font-size:clamp(1.3rem,3.6vw,1.62rem);line-height:1.16}
.back-overlay-addr{font-weight:700;margin:9px 0 0;font-size:.9rem;color:var(--subtle)}
.back-overlay-text{color:var(--copy-light);font-size:.95rem;margin:11px 0 0}
.back-overlay-promo{justify-content:center;align-items:center;gap:8px;color:var(--flip);box-shadow:var(--shade-md);padding:14px 22px;border-radius:var(--radius-btn);font-family:var(--font-display);background:linear-gradient(135deg,var(--peach),var(--red) 55%,var(--magenta));display:inline-flex;transition:transform .16s ease,box-shadow .16s ease;margin-top:20px;width:100%;font-weight:800}
.back-overlay-promo:hover{box-shadow:var(--shade-lg);transform:translateY(-2px)}
.back-overlay-promo svg{height:18px;width:18px}
.back-overlay-close{background:rgba(255,253,255,.89);cursor:pointer;z-index:3;border-radius:50%;place-items:center;position:absolute;width:34px;color:var(--copy);border:0;top:12px;display:grid;box-shadow:var(--shade-sm);right:12px;height:34px}
.back-overlay-close svg{height:15px;width:15px}
.back-overlay-dismiss{cursor:pointer;color:var(--subtle);text-decoration:underline;background:none;margin:11px auto 0;font-size:.83rem;border:0}
@media(max-width:640px){.back-overlay{display:none!important}}
