.fhhc {
	--fhhc-navy: #14365d;
	--fhhc-navy-deep: #0d2948;
	--fhhc-blue: #367fc7;
	--fhhc-sky: #eaf4ff;
	--fhhc-yellow: #f1d84d;
	--fhhc-ink: #1c2b39;
	--fhhc-muted: #5c6b78;
	--fhhc-line: #dbe4eb;
	--fhhc-paper: #ffffff;
	--fhhc-soft: #f6f9fb;
	--fhhc-shadow: 0 18px 48px rgba(20, 54, 93, 0.11);
	color: var(--fhhc-ink);
	font-family: inherit;
	font-size: var(--fhhc-base-size, 18px);
	line-height: 1.55;
	margin: 0 auto;
	max-width: 1180px;
}

.fhhc *, .fhhc *::before, .fhhc *::after { box-sizing: border-box; }
.fhhc button, .fhhc input { font: inherit; }
.fhhc a { color: var(--fhhc-blue); }
.fhhc h2, .fhhc h3, .fhhc h4, .fhhc p { margin-top: 0; }
.fhhc h2, .fhhc h3, .fhhc h4 { color: var(--fhhc-ink); font-weight: 700 !important; line-height: 1.15; }
.fhhc h2 { font-size: clamp(34px, 4vw, 44px) !important; letter-spacing: -0.035em; margin-bottom: 16px; }
.fhhc h3 { font-size: clamp(26px, 3vw, 32px) !important; letter-spacing: -0.02em; margin-bottom: 0; }
.fhhc__admin { display: flex; justify-content: flex-end; margin: 0 2px 9px; }
.fhhc__admin a { color: var(--fhhc-blue); font-size: 14px; font-weight: 700; text-decoration: none; }
.fhhc__admin a:hover, .fhhc__admin a:focus-visible { text-decoration: underline; }

.fhhc__visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.fhhc__hero {
	background:
		radial-gradient(circle at 88% 10%, rgba(241, 216, 77, 0.2), transparent 24%),
		linear-gradient(135deg, var(--fhhc-navy-deep), var(--fhhc-navy) 58%, #205489);
	border-radius: 22px;
	box-shadow: var(--fhhc-shadow);
	color: #fff;
	overflow: hidden;
	padding: clamp(34px, 6vw, 72px);
	position: relative;
}

.fhhc__hero::after {
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 50%;
	content: "";
	height: 290px;
	position: absolute;
	right: -105px;
	top: -125px;
	width: 290px;
}

.fhhc__hero h2 { color: #fff; max-width: 820px; position: relative; z-index: 1; }
.fhhc__hero > p:not(.fhhc__eyebrow) { color: rgba(255,255,255,.8); font-size: calc(var(--fhhc-base-size, 18px) + 1px); line-height: 1.55; margin-bottom: 28px; max-width: 720px; }
.fhhc__eyebrow { color: var(--fhhc-blue); font-size: 13px; font-weight: 800; letter-spacing: .14em; line-height: 1.4; margin-bottom: 10px; text-transform: uppercase; }
.fhhc__hero .fhhc__eyebrow { color: var(--fhhc-yellow); }

.fhhc__search-shell {
	align-items: center;
	background: #fff;
	border: 2px solid transparent;
	border-radius: 13px;
	display: flex;
	max-width: 850px;
	min-height: 66px;
	margin: 0;
	position: relative;
	transition: border-color .2s, box-shadow .2s;
	z-index: 1;
}

.fhhc__search-shell:focus-within { border-color: var(--fhhc-yellow); box-shadow: 0 0 0 5px rgba(241,216,77,.18); }
.fhhc__search-icon { border: 2px solid var(--fhhc-navy); border-radius: 50%; height: 18px; margin-left: 23px; position: relative; width: 18px; }
.fhhc__search-icon::after { background: var(--fhhc-navy); content: ""; height: 2px; position: absolute; right: -6px; top: 14px; transform: rotate(45deg); width: 8px; }
.fhhc__search-shell input[type="search"] { appearance: none; background: transparent; border: 0; box-shadow: none; color: var(--fhhc-ink); flex: 1; font-size: var(--fhhc-base-size, 18px); min-width: 0; outline: 0; padding: 18px 20px; width: 100%; }
.fhhc__search-shell input[type="search"]::placeholder { color: #7b8791; opacity: 1; }
.fhhc__clear { background: transparent; border: 0; color: var(--fhhc-blue); cursor: pointer; font-size: 15px; font-weight: 700; margin-right: 13px; padding: 10px; }
.fhhc__search-button { align-self: stretch; background: var(--fhhc-yellow); border: 0; border-radius: 9px; color: var(--fhhc-navy-deep); cursor: pointer; font-size: 17px; font-weight: 800; margin: 6px; min-width: 108px; padding: 10px 20px; }
.fhhc__search-button:hover, .fhhc__search-button:focus-visible { background: #ffe65c; box-shadow: 0 0 0 3px rgba(20,54,93,.2); outline: 0; }

.fhhc__popular { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 13px; margin-top: 18px; position: relative; z-index: 1; }
.fhhc__popular span { color: rgba(255,255,255,.65); font-size: 14px; font-weight: 700; text-transform: uppercase; }
.fhhc__popular button { background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.38); color: #fff; cursor: pointer; font-size: 16px; padding: 2px 0; }
.fhhc__popular button:hover, .fhhc__popular button:focus-visible { border-color: var(--fhhc-yellow); color: var(--fhhc-yellow); outline: 0; }

.fhhc__visitor-note { align-items: flex-start; background: #fffbed; border: 1px solid #eadf9e; border-radius: 12px; display: flex; gap: 12px; margin: 22px 0 0; padding: 16px 20px; }
.fhhc__visitor-note > span { color: #a98500; font-size: 20px; }
.fhhc__visitor-note p { color: #5f5524; margin-bottom: 0; }
.fhhc__visitor-note a { font-weight: 700; }

.fhhc__public-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; position: relative; z-index: 1; }
.fhhc__public-actions a { border-radius: 9px; font-size: 17px; font-weight: 800; padding: 12px 18px; text-decoration: none; }
.fhhc__public-primary { background: var(--fhhc-yellow); color: var(--fhhc-navy-deep) !important; }
.fhhc__public-secondary { border: 1px solid rgba(255,255,255,.55); color: #fff !important; }
.fhhc__public-actions a:hover, .fhhc__public-actions a:focus-visible { box-shadow: 0 0 0 3px rgba(255,255,255,.25); outline: 0; }
.fhhc__public-resources { padding-top: clamp(48px, 7vw, 72px); }
.fhhc__public-resources h3 { margin-bottom: 25px; }
.fhhc__public-grid { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fhhc__public-card { background: var(--fhhc-paper); border: 1px solid var(--fhhc-line); border-radius: 13px; color: var(--fhhc-ink) !important; display: flex; flex-direction: column; padding: 23px; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.fhhc__public-card:hover, .fhhc__public-card:focus-visible { border-color: #9ec3e8; box-shadow: 0 13px 30px rgba(20,54,93,.1); outline: 0; transform: translateY(-2px); }
.fhhc__public-card strong { font-size: calc(var(--fhhc-base-size, 18px) + 2px); line-height: 1.35; margin-bottom: 5px; }
.fhhc__public-card span { color: var(--fhhc-muted); font-size: calc(var(--fhhc-base-size, 18px) - 1px); line-height: 1.5; }
.fhhc__public-card em { color: var(--fhhc-blue); font-size: 15px; font-style: normal; font-weight: 750; margin-top: 14px; }
.fhhc--public .fhhc__footer { margin-top: 24px; }
.fhhc--public-compact .fhhc__visitor-note { margin-top: 0; }

.fhhc__tasks, .fhhc__results-section, .fhhc__guides { padding-top: clamp(48px, 7vw, 78px); scroll-margin-top: 30px; }
.fhhc__section-heading { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 25px; }
.fhhc__section-heading .fhhc__eyebrow { margin-bottom: 7px; }
.fhhc__browse { background: transparent; border: 0; border-bottom: 1px solid var(--fhhc-blue); color: var(--fhhc-blue); cursor: pointer; font-weight: 700; padding: 3px 0; }
.fhhc__browse:hover, .fhhc__browse:focus-visible { border-color: var(--fhhc-navy); color: var(--fhhc-navy); outline: 0; }

.fhhc__task-grid { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fhhc__task {
	align-items: center;
	background: var(--fhhc-paper);
	border: 1px solid var(--fhhc-line);
	border-radius: 14px;
	box-shadow: 0 5px 18px rgba(20,54,93,.04);
	color: var(--fhhc-ink);
	cursor: pointer;
	display: grid;
	gap: 16px;
	grid-template-columns: 50px 1fr auto;
	padding: 22px;
	text-align: left;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.fhhc__task:hover, .fhhc__task:focus-visible { border-color: #9ec3e8; box-shadow: 0 15px 32px rgba(20,54,93,.1); outline: 0; transform: translateY(-2px); }
.fhhc__task-icon { align-items: center; background: var(--fhhc-sky); border-radius: 12px; color: var(--fhhc-navy); display: flex; font-size: 25px; font-weight: 700; height: 50px; justify-content: center; width: 50px; }
.fhhc__task strong, .fhhc__task small { display: block; }
.fhhc__task strong { font-size: calc(var(--fhhc-base-size, 18px) + 1px); line-height: 1.35; margin-bottom: 4px; }
.fhhc__task small { color: var(--fhhc-muted); font-size: calc(var(--fhhc-base-size, 18px) - 2px); line-height: 1.5; }
.fhhc__task > span:last-child { color: var(--fhhc-blue); font-size: 28px; }

.fhhc__result-count { color: var(--fhhc-muted); font-size: 15px; white-space: nowrap; }
.fhhc__results { display: grid; gap: 13px; }
.fhhc__result { align-items: center; background: var(--fhhc-paper); border: 1px solid var(--fhhc-line); border-left: 4px solid var(--fhhc-blue); border-radius: 11px; display: grid; gap: 25px; grid-template-columns: 1fr auto; padding: 22px 24px; transition: border-color .2s, box-shadow .2s; }
.fhhc__result:hover { border-color: #9ec3e8; box-shadow: 0 10px 26px rgba(20,54,93,.08); }
.fhhc__result-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; }
.fhhc__category, .fhhc__access { border-radius: 999px; display: inline-flex; font-size: 12px; font-weight: 800; letter-spacing: .07em; line-height: 1.4; padding: 4px 9px; text-transform: uppercase; }
.fhhc__category { background: var(--fhhc-sky); color: #2266a5; }
.fhhc__access { background: #eef1f3; color: #5a6874; }
.fhhc__access.is-locked { background: #fff4c7; color: #796000; }
.fhhc__result h4 { font-size: calc(var(--fhhc-base-size, 18px) + 3px) !important; line-height: 1.3; margin-bottom: 7px; }
.fhhc__result p { color: var(--fhhc-muted); font-size: calc(var(--fhhc-base-size, 18px) - 1px); line-height: 1.55; margin-bottom: 0; max-width: 780px; }
.fhhc__result-link { align-items: center; border: 1px solid #a9c8e5; border-radius: 8px; display: inline-flex; font-size: calc(var(--fhhc-base-size, 18px) - 2px); font-weight: 750 !important; gap: 9px; padding: 11px 14px; text-decoration: none; white-space: nowrap; }
.fhhc__result-link:hover, .fhhc__result-link:focus-visible { background: var(--fhhc-navy); border-color: var(--fhhc-navy); color: #fff; outline: 0; }

.fhhc__empty { background: var(--fhhc-soft); border: 1px dashed #b9c8d3; border-radius: 12px; padding: 28px; text-align: center; }
.fhhc__empty strong { display: block; font-size: 19px; margin-bottom: 7px; }
.fhhc__empty p { color: var(--fhhc-muted); margin-bottom: 11px; }
.fhhc__empty a { font-weight: 700; }

.fhhc__guides { border-top: 1px solid var(--fhhc-line); margin-top: clamp(48px, 7vw, 78px); padding-top: clamp(48px, 7vw, 70px); }
.fhhc__guide-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 27px; }
.fhhc__guide-grid article { background: var(--fhhc-soft); border-radius: 14px; padding: 25px; }
.fhhc__guide-grid h4 { font-size: calc(var(--fhhc-base-size, 18px) + 3px) !important; margin: 0 0 16px; }
.fhhc__guide-grid ol { list-style: none; margin: 0; padding: 0; }
.fhhc__guide-grid li { border-top: 1px solid var(--fhhc-line); counter-increment: guide; font-size: calc(var(--fhhc-base-size, 18px) - 2px); line-height: 1.5; padding: 11px 0 11px 26px; position: relative; }
.fhhc__guide-grid li::before { color: #84929c; content: counter(guide); font-size: 13px; font-weight: 800; left: 2px; position: absolute; top: 13px; }
.fhhc__guide-grid a { font-weight: 650; text-decoration: none; }
.fhhc__guide-grid a:hover { text-decoration: underline; }

.fhhc__footer { align-items: center; background: var(--fhhc-navy-deep); border-radius: 14px; color: #fff; display: flex; gap: 28px; justify-content: space-between; margin-top: 22px; padding: 24px 28px; }
.fhhc__footer p { color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.55; margin: 0; max-width: 720px; }
.fhhc__footer p strong { color: #fff; }
.fhhc__footer > a { color: var(--fhhc-yellow); font-size: 16px; font-weight: 750; text-decoration: none; white-space: nowrap; }

.fhhc--compact { max-width: 900px; }
.fhhc--compact .fhhc__search-shell { border-color: #b9c9d6; box-shadow: 0 8px 25px rgba(20,54,93,.08); max-width: none; }
.fhhc--compact .fhhc__results-section { padding-top: 27px; }
.fhhc--compact .fhhc__section-heading { margin-bottom: 16px; }
.fhhc--compact .fhhc__result { padding: 18px 20px; }

@media (max-width: 760px) {
	.fhhc__hero { border-radius: 15px; padding: 32px 22px; }
	.fhhc__search-shell { min-height: 58px; }
	.fhhc__search-icon { margin-left: 18px; }
	.fhhc__search-button { font-size: 16px; min-width: auto; padding-left: 15px; padding-right: 15px; }
	.fhhc__popular { align-items: flex-start; flex-direction: column; }
	.fhhc__task-grid, .fhhc__guide-grid, .fhhc__public-grid { grid-template-columns: 1fr; }
	.fhhc__section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
	.fhhc__result { align-items: start; gap: 16px; grid-template-columns: 1fr; padding: 19px; }
	.fhhc__result-link { justify-content: space-between; width: 100%; }
	.fhhc__footer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	.fhhc *, .fhhc *::before, .fhhc *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
