/* ==========================================================================
   Brit7 News — theme stylesheet
   Tokens mirror the Brit7 News design system (tokens.json).
   ========================================================================== */

/* ---------- Fonts (self-hosted, latin subset, woff2) ---------- */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../fonts/source-serif-4-latin-opsz-normal.woff2) format("woff2-variations"),url(../fonts/source-serif-4-latin-opsz-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../fonts/source-serif-4-latin-opsz-italic.woff2) format("woff2-variations"),url(../fonts/source-serif-4-latin-opsz-italic.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
	--surface:#ffffff;
	--surface-alt:#f4f1ec;
	--ink:#0a1722;
	--on-ink:#ffffff;
	--muted:#56616b;
	--rule:#0a1722;
	--red:#d7141a;
	--on-red:#ffffff;
	--red-text:#c4121a;
	--red-deep:#8e0d12;
	--live:#ffc629;
	--on-live:#0a1722;
	--success:#1f6f43;
	--focus:#1a5fd0;

	--font-display:"Barlow Condensed","Arial Narrow",sans-serif;
	--font-serif:"Source Serif 4",Georgia,serif;
	--font-sans:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;

	--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
	--radius-sm:2px;
	--max:1280px;
	--gutter:32px;
	--measure:680px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}
img,svg,video,iframe{max-width:100%}
img{height:auto;display:block}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--red-text)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-.005em}
p{margin:0 0 1em}
hr{border:0;border-top:2px dotted var(--rule);opacity:.7;margin:var(--space-6) 0}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--surface);clip:auto!important;clip-path:none;color:var(--ink);display:block;font-weight:700;height:auto;left:8px;padding:14px 20px;top:8px;width:auto;z-index:100000}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:8px;top:8px;z-index:10000;background:var(--ink);color:var(--on-ink);padding:12px 16px}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.site-main{display:block;min-height:40vh}

/* ---------- Type styles ---------- */
.t-masthead{font-family:var(--font-display);font-weight:800;font-size:76px;line-height:.86;letter-spacing:-.01em;text-transform:uppercase}
.t-xl{font-family:var(--font-display);font-weight:700;font-size:60px;line-height:.96;letter-spacing:-.015em}
.t-lg{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1;letter-spacing:-.01em}
.t-md{font-family:var(--font-display);font-weight:600;font-size:26px;line-height:1.1}
.t-sm{font-family:var(--font-display);font-weight:600;font-size:20px;line-height:1.15}
.t-deck{font-family:var(--font-serif);font-size:20px;line-height:1.55;font-weight:400;font-optical-sizing:auto}
.t-byline{font-family:var(--font-sans);font-size:13px;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.t-ui{font-size:15px;line-height:1.45}
.muted{color:var(--muted)}
.red{color:var(--red-text)}

.sect-title{font-family:var(--font-display);font-weight:800;font-size:80px;line-height:.88;margin:0 0 28px;letter-spacing:-.01em;text-transform:uppercase}
.sect-title .red{color:var(--red-text)}
.page-title{font-family:var(--font-display);font-weight:800;font-size:128px;line-height:.85;margin:36px 0 32px;border-bottom:8px solid var(--red);padding-bottom:14px;text-transform:uppercase;letter-spacing:-.01em;overflow-wrap:anywhere}
.page-intro{font-family:var(--font-serif);font-size:20px;line-height:1.55;max-width:760px;margin:-12px 0 32px}
.colhead{font-family:var(--font-display);font-weight:800;font-size:44px;line-height:1;margin:0 0 18px;padding-bottom:10px;border-bottom:4px solid var(--ink);text-transform:uppercase}
.colhead a{text-decoration:none}

/* ---------- Tags / kickers ---------- */
.tag{display:inline-block;background:var(--red);color:var(--on-red);font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1;letter-spacing:.03em;padding:7px 9px 5px;text-transform:uppercase;white-space:nowrap;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:top}
a.tag:hover{background:var(--red-deep);color:var(--on-red)}
.tag--lg{font-size:26px;padding:9px 12px 7px}
.tag--sm{font-size:15px;padding:6px 7px 4px}
.tag--live{background:var(--live);color:var(--on-live)}
.tag--ink{background:var(--ink);color:var(--on-ink)}
.excl{display:inline-flex;align-items:center;gap:6px;color:var(--red-text);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0}

/* ---------- Buttons ---------- */
.btn,.b7-btn,.wp-block-button__link,.comment-form .submit,.search-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:0;cursor:pointer;min-height:48px;padding:12px 22px;font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap;background:var(--ink);color:var(--on-ink);transition:background-color .15s,color .15s}
.btn:hover,.b7-btn:hover{color:var(--on-ink);background:#1c2c3a}
.btn--red,.b7-btn--red,.wp-block-button__link,.comment-form .submit,.search-submit{background:var(--red);color:var(--on-red)}
.btn--red:hover,.b7-btn--red:hover,.wp-block-button__link:hover,.comment-form .submit:hover,.search-submit:hover{background:var(--red-deep);color:var(--on-red)}
.btn--live{background:var(--live);color:var(--on-live)}
.btn--live:hover{background:#ffd65c;color:var(--on-live)}
.btn--line,.b7-btn--line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn--line:hover,.b7-btn--line:hover{background:var(--ink);color:var(--on-ink)}
.btn--white{background:var(--on-red);color:var(--red-text)}
.btn--white:hover{background:var(--surface-alt);color:var(--red-deep)}
.btn--sm,.b7-btn--sm{min-height:40px;padding:8px 14px;font-size:18px}
.btn--full,.b7-btn--full{width:100%}
.b7-btn--ink{background:var(--ink);color:var(--on-ink)}
.btn[disabled],.b7-btn[disabled]{opacity:.6;cursor:progress}
.link-btn,.b7-link{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-weight:700;color:var(--red-text)}
.link-btn:focus-visible,.b7-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.icon-btn{background:none;border:0;cursor:pointer;width:44px;height:44px;display:inline-grid;place-items:center;padding:0;color:var(--ink)}
.icon-btn:hover{color:var(--red-text)}

/* ---------- Forms ---------- */
.b7-input,.search-field,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea,.post-password-form input[type=password]{width:100%;font-size:16px;padding:12px 14px;border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);min-height:50px;appearance:none}
select.b7-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230a1722' stroke-width='2.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
textarea.b7-input{min-height:160px;resize:vertical}
.b7-label,.comment-form label{display:block;font-weight:700;font-size:14px;margin:0 0 6px}
.b7-field{display:flex;gap:10px;flex-wrap:wrap}
.b7-field .b7-input{flex:1 1 220px;width:auto}
.b7-stack{display:grid;gap:10px}
.b7-check{display:flex;gap:12px;align-items:center;font-size:16px;min-height:44px;cursor:pointer;margin:6px 0}
.b7-check input{width:22px;height:22px;flex:none;accent-color:var(--red)}
.b7-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.b7-msg{font-weight:600;margin:10px 0}
.b7-msg.is-error{color:var(--red-text)}
.b7-msg.is-ok{color:var(--success);display:flex;gap:8px;align-items:center}
.b7-form p{margin:0 0 14px}
.b7-small{font-size:14px;color:var(--muted);margin:8px 0 0}
.b7-small a{color:var(--red-text);font-weight:700}
.b7-eyebrow{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;color:var(--muted)}
.b7-eyebrow--red{color:var(--red-text)}
.b7-lede{font-size:17px;margin:0 0 14px}
.b7-h,.b7-gate-h{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1;margin:0 0 12px}
.b7-h3{font-family:var(--font-display);font-weight:600;font-size:26px;line-height:1.1;margin:0 0 8px;overflow-wrap:anywhere}
.b7-display{font-family:var(--font-display);font-weight:700;font-size:76px;line-height:.95;margin:0}
.b7-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.b7-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.b7-grid2 .b7-wide{grid-column:1/-1}

/* ---------- Header ---------- */
.site-header{background:var(--surface);position:relative;z-index:20}
.hdr{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"mast actions" "mast nav";column-gap:40px;row-gap:16px;padding-top:16px}
.mast{grid-area:mast;display:block;background:var(--red);color:var(--on-red);padding:20px 24px 14px;text-decoration:none;align-self:start}
.mast:hover{color:var(--on-red);background:var(--red-deep)}
.mast .t-masthead{display:block;white-space:nowrap}
.mast--logo{background:none;padding:0}
.mast--logo:hover{background:none}
.mast--logo img{max-height:120px;width:auto}
.actions{grid-area:actions;justify-self:end;display:flex;align-items:center;gap:20px}
.act{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.primary-nav{grid-area:nav;align-self:end;justify-self:end;max-width:100%;min-width:0}
.nav-menu{list-style:none;margin:0;padding:0 0 2px;display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nav-menu::-webkit-scrollbar{display:none}
.nav-menu a{display:block;font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:.03em;white-space:nowrap;padding:2px 0;border-bottom:4px solid transparent;text-decoration:none;text-transform:uppercase}
.nav-menu a:hover{color:var(--red-text)}
.nav-menu .current-menu-item>a,.nav-menu .current-menu-ancestor>a,.nav-menu .current-post-ancestor>a,.nav-menu .current-category-ancestor>a,.nav-menu .current_page_item>a{border-bottom-color:var(--red)}
.nav-menu .is-tv>a{color:var(--red-text)}
.nav-menu .sub-menu{display:none}
.primary-nav.is-overflow{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}

.drawer{background:var(--ink);color:var(--on-ink);margin-top:16px}
.drawer[hidden]{display:none}
.drawer a{color:var(--on-ink)}
.drawer-in{padding:28px var(--gutter);max-width:var(--max);margin:0 auto;display:grid;gap:24px}
.drawer .search-form{max-width:640px}
.drawer .search-field{background:var(--surface);border-color:var(--surface)}
.drawer-menus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 32px}
.drawer-menus ul{list-style:none;margin:0;padding:0;display:contents}
.drawer-menus a{display:block;padding:6px 0;font-family:var(--font-display);font-weight:700;font-size:26px;text-decoration:none;text-transform:uppercase}
.drawer-menus a:hover{text-decoration:underline;color:var(--on-ink)}

.ticker{display:flex;align-items:center;gap:14px;border-top:3px solid var(--ink);border-bottom:2px dotted var(--rule);margin-top:18px;padding:10px 0}
.ticker .tag{flex:none}
.ticker p{margin:0;font-weight:600;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticker a{text-decoration:underline;text-underline-offset:3px}

/* ---------- Media / placeholders ---------- */
.media{position:relative;display:block;overflow:hidden;background:var(--surface-alt);aspect-ratio:3/2}
.media--video{aspect-ratio:16/9}
.media--square{aspect-ratio:1/1}
.media--tall{aspect-ratio:4/3}
.media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
a.media:hover img{transform:scale(1.02)}
.media--ph{display:grid;place-items:end start;padding:10px}
.media--ph::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 60px,rgba(255,255,255,.06) 60px 80px)}
.tone-0{background:#0a1722}.tone-1{background:#d7141a}.tone-2{background:#3d4a55}.tone-3{background:#c8bca9}.tone-4{background:#a9bfcf}
.media--lead{border-bottom:8px solid var(--red)}
.playb{position:absolute;left:12px;top:12px;width:44px;height:44px;background:var(--live);color:var(--on-live);display:grid;place-items:center;z-index:2}
.dur{position:absolute;right:10px;bottom:10px;background:var(--ink);color:var(--on-ink);font-size:12px;font-weight:700;padding:3px 6px;z-index:2;letter-spacing:.04em}
.livedot{display:inline-block;width:10px;height:10px;border-radius:9999px;background:var(--red);margin-right:6px;animation:b7pulse 1.4s infinite}
@keyframes b7pulse{50%{opacity:.35}}

/* ---------- Cards ---------- */
.card{display:flex;flex-direction:column;gap:10px;min-width:0}
.card .hl{margin:0}
.hl a{text-decoration:none}
.hl a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;color:var(--ink)}
.card .t-byline{margin:0}
.card--stack{padding-bottom:24px;margin-bottom:24px;border-bottom:2px dotted var(--rule)}
.card--stack:last-child{border-bottom:0;margin-bottom:0}
.card--lead .tag{margin-top:-8px;align-self:flex-start}
.card--lead .t-deck{margin:0}
.mini{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:start;min-width:0}
.mini .card{gap:8px}
.mini--rule{padding-bottom:24px;border-bottom:2px dotted var(--rule)}
.mini .t-ui{margin:0}

/* ---------- Homepage ---------- */
.band1{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:36px;padding-top:32px}
.stack{display:flex;flex-direction:column;min-width:0}
.band2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin-top:56px}
.latest{padding-right:44px;min-width:0}
.cheat{border-left:3px solid var(--red);padding-left:44px;min-width:0}
.cheat-updated{margin:-14px 0 0}
.cheat-item{display:flex;flex-direction:column;gap:8px;padding-bottom:20px;margin-bottom:20px;border-bottom:2px dotted var(--rule)}
.cheatk{display:flex;align-items:baseline;gap:10px;margin:0;font-family:var(--font-display);font-weight:800;font-size:22px;text-transform:uppercase;line-height:1.1}
.num{color:var(--red-text);font-family:var(--font-display);font-weight:800;font-size:36px;line-height:1}
.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tvband{background:var(--ink);color:var(--on-ink);margin-top:64px;padding:48px 0 56px}
.tvband a{color:var(--on-ink)}
.tvband-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.tvband .sect-title{margin:0;color:var(--on-ink)}
.tv-yellow{color:var(--live)}
.vid{display:flex;flex-direction:column;gap:10px;text-decoration:none;min-width:0}
.vid:hover .vt{text-decoration:underline}
.vt{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.1}
.nlband{background:var(--surface-alt);padding:52px 0}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.band5{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:56px}
.ev{display:grid;grid-template-columns:68px minmax(0,1fr);gap:16px;align-items:start;padding-bottom:18px;margin-bottom:18px;border-bottom:2px dotted var(--rule)}
.ev p{margin:0}
.ev .t-sm a,.ev .t-md a{text-decoration:none}
.date{background:var(--red);color:var(--on-red);text-align:center;padding:8px 0 6px;font-family:var(--font-display);font-weight:800;line-height:1}
.date b{display:block;font-size:34px}
.date span{font-size:15px;letter-spacing:.06em}
.notice-mini{padding-bottom:14px;margin-bottom:14px;border-bottom:2px dotted var(--rule)}
.notice-mini p{margin:0}
.tipbox{background:var(--red);color:var(--on-red);padding:28px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.tipbox p{margin:0}

/* ---------- Ads ---------- */
.ad{background:var(--surface-alt);border:1px solid rgba(10,23,34,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px;overflow:hidden}
.ad--leader{min-height:110px;margin-top:16px}
.ad--mpu{min-height:250px}
.ad--half{min-height:600px}
.ad-label{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:700;text-transform:uppercase}
.ad-pitch{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.1;margin:0}
.ad .widget{width:100%}

/* ---------- Article ---------- */
.artgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding-top:28px}
.article{max-width:760px;min-width:0}
.crumb{font-weight:700;font-size:14px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.article-tags{display:flex;gap:8px;margin:18px 0 14px;flex-wrap:wrap}
.article-title{margin:0 0 16px}
.article-deck{margin:0 0 18px}
.article-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 22px}
.article-meta a{text-decoration:none}
.article-figure{margin:0 0 8px}
.article-figure figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.entry-content{font-family:var(--font-serif);font-size:19px;line-height:1.7;font-optical-sizing:auto;margin-top:24px;overflow-wrap:break-word}
.entry-content>*{max-width:var(--measure)}
.entry-content>.alignwide{max-width:none}
.entry-content p{margin:0 0 22px}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:var(--font-display);margin:36px 0 14px}
.entry-content h2{font-size:34px}.entry-content h3{font-size:28px}.entry-content h4{font-size:22px}
.entry-content a{color:var(--red-text);text-decoration:underline}
.entry-content blockquote,.wp-block-quote{margin:32px 0;padding:0 0 0 0;border:0;font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1.1}
.entry-content blockquote::before{content:"“";display:block;color:var(--red-text);font-size:80px;line-height:.6;margin-bottom:6px}
.entry-content blockquote cite{display:block;margin-top:10px;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--muted)}
.entry-content ul,.entry-content ol{padding-left:1.2em;margin:0 0 22px}
.entry-content li{margin:0 0 8px}
.entry-content figure{margin:28px 0}
.entry-content figcaption,.wp-caption-text{font-family:var(--font-sans);font-size:14px;color:var(--muted);margin-top:8px}
.entry-content table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:16px}
.entry-content th,.entry-content td{border-bottom:1px solid rgba(10,23,34,.2);padding:10px;text-align:left}
.entry-content pre{background:var(--surface-alt);padding:16px;overflow:auto;font-size:15px}
.entry-content .wp-block-embed,.entry-content iframe{max-width:100%}
.alignleft{float:left;margin:6px 24px 16px 0}.alignright{float:right;margin:6px 0 16px 24px}.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.sticky,.bypostauthor,.gallery-caption{outline:0}
.b7-preview{position:relative}
.b7-fade{height:150px;margin-top:-150px;position:relative;background:linear-gradient(rgba(255,255,255,0),var(--surface));pointer-events:none}
.b7-meter{background:var(--surface-alt);padding:12px 16px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:24px 0 0;font-family:var(--font-sans)}
.b7-meter p{margin:0;font-weight:600}
.b7-gate{background:var(--surface-alt);border-top:8px solid var(--red);padding:40px;display:flex;flex-direction:column;gap:6px;margin-top:8px;font-family:var(--font-sans);font-size:16px;line-height:1.5;max-width:none!important}
.b7-gate .b7-form{margin-top:8px}
.entry-content .b7-gate h2,.b7-gate .b7-gate-h{margin:0 0 6px;font-size:40px}
.entry-content .b7-gate p{margin:0 0 6px}
.b7-gate .b7-eyebrow{margin:0}
.b7-gate-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 6px}
.b7-gp{background:var(--surface);border:2px solid var(--ink);padding:16px;display:flex;flex-direction:column;gap:4px;text-decoration:none!important;color:var(--ink)!important}
.b7-gp:hover{border-color:var(--red)}
.b7-gp strong{font-family:var(--font-display);font-size:30px;line-height:1}
.share{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:28px 0 0}
.share a,.share button{display:inline-grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);background:none;cursor:pointer;color:var(--ink)}
.share a:hover,.share button:hover{background:var(--ink);color:var(--on-ink)}
.post-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 0;padding:0;list-style:none}
.post-tags a{display:inline-block;border:2px solid var(--ink);padding:4px 10px;font-weight:600;font-size:14px;text-decoration:none}
.offerbox{background:var(--surface-alt);border-top:6px solid var(--red);padding:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:28px}
.offerbox p{margin:0}
.mostread-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding-bottom:16px;margin-bottom:16px;border-bottom:2px dotted var(--rule)}
.sidebar{min-width:0}
.sidebar .widget{margin-bottom:32px}
.widget-title{font-family:var(--font-display);font-weight:800;font-size:30px;text-transform:uppercase;border-bottom:4px solid var(--ink);padding-bottom:8px;margin:0 0 14px}
.widget ul{list-style:none;margin:0;padding:0}
.widget .wp-block-search__button{background:var(--red);color:var(--on-red);border:0;font-family:var(--font-display);font-weight:700;text-transform:uppercase;padding:0 16px}
.widget .wp-block-search__input{border:2px solid var(--ink);min-height:44px}
.widget li{padding:8px 0;border-bottom:2px dotted rgba(10,23,34,.5)}
.related{margin-top:56px}

/* ---------- Archive / search ---------- */
.archive-lead{margin-bottom:8px}
.pagination,.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 0}
.page-numbers{display:inline-grid;place-items:center;min-width:48px;height:48px;padding:0 12px;border:2px solid var(--ink);font-family:var(--font-display);font-weight:700;font-size:20px;text-decoration:none}
.page-numbers.current{background:var(--ink);color:var(--on-ink)}
.page-numbers:hover{background:var(--red);border-color:var(--red);color:var(--on-red)}
.search-form{display:flex;gap:10px;flex-wrap:wrap}
.search-form label{flex:1 1 260px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}
.chip{display:inline-flex;align-items:center;border:2px solid var(--ink);padding:8px 16px;min-height:44px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}
.chip.is-on{background:var(--ink);color:var(--on-ink)}
.chip:hover{background:var(--ink);color:var(--on-ink)}
.notice-row{border-bottom:2px dotted var(--rule);padding:18px 0;display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px}
.notice-row p{margin:0}
.notice-row .t-sm a{text-decoration:none}
.empty{padding:40px 0}

/* ---------- Brit7 TV ---------- */
.player{position:relative;aspect-ratio:16/9;background:#0a1722;color:#fff;overflow:hidden}
.player iframe,.player video,.player .wp-video,.player .mejs-container{position:absolute!important;inset:0;width:100%!important;height:100%!important}
.player .media{position:absolute;inset:0;aspect-ratio:auto;height:100%}
.bigplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:96px;height:96px;background:var(--live);color:var(--on-live);display:grid;place-items:center;z-index:3;text-decoration:none}
.bigplay:hover{background:#ffd65c;color:var(--on-live)}
.vlist{display:flex;flex-direction:column;gap:18px}
.vrow{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;align-items:start;text-decoration:none}
.vrow:hover .vt{text-decoration:underline}
.sched{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 16px;margin:0}
.sched dt{font-family:var(--font-display);font-weight:800;font-size:24px;color:var(--red-text)}
.sched dd{margin:0;font-weight:600;padding-top:4px}

/* ---------- Event single ---------- */
.event-facts{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px 16px;margin:24px 0;padding:24px;background:var(--surface-alt)}
.event-facts dt{font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.event-facts dd{margin:0;font-weight:600}

/* ---------- Subscribe / account (Brit7 Core markup) ---------- */
.sub-hero{max-width:900px;margin:48px 0 40px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.sub-hero .t-xl{font-size:76px}
.b7-step{max-width:560px;margin:0 0 28px}
.b7-step .b7-eyebrow{margin-top:20px}
.b7-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.b7-plan{border:2px solid var(--ink);padding:32px;display:flex;flex-direction:column;gap:10px;position:relative;background:var(--surface)}
.b7-plan p{margin:0}
.b7-plan.is-on{outline:4px solid var(--red);outline-offset:-4px}
.b7-price{font-family:var(--font-display);font-weight:800;font-size:96px;line-height:.85}
.b7-plan-sub{font-family:var(--font-display);font-weight:600;font-size:22px}
.b7-plan .b7-btn{margin-top:auto}
.b7-badge{position:absolute;top:-16px;right:24px;background:var(--ink);color:var(--on-ink);font-family:var(--font-display);font-weight:700;font-size:18px;padding:7px 10px 5px;text-transform:uppercase;letter-spacing:.03em}
.b7-demo-note{margin-top:16px;padding:10px 14px;background:#fff5d6;color:#5a4300;display:inline-block}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:17px}
.ticks svg{flex:none;color:var(--success);margin-top:2px}
.faq h3{font-size:22px;margin:0 0 4px}
.faq p{margin:0 0 16px}
.b7-account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.b7-col{display:flex;flex-direction:column;gap:24px;min-width:0}
.b7-panel{border:2px solid var(--ink);padding:28px;display:flex;flex-direction:column;gap:6px}
.b7-panel p{margin:0}
.b7-offer{background:var(--surface-alt);border-top:6px solid var(--red);padding:24px;display:flex;flex-direction:column;gap:10px;margin-top:10px}
.b7-offer[hidden]{display:none}
.b7-offer p{margin:0}
.b7-welcome{display:flex;flex-direction:column;gap:18px;align-items:flex-start;max-width:720px;margin:0 0 48px}
.b7-welcome p{margin:0}
.b7-bigcheck{width:88px;height:88px;background:var(--red);color:var(--on-red);display:grid;place-items:center}
.b7-auth{max-width:560px}
.b7-tabs{display:flex;border-bottom:3px solid var(--ink);margin-bottom:24px}
.b7-tab{background:none;border:0;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:24px;padding:10px 20px;min-height:48px}
.b7-tab[aria-selected=true]{background:var(--ink);color:var(--on-ink)}
.b7-pane[hidden]{display:none}
.contact-box{background:var(--surface-alt);padding:28px;display:flex;flex-direction:column;gap:10px}
.contact-box p{margin:0}
.narrow{max-width:560px;margin:48px auto 0}

/* ---------- Comments ---------- */
.comments{margin-top:48px;max-width:760px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list .children{list-style:none;padding-left:24px;border-left:3px solid var(--surface-alt)}
.comment-body{padding:18px 0;border-bottom:2px dotted var(--rule)}
.comment-meta{font-size:14px;color:var(--muted);margin-bottom:8px}
.comment-author .fn{font-weight:700;color:var(--ink);font-style:normal}
.comment-author img{border-radius:9999px;float:left;margin-right:10px}
.comment-form p{margin:0 0 14px}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--on-ink);margin-top:72px;padding:52px 0 40px}
.site-footer a{color:var(--on-ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:var(--on-ink)}
.footgrid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px}
.foot-mast{display:inline-block;background:var(--red);color:var(--on-red);font-size:48px;padding:12px 14px 6px}
.foot-about{max-width:360px;opacity:.8;margin:14px 0 0}
.foot-menu{list-style:none;margin:0;padding:0}
.foot-menu a{display:block;padding:6px 0;font-weight:600}
.foot-head{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin:0 0 8px}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.2);margin-top:40px;padding-top:20px;font-size:14px;opacity:.8}
.social{display:flex;gap:8px;margin-top:16px}
.social a{display:grid;place-items:center;width:44px;height:44px;border:2px solid rgba(255,255,255,.6)}
.social a:hover{background:var(--on-ink);color:var(--ink)}
body.has-offer .site-footer{padding-bottom:140px}

/* ---------- Sticky offer bar ---------- */
.offer-bar{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:var(--on-ink);z-index:50;box-shadow:0 -6px 18px rgba(0,0,0,.25);transform:translateY(0);transition:transform .25s ease}
.offer-bar[hidden]{display:none}
.offer-bar.is-closing{transform:translateY(110%)}
.offer-in{display:flex;align-items:center;gap:24px;padding:16px var(--gutter);max-width:1440px;margin:0 auto}
.offer-title{font-family:var(--font-display);font-weight:800;font-size:40px;line-height:1;white-space:nowrap}
.offer-text{font-family:var(--font-display);font-weight:600;font-size:24px;flex:1;min-width:0}
.offer-bar .icon-btn{color:var(--on-ink)}

/* ---------- 404 ---------- */
.error-hero{padding:24px 0 8px}

/* ---------- Responsive ---------- */
@media (max-width:1280px){
	.t-masthead{font-size:64px}
	.nav-menu{gap:16px}
	.nav-menu a{font-size:20px}
}
@media (max-width:1100px){
	.band1{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
	.band1 .lead-col{grid-column:1/-1;order:-1}
	.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.artgrid{grid-template-columns:minmax(0,1fr) 280px;gap:40px}
}
@media (max-width:960px){
	:root{--gutter:16px}
	.hdr{grid-template-areas:"mast actions" "nav nav";column-gap:12px;row-gap:12px}
	.mast{padding:12px 14px 8px}
	.t-masthead{font-size:38px}
	.mast--logo img{max-height:56px}
	.primary-nav{justify-self:stretch}
	.nav-menu{gap:20px}
	.nav-menu a{font-size:20px}
	.actions{gap:6px}
	.act{font-size:17px}
	.hide-sm{display:none!important}
	.band1,.band2,.band5,.feature,.split,.artgrid,.b7-plans,.b7-account,.footgrid,.b7-gate-plans,.grid3{grid-template-columns:minmax(0,1fr)}
	.grid4,.grid2{grid-template-columns:minmax(0,1fr)}
	.latest{padding-right:0}
	.cheat{border-left:0;border-top:4px solid var(--red);padding-left:0;padding-top:24px;margin-top:40px}
	.t-xl,.sub-hero .t-xl{font-size:40px}
	.t-lg,.b7-h,.b7-gate-h{font-size:30px}
	.b7-display{font-size:54px}
	.sect-title{font-size:52px}
	.page-title{font-size:64px;margin-top:24px}
	.b7-price{font-size:72px}
	.offer-title{font-size:22px;white-space:normal}
	.offer-in{padding:12px 16px;gap:12px}
	.drawer-menus{grid-template-columns:repeat(2,minmax(0,1fr))}
	.drawer-menus a{font-size:22px}
	.notice-row{grid-template-columns:minmax(0,1fr);gap:6px}
	.b7-gate{padding:24px}
	.vrow{grid-template-columns:120px minmax(0,1fr)}
	.b7-grid2{grid-template-columns:minmax(0,1fr)}
	.entry-content{font-size:18px}
	.ad--half{min-height:250px}
	.tag--lg{font-size:20px}
}
@media (max-width:480px){
	.mini{grid-template-columns:96px minmax(0,1fr)}
	.t-masthead{font-size:32px}
	.act{display:none}
	.actions .btn--sm{padding:8px 10px;font-size:16px}
}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Print ---------- */
@media print{
	.site-header .actions,.primary-nav,.drawer,.ticker,.offer-bar,.sidebar,.related,.share,.ad,.site-footer,.b7-meter,.comments{display:none!important}
	.artgrid{display:block}
	.mast{background:none;color:#000;padding:0}
	body{font-size:12pt}
}
