/* CII Blog theme */
:root{
  --primary:#0b4ea2;--accent:#f39200;--dark:#0d1b2a;
  --bg:#ffffff;--surface:#f4f6fb;--surface-2:#eaeef6;--text:#1b2433;--muted:#5d6878;--border:#e3e7ef;
  --radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(13,27,42,.06),0 4px 16px rgba(13,27,42,.06);
  --container:1240px;--gutter:20px;
  --font-head:'Poppins',system-ui,sans-serif;--font-body:'Inter',system-ui,sans-serif;
}
[data-theme="dark"]{
  --bg:#0c121c;--surface:#131b28;--surface-2:#1b2535;--text:#e7ecf3;--muted:#9aa6b8;--border:#243044;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video,iframe{max-width:100%;height:auto}
img{display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--primary)}
h1,h2,h3,h4,h5{font-family:var(--font-head);line-height:1.25;margin:0 0 .5em;color:var(--text)}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.container.narrow{max-width:820px}
.center{text-align:center}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--primary);color:#fff;padding:8px 14px;border-radius:6px;z-index:999}
.skip-link:focus{left:8px}
:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:2px}
.muted{color:var(--muted)}
.ico{flex:none;vertical-align:middle}
.hp{position:absolute;left:-9999px;opacity:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;border:0;border-radius:999px;padding:11px 22px;font-weight:600;font-family:var(--font-head);font-size:15px;transition:transform .15s,filter .15s}
.btn:hover{color:#fff;filter:brightness(1.08);transform:translateY(-1px)}
.btn-accent{background:var(--accent)}
.btn-ghost{background:transparent;color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}
.btn-ghost:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}
.btn-sm{padding:7px 14px;font-size:14px}
.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--text)}
.icon-btn:hover{background:var(--surface)}

/* Top bar */
.topbar{background:var(--dark);color:#cfd8e6;font-size:13px}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.topbar-text{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.social a{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--text);transition:.15s}
.social a:hover{background:var(--primary);color:#fff}
.social-sm a{width:28px;height:28px;background:transparent;color:inherit}
.social-sm a:hover{background:rgba(255,255,255,.12);color:inherit}
.social-sm .ico{width:15px;height:15px}
.social-lg a{width:40px;height:40px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--border)}
.header-in{display:flex;align-items:center;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand .logo{height:52px;width:auto}
.brand-text{font:700 20px var(--font-head);color:var(--primary)}
.logo-dark{display:none!important}
[data-theme="dark"] .logo-dark{display:block!important}
[data-theme="dark"] .logo-dark ~ .logo-light,[data-theme="dark"] .logo-light:has(+ .logo-dark){display:none}
.main-nav{flex:1;display:flex;justify-content:center}
.main-nav>ul{display:flex;gap:0;list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.main-nav li{position:relative}
.main-nav a{display:block;padding:9px 10px;white-space:nowrap;font:600 14px var(--font-head);border-radius:8px;letter-spacing:.1px}
.main-nav>ul>li.active>a,.main-nav>ul>li>a:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}
.main-nav .sub{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);list-style:none;margin:0;padding:6px}
.main-nav .has-sub:hover .sub,.main-nav .has-sub:focus-within .sub{display:block}
.header-actions{display:flex;gap:2px;flex:none}
.menu-toggle{display:none}
.push-bell.on{color:var(--accent)}
.header-banner,.footer-banner{margin-top:16px}

/* Search overlay */
.search-overlay{position:fixed;inset:0;z-index:100;background:rgba(10,18,30,.6);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px}
.search-overlay[hidden]{display:none}
.search-box{position:relative;width:100%;max-width:720px;background:var(--bg);border-radius:16px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.search-box form{display:flex;gap:10px}
.search-box input{flex:1;font-size:18px;padding:14px 18px;border:2px solid var(--border);border-radius:12px;background:var(--surface)}
.search-box input:focus{outline:none;border-color:var(--primary)}
.search-close{position:absolute;top:6px;right:6px}
.search-suggest a{display:block;padding:10px 6px;border-bottom:1px solid var(--border)}
.search-suggest small{color:var(--muted);margin-left:8px}
.search-box .chips{margin-top:16px}

/* Mobile nav */
.mobile-nav{position:fixed;inset:0;z-index:110;background:rgba(10,18,30,.5)}
.mobile-nav[hidden]{display:none}
.mobile-nav-panel{width:min(86vw,360px);height:100%;background:var(--bg);overflow-y:auto;padding:18px;animation:slideIn .2s ease}
@keyframes slideIn{from{transform:translateX(-100%)}to{transform:none}}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.mobile-nav ul{list-style:none;margin:0 0 18px;padding:0}
.mobile-nav li a{display:block;padding:12px 4px;border-bottom:1px solid var(--border);font:600 16px var(--font-head)}
.mobile-nav li ul{margin:0 0 0 14px}
.mobile-search input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);margin-bottom:10px}

/* Chips and badges */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips.scroll-x{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.chips.scroll-x::-webkit-scrollbar{display:none}
.chip{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:13.5px;font-weight:500;white-space:nowrap;transition:.15s}
.chip:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.cat-badge{--c:var(--primary);display:inline-block;font:600 11.5px var(--font-head);text-transform:uppercase;letter-spacing:.6px;color:var(--c);background:color-mix(in srgb,var(--c) 10%,transparent);padding:4px 10px;border-radius:6px}
.cat-badge:hover{background:var(--c);color:#fff}
.cat-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.eyebrow{display:inline-flex;align-items:center;gap:6px;font:600 12.5px var(--font-head);text-transform:uppercase;letter-spacing:1px;color:var(--accent)}
.meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:13px;align-items:center}
.meta span,.meta a{display:inline-flex;align-items:center;gap:5px}

/* Home */
.home-banners{display:grid;gap:14px;margin-top:22px}
.banner img,.ad-slot img{width:100%;border-radius:var(--radius);height:auto}
.banner{display:block;transition:transform .2s}
.banner:hover{transform:translateY(-2px)}

.trending{display:flex;align-items:center;gap:16px;margin-top:22px;padding:14px 18px;background:var(--surface);border-radius:var(--radius)}
.trending-title{display:flex;align-items:center;gap:6px;font-size:15px;margin:0;white-space:nowrap;color:var(--accent)}
.trending .chips{flex:1;min-width:0}
.trending .chip{background:var(--bg)}
.hero{margin-top:26px}
.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px}
.hero-side{display:flex;flex-direction:column;gap:14px}
.block{margin-top:44px}
.block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid var(--border);margin-bottom:20px;position:relative}
.block-head::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:2px;background:var(--c,var(--primary))}
.block-head h2{font-size:20px;margin:0;padding-bottom:10px;letter-spacing:.4px;display:flex;align-items:center;gap:8px}
.block-head h2 a:hover{color:var(--c,var(--primary))}
.view-all{display:inline-flex;align-items:center;gap:4px;font:600 13.5px var(--font-head);color:var(--c,var(--primary));padding-bottom:10px}
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.lead-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}
.lead-list{display:flex;flex-direction:column;gap:14px}
.wide-list{display:flex;flex-direction:column;gap:22px}
.most-read{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mr-item{display:flex;gap:16px;padding:20px;border-radius:var(--radius);background:var(--surface);transition:.2s}
.mr-item:hover{background:var(--surface-2);color:inherit}
.mr-num{font:700 40px/1 var(--font-head);color:color-mix(in srgb,var(--primary) 30%,transparent)}
.mr-body{display:flex;flex-direction:column;gap:10px}
.mr-title{font:600 16.5px/1.4 var(--font-head)}
.mr-item:hover .mr-title{color:var(--primary)}
.read-more{display:inline-flex;align-items:center;gap:4px;font:600 13.5px var(--font-head);color:var(--primary)}
.nl-inline{background:var(--surface);border-radius:var(--radius);padding:28px;text-align:center}

/* Cards */
.card{position:relative;display:flex;flex-direction:column;min-width:0}
.card-img{display:block;overflow:hidden;border-radius:var(--radius);background:var(--surface-2);aspect-ratio:16/9}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.04)}
.card-body{padding-top:12px;display:flex;flex-direction:column;gap:6px}
.card-title{font:600 17px/1.4 var(--font-head);margin:0}
.card-title a:hover{color:var(--primary)}
.card-excerpt{color:var(--muted);font-size:15px;margin:0}
.card-list{flex-direction:row;gap:14px;align-items:flex-start}
.card-list .card-img{width:132px;flex:none;aspect-ratio:4/3;border-radius:var(--radius-sm)}
.card-list .card-body{padding-top:0}
.card-list .card-title{font-size:15.5px}
.card-mini{flex-direction:row;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.card-mini:last-child{border-bottom:0}
.card-mini .card-img{width:84px;flex:none;aspect-ratio:4/3;border-radius:8px}
.card-mini .card-body{padding:0;gap:2px}
.card-mini .card-title{font-size:14.5px;font-weight:600}
.card-wide{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg);transition:box-shadow .2s}
.card-wide:hover{box-shadow:var(--shadow)}
.card-wide .card-img{border-radius:0;aspect-ratio:1140/246}
.card-wide .card-body{padding:18px 22px 20px;gap:8px}
.card-wide .card-title{font-size:22px}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.card-overlay{border-radius:var(--radius);overflow:hidden;min-height:100%}
.card-overlay .card-img{aspect-ratio:auto;height:100%;min-height:420px;border-radius:0}
.card-overlay .card-body{position:absolute;inset:auto 0 0 0;padding:28px;background:linear-gradient(transparent,rgba(5,12,24,.88) 45%);color:#fff}
.card-overlay .card-title{font-size:30px;color:#fff}
.card-overlay .card-title a:hover{color:#fff;text-decoration:underline}
.card-overlay .meta{color:#d7deea}
.card-pod .pod-thumb{position:relative}
.pod-play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--primary);display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .2s}
.card-pod:hover .pod-play{transform:scale(1.1)}
.pod-type{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font:600 11px var(--font-head);padding:3px 9px;border-radius:5px;text-transform:uppercase}
.card-pod .card-title{display:block;font-size:16px}

/* Layout with sidebar */
.layout{display:grid;gap:40px;margin-top:10px}
.layout.with-sidebar{grid-template-columns:minmax(0,1fr) 330px}
.sidebar{display:flex;flex-direction:column;gap:24px}
.widget{background:var(--surface);border-radius:var(--radius);padding:20px}
.widget-ad{padding:0;background:none}
.widget-title{display:flex;align-items:center;gap:8px;font-size:16px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--border)}
.widget-search form{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:4px 4px 4px 16px}
.widget-search input{flex:1;border:0;background:none;min-width:0}
.widget-search input:focus{outline:none}
.rank-list{list-style:none;margin:0;padding:0}
.rank-list li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.rank-list li:last-child{border:0}
.rank{flex:none;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font:700 13px var(--font-head)}
.rank-list a{font:600 14.5px/1.4 var(--font-head);display:block}
.cat-list{list-style:none;margin:0;padding:0}
.cat-list a{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--border);font-weight:500}
.count{background:var(--bg);border-radius:999px;padding:0 10px;font-size:12.5px;color:var(--muted)}
.widget-nl p{font-size:14px;color:var(--muted)}
.pod-mini{display:flex;gap:10px;align-items:center;margin-bottom:10px;font:600 14px/1.35 var(--font-head)}
.pod-mini img{width:96px;border-radius:8px;aspect-ratio:16/9;object-fit:cover}

/* Breadcrumb */
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:18px 0 6px;padding:0;font-size:13.5px;color:var(--muted)}
.breadcrumb li+li::before{content:"\203A";margin-right:6px}
.breadcrumb a:hover{color:var(--primary)}

/* Archive */
.archive-head{--c:var(--primary);padding:22px 0 26px;margin-bottom:10px;border-bottom:1px solid var(--border)}
.archive-head h1{font-size:clamp(28px,4vw,40px);margin:6px 0;color:var(--text)}
.archive-desc{color:var(--muted);max-width:760px}
.archive-list{display:flex;flex-direction:column;gap:24px;min-width:0}
.search-inline{display:flex;gap:10px;max-width:560px;margin:14px 0}
.search-inline input{flex:1;min-width:0;width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}
.empty{padding:30px;background:var(--surface);border-radius:var(--radius)}
.tabs{display:flex;gap:8px;margin-top:14px}
.tab{padding:8px 18px;border-radius:999px;background:var(--surface);font-weight:600;font-size:14px}
.tab.active{background:var(--primary);color:#fff}

/* Pagination */
.pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:20px 0}
.pg-num,.pg-btn,.pg-dots{display:inline-flex;align-items:center;gap:4px;min-width:42px;height:42px;padding:0 14px;justify-content:center;border-radius:10px;background:var(--surface);font-weight:600}
.pg-num.current{background:var(--primary);color:#fff}
.pg-num:hover,.pg-btn:hover{background:var(--surface-2)}
.pg-dots{background:none}

/* Post */
.read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60}
.read-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .1s}
.post{min-width:0}
.post-header{margin:14px 0 20px}
.post-title{font-size:clamp(28px,4.2vw,42px);line-height:1.2;letter-spacing:-.3px;margin:6px 0 14px}
.post-dek{font-size:19px;color:var(--muted);line-height:1.55}
.post-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;color:var(--muted);font-size:14px}
.post-meta>span{display:inline-flex;align-items:center;gap:6px}
.author-chip{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:600}
.author-chip img,.author-chip .avatar-fallback{width:36px;height:36px;border-radius:50%;object-fit:cover}
.author-chip small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.avatar-fallback{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;font:700 15px var(--font-head);flex:none}
.avatar-fallback.lg{width:80px;height:80px;font-size:30px}
.avatar-fallback.xl{width:120px;height:120px;font-size:44px}
.post-hero{margin:0 0 18px}
.post-hero img{width:100%;border-radius:var(--radius)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0}
.share-label{font:600 14px var(--font-head);margin-right:6px}
.sh{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:0;background:var(--surface);color:var(--text);transition:.15s}
.sh:hover{transform:translateY(-2px);color:#fff}
.sh-wa:hover{background:#25d366}.sh-li:hover{background:#0a66c2}.sh-x:hover{background:#111}.sh-fb:hover{background:#1877f2}.sh-tg:hover{background:#229ed9}.sh-mail:hover,.sh-copy:hover,.sh-print:hover{background:var(--primary)}
.sh.copied{background:#16a34a;color:#fff}
.toc{background:var(--surface);border-left:4px solid var(--primary);border-radius:var(--radius-sm);padding:14px 20px;margin:18px 0 26px}
.toc summary{display:flex;align-items:center;gap:8px;font:600 16px var(--font-head);cursor:pointer}
.toc ol{margin:10px 0 0;padding-left:20px}
.toc li{margin:4px 0}
.toc .toc-h3{margin-left:18px;list-style:circle;font-size:14.5px}
.toc a:hover{text-decoration:underline}
.post-content{font-size:18px;line-height:1.8;overflow-wrap:anywhere;word-break:break-word}
.search-inline .btn{flex:none}
.post-content>*{max-width:100%}
.post-content h2{font-size:26px;margin:1.6em 0 .6em}
.post-content h3{font-size:21px;margin:1.4em 0 .5em}
.post-content a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.post-content img{border-radius:var(--radius-sm);margin:1.2em auto;height:auto}
.post-content figure{margin:1.4em 0}
.post-content figcaption{font-size:14px;color:var(--muted);text-align:center;margin-top:6px}
.post-content blockquote{margin:1.6em 0;padding:16px 22px;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:19px;font-style:italic}
.post-content table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:15.5px;display:block;overflow-x:auto}
.post-content th,.post-content td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.post-content th{background:var(--surface)}
.post-content ul,.post-content ol{padding-left:1.4em}
.post-content li{margin:.35em 0}
.post-content iframe{width:100%;border:0;border-radius:var(--radius-sm)}
.post-content .in-article{margin:1.6em 0}
.faq{margin:30px 0}
.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:10px}
.faq-item summary{font-weight:600;cursor:pointer}
.faq-item div{margin-top:10px;color:var(--muted)}
.post-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:26px 0}
.author-box{display:flex;gap:20px;padding:24px;background:var(--surface);border-radius:var(--radius);margin:30px 0}
.author-box img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex:none}
.author-box h2{font-size:20px;margin:2px 0}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}
.pn{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--border);border-radius:var(--radius)}
.pn span{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;font-weight:600}
.pn strong{font:600 15.5px/1.4 var(--font-head)}
.pn.next{text-align:right;align-items:flex-end}
.pn:hover{border-color:var(--primary)}
.section-title{font-size:22px;margin:0 0 18px}
.related,.comments{margin-top:36px}
.comment{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}
.comment p{margin:4px 0 0}
.comment-form,.contact-form{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.comment-form input,.comment-form textarea,.contact-form input,.contact-form textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.comment-form .btn,.contact-form .btn{align-self:flex-start}
.form-msg{margin:0;font-size:14px;font-weight:500}
.form-msg.ok{color:#16a34a}.form-msg.err{color:#dc2626}
.media-player{margin:10px 0 24px}
.embed-16x9{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000}
.embed-16x9 iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.embed-spotify{width:100%;border:0;border-radius:12px}
.media-player audio,.media-player video{width:100%}
.author-hero{display:flex;gap:26px;align-items:center;padding:26px 0;border-bottom:1px solid var(--border);margin-bottom:24px}
.author-hero img{width:120px;height:120px;border-radius:50%;object-fit:cover}
.author-hero h1{margin:4px 0}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}
.contact-info{background:var(--surface);border-radius:var(--radius);padding:22px;align-self:start}
.err-code{font:800 110px/1 var(--font-head);color:color-mix(in srgb,var(--primary) 25%,transparent);margin-top:40px}

/* Newsletter band and footer */
.newsletter-band{margin-top:60px;background:linear-gradient(120deg,var(--primary),color-mix(in srgb,var(--primary) 60%,var(--dark)));color:#fff}
.newsletter-in{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding-top:40px;padding-bottom:40px}
.newsletter-band h2{color:#fff;font-size:26px;margin:0 0 6px}
.newsletter-band p{color:#dbe6f7;margin:0}
.nl-form{display:flex;flex-wrap:wrap;gap:10px}
.nl-form input[type=email]{flex:1;min-width:200px;padding:13px 18px;border-radius:999px;border:1px solid var(--border);background:var(--bg)}
.newsletter-band .nl-form input[type=email]{border:0}
.nl-form .form-msg{flex-basis:100%}
.newsletter-band .form-msg.ok{color:#bbf7d0}
.site-footer{background:var(--dark);color:#c8d2e1;font-size:15px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:30px;padding-top:50px;padding-bottom:40px}
.footer-logo{height:52px;width:auto;margin-bottom:14px;background:#fff;padding:6px 10px;border-radius:8px}
.site-footer h3{color:#fff;font-size:16px;margin-bottom:14px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:8px 0}
.site-footer a:hover{color:#fff}
.footer-contact{display:flex;align-items:center;gap:6px}
.site-footer .social a{background:rgba(255,255,255,.08);color:#fff}
.site-footer .social a:hover{background:var(--accent)}
.install-app{margin-top:16px;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.4)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;font-size:13.5px}
.footer-bottom p{margin:0}
.footer-legal{display:flex;gap:16px}
.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow);z-index:40}
.to-top[hidden]{display:none}
.push-prompt{position:fixed;left:50%;transform:translateX(-50%);top:16px;z-index:90;display:flex;gap:14px;width:min(94vw,440px);background:var(--bg);border-radius:14px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.25);border:1px solid var(--border)}
.push-prompt[hidden]{display:none}
.push-prompt p{font-size:14px;color:var(--muted);margin:4px 0 10px}
.push-prompt-icon{width:48px;height:48px;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);display:grid;place-items:center;flex:none}
.push-prompt-actions{display:flex;gap:8px}

/* Responsive */
@media (max-width:1100px){
  .main-nav{display:none}
  .menu-toggle{display:inline-grid}
  .header-in{justify-content:space-between}
  .brand{margin-right:auto}
  .layout.with-sidebar{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .hero-grid,.lead-grid,.newsletter-in,.contact-grid{grid-template-columns:1fr}
  .most-read{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .card-overlay .card-img{min-height:320px}
  .card-overlay .card-title{font-size:23px}
  .trending{flex-direction:column;align-items:flex-start;gap:10px}
  .trending .chips{width:100%}
}
@media (max-width:600px){
  :root{--gutter:16px}
  .grid-2,.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}
  .header-in{min-height:64px}
  .brand .logo{height:40px}
  .topbar-date{display:none}
  .card-wide .card-title{font-size:19px}
  .card-wide .card-img{aspect-ratio:16/7}
  .post-content{font-size:17px}
  .form-row,.post-nav{grid-template-columns:1fr}
  .author-box,.author-hero{flex-direction:column;align-items:flex-start}
  .card-list .card-img{width:104px}
  .search-box{padding:20px 16px}
  .search-box form{flex-direction:column}
}

/* Print / Save as PDF */
@media print{
  .topbar,.site-header,.site-footer,.newsletter-band,.sidebar,.share,.post-nav,.related,.comments,.to-top,.push-prompt,.read-progress,.breadcrumb,.ad-slot,.banner,.in-article,.toc{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .layout.with-sidebar{display:block}
  .post-content{font-size:12pt}
  .post-content a{color:#000}
  .post-content a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
  .post::after{content:"Source: " attr(data-url);display:block;margin-top:20px;font-size:9pt;color:#555}
  img{max-height:420px;object-fit:contain}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* logo: light and dark versions */
.logo-dark{display:none!important}
[data-theme="dark"] .logo-dark{display:block!important}
[data-theme="dark"] .logo-light:has(+ .logo-dark){display:none!important}
.brand .logo{height:58px;width:auto}
.mnav-logo{height:40px;width:auto}
@media (max-width:600px){.brand .logo{height:44px}}
/* promo banners (sidebar stack and homepage strip) */
.widget-ad{margin:0}
.widget-ad+.widget-ad{margin-top:-12px}
.sidebar .banner img,.sidebar .ad-slot img{border-radius:8px}
.nr-side-ad{display:block;margin-top:10px}
.pos-home_promo{display:grid;gap:14px;grid-template-columns:1fr}
