.bl-page { --bl-gold:#e4c573; --bl-mint:#92dac8; color:#edf3f8; background:#0b111b; font-family:'Inter',sans-serif; }
.bl-page *, .bl-page *::before, .bl-page *::after { box-sizing:border-box; }
.bl-page a { text-decoration:none; }
.bl-page :is(a,button,input,select,textarea):focus-visible { outline:2px solid #92dac8; outline-offset:4px; }
.bl-page :is(h1,h2,h3,p) { margin-top:0; overflow-wrap:break-word; }
.bl-container { width:min(1300px,calc(100% - 80px)); margin-inline:auto; }
.bl-page section { padding:78px 0; }
.bl-eyebrow { font-size:9px; font-weight:600; letter-spacing:2px; color:#e4c573; line-height:1.9; margin-bottom:20px; }
.bl-eyebrow > span { display:inline-block; width:6px; height:6px; background:#92dac8; border-radius:50%; margin-right:10px; }
.bl-page h1 { font-size:clamp(46px,5.8vw,82px); font-weight:800; line-height:1.08; letter-spacing:-2px; margin-bottom:24px; }
.bl-page h1 span,.bl-page h2 span { color:#e4c573; }
.bl-page h2 { font-size:clamp(28px,3vw,42px); font-weight:650; line-height:1.2; letter-spacing:-.9px; }
.bl-page .bl-hero { padding:188px 0 48px; background:radial-gradient(ellipse at 80% 35%,#27545135,transparent 60%),#111c29; }
.bl-hero-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:75px; align-items:end; margin-bottom:48px; }
.bl-hero-intro { padding-bottom:20px; }
.bl-hero-intro p { color:#a8becd; font-size:15px; line-height:1.9; max-width:370px; }
.bl-hero-intro a { display:inline-block; color:#d1c6a5; font-size:9px; letter-spacing:1.5px; margin-top:12px; }
.bl-hero-intro a span { margin-left:20px; color:#e4c573; }
.bl-feature { display:grid; grid-template-columns:1.1fr 1fr; border:1px solid #ffffff26; border-radius:24px; overflow:hidden; color:#edf3f8; background:#1b2b3a; }
.bl-feature:hover { color:#edf3f8; border-color:#e4c57370; }
.bl-feature-image { position:relative; min-height:390px; overflow:hidden; }
.bl-feature-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bl-signal-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.55; }
.bl-feature-badge { position:absolute; left:24px; top:24px; font-size:8px; font-weight:600; letter-spacing:1.5px; padding:9px 13px; border:1px solid #d9dbd04a; border-radius:30px; background:#0b182bbf; color:#cfe5dd; }
.bl-feature-copy { padding:48px; display:flex; flex-direction:column; justify-content:center; }
.bl-feature-copy h2 { font-size:clamp(28px,3vw,40px); margin-bottom:22px; }
.bl-feature-copy > p:not(.bl-eyebrow) { color:#aec2d2; font-size:14px; line-height:1.9; }
.bl-feature-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; border-top:1px solid #ffffff20; padding-top:24px; font-size:10px; color:#a6bdcb; }
.bl-feature-footer b { color:#e4c573; font-size:30px; font-weight:400; }
.bl-section-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:32px; }
.bl-section-heading h2 { margin-bottom:0; }
.bl-section-heading > :is(p,span,a) { font-size:12px; color:#a0b5c7; line-height:1.8; max-width:310px; }
.bl-filters { display:grid; grid-template-columns:1.4fr 1fr auto auto; gap:20px; align-items:end; margin-bottom:36px; padding:24px; border:1px solid #ffffff1c; border-radius:12px; background:#142130; }
.bl-filters label { display:block; font-size:10px; color:#bdcdd9; margin-bottom:10px; }
.bl-filters :is(input,select) { margin:0; padding:12px 14px; background:#0c1724; border:1px solid #ffffff28; color:#dfebf3; font-size:13px; min-height:46px; width:100%; min-width:0; }
.bl-filters button { border:1px solid #e4c57370; background:#e4c573; color:#15212b; padding:13px 18px; border-radius:8px; font-size:12px; font-weight:600; min-height:46px; }
.bl-filters button span { margin-left:12px; }
.bl-filters > a { color:#c7b67e; padding-block:13px; font-size:11px; }
.bl-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.bl-card { position:relative; border:1px solid #ffffff20; border-radius:16px; background:#192636; overflow:hidden; display:flex; flex-direction:column; transition:border-color .25s,transform .25s; }
.bl-card[hidden],.bl-page [hidden] { display:none !important; }
.bl-card:hover { border-color:#e4c57380; transform:translateY(-4px); }
.bl-card-art { position:relative; display:block; aspect-ratio:16 / 10; overflow:hidden; }
.bl-card-art img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.bl-card:hover img { transform:scale(1.035); }
.bl-card-art > span { position:absolute; left:18px; top:18px; padding:7px 10px; border:1px solid #c4dcce40; border-radius:5px; font-size:8px; letter-spacing:1px; color:#cbe6df; background:#0d1e2add; }
.bl-card-copy { padding:24px; display:flex; flex-direction:column; flex:1; }
.bl-meta { font-size:9px; letter-spacing:.5px; color:#8faaba; margin-bottom:15px; }
.bl-meta span { margin-inline:7px; }
.bl-card h3 { font-size:21px; line-height:1.4; font-weight:600; margin-bottom:16px; }
.bl-card h3 a { color:#eaf1f7; }
.bl-card h3 a:hover { color:#e4c573; }
.bl-card-copy > p:not(.bl-meta) { color:#9fb6c8; font-size:12px; line-height:1.85; margin-bottom:26px; }
.bl-card-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #ffffff18; padding-top:18px; margin-top:auto; }
.bl-card-bottom a { color:#e4c573; font-size:10px; }
.bl-card-bottom a span { margin-left:7px; }
.bl-card-bottom > span { color:#91a9ba; font-size:9px; }
.bl-no-results,.bl-small-note { font-size:13px; color:#b3c2d1; padding-block:20px; }
.bl-archive { background:linear-gradient(120deg,#1b2b35,#12212b); }
.bl-archive-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.bl-archive-layout > div > p:not(.bl-eyebrow) { color:#9bb3c3; font-size:14px; line-height:1.9; max-width:340px; }
.bl-archive-year { font-size:110px; font-weight:700; letter-spacing:-6px; color:#b2b28b28; line-height:1.4; }
.bl-archive-list a { display:grid; grid-template-columns:92px 1fr 28px; align-items:center; gap:20px; padding:26px 0; border-bottom:1px solid #ffffff25; color:#dce8f0; }
.bl-archive-list a:first-child { border-top:1px solid #ffffff25; }
.bl-archive-list time { font-size:9px; color:#91abb8; }
.bl-archive-list h3 { font-size:17px; line-height:1.5; font-weight:500; margin:0; }
.bl-archive-list a:hover h3 { color:#e4c573; }
.bl-archive-list span { font-size:23px; color:#e4c573; }
.bl-world-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.bl-world-grid a { padding:30px; border-top:2px solid #e4c57360; background:#182637; color:#ecf3f8; }
.bl-world-grid small { font-size:8px; letter-spacing:1.2px; color:#95b8b7; }
.bl-world-grid h3 { margin:24px 0 16px; font-size:24px; font-weight:500; }
.bl-world-grid p { font-size:12px; color:#a2bacd; line-height:1.9; }
.bl-world-grid a > span { display:block; font-size:11px; color:#e4c573; margin-top:26px; }
.bl-page .bl-cta { padding:48px 0 64px; }
.bl-cta .bl-container { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:42px; border:1px solid #e4c57345; border-radius:20px; background:linear-gradient(120deg,#20343b,#1b302b); }
.bl-cta h2 { margin-bottom:0; font-size:clamp(26px,3vw,38px); }
.bl-button { display:inline-flex; justify-content:center; align-items:center; gap:24px; max-width:100%; border:1px solid #e4c573; padding:15px 22px; border-radius:9px; background:linear-gradient(120deg,#d4af37,#edd480); color:#152028; font-size:13px; font-weight:600; line-height:1.5; cursor:pointer; flex-shrink:0; }
.bl-button:hover { color:#152028; }
.bl-button:disabled { cursor:wait; opacity:.6; }
.bl-page .bl-article-hero { padding:172px 0 48px; background:linear-gradient(140deg,#152837,#0f1826); }
.bl-back { display:inline-block; color:#b9c5cc; font-size:11px; margin-bottom:34px; }
.bl-article-hero h1 { max-width:1080px; font-size:clamp(36px,4.6vw,62px); line-height:1.17; }
.bl-article-deck { color:#a9c0ce; font-size:17px; line-height:1.8; max-width:800px; }
.bl-article-meta { display:flex; flex-wrap:wrap; gap:20px; color:#9cb5c5; font-size:10px; margin-block:28px 36px; }
.bl-article-meta a { color:#e4c573; }
.bl-article-cover { width:100%; height:auto; aspect-ratio:2.5 / 1; max-height:480px; object-fit:cover; border-radius:20px; border:1px solid #ffffff20; }
.bl-reading-layout { display:grid; grid-template-columns:260px minmax(0,760px); gap:80px; justify-content:center; padding-block:60px; align-items:start; }
.bl-toc { position:sticky; top:160px; max-height:calc(100svh - 180px); overflow-y:auto; }
.bl-toc nav { display:grid; gap:18px; }
.bl-toc nav a { font-size:12px; line-height:1.7; color:#91abbd; border-left:1px solid #ffffff30; padding-left:14px; }
.bl-toc nav a:hover { color:#e4c573; }
.bl-toc-cta { display:block; margin-top:34px; padding-top:24px; border-top:1px solid #ffffff20; color:#e4c573; font-size:11px; }
.bl-takeaways { padding:28px 32px; border-left:2px solid #e4c573; border-radius:0 12px 12px 0; background:#1b2d38; margin-bottom:32px; }
.bl-takeaways ul { padding-left:20px; margin:0; }
.bl-takeaways li { color:#bed1dc; font-size:14px; line-height:1.85; margin-bottom:10px; }
.bl-takeaways li::marker { color:#e4c573; }
.bl-page .bl-article-body section { padding:24px 0; scroll-margin-top:155px; }
.bl-article-body h2 { font-size:29px; line-height:1.35; letter-spacing:-.6px; margin-bottom:20px; }
.bl-article-body section p { color:#b8c8d5; font-size:16px; line-height:1.95; margin-bottom:20px; }
.bl-reading-sources { border-top:1px solid #ffffff25; padding:28px 0; }
.bl-reading-sources h3 { font-size:16px; }
.bl-reading-sources a { display:block; color:#d4bc77; font-size:12px; line-height:1.8; }
.bl-article-end { display:flex; flex-wrap:wrap; gap:18px; align-items:center; padding-top:25px; border-top:1px solid #ffffff20; font-size:11px; color:#94abba; }
.bl-article-end a,.bl-article-end button { color:#e4c573; font-size:11px; }
.bl-article-end button { padding:0; border:0; background:transparent; cursor:pointer; }
.bl-reading-progress { position:fixed; top:0; left:0; width:100%; height:3px; z-index:10005; pointer-events:none; }
.bl-reading-progress span { display:block; width:100%; height:100%; background:#e4c573; transform-origin:left; transform:scaleX(0); }
.bl-reviews { background:#142333; scroll-margin-top:140px; }
.bl-review-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:start; }
.bl-review-score { display:flex; gap:24px; align-items:center; margin-bottom:26px; }
.bl-review-score > strong { font-size:65px; line-height:1; font-weight:500; color:#e4c573; }
.bl-summary-stars { color:#e4c573; font-size:22px; letter-spacing:3px; }
.bl-review-score p { font-size:10px; color:#a2b8c8; line-height:1.8; margin:10px 0 0; }
.bl-review-bars { display:grid; gap:10px; padding-bottom:30px; border-bottom:1px solid #ffffff20; margin-bottom:22px; }
.bl-review-bars > div { display:flex; align-items:center; gap:14px; font-size:10px; color:#b9cbd6; }
.bl-review-bars i { display:block; flex:1; height:5px; border-radius:5px; background:#ffffff12; overflow:hidden; }
.bl-review-bars b { display:block; height:100%; background:#e4c573; border-radius:5px; }
.bl-review-bars > div > span:last-child { width:22px; text-align:right; }
.bl-reader-review { display:grid; grid-template-columns:38px 1fr; gap:16px; border-bottom:1px solid #ffffff20; padding:24px 0; }
.bl-review-avatar { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#355146; color:#caeadd; font-size:15px; }
.bl-review-byline { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; }
.bl-review-byline strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.bl-review-byline time { font-size:9px; color:#8fa6b7; }
.bl-review-stars { color:#e4c573; font-size:15px; letter-spacing:2px; margin:9px 0 12px; }
.bl-review-remark { font-size:13px; line-height:1.9; color:#b0c5d4; margin-bottom:8px; overflow-wrap:anywhere; }
.bl-reader-review small { font-size:8px; color:#8da8b7; }
.bl-review-empty { border:1px dashed #a5c4bd30; padding:30px; text-align:center; border-radius:12px; }
.bl-review-empty > span { color:#92dac8; font-size:30px; }
.bl-review-empty h3 { font-size:17px; margin-top:16px; }
.bl-review-empty p { color:#99b1c3; font-size:12px; line-height:1.9; }
.bl-review-form { position:relative; padding:30px; border:1px solid #e4c57345; border-radius:16px; background:#0d1927; }
.bl-review-form h3 { font-size:24px; font-weight:500; }
.bl-review-form > p { color:#92aabc; font-size:11px; line-height:1.8; }
.bl-review-form label:not(.bl-star) { display:block; color:#b5c9d6; font-size:11px; margin-bottom:9px; }
.bl-review-form :is(input:not([type=radio]),textarea) { width:100%; min-width:0; padding:12px 14px; color:#dfebf3; background:#172b3a; border:1px solid #ffffff28; border-radius:8px; font-family:inherit; font-size:14px; margin-bottom:20px; }
.bl-review-form textarea { min-height:140px; height:auto; resize:vertical; }
.bl-review-form > small { display:block; color:#86a1b4; font-size:9px; line-height:1.9; margin-top:18px; }
.bl-review-form .bl-button { width:100%; }
.bl-star-picker { min-width:0; border:0; padding:0; margin:26px 0; }
.bl-star-picker legend { color:#b6cbd7; font-size:11px; margin-bottom:10px; }
.bl-star-picker > div { display:flex; gap:8px; }
.bl-star { position:relative; cursor:pointer; }
.bl-star span { font-size:33px; color:#4e6270; transition:color .15s; }
.bl-star.is-active span { color:#e4c573; }
.bl-star input { position:absolute; width:1px; height:1px; opacity:0; margin:0; }
.bl-star input:focus-visible + span { outline:2px solid #92dac8; outline-offset:3px; border-radius:5px; }
.bl-star-picker > span { display:block; font-size:10px; color:#a5c5bf; margin-top:8px; }
#bl-review-feedback { padding:14px; border:1px solid #e4c57350; border-radius:8px; color:#d3dfdf; font-size:12px; line-height:1.8; margin-block:16px; }
#bl-review-feedback.is-error { color:#ffc4c9; border-color:#df8b9460; }
#bl-review-feedback.is-success { color:#b7efd6; border-color:#92dac870; }
.bl-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.bl-review-pagination { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.bl-review-pagination a { display:grid; place-items:center; width:34px; height:34px; border:1px solid #ffffff30; border-radius:6px; font-size:11px; color:#b6cedc; }
.bl-review-pagination a[aria-current=page] { color:#e4c573; border-color:#e4c573; }
.bl-not-found { padding-top:190px; min-height:70svh; }
@media(max-width:1100px) { .bl-container { width:calc(100% - 48px); } .bl-feature-copy { padding:32px; } .bl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .bl-filters { grid-template-columns:1fr 1fr; } .bl-filters > a { text-align:center; } .bl-reading-layout { grid-template-columns:220px minmax(0,1fr); gap:40px; } .bl-review-layout { gap:36px; } }
@media(max-width:900px) { .bl-page .bl-hero { padding-top:145px; } .bl-hero-heading,.bl-feature,.bl-archive-layout,.bl-review-layout { grid-template-columns:1fr; gap:32px; } .bl-hero-intro { padding-bottom:0; } .bl-hero-heading { margin-bottom:35px; } .bl-feature-image { min-height:340px; } .bl-feature-copy { padding:32px; } .bl-archive-year { font-size:70px; } .bl-world-grid { grid-template-columns:1fr; } .bl-reading-layout { grid-template-columns:1fr; gap:35px; } .bl-toc { position:static; max-height:none; } .bl-toc nav { display:flex; flex-wrap:wrap; gap:12px; } .bl-toc nav a { padding-left:0; border-left:0; border-bottom:1px solid #ffffff25; padding-bottom:6px; font-size:10px; } .bl-toc-cta { display:none; } .bl-page .bl-article-hero { padding-top:145px; } .bl-cta .bl-container { flex-direction:column; align-items:flex-start; } }
@media(max-width:600px) { .bl-container { width:calc(100% - 36px); } .bl-page section { padding:48px 0; } .bl-page h1 { font-size:clamp(38px,10vw,56px); letter-spacing:-1.3px; } .bl-hero-heading { gap:20px; } .bl-feature-image { min-height:260px; } .bl-feature-copy { padding:25px; } .bl-feature-copy h2 { font-size:27px; } .bl-grid,.bl-filters { grid-template-columns:1fr; } .bl-card-copy { padding:22px; } .bl-section-heading { flex-direction:column; align-items:flex-start; gap:15px; } .bl-filters { padding:20px; gap:16px; } .bl-filters :is(input,select) { font-size:16px; } .bl-archive-list a { grid-template-columns:1fr 24px; gap:12px; } .bl-archive-list time { grid-column:1 / -1; } .bl-archive-list h3 { font-size:16px; } .bl-archive-layout { gap:12px; } .bl-archive-year { display:none; } .bl-article-hero h1 { font-size:34px; letter-spacing:-.8px; } .bl-article-deck { font-size:15px; } .bl-article-meta { gap:14px; font-size:9px; } .bl-article-cover { aspect-ratio:1.5 / 1; border-radius:14px; } .bl-reading-layout { padding-top:35px; } .bl-takeaways { padding:22px; } .bl-takeaways li { font-size:13px; } .bl-article-body h2 { font-size:24px; } .bl-article-body section p { font-size:15px; } .bl-review-form { padding:25px 20px; } .bl-review-form :is(input:not([type=radio]),textarea) { font-size:16px; } .bl-star span { font-size:31px; } .bl-page .bl-cta { padding:28px 0 42px; } .bl-cta .bl-container { padding:26px 22px; } .bl-article-body section,.bl-reviews { scroll-margin-top:120px; } }
@media(prefers-reduced-motion:reduce) { .bl-page *, .bl-page *::before,.bl-page *::after { transition:none !important; animation:none !important; } }
