body{margin:0}
a{color:#8a5a8c}a:hover{color:#4f1c47}
.w-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#2b1427;transition:background .2s}
.w-icon:hover{background:#ece0ec;color:#2b1427}
.w-btn{display:inline-flex;align-items:center;gap:14px;min-height:50px;padding:0 28px;border-radius:999px;background:#8a5a8c;color:#ffffff;font-family:'Fraunces',serif;font-size:17px;text-decoration:none;transition:background .2s,transform .2s}
.w-btn:hover{background:#6c3f6e;color:#ffffff;transform:translateY(-2px)}
.w-tile{cursor:zoom-in;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.w-tile:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 30px 40px -24px rgba(43,20,39,.5)}
.w-round{width:52px;height:52px;border-radius:50%;border:0;background:#f7f2f6;color:#2b1427;font-family:'Fraunces',serif;font-size:24px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}
.w-round:hover{background:#e7a0ec}
.w-pop{animation:w-pop .4s cubic-bezier(.2,.9,.3,1.15) both}
@keyframes w-pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.w-root *{animation:none !important;transition:none !important}}

/* added for the static site */
[hidden]{display:none!important}

/* The gallery wall: each picture framed and hung, as on the home page */
.g-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:72px 44px;align-items:start;justify-items:center;padding-top:30px}
.g-hang{width:100%;margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;transform:rotate(var(--r));transform-origin:50% -26px}
.g-frame{all:unset;box-sizing:border-box;position:relative;display:block;width:min(100%, calc(250px * (var(--ar)) + 42px));cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.g-nail{position:absolute;left:50%;top:-34px;width:42%;height:38px;transform:translateX(-50%);overflow:visible;pointer-events:none}
.g-frame-in{display:block;padding:14px;border:7px solid #3a2f38;border-radius:3px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 18px 26px -14px rgba(38,35,53,.55),0 3px 6px rgba(38,35,53,.15);transition:box-shadow .3s}
.g-frame-in{box-sizing:border-box}
.g-frame-in img{display:block;width:100%;height:auto;aspect-ratio:var(--ar)}
.g-frame:hover .g-frame-in{box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 26px 34px -16px rgba(38,35,53,.6),0 3px 6px rgba(38,35,53,.15)}
.g-hang:hover,.g-hang:focus-within{animation:g-swing 1.1s cubic-bezier(.3,1.2,.5,1)}
@keyframes g-swing{0%{transform:rotate(var(--r))}25%{transform:rotate(calc(var(--r) * -1.8))}50%{transform:rotate(calc(var(--r) * 1.2))}75%{transform:rotate(calc(var(--r) * -.5))}100%{transform:rotate(var(--r))}}
.g-frame:focus-visible .g-frame-in{outline:3px solid #a85565;outline-offset:4px}
.g-plaque{margin:14px auto 0;padding:4px 14px 5px;max-width:100%;box-sizing:border-box;background:#fffdf9;border:1px solid #d9cfd4;border-radius:3px;box-shadow:0 2px 4px rgba(38,35,53,.08);text-align:center;line-height:1.15}
.g-pt{font-family:'Fraunces',serif;font-size:18px;color:#2b1427}
.g-pn{display:block;font-family:'Caveat',cursive;font-size:19px;color:#6b4a66}
@media (max-width:560px){.g-wall{grid-template-columns:1fr 1fr;gap:56px 18px}.g-frame-in{padding:7px;border-width:5px}.g-frame{width:min(100%, calc(170px * (var(--ar)) + 24px))}.g-pt{font-size:15px}.g-pn{font-size:16px}}

/* The viewer */
.g-lb{position:fixed;inset:0;z-index:50;background:rgba(43,20,39,.93);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box;gap:16px}
.g-lb-pic{border-radius:6px;padding:20px;box-sizing:border-box;max-width:min(1100px,100%);max-height:72vh;display:flex;align-items:center;justify-content:center;border:8px solid #3a2f38}
.g-lb-pic img{max-width:100%;max-height:calc(72vh - 56px);width:auto;height:auto;display:block}
.g-lb-cap{margin:0;color:#f7f2f6;font-size:24px;text-align:center}
.g-lb-note{font-family:'Caveat',cursive;color:#e7a0ec}
.g-lb-pos{display:block;font-size:14px;color:#cbb8c8;margin-top:2px}
.g-lb-ctl{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.g-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;background:#f7f2f6;color:#2b1427;font-family:'Fraunces',serif;font-size:17px;cursor:pointer;transition:background .2s}
.g-btn span{font-size:22px;line-height:1}
.g-btn-x span{font-size:15px}
.g-btn:hover{background:#e7a0ec}
.g-btn:focus-visible{outline:3px solid #e7a0ec;outline-offset:3px}
@media (max-width:560px){.g-btn{padding:0 14px;font-size:16px}.g-lb-pic{padding:10px;border-width:5px}}
