/* kamfs.com home page: banner, department tiles, short welcome. Shown only when <html> has kamfs-h (preview). 2026-10-22 */

.kamfs-home { display:none; }
html.kamfs-h .kamfs-home { display:block; }
html.kamfs-h #block-views-slider-block,
html.kamfs-h #block-views-sldier-block,
html.kamfs-h #block-block-8 { display:none !important; }

.kamfs-hero {
	position:relative;
	background-size:cover;
	background-position:center;
	height:420px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
}
.kamfs-hero::before {
	content:'';
	position:absolute;
	top:0; right:0; bottom:0; left:0;
	background:rgba(20,28,36,0.62);
}
.kamfs-hero-inner { position:relative; max-width:900px; padding:0 20px; }
.kamfs-hero-title {
	color:#fff;
	font-size:44px;
	font-weight:700;
	line-height:1.2;
	letter-spacing:0.02em;
	margin:0 0 14px;
}
.kamfs-hero-text { color:#fff; font-size:19px; line-height:1.5; margin:0 0 28px; opacity:0.95; }
.kamfs-hero-buttons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.kamfs-btn {
	display:inline-block;
	padding:13px 30px;
	background:#1897c1;
	border:2px solid #1897c1;
	color:#fff !important;
	font-size:15px;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
	text-decoration:none !important;
	border-radius:3px;
	transition:background 0.2s, border-color 0.2s;
}
.kamfs-btn:hover { background:#147ea2; border-color:#147ea2; }
.kamfs-btn-line { background:transparent; border-color:#fff; }
.kamfs-btn-line:hover { background:#fff; color:#343434 !important; border-color:#fff; }

.kamfs-tiles {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:20px;
	max-width:1180px;
	margin:44px auto 10px;
	padding:0 20px;
	box-sizing:border-box;
}
.kamfs-tile {
	flex:0 1 calc(25% - 15px);
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	padding:26px 18px 22px;
	background:#fff;
	border:1px solid #dedede;
	border-top:4px solid #1897c1;
	text-decoration:none !important;
	transition:box-shadow 0.2s, transform 0.2s;
}
.kamfs-tile:hover { box-shadow:0 6px 18px rgba(0,0,0,0.12); transform:translateY(-2px); }
.kamfs-tile .fa { font-size:34px; color:#1897c1; margin-bottom:12px; }
.kamfs-tile-name { color:#343434; font-size:17px; font-weight:700; margin-bottom:6px; }
.kamfs-tile-text { color:#666; font-size:14px; line-height:1.5; }

.kamfs-welcome { max-width:860px; margin:30px auto 40px; padding:0 20px; }
.kamfs-welcome p { color:#343434; font-size:17px; line-height:1.7; text-align:center; margin:0; }

@media (max-width: 979px) {
	.kamfs-hero { height:auto; min-height:46vh; padding:40px 0; }
	.kamfs-hero-title { font-size:28px; }
	.kamfs-hero-text { font-size:16px; margin-bottom:22px; }
	.kamfs-btn { padding:12px 20px; font-size:14px; }
	.kamfs-tiles { gap:12px; margin-top:28px; padding:0 12px; }
	.kamfs-tile { flex:0 1 calc(50% - 6px); padding:20px 12px 16px; }
	.kamfs-tile .fa { font-size:28px; }
	.kamfs-tile-name { font-size:15px; }
	.kamfs-tile-text { font-size:13px; }
	.kamfs-welcome { margin:24px auto 30px; padding:0 16px; }
	.kamfs-welcome p { font-size:16px; text-align:left; }
}

/* ---- Round 2 (2026-10-22): home header order, full banner, no empty gap; inside pages ---- */

/* Home: no empty Welcome area or empty main area above the footer */
html.kamfs-h body.front .header_bottom_wrapper,
html.kamfs-h body.front #main-wrapper { display:none !important; }

/* Home banner shows the whole picture */
html.kamfs-h .kamfs-hero { height:auto; aspect-ratio:1920 / 720; min-height:360px; }

/* Home on computers: banner on top, menu bar under it, no repeated logo */
@media (min-width: 980px) {
	html.kamfs-h body.front #logo { display:none !important; }
	html.kamfs-h body.front .header-section-1 .col2 { float:none !important; width:auto !important; text-align:center; }
	html.kamfs-h body.front .header-section-1 { padding:6px 0 !important; }
}
/* Home on phones: the logo bar stays on top, so the banner drops its repeated title */
@media (max-width: 979px) {
	html.kamfs-h .kamfs-hero { aspect-ratio:auto; min-height:42vh; }
	html.kamfs-h .kamfs-hero-title { display:none; }
}

/* All pages: slimmer header */
@media (min-width: 980px) {
	html.kamfs-h .header-section-1 { padding-top:8px !important; padding-bottom:8px !important; }
	html.kamfs-h #logo img { max-height:58px; width:auto; }
}

/* Inside pages: title, readable text column */
html.kamfs-h body.not-front #main { padding:44px 0 36px !important; }
html.kamfs-h body.not-front #page-top-title {
	position:relative;
	font-size:34px !important;
	line-height:1.3 !important;
	color:#343434 !important;
	text-align:center !important;
	padding-top:20px !important;
	margin:0 0 30px !important;
}
html.kamfs-h body.not-front #page-top-title::before {
	content:'';
	position:absolute;
	top:0;
	left:50%;
	width:64px;
	height:4px;
	margin-left:-32px;
	background:#1897c1;
}
html.kamfs-h body.not-front .region-content .field-name-body,
html.kamfs-h body.not-front .region-content .pane-content { max-width:820px; margin:0 auto; }
html.kamfs-h body.not-front .region-content .pane-title { display:none; }
html.kamfs-h body.not-front .region-content .field-name-body p,
html.kamfs-h body.not-front .region-content .pane-content p {
	text-align:left !important;
	font-size:17px !important;
	line-height:1.75 !important;
	color:#343434;
	margin:0 0 18px !important;
}
html.kamfs-h body.not-front .region-content iframe { display:block; width:100%; margin-top:10px; border-radius:4px; }
@media (max-width: 979px) {
	html.kamfs-h body.not-front #page-top-title { font-size:24px !important; }
	html.kamfs-h body.not-front .region-content .field-name-body p,
	html.kamfs-h body.not-front .region-content .pane-content p { font-size:16px !important; }
}

/* Departments page tiles (plain list without the preview) */
.kamfs-dept { margin:10px 0 24px; }
.kamfs-dept-tile { text-align:center; margin:0 0 16px; }
.kamfs-dept-tile .fa { display:none; }
.kamfs-dept-name { font-weight:700; }
.kamfs-dept-links a { display:inline-block; margin:0 8px; }
html.kamfs-h .kamfs-dept { display:flex; flex-wrap:wrap; gap:18px; justify-content:center; margin:26px 0 30px; }
html.kamfs-h .kamfs-dept-tile {
	flex:0 1 calc(33.333% - 12px);
	box-sizing:border-box;
	text-align:left;
	margin:0;
	padding:22px 22px 18px;
	background:#fff;
	border:1px solid #dedede;
	border-top:4px solid #1897c1;
}
html.kamfs-h .kamfs-dept-tile .fa { display:block; font-size:30px; color:#1897c1; margin-bottom:10px; }
html.kamfs-h .kamfs-dept-name { color:#343434; font-size:18px; margin-bottom:10px; }
html.kamfs-h .kamfs-dept-links a { display:block; margin:0 0 6px; color:#1897c1; font-size:15px; }
@media (max-width: 979px) { html.kamfs-h .kamfs-dept-tile { flex:0 1 100%; } }

/* Inside pages: call / contact band before the footer */
.kamfs-cta { display:none; }
html.kamfs-h .kamfs-cta {
	display:block;
	background:#eef3f6;
	border-top:1px solid #dedede;
	padding:34px 20px;
	text-align:center;
}
html.kamfs-h .kamfs-cta-text { color:#343434; font-size:20px; font-weight:700; margin:0 0 16px; }
html.kamfs-h .kamfs-cta-text a { color:#1897c1; text-decoration:none; white-space:nowrap; }

/* ---- Round 3 (2026-10-22): fonts, smaller banner and menu, inside-page layout ---- */

/* Fonts: Montserrat for titles, headings and menu; Open Sans for text */
html.kamfs-h body,
html.kamfs-h .region-content p,
html.kamfs-h .kamfs-welcome p { font-family:'Open Sans', Arial, sans-serif; }
html.kamfs-h .kamfs-hero-title,
html.kamfs-h #page-top-title,
html.kamfs-h .kamfs-btn,
html.kamfs-h .kamfs-tile-name,
html.kamfs-h .kamfs-dept-name,
html.kamfs-h .kamfs-side h3,
html.kamfs-h .kamfs-cta-text,
html.kamfs-h .tb-megamenu .nav > li > a,
html.kamfs-h .kamfs-pagehead,
html.kamfs-h .region-content h2,
html.kamfs-h .region-content h3 { font-family:'Montserrat', Arial, sans-serif !important; }

/* Banner: wide picture, about 360px tall on a laptop */
html.kamfs-h .kamfs-hero { aspect-ratio:4 / 1; min-height:300px; max-height:400px; height:auto; }
html.kamfs-h .kamfs-hero-title {
	font-size:38px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.08em;
	margin-bottom:12px;
}
html.kamfs-h .kamfs-hero-text { font-size:18px; font-family:'Open Sans', Arial, sans-serif; }
@media (max-width: 979px) { html.kamfs-h .kamfs-hero { aspect-ratio:auto; min-height:38vh; max-height:none; } }

/* Menu: smaller, uppercase, Montserrat */
html.kamfs-h .tb-megamenu .nav > li { margin-top:0 !important; }
html.kamfs-h .tb-megamenu .nav > li > a {
	font-size:13px !important;
	font-weight:600;
	letter-spacing:0.07em;
	text-transform:uppercase;
	padding:15px 18px !important;
	color:#fff !important;
}
html.kamfs-h .tb-megamenu .nav > li > a:hover { color:#e8f6fb !important; background:rgba(0,0,0,0.12) !important; }

/* Inside pages: page banner with trail and title */
.kamfs-pagehead { display:none; }
html.kamfs-h .kamfs-pagehead {
	display:block;
	position:relative;
	background-size:cover;
	background-position:center;
	padding:46px 20px 40px;
	text-align:center;
	color:#fff;
}
html.kamfs-h .kamfs-pagehead::before {
	content:'';
	position:absolute;
	top:0; right:0; bottom:0; left:0;
	background:linear-gradient(90deg, rgba(20,28,36,0.88), rgba(24,151,193,0.70));
}
html.kamfs-h .kamfs-pagehead > * { position:relative; }
html.kamfs-h .kamfs-trail { font-size:13px; letter-spacing:0.05em; text-transform:uppercase; opacity:0.9; margin-bottom:10px; }
html.kamfs-h .kamfs-trail a { color:#fff; text-decoration:none; }
html.kamfs-h .kamfs-trail span.sep { margin:0 8px; opacity:0.7; }
html.kamfs-h .kamfs-pagehead .fa { font-size:30px; margin-bottom:10px; display:block; }
html.kamfs-h .kamfs-pagehead h1 {
	color:#fff !important;
	font-size:36px !important;
	font-weight:700;
	line-height:1.25 !important;
	margin:0 !important;
	padding:0 !important;
	text-align:center !important;
}
html.kamfs-h .kamfs-pagehead h1::before { display:none !important; }
html.kamfs-h body.not-front #content-header { display:none; }
html.kamfs-h body.not-front #main { padding:40px 0 30px !important; }

/* Inside pages: text column + side cards */
html.kamfs-h #content.kamfs-has-side {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 300px;
	gap:40px;
	align-items:start;
	max-width:1140px;
	margin:0 auto;
}
html.kamfs-h #content.kamfs-has-side .field-name-body,
html.kamfs-h #content.kamfs-has-side .pane-content { max-width:none; }
html.kamfs-h body.not-front .region-content .field-item > p:first-of-type,
html.kamfs-h body.not-front .region-content .pane-content > p:first-of-type {
	font-size:20px !important;
	line-height:1.65 !important;
	color:#1d2b36 !important;
	font-weight:600;
	border-left:4px solid #1897c1;
	padding-left:18px;
}
html.kamfs-h .kamfs-side { display:flex; flex-direction:column; gap:22px; }
html.kamfs-h .kamfs-card { background:#f4f7f9; border:1px solid #dedede; border-top:4px solid #1897c1; padding:20px 22px; }
html.kamfs-h .kamfs-side h3 { font-size:15px !important; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#343434; margin:0 0 12px !important; }
html.kamfs-h .kamfs-side ul { list-style:none; margin:0; padding:0; }
html.kamfs-h .kamfs-side li { list-style:none; margin:0; padding:0; border-bottom:1px solid #e3e8ec; }
html.kamfs-h .kamfs-side li::before { content:none; }
html.kamfs-h .kamfs-side li:last-child { border-bottom:0; }
html.kamfs-h .kamfs-side li a { display:block; padding:9px 0; color:#1897c1; text-decoration:none; font-size:15px; }
html.kamfs-h .kamfs-side li a.current { color:#343434; font-weight:700; }
html.kamfs-h .kamfs-side li a.current::before { content:'\203A'; margin-right:6px; color:#1897c1; }
html.kamfs-h .kamfs-contact-line { font-size:15px; color:#343434; margin:0 0 8px; }
html.kamfs-h .kamfs-contact-line .fa { color:#1897c1; width:20px; }
html.kamfs-h .kamfs-contact-line a { color:#343434; text-decoration:none; }
html.kamfs-h .kamfs-card .kamfs-btn { display:block; text-align:center; margin-top:14px; padding:11px 16px; font-size:13px; }

/* Departments page: tiles use the full width */
html.kamfs-h body.page-node-197 .region-content .field-name-body { max-width:1140px; }
html.kamfs-h body.page-node-197 .region-content .field-item > p:first-of-type { max-width:820px; margin-left:auto !important; margin-right:auto !important; }

@media (max-width: 979px) {
	html.kamfs-h #content.kamfs-has-side { display:block; }
	html.kamfs-h .kamfs-side { margin-top:28px; }
	html.kamfs-h .kamfs-pagehead { padding:30px 16px 26px; }
	html.kamfs-h .kamfs-pagehead h1 { font-size:24px !important; }
	html.kamfs-h body.not-front .region-content .field-item > p:first-of-type,
	html.kamfs-h body.not-front .region-content .pane-content > p:first-of-type { font-size:17px !important; }
}

/* ---- Round 4 (2026-10-22): fixes seen in browser screenshots ---- */
/* No leftover lines or empty titles under the page text */
html.kamfs-h .node-footer { display:none !important; }
html.kamfs-h #block-block-15 > h1,
html.kamfs-h #block-block-15 > h2 { display:none !important; }
html.kamfs-h #map_wrapper .block { padding-bottom:0 !important; }
/* Menu: one flat blue bar, current item a darker blue (not red) */
html.kamfs-h .tb-megamenu,
html.kamfs-h .tb-megamenu .nav-collapse { background:transparent !important; }
html.kamfs-h .tb-megamenu .nav > li.active > a,
html.kamfs-h .tb-megamenu .nav > li.active-trail > a,
html.kamfs-h .tb-megamenu .nav > li.open > a,
html.kamfs-h .tb-megamenu .nav > li > a:focus { background:rgba(0,0,0,0.18) !important; color:#fff !important; }
/* Footer: compact, plain font */
html.kamfs-h #footer .footer-wrapper { padding:22px 0 !important; }
html.kamfs-h #footer, html.kamfs-h #footer * { font-family:'Open Sans', Arial, sans-serif !important; letter-spacing:normal !important; }
html.kamfs-h #footer .block { padding-bottom:0 !important; }
html.kamfs-h #footer .region-footer { font-size:14px; color:#cfd6db; }
html.kamfs-h #footer a { color:#fff; }

/* ---- Round 5 (2026-10-22) ---- */
/* Page title white on the page banner */
html.kamfs-h .kamfs-pagehead #page-top-title { color:#fff !important; }
/* Footer: no empty band above the copyright line */
html.kamfs-h #footer .region-footer { padding:0 !important; }
/* Inside pages on computers: logo left, menu right, one slim row */
@media (min-width: 980px) {
	html.kamfs-h body.not-front .header-section-1 .col1 { display:flex; align-items:center; justify-content:space-between; float:none !important; width:auto !important; }
	html.kamfs-h body.not-front #logo { float:none !important; margin:0 !important; padding:0 !important; }
	html.kamfs-h body.not-front .header-section-1 .col2 { float:none !important; width:auto !important; margin:0 !important; }
	html.kamfs-h body.not-front .header-section-1 { padding:6px 0 !important; }
}

/* ---- Round 6 (2026-10-22) ---- */
html.kamfs-h body.not-front .kamfs-pagehead #page-top-title { color:#fff !important; letter-spacing:0.02em; }
@media (min-width: 980px) {
	html.kamfs-h body.not-front .header-section-1 .grid-12 { display:flex; align-items:center; justify-content:space-between; }
	html.kamfs-h body.not-front .header-section-1 .grid-12 > .col1,
	html.kamfs-h body.not-front .header-section-1 .grid-12 > .col2 { flex:0 0 auto; width:auto !important; }
	html.kamfs-h body.not-front .header-section-1 .grid-12::before,
	html.kamfs-h body.not-front .header-section-1 .grid-12::after { display:none; }
}
html.kamfs-h .kamfs-home *,
html.kamfs-h .kamfs-cta *,
html.kamfs-h .kamfs-side *,
html.kamfs-h .kamfs-dept * { letter-spacing:normal; }
html.kamfs-h .kamfs-hero-title { letter-spacing:0.08em; }
html.kamfs-h .kamfs-btn { letter-spacing:0.06em; }
html.kamfs-h #footer .region-footer { font-weight:400; }

/* ---- Round 7 (2026-10-22) ---- */
/* Header row fits: smaller logo, tighter menu */
@media (min-width: 980px) {
	html.kamfs-h body.not-front #logo img { max-height:44px; }
	html.kamfs-h .tb-megamenu .nav > li > a { padding:15px 13px !important; }
}
/* Opening paragraph: emphasis without shouting */
html.kamfs-h body.not-front .region-content .field-item > p:first-of-type,
html.kamfs-h body.not-front .region-content .pane-content > p:first-of-type {
	font-size:18px !important;
	font-weight:400;
	color:#1d2b36 !important;
}

/* ---- Round 8 (2026-10-22): full-width banner at any screen size, brighter picture, text wordmark ---- */
html.kamfs-h .kamfs-hero {
	aspect-ratio:auto !important;
	width:100%;
	height:clamp(340px, 30vw, 520px);
	min-height:0;
	max-height:none;
	background-position:center 35%;
}
html.kamfs-h .kamfs-hero::before { background:linear-gradient(180deg, rgba(10,18,28,0.25), rgba(10,18,28,0.55)); }
html.kamfs-h .kamfs-hero-title, html.kamfs-h .kamfs-hero-text { text-shadow:0 2px 12px rgba(0,0,0,0.45); }
@media (max-width: 979px) { html.kamfs-h .kamfs-hero { height:auto; min-height:44vh; } }
html.kamfs-h .kamfs-pagehead { background-position:center 40%; }
html.kamfs-h .kamfs-pagehead::before { background:linear-gradient(90deg, rgba(12,22,32,0.72), rgba(24,151,193,0.40)); }
html.kamfs-h .kamfs-pagehead h1, html.kamfs-h .kamfs-trail { text-shadow:0 2px 10px rgba(0,0,0,0.4); }
/* Header: crisp text wordmark instead of the small logo picture */
html.kamfs-h #logo img { display:none !important; }
html.kamfs-h .kamfs-wordmark {
	display:inline-block;
	font-family:'Montserrat', Arial, sans-serif;
	font-weight:700;
	font-size:17px;
	line-height:1.2;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:#fff !important;
	text-decoration:none !important;
	white-space:nowrap;
}
@media (max-width: 979px) { html.kamfs-h .kamfs-wordmark { font-size:13px; letter-spacing:0.05em; } }
/* header row: wordmark and menu on one line */
@media (min-width: 980px) {
	html.kamfs-h .header-section-1 .tb-megamenu .nav,
	html.kamfs-h .header-section-1 .region-menu,
	html.kamfs-h .header-section-1 .region-menu .block { margin:0 !important; padding:0 !important; }
	html.kamfs-h body.not-front #logo a { display:flex; align-items:center; min-height:54px; }
}

/* ---- Round 9 (2026-10-22): uniform, quiet, one contact point ---- */
/* Banner: blue picture, smaller */
html.kamfs-h .kamfs-hero { height:clamp(260px, 18vw, 340px) !important; background-position:center 30%; }
html.kamfs-h .kamfs-hero::before { background:linear-gradient(180deg, rgba(14,40,58,0.45), rgba(14,40,58,0.65)); }
html.kamfs-h .kamfs-hero-text { margin-bottom:0; }
html.kamfs-h .kamfs-pagehead { padding:34px 20px !important; }
html.kamfs-h .kamfs-pagehead::before { background:linear-gradient(90deg, rgba(14,40,58,0.72), rgba(24,151,193,0.55)); }
html.kamfs-h .kamfs-trail, html.kamfs-h .kamfs-pagehead .fa { display:none !important; }
/* Same text everywhere: no larger first paragraph, no blue bars */
html.kamfs-h body.not-front .region-content .field-item > p:first-of-type,
html.kamfs-h body.not-front .region-content .pane-content > p:first-of-type {
	font-size:17px !important; font-weight:400 !important; color:#343434 !important;
	border-left:0 !important; padding-left:0 !important; line-height:1.75 !important;
}
html.kamfs-h .kamfs-card, html.kamfs-h .kamfs-tile, html.kamfs-h .kamfs-dept-tile { border-top:1px solid #dedede !important; }
html.kamfs-h #page-top-title::before, html.kamfs-h .kamfs-pagehead h1::before { display:none !important; }
/* One contact point per page: the band at the bottom */
html.kamfs-h .kamfs-side .kamfs-card + .kamfs-card { display:none !important; }
/* Header: one even row, no search, no white strip */
html.kamfs-h #block-search-form { display:none !important; }
html.kamfs-h .header-section-1, html.kamfs-h .stickup { border-bottom:0 !important; box-shadow:none !important; }
html.kamfs-h .pseudoStickyBlock { display:none !important; height:0 !important; }
@media (min-width: 980px) {
	html.kamfs-h .header-section-1 .grid-12, html.kamfs-h .header-section-1 .col1, html.kamfs-h .header-section-1 .col2,
	html.kamfs-h .header-section-1 .region-menu, html.kamfs-h .header-section-1 .tb-megamenu, html.kamfs-h .header-section-1 .nav-collapse,
	html.kamfs-h .header-section-1 .tb-megamenu .nav { display:flex !important; align-items:center !important; }
	html.kamfs-h .header-section-1 .tb-megamenu .nav > li { margin:0 !important; float:none !important; }
	html.kamfs-h .header-section-1 .tb-megamenu .nav > li > a { padding:20px 14px !important; line-height:20px !important; }
	html.kamfs-h body.not-front #logo a { min-height:0 !important; }
}
/* header row fixes */
@media (min-width: 980px) {
	html.kamfs-h .header-section-1 .col1 { padding:0 !important; margin:0 !important; }
	html.kamfs-h .header-section-1 .tb-megamenu .nav > li > a { white-space:nowrap !important; }
	html.kamfs-h .header-section-1 .tb-megamenu .nav > li > a .caret { display:inline-block; vertical-align:middle; margin:0 0 0 6px !important; }
	html.kamfs-h body.front .header-section-1 .grid-12 { justify-content:center !important; }
}
html.kamfs-h { background:#343434; }

/* ---- Round 10 (2026-10-22): inside pages match home; text centered everywhere ---- */
html.kamfs-h body.not-front .region-content p { text-align:center !important; }
html.kamfs-h body.not-front .region-content .field-name-body { max-width:820px !important; margin:0 auto !important; }
@media (min-width: 980px) {
	html.kamfs-h body.not-front #logo { display:none !important; }
	html.kamfs-h body.not-front .header-section-1 .grid-12 { justify-content:center !important; }
}

/* ---- Round 11 (2026-10-22): one banner for every page, heading above text where there is no side block ---- */
html.kamfs-h body.not-front #content-header { display:none !important; }
html.kamfs-h .kamfs-heading {
	display:block;
	font-family:'Montserrat', Arial, sans-serif !important;
	font-size:28px !important;
	font-weight:700;
	line-height:1.3 !important;
	color:#343434 !important;
	text-align:center !important;
	text-transform:uppercase;
	letter-spacing:0.04em;
	margin:0 0 26px !important;
	padding:0 !important;
}
html.kamfs-h .kamfs-heading::before { display:none !important; }
html.kamfs-h body.not-front .region-content .field-name-body p,
html.kamfs-h body.not-front .region-content .field-name-body .field-item > p:first-of-type,
html.kamfs-h body.not-front .region-content .pane-content p { text-align:center !important; }
@media (max-width: 979px) {
	html.kamfs-h body.not-front .kamfs-hero-title { display:none; }
	html.kamfs-h .kamfs-heading { font-size:22px !important; }
}

/* ---- Round 12 (2026-10-22): one contact box on every page ---- */
html.kamfs-h .kamfs-side .kamfs-card + .kamfs-card { display:block !important; }
html.kamfs-h .kamfs-side { display:flex !important; }
html.kamfs-h .kamfs-side .kamfs-contact-line { text-align:left !important; }
@media (min-width: 980px) {
	html.kamfs-h #content.kamfs-has-side { display:grid !important; }
	html.kamfs-h #content.kamfs-has-side .kamfs-heading { text-align:center !important; }
}
