:root{color-scheme:light;--ink:#63313b;--wine:#a52f50;--muted:#884958;--paper:#fff9f7;--line:#e18b9f;--pink:#e85b83}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:34px 22px;color:var(--ink);background:#ffd0df url("images/hearts%203.gif") repeat;font:13px/1.65 Verdana,sans-serif}button,a{-webkit-tap-highlight-color:#ffb1c7}button{font:inherit;color:inherit}a{color:var(--wine);text-underline-offset:3px}:focus-visible{outline:3px solid #b82d51;outline-offset:4px}.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:#fff;z-index:10}.skip-link:focus{top:5px}
.directory-window{max-width:1000px;margin:auto;background:#fff7f8 url("images/hearts%203.gif") repeat}.browser-bar{height:24px;background:var(--pink)}.directory-header{padding:30px 18px 24px;text-align:center;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 8px;font:10px/1.7 "Courier New",monospace;letter-spacing:1.7px;text-transform:uppercase}.directory-header h1{margin:0;color:var(--wine);font:italic 28px/1 Georgia,"Times New Roman",serif;text-shadow:2px 2px #fff}.directory-header h1 span{display:block;margin-top:5px;font:64px/.95 Georgia,"Times New Roman",serif;font-style:normal;letter-spacing:-3px}.directory-header>p:last-of-type{margin:17px 0 7px;color:var(--muted);font:italic 16px/1.5 Georgia,serif}.header-ornament{color:#bb4667;font-size:14px;letter-spacing:3px}
.directory-nav{display:flex;background:#ffd0dd;border-top:1px solid #fff;border-bottom:3px double var(--line)}.directory-nav a{flex:1;min-height:44px;padding:11px;text-align:center;text-decoration:none;border-inline:1px solid #fff6fa;font:bold 11px/22px Verdana,sans-serif}.directory-nav a:hover,.directory-nav a[aria-current]{background:#fff6f9}.announcement{padding:9px 16px;text-align:center;border-bottom:1px dashed var(--line);background:var(--paper);font:11px/1.6 "Courier New",monospace}
.directory-main{padding:24px}.navigator-panel{border:1px solid var(--line);background:rgba(255,249,247,.87);box-shadow:3px 3px 0 #f4b5c6}.panel-title{display:flex;justify-content:space-between;padding:8px 11px;border-bottom:1px solid var(--line);background:linear-gradient(#ffe8ee,#ffb9ce);color:var(--wine);font:bold 11px/1.7 Verdana,sans-serif}.panel-title span:last-child{font:10px/1.7 "Courier New",monospace;font-weight:normal}
.scene{display:grid;grid-template-columns:minmax(200px,38%) minmax(0,1fr);align-items:center;min-height:540px;padding:22px 28px 8px}.sprite-stage{display:flex;align-items:flex-end;justify-content:center;height:500px;overflow:hidden}.sprite{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(3px 4px 2px #9f506033);transition:opacity .12s ease}.chooser{display:grid;grid-template-columns:46px minmax(230px,420px) 46px;align-items:center;justify-content:center;gap:10px}.arrow-btn{width:46px;height:46px;padding:0;border:2px solid #eb7da0;border-radius:50%;background:#ffe1ec;box-shadow:2px 2px 0 #d76a8d;cursor:pointer;font:bold 20px Georgia,serif}.arrow-btn:hover{background:#ffbfd3}.arrow-btn:active{transform:translate(2px,2px);box-shadow:none}
.bubble{display:flex;aspect-ratio:1/1;min-width:0;padding:12% 17% 32%;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;background:url("images/nav-sprites/bubble.png") center/contain no-repeat;color:#2a1c22;transition:transform .15s ease,filter .15s ease}.bubble:hover{transform:translateY(-3px);filter:drop-shadow(0 5px 3px #a52f5044)}.destination-emoji{display:block;font-size:clamp(25px,4vw,42px);line-height:1.2}.bubble strong{display:block;margin:5px 0;color:var(--wine);font:bold clamp(14px,2vw,20px)/1.3 Verdana,sans-serif}.bubble-text{display:block;max-width:270px;font:italic clamp(11px,1.5vw,14px)/1.45 Georgia,serif}.visit-label{display:block;margin-top:10px;color:var(--muted);font:9px/1.5 "Courier New",monospace;letter-spacing:1px}
.emoji-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 16px}.emoji-choice{display:grid;width:46px;height:46px;padding:0;place-items:center;border:1px solid var(--line);background:#fff5f8;box-shadow:2px 2px 0 #f3b8ca;cursor:pointer;font-size:20px}.emoji-choice:hover,.emoji-choice[aria-current]{background:#ffbdd1;border-color:#c94c72;transform:translateY(-2px)}.keyboard-note{margin:8px 0 18px;text-align:center;color:var(--muted);font:10px/1.6 "Courier New",monospace}.directory-footer{padding:20px 15px;text-align:center;font:10px/1.8 "Courier New",monospace}.directory-footer p{margin:0 0 3px;font:italic 19px/1.5 Georgia,serif}.directory-footer a{display:block;width:max-content;margin:5px auto 0;padding:8px}
@media(max-width:760px){body{padding:13px 10px}.directory-header{padding:24px 12px 18px}.directory-header h1 span{font-size:clamp(42px,12vw,58px)}.directory-header>p:last-of-type{font-size:14px}.directory-main{padding:14px}.scene{grid-template-columns:34% minmax(0,1fr);min-height:410px;padding:16px 10px 5px}.sprite-stage{height:390px}.chooser{grid-template-columns:38px minmax(170px,1fr) 38px;gap:4px}.arrow-btn{width:38px;height:38px;font-size:17px}.bubble{padding:12% 14% 33%}.bubble-text{font-size:11px}.visit-label{margin-top:5px}}
@media(max-width:520px){.scene{grid-template-columns:1fr;min-height:0;padding:12px 8px 4px}.sprite-stage{order:2;height:245px}.chooser{order:1;margin:0 0 -12px;position:relative;z-index:2;grid-template-columns:36px minmax(0,250px) 36px;gap:5px}.arrow-btn{width:36px;height:36px}.bubble{width:100%;max-width:250px;margin:auto;padding:11% 14% 32%}.destination-emoji{font-size:25px}.bubble strong{margin:2px 0;font-size:14px}.bubble-text{max-width:190px;font-size:10px}.visit-label{margin-top:3px;font-size:8px}.emoji-choices{gap:6px;padding:4px 10px 10px}.emoji-choice{width:42px;height:42px}.keyboard-note{display:none}}
@media(max-width:360px){.chooser{grid-template-columns:34px minmax(150px,1fr) 34px}.arrow-btn{width:34px;height:34px}.bubble-text{font-size:10px}.emoji-choice{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,.directory-window{background-image:none}.sprite,.bubble{transition:none}}

/* Local direction: the society's cream stationery and a framed concierge desk. */
.directory-window{background:#fff9f7;border:1px solid var(--line);box-shadow:0 8px 28px #63313b12}
.browser-bar{height:10px;background:var(--wine);border-bottom:3px double #fff0f4}
.directory-header{padding:40px 20px 30px;background:#fff9f7}
.directory-header .eyebrow{letter-spacing:2px}
.directory-nav{background:#f8e8ed}
.directory-nav a{font:italic 16px/22px Georgia,serif}
.announcement{padding:13px 20px;background:#fff9f7;color:var(--muted)}
.directory-main{padding:30px}
.navigator-panel{border:3px double var(--line);background:#fffaf6;box-shadow:4px 4px 0 #eed5db}
.panel-title{padding:13px 20px;background:#f7e8eb;border-bottom:1px solid var(--line);font:italic 19px/1.5 Georgia,serif}
.panel-title span:last-child{align-self:center;letter-spacing:2px}
.scene{grid-template-columns:minmax(180px,36%) minmax(0,1fr);min-height:480px;padding:30px 28px 12px;gap:12px}
.sprite-stage{height:420px}
.sprite{filter:drop-shadow(2px 4px 3px #63313b16)}
.chooser{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}
.arrow-btn{width:36px;height:44px;border:1px solid var(--line);border-radius:0;background:#fff9f7;box-shadow:none;font:20px Georgia,serif}
.arrow-btn:hover{background:#f6e5eb;border-color:var(--wine)}
.arrow-btn:active{transform:translateY(1px)}
.bubble strong{font:normal clamp(20px,2.7vw,29px)/1.15 Georgia,serif}
.destination-emoji{font-size:27px}
.bubble-text{font:italic 13px/1.5 Georgia,serif}
.visit-label{margin-top:13px;font-size:9px;letter-spacing:1.7px}
.emoji-choices{gap:0;margin:12px 22px 0;padding:16px 0;border-top:3px double var(--line)}
.emoji-choice{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;min-height:44px;height:auto;padding:9px 12px;border:0;border-bottom:2px solid transparent;background:transparent;box-shadow:none;font-size:14px;text-decoration:none}
.emoji-choice::after{content:attr(aria-label);font:12px/1.5 Georgia,serif}
.emoji-choice:hover,.emoji-choice[aria-current]{transform:none;background:#f8e8ed;border-color:var(--wine)}
.keyboard-note{margin:0 15px 20px;font:italic 12px/1.6 Georgia,serif}
.directory-footer{padding:26px 15px}
@media(max-width:760px){.directory-main{padding:18px}.scene{padding:22px 14px 10px;grid-template-columns:32% minmax(0,1fr);min-height:360px}.sprite-stage{height:340px}.bubble strong{font-size:22px}.bubble-text{font-size:11px}.emoji-choices{margin-inline:14px}.emoji-choice{padding:8px 10px}}
@media(max-width:520px){.directory-header{padding:30px 15px 24px}.directory-main{padding:14px}.panel-title{padding:11px 14px;font-size:17px}.scene{grid-template-columns:1fr;gap:0;padding:20px 10px 0;min-height:0}.sprite-stage{height:245px}.chooser{grid-template-columns:34px minmax(0,260px) 34px;margin-bottom:-14px}.arrow-btn{width:34px}.bubble strong{font-size:23px}.bubble-text{font-size:11px}.emoji-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;padding:12px 0}.emoji-choice{justify-content:flex-start;padding:9px 8px}.emoji-choice::after{font-size:12px}.visit-label{margin-top:6px}.keyboard-note{display:none}}

.directory-window{background:transparent;border:0;box-shadow:none}
.directory-main{background:#fff9f7}
.directory-footer{background:transparent}
