.directory{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));align-items:start;margin-bottom:0;padding:0;list-style:none;display:grid}.directory__home{background:var(--card);border:1px solid var(--hairline-strong);border-radius:var(--r-card);overflow:hidden}.directory__family{aspect-ratio:3/2;object-fit:cover;background:var(--sunk);width:100%;display:block}.directory__home h2{padding:var(--s-3) var(--pad-card) var(--s-1);font:var(--t-h2);color:var(--heading);overflow-wrap:anywhere;margin:0}.directory__address{padding:0 var(--pad-card) var(--s-2);font:var(--t-small);color:var(--body);flex-direction:column;font-style:normal;display:flex}.directory__address a{color:var(--link);align-self:flex-start}.directory__home ul{padding:0 var(--pad-card) var(--s-3);margin:0;list-style:none}.directory__person{align-items:flex-start;gap:var(--s-3);padding:var(--s-2) 0;border-top:1px solid var(--hairline);display:flex}.directory__person:first-child{border-top:0}.directory__face{object-fit:cover;background:var(--sunk);width:2.5rem;height:2.5rem;box-shadow:0 0 0 1px var(--hairline-strong);border-radius:50%;flex:none}.directory__face--none{color:var(--muted);font:600 .8125rem/1 var(--font-heading);letter-spacing:.02em;place-items:center;display:grid}.directory__who{flex-direction:column;min-width:0;display:flex}.directory__who b{font:var(--t-label);color:var(--heading)}.directory__who a{font:var(--t-small);color:var(--link);overflow-wrap:anywhere}.directory__who b small{font:var(--t-fine);color:var(--muted);font-weight:400}.directory__date{font:var(--t-small);color:var(--muted)}.directory__who a.directory__encourage{margin-top:var(--s-1);align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.directory__who a.directory__encourage:hover{text-decoration:underline}.directory__address .directory__date{margin-top:var(--s-1)}.directory__areas{font:var(--t-small);color:var(--muted)}.directory__about{padding:0 var(--pad-card) var(--s-2);font:var(--t-small);color:var(--muted);margin:0}.directory__does{font:var(--t-small);color:var(--muted);font-style:italic}.directory__more{margin-top:var(--s-1)}.directory__more summary{width:fit-content;font:var(--t-small);color:var(--link);cursor:pointer;font-weight:600}.directory__more dl{gap:var(--s-2);margin:var(--s-2) 0 var(--s-1);flex-direction:column;display:flex}.directory__more dt{font:var(--t-fine);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.directory__labels{flex-wrap:wrap;gap:6px;margin:4px 0 0;display:flex}.directory__label{border:1px solid var(--hairline-strong);border-radius:var(--r-pill);background:var(--card);color:var(--heading);font:var(--t-small);align-items:center;padding:2px 10px;display:inline-flex}.directory__label--help{background:var(--sunk);font-weight:600}button.directory__label{cursor:pointer}button.directory__label:hover{border-color:var(--link);color:var(--link)}.directory__who a.directory__nudge{margin-top:var(--s-1);align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.directory__who a.directory__nudge:hover{text-decoration:underline}@media (pointer:coarse){.directory__more summary{min-height:var(--target);padding-block:calc((var(--target) - 1.25rem) / 2)}button.directory__label,.directory__who a.directory__nudge,.directory__who a.directory__encourage{min-height:var(--target)}}.directory__home>.directory__none{padding:0 var(--pad-card) var(--s-3);margin:0}.directory--strip{position:relative}.directory__controls{gap:var(--s-4);z-index:12;top:calc(var(--jump-under,var(--bars-h,0px)) + var(--pin-h,0px));padding-block:var(--s-2);margin-block:calc(-1 * var(--s-2));background:var(--page);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));align-items:end;display:grid;position:sticky}@media (max-width:720px){.directory__controls{position:static}}.directory__show{gap:var(--s-1);flex-direction:column;width:100%;display:flex}.directory__show .select{min-height:max(var(--control-h), calc(var(--target) + 2px))}.directory__controls .pdesk__find,.directory__controls .find-field{max-width:none}.directory--strip>.jumpwrap>.directory,.directory--strip>.jumpwrap>.directory__months,.directory--strip>.directory__controls{padding-right:3.5rem}.jump{width:2.75rem;position:absolute;top:0;bottom:0;right:0}.jump__in{z-index:15;top:calc(var(--jump-under,var(--bars-h,0px)) + var(--pin-h,0px) + 12px);width:2.75rem;height:min(var(--jump-h,34rem), calc(100dvh - var(--jump-under,var(--bars-h,0px)) - var(--pin-h,0px) - 7rem));border:1px solid var(--hairline-strong);background:color-mix(in srgb, var(--hairline) 60%, var(--card));touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;padding:6px 0;display:flex;position:sticky}.jump__key{width:100%;min-height:0;color:var(--muted);opacity:.4;cursor:default;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;margin:0;padding:0;font-family:inherit;font-size:.8125rem;font-weight:700;line-height:1;display:flex}.jump__key[data-present]{color:var(--link);opacity:1;cursor:pointer}.jump__key[data-held]{transform:scale(1.3)}.jump__key:focus-visible{outline:2px solid var(--link);outline-offset:-2px;border-radius:4px}.jump__bubble{box-sizing:border-box;background:var(--heading);min-width:3rem;height:3rem;color:var(--card);font-family:var(--font-heading,inherit);text-align:center;white-space:nowrap;pointer-events:none;border-radius:999px;padding:0 .75rem;font-size:1.5rem;font-weight:700;line-height:3rem;position:absolute;right:3.5rem;transform:translateY(-50%);box-shadow:0 6px 18px #0003}.directory__months{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));align-items:start;display:grid}.directory__month{background:var(--card);border:1px solid var(--hairline-strong);border-radius:var(--r-card);padding:var(--s-3) var(--pad-card)}.directory__month h2{margin:0 0 var(--s-1);font:var(--t-h2);color:var(--heading)}.directory__month ul{margin:0;padding:0;list-style:none}.directory__month li{align-items:center;gap:var(--s-2);padding:var(--s-1) 0;border-top:1px solid var(--hairline);font:var(--t-small);color:var(--body);grid-template-columns:1.75rem auto minmax(0,1fr);display:grid}.directory__month li:first-child{border-top:0}.directory__month li .icon{color:var(--muted)}.directory__month li .directory__cake{color:var(--birthday)}.directory__month li .directory__heart{color:var(--anniversary)}.directory__datefaces{width:2.75rem;height:2.25rem;display:inline-flex;position:relative}.directory__dateface{object-fit:cover;background:var(--sunk);width:2.25rem;height:2.25rem;color:var(--muted);font:600 .75rem/1 var(--face-ui,inherit);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.directory__datefaces--pair .directory__dateface{width:1.75rem;height:1.75rem;box-shadow:0 0 0 2px var(--card);font-size:.625rem;position:absolute}.directory__datefaces--pair .directory__dateface:first-child{top:0;left:0}.directory__datefaces--pair .directory__dateface:nth-child(2){bottom:0;right:0}.directory__datebadge{background:var(--card);width:1.05rem;height:1.05rem;box-shadow:0 0 0 1px var(--hairline-strong);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-.2rem;left:1.6rem}.directory__datefaces--pair .directory__datebadge{left:auto;right:-.2rem}.directory__datebadge svg{stroke-width:2.6px;width:.7rem;height:.7rem}.directory__month li small{font:var(--t-fine);color:var(--muted);display:block}.directory__day{font:var(--t-label);font-variant-numeric:tabular-nums;color:var(--heading);text-align:right}.directory__month li.directory__now{align-items:center;gap:var(--s-2);padding:var(--s-1) 0;border-top:0;display:flex}.directory__month li.directory__now:after{content:"";background:var(--heading);border-radius:1px;flex:1;height:2px}.directory__now span{background:var(--heading);color:var(--card);font:700 .75rem/1.25rem var(--face-ui,inherit);letter-spacing:.02em;border-radius:999px;flex:none;padding:1px 10px}.directory__month li.directory__now+li{border-top:0}.directory__month li.is-today{background:var(--pill-selected-fill);box-shadow:inset 3px 0 0 var(--pill-selected-edge)}@media print{.directory__home{break-inside:avoid}}
