/* Forlawssake — site styles (from the Oct 21, 2026 Claude Design canvas). Navy, gold, cream; Cinzel / Playfair Display / Inter. */
:root{--ink:#070f1f;--navy:#0b1a33;--navy2:#0d2040;--panel:#12305a;--gold:#f6d27a;--gold2:#d9a441;--cream:#f7e7c4;--text:#c9d4e6;--muted:#93a4c2;--dim:#8394b3;--sky:#87cdf2;--line:rgba(217,164,65,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.page{min-height:100vh;background-image:radial-gradient(1100px 680px at 80% 4%,rgba(31,66,120,.55),rgba(7,15,31,0) 62%)}
a{color:var(--gold)}a:hover{color:#ffe3a0}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding-left:clamp(16px,4vw,40px);padding-right:clamp(16px,4vw,40px)}
.kicker{margin:0 0 12px;font-family:Cinzel,serif;font-weight:700;font-size:13px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.kicker.sky{color:var(--sky)}
.h1{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:clamp(38px,5.2vw,68px);line-height:1.06;letter-spacing:-.01em;color:var(--cream)}
.h1 em{color:var(--gold)}
.h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1.1;color:var(--cream)}
.sub{margin:16px 0 0;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:700;font-size:clamp(19px,1.8vw,23px);line-height:1.38;color:var(--gold)}
.lede{margin:20px 0 0;max-width:580px;font-size:clamp(17px,1.5vw,20px)}
.meta{margin:12px 0 0;font-size:14px;color:var(--muted)}
.serif{font-family:"Playfair Display",Georgia,serif}
.cinzel{font-family:Cinzel,serif}
section{scroll-margin-top:20px}
.sec{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(24px,4vw,40px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:28px}
.sec-head a{font-size:15px;font-weight:600;text-decoration:none}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,320px)),1fr))}
.split{display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,460px)),1fr));align-items:center}
.split.top{align-items:start}

/* header */
.site-head{border-bottom:1px solid rgba(217,164,65,.18)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px 8px 10px;border-radius:12px;background:#0a101c;border:1px solid var(--line);text-decoration:none}
.brand span{font-family:Cinzel,serif;font-weight:800;font-size:20px;color:#fff;line-height:1}
.nav{display:flex;align-items:center;gap:clamp(12px,2.2vw,28px);flex-wrap:wrap;font-size:15px;font-weight:600}
.nav a{color:var(--text);text-decoration:none}
.nav a:hover,.nav a[aria-current=page]{color:#fff}
.nav a.btn-gold,.nav a.btn-gold:hover{color:var(--navy)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;font-family:inherit;transition:transform .2s,background-color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--navy);border:0}
.btn-gold:hover{color:var(--navy);background:#ffe08f}
.btn-line{background:transparent;color:var(--cream);border:1px solid rgba(246,210,122,.55);font-weight:600}
.btn-line:hover{color:#fff;border-color:var(--gold)}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* motion */
@keyframes rise{from{transform:translateY(18px)}to{transform:none}}
.rise{animation:rise .9s cubic-bezier(.16,1,.3,1) both}
.d1{animation-delay:.12s}.d2{animation-delay:.26s}.d3{animation-delay:.4s}.d4{animation-delay:.54s}.d5{animation-delay:.68s}
@keyframes sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes panL{0%,100%{transform:translateY(7px)}50%{transform:translateY(-7px)}}
@keyframes panR{0%,100%{transform:translateY(-7px)}50%{transform:translateY(7px)}}
.beam{transform-box:view-box;transform-origin:100px 47px;animation:sway 7s ease-in-out infinite}
.panL{animation:panL 7s ease-in-out infinite}.panR{animation:panR 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.float{animation:floaty 6s ease-in-out infinite}.float2{animation:floaty 7.5s ease-in-out -2.5s infinite}
@keyframes blink{0%,93%{opacity:0}94%,96.5%{opacity:1}97.5%,100%{opacity:0}}
.blink{animation:blink 4.4s linear infinite}
@keyframes dust{0%{transform:translateY(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-240px);opacity:0}}
.dust{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);animation:dust 9s linear infinite}
@keyframes glow{0%,100%{opacity:.55}50%{opacity:.9}}
.glow{animation:glow 6s ease-in-out infinite}
@keyframes stamp{0%{transform:scale(1.18) rotate(-12deg)}60%{transform:scale(.96) rotate(-8deg)}100%{transform:scale(1) rotate(-8deg)}}
.stamp{transform:rotate(-8deg);display:inline-block;padding:4px 14px;border-radius:8px;border:2.5px solid currentColor;font-family:Cinzel,serif;font-weight:800;font-size:15px;letter-spacing:.14em;animation:stamp .7s cubic-bezier(.2,.9,.3,1.2) both}
.s1{animation-delay:.6s}.s2{animation-delay:1.1s}.s3{animation-delay:1.6s}
.c-gold{color:var(--gold)}.c-sky{color:var(--sky)}.c-cream{color:var(--cream)}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.drawline{transform-origin:0 50%;animation:draw 1.8s cubic-bezier(.65,0,.35,1) .3s both}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.spine{transform-origin:50% 0;animation:grow 1.6s cubic-bezier(.65,0,.35,1) .2s both}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(246,210,122,.55)}50%{box-shadow:0 0 0 14px rgba(246,210,122,0)}}
.play{animation:pulse 2.4s ease-out infinite}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* hero */
.hero{padding-top:clamp(40px,7vw,88px);padding-bottom:clamp(40px,6vw,72px)}
.trust{margin:28px 0 0;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.stage{position:relative;width:100%;max-width:560px;margin:0 auto;aspect-ratio:1/1.08}
.stage .ring{position:absolute;border-radius:50%;aspect-ratio:1/1}
.stage .scale{position:absolute;left:5%;width:90%;top:-2%;overflow:visible;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}
.host{position:absolute;left:50%;bottom:0;width:54%;transform:translateX(-50%)}
.host img{display:block;width:100%;height:auto}
.host .eyes{position:absolute;left:37.53%;top:14.44%;width:25.69%;height:auto;opacity:0}
.fcard{position:absolute;padding:14px 16px;border-radius:14px;background:rgba(9,24,48,.9);box-shadow:0 16px 34px rgba(0,0,0,.4)}
.fcard p{margin:0}
.fcard .t{font-family:Cinzel,serif;font-weight:700;font-size:11px;letter-spacing:.14em}
.fcard .q{margin-top:6px;font-size:clamp(12px,1.3vw,15px);line-height:1.35;color:var(--cream)}

/* official accounts strip */
.accounts{border-top:1px solid rgba(217,164,65,.18);border-bottom:1px solid rgba(217,164,65,.18);background:rgba(11,26,51,.6)}
.accounts .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;padding-top:22px;padding-bottom:22px}
.accounts p{margin:0;max-width:330px;font-size:14px;line-height:1.5;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(217,164,65,.3);color:var(--text);font-size:14px;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s}
.pill span{font-weight:400;color:var(--muted)}
.pill:hover{border-color:var(--gold);color:#fff}

/* interactive explainer */
.prongs{display:flex;flex-direction:column;gap:12px}
.prong{display:flex;align-items:center;gap:16px;width:100%;min-height:44px;padding:16px 18px;border-radius:16px;cursor:pointer;font:inherit;text-align:left;color:inherit;border:1px solid rgba(217,164,65,.22);background:rgba(11,26,51,.55);transition:background-color .3s,border-color .3s,transform .2s}
.prong:hover{transform:translateY(-2px)}
.prong .num{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-family:Cinzel,serif;font-weight:800;font-size:15px;color:var(--gold);border:1px solid var(--gold);transition:background-color .3s,color .3s}
.prong .txt{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}
.prong strong{font-size:17px;color:var(--cream)}
.prong .d{font-size:14px;line-height:1.45;color:#a9b6cc}
.prong .track{flex:none;position:relative;width:46px;height:26px;border-radius:13px;background:rgba(147,164,194,.35);transition:background-color .3s}
.prong .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#e6ecf5;transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .3s}
.prong[aria-pressed=true]{border-color:rgba(246,210,122,.75);background:rgba(246,210,122,.10)}
.prong[aria-pressed=true] .num{background:var(--gold);color:var(--navy)}
.prong[aria-pressed=true] .track{background:var(--gold)}
.prong[aria-pressed=true] .knob{transform:translateX(20px);background:var(--navy)}
.src{margin:18px 0 0;font-size:13px;line-height:1.5;color:var(--dim)}
.diagram{position:relative;border:1px solid rgba(217,164,65,.28);border-radius:22px;background:#0b1b36;background-image:radial-gradient(600px 300px at 50% 0%,rgba(135,205,242,.10),rgba(135,205,242,0) 70%);padding:clamp(20px,3vw,32px);overflow:hidden}
.dtop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.count{margin:0;font-family:Cinzel,serif;font-weight:700;font-size:13px;letter-spacing:.16em;color:var(--muted)}
.badge{margin:0;padding:4px 12px;border-radius:8px;font-family:Cinzel,serif;font-weight:800;font-size:12px;letter-spacing:.14em;color:var(--sky);border:1.5px solid rgba(135,205,242,.6)}
.ex[data-pierced="1"] .badge{color:var(--navy);background:var(--gold);border-color:var(--gold)}
.field{position:relative;height:320px;margin-top:22px}
.party{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.party .ic{display:grid;place-items:center;width:64px;height:64px;border-radius:50%}
.party .lb{font-family:Cinzel,serif;font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--cream)}
.party .sm{font-size:12px;line-height:1.35;color:var(--muted)}
.corp{position:absolute;left:34%;width:30%;top:6%;bottom:6%;border-radius:14px;border:1px solid rgba(135,205,242,.55);background:rgba(18,48,88,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:10px;z-index:2}
.veil{position:absolute;left:66.5%;width:7.5%;top:2%;bottom:2%;border-radius:10px;transform-origin:50% 0;background-image:repeating-linear-gradient(90deg,rgba(246,210,122,.85) 0 5px,rgba(246,210,122,.45) 5px 10px);border:1px solid rgba(246,210,122,.9);box-shadow:0 0 28px rgba(246,210,122,.3);transition:transform .9s cubic-bezier(.65,0,.35,1),opacity .9s;z-index:2}
.veil span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);font-family:Cinzel,serif;font-weight:800;font-size:12px;letter-spacing:.3em;color:var(--navy);white-space:nowrap}
.ray{position:absolute;left:25%;top:calc(50% - 2px);height:4px;border-radius:2px;width:8%;background:rgba(246,210,122,.6);z-index:3;transition:width .8s cubic-bezier(.65,0,.35,1),background-color .4s,box-shadow .4s}
.ray i{position:absolute;right:-9px;top:-6px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:11px solid var(--gold)}
.owner .ic{border:1px solid rgba(247,231,196,.35);background:rgba(247,231,196,.05);transition:all .5s}
.ex[data-pierced="1"] .veil{transform:scaleY(.04);opacity:.3}
.ex[data-pierced="1"] .ray{width:50%;background:var(--gold);box-shadow:0 0 18px rgba(246,210,122,.85)}
.ex[data-pierced="1"] .owner .ic{border:2px solid var(--gold);background:rgba(246,210,122,.18);box-shadow:0 0 24px rgba(246,210,122,.5)}
.verdict{margin:18px 0 0;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(22px,2.2vw,28px);line-height:1.25;color:var(--cream)}
.verdict-sub{margin:8px 0 0;font-size:15px;color:#a9b6cc}

/* cards */
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--navy);text-decoration:none;color:var(--text);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s}
.card:hover{transform:translateY(-6px);border-color:rgba(246,210,122,.6);box-shadow:0 24px 50px rgba(0,0,0,.45);color:var(--text)}
.card .img{aspect-ratio:16/9;overflow:hidden}
.card .img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.card:hover .img img{transform:scale(1.04)}
.card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto}
.card h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:23px;line-height:1.28;color:var(--cream)}
.card p{margin:0;font-size:15px;color:#a9b6cc}
.card .go{margin-top:auto;font-size:15px;font-weight:700;color:var(--gold)}
.tagrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;color:var(--muted)}
.tag{padding:3px 10px;border-radius:999px;font-weight:600;font-size:12.5px}
.tag.gold{background:rgba(246,210,122,.14);color:var(--gold)}
.tag.sky{background:rgba(135,205,242,.14);color:var(--sky)}
.tag.line{border:1px solid currentColor;background:none}
.box{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:18px;border:1px solid var(--line);background:var(--navy)}
.box.sky{border-color:rgba(135,205,242,.38);background:rgba(18,48,88,.45)}
.box.gold{border-color:rgba(246,210,122,.45);background:rgba(246,210,122,.06)}
.box.cream{border-color:rgba(247,231,196,.25);background:rgba(247,231,196,.04)}
.box h3{margin:0;font-family:Cinzel,serif;font-weight:700;font-size:19px;color:var(--cream)}
.box p{margin:0;font-size:15px;color:#a9b6cc}
.box .grow{flex:1 1 auto}
.box a{font-size:15px;font-weight:600;text-decoration:none}

/* host / about */
.frame{position:relative;max-width:440px;width:100%;margin:0 auto}
.frame::before{content:"";position:absolute;inset:16px -16px -16px 16px;border-radius:22px;border:1px solid rgba(246,210,122,.4)}
.frame img{position:relative;display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 24px 50px rgba(0,0,0,.45)}
.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin-top:30px}
.steps div{padding-top:16px;border-top:1px solid rgba(217,164,65,.35)}
.steps .n{margin:0;font-family:Cinzel,serif;font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--gold)}
.steps p{margin:6px 0 0;font-size:15px;color:#a9b6cc}
.creds{margin:14px 0 0;font-size:14px;color:var(--muted)}
.portrait{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid rgba(246,210,122,.45);background:var(--navy2);background-image:radial-gradient(circle at 50% 36%,rgba(246,210,122,.28),rgba(246,210,122,0) 58%)}
.portrait .host{width:70%}
.portrait .plate{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 20px;background:linear-gradient(180deg,rgba(13,32,64,0),rgba(7,15,31,.94));text-align:center}
.portrait .plate p{margin:0}
.facts{display:grid;gap:0 28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin-top:28px;border-top:1px solid rgba(217,164,65,.25)}
.facts div{padding:14px 0;border-bottom:1px solid rgba(217,164,65,.25)}
.facts .k{margin:0;font-size:13px;color:var(--muted)}
.facts .v{margin:2px 0 0;font-weight:600;color:var(--cream)}

/* next band */
.band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:clamp(28px,4vw,44px);border-radius:24px;border:1px solid rgba(246,210,122,.45);background:var(--navy2)}
.band .big{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.25;color:var(--cream)}

/* footer */
.site-foot{margin-top:clamp(56px,8vw,96px);border-top:1px solid rgba(217,164,65,.18);background:#050b17}
.site-foot .wrap{display:flex;flex-direction:column;gap:20px;padding-top:40px;padding-bottom:48px}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.foot-links a{color:#a9b6cc;text-decoration:none}
.foot-links a:hover{color:#fff}
.disclaimer{margin:0;max-width:840px;font-size:13px;line-height:1.6;color:var(--dim)}
.copy{margin:0;font-size:13px;color:#6f80a0}

/* episode + digest pages */
.crumbs{margin:0 0 22px;font-size:14px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.poster{position:relative;display:block;border-radius:20px;overflow:hidden;border:1px solid rgba(217,164,65,.35);box-shadow:0 30px 60px rgba(0,0,0,.5);aspect-ratio:16/9}
.poster img{display:block;width:100%;height:100%;object-fit:cover}
.poster .play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--gold);display:grid;place-items:center}
.spotify{margin-top:22px;border-radius:14px;overflow:hidden;height:152px}
.spotify iframe{width:100%;height:152px;border:0}
.tl{position:relative;margin-top:34px}
.tl .drawline{position:absolute;left:2%;right:2%;top:27px;height:2px;background:rgba(246,210,122,.45)}
.tl .grid{position:relative}
.tl .col{display:flex;flex-direction:column;gap:14px}
.tl .dot{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--navy);border:2px solid var(--gold);font-family:Cinzel,serif;font-weight:800;color:var(--gold)}
.tl .case{position:relative;flex:1 1 auto;padding:24px;border-radius:18px;border:1px solid rgba(217,164,65,.25);background:var(--navy);text-decoration:none;color:var(--text);transition:transform .35s,border-color .35s;display:block}
a.case:hover{transform:translateY(-4px);border-color:rgba(246,210,122,.6);color:var(--text)}
.tl .case .m{margin:0;font-size:13px;color:var(--muted)}
.tl .case h3{margin:8px 0 18px;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:21px;line-height:1.3;color:var(--cream)}
.list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.list li{display:flex;gap:14px}
.list li::before{content:"";flex:none;margin-top:10px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.chapters{margin:0;padding:0;list-style:none;border-top:1px solid rgba(217,164,65,.2)}
.chapters li{display:flex;gap:20px;padding:14px 12px;border-bottom:1px solid rgba(217,164,65,.2);transition:background-color .2s}
.chapters li:hover{background:rgba(246,210,122,.07)}
.chapters .t{flex:none;width:56px;font-family:Cinzel,serif;font-weight:700;color:var(--gold)}
.lawq{margin:0 0 14px;padding:18px 22px;border-left:2px solid var(--gold);background:rgba(11,26,51,.6);border-radius:0 12px 12px 0;font-family:"Playfair Display",Georgia,serif;font-size:18px;line-height:1.55;color:var(--cream)}
.lawq cite{display:block;margin-top:6px;font-family:Cinzel,serif;font-style:normal;font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--gold)}
.casecard{display:block;padding:18px 20px;border-radius:14px;border:1px solid var(--line);background:var(--navy);text-decoration:none;transition:transform .35s,border-color .35s}
.casecard:hover{transform:translateY(-4px);border-color:rgba(246,210,122,.6)}
.casecard b{display:block;font-weight:600;color:var(--cream)}
.casecard span{display:block;margin-top:4px;font-size:14px;color:var(--muted)}
.dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:15px}
.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:600;color:var(--cream)}
.metabox{position:relative;padding:24px 26px;border-radius:20px;border:1px solid rgba(217,164,65,.3);background:var(--navy)}
.metabox .stamp{position:absolute;right:22px;top:18px;margin:0;color:var(--gold);animation-delay:.9s}
.facts-tl{position:relative;padding-left:34px}
.facts-tl .spine{position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:rgba(246,210,122,.45)}
.facts-tl .f{position:relative;padding-bottom:22px}
.facts-tl .f:last-child{padding-bottom:0}
.facts-tl .f::before{content:"";position:absolute;left:-31px;top:7px;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--gold)}
.facts-tl .f:last-child::before{background:var(--gold)}
.facts-tl .l{margin:0;font-family:Cinzel,serif;font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}
.facts-tl p{margin:4px 0 0}
.big-q{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:21px;line-height:1.4;color:var(--cream)}
blockquote.pull{margin:0;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:19px;line-height:1.55;color:var(--cream)}
figcaption{margin-top:10px;font-size:14px;color:var(--muted)}

/* library */
.search{display:flex;align-items:center;gap:12px;max-width:640px;min-height:56px;padding:0 18px;border-radius:16px;border:1px solid rgba(246,210,122,.45);background:var(--navy)}
.search input{flex:1 1 auto;min-width:0;height:54px;border:0;background:transparent;color:var(--cream);font:inherit;font-size:17px;outline:none}
.search input::placeholder{color:#7d8eae}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{min-height:44px;padding:0 18px;border-radius:999px;cursor:pointer;font:inherit;font-size:15px;font-weight:600;border:1px solid rgba(217,164,65,.3);background:transparent;color:var(--text);transition:background-color .2s,color .2s,border-color .2s}
.chip[aria-pressed=true]{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.lib-card{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:18px;border:1px solid var(--line);background:var(--navy);text-decoration:none;color:var(--text);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s}
.lib-card:hover{transform:translateY(-5px);border-color:rgba(246,210,122,.6);box-shadow:0 20px 44px rgba(0,0,0,.4);color:var(--text)}
.lib-card .ti{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:21px;line-height:1.3;color:var(--cream)}
.lib-card .bl{flex:1 1 auto;font-size:15px;line-height:1.55;color:#a9b6cc}
.lib-card .go{font-size:14px;font-weight:700;color:var(--gold)}
.empty{margin-top:26px;padding:32px;border-radius:18px;border:1px dashed rgba(217,164,65,.35);text-align:center}
[hidden]{display:none!important}

/* subjects */
.subjects{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.subj{position:relative;display:flex;flex-direction:column;gap:6px;min-height:112px;padding:22px 22px 20px;border-radius:16px;border:1px solid var(--line);background:var(--navy);text-decoration:none;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s}
.subj::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c)}
.subj:hover{transform:translateY(-4px);border-color:var(--c)}
.subj .sn{font-family:Cinzel,serif;font-weight:700;font-size:18px;color:var(--cream)}
.subj .sc{font-size:14px;color:var(--c)}
