/* ============================================================
   BMT Blog — scoped under .bmtblog
   Palette from Kadence global: #0F79E2 / #003174 / #1A202C
   Type: Jost (display, already loaded) + Inter (body)
   ============================================================ */

.bmtblog{
	--bb-navy:#111a29;
	--bb-navy-2:#1A202C;
	--bb-blue:#0F79E2;
	--bb-blue-deep:#003174;
	--bb-blue-bright:#3296ff;
	--bb-teal:#08A09E;
	--bb-ink:#16202f;
	--bb-slate:#4A5568;
	--bb-muted:#718096;
	--bb-line:#e7ecf3;
	--bb-tint:#f5f8fd;
	--bb-tint-2:#e7edfc;
	--bb-white:#fff;
	--bb-radius:18px;
	--bb-radius-sm:11px;
	--bb-shadow:0 1px 2px rgba(17,26,41,.04), 0 10px 30px -12px rgba(17,26,41,.14);
	--bb-shadow-lg:0 2px 4px rgba(17,26,41,.05), 0 26px 50px -22px rgba(15,121,226,.32);
	--bb-wrap:1200px;
	--bb-display:'Jost', 'Inter', system-ui, sans-serif;
	--bb-body:'Inter', system-ui, -apple-system, sans-serif;
	background:var(--bb-white);
	color:var(--bb-ink);
	font-family:var(--bb-body);
	overflow-x:clip;
}
.bmtblog *,
.bmtblog *::before,
.bmtblog *::after{ box-sizing:border-box; }
.bmtblog [hidden]{ display:none !important; }

.bmtblog .bb-wrap{
	width:100%;
	max-width:var(--bb-wrap);
	margin-inline:auto;
	padding-inline:clamp(20px,5vw,40px);
}

/* ---------- Hero ---------- */
.bmtblog .bb-hero{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:
		radial-gradient(120% 140% at 82% -10%, rgba(50,150,255,.42) 0%, rgba(50,150,255,0) 55%),
		linear-gradient(158deg, #0b1626 0%, var(--bb-navy) 42%, #0a2a5e 100%);
	color:#fff;
	padding-block:clamp(64px,10vw,116px) clamp(52px,7vw,84px);
}
.bmtblog .bb-hero__glow{
	position:absolute; inset:auto -10% -60% 40%;
	height:120%; z-index:-1;
	background:radial-gradient(closest-side, rgba(8,160,158,.30), transparent 70%);
	filter:blur(6px);
}
.bmtblog .bb-hero::after{ /* fine grid texture */
	content:""; position:absolute; inset:0; z-index:-1; opacity:.5;
	background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size:46px 46px;
	-webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 78%);
	        mask-image:linear-gradient(to bottom, #000 0%, transparent 78%);
}
.bmtblog .bb-hero__inner{ position:relative; max-width:760px; }
.bmtblog .bb-hero__eyebrow{
	display:inline-flex; align-items:center; gap:8px;
	font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
	color:#8fd0ff;
	padding:6px 13px; border-radius:100px;
	background:rgba(255,255,255,.07);
	border:1px solid rgba(255,255,255,.16);
	margin-bottom:22px;
}
.bmtblog .bb-hero__eyebrow::before{
	content:""; width:6px; height:6px; border-radius:50%;
	background:var(--bb-teal); box-shadow:0 0 10px 1px rgba(8,160,158,.9);
}
.bmtblog .bb-hero__title{
	font-family:var(--bb-display);
	font-weight:800; line-height:1.02; letter-spacing:-.02em;
	font-size:clamp(2.9rem,7vw,5rem);
	margin:0 0 18px;
	color:#fff;
}
.bmtblog .bb-hero__intro{
	font-size:clamp(1.05rem,1.6vw,1.28rem);
	line-height:1.5; max-width:56ch; margin:0;
	color:rgba(233,240,251,.86);
}

/* ---------- Filter bar ---------- */
.bmtblog .bb-filterbar{
	position:sticky; top:0; z-index:30;
	background:rgba(255,255,255,.86);
	-webkit-backdrop-filter:saturate(180%) blur(12px);
	        backdrop-filter:saturate(180%) blur(12px);
	border-bottom:1px solid var(--bb-line);
	transition:box-shadow .25s ease;
}
.bmtblog .bb-filterbar.is-stuck{ box-shadow:0 10px 30px -18px rgba(17,26,41,.35); }
.bmtblog .bb-filterbar__inner{
	display:flex; align-items:center; gap:18px 22px;
	padding-block:15px; flex-wrap:wrap;
}

.bmtblog .bb-search{
	position:relative; display:flex; align-items:center;
	flex:0 1 300px; min-width:210px;
}
.bmtblog .bb-search__icon{ position:absolute; left:14px; color:var(--bb-muted); pointer-events:none; }
.bmtblog .bb-search__input{
	width:100%; height:44px;
	padding:0 38px 0 42px;
	font-family:var(--bb-body); font-size:.95rem; color:var(--bb-ink);
	background:var(--bb-tint);
	border:1px solid var(--bb-line); border-radius:100px;
	outline:none; transition:border-color .18s, background .18s, box-shadow .18s;
}
.bmtblog .bb-search__input::placeholder{ color:var(--bb-muted); }
.bmtblog .bb-search__input:focus{
	background:#fff; border-color:var(--bb-blue);
	box-shadow:0 0 0 4px rgba(15,121,226,.14);
}
.bmtblog .bb-search__clear{
	position:absolute; right:8px; width:26px; height:26px;
	display:grid; place-items:center;
	border:0; border-radius:50%; cursor:pointer;
	font-size:20px; line-height:1; color:var(--bb-muted);
	background:transparent; transition:color .15s, background .15s;
}
.bmtblog .bb-search__clear:hover{ color:var(--bb-ink); background:var(--bb-tint-2); }

.bmtblog .bb-pills{
	display:flex; align-items:center; gap:8px; flex-wrap:wrap;
	margin-left:auto;
}
.bmtblog .bb-pill{
	font-family:var(--bb-body); font-size:.88rem; font-weight:500;
	color:var(--bb-slate);
	padding:8px 15px; border-radius:100px;
	background:#fff; border:1px solid var(--bb-line);
	cursor:pointer; white-space:nowrap;
	display:inline-flex; align-items:center; gap:6px;
	transition:color .16s, background .16s, border-color .16s, box-shadow .16s, transform .16s;
}
.bmtblog .bb-pill:hover{ color:var(--bb-blue-deep); border-color:#c7d7ee; background:var(--bb-tint); }
.bmtblog .bb-pill.is-active{
	color:#fff; border-color:transparent;
	background:linear-gradient(135deg, var(--bb-blue) 0%, var(--bb-blue-deep) 130%);
	box-shadow:0 8px 18px -8px rgba(15,121,226,.6);
}
.bmtblog .bb-pill:focus-visible{ outline:2px solid var(--bb-blue); outline-offset:2px; }

/* More topics dropdown */
.bmtblog .bb-more{ position:relative; }
.bmtblog .bb-more__toggle svg{ transition:transform .2s ease; }
.bmtblog .bb-more__toggle[aria-expanded="true"] svg{ transform:rotate(180deg); }
.bmtblog .bb-more__menu{
	position:absolute; top:calc(100% + 10px); right:0; z-index:40;
	width:min(320px,86vw); max-height:min(60vh,420px); overflow:auto;
	padding:7px;
	background:#fff; border:1px solid var(--bb-line);
	border-radius:14px; box-shadow:0 24px 48px -20px rgba(17,26,41,.4);
	display:grid; grid-template-columns:1fr 1fr; gap:2px;
}
.bmtblog .bb-more__item{
	display:flex; align-items:center; justify-content:space-between; gap:8px;
	text-align:left; width:100%;
	font-family:var(--bb-body); font-size:.85rem; color:var(--bb-slate);
	padding:9px 11px; border:0; border-radius:9px; background:transparent; cursor:pointer;
	transition:background .14s, color .14s;
}
.bmtblog .bb-more__item:hover{ background:var(--bb-tint); color:var(--bb-blue-deep); }
.bmtblog .bb-more__item.is-active{ background:var(--bb-tint-2); color:var(--bb-blue-deep); font-weight:600; }
.bmtblog .bb-more__count{
	font-size:.72rem; font-weight:600; color:var(--bb-muted);
	background:var(--bb-tint); border-radius:100px; padding:2px 8px; flex:none;
}

/* ---------- Results ---------- */
.bmtblog .bb-results{ padding-block:clamp(30px,4vw,48px) clamp(56px,8vw,96px); }
.bmtblog .bb-results__count{
	font-size:.85rem; color:var(--bb-muted); margin:0 0 22px;
	font-weight:500; letter-spacing:.01em; min-height:1em;
}
.bmtblog .bb-results__count b{ color:var(--bb-ink); font-weight:700; }

.bmtblog .bb-grid{
	display:grid; gap:26px;
	grid-template-columns:repeat(3, minmax(0,1fr));
	transition:opacity .18s ease;
}
.bmtblog .bb-grid.is-loading{ opacity:.45; pointer-events:none; }

/* ---------- Card ---------- */
.bmtblog .bb-card{
	background:#fff;
	border:1px solid var(--bb-line);
	border-radius:var(--bb-radius);
	overflow:hidden;
	box-shadow:var(--bb-shadow);
	transition:transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s, border-color .28s;
}
.bmtblog .bb-card__link{
	display:flex; flex-direction:column; height:100%;
	text-decoration:none; color:inherit;
}
.bmtblog .bb-card__media{
	position:relative; display:block; overflow:hidden;
	aspect-ratio:16/10; background:var(--bb-navy-2);
}
.bmtblog .bb-card__img{
	width:100%; height:100%; object-fit:cover; display:block;
	transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.bmtblog .bb-card__img--ph{
	display:grid; place-items:center; color:rgba(255,255,255,.35);
	background:radial-gradient(120% 120% at 20% 0%, #1c3357, var(--bb-navy) 70%);
}
.bmtblog .bb-card__chip{
	position:absolute; left:14px; top:14px; z-index:2;
	font-size:.72rem; font-weight:600; letter-spacing:.02em;
	color:#fff; padding:5px 11px; border-radius:100px;
	background:rgba(9,20,38,.62);
	-webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
	border:1px solid rgba(255,255,255,.16);
}
.bmtblog .bb-card__body{
	display:flex; flex-direction:column; gap:11px;
	padding:20px 20px 22px; flex:1;
}
.bmtblog .bb-card__title{
	font-family:var(--bb-display);
	font-size:1.16rem; line-height:1.28; font-weight:700; letter-spacing:-.01em;
	color:var(--bb-ink); margin:0;
	display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.bmtblog .bb-card__excerpt{
	font-size:.92rem; line-height:1.58; color:var(--bb-slate); margin:0;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.bmtblog .bb-card__meta{
	display:flex; align-items:center; gap:9px;
	margin-top:auto; padding-top:13px;
	font-size:.8rem; color:var(--bb-muted); border-top:1px solid var(--bb-line);
}
.bmtblog .bb-card__dot{ width:3px; height:3px; border-radius:50%; background:currentColor; opacity:.6; }
.bmtblog .bb-card__more{
	display:inline-flex; align-items:center; gap:6px; margin-left:auto;
	font-size:.8rem; font-weight:600; color:var(--bb-blue);
	opacity:0; transform:translateX(-4px);
	transition:opacity .22s, transform .22s;
}
.bmtblog .bb-card__more svg{ transition:transform .22s; }

.bmtblog .bb-card:hover{
	transform:translateY(-5px);
	box-shadow:var(--bb-shadow-lg);
	border-color:#cfe0f6;
}
.bmtblog .bb-card:hover .bb-card__img{ transform:scale(1.05); }
.bmtblog .bb-card:hover .bb-card__more{ opacity:1; transform:translateX(0); }
.bmtblog .bb-card:hover .bb-card__more svg{ transform:translateX(3px); }
.bmtblog .bb-card__link:focus-visible{ outline:2px solid var(--bb-blue); outline-offset:3px; border-radius:var(--bb-radius); }

/* Featured (latest) card — spans full width, horizontal on desktop */
.bmtblog .bb-card--featured{ grid-column:1 / -1; }
.bmtblog .bb-card--featured .bb-card__link{ flex-direction:row; }
.bmtblog .bb-card--featured .bb-card__media{ flex:1 1 54%; aspect-ratio:auto; min-height:340px; }
.bmtblog .bb-card--featured .bb-card__body{ flex:1 1 46%; justify-content:center; padding:clamp(26px,3vw,44px); gap:14px; }
.bmtblog .bb-card--featured .bb-card__title{ font-size:clamp(1.5rem,2.5vw,2.05rem); -webkit-line-clamp:3; }
.bmtblog .bb-card--featured .bb-card__excerpt{ font-size:1rem; -webkit-line-clamp:3; }
.bmtblog .bb-card--featured .bb-card__more{ opacity:1; transform:none; }

/* ---------- Load more / states ---------- */
.bmtblog .bb-loadmore{ display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:48px; }
.bmtblog .bb-btn{
	font-family:var(--bb-body); font-size:.95rem; font-weight:600;
	color:var(--bb-blue-deep); background:#fff;
	border:1.5px solid var(--bb-tint-2); border-radius:100px;
	padding:13px 30px; cursor:pointer;
	transition:border-color .18s, color .18s, background .18s, box-shadow .18s, transform .12s;
}
.bmtblog .bb-btn:hover{ border-color:var(--bb-blue); background:var(--bb-tint); box-shadow:0 10px 24px -14px rgba(15,121,226,.6); }
.bmtblog .bb-btn:active{ transform:translateY(1px); }
.bmtblog .bb-btn--ghost{ border-color:var(--bb-line); }
.bmtblog .bb-btn:focus-visible{ outline:2px solid var(--bb-blue); outline-offset:2px; }

.bmtblog .bb-spinner{
	width:26px; height:26px; border-radius:50%;
	border:3px solid var(--bb-tint-2); border-top-color:var(--bb-blue);
	animation:bb-spin .7s linear infinite;
}
@keyframes bb-spin{ to{ transform:rotate(360deg); } }

.bmtblog .bb-empty{
	text-align:center; padding:60px 20px;
	border:1px dashed var(--bb-line); border-radius:var(--bb-radius);
	background:var(--bb-tint);
}
.bmtblog .bb-empty h3{ font-family:var(--bb-display); font-size:1.35rem; margin:0 0 8px; color:var(--bb-ink); }
.bmtblog .bb-empty p{ color:var(--bb-muted); margin:0 0 20px; }

/* ---------- Responsive ---------- */
@media (max-width:960px){
	.bmtblog .bb-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; }
	.bmtblog .bb-card--featured .bb-card__link{ flex-direction:column; }
	.bmtblog .bb-card--featured .bb-card__media{ flex:none; aspect-ratio:16/9; min-height:0; }
}
@media (max-width:680px){
	.bmtblog .bb-hero{ padding-top:clamp(150px,36vw,172px); }
	.bmtblog .bb-filterbar__inner{ gap:12px; }
	.bmtblog .bb-search{ flex:1 1 100%; order:-1; }
	.bmtblog .bb-pills{ margin-left:0; width:100%; flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
	.bmtblog .bb-pills::-webkit-scrollbar{ display:none; }
	.bmtblog .bb-more__menu{ grid-template-columns:1fr; width:min(300px,90vw); }
	.bmtblog .bb-grid{ grid-template-columns:1fr; }
}

/* ---------- A11y ---------- */
@media (prefers-reduced-motion:reduce){
	.bmtblog *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
	.bmtblog .bb-card:hover{ transform:none; }
	.bmtblog .bb-card:hover .bb-card__img{ transform:none; }
}
