/* Eddie's original photographs: complete frames, clear captions, quiet controls. */
.fishing-history{scroll-margin-top:34px;border-top:1px solid var(--line)}
.fishing-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:54px;align-items:center;margin-bottom:42px}
.fishing-hero h2{margin:20px 0 24px;font-size:clamp(3rem,5.5vw,6rem);letter-spacing:-.055em;line-height:1.02}
.fishing-hero p:not(.eyebrow){color:var(--muted);max-width:48ch;margin-bottom:15px}
.fishing-hero figure{margin:0}.fishing-hero img{display:block;width:100%;height:auto;border-radius:3px}
.fishing-hero figcaption{font-size:.65rem;color:var(--muted);margin-top:12px}
.fishing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.fishing-listings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;overflow:hidden}
.fishing-listings>a{display:block;padding:28px;text-decoration:none;color:var(--ink);min-width:0}
.fishing-listings>a+a{border-left:1px solid var(--line)}
.fishing-listings>a:hover{background:var(--surface)}
.fishing-listings h3{font-size:1.35rem;margin:16px 0 10px}.fishing-listings p{font-size:.8rem;color:var(--muted)}
.fishing-history-tag{display:inline-block;border:1px solid var(--line);padding:5px 9px;font-size:.6rem;margin-top:20px;border-radius:30px}
.fishing-note{font-size:.68rem;color:var(--muted);margin-top:15px}
.fishing-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:50px}
.fishing-chapters h3{font-size:1.7rem;line-height:1.15;margin:16px 0}.fishing-chapters p:not(.eyebrow){color:var(--muted);font-size:.84rem;line-height:1.7}
.fishing-chapters a{display:block;font-size:.7rem;margin-top:16px}
.fishing-albums{margin-top:40px;border-block:1px solid var(--line);padding:20px 0}
.fishing-albums summary{cursor:pointer;font-size:.9rem}.fishing-albums p{color:var(--muted);font-size:.78rem;margin:20px 0}
.fishing-albums ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fishing-albums a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:var(--ink);font-size:.78rem;padding:15px;border:1px solid var(--line);border-radius:3px}
.fishing-albums a span{font-size:.63rem;color:var(--muted)}
.collection-album-wrap{display:flex;align-items:center;gap:10px;font-size:.7rem}
.collection-album-wrap select{max-width:220px;min-height:44px;padding:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:3px}
.collection-more{text-align:center;margin-top:35px}.collection-more button{min-height:44px;padding:12px 24px;border:1px solid var(--cyan);border-radius:3px;background:transparent;color:var(--ink);cursor:pointer}
.collection-more button[hidden]{display:none}
@media(max-width:800px){.fishing-hero{grid-template-columns:1fr;gap:28px}.fishing-listings,.fishing-chapters{grid-template-columns:1fr}.fishing-listings>a+a{border-left:0;border-top:1px solid var(--line)}.fishing-chapters{gap:26px}.fishing-albums ul{grid-template-columns:1fr}.fishing-albums a{flex-wrap:wrap}.collection-album-wrap{width:100%}.collection-album-wrap select{flex:1;max-width:none}}
.personal-collection{padding-block:90px;scroll-margin-top:28px}
.collection-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}
.collection-intro h2{margin-top:16px}
.collection-intro>p{max-width:42ch;color:var(--muted);font-size:.92rem}
.collection-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-block:22px;border-block:1px solid var(--line);margin-bottom:18px}
.collection-filters{display:flex;flex-wrap:wrap;gap:8px}
.personal-collection [data-collection-filter]{min-height:42px;padding:9px 16px;border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);font-size:.73rem;line-height:1.3}
.personal-collection [data-collection-filter]:hover{border-color:var(--cyan)}
.personal-collection [data-collection-filter].selected{background:var(--cyan);border-color:var(--cyan);color:var(--bg)}
.collection-search-wrap{display:flex;align-items:center;gap:10px;min-width:210px;flex:1;max-width:320px}
.collection-search-wrap label{font-size:.68rem;color:var(--muted)}
#collection-search{min-width:0;width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--ink);font-size:.78rem}
#collection-search::placeholder{color:var(--muted);opacity:1}
.collection-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0 26px}
#collection-status{font-size:.72rem;color:var(--muted);max-width:none}
#collection-present{min-height:44px;padding:10px 16px;border:1px solid var(--cyan);background:transparent;border-radius:3px;color:var(--ink);font-size:.73rem;white-space:nowrap}
#collection-present:hover{background:var(--surface)}
#collection-present:disabled{cursor:default;opacity:.45}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}
.collection-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--line);padding-bottom:22px}
.collection-card[hidden]{display:none}
.collection-open{display:flex;align-items:center;justify-content:center;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--ink);overflow:hidden}
.collection-open img{display:block;width:100%;height:100%;max-height:340px;object-fit:contain;object-position:center}
.collection-open:after{content:'View';position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:2px;background:#061520d9;color:#fff;font-size:.63rem;letter-spacing:.03em;line-height:1.4}
.collection-open:hover{border-color:var(--cyan)}
.collection-open:hover:after{background:#061520}
.collection-card-body{padding-top:17px;display:flex;flex-direction:column;gap:10px;flex:1}
.collection-card-meta{font-size:.58rem;letter-spacing:.11em;text-transform:uppercase;color:var(--cyan);line-height:1.5}
.collection-card h3{font-size:1.3rem;line-height:1.18;margin:0;letter-spacing:-.025em}
.collection-card p{color:var(--muted);font-size:.77rem;line-height:1.7}
.collection-card .collection-project{font-size:.64rem;line-height:1.6;margin-top:auto;padding-top:8px;color:var(--ink)}
.collection-card .collection-credit{font-size:.58rem;line-height:1.5;color:var(--muted)}
.collection-footnote{max-width:90ch;color:var(--muted);font-size:.67rem;line-height:1.7;margin-top:26px}

#collection-viewer{width:min(1440px,96vw);max-width:96vw;height:min(960px,96dvh);max-height:96dvh;margin:auto;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);overflow:hidden;box-shadow:0 30px 100px #0009}
#collection-viewer::backdrop{background:#020b12e8}
#collection-viewer:fullscreen{width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0}
.viewer-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}
.viewer-top{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);min-width:0}
#viewer-count{margin-right:auto;font-size:.69rem;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--muted)}
.viewer-top button,.viewer-controls button,.viewer-controls a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;min-width:44px;padding:9px 13px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);font-size:.73rem;line-height:1.3;text-decoration:none;white-space:nowrap}
.viewer-top button:hover,.viewer-controls button:hover,.viewer-controls a:hover{border-color:var(--cyan)}
.viewer-stage{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:14px;background:#06121b}
#viewer-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.viewer-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;padding:21px 26px 25px;border-top:1px solid var(--line);max-height:35dvh;overflow:auto;overscroll-behavior:contain}
#viewer-meta{font-size:.6rem;text-transform:uppercase;letter-spacing:.11em;color:var(--cyan);margin-bottom:7px;line-height:1.5}
#viewer-title{font-size:1.5rem;line-height:1.15;letter-spacing:-.03em;margin:0 0 10px}
#viewer-caption{font-size:.8rem;color:var(--muted);line-height:1.65;max-width:82ch}
#viewer-credit{font-size:.6rem;color:var(--muted);margin-top:10px;line-height:1.5}
.viewer-controls{display:flex;align-items:flex-start;align-content:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:8px;width:290px}
#viewer-prev,#viewer-next{font-size:1.15rem;padding:6px 10px}
#viewer-play{min-width:78px}
#viewer-play[aria-pressed='true']{border-color:var(--cyan);color:var(--cyan)}
.viewer-controls a{font-size:.65rem}
.viewer-controls [hidden],#viewer-fullscreen[hidden]{display:none!important}
#viewer-close{border-color:var(--cyan)}
.viewer-note{width:100%;font-size:.65rem;line-height:1.5;color:var(--muted);text-align:right}
.personal-about .hero-portrait .portrait-frame{height:auto;aspect-ratio:auto}
.personal-about .hero-portrait img{height:auto;max-height:650px;object-fit:contain}
.personal-about .portrait-frame{background:var(--surface)}
.personal-about .personal-mural{margin-top:18px;border-block:1px solid var(--line);padding-block:28px}
.personal-about .personal-mural img{width:100%;height:auto;max-height:600px;object-fit:contain;background:var(--surface)}
.personal-about .personal-mural figcaption{display:flex;justify-content:space-between;gap:20px;line-height:1.6;font-size:.67rem;margin-top:12px;color:var(--muted)}
html[data-theme='light'] .personal-collection [data-collection-filter].selected{color:#fff}
html[data-theme='light'] .viewer-stage{background:#e4ebee}

@media(min-width:1500px){.collection-open img{max-height:none}}
@media(max-width:1000px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-intro{gap:25px}.viewer-footer{gap:20px}.viewer-controls{width:240px}}
@media(max-width:680px){
 .personal-collection{padding-block:65px}
 .collection-intro{display:block;margin-bottom:26px}.collection-intro>p{margin-top:20px;max-width:55ch}
 .collection-toolbar{gap:16px;padding-block:18px}.collection-filters{gap:6px}
 .personal-collection [data-collection-filter]{padding:8px 12px;font-size:.65rem}
 .collection-search-wrap{max-width:none;flex-basis:100%}
 .collection-grid{gap:27px 16px}.collection-card h3{font-size:1.15rem}.collection-card p{font-size:.73rem}
 .collection-summary{align-items:center}.collection-summary #collection-status{font-size:.65rem}
 #collection-present{font-size:.67rem;padding-inline:12px}
 #collection-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .viewer-top{padding:10px 12px;gap:8px}.viewer-top button{font-size:.65rem;padding-inline:10px}
 .viewer-stage{padding:8px}.viewer-footer{grid-template-columns:1fr;gap:14px;padding:16px 18px 20px;max-height:44dvh}
 #viewer-title{font-size:1.25rem;margin-bottom:8px}#viewer-caption{font-size:.73rem;line-height:1.55}#viewer-credit{font-size:.56rem}
 .viewer-controls{width:100%;justify-content:flex-start;gap:7px}.viewer-controls button,.viewer-controls a{min-height:42px;padding:8px 11px;font-size:.65rem}
 .viewer-note{text-align:left}.personal-about .personal-mural figcaption{display:block}.personal-about .personal-mural figcaption>*+*{display:block;margin-top:5px}
}
@media(max-width:460px){.collection-grid{grid-template-columns:1fr;gap:28px}.collection-open{aspect-ratio:4/3}.collection-open img{max-height:none}.collection-card h3{font-size:1.35rem}.collection-card p{font-size:.78rem}.collection-card-meta{font-size:.61rem}.collection-footnote{font-size:.63rem}.viewer-controls{gap:6px}.viewer-top{padding-inline:10px}.viewer-footer{padding-inline:14px}#viewer-caption{font-size:.71rem}}
@media(prefers-reduced-motion:reduce){.personal-collection *,#collection-viewer *{scroll-behavior:auto;transition:none;animation:none}}
@media print{.collection-toolbar,.collection-summary,.collection-open:after,#collection-viewer{display:none!important}.personal-collection{padding-block:25px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.collection-card{break-inside:avoid}.collection-card-body p,.collection-footnote{font-size:8pt}.collection-card h3{font-size:13pt}.personal-about .personal-mural{display:none}}

/* Personal chapter above the archive. All photographs keep their geometry. */
.personal-coast{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;padding-block:88px;border-bottom:1px solid var(--line);align-items:center}
.personal-coast figure>img{width:100%;max-height:610px;object-fit:contain;background:var(--surface)}
.personal-coast-copy h2{margin:18px 0 26px}
.personal-coast-copy>p:not(.eyebrow){color:var(--muted);font-size:.95rem;margin-bottom:18px;max-width:48ch}
.personal-coast-copy>img{margin-top:32px;width:100%;height:auto;max-height:260px;object-fit:contain;object-position:left;background:var(--surface)}
.collection-related{font-size:.67rem;color:var(--cyan);margin-top:7px;align-self:flex-start;text-decoration:none;border-bottom:1px solid var(--line)}
.collection-expand{display:none}
.gaylord-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:58px;align-items:start}
.gaylord-account blockquote{margin:20px 0 26px;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.4;letter-spacing:-.03em}
.gaylord-account>p{font-size:.88rem;color:var(--muted);margin-bottom:20px}
.gaylord-account .event-evidence{font-size:.68rem;border-top:1px solid var(--line);padding-top:20px}
.event-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px}
.gaylord-layout figure img{width:100%;height:auto;object-fit:contain;background:var(--surface)}
.gaylord-layout figure>a{text-decoration:none;display:block}
.gaylord-layout figure .button{margin-top:16px}
.gaylord-layout figcaption{font-size:.66rem;line-height:1.7}
@media(max-width:780px){.personal-coast{grid-template-columns:1fr;gap:30px;padding-block:55px}.personal-coast figure>img{max-height:530px}.personal-coast-copy>img{max-height:300px}.gaylord-layout{grid-template-columns:1fr;gap:32px}.gaylord-story .section-heading{display:block}.gaylord-story .section-lead{margin-top:24px}.event-links{flex-direction:column;align-items:flex-start}}
@media print{.personal-coast,.gaylord-story{break-inside:avoid}.event-links{display:none}}

.event-table-wrap{overflow-x:auto}.event-table{border-collapse:collapse;width:100%;font-size:.82rem;text-align:left}.event-table th,.event-table td{padding:24px 20px;border-bottom:1px solid var(--line);vertical-align:top}.event-table thead th{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding-top:0}.event-table tbody th{font-weight:600;width:25%;font-size:.95rem}.event-table tbody th span{display:block;font-weight:400;font-size:.75rem;color:var(--muted);margin-top:8px}.event-table td strong{font-size:.88rem}.event-table td p{color:var(--muted);margin-top:8px;max-width:45ch}.event-table a{display:block;font-size:.7rem;margin-top:12px;color:var(--cyan);text-decoration:none}.event-table td:last-child{width:29%}@media(max-width:680px){.event-table{min-width:620px}.event-table th,.event-table td{padding:18px 12px}.event-history .section-heading{display:block}.event-history .section-lead{margin-top:20px}}

@media(max-width:680px){.event-table{min-width:0;display:block}.event-table thead{display:none}.event-table tbody,.event-table tr{display:block}.event-table tr{padding:20px 0;border-bottom:1px solid var(--line)}.event-table th,.event-table td{display:block;width:100%!important;border:0;padding:8px 0}.event-table tbody th{font-size:1.05rem}.event-table td p{max-width:none}.event-table td:last-child{padding-bottom:10px}}

.event-project-feature{margin-bottom:36px}.event-project-feature>img{width:100%;height:auto;max-height:560px;object-fit:contain;background:var(--surface)}.event-project-feature figcaption{font-size:.74rem;line-height:1.7;margin-top:14px}.event-project-feature strong{display:block;color:var(--ink);font-size:.9rem}.event-project-feature a{color:var(--cyan);margin-left:8px}

.personal-soundtrack{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:60px;border-bottom:1px solid var(--line);align-items:center}.personal-soundtrack h2{font-size:clamp(2rem,3.7vw,3.5rem);margin:16px 0}.personal-faith{color:var(--muted);font-size:1rem;line-height:1.7}.soundtrack-player h3{font-size:1.5rem;margin:12px 0 4px}.soundtrack-player>p:not(.eyebrow){font-size:.75rem;color:var(--muted)}.soundtrack-player iframe{display:block;border:0;border-radius:12px;margin:17px 0;width:100%;color-scheme:normal}.trusted-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.trusted-pair figure{margin:0}.trusted-pair img{width:100%;height:420px;object-fit:contain;background:var(--surface);border:1px solid var(--line)}.trusted-pair figcaption{font-size:.8rem;line-height:1.7}.trusted-pair strong{display:block;color:var(--ink);font-size:.95rem}.trusted-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
@media(max-width:780px){.personal-soundtrack{grid-template-columns:1fr;gap:30px;padding-block:40px}.trusted-pair{grid-template-columns:1fr}.trusted-pair img{height:400px}.trusted-actions .button{width:100%}}
@media print{.soundtrack-player iframe{display:none}}

.designer-restart{margin-top:10px;font-size:.9rem;color:var(--muted)}.dragon-workstation{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:50px;padding-top:50px}.dragon-workstation>img{width:100%;height:360px;object-fit:contain}.dragon-workstation figcaption{font-size:.85rem;line-height:1.7}.dragon-workstation strong{display:block;font-size:2rem;letter-spacing:-.035em;color:var(--ink);margin-bottom:12px}.dragon-workstation span{display:block;color:var(--muted)}.dragon-workstation p{font-size:1rem;margin-top:15px;color:var(--ink)}.life-story-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:30px 48px}.life-story-list li{border-top:1px solid var(--line);padding-top:22px}.life-story-list h3{font-size:1.4rem;margin:9px 0 16px}.life-story-list p{font-size:.87rem;color:var(--muted);line-height:1.8}.life-story-list .story-era{color:var(--cyan);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:780px){.dragon-workstation,.life-story-list{grid-template-columns:1fr;gap:20px}.dragon-workstation>img{height:310px}.dragon-workstation strong{font-size:1.8rem}}

.personal-soundtrack{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:56px;padding-bottom:56px}.personal-soundtrack .eyebrow{color:var(--cyan)}.personal-soundtrack h2{letter-spacing:-.055em}.personal-faith{font-style:italic}

.capture-flow{display:flex;align-items:center;gap:24px;margin:0 0 48px;padding:28px;border:1px solid var(--line)}.capture-flow div{flex:1}.capture-flow strong{color:var(--cyan)}.capture-flow p{font-size:.85rem;color:var(--muted)}@media(max-width:650px){.capture-flow{display:block}.capture-flow>span{display:block;margin:15px 0;transform:rotate(90deg);width:1em}}

/* Native Spotify players, with more listening tucked below the featured track. */
.personal-soundtrack{row-gap:28px;scroll-margin-top:100px}
.soundtrack-more{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:22px}
.soundtrack-more summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;cursor:pointer;list-style:none;color:var(--ink)}
.soundtrack-more summary::-webkit-details-marker{display:none}
.soundtrack-more summary strong{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}
.soundtrack-more summary span span{display:block;margin-top:3px;font-size:.73rem;color:var(--muted);line-height:1.6}
.soundtrack-more summary::after{content:'+';flex:none;color:var(--cyan);font-size:1.6rem;line-height:1}
.soundtrack-more[open] summary::after{content:'−'}
.soundtrack-extra-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px}
.soundtrack-extra{min-width:0;padding-top:18px;border-top:1px solid var(--line)}
.soundtrack-extra h3{font-size:1.25rem;margin-top:0}
.soundtrack-extra-track{grid-column:1/-1}
@media(max-width:780px){.soundtrack-extra-grid{grid-template-columns:1fr;gap:24px}.soundtrack-more summary{gap:12px}.soundtrack-more summary span span{font-size:.7rem}}
@media print{.soundtrack-more{display:none}}

/* Dublink and the GoEV films follow the Doors album in reading and visual order. */
.dublink-feature{grid-column:1/-1;padding-top:28px}
.dublink-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center}
.dublink-copy h3{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;margin:12px 0 18px}
.dublink-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.8;color:var(--muted);max-width:48ch}
.dublink-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:24px}
.dublink-player{min-width:0}
.dublink-player iframe{display:block;width:100%;border:0;border-radius:12px;color-scheme:normal}
.dublink-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.dublink-video{min-width:0;margin:0}
.dublink-video iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.dublink-video figcaption{margin-top:16px}
.dublink-video h4{font-size:1rem;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}
.dublink-video p{font-size:.71rem;line-height:1.7;margin:7px 0 14px;color:var(--muted)}
.dublink-video p a{color:var(--cyan)}
.dublink-video .text-link{display:inline-block;font-size:.72rem}
@media(max-width:780px){.dublink-intro{grid-template-columns:1fr;gap:24px}.dublink-copy>p:not(.eyebrow){max-width:none}.dublink-videos{grid-template-columns:1fr;gap:30px}.dublink-video h4{font-size:1.1rem}.dublink-video p{font-size:.77rem}}

/* Eddie's saved albums: original artwork, decade browsing, one selected player. */
.music-collection{grid-column:1/-1;padding-top:28px;scroll-margin-top:100px}
.music-collection [hidden]{display:none!important}
.music-collection-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.music-collection-header h3{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;margin:0 0 12px}
.music-collection-header p{font-size:.85rem;line-height:1.7;color:var(--muted);max-width:none}
.music-collection-header .music-collection-date{font-size:.67rem;margin-top:9px}
.music-profile-link{flex:none;font-size:.75rem;margin-top:5px;min-height:44px;display:inline-flex;align-items:center}
.music-collection-controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;padding-block:20px;border-block:1px solid var(--line)}
.music-decade-filters{display:flex;flex-wrap:wrap;gap:7px}
.music-decade-filters button{min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--ink);font-size:.73rem;line-height:1.3;cursor:pointer}
.music-decade-filters button:hover{border-color:var(--cyan)}
.music-decade-filters button[aria-pressed="true"]{background:var(--cyan);border-color:var(--cyan);color:var(--bg)}
.music-search-wrap{display:grid;gap:7px;flex:1;min-width:210px;max-width:300px;font-size:.68rem;color:var(--muted)}
#music-collection-search{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:.78rem}
#music-collection-search::placeholder{color:var(--muted);opacity:1}
.music-collection-state{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
#music-collection-status{font-size:.73rem;line-height:1.6;color:var(--muted);max-width:none;margin:18px 0}
.music-collection-retry{padding:9px 14px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:.75rem;cursor:pointer}
.music-album-player{margin:6px 0 28px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);scroll-margin-top:100px}
.music-album-player-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}
.music-album-player-heading h4{font-size:1.2rem;line-height:1.3;letter-spacing:-.02em;margin:7px 0;color:var(--ink)}
#music-album-player-meta{font-size:.75rem;line-height:1.6;color:var(--muted);max-width:none}
#music-album-player-close{flex:none;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:.75rem;cursor:pointer}
#music-album-player-close span{font-size:1rem;margin-left:5px}
#music-album-embed iframe{display:block;width:100%;height:352px;border:0;border-radius:12px;color-scheme:normal}
.music-album-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px}
.music-album-card{display:flex;flex-direction:column;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.music-album-card:has(.music-album-select[aria-pressed="true"]){border-color:var(--cyan)}
.music-album-select{display:block;width:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.music-album-cover{display:grid;position:relative;aspect-ratio:1;overflow:hidden;border-radius:3px;background:var(--bg)}
.music-album-cover>img,.music-cover-fallback{grid-area:1/1;width:100%;height:100%;min-width:0;min-height:0}
.music-album-cover>img{display:block;object-fit:contain}
.music-cover-fallback{display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--muted);font-size:.7rem;line-height:1.5}
.music-album-action{position:absolute;inset:auto 7px 7px;padding:7px 9px;border-radius:3px;background:rgba(8,23,34,.92);color:#fff;font-size:.66rem;line-height:1.3;text-align:center}
.music-album-select:hover .music-album-action,.music-album-select[aria-pressed="true"] .music-album-action{background:var(--cyan);color:var(--bg)}
.music-album-info{display:grid;gap:5px;margin-top:12px;overflow-wrap:anywhere}
.music-album-title{font-size:.81rem;font-weight:600;line-height:1.45}
.music-album-artist{font-size:.72rem;line-height:1.5;color:var(--muted)}
.music-album-year{font-size:.67rem;line-height:1.5;color:var(--muted)}
.music-album-card .music-album-note{font-size:.64rem;line-height:1.6;color:var(--muted);margin:9px 0 0;overflow-wrap:anywhere}
.music-album-card>.text-link{display:inline-flex;align-items:center;min-height:44px;align-self:flex-start;font-size:.68rem;margin-top:auto;padding-top:8px}
.music-collection-more{display:flex;justify-content:center;margin-top:26px}
#music-collection-show-more{min-height:46px;padding:11px 22px;border:1px solid var(--cyan);border-radius:4px;background:transparent;color:var(--ink);font-size:.78rem;cursor:pointer}
#music-collection-show-more:hover,.music-collection-retry:hover,#music-album-player-close:hover{border-color:var(--cyan);color:var(--cyan)}
.music-collection-noscript{font-size:.8rem;color:var(--muted)}
@media(max-width:1100px){.music-album-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.music-collection-header{display:block}.music-profile-link{margin-top:12px}.music-collection-controls{align-items:stretch}.music-search-wrap{flex-basis:100%;max-width:none}.music-album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px}.music-album-player{padding:14px}.music-album-player-heading{gap:12px}.music-album-player-heading h4{font-size:1.05rem}}
@media(max-width:560px){.music-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.music-album-card{padding:8px}.music-decade-filters{gap:6px}.music-decade-filters button{padding-inline:12px}.music-album-title{font-size:.8rem}.music-album-action{inset:auto 5px 5px;font-size:.63rem}.music-album-player{padding:12px}.music-album-player-heading{flex-wrap:wrap}}

/* Dublink leads the music section; favorites and releases share one player. */
.personal-soundtrack>.dublink-feature{grid-column:1/-1;min-width:0;padding:0 0 36px;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.dublink-feature [hidden]{display:none!important}
.dublink-copy h2{font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.12;margin:12px 0 18px}
.dublink-favorites{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);min-width:0}
.dublink-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.dublink-list-heading h3{font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2;margin:10px 0 0;letter-spacing:-.035em}
.dublink-count{font-size:.75rem;color:var(--muted);white-space:nowrap}
.dublink-load-state{font-size:.8rem;line-height:1.6;color:var(--muted)}
.dublink-load-state:has(>p[hidden]):not(:has(>button:not([hidden]))){display:none}
.dublink-song-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;padding:0;margin:20px 0 0}
.dublink-song{display:flex;align-items:center;gap:12px;min-width:0;border-bottom:1px solid var(--line);padding-block:8px}
.dublink-song-select{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:62px;padding:6px 4px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.dublink-song-select:hover,.dublink-song-select[aria-pressed="true"]{border-color:var(--cyan);background:var(--surface)}
.dublink-song-number{flex:none;font-size:.7rem;line-height:1;color:var(--cyan);font-variant-numeric:tabular-nums}
.dublink-song-cover{flex:none;width:44px;height:44px;object-fit:cover;border-radius:3px}
.dublink-song-copy{display:block;min-width:0;flex:1}
.dublink-song-title{display:block;font-size:.85rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.dublink-song-meta{display:block;margin-top:4px;font-size:.65rem;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.dublink-song-duration{flex:none;font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}
.dublink-song>.text-link{flex:none;display:inline-flex;align-items:center;min-height:44px;font-size:.67rem}
.dublink-outline-button{min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:.75rem;cursor:pointer}
.dublink-outline-button:hover{border-color:var(--cyan);color:var(--cyan)}
.dublink-favorites-more{margin-top:20px}
.dublink-selection{padding:20px;margin:20px 0;border:1px solid var(--line);border-radius:7px;background:var(--surface);scroll-margin-top:100px}
.dublink-selection-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px}
.dublink-selection-heading h4{margin:8px 0 5px;font-size:1.2rem;line-height:1.3;overflow-wrap:anywhere}
.dublink-selection-heading p:not(.eyebrow){font-size:.75rem;line-height:1.5;color:var(--muted)}
.dublink-selection-heading>button{flex:none}
.dublink-selection iframe{display:block;border:0;border-radius:12px;width:100%;color-scheme:normal}
.dublink-catalog{margin-top:32px;padding-top:22px;border-top:1px solid var(--line);min-width:0}
.dublink-catalog>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;cursor:pointer;list-style:none;color:var(--ink)}
.dublink-catalog>summary::-webkit-details-marker{display:none}
.dublink-catalog>summary strong{display:block;font-size:1.1rem;font-weight:600;letter-spacing:-.02em}
.dublink-catalog>summary span span{display:block;margin-top:4px;font-size:.74rem;line-height:1.5;color:var(--muted)}
.dublink-catalog>summary::after{content:'+';flex:none;font-size:1.6rem;line-height:1;color:var(--cyan)}
.dublink-catalog[open]>summary::after{content:'−'}
.dublink-catalog-content{padding-top:24px}
.dublink-catalog-note{font-size:.85rem;line-height:1.7;color:var(--muted)}
.dublink-catalog-date{font-size:.67rem;color:var(--muted);margin-top:7px}
.dublink-catalog-controls{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-block:20px;margin-top:20px;border-block:1px solid var(--line)}
.dublink-type-filters{display:flex;flex-wrap:wrap;gap:7px}
.dublink-type-filters button{min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--ink);font-size:.73rem;line-height:1.3;cursor:pointer}
.dublink-type-filters button:hover{border-color:var(--cyan)}
.dublink-type-filters button[aria-pressed="true"]{background:var(--cyan);border-color:var(--cyan);color:var(--bg)}
.dublink-search{display:block;flex:1 1 270px;max-width:340px;min-width:0}
.dublink-search>span{display:block;font-size:.68rem;color:var(--muted);margin-bottom:7px}
.dublink-search input{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);font:inherit;font-size:.78rem}
.dublink-search input::placeholder{color:var(--muted);opacity:1}
.dublink-results{margin:18px 0;font-size:.7rem;color:var(--muted);line-height:1.5}
.dublink-release-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px;align-items:stretch}
.dublink-release-card{display:flex;flex-direction:column;min-width:0;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
.dublink-release-select{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.dublink-release-select:hover .dublink-release-title{color:var(--cyan)}
.dublink-release-select[aria-pressed="true"] .dublink-release-cover{outline:2px solid var(--cyan);outline-offset:3px}
.dublink-release-cover{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:3px;background:var(--bg)}
.dublink-release-cover img{position:relative;display:block;width:100%;height:100%;object-fit:cover}
.dublink-cover-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--muted);font-size:.75rem;text-align:center}
.dublink-release-action{position:absolute;inset:auto 8px 8px;display:block;border-radius:2px;padding:7px 8px;background:rgba(8,23,34,.88);color:#fff;font-size:.65rem;text-align:center}
.dublink-release-info{display:block;padding-top:12px}
.dublink-release-title{display:block;font-size:.83rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.dublink-release-artist{display:block;margin-top:6px;font-size:.7rem;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.dublink-release-meta{display:block;margin-top:6px;font-size:.65rem;line-height:1.5;color:var(--muted)}
.dublink-release-card>.text-link{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;font-size:.68rem;margin-top:auto;padding-top:8px}
.dublink-release-more{display:flex;justify-content:center;margin-top:26px}
.dublink-catalog-link{display:inline-flex;align-items:center;min-height:44px;margin-top:18px;font-size:.75rem}
@media(max-width:1100px){.dublink-release-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dublink-song-list{gap:0 20px}.dublink-song-select{gap:8px}.dublink-song-duration{display:none}}
@media(max-width:780px){.dublink-list-heading{align-items:flex-start;gap:14px;flex-direction:column}.dublink-song-list{grid-template-columns:1fr}.dublink-song-duration{display:block}.dublink-release-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px}.dublink-catalog-controls{align-items:stretch}.dublink-search{flex-basis:100%;max-width:none}.dublink-selection{padding:14px}.dublink-selection-heading{gap:12px}.dublink-selection-heading h4{font-size:1.05rem}}
@media(max-width:560px){.dublink-release-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.dublink-release-card{padding:8px}.dublink-type-filters{gap:6px}.dublink-type-filters button{padding-inline:12px}.dublink-release-title{font-size:.8rem}.dublink-release-action{inset:auto 5px 5px;font-size:.63rem}.dublink-selection{padding:12px}.dublink-selection-heading{flex-wrap:wrap}.dublink-song{gap:8px}.dublink-song-number{font-size:.65rem}.dublink-song-cover{width:38px;height:38px}.dublink-song-title{font-size:.81rem}.dublink-song-meta{font-size:.63rem}.dublink-song-duration{font-size:.66rem}}

/* Eddie’s personal message and original Doors player open the page. */
.personal-opening{border-top:0;scroll-margin-top:0}
.personal-opening .personal-light{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:500;line-height:1.65;max-width:44ch;margin:20px 0;color:var(--ink)}
.personal-opening .personal-message-copy,.personal-opening .soundtrack-player{min-width:0}

/* Eddie's dated music pick, above the personal message. */
.todays-jam{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:36px;align-items:center;padding-block:28px;border-bottom:1px solid var(--line);scroll-margin-top:150px}
.todays-jam-copy{min-width:0}.todays-jam .eyebrow{color:var(--cyan);line-height:1.7}.todays-jam .eyebrow time{white-space:nowrap}
.todays-jam h2{font-size:clamp(1.55rem,2.5vw,2.15rem);letter-spacing:-.035em;line-height:1.15;margin:10px 0 8px}
.todays-jam-artist{font-size:.85rem;line-height:1.6;color:var(--muted);margin:0 0 12px}
.todays-jam iframe{display:block;width:100%;min-width:0;height:152px;border:0;border-radius:12px;color-scheme:normal}
@media(max-width:780px){.todays-jam{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:24px}}
@media print{.todays-jam iframe{display:none}.todays-jam{display:block}}
