/* Memories extends the current V3.3 roadbook. */
.top nav a.memories-nav{color:var(--navy);font-weight:850}
#memories{scroll-margin-top:90px;background:#edf3f4;border-top:1px solid #d2dedf;border-bottom:1px solid #d2dedf}
.memories-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px}
.memories-heading h2{margin:0;font:400 clamp(46px,5vw,66px)/1 Georgia,serif;letter-spacing:-.04em}
.memories-heading .eyebrow{font-size:12px;margin-bottom:14px}
.memories-heading p:not(.eyebrow){margin:15px 0 0;font-size:16px;line-height:1.65;color:#516662;max-width:580px}
.memories-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}
.memory-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 19px;border:1px solid transparent;border-radius:8px;font-size:15px;line-height:1.35;font-weight:750;text-decoration:none;text-align:center}
.memory-button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;flex:0 0 auto}
.memory-view{background:var(--navy);color:#fff}.memory-view:hover{background:#183e4d}
.memory-upload{background:#fff;color:var(--accent);border-color:#cfa88b}.memory-upload:hover{background:#fff4ea}
.memory-button:focus-visible,.memory-refresh:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.memory-album{overflow:hidden;border:1px solid #c5d5d7;border-radius:12px;background:#fff;box-shadow:0 14px 40px rgba(30,40,36,.06)}
.memory-album-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #dce4e4;background:#fff}
.memory-album-bar span{font-size:14px;font-weight:750;color:#335854}
.memory-refresh{background:transparent;border:1px solid #ccd9d9;border-radius:6px;padding:8px 12px;min-height:40px;color:var(--navy);font-size:14px;cursor:pointer}
.memory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:20px}
.memory-tile{position:relative;display:block;padding:0;aspect-ratio:1;border:1px solid #d2dedf;border-radius:10px;overflow:hidden;background:#e6efed;cursor:pointer}
.memory-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
.memory-tile:hover img{transform:scale(1.035)}
.memory-tile-caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:30px 10px 10px;color:white;font-size:13px;font-weight:700;text-align:left}
.memory-tile.unavailable .memory-tile-caption{background:transparent;color:var(--navy);top:0;display:grid;place-items:center;padding:16px;text-align:center}
.memory-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.memory-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}.memory-meta #memory-status{font-size:13px;font-weight:400;color:#516662}
.memory-empty{grid-column:1/-1;padding:32px 12px;text-align:center;color:#516662}
.memory-lightbox{max-width:min(1080px,94vw);width:100%;max-height:92dvh;padding:18px;border:1px solid #d2dedf;border-radius:12px;background:var(--panel);color:var(--ink)}
.memory-lightbox::backdrop{background:rgba(8,19,23,.85)}
.memory-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;font-size:16px}
.memory-lightbox img{display:block;max-width:100%;max-height:65dvh;margin:0 auto;object-fit:contain}
.memory-lightbox-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:14px;flex-wrap:wrap;font-size:14px}
.memory-lightbox-controls button,.memory-lightbox-bar button{min-width:44px;min-height:44px;border:1px solid #ccd9d9;border-radius:6px;background:white;color:var(--navy);font:inherit;cursor:pointer}
.memory-lightbox button:disabled{opacity:.35;cursor:default}.memory-lightbox button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.memory-lightbox a{color:var(--navy)}
.memory-help{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;margin:18px 0 0;color:#516662;font-size:14px;line-height:1.65}
.memory-help p{margin:0;max-width:720px}.memory-help a{color:var(--navy)}
@media(max-width:1100px){.top .wrap{flex-wrap:wrap;padding-top:12px;padding-bottom:10px}.top nav{display:flex;order:3;width:100%;overflow-x:auto;gap:24px;padding:3px 0}.top nav a{white-space:nowrap;display:inline-flex;align-items:center;min-height:36px;font-size:14px}.memories-heading{align-items:flex-start;flex-direction:column;gap:22px}#memories{scroll-margin-top:130px}}
@media(max-width:940px){.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.memories-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px}.memory-button{padding:12px 10px;font-size:14px}.memory-album-bar{padding:12px;align-items:flex-start}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.memory-help{gap:8px}.memories-heading h2{font-size:48px}}
@media(max-width:380px){.memories-actions{grid-template-columns:1fr}}
@media print{#memories{break-before:page}.memory-album{display:none}.top{position:static}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
