:root{
  --pinkbg-100:#feedf2;
  --pinkbg-200:#fbdcea;
  --pinkbg-300:#f8c4dd;
  --pinkbg-deep:#f3a8c7;
  --lavender:#e8e7f7;
  --lavender-deep:#d7dcf8;

  --sheet:#fdfdfe;
  --sheet-pale:#fef5f7;
  --sheet-deep:#fde9ef;

  --magenta:#ed4c94;
  --magenta-hover:#e32d7d;
  --flush:#fd5d74;
  --flush-deep:#fa4961;
  --tangerine:#f97b3a;
  --tangerine-deep:#f76b25;
  --like:#ff4f5c;
  --periwinkle:#c8caf3;

  --ink:#2c2430;
  --ink-pale:#6d6373;
  --quiet:#9b919f;
  --divider:#f3d9e2;

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

  --shade-sm:0 6px 16px -8px rgba(237,76,148,.35);
  --shade-md:0 18px 38px -18px rgba(237,76,148,.42);
  --shade-lg:0 30px 60px -24px rgba(227,45,125,.41);

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

  --shell:1200px;
  --inset:24px;
  --section-y:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--face);-webkit-font-smoothing:antialiased;color:var(--ink);line-height:1.6;
  background:
    radial-gradient(1200px 700px at 85% -8%, var(--pinkbg-300) 0%, rgba(248,196,221,.02) 55%),
    radial-gradient(900px 600px at -10% 8%, var(--lavender) 0%, rgba(232,231,247,.02) 55%),
    linear-gradient(180deg, var(--pinkbg-100) 0%, var(--sheet-pale) 40%, var(--pinkbg-100) 100%);
  background-attachment:fixed;margin:0;
}
img{max-width:100%;display:block}
.id,.linksA,.drawerMob a,.ctl,.path a,.webColophon a,.townsMenu a,.singleThread{text-decoration:none}
.drawerMob{top:0;right:-100%;max-width:320px;height:100vh;height:100dvh;background:var(--sheet);position:fixed;transition:right .3s ease;z-index:1100;overflow-y:auto;padding:84px 22px 22px;width:80%;box-shadow:-6px 0 30px rgba(44,36,48,.18)}
.drawerMob.current{right:0}
.drawerMob nav{display:flex;flex-direction:column}
.drawerMob a:not(.ctl){padding:14px 2px;font-weight:600;border-bottom:1px solid var(--divider);font-size:15px;color:var(--ink)}
.drawerMob a:not(.ctl):hover{color:var(--magenta-hover)}
.drawerMob a.ctl{margin-top:22px}
.linksA{color:var(--ink);padding:9px 14px;font-weight:600;border-radius:var(--r-pill);transition:background .18s,color .18s;font-size:.96rem}
.linksA:hover{background:var(--sheet-deep);color:var(--magenta-hover)}
.linksShine{cursor:pointer;border:none;color:var(--ink);transition:background .18s ease,color .18s ease;font-weight:600;text-decoration:none;font-size:.96rem;position:relative;align-items:center;background:none;gap:7px;display:inline-flex;border-radius:var(--r-pill);padding:9px 12px}
.linksShine:hover{color:var(--magenta-hover);background:var(--sheet-deep)}
.linksShine svg{color:var(--magenta);height:20px;width:20px}
.linksShine:hover svg{color:var(--magenta-hover)}
.linksShineCopy{white-space:nowrap}
.linksShine .threadLabel{top:auto;right:auto;position:static}
.linksShineMob{border:none;width:100%;align-items:center;border-bottom:1px solid var(--divider);text-align:left;cursor:pointer;gap:9px;font-weight:600;display:flex;background:none;color:var(--ink);text-decoration:none;font-size:15px;padding:14px 2px}
.linksShineMob:hover{color:var(--magenta-hover)}
.linksShineMob svg{color:var(--magenta);width:18px;height:18px}
h1,h2,h3,h4{line-height:1.12;color:var(--ink);margin:0;letter-spacing:-.01em;font-family:var(--heading)}
.singleCard{border-radius:var(--r-lg);border:1px solid rgba(253,253,254,.92);overflow:hidden;box-shadow:var(--shade-md);position:relative;transition:transform .2s ease,box-shadow .2s ease;background:var(--sheet)}
.singleCard:hover{transform:translateY(-6px);box-shadow:var(--shade-lg)}
.singleFace{aspect-ratio:1/1;background:linear-gradient(160deg,var(--pinkbg-200),var(--lavender-deep));overflow:hidden;position:relative}
.singleFace img{object-fit:cover;width:100%;height:100%;display:block}
.singleLabel{border-radius:var(--r-pill);z-index:2;position:absolute;gap:6px;display:inline-flex;box-shadow:var(--shade-sm);color:#31af67;background:rgba(253,253,254,.91);padding:5px 10px;top:12px;left:12px;align-items:center;font-weight:700;font-size:.72rem}
::selection{background:rgba(237,76,148,.23)}
.singleShine{z-index:2;border-radius:50%;cursor:pointer;place-items:center;transition:transform .16s,background .16s,color .16s;color:var(--flush);display:grid;position:absolute;width:36px;background:rgba(253,253,254,.91);top:12px;box-shadow:var(--shade-sm);border:none;right:12px;height:36px}
.singleShine svg{width:18px;height:18px}
.singleShine:hover{transform:scale(1.08)}
.singleShine.ticked{background:var(--flush);color:#fdfdfe}
.singleShine.ticked svg{fill:currentColor}
.singleFrameShine{top:14px;width:46px;height:46px;right:14px}
.singleFrameShine svg{width:21px;height:21px}
.singleIn{padding:16px 18px}
.singleName{font-family:var(--heading);font-weight:800;font-size:1.12rem}
.singleName a{text-decoration:none;outline-offset:3px;color:inherit}
.singleName a::after{content:"";position:absolute;z-index:1;inset:0}
.singleName span{color:var(--quiet);font-weight:600}
.singlePlace{font-size:.88rem;align-items:center;display:flex;color:var(--ink-pale);gap:6px;margin-top:4px}
.singlePlace .locator svg{width:14px;color:var(--magenta);height:14px}
.singleThread{gap:7px;transition:transform .16s ease,box-shadow .16s ease;margin-top:12px;color:#fdfdfe;z-index:2;width:100%;align-items:center;box-shadow:var(--shade-sm);position:relative;justify-content:center;font-weight:700;display:inline-flex;font-size:.9rem;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--magenta),var(--flush));padding:9px 14px}
.singleThread svg{height:16px;width:16px}
.singleThread:hover{box-shadow:var(--shade-md);transform:translateY(-1px)}
.singleCols{gap:clamp(24px,4vw,52px);align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;margin-top:22px}
.singlePart{min-width:0}
.singleFrame{overflow:hidden;box-shadow:var(--shade-md);border-radius:var(--r-lg);position:relative;background:linear-gradient(160deg,var(--pinkbg-200),var(--lavender-deep));margin:0}
.singleFrame img{aspect-ratio:4/5;height:auto;display:block;width:100%;object-fit:cover}
.singlePager{top:50%;z-index:2;background:rgba(253,253,254,.91);width:44px;transform:translateY(-50%);place-items:center;transition:transform .15s ease,background .15s ease;display:grid;border-radius:50%;cursor:pointer;height:44px;border:none;box-shadow:var(--shade-md);color:var(--magenta-hover);position:absolute}
.singlePager:hover{background:#fdfdfe;transform:translateY(-50%) scale(1.07)}
.singlePager svg{width:22px;height:22px}
.singlePrev{left:12px}
.singleFwd{right:12px}
.singleTrack{margin-top:12px;flex-wrap:wrap;display:flex;gap:10px}
.singleItem{transition:transform .15s ease,border-color .15s ease;border:2px solid transparent;width:72px;aspect-ratio:3/4;border-radius:var(--r-sm);flex:0 0 auto;overflow:hidden;box-shadow:var(--shade-sm);padding:0;cursor:pointer;background:var(--sheet-deep)}
.singleItem img{object-fit:cover;width:100%;display:block;height:100%}
.singleItem:hover{transform:translateY(-2px)}
.singleItem.ticked{border-color:var(--magenta)}
.singleDrawer{position:sticky;top:96px}
.singleHead{align-items:center;display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.singleHead .labelChip{flex:none}
.singleHook{font-family:var(--heading);font-weight:800;line-height:1.1;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.singleHook span{font-weight:600;font-size:.62em;color:var(--quiet)}
.singleMention{align-items:center;margin-top:10px;gap:7px;font-size:1.02rem;color:var(--ink-pale);display:flex}
.singleMention .locator svg{width:18px;color:var(--magenta);height:18px}
.singleMention a{text-decoration:none;transition:border-color .15s ease;border-bottom:1px solid transparent;color:var(--magenta-hover);font-weight:600}
.singleMention a:hover{border-bottom-color:currentColor}
.singleStats{gap:8px;display:flex;flex-wrap:wrap;margin-top:16px}
.singleDrawer .hook{margin-top:18px}
.singleItems{margin-top:24px;flex-wrap:wrap;gap:12px;display:flex}
svg{display:block}

.labelChip{align-items:center;border:1px solid var(--divider);letter-spacing:.06em;color:var(--magenta);background:var(--sheet);gap:8px;padding:8px 16px;font-weight:700;border-radius:var(--r-pill);display:inline-flex;font-size:.82rem;box-shadow:var(--shade-sm)}
.labelChip svg{color:var(--flush);height:16px;width:16px}

.singlesCols{gap:22px;grid-template-columns:repeat(4,1fr);display:grid}
.introHead{max-width:640px;text-align:center;margin:0 auto 44px}
button{font-family:inherit}
:focus-visible{border-radius:6px;outline:3px solid var(--magenta);outline-offset:2px}

.block.threadScreen{padding-block:clamp(18px,3vw,38px)}
figure{margin:0}

.container{max-width:var(--shell);margin-inline:auto;padding-inline:var(--inset)}
.path a:hover{color:var(--magenta-hover)}
.strong{background:linear-gradient(92deg,var(--magenta),var(--flush) 60%,var(--tangerine));-webkit-background-clip:text;background-clip:text;color:transparent}
.hook{font-size:1.06rem;margin-top:14px;color:var(--ink-pale)}
.thread{display:flex;box-shadow:var(--shade-lg);flex-direction:column;background:var(--sheet);border-radius:var(--r-lg);margin:0 auto;overflow:hidden;max-width:600px;border:1px solid rgba(253,253,254,.92)}
.threadHead{display:flex;gap:14px;background:var(--sheet);border-bottom:1px solid var(--divider);padding:15px 20px;align-items:center}
.threadPart{min-width:0;gap:12px;text-decoration:none;flex:1;display:flex;align-items:center;color:inherit}
.threadFace{position:relative;flex:none;box-shadow:var(--shade-sm);background:linear-gradient(160deg,var(--pinkbg-200),var(--lavender-deep));width:52px;overflow:hidden;height:52px;border-radius:50%}
.threadFace img{height:100%;width:100%;object-fit:cover}
.threadFace::after{background:#31af67;right:1px;height:13px;position:absolute;border-radius:50%;border:2px solid var(--sheet);content:"";bottom:1px;width:13px}
.threadName{line-height:1.15;font-family:var(--heading);font-weight:800;font-size:1.06rem;display:block;color:var(--ink)}
.threadName span{font-weight:600;color:var(--quiet);font-size:.84em}
.threadSubtitle{font-size:.82rem;color:var(--ink-pale);margin-top:2px;display:block}
.threadHead .labelChip{flex:none}
.threadHead .labelChip .bullet{color:#31af67}
.threadTrack{display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:56vh;padding:24px 20px;min-height:360px;background:linear-gradient(180deg,var(--sheet-pale),var(--pinkbg-100))}
.threadEmpty{margin:auto 0;font-size:.92rem;color:var(--quiet);text-align:center;align-self:center}
.threadItem{align-self:flex-start;max-width:82%;display:flex}
.threadItem[hidden]{display:none}
.threadItemAlt{justify-content:flex-end;align-self:flex-end}
.threadCard{background:var(--sheet);border:1px solid var(--divider);padding:11px 15px 8px;font-size:.98rem;word-break:break-word;position:relative;line-height:1.5;box-shadow:var(--shade-sm);color:var(--ink);border-radius:20px;border-bottom-left-radius:7px}
.threadItemAlt .threadCard{color:#fdfdfe;border-color:transparent;border-radius:20px;border-bottom-right-radius:7px;background:linear-gradient(135deg,var(--flush),var(--magenta))}
.threadSlot{color:var(--quiet);margin-top:4px;display:block;font-size:.66rem;text-align:right}
.threadItemAlt .threadSlot{color:rgba(253,253,254,.78)}
.threadLazy{gap:5px;align-items:center;display:inline-flex;padding:15px 17px}
.threadLazy span{background:var(--pinkbg-deep);width:8px;border-radius:50%;animation:beat 1.2s infinite ease-in-out;height:8px}
.threadLazy span:nth-child(2){animation-delay:.18s}
.threadLazy span:nth-child(3){animation-delay:.36s}
.heading2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.kicker{font-weight:800;margin-bottom:10px;text-transform:uppercase;font-size:.8rem;color:var(--magenta);letter-spacing:.1em}
.linksVeil{visibility:hidden;inset:0;z-index:1090;background:rgba(44,36,48,.52);position:fixed;transition:opacity .3s ease;opacity:0}
.linksVeil.current{opacity:1;visibility:visible}
.block{padding-block:var(--section-y)}
.blockAlt{background:var(--sheet-deep)}
.id{letter-spacing:-.02em;font-family:var(--heading);font-weight:800;align-items:center;font-size:1.28rem;gap:11px;display:flex;color:var(--ink)}
.id:hover{color:var(--ink)}
.idLogo{color:#fdfdfe;border-radius:14px;height:42px;align-items:center;display:inline-flex;justify-content:center;box-shadow:0 8px 18px -8px rgba(237,76,148,.78);flex-shrink:0;background:linear-gradient(135deg,var(--magenta),var(--flush) 55%,var(--tangerine));width:42px}
.idLogo svg{height:22px;width:22px}
.mainLinks{display:flex;align-items:center;gap:8px;margin-left:auto}

.webHeading{border-bottom:1px solid var(--divider);top:0;position:sticky;background:var(--sheet);z-index:60}
.webHeadingIn{min-height:74px;justify-content:space-between;padding-block:12px;gap:20px;align-items:center;display:flex}
.bullet{color:#31af67;font-size:.6rem;line-height:1}

.ctl{
  font-weight:700;justify-content:center;gap:9px;text-align:center;
  cursor:pointer;white-space:nowrap;font-size:1rem;align-items:center;
  border:1.5px solid transparent;border-radius:var(--r-pill);display:inline-flex;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
  padding:14px 26px;
}
.ctl svg{width:18px;height:18px}
.ctlSmall{font-size:.9rem;padding:10px 18px}
.ctlLarge{padding:17px 32px;font-size:1.06rem}
.ctlWide{width:100%}
.ctlGo{background:linear-gradient(95deg,var(--tangerine),var(--flush) 55%,var(--magenta));color:#fdfdfe;box-shadow:0 14px 26px -12px rgba(250,73,97,.77)}
.ctlGo:hover{transform:translateY(-2px);color:#fdfdfe;box-shadow:0 20px 34px -12px rgba(250,73,97,.87)}
.ctlLight{border-color:var(--divider);color:var(--magenta);background:var(--sheet)}
.ctlLight:hover{background:var(--sheet-deep);color:var(--magenta-hover);transform:translateY(-2px)}
.ctlPlain{background:#fdfdfe;color:var(--magenta-hover)}
.ctlPlain:hover{transform:translateY(-2px);color:var(--magenta-hover);box-shadow:var(--shade-md)}

.navToggle{padding:6px;flex-direction:column;background:none;border:none;gap:5px;display:none;z-index:1105;cursor:pointer}
.navToggle span{width:26px;transition:transform .3s ease,opacity .3s ease;height:3px;border-radius:2px;background:var(--ink);display:block}
.navToggle.current span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.navToggle.current span:nth-child(2){opacity:0}
.navToggle.current span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
ul{margin:0;list-style:none;padding:0}
p{margin:0}
.iconTicked svg{stroke:none;fill:currentColor}
@keyframes beat{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}
.threadContact{background:var(--sheet);display:flex;gap:10px;padding:12px 16px;align-items:center;border-top:1px solid var(--divider)}
.threadTextbox{flex:1;min-width:0;font-family:inherit;padding:12px 16px;border:1.5px solid var(--divider);transition:border-color .16s,box-shadow .16s;color:var(--ink);font-size:1rem;border-radius:var(--r-pill);background:var(--sheet-pale)}
.threadTextbox:focus{outline:none;box-shadow:0 0 0 3px rgba(237,76,148,.14);border-color:var(--magenta)}
.threadCtl{border-radius:50%;transition:transform .15s ease,opacity .15s ease;color:#fdfdfe;cursor:pointer;background:linear-gradient(135deg,var(--flush),var(--magenta));height:46px;box-shadow:0 10px 20px -10px rgba(250,73,97,.78);border:none;display:grid;flex:none;width:46px;place-items:center}
.threadCtl:hover{transform:translateY(-2px)}
.threadCtl:disabled{opacity:.5;cursor:default;transform:none}
.threadCtl svg{width:18px;fill:currentColor;stroke:none;height:18px}
.threadMention{padding:2px 20px 16px;color:var(--quiet);text-align:center;font-size:.8rem}
.threadVeil{gap:14px;text-align:center;border-top:1px solid var(--divider);padding:20px 22px 24px;align-items:center;display:none;flex-direction:column;background:var(--sheet)}
.threadVeilCopy{color:var(--ink-pale);margin:0;line-height:1.5;max-width:440px;font-size:.94rem}
.threadPopup{position:fixed;display:none;-webkit-backdrop-filter:blur(3px);padding:20px;align-items:center;background:rgba(22,12,22,.55);inset:0;justify-content:center;z-index:130;backdrop-filter:blur(3px)}
.threadPopupCard{box-shadow:var(--shade-lg);border:1px solid var(--divider);border-radius:22px;padding:32px 26px 28px;background:var(--sheet);position:relative;width:100%;text-align:center;max-width:420px}
.threadPopupHide{border:none;cursor:pointer;position:absolute;color:var(--quiet);padding:0;background:none;top:10px;line-height:1;font-size:1.6rem;right:14px}
.threadPopupName{color:var(--ink);font-family:var(--heading);font-weight:800;font-size:1.22rem;margin:0 0 10px}
.threadPopupCopy{color:var(--ink-pale);margin:0 0 20px;font-size:.96rem;line-height:1.5}
.threadFab{height:60px;position:fixed;place-items:center;border-radius:50%;width:60px;right:22px;background:linear-gradient(135deg,var(--magenta),var(--flush));box-shadow:var(--shade-lg);text-decoration:none;transition:transform .16s ease;z-index:80;bottom:22px;color:#fdfdfe;display:grid}
.threadFab[hidden]{display:none}
.threadFab:hover{transform:translateY(-2px)}
.threadFab svg{width:26px;height:26px}
.threadLabel{font-size:.72rem;border-radius:var(--r-pill);box-shadow:var(--shade-sm);place-items:center;background:var(--like);top:-3px;height:22px;min-width:22px;right:-3px;border:2px solid var(--sheet);line-height:1;color:#fdfdfe;font-weight:800;display:grid;position:absolute;padding:0 6px}
.threadLabel[hidden]{display:none}
.threadFabWide{height:auto;border-radius:var(--r-pill);display:inline-flex;align-items:center;padding:14px 22px;gap:9px;width:auto}
.threadFabWide svg{width:20px;height:20px}
.threadFabCopy{font-family:var(--heading);font-weight:800;font-size:.98rem;white-space:nowrap}
.threadMenu{flex-direction:column;gap:4px;max-height:52vh;overflow-y:auto;margin-top:4px;display:flex}
.threadRow{text-decoration:none;padding:9px 8px;transition:background .14s ease;display:flex;gap:11px;border-radius:var(--r-sm);color:var(--ink);align-items:center}
.threadRow:hover{background:var(--sheet-deep)}
.threadLogo{width:42px;flex:none;overflow:hidden;height:42px;background:linear-gradient(160deg,var(--pinkbg-200),var(--lavender-deep));border-radius:50%}
.threadLogo img{width:100%;object-fit:cover;height:100%}
.threadIn{min-width:0;flex:1}
.threadIn strong{white-space:nowrap;font-family:var(--heading);overflow:hidden;font-size:.96rem;display:block;text-overflow:ellipsis;font-weight:800}
.threadIn span{white-space:nowrap;font-size:.82rem;color:var(--ink-pale);overflow:hidden;display:block;text-overflow:ellipsis}
.threadRow small{font-size:.7rem;align-self:flex-start;color:var(--quiet);flex:none}
.holdPrompt{inset:0;justify-content:center;padding:20px;backdrop-filter:blur(3px);position:fixed;z-index:1200;align-items:center;display:none;background:rgba(44,36,48,.55)}
.holdPrompt.isLive{display:flex}
.holdPromptCard{display:grid;overflow:hidden;grid-template-columns:.82fr 1fr;width:100%;background:var(--sheet);color:var(--ink);border-radius:var(--r-xl);max-width:860px;position:relative;box-shadow:var(--shade-lg)}
.holdPromptDrawer{color:#fdfdfe;justify-content:center;align-items:flex-start;padding:clamp(24px,4vw,40px);background:linear-gradient(160deg,var(--magenta),var(--flush) 60%,var(--tangerine));display:flex;position:relative;flex-direction:column;overflow:hidden;gap:8px}
.holdPromptDrawer::after{position:absolute;border-radius:50%;border:20px solid rgba(253,253,254,.11);right:-28%;width:86%;height:86%;bottom:-28%;content:""}
.holdPromptDrawer img{border-radius:var(--r-lg);width:100%;box-shadow:var(--shade-md);max-width:200px;object-fit:cover;aspect-ratio:3/4;border:3px solid rgba(253,253,254,.52);position:relative}
.holdPromptDrawer .iconTicked svg{height:64px;width:64px;stroke:none;fill:currentColor}
.holdPromptDrawer p{font-size:1rem;max-width:200px;font-weight:700;position:relative}
.holdPromptNum{position:relative;font-family:var(--heading);font-weight:800;line-height:.85;font-size:clamp(52px,8vw,88px)}
.holdPromptMain{padding:clamp(24px,4vw,40px);position:relative}
.holdPromptMain .hook{margin-top:10px}
.holdPromptMain .ctl{margin-top:20px}
.holdPromptMain .threadMenu{margin-top:18px;max-height:236px}
.holdPromptHide{border-radius:50%;padding:0;place-items:center;top:14px;width:38px;color:var(--quiet);background:var(--sheet);border:1px solid var(--divider);z-index:2;position:absolute;height:38px;display:grid;right:14px;cursor:pointer}
.holdPromptHide svg{width:15px;height:15px}
.holdPromptHide:hover{border-color:transparent;background:var(--magenta);color:#fdfdfe}
.holdPromptLater{text-decoration:underline;width:fit-content;background:none;font-size:.84rem;border:0;display:block;color:var(--quiet);cursor:pointer;max-width:100%;margin:14px 0 0}
@media (max-width:600px){.holdPrompt{padding:12px}.holdPromptCard{grid-template-columns:1fr}.holdPromptDrawer{display:none}.holdPromptMain{padding:26px 22px}.holdPromptMain .ctl{width:100%}}

.fabCta{width:300px;padding:20px;right:22px;border-radius:var(--r-lg);bottom:22px;position:fixed;background:#fdfdfe;border:1px solid rgba(253,253,254,.92);max-width:calc(100vw - 44px);box-shadow:var(--shade-lg);z-index:80}
.fabHide{color:var(--ink-pale);padding:0;place-items:center;border-radius:50%;top:12px;display:grid;right:12px;position:absolute;background:var(--sheet-deep);cursor:pointer;font-size:1.1rem;border:none;height:28px;width:28px;line-height:1}
.fabHide:hover{background:var(--magenta);color:#fdfdfe}
.fabName{font-family:var(--heading);font-weight:800;font-size:1.04rem;padding-right:26px}
.fabCopy{color:var(--ink-pale);margin-top:4px;margin-bottom:14px;font-size:.86rem}
.fabTab{position:fixed;border-radius:50%;height:60px;justify-content:center;cursor:pointer;right:22px;box-shadow:var(--shade-lg);display:none;background:linear-gradient(135deg,var(--magenta),var(--flush));z-index:80;color:#fdfdfe;align-items:center;border:none;bottom:22px;width:60px}
.fabTab svg{fill:currentColor;stroke:none;height:26px;width:26px}
.notesCouncil{border-radius:var(--r-lg);background:var(--sheet);padding:24px;box-shadow:var(--shade-md);border:1px solid rgba(253,253,254,.92)}
.colophonCols{grid-template-columns:1.6fr 1fr 1fr;display:grid;gap:40px}
.colophonId{display:flex;margin-bottom:12px;color:#fdfdfe;gap:10px;font-family:var(--heading);font-weight:800;font-size:1.2rem;align-items:center}
.colophonPart>p:not(.colophonName){font-size:.94rem;max-width:34ch;color:#a89fb1}
.colophonName{color:#fdfdfe;font-size:1rem;font-weight:800;margin-bottom:14px}
.colophonMenu{gap:10px;font-size:.94rem;display:grid}
.path{justify-content:flex-start;font-size:.86rem;color:var(--quiet);display:flex;margin-bottom:14px;flex-wrap:wrap;gap:6px}
.times{margin-top:10px;gap:4px;display:grid}
.legal{font-size:.86rem;padding-top:22px;margin-top:34px;border-top:1px solid rgba(253,253,254,.11);color:#a89fb1}

.webColophon{background:#2c2430;color:#d8d1de}
.webColophon .container{padding-block:56px 22px}
.webColophon a{color:#d8d1de}
.webColophon a:hover{color:#fdfdfe}
.stat{border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shade-sm);border:1px solid rgba(253,253,254,.92);background:var(--sheet);gap:12px;align-items:center;display:flex}
.statIcon{border-radius:12px;background:var(--sheet-deep);display:grid;flex:none;height:40px;color:var(--magenta);place-items:center;width:40px}
.statIcon svg{height:18px;width:18px}
.statCopy dt{letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;color:var(--quiet)}
.statCopy dd{font-family:var(--heading);margin:2px 0 0;font-weight:800;font-size:.98rem}
.councilName{font-family:var(--heading);margin-bottom:14px;font-weight:800}
.councilRow{align-items:flex-start;gap:10px;display:flex;margin-top:10px;font-size:.94rem;color:var(--ink-pale)}
.councilRow .locator{flex:none;color:var(--magenta)}
.councilRow .locator svg{width:16px;height:16px}

.postBlock h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.postBlock h2{font-size:1.35rem;color:var(--magenta-hover);font-weight:800;margin-top:34px}
.postBlock p{margin-top:14px;font-size:1.04rem;color:var(--ink-pale)}
.postBlock p a{font-weight:600}
.postBlock ul{margin-top:14px;gap:10px;display:grid}
.postBlock li{padding-left:24px;position:relative;color:var(--ink-pale)}
.postBlock li::before{left:0;top:.5em;content:"";position:absolute;width:10px;border-radius:50%;height:10px;background:var(--flush)}
.postFaq>.container>h2{margin-bottom:28px;text-align:center}

.ctaBox{border-radius:var(--r-xl);color:#fdfdfe;overflow:hidden;background:linear-gradient(100deg,var(--magenta-hover),var(--flush) 60%,var(--tangerine));box-shadow:var(--shade-lg);position:relative;justify-content:space-between;gap:30px;display:flex;align-items:center;padding:clamp(38px,5vw,64px);flex-wrap:wrap}
.ctaGlob{background:rgba(253,253,254,.13);height:320px;position:absolute;right:-90px;width:320px;border-radius:50%;top:-120px}
.ctaCopy{z-index:2;position:relative}
.ctaCopy h2{max-width:16ch;color:#fdfdfe}
.ctaCopy p{margin-top:10px;max-width:46ch;color:rgba(253,253,254,.91)}
.ctaBox .ctl{position:relative;z-index:2}
.postCopy .ctl{margin-top:26px}

.post{align-items:center;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px)}
.postCopy>p:not(.kicker){color:var(--ink-pale);font-size:1.04rem;margin-top:16px}
.postSubtitle{font-family:var(--heading);margin-top:22px;font-size:1.1rem;font-weight:800;color:var(--magenta-hover)}

.screenCover{padding-block:clamp(40px,6vw,80px) 20px}
.screenCover h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.screenCover p{color:var(--ink-pale);font-size:1.08rem;margin:16px auto 0}
.faqItem{border-radius:var(--r-md);margin-bottom:14px;overflow:hidden;border:1px solid var(--divider);box-shadow:var(--shade-sm);background:var(--sheet)}
.faqItem summary{font-family:var(--heading);padding:20px 22px;display:flex;font-weight:800;align-items:center;cursor:pointer;color:var(--ink);font-size:1.05rem;list-style:none;justify-content:space-between;gap:16px}
.faqItem summary::-webkit-details-marker{display:none}
.faqItem summary::after{color:var(--magenta);background:var(--sheet-deep);content:"+";place-items:center;height:30px;font-size:1.2rem;display:grid;border-radius:50%;transition:transform .25s ease;flex:none;width:30px}
.faqItem[open] summary::after{transform:rotate(45deg);color:#fdfdfe;background:var(--magenta)}
.faqA{padding:0 22px 20px;color:var(--ink-pale)}
.whyItems{margin-top:14px;display:grid;gap:10px}
.whyItems li{padding-left:24px;color:var(--ink);position:relative}
.whyItems li::before{width:10px;height:10px;background:var(--flush);border-radius:50%;left:0;position:absolute;content:"";top:.5em}

.notes{align-items:start;grid-template-columns:1.2fr 1fr;display:grid;gap:clamp(28px,4vw,48px)}
.notesStats{gap:16px;display:grid;grid-template-columns:1fr 1fr}
.slot{gap:12px;justify-content:space-between;font-size:.9rem;color:var(--ink-pale);display:flex}
.placeCard{position:relative;border-radius:var(--r-lg);aspect-ratio:4/3;overflow:hidden;background:var(--lavender);box-shadow:var(--shade-md);border:1px solid rgba(253,253,254,.92)}
.placeCard.placeLazy{cursor:pointer}
.placeEmpty{place-items:center;inset:0;text-align:center;padding:20px;background:linear-gradient(160deg,var(--lavender-deep),var(--sheet-deep));gap:10px;position:absolute;display:grid}
.placeEmpty p{color:var(--ink);font-weight:700}
.placeLocator{color:var(--flush);filter:drop-shadow(0 10px 12px rgba(250,73,97,.52))}
.placeLocator svg{fill:currentColor;width:40px;height:40px;stroke:none}
.placeCard iframe{position:absolute;height:100%;width:100%;inset:0;border:0}
.placeCard.isLive .placeEmpty{display:none}

.towns{gap:32px;display:flex;flex-direction:column}
.townsSet h2{font-size:1.15rem;margin-bottom:16px;font-weight:800;color:var(--ink)}
.townsMenu{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid;gap:12px}
.townsMenu a{font-size:.92rem;gap:10px;border:1px solid var(--divider);color:var(--ink);justify-content:space-between;background:var(--sheet);transition:transform .14s,box-shadow .14s,color .14s;padding:13px 16px;align-items:center;border-radius:var(--r-md);font-weight:600;box-shadow:var(--shade-sm);display:flex}
.townsMenu a:hover{transform:translateY(-3px);box-shadow:var(--shade-md);color:var(--magenta-hover)}
.townsMenu a .locator{flex:none;color:var(--magenta);place-items:center;display:grid}
.townsMenu a .locator svg{width:16px;height:16px}
/* Fil d'Ariane robot placé dans l'article SEO : neutraliser les styles de liste de l'article (grille, retrait, puce). */
.postBlock .path{display:flex}.postBlock .path li{padding-left:0}.postBlock .path li::before{display:none}
.path li:not(:last-child)::after{content:"\00203a";margin-left:6px;color:var(--quiet)}
.path a{color:var(--ink-pale)}

.contact{background:#fdfdfe;border-radius:var(--r-lg);box-shadow:var(--shade-md);border:1px solid rgba(253,253,254,.92);padding:clamp(24px,3vw,40px)}
.contactItem{display:grid;gap:7px;margin-bottom:18px}
.contactItem label{font-weight:700;font-size:.92rem}
.textboxRow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.textbox{width:100%;padding:13px 16px;border-radius:var(--r-sm);border:1.5px solid var(--divider);background:var(--sheet-pale);font-family:inherit;font-size:1rem;color:var(--ink);transition:border-color .16s,box-shadow .16s}
.textbox:focus{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(237,76,148,.14)}
textarea.textbox{min-height:140px;resize:vertical}
.contactMention{font-weight:700}
.contactMentionTicked{color:#31af67}
.contactMentionClosed{color:var(--magenta-hover)}

.finderContact{margin:0 auto;display:flex;gap:12px;background:#fdfdfe;padding:12px;border-radius:var(--r-pill);box-shadow:var(--shade-md);border:1px solid rgba(253,253,254,.92)}
.finderContact .textbox{border:none;background:transparent;box-shadow:none;font-size:1.06rem}
.finderContact .textbox:focus{box-shadow:none}
.finderContact+.towns{margin-top:40px}

.contactBox{max-width:640px}
.contactEmpty{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.empty{text-align:center;padding-block:clamp(60px,10vw,140px)}
.emptyNum{font-family:var(--heading);font-weight:800;font-size:clamp(6rem,20vw,13rem);line-height:.9}
.emptySet{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}

@media (max-width:980px){
  .singlesCols{grid-template-columns:repeat(3,1fr)}
  .singleCols{grid-template-columns:1fr}
  .singleFrame{width:100%;max-width:380px;justify-self:start}
  .singleDrawer{position:static}
  .post,.notes{grid-template-columns:1fr}
  .colophonCols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .mainLinks{display:none}
  .navToggle{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .drawerMob,.linksVeil{display:none}
}
@media (max-width:600px){
  :root{--section-y:clamp(30px,7vw,48px)}
  .colophonCols,.textboxRow{grid-template-columns:1fr}
  .singlesCols{grid-template-columns:repeat(2,1fr);gap:12px}
  .singleIn{padding:16px 10px}
  .ctaBox{flex-direction:column;align-items:stretch;padding:32px 24px}
  .ctaBox .ctl{width:100%;white-space:normal}
  .finderContact{flex-direction:column;border-radius:var(--r-lg)}
  .finderContact .ctl{width:100%}
  .blockSingle{padding-top:0}
  .singleFrame img{aspect-ratio:1/1;max-height:46vh}
  .singleCols{margin-top:0}
  .singleDrawer{display:flex;flex-direction:column;margin-top:14px}
  .singleHead{order:1;margin-top:0}
  .singleMention{order:2}
  .singleItems{order:3;margin-top:16px;gap:10px}
  .singleItems .ctl{flex:1 1 auto}
  .singleTrack{display:none}
  .singleStats{order:4}
  .singleDrawer .hook{order:5}
  .notesStats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .stat{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .statIcon{width:34px;height:34px}
  .statCopy{min-width:0}
  .statCopy dd{font-size:.92rem;overflow-wrap:anywhere}
}
