/* Homebrew Academy Revival — draft editorial layer */
:root {
	--hba-ink: #171815;
	--hba-ink-soft: #4d4b45;
	--hba-paper: #f7f2e8;
	--hba-paper-deep: #eee4d2;
	--hba-card: #fffdf8;
	--hba-amber: #c67b2c;
	--hba-amber-dark: #8f4f17;
	--hba-green: #24372b;
	--hba-line: #d9cebc;
	--hba-white: #fffdf8;
	--hba-shadow: 0 18px 50px rgba(44, 32, 19, .09);
	--hba-radius: 18px;
	--hba-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
	--hba-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.home {
	background: var(--hba-paper);
	color: var(--hba-ink);
}

body.home #inner-wrap,
body.home #primary,
body.home .content-area,
body.home .site-main {
	margin: 0;
	padding: 0;
	max-width: none;
}

body.home .content-container,
body.home .site-container {
	max-width: 1240px;
}

body.home .entry-content-wrap,
body.home .content-bg,
body.home .site-main > article {
	background: transparent;
	box-shadow: none;
	padding: 0;
	margin: 0;
}

body.home .entry-header,
body.home .entry-footer {
	display: none;
}

/* Existing Kadence header, cleaned up for the new editorial system. */
body.home .site-header {
	background: rgba(247, 242, 232, .96);
	border-bottom: 1px solid var(--hba-line);
	position: relative;
	z-index: 50;
}

body.home .site-main-header-wrap .site-container {
	max-width: 1240px;
}

body.home .site-branding img {
	max-height: 72px;
	width: auto;
}

body.home .main-navigation .primary-menu-container > ul > li > a {
	font-family: var(--hba-sans);
	font-size: 14px;
	font-weight: 750;
	letter-spacing: .02em;
	color: var(--hba-ink);
}

body.home .main-navigation .primary-menu-container > ul > li > a:hover {
	color: var(--hba-amber-dark);
}

.hba-home * {
	box-sizing: border-box;
}

.hba-home {
	font-family: var(--hba-sans);
	color: var(--hba-ink);
	background: var(--hba-paper);
	overflow: hidden;
}

.hba-wrap {
	width: min(1240px, calc(100% - 40px));
	margin-inline: auto;
}

.hba-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hba-amber-dark);
}

.hba-kicker::before {
	content: "";
	width: 24px;
	height: 2px;
	background: var(--hba-amber);
}

.hba-home h1,
.hba-home h2,
.hba-home h3 {
	font-family: var(--hba-display);
	color: var(--hba-ink);
	letter-spacing: -.035em;
	text-wrap: balance;
}

.hba-home a {
	color: inherit;
	text-decoration: none;
}

.hba-home img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Masthead */
.hba-masthead {
	padding: 58px 0 42px;
	border-bottom: 1px solid var(--hba-line);
}

.hba-masthead-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
	gap: 60px;
	align-items: end;
}

.hba-masthead h1 {
	font-size: clamp(58px, 7.4vw, 112px);
	line-height: .88;
	margin: 14px 0 0;
	max-width: 850px;
}

.hba-masthead-copy {
	padding-bottom: 8px;
}

.hba-masthead-copy p {
	font-family: var(--hba-display);
	font-size: clamp(22px, 2vw, 31px);
	line-height: 1.25;
	margin: 0 0 22px;
	color: var(--hba-ink-soft);
}

.hba-brand-line {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hba-green);
}

/* New editorial nav / discovery rail */
.hba-topic-rail {
	display: none;
}

.hba-topic-rail .hba-wrap {
	display: flex;
	align-items: center;
	gap: 0;
	overflow-x: auto;
	scrollbar-width: none;
}

.hba-topic-rail .hba-wrap::-webkit-scrollbar { display: none; }

.hba-topic-rail a {
	flex: 0 0 auto;
	padding: 15px 22px;
	font-size: 12px;
	font-weight: 820;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-right: 1px solid rgba(255,255,255,.12);
	transition: background .2s ease, color .2s ease;
}

.hba-topic-rail a:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.hba-topic-rail a:hover { background: var(--hba-amber); color: #111; }

/* Feature block */
.hba-feature {
	padding: 46px 0 68px;
}

.hba-feature-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr);
	gap: 22px;
}

.hba-feature-main,
.hba-feature-small {
	position: relative;
	overflow: hidden;
	border-radius: var(--hba-radius);
	background: #2b2b28;
	box-shadow: var(--hba-shadow);
	isolation: isolate;
}

.hba-feature-main { min-height: 560px; }
.hba-feature-side { display: grid; grid-template-rows: 1fr 1fr; gap: 22px; }
.hba-feature-small { min-height: 269px; }

.hba-feature-main::after,
.hba-feature-small::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, transparent 20%, rgba(13, 14, 12, .82) 100%);
}

.hba-feature-main img,
.hba-feature-small img {
	position: absolute;
	inset: 0;
	transition: transform .55s ease;
}

.hba-feature-main:hover img,
.hba-feature-small:hover img { transform: scale(1.025); }

.hba-feature-copy {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 36px;
	color: var(--hba-white);
}

.hba-feature-copy .hba-kicker { color: #f6c37e; }
.hba-feature-copy .hba-kicker::before { background: #f6c37e; }

.hba-feature-copy h2,
.hba-feature-copy h3 { color: var(--hba-white); margin: 10px 0 0; }
.hba-feature-main h2 { font-size: clamp(38px, 4.3vw, 66px); line-height: .98; }
.hba-feature-small h3 { font-size: clamp(25px, 2.1vw, 34px); line-height: 1.04; }

/* Section scaffold */
.hba-section {
	padding: 76px 0;
	border-top: 1px solid var(--hba-line);
}

.hba-section--dark {
	background: var(--hba-green);
	color: var(--hba-white);
	border-top: 0;
}

.hba-section--dark h2,
.hba-section--dark h3 { color: var(--hba-white); }
.hba-section--dark .hba-kicker { color: #e8b96f; }
.hba-section--dark .hba-kicker::before { background: #e8b96f; }

.hba-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 30px;
	margin-bottom: 32px;
}

.hba-section-head h2 {
	font-size: clamp(42px, 5vw, 72px);
	line-height: .96;
	margin: 8px 0 0;
}

.hba-section-intro {
	max-width: 520px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--hba-ink-soft);
}

.hba-section--dark .hba-section-intro { color: rgba(255,255,255,.75); }

.hba-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.hba-text-link::after { content: "→"; font-size: 18px; transition: transform .2s ease; }
.hba-text-link:hover::after { transform: translateX(4px); }

/* Topic cards */
.hba-topic-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
}

.hba-topic-card {
	min-height: 142px;
	padding: 19px;
	border: 1px solid var(--hba-line);
	border-radius: 14px;
	background: rgba(255, 253, 248, .56);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.hba-topic-card:hover {
	transform: translateY(-3px);
	background: var(--hba-card);
	border-color: #c4ac89;
}

.hba-topic-number {
	font-family: var(--hba-display);
	font-size: 14px;
	font-style: italic;
	color: var(--hba-amber-dark);
}

.hba-topic-card strong {
	font-family: var(--hba-display);
	font-size: 23px;
	line-height: 1;
	letter-spacing: -.03em;
}

/* Editorial cards */
.hba-card-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 54px 24px;
}

.hba-card {
	display: block;
	min-width: 0;
	height: auto;
	overflow: visible;
	align-self: start;
}

.hba-card-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 14px;
	background: var(--hba-paper-deep);
	margin-bottom: 20px;
}

.hba-card-image img { transition: transform .4s ease; }
.hba-card:hover .hba-card-image img { transform: scale(1.03); }

.hba-card-meta {
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hba-amber-dark);
	margin-bottom: 11px;
}

.hba-card h3 {
	font-size: 27px;
	line-height: 1.09;
	margin: 0;
	padding-bottom: 8px;
	text-wrap: balance;
}

.hba-card p {
	font-size: 14px;
	line-height: 1.55;
	color: var(--hba-ink-soft);
	margin: 10px 0 0;
}

/* Brewing authority block */
.hba-brew-grid {
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: 54px;
	align-items: stretch;
}

.hba-brew-panel {
	border-radius: var(--hba-radius);
	background: #17251c;
	padding: 44px;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border: 1px solid rgba(255,255,255,.08);
}

.hba-brew-panel h2 {
	font-size: clamp(48px, 5.1vw, 76px);
	line-height: .9;
	margin: 13px 0 18px;
}

.hba-brew-panel p {
	font-size: 17px;
	line-height: 1.65;
	color: rgba(255,255,255,.75);
	max-width: 540px;
}

.hba-brew-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 34px;
}

.hba-brew-links a {
	padding: 15px 16px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	transition: background .2s ease, color .2s ease;
}

.hba-brew-links a:hover { background: #f4e8d3; color: #17251c; }

.hba-brew-posts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 42px 24px;
	align-items: start;
}

.hba-brew-posts .hba-card { padding-bottom: 8px; }
.hba-brew-posts .hba-card h3 { color: var(--hba-white); }
.hba-brew-posts .hba-card p { color: rgba(255,255,255,.68); }
.hba-brew-posts .hba-card-image { background: rgba(255,255,255,.08); }

/* Culture / compact list */
.hba-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
}

.hba-list-story {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 18px;
	padding: 18px 0;
	border-top: 1px solid var(--hba-line);
	align-items: center;
}

.hba-list-story:last-child { border-bottom: 1px solid var(--hba-line); }
.hba-list-story .hba-card-image { margin: 0; aspect-ratio: 1.2 / 1; }
.hba-list-story h3 { font-size: 24px; line-height: 1.05; margin: 4px 0 0; }

/* Brand manifesto */
.hba-manifesto {
	padding: 82px 0;
	background: var(--hba-amber);
	color: #17130e;
}

.hba-manifesto-inner {
	display: grid;
	grid-template-columns: .58fr 1.42fr;
	gap: 60px;
	align-items: start;
}

.hba-manifesto .hba-kicker { color: #4b2b0e; }
.hba-manifesto .hba-kicker::before { background: #4b2b0e; }

.hba-manifesto blockquote {
	font-family: var(--hba-display);
	font-size: clamp(38px, 5.1vw, 72px);
	line-height: 1;
	letter-spacing: -.04em;
	margin: 0;
	max-width: 900px;
}

.hba-manifesto p {
	font-size: 16px;
	line-height: 1.65;
	margin: 24px 0 0;
	max-width: 720px;
}

/* Latest */
.hba-latest-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 72px 24px;
}

.hba-latest-grid .hba-card h3 { font-size: 25px; }

/* Neighborhood-bar personality layer: chalkboard marks + modern flat vector shapes. */
.hba-masthead { position: relative; overflow: hidden; }
.hba-masthead-grid { position: relative; z-index: 2; }
.hba-flat-art {
	position: absolute;
	left: max(26px, calc((100vw - 1240px) / 2 + 430px));
	top: 102px;
	width: 205px;
	height: 205px;
	transform: rotate(-8deg);
	opacity: .16;
	z-index: 1;
	pointer-events: none;
}
.hba-flat-art svg { width: 100%; height: 100%; display: block; }
.hba-bar-stamp {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 24px;
	padding: 12px 15px 10px;
	background: var(--hba-green);
	color: var(--hba-white);
	transform: rotate(-1.5deg);
	box-shadow: 5px 5px 0 var(--hba-amber);
	border: 2px solid #19271e;
}
.hba-bar-stamp span {
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .16em;
	color: #e9b56e;
}
.hba-bar-stamp strong {
	font-family: var(--hba-display);
	font-size: 20px;
	font-style: italic;
	font-weight: 700;
	letter-spacing: -.02em;
}

/* Flat-vector cards: geometric shapes keep the cream sections modern. */
.hba-topic-card { position: relative; overflow: hidden; isolation: isolate; }
.hba-topic-card::after {
	content: "";
	position: absolute;
	right: -19px;
	top: -22px;
	width: 78px;
	height: 78px;
	border-radius: 24px;
	background: var(--hba-amber);
	transform: rotate(22deg);
	opacity: .18;
	z-index: -1;
	transition: transform .25s ease, opacity .25s ease;
}
.hba-topic-card:nth-child(2n)::after { background: var(--hba-green); border-radius: 50%; }
.hba-topic-card:nth-child(3n)::after { background: #a94f36; border-radius: 4px 26px 4px 26px; }
.hba-topic-card:hover::after { transform: rotate(35deg) scale(1.18); opacity: .28; }
.hba-topic-card::before {
	content: "";
	position: absolute;
	left: 17px;
	bottom: 16px;
	width: 30px;
	height: 3px;
	background: var(--hba-amber);
	border-radius: 999px;
	transform: rotate(-4deg);
	opacity: .65;
}
.hba-topic-card strong { position: relative; z-index: 1; padding-top: 22px; }

/* Chalkboard bar-rules strip. */
.hba-chalk-strip {
	position: relative;
	background: #171a16;
	color: var(--hba-white);
	padding: 46px 0 42px;
	overflow: hidden;
	border-top: 7px solid #22261f;
	border-bottom: 7px solid #22261f;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(255,255,255,.04);
}
.hba-chalk-strip::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 15% 30%, rgba(255,255,255,.05) 0 1px, transparent 1.5px),
		radial-gradient(circle at 75% 55%, rgba(255,255,255,.035) 0 1px, transparent 1.5px),
		radial-gradient(circle at 45% 85%, rgba(255,255,255,.025) 0 1px, transparent 1.5px);
	background-size: 19px 19px, 27px 27px, 31px 31px;
	opacity: .75;
}
.hba-chalk-art {
	position: absolute;
	inset: -8px 0 0;
	opacity: .38;
	pointer-events: none;
}
.hba-chalk-art svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.hba-bar-rules {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}
.hba-bar-rules > div {
	min-height: 110px;
	padding: 17px 18px 15px;
	border: 2px solid rgba(255,248,233,.55);
	background: rgba(16,18,15,.52);
	transform: rotate(-.6deg);
	box-shadow: 3px 4px 0 rgba(231,173,86,.22);
}
.hba-bar-rules > div:nth-child(even) { transform: rotate(.7deg); }
.hba-bar-rules span {
	display: block;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .18em;
	color: #e7ad56;
	margin-bottom: 9px;
}
.hba-bar-rules strong {
	display: block;
	font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
	font-size: clamp(20px, 1.8vw, 27px);
	line-height: 1.08;
	font-weight: 700;
	color: #fff8e9;
	letter-spacing: -.02em;
}

/* The brewing section is the actual chalkboard wall. */
.hba-section--dark { position: relative; overflow: hidden; padding-bottom: 104px; }
.hba-section--dark::before {
	content: "";
	position: absolute;
	right: -70px;
	top: 10px;
	width: 440px;
	height: 300px;
	border: 4px solid rgba(255,248,233,.12);
	border-radius: 50%;
	transform: rotate(-11deg);
	box-shadow: 0 0 0 12px rgba(255,248,233,.02);
	pointer-events: none;
}
.hba-section--dark::after {
	content: "BREW  •  TASTE  •  REPEAT";
	position: absolute;
	right: 55px;
	top: 96px;
	font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: .08em;
	color: rgba(255,248,233,.14);
	transform: rotate(8deg);
	pointer-events: none;
}
.hba-section--dark .hba-wrap { position: relative; z-index: 2; }
.hba-brew-panel {
	position: relative;
	overflow: hidden;
	box-shadow: inset 0 0 80px rgba(0,0,0,.16), 0 18px 40px rgba(0,0,0,.12);
}
.hba-brew-panel::before {
	content: "GOOD BEER STARTS HERE";
	position: absolute;
	right: -22px;
	bottom: 20px;
	font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
	font-size: 15px;
	letter-spacing: .08em;
	color: rgba(255,248,233,.12);
	transform: rotate(-8deg);
	pointer-events: none;
}
.hba-brew-links a {
	background: rgba(255,255,255,.025);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

/* Hand-drawn accent under section headlines without sacrificing clean typography. */
.hba-section-head h2 { position: relative; display: inline-block; }
.hba-section:not(.hba-section--dark) .hba-section-head h2::after {
	content: "";
	position: absolute;
	left: 2%;
	bottom: -10px;
	width: 54%;
	height: 5px;
	border-top: 3px solid var(--hba-amber);
	border-radius: 50%;
	transform: rotate(-1.4deg);
	opacity: .72;
}

/* The manifesto becomes a big modern flat poster with a little hand-drawn vandalism. */
.hba-manifesto { position: relative; overflow: hidden; }
.hba-manifesto::before {
	content: "";
	position: absolute;
	width: 360px;
	height: 360px;
	right: -90px;
	bottom: -180px;
	background: #24372b;
	border-radius: 50%;
	opacity: .98;
}
.hba-manifesto::after {
	content: "YES, THIS COUNTS AS EDUCATION";
	position: absolute;
	right: 30px;
	bottom: 54px;
	width: 240px;
	font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.05;
	text-align: center;
	color: #fff8e9;
	transform: rotate(-9deg);
}
.hba-manifesto-inner { position: relative; z-index: 2; }

/* Remaining homepage sections — carry the 70/30 editorial-to-neighborhood-bar mix all the way down. */
.hba-chalk-note,
.hba-tap-note,
.hba-chalk-notes span {
	font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
}

/* Beer + Food: clean menu-board layout with a few flat-vector kitchen/bar shapes. */
.hba-section:has(.hba-food-note) {
	position: relative;
	overflow: visible;
	height: auto !important;
	min-height: 0;
	background: #fbf6eb;
	padding-bottom: 120px;
}
.hba-section:has(.hba-food-note)::before {
	content: "";
	position: absolute;
	right: -86px;
	top: 52px;
	width: 230px;
	height: 230px;
	border-radius: 50%;
	background: #e9b45e;
	opacity: .18;
}
.hba-section:has(.hba-food-note)::after {
	content: "";
	position: absolute;
	right: 74px;
	top: 120px;
	width: 72px;
	height: 150px;
	border-radius: 36px 36px 14px 14px;
	background: var(--hba-green);
	transform: rotate(13deg);
	opacity: .09;
}
.hba-section:has(.hba-food-note) .hba-wrap { position: relative; z-index: 2; overflow: visible; }
.hba-section:has(.hba-food-note) .hba-card-grid { align-items: start; overflow: visible; }
.hba-section:has(.hba-food-note) .hba-card { height: auto; min-height: 0; overflow: visible; }
.hba-food-note {
	display: inline-block;
	margin-top: 20px;
	padding: 7px 11px 5px;
	border: 2px solid rgba(36,55,43,.7);
	color: var(--hba-green);
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	transform: rotate(-1.5deg);
	background: rgba(255,253,248,.5);
}
.hba-section:has(.hba-food-note) .hba-card {
	position: relative;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(143,79,23,.2);
}
.hba-section:has(.hba-food-note) .hba-card::after {
	content: "CHEF'S CALL";
	position: absolute;
	right: 0;
	top: 12px;
	padding: 5px 7px 4px;
	background: #fff8e9;
	border: 1px solid rgba(36,55,43,.35);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .12em;
	color: var(--hba-green);
	transform: rotate(2deg);
}
.hba-section:has(.hba-food-note) .hba-card:nth-child(even)::after {
	content: "GOOD WITH A PINT";
	transform: rotate(-2deg);
	background: #f2dfba;
}

/* Beer Culture: slightly messy wall notes wrapped around a very clean story list. */
.hba-section:has(.hba-chalk-notes) {
	position: relative;
	overflow: hidden;
	background: #eee7da;
}
.hba-section:has(.hba-chalk-notes)::before {
	content: "";
	position: absolute;
	left: -120px;
	bottom: 30px;
	width: 320px;
	height: 320px;
	border: 32px solid rgba(198,123,44,.09);
	border-radius: 50%;
}
.hba-section:has(.hba-chalk-notes) .hba-wrap { position: relative; z-index: 2; }
.hba-chalk-notes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
.hba-chalk-notes span {
	display: inline-block;
	padding: 8px 11px 6px;
	background: var(--hba-green);
	color: #fff8e9;
	font-size: 15px;
	font-weight: 700;
	box-shadow: 4px 4px 0 rgba(198,123,44,.55);
	transform: rotate(-2deg);
}
.hba-chalk-notes span:nth-child(2) {
	background: #8f4f17;
	transform: rotate(1.5deg);
}
.hba-section:has(.hba-chalk-notes) .hba-list-story {
	background: rgba(255,253,248,.56);
	padding: 14px;
	margin-bottom: 10px;
	border: 1px solid rgba(143,79,23,.12);
	border-radius: 12px;
	transition: transform .2s ease, background .2s ease;
}
.hba-section:has(.hba-chalk-notes) .hba-list-story:last-child { border-bottom: 1px solid rgba(143,79,23,.12); }
.hba-section:has(.hba-chalk-notes) .hba-list-story:hover {
	transform: translateX(4px);
	background: rgba(255,253,248,.88);
}

/* Latest: a modern fresh-tap board. Editorial cards stay clean; labels add the bar voice. */
.hba-section:has(.hba-tap-note) {
	position: relative;
	background: #f8f2e6;
	overflow: hidden;
}
.hba-section:has(.hba-tap-note)::before {
	content: "";
	position: absolute;
	right: 7%;
	top: 54px;
	width: 110px;
	height: 110px;
	background: #a94f36;
	border-radius: 26px 8px 26px 8px;
	transform: rotate(18deg);
	opacity: .1;
}
.hba-section:has(.hba-tap-note) .hba-wrap { position: relative; z-index: 2; }
.hba-tap-note {
	margin-top: 18px;
	font-size: 14px;
	font-weight: 800;
	color: var(--hba-green);
	transform: rotate(-.8deg);
}
.hba-latest-grid {
	counter-reset: hba-tap;
}
.hba-latest-grid .hba-card {
	counter-increment: hba-tap;
	position: relative;
	padding-top: 38px;
	border-top: 3px solid var(--hba-green);
}
.hba-latest-grid .hba-card::before {
	content: "ON TAP 0" counter(hba-tap);
	position: absolute;
	left: 0;
	top: 10px;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .16em;
	color: var(--hba-amber-dark);
}
.hba-latest-grid .hba-card:nth-child(3n+2) { border-top-color: var(--hba-amber); }
.hba-latest-grid .hba-card:nth-child(3n) { border-top-color: #a94f36; }
.hba-latest-grid .hba-card:nth-child(3n+2)::before { color: var(--hba-green); }

/* A little more neighborhood-bar character on the hero without cluttering the photo. */
.hba-feature-main::before {
	content: "PICK OF THE BOARD";
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 3;
	padding: 7px 10px 5px;
	background: #fff8e9;
	border: 2px solid #171815;
	box-shadow: 4px 4px 0 var(--hba-amber);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .13em;
	color: #171815;
	transform: rotate(-1.5deg);
}
.hba-feature-small:nth-child(1)::before,
.hba-feature-small:nth-child(2)::before {
	position: absolute;
	right: 16px;
	top: 15px;
	z-index: 3;
	font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
	font-size: 13px;
	font-weight: 800;
	color: #fff8e9;
	text-shadow: 0 1px 5px rgba(0,0,0,.35);
	transform: rotate(4deg);
}
.hba-feature-small:nth-child(1)::before { content: "good call →"; }
.hba-feature-small:nth-child(2)::before { content: "know your beer →"; transform: rotate(-3deg); }

/* Responsive */
@media (max-width: 1060px) {
	.hba-masthead-grid,
	.hba-brew-grid { grid-template-columns: 1fr; gap: 28px; }
	.hba-masthead-copy { max-width: 700px; }
	.hba-topic-grid { grid-template-columns: repeat(3, 1fr); }
	.hba-card-grid { grid-template-columns: repeat(2, 1fr); }
	.hba-feature-grid { grid-template-columns: 1.25fr .75fr; }
	.hba-bar-rules { grid-template-columns: repeat(2, 1fr); }
	.hba-flat-art { width: 165px; height: 165px; left: auto; right: 26px; top: 118px; opacity: .11; }
}

@media (max-width: 760px) {
	.hba-wrap { width: min(100% - 28px, 1240px); }
	.hba-masthead { padding: 42px 0 30px; }
	.hba-masthead h1 { font-size: clamp(54px, 18vw, 82px); }
	.hba-feature { padding: 28px 0 52px; }
	.hba-feature-grid { grid-template-columns: 1fr; }
	.hba-feature-main { min-height: 470px; }
	.hba-feature-side { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
	.hba-feature-small { min-height: 260px; }
	.hba-feature-copy { padding: 24px; }
	.hba-section { padding: 58px 0; }
	.hba-section-head { align-items: start; flex-direction: column; gap: 14px; }
	.hba-topic-grid { grid-template-columns: repeat(2, 1fr); }
	.hba-split { grid-template-columns: 1fr; gap: 45px; }
	.hba-manifesto-inner { grid-template-columns: 1fr; gap: 22px; }
	.hba-latest-grid { grid-template-columns: repeat(2, 1fr); }
	.hba-brew-panel { padding: 32px 26px; }
	.hba-bar-rules { grid-template-columns: 1fr; gap: 14px; }
	.hba-bar-rules > div { min-height: 0; }
	.hba-chalk-art { opacity: .22; }
	.hba-flat-art { display: none; }
	.hba-manifesto::after { right: 14px; bottom: 28px; width: 190px; font-size: 15px; }
	.hba-food-note,
	.hba-tap-note { font-size: 13px; }
	.hba-chalk-notes { margin-top: 20px; }
	.hba-section:has(.hba-food-note)::before,
	.hba-section:has(.hba-food-note)::after,
	.hba-section:has(.hba-chalk-notes)::before,
	.hba-section:has(.hba-tap-note)::before { opacity: .06; }
	.hba-section:has(.hba-food-note) .hba-card::after { font-size: 7px; top: 10px; }
	.hba-feature-small:nth-child(1)::before,
	.hba-feature-small:nth-child(2)::before { display: none; }
}

@media (max-width: 540px) {
	body.home .site-branding img { max-height: 55px; }
	.hba-feature-side,
	.hba-card-grid,
	.hba-brew-posts,
	.hba-latest-grid { grid-template-columns: 1fr; }
	.hba-feature-small { min-height: 330px; }
	.hba-topic-card { min-height: 122px; padding: 16px; }
	.hba-topic-card strong { font-size: 20px; }
	.hba-list-story { grid-template-columns: 108px minmax(0, 1fr); }
	.hba-brew-links { grid-template-columns: 1fr; }
}
