:root{
    --swlc-bg:#080705;
    --swlc-panel:#0e0c09;
    --swlc-panel-2:#15110c;
    --swlc-text:#eee7dc;
    --swlc-muted:#aaa195;
    --swlc-gold:#c7a65a;
    --swlc-gold-soft:#e3ca8b;
    --swlc-line:rgba(199,166,90,.24);
    --swlc-red:#8f171d;
    --swlc-red-hover:#b82029;
}
.swlc-library-page,.swlc-single{background:var(--swlc-bg);color:var(--swlc-text);min-height:70vh}
.swlc-shell{width:min(1420px,calc(100% - 42px));margin:0 auto}
.swlc-hero{padding:92px 0 68px;text-align:center;background:radial-gradient(circle at 50% 10%,rgba(110,25,29,.22),transparent 40%),linear-gradient(180deg,#0d0908,#080705);border-bottom:1px solid var(--swlc-line)}
.swlc-eyebrow{margin:0 0 13px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--swlc-gold)}
.swlc-hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,5vw,5.2rem);line-height:.98;letter-spacing:.04em;color:var(--swlc-gold-soft)}
.swlc-intro{max-width:780px;margin:24px auto 34px;color:#c8c0b5;font-size:1.04rem;line-height:1.75}
.swlc-search-label{display:block;margin-bottom:10px;color:var(--swlc-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}
.swlc-search{width:min(780px,100%);padding:17px 20px!important;border:1px solid var(--swlc-line)!important;background:#0e0c09!important;color:var(--swlc-text)!important;border-radius:0!important;box-shadow:none!important}
.swlc-search:focus{border-color:var(--swlc-gold)!important;outline:1px solid var(--swlc-gold)}
.swlc-section{padding:70px 0}
.swlc-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}
.swlc-heading h2,.swlc-legal h2,.swlc-content h2,.swlc-rights h2,.swlc-reader h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:500;color:var(--swlc-gold-soft)}
.swlc-heading p{color:var(--swlc-muted)}
.swlc-heading strong{color:var(--swlc-gold);font-weight:500}
.swlc-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;margin:28px 0 30px}
.swlc-filters label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--swlc-muted)}
.swlc-filters select{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid var(--swlc-line);background:#0d0b08;color:var(--swlc-text)}
.swlc-filters button{align-self:end;min-height:42px;padding:0 18px;border:1px solid var(--swlc-line);background:transparent;color:var(--swlc-gold-soft);cursor:pointer}
.swlc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.swlc-card{display:flex;flex-direction:column;min-width:0;background:var(--swlc-panel);border:1px solid var(--swlc-line);transition:transform .2s,border-color .2s}
.swlc-card:hover{transform:translateY(-3px);border-color:rgba(199,166,90,.58)}
.swlc-card[hidden]{display:none!important}
.swlc-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;background:#090806;overflow:hidden;border-bottom:1px solid var(--swlc-line)}
.swlc-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.swlc-card:hover .swlc-cover img{transform:scale(1.018)}
.swlc-cover-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:25px;text-align:center;color:var(--swlc-gold);font-family:Georgia,serif;letter-spacing:.1em;line-height:1.7;background:radial-gradient(circle,rgba(199,166,90,.1),transparent 56%),#090806}
.swlc-card-body{display:flex;flex:1;flex-direction:column;padding:22px}
.swlc-license{display:inline-block;align-self:flex-start;margin-bottom:14px;color:var(--swlc-gold);font-size:.66rem;letter-spacing:.14em}
.swlc-card h3{margin:0 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:1.26rem;line-height:1.2;font-weight:500}
.swlc-card h3 a{color:var(--swlc-text);text-decoration:none}
.swlc-card h3 a:hover{color:var(--swlc-gold-soft)}
.swlc-author{margin:0 0 16px;color:#c4b7a5;font-size:.9rem}
.swlc-meta{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 16px}
.swlc-meta div{display:flex;flex-direction:column}
.swlc-meta dt{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#7f786e}
.swlc-meta dd{margin:2px 0 0;color:#d8d0c4;font-size:.83rem}
.swlc-category{display:inline-block;align-self:flex-start;padding:7px 10px;border:1px solid var(--swlc-line);color:var(--swlc-gold-soft);font-size:.69rem;line-height:1.2}
.swlc-description{margin:16px 0 20px;color:var(--swlc-muted);font-size:.88rem;line-height:1.65}
.swlc-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:1px solid rgba(199,166,90,.14)}
.swlc-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:39px;padding:9px 12px!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.065em;font-size:.72rem;line-height:1.15;text-align:center;box-sizing:border-box}
.swlc-view{border:1px solid var(--swlc-gold)!important;background:transparent!important;color:var(--swlc-gold-soft)!important}
.swlc-view:hover{background:var(--swlc-gold-soft)!important;color:#090806!important}
.swlc-download{border:1px solid var(--swlc-red)!important;background:var(--swlc-red)!important;color:#fff!important}
.swlc-download:hover{border-color:var(--swlc-red-hover)!important;background:var(--swlc-red-hover)!important;color:#fff!important}
.swlc-disabled{border:1px solid rgba(199,166,90,.18)!important;background:transparent!important;color:#777168!important;cursor:default}
.swlc-empty{padding:70px 20px;text-align:center;border:1px solid var(--swlc-line);color:var(--swlc-muted)}
.swlc-legal{padding:62px 0;background:#0b0907;border-top:1px solid var(--swlc-line)}
.swlc-legal p{max-width:850px;color:var(--swlc-muted);line-height:1.75}
.swlc-single{padding:62px 0 90px}
.swlc-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:34px;color:var(--swlc-muted);font-size:.84rem}
.swlc-breadcrumb a{color:var(--swlc-gold-soft)}
.swlc-single-hero{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:58px;align-items:start}
.swlc-single-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;background:#090806;border:1px solid var(--swlc-line);overflow:hidden}
.swlc-single-cover img{width:100%;height:100%;object-fit:cover}
.swlc-single-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4.7rem);line-height:1.02;color:var(--swlc-gold-soft);font-weight:500;margin:22px 0 15px}
.swlc-single-author{color:#c4b7a5;font-size:1.05rem}
.swlc-single-meta{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:16px;margin:30px 0;padding:22px 0;border-top:1px solid var(--swlc-line);border-bottom:1px solid var(--swlc-line)}
.swlc-single-meta div{display:flex;flex-direction:column}
.swlc-single-meta dt{color:#7f786e;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}
.swlc-single-meta dd{margin:5px 0 0;color:var(--swlc-text)}
.swlc-single-summary{max-width:820px;color:var(--swlc-muted);line-height:1.75}
.swlc-single-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.swlc-content,.swlc-rights,.swlc-reader{margin-top:68px;padding-top:42px;border-top:1px solid var(--swlc-line)}
.swlc-content{max-width:960px}
.swlc-content p,.swlc-content li,.swlc-rights p{color:#c7beb2;line-height:1.82}
.swlc-content h2,.swlc-content h3{font-family:Georgia,serif;color:var(--swlc-gold-soft)}
.swlc-rights{padding:36px;border:1px solid var(--swlc-line);background:var(--swlc-panel)}
.swlc-reader iframe{width:100%;height:900px;border:1px solid var(--swlc-line);background:#fff}
@media(max-width:1120px){
    .swlc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .swlc-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
    .swlc-shell{width:min(100% - 26px,1420px)}
    .swlc-hero{padding:68px 0 50px}
    .swlc-section{padding:52px 0}
    .swlc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
    .swlc-card-body{padding:16px}
    .swlc-heading{align-items:start;flex-direction:column}
    .swlc-single-hero{grid-template-columns:1fr;gap:32px}
    .swlc-single-cover{width:min(360px,100%);margin:auto}
    .swlc-single-meta{grid-template-columns:1fr 1fr}
    .swlc-reader iframe{height:600px}
}
@media(max-width:480px){
    .swlc-filters{grid-template-columns:1fr}
    .swlc-meta{display:none}
    .swlc-description{display:none}
    .swlc-actions{padding-top:12px}
    .swlc-single-meta{grid-template-columns:1fr}
    .swlc-rights{padding:24px}
}

/* 2.1.3 — transcription reader repair */
.swlc-single-hero{
    grid-template-columns:minmax(230px,360px) minmax(0,1fr);
}
.swlc-single-intro{
    min-width:0;
}
.swlc-single-intro h1{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
    font-size:clamp(2rem,4.2vw,4.25rem);
}
.swlc-single-meta{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.swlc-single-meta dd{
    overflow-wrap:anywhere;
}
.swlc-section-kicker{
    margin:0 0 9px!important;
    color:var(--swlc-gold)!important;
    font-size:.72rem!important;
    line-height:1.2!important;
    text-transform:uppercase;
    letter-spacing:.16em;
}
.swlc-reader{
    margin-top:72px;
    padding-top:44px;
    border-top:1px solid var(--swlc-line);
}
.swlc-reader h2{
    margin-bottom:24px;
}
.swlc-reader iframe{
    display:block;
    width:100%;
    height:min(1050px,82vh);
    min-height:680px;
    border:1px solid var(--swlc-line);
    background:#fff;
}
.swlc-content{
    width:min(100%,980px);
    max-width:980px;
    margin:78px auto 0;
    padding-top:48px;
    border-top:1px solid var(--swlc-line);
}
.swlc-transcription-heading{
    margin:0 auto 42px;
    text-align:center;
}
.swlc-transcription-heading h2{
    margin:0;
}
.swlc-transcription-count{
    margin:12px 0 0!important;
    color:var(--swlc-muted)!important;
    font-size:.82rem!important;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.swlc-transcription-body{
    color:#ddd4c8;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.08rem,1.25vw,1.28rem);
    line-height:1.9;
    letter-spacing:.003em;
    overflow-wrap:break-word;
}
.swlc-transcription-body p{
    margin:0 0 1.45em;
    color:#ddd4c8;
    font-size:inherit;
    line-height:inherit;
}
.swlc-transcription-body h1,
.swlc-transcription-body h2,
.swlc-transcription-body h3,
.swlc-transcription-body h4{
    margin:2.1em 0 .8em;
    color:var(--swlc-gold-soft);
    font-family:Georgia,"Times New Roman",serif;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.swlc-transcription-body h1{font-size:2.15rem}
.swlc-transcription-body h2{font-size:1.85rem}
.swlc-transcription-body h3{font-size:1.48rem}
.swlc-transcription-body h4{font-size:1.22rem}
.swlc-transcription-body blockquote{
    margin:1.8em 0;
    padding:.25em 0 .25em 1.4em;
    border-left:2px solid var(--swlc-gold);
    color:#cfc4b6;
}
.swlc-transcription-body ul,
.swlc-transcription-body ol{
    margin:0 0 1.5em 1.5em;
}
.swlc-transcription-body li{
    margin:.45em 0;
    color:#ddd4c8;
    line-height:1.8;
}
.swlc-transcription-body em{
    font-style:italic;
}
.swlc-transcription-body hr{
    margin:3em 0;
    border:0;
    border-top:1px solid var(--swlc-line);
}
.swlc-rights{
    width:min(100%,980px);
    margin:68px auto 0;
}
@media(max-width:900px){
    .swlc-single-hero{
        grid-template-columns:minmax(200px,300px) minmax(0,1fr);
        gap:34px;
    }
    .swlc-single-intro h1{
        font-size:clamp(2rem,6vw,3.45rem);
    }
    .swlc-single-meta{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:780px){
    .swlc-single-hero{
        grid-template-columns:1fr;
    }
    .swlc-reader iframe{
        min-height:520px;
        height:72vh;
    }
    .swlc-content{
        margin-top:58px;
        padding-top:36px;
    }
    .swlc-transcription-body{
        font-size:1.05rem;
        line-height:1.82;
    }
}
@media(max-width:480px){
    .swlc-reader iframe{
        min-height:430px;
        height:66vh;
    }
    .swlc-transcription-heading{
        margin-bottom:30px;
    }
    .swlc-transcription-body{
        font-size:1rem;
        line-height:1.78;
    }
}
