/* Mary & Blake — Website 2.0 V54: Blood of My Blood franchise & first-season guides.
   Two page-ID templates only. Dark cinematic editorial, compact utility, zero generic article header.
*/
.mb2bom{--bom-ink:#eff2f4;--bom-muted:#a9b2ba;--bom-blue:#44c4dc;--bom-gold:#ccad78;--bom-edge:#303b42;--bom-bg:#0c1116;--bom-panel:#151d23;color:var(--bom-ink);background:var(--bom-bg);font-family:Lato,"Helvetica Neue",Arial,sans-serif}
.mb2bom *, .mb2bom *::before,.mb2bom *::after{box-sizing:border-box}
.mb2bom .mb2-inner{max-width:1240px;margin-inline:auto;padding-left:clamp(20px,3vw,36px);padding-right:clamp(20px,3vw,36px)}
.mb2bom a{transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}
.mb2bom a:focus-visible,.mb2bom summary:focus-visible{outline:3px solid #7bdbea;outline-offset:3px}
.mb2bom-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#0d1319,#15242e);min-height:535px;display:flex;align-items:center}
.mb2bom-hero::before{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--mb2bom-art);background-position:62% 39%;background-size:cover;background-repeat:no-repeat;opacity:.83;filter:saturate(.83)}
/* V69: match the hero background to the small, explicitly preloaded mobile asset. */
@media(max-width:800px){.mb2bom-hero::before{background-image:var(--mb2bom-art-mobile,var(--mb2bom-art))}}
.mb2bom-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,12,17,.99) 0%,rgba(7,12,17,.94) 27%,rgba(7,12,17,.64) 52%,rgba(7,12,17,.22) 100%),linear-gradient(0deg,#0c1116 0%,transparent 31%)}
.mb2bom-hero-inner{width:100%;padding-top:52px;padding-bottom:54px}
.mb2bom-hero-copy{max-width:755px}
.mb2bom-crumb{display:flex;align-items:center;gap:11px;margin:0 0 45px;color:#b3bcc2;font-size:12px;font-weight:700;letter-spacing:.035em}
.mb2bom-crumb a{color:#cad8dd;text-decoration:none}.mb2bom-crumb a:hover{color:#fff}
.mb2bom-eyebrow{display:inline-flex;align-items:center;gap:11px;color:var(--bom-gold);font-size:11px;font-weight:900;letter-spacing:.19em;text-transform:uppercase}
.mb2bom-eyebrow i{display:block;width:30px;height:2px;background:var(--bom-blue)}
.mb2bom-hero h1{max-width:820px;font-size:clamp(44px,6vw,83px)!important;line-height:1.02;letter-spacing:-.048em;margin:20px 0 23px!important;color:#fff!important;font-weight:900}
.mb2bom-hero h1 em{font-style:normal;color:#9fe1e9}
.mb2bom-hero-deck{max-width:630px;color:#d9e1e5;font-size:clamp(17px,1.7vw,20px);line-height:1.58;margin:0 0 29px}
.mb2bom-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.mb2bom-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 20px;border:1px solid #9ab9c3;border-radius:6px;text-decoration:none!important;font-weight:850;letter-spacing:.012em;font-size:14px;min-height:50px}
.mb2bom-btn-primary{color:#06131a!important;background:#90e3ee;border-color:#90e3ee}
.mb2bom-btn-primary:hover{background:#fff;border-color:#fff;color:#071219!important}
.mb2bom-btn-outline{color:#fff!important;border-color:#718691;background:rgba(10,16,20,.35)}
.mb2bom-btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.11)}
.mb2bom-hero-facts{display:flex;gap:13px 23px;flex-wrap:wrap;color:#ced5db;font-size:10px;font-weight:850;letter-spacing:.13em;margin-top:38px}
.mb2bom-hero-facts span+span:before{content:"•";color:var(--bom-gold);margin-right:22px}
.mb2bom-jump{background:#131b20;border-top:1px solid #26333b;border-bottom:1px solid #303c44}
.mb2bom-jump>.mb2-inner{min-height:63px;display:flex;gap:25px;align-items:center;overflow-x:auto;scrollbar-width:thin}
.mb2bom-jump strong{font-size:10px;letter-spacing:.17em;color:var(--bom-gold);margin-right:12px;white-space:nowrap}
.mb2bom-jump a{font-size:13px;font-weight:750;color:#c4d0d6;text-decoration:none!important;white-space:nowrap;border-bottom:2px solid transparent;padding:19px 0}
.mb2bom-jump a:hover{color:#fff;border-bottom-color:var(--bom-blue)}
.mb2bom-entry,.mb2bom-split,.mb2bom-library,.mb2bom-season-intro{padding:70px 0}
.mb2bom-entry{background:#0d141a}.mb2bom-split{background:#111920;border-top:1px solid #273238;border-bottom:1px solid #273238}
.mb2bom-section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:30px}
.mb2bom-section-top h2,.mb2bom-season-intro h2{font-weight:900;letter-spacing:-.035em;font-size:clamp(27px,3.7vw,42px)!important;line-height:1.15;margin:12px 0 10px;color:#f4f6f7!important}
.mb2bom-section-top p,.mb2bom-season-intro p{max-width:650px;color:var(--bom-muted);font-size:15.5px;line-height:1.7;margin:0}
.mb2bom-section-count{white-space:nowrap;font-size:10px;letter-spacing:.16em;color:#7e939f;padding-bottom:5px}
.mb2bom-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mb2bom-door{min-width:0;border:1px solid #354149;background:#192127;border-radius:12px;overflow:hidden;color:#fff!important;text-decoration:none!important;display:block;position:relative}
.mb2bom-door:hover{transform:translateY(-4px);border-color:#7ab9c8}
.mb2bom-door-image{display:block;aspect-ratio:1.5;background:linear-gradient(130deg,#324856,#141b25);overflow:hidden}
.mb2bom-door--family .mb2bom-door-image{background:linear-gradient(130deg,#4e555a,#233a44)}
.mb2bom-door--cast .mb2bom-door-image{background:linear-gradient(135deg,#5b4b3b,#182b30)}
.mb2bom-door-image img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.87);transition:transform .2s ease}
.mb2bom-door:hover img{transform:scale(1.045)}
.mb2bom-door-content{display:flex;flex-direction:column;gap:8px;min-height:164px;padding:21px 20px 22px;position:relative}
.mb2bom-door-content small{font-size:10px;color:var(--bom-gold);font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.mb2bom-door-content strong{font-weight:900;font-size:21px;line-height:1.17;letter-spacing:-.025em}
.mb2bom-door-content>span{font-size:13px;color:#b1bfc7;line-height:1.6;padding-right:22px}
.mb2bom-door-content b{position:absolute;bottom:18px;right:18px;color:var(--bom-blue)}
.mb2bom-seasons{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.mb2bom-seasons>a{min-height:200px;background:radial-gradient(circle at 100% 0%,rgba(87,169,184,.12),transparent 58%),#18232a;border:1px solid #36434c;border-radius:12px;padding:29px 32px;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none!important;color:#fff!important}
.mb2bom-seasons>a:hover{border-color:#8dd6e3;background-color:#1c2d34}
.mb2bom-seasons small{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--bom-gold)}
.mb2bom-seasons strong{font-size:32px;letter-spacing:-.04em;line-height:1.15;margin-top:10px}
.mb2bom-seasons span{color:#b7c5cd;font-size:14px;line-height:1.6;margin:10px 0 18px}
.mb2bom-seasons em{font-size:13px;font-weight:800;color:#8fd9e5;font-style:normal;margin-top:auto}
.mb2bom-season-intro{background:#121a20}
.mb2bom-season-intro>.mb2-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.83fr);gap:60px;align-items:center}
.mb2bom-season-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #35424a;border-radius:11px;background:#1a232b;overflow:hidden}
.mb2bom-season-stats>div{text-align:center;padding:24px 7px;border-right:1px solid #35424a;display:flex;flex-direction:column;gap:10px}
.mb2bom-season-stats>div:last-child{border-right:0}
.mb2bom-season-stats strong{font-size:clamp(26px,3vw,40px);letter-spacing:-.045em;color:#fff;line-height:1}
.mb2bom-season-stats span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#a3b4bc}
.mb2bom-library{background:#0d1419;border-top:1px solid #26323a}
.mb2bom-library-layout{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start;gap:44px}
.mb2bom-library-sidebar{position:sticky;top:28px;border:1px solid #33424b;border-radius:11px;background:#192229;padding:25px 21px}
.mb2bom-sidebar-label{display:block;color:var(--bom-gold);font-size:11px;letter-spacing:.16em;font-weight:900;margin-bottom:18px}
.mb2bom-library-sidebar>a{display:flex;gap:12px;align-items:center;justify-content:space-between;color:#cfdae0;text-decoration:none!important;font-size:13px;font-weight:800;padding:14px 0;border-bottom:1px solid #2e3b43}
.mb2bom-library-sidebar>a span{color:var(--bom-blue)}.mb2bom-library-sidebar>a:hover{color:#fff}
.mb2bom-sidebar-app{margin-top:28px;padding-top:24px;border-top:1px solid #3d505b}
.mb2bom-sidebar-app small{font-size:10px;letter-spacing:.12em;color:var(--bom-gold);font-weight:900}
.mb2bom-sidebar-app strong{display:block;font-size:20px;letter-spacing:-.02em;line-height:1.25;margin-top:9px}
.mb2bom-sidebar-app p{color:var(--bom-muted);font-size:12px;line-height:1.55}
.mb2bom-sidebar-app a{color:#8ee3ee!important;font-size:12px;font-weight:850;text-decoration:none}
.mb2bom-editorial{min-width:0;color:#dce3e7;font-size:16px;line-height:1.77}
.mb2bom-editorial>div:first-child{max-width:none!important;width:100%!important;margin:0!important}
.mb2bom-editorial h2{font-size:clamp(26px,2.8vw,35px)!important;line-height:1.21!important;font-weight:900!important;letter-spacing:-.035em;scroll-margin-top:90px;margin:50px 0 20px;color:#f5f7f8}
.mb2bom-editorial>div:first-child>h2{padding-top:34px;border-top:1px solid #35424a}
.mb2bom-editorial>div:first-child>p:first-of-type{font-size:17px;line-height:1.82}
.mb2bom-editorial h3{font-size:21px;letter-spacing:-.02em;line-height:1.35}
.mb2bom-editorial p{margin:0 0 18px}.mb2bom-editorial a{color:#9be8f0}.mb2bom-editorial a:hover{color:#fff}
.mb2bom-editorial ul{padding-left:22px}.mb2bom-editorial li{margin:7px 0}
.mb2bom-editorial img{height:auto;max-width:100%}
.mb2bom-editorial table{max-width:100%;border-collapse:collapse}
.mb2bom-editorial table th,.mb2bom-editorial table td{font-size:13px}
.mb2bom-editorial [id]{scroll-margin-top:76px}
.mb2bom-editorial [style*="max-width: 1120px"]{max-width:none!important}
.mb2bom-editorial [style*="background: #151515"]{background:#19252c!important;border-color:#3b505a!important}
.mb2bom-editorial [style*="background: #101010"]{border-color:#344550!important}
.mb2bom-editorial a[style*="color:#ffffff"],.mb2bom-editorial a[style*="color: #ffffff"]{color:#d0f3f5!important}
.mb2bom-editorial .mb-coverage-block{max-width:100%}
.mb2bom-episode{border:1px solid #384752;background:#172129;border-radius:10px;overflow:hidden;margin:12px 0;scroll-margin-top:90px}
.mb2bom-episode[open]{border-color:#7dbdca;background:#1b2a32}
/* V54.1: Match Season 2's photographic episode-accordion summaries.
   Decorative thumbnails do not replace the episode label or disclosure. */
.mb2bom--season .mb2bom-episode-thumb{
 display:block;flex:0 0 124px;width:124px;height:76px;
 border-radius:6px;overflow:hidden;background:#253741;
 border:1px solid #41565e;box-sizing:border-box;
}
.mb2bom--season .mb2bom-episode-thumb img{
 display:block;width:100%!important;height:100%!important;
 max-width:none!important;object-fit:cover;object-position:center;
 filter:saturate(.88);
}
.mb2bom--season .mb2bom-episode summary:focus-visible{
 outline:3px solid #9ce6f3;outline-offset:-4px;
}
.mb2bom-episode summary{list-style:none;cursor:pointer;min-height:112px;display:flex;gap:20px;align-items:center;padding:20px 25px}
.mb2bom-episode summary::-webkit-details-marker{display:none}
.mb2bom-episode-no{flex:0 0 auto;width:54px;height:58px;border-right:1px solid #44525c;display:grid;place-items:center;color:#aac0c9;font-size:26px;font-weight:900;letter-spacing:-.06em}
.mb2bom-episode-heading{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.mb2bom-episode-heading small{font-size:10px;letter-spacing:.14em;color:var(--bom-gold);font-weight:900}
.mb2bom-episode-heading strong{font-size:clamp(17px,2vw,22px);line-height:1.28;letter-spacing:-.025em;font-weight:900;color:#fff}
.mb2bom-episode-count{font-size:12px;color:#b4c3c9}
.mb2bom-episode-chevron{display:grid;place-items:center;width:32px;height:32px;border:1px solid #49616d;border-radius:50%;font-size:20px;color:#b0d6df;transition:transform .2s}
.mb2bom-episode[open] .mb2bom-episode-chevron{transform:rotate(45deg);color:#fff}
.mb2bom-episode-links{padding:6px 28px 25px 99px;border-top:1px solid #3a4a54}
.mb2bom-episode-links ul{list-style:none;padding:0!important;margin:0!important}
.mb2bom-episode-links li{margin:0!important;border-bottom:1px solid #33434c}
.mb2bom-episode-links li:last-child{border-bottom:0}
.mb2bom-episode-links li a{display:block;padding:13px 0;color:#d0edf2!important;font-size:14px;line-height:1.48;text-decoration:none}
.mb2bom-episode-links li a:hover{color:#fff!important}
.mb2bom-episode-links li a strong{display:inline;color:#c2a46e!important;font-size:12px}
.mb2bom-footercta{padding:65px 0;background:linear-gradient(115deg,#1a313b,#111c23);border-top:1px solid #42616c}
.mb2bom-footercta>.mb2-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.mb2bom-footercta h2{color:#fff!important;font-size:clamp(29px,3.4vw,40px)!important;line-height:1.16;letter-spacing:-.035em;margin:11px 0}
.mb2bom-footercta p{font-size:15px;color:#b9cbd1;line-height:1.6;margin:0}
.mb2bom-footercta .mb2bom-btn{flex:0 0 auto;max-width:100%;text-align:center}
@media(max-width:1050px){.mb2bom-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mb2bom-library-layout{grid-template-columns:185px minmax(0,1fr);gap:25px}.mb2bom-library-sidebar{padding:20px 16px}}
@media(max-width:720px){
 .mb2bom-hero{min-height:570px;align-items:flex-end}
 .mb2bom-hero::before{background-position:68% 12%;opacity:.75}
 .mb2bom-hero::after{background:linear-gradient(0deg,#0b1218 0%,rgba(8,13,18,.97) 22%,rgba(8,13,18,.80) 55%,rgba(8,13,18,.40) 100%)}
 .mb2bom-hero-inner{padding-top:26px;padding-bottom:37px}
 .mb2bom-crumb{margin-bottom:110px}
 .mb2bom-hero h1{font-size:clamp(42px,9.2vw,59px)!important}
 .mb2bom-hero-deck{font-size:16px}
 .mb2bom-hero-actions{flex-direction:column;align-items:stretch}
 .mb2bom-hero-actions .mb2bom-btn{width:100%}
 .mb2bom-hero-facts{margin-top:25px;gap:7px 12px;font-size:9px}
 .mb2bom-hero-facts span+span:before{margin-right:12px}
 .mb2bom-jump>.mb2-inner{gap:19px}
 .mb2bom-jump strong{margin-right:1px}
 .mb2bom-entry,.mb2bom-split,.mb2bom-library,.mb2bom-season-intro{padding:46px 0}
 .mb2bom-section-top{align-items:flex-start}
 .mb2bom-section-count{display:none}
 .mb2bom-entry-grid{gap:12px}
 .mb2bom-door-content{padding:15px;min-height:160px}
 .mb2bom-door-content strong{font-size:19px}
 .mb2bom-door-content>span{font-size:12px}
 .mb2bom-seasons{grid-template-columns:1fr}
 .mb2bom-seasons>a{min-height:177px;padding:24px}
 .mb2bom-season-intro>.mb2-inner{grid-template-columns:1fr;gap:22px}
 .mb2bom-library-layout{grid-template-columns:1fr;gap:22px}
 .mb2bom-library-sidebar{position:static;display:flex;gap:0 13px;align-items:center;overflow-x:auto;padding:14px;border-radius:9px}
 .mb2bom-sidebar-label,.mb2bom-sidebar-app{display:none}
 .mb2bom-library-sidebar>a{white-space:nowrap;border:0;padding:9px 11px;font-size:12px}
 .mb2bom-library-sidebar>a span{margin-left:9px}
 .mb2bom-editorial h2{font-size:27px!important;margin-top:39px}
 .mb2bom-editorial{font-size:15.5px}
 .mb2bom-episode summary{padding:14px 15px;gap:10px;min-height:94px}
 .mb2bom--season .mb2bom-episode-thumb{flex-basis:108px;width:108px;height:72px}
 .mb2bom-episode-no{width:38px;height:50px;font-size:21px}
 .mb2bom-episode-heading strong{font-size:17px}
 .mb2bom-episode-links{padding:6px 15px 13px}
 .mb2bom-footercta>.mb2-inner{flex-direction:column;align-items:flex-start}
 .mb2bom-footercta .mb2bom-btn{width:100%}
}
@media(max-width:400px){
 .mb2bom--season .mb2bom-episode-no{display:none}
 .mb2bom--season .mb2bom-episode-thumb{flex-basis:96px;width:96px;height:66px}
 .mb2bom--season .mb2bom-episode summary{gap:10px;padding:12px;min-height:90px}
 .mb2bom--season .mb2bom-episode-heading strong{font-size:16px}
 .mb2bom--season .mb2bom-episode-chevron{flex:0 0 30px;width:30px;height:30px}
 .mb2bom-entry-grid{grid-template-columns:1fr}
 .mb2bom-door{display:grid;grid-template-columns:40% minmax(0,1fr)}
 .mb2bom-door-image{height:100%;aspect-ratio:auto}
 .mb2bom-door-content{min-height:140px}
 .mb2bom-door-content strong{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.mb2bom a,.mb2bom-door-image img,.mb2bom-episode-chevron{transition:none!important}}
