/*
Theme Name: Gutenberg Blank
Theme URI: https://example.com/gutenberg-blank
Author: Your Name
Author URI: https://example.com
Description: A clean, standards-compliant starter block theme for WordPress and Gutenberg.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 7.0
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gutenberg-blank
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, custom-logo, featured-images
*/

:root {
	--wp--preset--color--ink: #17211d;
	--wp--preset--color--paper: #F7F9FB;
	--wp--preset--color--moss: #41634d;
	--wp--preset--color--clay: #b75d3d;
	--wp--preset--color--mist: #e8eee6;
}

/* Global typography: body copy uses Source Han Sans; headings use Source Han Serif. */
body,
button,
input,
select,
textarea,
.wp-block-button__link,
.wp-block-navigation,
.wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--system-sans);
}

body .wp-site-blocks :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title),
.editor-styles-wrapper :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title) {
	font-family: var(--wp--preset--font-family--editorial-serif) !important;
}

/* Reusable classic-editor table presets. They are also loaded in TinyMCE. */
table.tefoo-table--bordered,
table.tefoo-table--striped,
table.tefoo-table--compact,
table.tefoo-table--minimal { width: 100%; border-collapse: collapse; }
table.tefoo-table--bordered th,
table.tefoo-table--bordered td,
table.tefoo-table--striped th,
table.tefoo-table--striped td,
table.tefoo-table--compact th,
table.tefoo-table--compact td { border: 1px solid #bfd2d4; padding: .8rem 1rem; vertical-align: top; }
table.tefoo-table--bordered th,
table.tefoo-table--striped th,
table.tefoo-table--compact th { background: #eaf4f5; color: #102d36; font-weight: 800; text-align: left; }
table.tefoo-table--striped tbody tr:nth-child(even) { background: #f4f8f8; }
table.tefoo-table--compact th,
table.tefoo-table--compact td { padding: .45rem .65rem; font-size: .88em; }
table.tefoo-table--minimal { border-top: 2px solid #102d36; border-bottom: 2px solid #102d36; }
table.tefoo-table--minimal th,
table.tefoo-table--minimal td { padding: .8rem 1rem; border: 0; border-bottom: 1px solid #d8e5e6; vertical-align: top; text-align: left; }
table.tefoo-table--minimal th { color: #102d36; font-weight: 800; }
table.tefoo-table--minimal tbody tr:last-child td { border-bottom: 0; }

/* Flexible technical specifications maintained from each WooCommerce product. */
.tefoo-product-detail-page { margin-block-start: 0 !important; background: #f7f9fb; }
.tefoo-product-detail-page__content { width: min(75rem, calc(100vw - 3rem)); max-width: none !important; margin: 0 auto; padding: 5rem 0; }
.tefoo-product-detail-page__content > .wp-block-post-title { max-width: 52rem; margin: 0 0 1.4rem; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3.4rem; font-weight: 800; line-height: 1.08; }
.tefoo-product-detail-page__content > .wp-block-post-featured-image { max-width: 42rem; margin: 0 0 1.8rem; padding: 2.2rem; background: #fff; }
.tefoo-product-detail-page__content > .wp-block-post-featured-image img { width: 100%; max-height: 32rem; object-fit: contain; }
.tefoo-product-detail-page__content > .wp-block-post-excerpt { max-width: 48rem; margin: 0 0 1.8rem; color: #49636d; font-size: 1.05rem; line-height: 1.7; }
.tefoo-product-featured-specifications { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 55rem; gap: .75rem; margin: 0 0 2.4rem; }
.tefoo-product-featured-specifications > div { min-width: 0; padding: 1rem; border: 1px solid #cbdde0; background: #fff; }
.tefoo-product-featured-specifications span { display: block; margin-bottom: .45rem; color: #617982; font-size: .66rem; font-weight: 900; text-transform: uppercase; }
.tefoo-product-featured-specifications strong { display: block; color: #102d36; font-size: 1.05rem; overflow-wrap: anywhere; }
.tefoo-product-detail-page__content > .wp-block-post-content { max-width: 50rem; margin: 0 0 3rem; color: #405e66; line-height: 1.75; }
.tefoo-product-specifications { margin: 3.25rem calc(50% - 50vw) 0; padding: 5rem 1.5rem; background: #eef7f7; }
.tefoo-product-specifications__inner { width: min(75rem, calc(100vw - 3rem)); margin: 0 auto; }
.tefoo-product-specifications h2 { margin: .65rem 0 2.4rem; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.6rem; font-weight: 800; line-height: 1.1; }
.tefoo-product-specifications__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.tefoo-product-specifications__group { border: 1px solid #c9dcde; background: #fff; }
.tefoo-product-specifications__group h3 { margin: 0; padding: 1.15rem 1.3rem; border-bottom: 1px solid #dbe7e8; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.15rem; font-weight: 800; }
.tefoo-product-specifications__group dl { margin: 0; }
.tefoo-product-specifications__group dl > div { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: .85rem 1.3rem; border-bottom: 1px solid #edf2f2; }
.tefoo-product-specifications__group dl > div:last-child { border-bottom: 0; }
.tefoo-product-specifications__group dt { color: #607981; font-size: .86rem; }
.tefoo-product-specifications__group dd { margin: 0; color: #102d36; font-size: .86rem; font-weight: 800; text-align: right; }
.tefoo-product-specifications__group dd.tefoo-product-specifications__image { grid-column: 1 / -1; text-align: left; }
.tefoo-product-specifications__image img { display: block; max-width: min(100%, 30rem); max-height: 26rem; object-fit: contain; }
.tefoo-product-specifications-editor .description { display: block; margin-top: .45rem; }
.tefoo-product-specifications-table { margin: 1rem 0; }
.tefoo-product-specifications-table input[type="text"] { width: 100%; }
.tefoo-product-specifications-table .tefoo-specification-image-value { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.tefoo-product-specifications-table .tefoo-specification-image-preview { display: grid; width: 2.8rem; height: 2.8rem; overflow: hidden; border: 1px solid #d0dfe1; background: #f6f9f9; color: #6c7c80; font-size: .68rem; line-height: 1.2; place-items: center; text-align: center; }
.tefoo-product-specifications-table .tefoo-specification-image-preview img { width: 100%; height: 100%; object-fit: cover; }
.tefoo-product-specification-row__featured { text-align: center; }
.tefoo-product-specification-row__actions { display: flex; gap: .45rem; align-items: center; white-space: nowrap; }
@media (max-width: 781px) { .tefoo-product-detail-page__content { width: min(100%, calc(100vw - 2.5rem)); padding: 3.5rem 0; }.tefoo-product-detail-page__content > .wp-block-post-title { font-size: 2.5rem; }.tefoo-product-featured-specifications { grid-template-columns: repeat(2, minmax(0, 1fr)); }.tefoo-product-specifications { padding: 3.5rem 1.25rem; }.tefoo-product-specifications__inner { width: min(100%, calc(100vw - 2.5rem)); }.tefoo-product-specifications h2 { font-size: 2.15rem; }.tefoo-product-specifications__groups { grid-template-columns: 1fr; } }

/* EU Battery Regulation information page and its editable WooCommerce data panel. */
.tefoo-eu-battery-page { margin-block-start: 0 !important; overflow: hidden; background: #fff; color: #1e2a3a; }
.tefoo-eu-battery-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.75rem 1.5rem; background: #1e2a3a; color: #fff; }
.tefoo-eu-battery-page__hero-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-eu-battery-page__hero h1 { max-width: 52rem; margin: .9rem 0 1.1rem !important; color: #fff; font-family: var(--wp--preset--font-family--editorial-serif); font-size: clamp(2.7rem, 5vw, 4.5rem); font-weight: 400; line-height: 1.05; }
.tefoo-eu-battery-page__hero p:not(.tefoo-home-kicker) { max-width: 42rem; margin: 0 !important; color: rgba(255,255,255,.84); font-size: 1.05rem; line-height: 1.7; }
.tefoo-eu-battery-page__content { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 4.75rem 1.5rem 6rem; background: #f7f9fb; }
.tefoo-eu-battery-page__content-inner { width: min(78rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-eu-battery-page__content-inner > .wp-block-post-content { width: 100%; max-width: none !important; margin: 0 auto; }
.tefoo-eu-battery-information { width: 100%; }
.tefoo-eu-battery-information__selector { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1rem; margin: 0 0 3rem; padding: 1.25rem 1.5rem; border: 1px solid #e4e8ec; background: #fff; }
.tefoo-eu-battery-information__selector label { display: flex; flex: 1 1 14rem; flex-direction: column; gap: .4rem; color: #5e6f7e; font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.tefoo-eu-battery-information__selector select { min-height: 2.8rem; border: 1px solid #5e6f7e; background: #fff; color: #1e2a3a; font: inherit; }
.tefoo-eu-battery-information__selector button { min-height: 2.8rem; border: 1px solid #c3a56c; border-radius: 2px; background: #c3a56c; color: #1e2a3a; font-weight: 800; cursor: pointer; }
.tefoo-eu-battery-information__selector button:hover { background: #1e2a3a; color: #fff; }
.tefoo-eu-battery-information__heading { margin: 0 0 1.75rem; }
.tefoo-eu-battery-information__heading h2 { margin: .7rem 0 .6rem; color: #1e2a3a; font-family: var(--wp--preset--font-family--editorial-serif); font-size: clamp(2rem, 4vw, 3.1rem); font-weight: 400; line-height: 1.1; }
.tefoo-eu-battery-information__heading p:last-child { max-width: 48rem; margin: 0; color: #5e6f7e; line-height: 1.7; }
.tefoo-eu-battery-information__table-wrap { overflow-x: auto; border: 1px solid #d7dde2; background: #fff; }
.tefoo-eu-battery-information__table { width: 100%; min-width: 42rem; border-collapse: collapse; table-layout: fixed; }
.tefoo-eu-battery-information__table th,
.tefoo-eu-battery-information__table td { padding: 1.15rem 1.4rem; border-bottom: 1px solid #e4e8ec; text-align: left; vertical-align: top; line-height: 1.65; }
.tefoo-eu-battery-information__table thead th { background: #1e2a3a; color: #fff; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tefoo-eu-battery-information__table thead th:first-child { width: 34%; }
.tefoo-eu-battery-information__table tbody th { background: #f7f9fb; color: #2e343a; font-size: .94rem; font-weight: 800; }
.tefoo-eu-battery-information__table tbody td { color: #5e6f7e; font-size: .95rem; white-space: pre-line; }
.tefoo-eu-battery-information__table tbody tr:last-child th,
.tefoo-eu-battery-information__table tbody tr:last-child td { border-bottom: 0; }
.tefoo-eu-battery-information__table tbody tr:hover th,
.tefoo-eu-battery-information__table tbody tr:hover td { background: #eef1f4; }
.tefoo-eu-battery-information__empty { width: min(72rem, 100%); margin: 0 auto; padding: 2rem; border: 1px solid #e4e8ec; background: #fff; color: #5e6f7e; }
.tefoo-eu-battery-information__tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 2.25rem; border-bottom: 1px solid #d7dde2; }
.tefoo-eu-battery-information__tabs button { position: relative; padding: .85rem 1.1rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #5e6f7e; font: inherit; font-size: .82rem; font-weight: 800; cursor: pointer; }
.tefoo-eu-battery-information__tabs button:hover, .tefoo-eu-battery-information__tabs button.is-active { border-bottom-color: #c3a56c; color: #1e2a3a; }
.tefoo-eu-battery-information__panel[hidden] { display: none; }
.tefoo-eu-battery-information__documents { display: flex; flex-direction: column; gap: 1.25rem; align-items: center; }
.tefoo-eu-battery-information__document { width: 100%; max-width: 100%; margin: 0; overflow: hidden; border: 1px solid #d7dde2; background: #fff; }
.tefoo-eu-battery-information__document a { display: block; width: max-content; max-width: 100%; margin: 0 auto; background: #fff; }
.tefoo-eu-battery-information__document img { display: block; width: auto; max-width: 100%; height: auto; aspect-ratio: auto; object-fit: initial; background: #fff; }
.tefoo-eu-battery-information__document figcaption { padding: .9rem 1rem; border-top: 1px solid #e4e8ec; color: #1e2a3a; font-size: .88rem; font-weight: 800; }
.tefoo-eu-battery-information__document:hover { border-color: #c3a56c; }
.tefoo-eu-battery-editor .description { display: block; margin-top: .4rem; }
.tefoo-eu-battery-table { margin: 1rem 0; }
.tefoo-eu-battery-table th { text-align: left; }
.tefoo-eu-battery-table td { vertical-align: top; }
.tefoo-eu-battery-table input[type="text"], .tefoo-eu-battery-table textarea { width: 100%; }
.tefoo-eu-battery-table textarea { min-height: 4rem; resize: vertical; }
.tefoo-eu-battery-table .tefoo-eu-battery-remove-row { white-space: nowrap; }
.tefoo-declaration-editor .description { display: block; margin-top: .4rem; }
.tefoo-declaration-table { margin: 1rem 0; }
.tefoo-declaration-table input[type="text"] { width: 100%; }
.tefoo-declaration-document-image { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.tefoo-declaration-image-preview { display: grid; width: 3.25rem; height: 3.25rem; overflow: hidden; border: 1px solid #d7dde2; background: #f7f9fb; color: #5e6f7e; font-size: .68rem; line-height: 1.2; place-items: center; text-align: center; }
.tefoo-declaration-image-preview img { width: 100%; height: 100%; object-fit: cover; }
.tefoo-declaration-document-image .tefoo-declaration-select-file { white-space: nowrap; }
@media (max-width: 781px) {
	.tefoo-eu-battery-page__hero { padding: 4.5rem 1.25rem; }
	.tefoo-eu-battery-page__hero-inner, .tefoo-eu-battery-page__content-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-eu-battery-page__hero h1 { font-size: 2.8rem; }
	.tefoo-eu-battery-page__content { padding: 3.5rem 1.25rem 4.5rem; }
	.tefoo-eu-battery-information__selector { align-items: stretch; flex-direction: column; }
	.tefoo-eu-battery-information__selector button { width: 100%; }
	.tefoo-eu-battery-information__table { min-width: 35rem; }
	.tefoo-eu-battery-information__table th, .tefoo-eu-battery-information__table td { padding: .9rem 1rem; }
	.tefoo-eu-battery-information__document { width: 100%; }
}

/* Certifications content modules. All content remains native Gutenberg blocks. */
.tefoo-certifications-page__credentials, .tefoo-certifications-page__portfolio { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem 5.75rem; background: #fff; }
.tefoo-certifications-page__inner { width: min(84rem, calc(100% - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-certifications-page__heading { max-width: 64rem; margin: 0 auto !important; text-align: center; }
.tefoo-certifications-page__heading h2 { max-width: 58rem; margin: .85rem auto 1.15rem !important; color: #102d36; font-family: var(--wp--preset--font-family--editorial-serif); font-size: clamp(2.7rem, 4.2vw, 4rem); font-weight: 400; line-height: 1.02; }
.tefoo-certifications-page__heading > p:last-child { max-width: 54rem; margin: 0 auto !important; color: #49636d; font-size: 1rem; line-height: 1.62; }
.tefoo-certifications-page__summary { gap: 0 !important; width: min(72rem, 100%) !important; margin: 2.65rem auto 0 !important; border: 1px solid #c7e2e5; box-shadow: 0 .75rem 1.5rem rgba(16,45,54,.045); }
.tefoo-certifications-page__summary-card { min-height: 11.5rem; padding: 1.55rem 1.8rem 1.7rem; border-right: 1px solid #c7e2e5; }
.tefoo-certifications-page__summary > .wp-block-column:last-child .tefoo-certifications-page__summary-card { border-right: 0; }
.tefoo-certifications-page__summary-card > p:first-child { margin: 0 0 1.45rem !important; color: #c3a56c; font-size: .7rem; font-weight: 900; }
.tefoo-certifications-page__summary-card h3 { margin: 0 0 .55rem !important; color: #102d36; font-family: var(--wp--preset--font-family--editorial-serif); font-size: 1.18rem; font-weight: 600; line-height: 1.12; }
.tefoo-certifications-page__summary-card > p:last-child { max-width: 15rem; margin: 0 !important; color: #49636d; font-size: .88rem; line-height: 1.55; }
.tefoo-certifications-page__records, .tefoo-certifications-page__portfolio { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; overflow: hidden; background: #F7F9FB; }
.tefoo-certifications-page__records-inner { width: min(84rem, calc(100% - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-certifications-page__records-heading { text-align: center; }
.tefoo-certifications-page__records-heading h2 { max-width: 75rem; margin: .85rem auto 2rem !important; color: #102d36; font-family: var(--wp--preset--font-family--editorial-serif); font-size: clamp(2.45rem, 3.3vw, 3.25rem); font-weight: 400; line-height: 1.08; }
.tefoo-certifications-page__certificate-slider { position: relative; width: min(75rem, 100%) !important; max-width: none !important; margin: 0 auto; padding: 0 3.7rem; box-sizing: border-box; }
.tefoo-certifications-page__slider-controls { position: absolute; top: 7.3rem; right: 0; left: 0; z-index: 2; width: 100% !important; max-width: none !important; margin: 0 !important; transform: translateY(-50%); pointer-events: none; }
.tefoo-certifications-page__slider-controls .wp-block-button { margin: 0 !important; pointer-events: auto; }
.tefoo-certifications-page__slider-controls .wp-block-button__link { display: grid; width: 3.2rem; min-width: 0; height: 3.2rem; padding: 0; border: 1px solid #c7e2e5; border-radius: .25rem; background: #fff; color: #102d36; font-size: 1.8rem; place-items: center; }
.tefoo-certifications-page__slider-controls .wp-block-button__link:hover { border-color: #c3a56c; background: #c3a56c; }
.tefoo-certifications-page__slider-prev { transform: translateX(-.15rem); }.tefoo-certifications-page__slider-next { transform: translateX(.15rem); }
.tefoo-certifications-page__certificate-track { display: flex !important; flex-wrap: nowrap !important; width: 100% !important; max-width: none !important; gap: 1.1rem !important; padding: 0 .2rem 1rem !important; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }.tefoo-certifications-page__certificate-track::-webkit-scrollbar { display: none; }
.tefoo-certifications-page__certificate-card { display: flex !important; flex: 0 0 calc((100% - 2.2rem) / 3) !important; flex-direction: column; min-width: 0; margin-block-start: 0 !important; overflow: hidden; border: 1px solid #c7e2e5; border-radius: .3rem; background: #fff; scroll-snap-align: start; }
.tefoo-certifications-page__certificate-card .wp-block-image { display: grid; width: 100%; aspect-ratio: 210 / 297; margin: 0 !important; padding: .7rem; box-sizing: border-box; background: #f7fbfb; place-items: center; }.tefoo-certifications-page__certificate-card .wp-block-image a { display: grid; width: 100%; height: 100%; place-items: center; }.tefoo-certifications-page__certificate-card img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tefoo-certifications-page__certificate-card h3 { display: grid; min-height: 3.9rem; margin: 0 !important; padding: .8rem 1rem; border-top: 1px solid #e2ecee; color: #102d36; font-family: var(--wp--preset--font-family--editorial-serif); font-size: 1rem; font-weight: 600; line-height: 1.16; text-align: center; place-items: center; }
.tefoo-certifications-page__note { width: min(75rem, 100%) !important; max-width: none !important; margin: .65rem auto 0 !important; color: #5a6b72; font-size: .88rem; text-align: center; }
.tefoo-certifications-page__portfolio-grid { gap: 1.5rem !important; margin-top: 2.6rem !important; }.tefoo-certifications-page__portfolio-card { min-height: 33rem; padding: 2.85rem; border: 1px solid #c7e2e5; border-radius: .35rem; background: #fff; }
.tefoo-certifications-page__portfolio > .tefoo-certifications-page__inner { width: min(84rem, calc(100% - 3rem)) !important; }
.tefoo-certifications-page__portfolio > .tefoo-certifications-page__inner > .tefoo-certifications-page__heading { width: min(62rem, 100%) !important; max-width: none; margin: 0 auto !important; text-align: center; }
.tefoo-certifications-page__portfolio > .tefoo-certifications-page__inner > .tefoo-certifications-page__heading h2 { max-width: 62rem; margin-right: auto !important; margin-left: auto !important; font-size: clamp(2.7rem, 4.5vw, 3.8rem); line-height: 1.06; }
.tefoo-certifications-page__portfolio-grid { display: grid !important; width: min(75rem, 100%) !important; max-width: none !important; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 2.5rem auto 0 !important; }
.tefoo-certifications-page__portfolio-grid > .wp-block-column { min-width: 0; }
.tefoo-certifications-page__portfolio-card { min-height: 31rem; }
.tefoo-certifications-page__monogram { display: grid; width: 3.4rem; height: 3.4rem; margin: 0 0 2rem !important; background: #c3a56c; color: #102d36; font-size: .8rem; font-weight: 900; place-items: center; }.tefoo-certifications-page__portfolio-card .tefoo-home-kicker { margin-bottom: 1.2rem !important; }.tefoo-certifications-page__portfolio-card h3 { margin: 0 0 1rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2rem; font-weight: 800; line-height: 1.1; }.tefoo-certifications-page__portfolio-card > p:not(.tefoo-home-kicker):not(.tefoo-certifications-page__monogram) { margin: 0 !important; color: #49636d; line-height: 1.7; }.tefoo-certifications-page__portfolio-card ul { margin: 2rem 0 0 !important; padding: 0 !important; color: #102d36; font-size: .92rem; font-weight: 800; line-height: 2.4; list-style: none; }.tefoo-certifications-page__portfolio-card li::before { margin-right: .65rem; color: #c3a56c; content: '•'; }
.tefoo-certifications-page__portfolio-card--dark { border-color: #061f27; background: #061f27; }.tefoo-certifications-page__portfolio-card--dark h3 { color: #fff; }.tefoo-certifications-page__portfolio-card--dark > p:not(.tefoo-home-kicker):not(.tefoo-certifications-page__monogram), .tefoo-certifications-page__portfolio-card--dark ul { color: rgba(255,255,255,.82); }.tefoo-certifications-page__portfolio-card--dark .tefoo-home-kicker { color: #c3a56c; }
.tefoo-certifications-page__cta { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5rem 1.5rem; border-bottom: 2px solid #c3a56c; background: #061f27; color: #fff; }.tefoo-certifications-page__cta-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-certifications-page__cta h2 { margin: .8rem 0 0 !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.8rem; font-weight: 800; }.tefoo-certifications-page__cta .wp-block-button__link { padding: .95rem 1.4rem; border: 1px solid #d5e6e7; border-radius: .35rem; background: transparent; color: #fff; font-size: .85rem; font-weight: 800; white-space: nowrap; }.tefoo-certifications-page__cta .wp-block-button__link:hover { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
@media (max-width: 781px) { .tefoo-certifications-page__credentials, .tefoo-certifications-page__portfolio, .tefoo-certifications-page__records { padding: 4rem 1.25rem; }.tefoo-certifications-page__inner, .tefoo-certifications-page__records-inner, .tefoo-certifications-page__cta-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-certifications-page__heading { text-align: left; }.tefoo-certifications-page__heading h2, .tefoo-certifications-page__records-heading h2 { font-size: 2.35rem; }.tefoo-certifications-page__heading h2 br { display: none; }.tefoo-certifications-page__summary { width: 100% !important; gap: 0 !important; }.tefoo-certifications-page__summary-card { min-height: 0; padding: 1.35rem; border-right: 0; border-bottom: 1px solid #c7e2e5; }.tefoo-certifications-page__summary > .wp-block-column:last-child .tefoo-certifications-page__summary-card { border-bottom: 0; }.tefoo-certifications-page__certificate-slider { width: 100%; padding: 0 2.8rem; }.tefoo-certifications-page__certificate-card { flex-basis: 100%; }.tefoo-certifications-page__certificate-card .wp-block-image { height: 17rem; }.tefoo-certifications-page__slider-controls { top: 8.9rem; }.tefoo-certifications-page__slider-prev { transform: translateX(-.2rem); }.tefoo-certifications-page__slider-next { transform: translateX(.2rem); }.tefoo-certifications-page__portfolio > .tefoo-certifications-page__inner > .tefoo-certifications-page__heading { width: 100% !important; text-align: left; }.tefoo-certifications-page__portfolio-grid { grid-template-columns: 1fr; width: 100% !important; }.tefoo-certifications-page__portfolio-card { min-height: 0; padding: 2rem; }.tefoo-certifications-page__portfolio-card h3 { font-size: 1.75rem; }.tefoo-certifications-page__cta { padding: 3.5rem 1.25rem; }.tefoo-certifications-page__cta h2 { font-size: 2.2rem; }.tefoo-certifications-page__cta .wp-block-buttons { justify-content: flex-start !important; } }

/* Applications page: native Gutenberg blocks, scoped to this template. */
body.page-template-page-applications { padding: 0 !important; }
body.page-template-page-applications .wp-site-blocks > main.tefoo-applications-page { margin-block-start: 0 !important; }
.tefoo-applications-page { background: #edf8f8; color: #102d36; overflow: hidden; }
.tefoo-applications-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; min-height: 38.125rem; padding: 7rem 1.5rem 5.4rem; background: #061f27; color: #fff; }
.tefoo-applications-page__hero-inner { display: flex; flex-direction: column; justify-content: flex-end; width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; min-height: 25.6rem; margin: 0 auto !important; }
.tefoo-applications-page__hero h1 { max-width: 43rem; margin: .8rem 0 1.75rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4.5rem; font-weight: 800; line-height: 1.01; }
.tefoo-applications-page__hero-lead { max-width: 37rem; margin: 0 !important; color: rgba(255,255,255,.88); font-size: 1.05rem; line-height: 1.7; }
.tefoo-applications-page__hero-action { margin: 2.25rem 0 0 !important; }
.tefoo-applications-page__hero-action .wp-block-button__link { display: inline-flex; align-items: center; gap: .75rem; padding: 0; border: 0; border-radius: 0; background: transparent; color: #fff; font-size: .78rem; font-weight: 800; line-height: 1; text-transform: uppercase; }
.tefoo-applications-page__hero-action .wp-block-button__link::after { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 1.9rem; height: 1.9rem; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; content: '\2193'; font-size: 1rem; font-weight: 400; text-transform: none; }
.tefoo-applications-page__hero-action .wp-block-button__link:hover,
.tefoo-applications-page__hero-action .wp-block-button__link:focus-visible { color: #c3a56c; }
.tefoo-applications-page__overview { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6.5rem 1.5rem 6.2rem; background: #edf8f8; }
.tefoo-applications-page__overview-intro { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 5.25rem !important; margin: 0 auto 4.9rem !important; }
.tefoo-applications-page__overview-intro > .wp-block-column { min-width: 0; }
.tefoo-applications-page__overview h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3.25rem; font-weight: 800; line-height: 1.08; }
.tefoo-applications-page__overview-intro > .wp-block-column:last-child > p { max-width: 40rem; margin: 0 !important; color: #526f78; font-size: 1rem; line-height: 1.8; }
.tefoo-applications-page__overview-intro > .wp-block-column:last-child > p + p { margin-top: 1.25rem !important; }
.tefoo-applications-page__category-grid { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 0 !important; margin: 0 auto !important; }
.tefoo-applications-page__category-grid > .wp-block-column { min-width: 0; }
.tefoo-applications-page__category-card { box-sizing: border-box; min-height: 7.5rem; padding: 1.55rem 1.75rem; border: 1px solid #c6e0e4; background: #fff; box-shadow: 0 1.1rem 2.2rem rgba(16,45,54,.07); }
.tefoo-applications-page__category-grid > .wp-block-column + .wp-block-column .tefoo-applications-page__category-card { border-left: 0; }
.tefoo-applications-page__category-card h3 { margin: 0 0 .45rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2rem; font-weight: 800; line-height: 1.1; }
.tefoo-applications-page__category-card p { margin: 0 !important; color: #52717c; font-size: .72rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
@media (max-width: 781px) {
	.tefoo-applications-page__hero { min-height: 0; padding: 4.5rem 1.25rem; }
	.tefoo-applications-page__hero-inner { min-height: 23rem; }
	.tefoo-applications-page__hero h1 { font-size: 3rem; }
	.tefoo-applications-page__overview { padding: 4.5rem 1.25rem; }
	.tefoo-applications-page__overview-intro { gap: 2rem !important; margin-bottom: 2.75rem !important; }
	.tefoo-applications-page__overview h2 { font-size: 2.35rem; }
	.tefoo-applications-page__category-grid { gap: .75rem !important; }
	.tefoo-applications-page__category-grid > .wp-block-column + .wp-block-column .tefoo-applications-page__category-card { border-left: 1px solid #c6e0e4; }
}

/* Product detail: WooCommerce data rendered by the single-product template shortcode. */
.wp-site-blocks > main.tefoo-product-page,
.tefoo-product-page { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.wp-site-blocks > main.tefoo-product-page.is-layout-constrained > .wp-block-shortcode,
.tefoo-product-page.is-layout-constrained > .wp-block-shortcode,
.tefoo-product-page > .wp-block-shortcode { display: block; width: 100% !important; max-width: none !important; margin-right: 0 !important; margin-left: 0 !important; }
.tefoo-product-detail { color: #102d36; background: #fff; }
.tefoo-product-detail *, .tefoo-product-detail *::before, .tefoo-product-detail *::after { box-sizing: border-box; }
.tefoo-product-detail__container { width: min(75rem, calc(100vw - 3rem)); max-width: none; margin: 0 auto; }
.tefoo-product-detail h1, .tefoo-product-detail h2, .tefoo-product-detail h3, .tefoo-product-detail p { margin-top: 0; }
.tefoo-product-detail h1, .tefoo-product-detail h2, .tefoo-product-detail h3 { font-family: var(--wp--preset--font-family--system-sans); font-weight: 800; }
.tefoo-product-detail__hero { padding: 4.75rem 1.5rem; background: #1e2a3a; color: #fff; }
.tefoo-product-detail__hero-grid { display: grid; grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr); gap: 4.25rem; align-items: center; }
.tefoo-product-detail__media { min-width: 0; }
.tefoo-product-detail__main-image { display: grid; min-height: 29rem; padding: 2.15rem; place-items: center; border: 1px solid rgba(255,255,255,.14); background: #f7f9fb; }
.tefoo-product-detail__main-image { overflow: hidden; }
.tefoo-product-detail__main-image a { display: grid; width: 100%; height: 100%; place-items: center; }
.tefoo-product-detail__main-image a { overflow: hidden; cursor: zoom-in; }
.tefoo-product-detail__main-image img { display: block; width: 100%; max-height: 24rem; object-fit: contain; transform: scale(1); transform-origin: center center; transition: transform .18s ease-out; will-change: transform; }
.tefoo-product-detail__main-image img.is-zooming { transform: scale(2); cursor: zoom-out; }
.tefoo-product-detail__thumbs { display: flex; gap: .8rem; margin-top: .8rem; }
.tefoo-product-detail__thumb { display: grid; flex: 0 0 5.25rem; width: 5.25rem; height: 4.5rem; padding: .35rem; border: 1px solid rgba(255,255,255,.24); background: #f7f9fb; cursor: pointer; place-items: center; transition: border-color .2s ease, background-color .2s ease; }
.tefoo-product-detail__thumb:hover, .tefoo-product-detail__thumb:focus-visible, .tefoo-product-detail__thumb.is-active { border-color: #c3a56c; background: #fff; }
.tefoo-product-detail__thumb img { width: 100%; height: 100%; object-fit: contain; }
.tefoo-product-detail__breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.35rem; color: #cbd9de; font-size: .76rem; }
.tefoo-product-detail__breadcrumb a { color: #fff; text-decoration: none; }
.tefoo-product-detail__breadcrumb a:hover, .tefoo-product-detail__breadcrumb a:focus-visible { color: #c3a56c; }
.tefoo-product-detail__eyebrow { margin: 0 0 .55rem; color: #866a35; font-size: .72rem; font-weight: 800; line-height: 1.35; text-transform: uppercase; }
.tefoo-product-detail__hero .tefoo-product-detail__eyebrow { color: #c3a56c; }
.tefoo-product-detail__summary h1 { max-width: 43rem; margin-bottom: 1.15rem; color: #fff; font-size: 2.9rem; line-height: 1.08; }
.tefoo-product-detail__lead { max-width: 39rem; color: #d8e2e5; font-size: 1rem; line-height: 1.72; }
.tefoo-product-detail__lead p { margin: 0; }
.tefoo-product-detail__kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 1.7rem 0; }
.tefoo-product-detail__kpis > div { min-width: 0; padding: .85rem .75rem; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); }
.tefoo-product-detail__kpis span { display: block; margin-bottom: .3rem; color: #b8cbd1; font-size: .64rem; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.tefoo-product-detail__kpis strong { display: block; overflow-wrap: anywhere; color: #fff; font-size: .95rem; line-height: 1.2; }
.tefoo-product-detail__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-bottom: 1.25rem; }
.tefoo-product-detail__button, .tefoo-product-detail__cta a { display: inline-flex; min-height: 2.9rem; padding: .65rem 1.25rem; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.72); background: transparent; color: #fff; font-size: .82rem; font-weight: 800; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.tefoo-product-detail__button:hover, .tefoo-product-detail__button:focus-visible { border-color: #c3a56c; background: #c3a56c; color: #1e2a3a; }
.tefoo-product-detail__button--accent, .tefoo-product-detail__cta a { border-color: #c3a56c; background: #c3a56c; color: #1e2a3a; }
.tefoo-product-detail__button--accent:hover, .tefoo-product-detail__button--accent:focus-visible, .tefoo-product-detail__cta a:hover, .tefoo-product-detail__cta a:focus-visible { border-color: #fff; background: #fff; color: #1e2a3a; }
.tefoo-product-detail__assurance { display: flex; flex-wrap: wrap; gap: .5rem; }
.tefoo-product-detail__assurance span { padding: .35rem .6rem; border: 1px solid rgba(195,165,108,.55); background: rgba(195,165,108,.12); color: #f7ead1; font-size: .68rem; font-weight: 700; }
.tefoo-product-detail__nav { position: sticky; top: 0; z-index: 4; border-bottom: 1px solid #dce7e9; background: rgba(255,255,255,.97); box-shadow: 0 .25rem 1rem rgba(16,45,54,.04); }
.tefoo-product-detail__nav .tefoo-product-detail__container { display: flex; overflow-x: auto; }
.tefoo-product-detail__nav a { display: block; flex: 0 0 auto; padding: 1.05rem 1.2rem; color: #102d36; font-size: .75rem; font-weight: 800; text-decoration: none; }
.tefoo-product-detail__nav a:hover, .tefoo-product-detail__nav a:focus-visible { background: #f4eee2; color: #755f34; }
.tefoo-product-detail__overview { padding: 5.5rem 1.5rem; background: #fff; }
.tefoo-product-detail__overview-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr); gap: 4rem; align-items: start; }
.tefoo-product-detail__overview h2, .tefoo-product-detail__section-heading h2, .tefoo-product-detail__downloads h2 { margin-bottom: 1.2rem; color: #102d36; font-size: 2.3rem; line-height: 1.15; }
.tefoo-product-detail__rich-copy { max-width: 42rem; color: #58717a; font-size: .96rem; line-height: 1.8; }
.tefoo-product-detail__rich-copy p { margin-bottom: 1rem; }
.tefoo-product-detail__rich-copy ul { display: grid; gap: .55rem; margin: 1.3rem 0 0; padding: 0; list-style: none; }
.tefoo-product-detail__rich-copy li { position: relative; padding-left: 1.4rem; color: #102d36; }
.tefoo-product-detail__rich-copy li::before { position: absolute; top: .57rem; left: 0; width: .55rem; height: .55rem; background: #c3a56c; content: ''; }
.tefoo-product-detail__factbox { overflow: hidden; border: 1px solid #d9e7e9; border-top: .28rem solid #c3a56c; background: #fff; box-shadow: 0 1rem 2.4rem rgba(16,45,54,.08); }
.tefoo-product-detail__factbox h3 { margin: 0; padding: 1.15rem 1.3rem; background: #f7f9fb; color: #102d36; font-size: 1.1rem; }
.tefoo-product-detail__factbox dl, .tefoo-product-detail__specifications dl { margin: 0; }
.tefoo-product-detail__factbox dl > div, .tefoo-product-detail__specifications dl > div { display: grid; grid-template-columns: minmax(7.5rem, .9fr) minmax(0, 1.1fr); border-top: 1px solid #dce7e9; }
.tefoo-product-detail__factbox dt, .tefoo-product-detail__factbox dd, .tefoo-product-detail__specifications dt, .tefoo-product-detail__specifications dd { min-width: 0; margin: 0; padding: .72rem .9rem; font-size: .76rem; line-height: 1.55; }
.tefoo-product-detail__factbox dt, .tefoo-product-detail__specifications dt { background: #f7f9fb; color: #102d36; font-weight: 800; }
.tefoo-product-detail__factbox dd, .tefoo-product-detail__specifications dd { color: #58717a; overflow-wrap: anywhere; }
.tefoo-product-detail__factbox dd img, .tefoo-product-detail__specifications dd img { max-width: 100%; height: auto; }
.tefoo-product-detail__specifications { padding: 5.2rem 1.5rem 5.6rem; background: #f7f9fb; }
.tefoo-product-detail__section-heading { display: flex; gap: 2rem; margin-bottom: 2.25rem; align-items: end; justify-content: space-between; }
.tefoo-product-detail__section-heading > div { max-width: 48rem; }
.tefoo-product-detail__section-heading > a { flex: 0 0 auto; padding-bottom: .2rem; border-bottom: 1px solid #102d36; color: #102d36; font-size: .76rem; font-weight: 800; text-decoration: none; }
.tefoo-product-detail__section-heading > a:hover, .tefoo-product-detail__section-heading > a:focus-visible { border-color: #c3a56c; color: #755f34; }
.tefoo-product-detail__spec-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem; }
.tefoo-product-detail__spec-columns article { overflow: hidden; border: 1px solid #d9e7e9; background: #fff; }
.tefoo-product-detail__spec-columns h3 { margin: 0; padding: 1.1rem 1.3rem; border-left: .28rem solid #c3a56c; background: #1e2a3a; color: #fff; font-size: 1.12rem; }
.tefoo-product-detail__safety { padding: 5.5rem 1.5rem 5.8rem; background: #1e2a3a; color: #fff; }
.tefoo-product-detail__safety-intro { max-width: 44rem; }
.tefoo-product-detail__eyebrow--light { color: #c3a56c; }
.tefoo-product-detail__safety h2 { margin-bottom: 1rem; color: #fff; font-size: 2.3rem; line-height: 1.15; }
.tefoo-product-detail__safety-intro > p:last-child { max-width: 39rem; margin-bottom: 2rem; color: #d8e2e5; font-size: .95rem; line-height: 1.75; }
.tefoo-product-detail__safety-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.tefoo-product-detail__safety-grid article { min-height: 10.3rem; padding: 1.35rem; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.08); }
.tefoo-product-detail__safety-grid strong { display: block; margin-bottom: .65rem; color: #fff; font-size: .95rem; }
.tefoo-product-detail__safety-grid p { margin: 0; color: #d8e2e5; font-size: .78rem; line-height: 1.65; }
.tefoo-product-detail__downloads { padding: 5.5rem 1.5rem; background: #edf3f4; }
.tefoo-product-detail__downloads-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(20rem, 1.15fr); gap: 4rem; align-items: start; }
.tefoo-product-detail__downloads-grid > div:first-child > p:last-child { max-width: 35rem; margin: 0; color: #58717a; font-size: .94rem; line-height: 1.75; }
.tefoo-product-detail__download-actions { display: grid; gap: .75rem; }
.tefoo-product-detail__download-actions a { display: grid; min-height: 5.25rem; padding: 1.15rem 1.3rem; border: 1px solid #cfdee1; border-left: .3rem solid #c3a56c; background: #fff; color: #102d36; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tefoo-product-detail__download-actions a:hover, .tefoo-product-detail__download-actions a:focus-visible { border-color: #c3a56c; box-shadow: 0 .75rem 1.8rem rgba(16,45,54,.1); transform: translateY(-.15rem); }
.tefoo-product-detail__download-actions strong { margin-bottom: .2rem; font-size: .9rem; }
.tefoo-product-detail__download-actions span { color: #58717a; font-size: .75rem; line-height: 1.45; }
.tefoo-product-detail__document-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: 1rem; align-content: start; }
.tefoo-product-detail__document-list a { display: flex; min-height: 12rem; padding: 1.2rem .9rem 1.05rem; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; border: 1px solid #cfdee1; background: #fff; color: #102d36; text-align: center; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tefoo-product-detail__document-list a:hover, .tefoo-product-detail__document-list a:focus-visible { border-color: #c3a56c; box-shadow: 0 .75rem 1.8rem rgba(16,45,54,.1); transform: translateY(-.15rem); }
.tefoo-product-detail__document-preview { display: grid; width: 5.25rem; height: 6.15rem; flex: 0 0 auto; overflow: hidden; place-items: center; }
.tefoo-product-detail__document-preview img { display: block; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; }
.tefoo-product-detail__document-list strong { display: block; max-width: 100%; overflow-wrap: anywhere; font-size: .82rem; line-height: 1.4; }
.tefoo-product-detail__related { padding: 5.5rem 1.5rem 5.8rem; background: #fff; }
.tefoo-product-detail__carousel { position: relative; }
.tefoo-product-detail__carousel.has-controls { padding: 0 3.85rem; }
.tefoo-product-detail__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.45rem; }
.tefoo-product-detail__related-grid.is-scrollable { display: flex; padding: .15rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tefoo-product-detail__related-grid.is-scrollable::-webkit-scrollbar { display: none; }
.tefoo-product-detail__related-grid.is-scrollable article { flex: 0 0 calc((100% - 2.9rem) / 3); min-width: 0; scroll-snap-align: start; }
.tefoo-product-detail__carousel-button { position: absolute; top: 50%; z-index: 2; display: grid; width: 2.75rem; height: 2.75rem; padding: 0; align-items: center; justify-content: center; border: 0; border-radius: .35rem; background: #c3a56c; color: #1e2a3a; font-size: 1.75rem; font-weight: 800; line-height: 1; cursor: pointer; transform: translateY(-50%); transition: background-color .2s ease, color .2s ease; }
.tefoo-product-detail__carousel-button--previous { left: 0; }
.tefoo-product-detail__carousel-button--next { right: 0; }
.tefoo-product-detail__carousel-button:hover, .tefoo-product-detail__carousel-button:focus-visible { background: #1e2a3a; color: #fff; }
.tefoo-product-detail__carousel-button:disabled { background: #e4e8ec; color: #5e6f7e; cursor: default; }
.tefoo-product-detail__related-grid article { display: flex; overflow: hidden; flex-direction: column; align-self: start; border: 1px solid #d8e6e8; background: #fff; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tefoo-product-detail__related-grid article:hover { border-color: #c3a56c; box-shadow: 0 1rem 2.5rem rgba(16,45,54,.12); transform: translateY(-.2rem); }
.tefoo-product-detail__related-image { display: grid; box-sizing: border-box; width: 100%; height: 14.5rem; padding: 1.4rem; overflow: hidden; place-items: center; background: #f7f9fb; }
.tefoo-product-detail__related-image img { display: block; width: 100%; height: 100%; min-height: 0; max-height: 100%; object-fit: contain; }
.tefoo-product-detail__related-grid article > div { display: flex; flex-direction: column; gap: .45rem; padding: 1.1rem 1.25rem 1.2rem; }
.tefoo-product-detail__related-grid span { display: block; color: #866a35; font-size: .68rem; font-weight: 800; line-height: 1.35; text-transform: uppercase; }
.tefoo-product-detail__related-grid h3 { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.tefoo-product-detail__related-grid h3 a { color: #102d36; text-decoration: none; }
.tefoo-product-detail__related-grid p { min-height: 0; margin: 0; color: #58717a; font-size: .8rem; line-height: 1.5; }
.tefoo-product-detail__related-link { align-self: flex-start; margin-top: .2rem; border-bottom: 1px solid #102d36; color: #102d36; font-size: .75rem; font-weight: 800; text-decoration: none; }
.tefoo-product-detail__related-link:hover, .tefoo-product-detail__related-link:focus-visible { border-color: #c3a56c; color: #755f34; }
.tefoo-product-detail__cta { padding: 3.7rem 1.5rem; background: #1e2a3a; }
.tefoo-product-detail__cta .tefoo-product-detail__container { display: flex; gap: 2rem; align-items: center; justify-content: space-between; }
.tefoo-product-detail__cta h2 { margin: 0; color: #fff; font-size: 2rem; line-height: 1.15; }

@media (max-width: 900px) {
	.tefoo-product-detail__hero-grid, .tefoo-product-detail__overview-grid, .tefoo-product-detail__downloads-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.tefoo-product-detail__main-image { min-height: 23rem; }
	.tefoo-product-detail__main-image img { max-height: 19rem; }
	.tefoo-product-detail__safety-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.tefoo-product-detail__container { width: min(100%, calc(100vw - 2.5rem)); }
	.tefoo-product-detail__hero, .tefoo-product-detail__overview, .tefoo-product-detail__specifications, .tefoo-product-detail__safety, .tefoo-product-detail__downloads, .tefoo-product-detail__related { padding: 3.75rem 1.25rem; }
	.tefoo-product-detail__summary h1 { font-size: 2.1rem; }
	.tefoo-product-detail__overview h2, .tefoo-product-detail__section-heading h2, .tefoo-product-detail__safety h2, .tefoo-product-detail__downloads h2 { font-size: 1.8rem; }
	.tefoo-product-detail__main-image { min-height: 18rem; padding: 1.2rem; }
	.tefoo-product-detail__main-image img { max-height: 15rem; }
	.tefoo-product-detail__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tefoo-product-detail__actions { display: grid; grid-template-columns: 1fr; }
	.tefoo-product-detail__spec-columns, .tefoo-product-detail__safety-grid, .tefoo-product-detail__related-grid { grid-template-columns: 1fr; }
	.tefoo-product-detail__section-heading, .tefoo-product-detail__cta .tefoo-product-detail__container { display: grid; gap: 1.2rem; align-items: start; }
	.tefoo-product-detail__section-heading > a { justify-self: start; }
	.tefoo-product-detail__factbox dl > div, .tefoo-product-detail__specifications dl > div { grid-template-columns: minmax(6.8rem, .85fr) minmax(0, 1.15fr); }
	.tefoo-product-detail__carousel.has-controls { padding: 0 3.35rem; }
	.tefoo-product-detail__related-grid.is-scrollable article { flex-basis: 100%; }
	.tefoo-product-detail__document-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tefoo-product-detail__cta { padding: 3rem 1.25rem; }
	.tefoo-product-detail__cta h2 { font-size: 1.7rem; }
}

.tefoo-applications-page__cases { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.85rem 1.5rem 6.85rem; background: #edf8f8; }
.tefoo-applications-page__cases-heading { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 4rem !important; margin: 0 auto 2.15rem !important; }
.tefoo-applications-page__cases-heading > .wp-block-column { min-width: 0; }
.tefoo-applications-page__cases-heading h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3.25rem; font-weight: 800; line-height: 1.08; }
.tefoo-applications-page__cases-heading > .wp-block-column:last-child > p { max-width: 23rem; margin: 0 0 .3rem auto !important; color: #52717c; font-size: .9rem; line-height: 1.72; }
.tefoo-applications-page__cases .wp-block-shortcode { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-application-cases__filters { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1.8rem; }
.tefoo-application-cases__filters button { min-height: 2.75rem; padding: .55rem 1rem; border: 1px solid #c5dfe3; border-radius: 0; background: #fff; color: #274650; font: inherit; font-size: .74rem; font-weight: 800; line-height: 1; text-transform: uppercase; cursor: pointer; }
.tefoo-application-cases__filters button:hover,
.tefoo-application-cases__filters button:focus-visible,
.tefoo-application-cases__filters button.is-active { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
.tefoo-application-cases__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.45rem; }
.tefoo-application-cases__card { position: relative; box-sizing: border-box; min-width: 0; min-height: 25rem; overflow: hidden; border-radius: .2rem; background: #102d36; color: #fff; }
.tefoo-application-cases__card[hidden] { display: none; }
.tefoo-application-cases__image { position: absolute; inset: 0; display: block; background: #173b45; }
.tefoo-application-cases__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tefoo-application-cases__image span { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: rgba(255,255,255,.7); font-size: .86rem; }
.tefoo-application-cases__card::after { position: absolute; z-index: 1; inset: 0; content: ''; background: linear-gradient(180deg, rgba(6,31,39,.04) 25%, rgba(6,31,39,.94) 100%); pointer-events: none; }
.tefoo-application-cases__card:hover .tefoo-application-cases__image img { transform: scale(1.055); }
.tefoo-application-cases__content { position: absolute; z-index: 2; right: 1.55rem; bottom: 1.5rem; left: 1.55rem; }
.tefoo-application-cases__tag { display: inline-block; margin: 0 0 .75rem !important; padding: .35rem .5rem; background: rgba(194,222,226,.82); color: #102d36; font-size: .6rem; font-weight: 900; line-height: 1; text-transform: uppercase; }
.tefoo-application-cases__content h3 { margin: 0 0 .65rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.6rem; font-weight: 800; line-height: 1.12; }
.tefoo-application-cases__content h3 a { color: inherit; text-decoration: none; }
.tefoo-application-cases__excerpt { margin: 0 !important; color: rgba(255,255,255,.86); font-size: .8rem; line-height: 1.6; }
.tefoo-application-cases__link { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.15rem; color: #c3a56c; font-size: .68rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.tefoo-application-cases__link::after { content: '\2192'; font-size: 1.05rem; }
.tefoo-application-cases__empty,
.tefoo-application-cases__no-results { margin: 2rem 0 0 !important; color: #52717c; text-align: center; }
.tefoo-application-cases__pagination { display: flex; justify-content: center; gap: .5rem; margin: 2.5rem 0 0; }
.tefoo-application-cases__pagination button { min-width: 2.6rem; height: 2.6rem; padding: 0 .8rem; border: 1px solid #c5dfe3; border-radius: 0; background: #fff; color: #274650; font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }
.tefoo-application-cases__pagination button:hover:not(:disabled),
.tefoo-application-cases__pagination button:focus-visible,
.tefoo-application-cases__pagination button[aria-current="page"] { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
.tefoo-application-cases__pagination button:disabled { opacity: .42; cursor: not-allowed; }
.tefoo-applications-page__cta { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 4.75rem 1.5rem 5rem; background: #061f27; color: #fff; }
.tefoo-applications-page__cta-inner { display: grid !important; width: min(75rem, calc(100% - 3rem)) !important; max-width: none !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center !important; gap: 3rem !important; margin: 0 auto !important; }
.tefoo-applications-page__cta-inner > .wp-block-column { min-width: 0; }
.tefoo-applications-page__cta h2 { max-width: 54rem; margin: .65rem 0 0 !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: clamp(2.6rem, 4vw, 3.35rem); font-weight: 800; line-height: 1.04; }
.tefoo-applications-page__cta-inner > .wp-block-column:last-child { justify-self: end; }
.tefoo-applications-page__cta .wp-block-buttons { margin: 0 !important; }
.tefoo-applications-page__cta .wp-block-button__link { padding: .95rem 1.75rem; border-radius: .25rem; background: #c3a56c; color: #102d36; font-size: .82rem; font-weight: 800; white-space: nowrap; }
.tefoo-applications-page__cta .wp-block-button__link:hover,
.tefoo-applications-page__cta .wp-block-button__link:focus-visible { background: #fff; }
@media (max-width: 781px) {
	.tefoo-applications-page__cases { padding: 4.5rem 1.25rem; }
	.tefoo-applications-page__cases-heading { gap: 1.5rem !important; margin-bottom: 1.75rem !important; }
	.tefoo-applications-page__cases-heading h2, .tefoo-applications-page__cta h2 { font-size: 2.35rem; }
	.tefoo-applications-page__cases-heading > .wp-block-column:last-child > p { margin: 0 !important; }
	.tefoo-application-cases__filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .4rem; }
	.tefoo-application-cases__filters button { flex: 0 0 auto; }
	.tefoo-application-cases__grid { grid-template-columns: 1fr; }
	.tefoo-application-cases__card { min-height: 23rem; }
	.tefoo-application-cases__pagination { gap: .35rem; }
	.tefoo-application-cases__pagination button { min-width: 2.3rem; padding: 0 .6rem; }
	.tefoo-applications-page__cta { padding: 4.25rem 1.25rem; }.tefoo-applications-page__cta-inner { width: min(100%, calc(100% - 2.5rem)) !important; grid-template-columns: 1fr; gap: 1.5rem !important; }.tefoo-applications-page__cta-inner > .wp-block-column:last-child { justify-self: start; }
	.tefoo-applications-page__cta .wp-block-buttons { justify-content: flex-start !important; }
}

/* Blog page: native Gutenberg blocks, scoped to this template. */
body.page-template-page-blog { padding: 0 !important; }
body.page-template-page-blog .wp-site-blocks > main.tefoo-blog-page { margin-block-start: 0 !important; }
.tefoo-blog-page { overflow: hidden; background: #fff; color: #102d36; }
.tefoo-blog-page__hero { position: relative; box-sizing: border-box; width: 100% !important; max-width: none !important; min-height: 32.25rem; padding: 5.4rem 1.5rem 5.6rem; overflow: hidden; background: #061f27; color: #fff; }
.tefoo-blog-page__hero::before { position: absolute; top: -14.8rem; right: -11.25rem; width: 36.25rem; height: 36.25rem; border: 1px solid rgba(195,165,108,.45); border-radius: 50%; box-shadow: 0 0 0 3.25rem rgba(195,165,108,.06), 0 0 0 6.5rem rgba(195,165,108,.035); content: ''; }
.tefoo-blog-page__hero-inner { position: relative; z-index: 1; width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-blog-page__kicker { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.2rem !important; color: #c3a56c; font-size: .75rem; font-weight: 800; line-height: 1; text-transform: uppercase; }
.tefoo-blog-page__kicker::before { width: 1.85rem; height: 2px; background: #c3a56c; content: ''; }
.tefoo-blog-page__hero h1 { max-width: 48rem; margin: 0 !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4.35rem; font-weight: 800; line-height: 1.02; }
.tefoo-blog-page__hero-lead { max-width: 38.5rem; margin: 1.65rem 0 0 !important; color: rgba(255,255,255,.76); font-size: 1.05rem; line-height: 1.65; }
.tefoo-blog-page__overview { box-sizing: border-box; width: 100% !important; max-width: none !important; background: #c3a56c; }
.tefoo-blog-page__overview-columns { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 0 !important; margin: 0 auto !important; }
.tefoo-blog-page__overview-columns > .wp-block-column { box-sizing: border-box; min-width: 0; min-height: 10.4rem; padding: 2rem 2.25rem; border-left: 1px solid rgba(6,31,39,.18); }
.tefoo-blog-page__overview-columns > .wp-block-column:first-child { border-left: 0; }
.tefoo-blog-page__overview h2,
.tefoo-blog-page__overview h3 { margin: 0 0 .45rem !important; color: #061f27; font-family: var(--wp--preset--font-family--system-sans); font-weight: 800; line-height: 1.1; }
.tefoo-blog-page__overview h2 { font-size: 1.6rem; }
.tefoo-blog-page__overview h3 { font-size: 1.48rem; }
.tefoo-blog-page__overview p { margin: 0 !important; color: #061f27; font-size: .72rem; font-weight: 700; line-height: 1.7; }
@media (max-width: 781px) {
	.tefoo-blog-page__hero { min-height: 0; padding: 4.5rem 1.25rem; }
	.tefoo-blog-page__hero::before { top: -18rem; right: -17rem; }
	.tefoo-blog-page__hero h1 { font-size: 3rem; }
	.tefoo-blog-page__overview-columns { gap: 0 !important; }
	.tefoo-blog-page__overview-columns > .wp-block-column { min-height: 0; padding: 1.5rem 1.25rem; border-top: 1px solid rgba(6,31,39,.18); border-left: 0; }
	.tefoo-blog-page__overview-columns > .wp-block-column:first-child { border-top: 0; }
}

.tefoo-blog-page__articles { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.25rem 1.5rem 6.5rem; background: #fff; }
.tefoo-blog-page__articles-heading { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 2.5rem !important; margin: 0 auto 2rem !important; }
.tefoo-blog-page__articles-heading > .wp-block-column { min-width: 0; }
.tefoo-blog-page__articles-heading h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3.1rem; font-weight: 800; line-height: 1.06; }
.tefoo-blog-page__articles-heading > .wp-block-column:last-child > p { max-width: 26rem; margin: 0 0 .25rem auto !important; color: #58717a; font-size: .9rem; line-height: 1.65; }
.tefoo-blog-page__articles .wp-block-shortcode { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-blog-articles__filters { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 2rem; padding-bottom: 1.35rem; border-bottom: 1px solid #dae6e8; }
.tefoo-blog-articles__filters button { min-height: 2.55rem; padding: .5rem .95rem; border: 1px solid #cde2e5; border-radius: 0; background: #edf8f8; color: #274650; font: inherit; font-size: .74rem; font-weight: 800; line-height: 1; cursor: pointer; }
.tefoo-blog-articles__filters button:hover,
.tefoo-blog-articles__filters button:focus-visible,
.tefoo-blog-articles__filters button.is-active { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
.tefoo-blog-articles__featured { display: grid; grid-template-columns: 1.52fr .9fr; gap: 1.75rem; margin-bottom: 1.75rem; }
.tefoo-blog-articles__lead { display: grid; grid-template-columns: 1fr 1fr; min-height: 21rem; overflow: hidden; background: #edf8f8; }
.tefoo-blog-articles__lead > p:empty { display: none !important; }
.tefoo-blog-articles__lead-image > br,
.tefoo-blog-articles__card-image > br { display: none; }
.tefoo-blog-articles__lead-image,
.tefoo-blog-articles__card-image { display: block; overflow: hidden; background: #e8f1f2; }
.tefoo-blog-articles__lead-image img,
.tefoo-blog-articles__card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.tefoo-blog-articles__lead-image span,
.tefoo-blog-articles__card-image span { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: #58717a; font-size: .75rem; }
.tefoo-blog-articles__lead:hover .tefoo-blog-articles__lead-image img,
.tefoo-blog-articles__card:hover .tefoo-blog-articles__card-image img { transform: scale(1.04); }
.tefoo-blog-articles__lead-content { display: flex; flex-direction: column; align-items: flex-start; padding: 2rem 1.8rem; }
.tefoo-blog-articles__category { margin: 0 0 .75rem !important; color: #8a6f3e; font-size: .62rem; font-weight: 900; line-height: 1; text-transform: uppercase; }
.tefoo-blog-articles__lead h3 { margin: 0 0 .85rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.8rem; font-weight: 800; line-height: 1.12; }
.tefoo-blog-articles h3 a { color: inherit; text-decoration: none; }
.tefoo-blog-articles__excerpt { margin: 0 !important; color: #58717a; font-size: .8rem; line-height: 1.65; }
.tefoo-blog-articles__meta { margin: auto 0 0 !important; color: #58717a; font-size: .65rem; line-height: 1.4; }
.tefoo-blog-articles__link { display: inline-flex; align-items: center; gap: .5rem; margin-top: .85rem; color: #102d36; font-size: .66rem; font-weight: 900; text-decoration: none; text-transform: none; }
.tefoo-blog-articles__link::after { content: '\2192'; font-size: 1rem; }
.tefoo-blog-articles__featured-list { border-top: 3px solid #102d36; }
.tefoo-blog-articles__featured-item { padding: 1.25rem 0; border-bottom: 1px solid #dbe7e8; }
.tefoo-blog-articles__featured-item h3 { margin: 0 0 .65rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.06rem; font-weight: 800; line-height: 1.25; }
.tefoo-blog-articles__featured-item .tefoo-blog-articles__meta { margin: 0 !important; }
.tefoo-blog-articles__featured-item .tefoo-blog-articles__link { margin-top: .45rem; }
.tefoo-blog-articles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.45rem; }
.tefoo-blog-articles__card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #d7e5e7; background: #fff; }
.tefoo-blog-articles__card-image { height: 12.2rem; }
.tefoo-blog-articles__card-content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.35rem; }
.tefoo-blog-articles__card h3 { margin: 0 0 .75rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.18rem; font-weight: 800; line-height: 1.24; }
.tefoo-blog-articles__card .tefoo-blog-articles__link { margin-top: auto; padding-top: 1rem; }
.tefoo-blog-articles__empty,
.tefoo-blog-articles__no-results { margin: 2rem 0 0 !important; color: #58717a; text-align: center; }
.tefoo-blog-articles__pagination { display: flex; justify-content: center; gap: .5rem; margin: 2.5rem 0 0; }
.tefoo-blog-articles__pagination button { min-width: 2.6rem; height: 2.6rem; padding: 0 .8rem; border: 1px solid #c5dfe3; border-radius: 0; background: #fff; color: #274650; font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }
.tefoo-blog-articles__pagination button:hover:not(:disabled),
.tefoo-blog-articles__pagination button:focus-visible,
.tefoo-blog-articles__pagination button[aria-current="page"] { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
.tefoo-blog-articles__pagination button:disabled { opacity: .42; cursor: not-allowed; }
/* Theme display declarations override the browser's default [hidden] rule. */
.tefoo-blog-articles [hidden] { display: none !important; }
@media (max-width: 781px) {
	.tefoo-blog-page__articles { padding: 4rem 1.25rem; }
	.tefoo-blog-page__articles-heading { gap: 1.25rem !important; margin-bottom: 1.5rem !important; }
	.tefoo-blog-page__articles-heading h2 { font-size: 2.35rem; }
	.tefoo-blog-page__articles-heading > .wp-block-column:last-child > p { margin: 0 !important; }
	.tefoo-blog-articles__filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 1rem; }
	.tefoo-blog-articles__filters button { flex: 0 0 auto; }
	.tefoo-blog-articles__featured { grid-template-columns: 1fr; }
	.tefoo-blog-articles__lead { grid-template-columns: 1fr; }
	.tefoo-blog-articles__lead-image { min-height: 15rem; }
	.tefoo-blog-articles__lead-content { min-height: 17rem; }
	.tefoo-blog-articles__grid { grid-template-columns: 1fr; }
	.tefoo-blog-articles__pagination { gap: .35rem; }
	.tefoo-blog-articles__pagination button { min-width: 2.3rem; padding: 0 .6rem; }
}

/* Certifications page: global template parts with an editable page body. */
body.page-template-page-certifications { padding: 0 !important; }
body.page-template-page-certifications .wp-site-blocks > main.tefoo-certifications-page { margin-block-start: 0 !important; }
.tefoo-certifications-page { overflow: hidden; background: #fff; color: #102d36; }
.tefoo-certifications-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6rem 1.5rem; background: #061f27; color: #fff; }
.tefoo-certifications-page__hero-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-certifications-page__hero h1 { max-width: 48rem; margin: .9rem 0 1.15rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4rem; font-weight: 800; line-height: 1.05; }
.tefoo-certifications-page__hero p:not(.tefoo-home-kicker) { max-width: 42rem; margin: 0 !important; color: rgba(255,255,255,.84); font-size: 1.05rem; font-weight: 650; line-height: 1.7; }
.tefoo-certifications-page__content { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; }
.tefoo-certifications-page__content > .wp-block-post-content { width: min(72rem, calc(100vw - 3rem)); max-width: none !important; margin: 0 auto; }
.tefoo-downloads-page { overflow: hidden; background: #fff; color: #102d36; }
.tefoo-downloads-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6rem 1.5rem; background: #061f27; color: #fff; }
.tefoo-downloads-page__hero-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-downloads-page__hero h1 { max-width: 48rem; margin: .9rem 0 1.15rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4rem; font-weight: 800; line-height: 1.05; }
.tefoo-downloads-page__hero p:not(.tefoo-home-kicker) { max-width: 42rem; margin: 0 !important; color: rgba(255,255,255,.84); font-size: 1.05rem; font-weight: 650; line-height: 1.7; }
.tefoo-downloads-page__content { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; }
.tefoo-downloads-page__content > .wp-block-post-content { width: min(72rem, calc(100vw - 3rem)); max-width: none !important; margin: 0 auto; }
.tefoo-downloads-page__hero { min-height: 30rem; background-image: linear-gradient(90deg, rgba(6,31,39,.94), rgba(6,31,39,.65)), url('/tefoo-wp/wp-content/themes/gutenberg-blank/assets/images/products/gs2054hh/gs2054hh-1.jpg'); background-position: center; background-repeat: no-repeat; background-size: cover; }
.tefoo-downloads-page__hero h1 { font-size: 4.5rem; }
.tefoo-downloads-page__hero p:not(.tefoo-home-kicker) { max-width: 38rem; color: rgba(255,255,255,.9); }
.tefoo-downloads-page__library { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.75rem 1.5rem; background: #f7f9fb; }
.tefoo-downloads-page__library-inner { width: min(75rem, calc(100% - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
/* The parent is a constrained block, so explicitly release its editable child blocks to the library width. */
.tefoo-downloads-page__library-inner > .tefoo-downloads-page__library-heading,
.tefoo-downloads-page__library-inner > .tefoo-downloads-page__table { width: 100% !important; max-width: none !important; }
.tefoo-downloads-page__library-heading { margin-bottom: 2.75rem !important; }.tefoo-downloads-page__library-heading h2 { max-width: 60rem; margin: .85rem 0 1rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3rem; font-weight: 800; line-height: 1.08; }.tefoo-downloads-page__library-heading > p:last-child { max-width: 62rem; margin: 0 !important; color: #58717a; line-height: 1.7; }
.tefoo-downloads-page__table { margin: 0 !important; overflow-x: auto; border: 1px solid #c7e2e5; background: #fff; }.tefoo-downloads-page__table table { width: 100%; min-width: 46rem; table-layout: fixed; border-collapse: collapse; }.tefoo-downloads-page__table td { height: 4.85rem; padding: 1.1rem 1.5rem; border: 0; border-bottom: 1px solid #d9e8e9; color: #49636d; font-size: .94rem; line-height: 1.45; vertical-align: middle; }.tefoo-downloads-page__table tr:last-child td { border-bottom: 0; }.tefoo-downloads-page__table td:first-child { width: 12rem; color: #102d36; font-weight: 900; }.tefoo-downloads-page__table td:last-child { width: 12rem; padding-right: 1.75rem; text-align: right; }.tefoo-downloads-page__table a { display: inline-flex; align-items: center; justify-content: flex-end; gap: .5rem; color: #102d36; font-size: .78rem; font-weight: 900; text-decoration: none; text-transform: uppercase; white-space: nowrap; }.tefoo-downloads-page__table a::after { content: '↓'; color: #c3a56c; font-size: 1.15rem; }.tefoo-downloads-page__table tr:hover td { background: #edf9fa; }
.tefoo-faq-page { overflow: hidden; background: #fff; color: #102d36; }
.tefoo-faq-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6rem 1.5rem; background: #061f27; color: #fff; }
.tefoo-faq-page__hero-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-faq-page__hero h1 { max-width: 52rem; margin: .9rem 0 1.15rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4rem; font-weight: 800; line-height: 1.05; }
.tefoo-faq-page__hero p:not(.tefoo-home-kicker) { max-width: 42rem; margin: 0 !important; color: rgba(255,255,255,.84); font-size: 1.05rem; font-weight: 650; line-height: 1.7; }
.tefoo-faq-page__content { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; }
.tefoo-faq-page__content > .wp-block-post-content { width: min(72rem, calc(100vw - 3rem)); max-width: none !important; margin: 0 auto; }
.tefoo-faq-page__hero { min-height: 30rem; background: #061f27; }.tefoo-faq-page__hero h1 { max-width: 48rem; font-size: 4.35rem; }.tefoo-faq-page__hero p:not(.tefoo-home-kicker) { max-width: 43rem; color: rgba(255,255,255,.86); }.tefoo-faq-page__hero-action { margin-top: 2rem !important; }.tefoo-faq-page__hero-action .wp-block-button__link { border-color: #c3a56c; color: #fff; }
.tefoo-faq-page__topics { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 1.1rem 1.5rem; border-bottom: 1px solid #c7e2e5; background: #fff; }.tefoo-faq-page__topic-buttons { gap: .55rem !important; }.tefoo-faq-page__topic-buttons .wp-block-button { margin: 0 !important; }.tefoo-faq-page__topic-buttons .wp-block-button__link { padding: .6rem .8rem; border: 0; border-radius: 0; background: transparent; color: #49636d; font-size: .76rem; font-weight: 800; }.tefoo-faq-page__topic-buttons .wp-block-button__link:hover { color: #102d36; background: #edf9fa; }
.tefoo-faq-page__questions { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; background: #f7f9fb; }.tefoo-faq-page__questions-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 5rem !important; margin: 0 auto !important; }.tefoo-faq-page__intro { position: sticky; top: 2rem; }.tefoo-faq-page__intro h2 { margin: .9rem 0 1rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.6rem; font-weight: 800; line-height: 1.1; }.tefoo-faq-page__intro > p { margin: 0 !important; color: #58717a; line-height: 1.7; }.tefoo-faq-page__contact-card { margin-top: 2rem !important; padding: 1.35rem; border-left: 3px solid #c3a56c; background: #fff; }.tefoo-faq-page__contact-card p { margin: 0 !important; color: #49636d; font-size: .9rem; }.tefoo-faq-page__contact-card p + p { margin-top: .45rem !important; }.tefoo-faq-page__contact-card a { color: #102d36; font-weight: 900; text-decoration: none; }
.tefoo-faq-page__group { margin: 0 0 3rem !important; scroll-margin-top: 7rem; }.tefoo-faq-page__group h3 { margin: 0 0 1rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.55rem; font-weight: 800; }.tefoo-faq-page__group .wp-block-details { margin: 0 !important; border-top: 1px solid #c7e2e5; background: transparent; }.tefoo-faq-page__group .wp-block-details:last-child { border-bottom: 1px solid #c7e2e5; }.tefoo-faq-page__group summary { padding: 1.15rem 2rem 1.15rem 0; color: #102d36; font-size: .98rem; font-weight: 800; line-height: 1.5; cursor: pointer; }.tefoo-faq-page__group .wp-block-details p { margin: 0 !important; padding: 0 2rem 1.2rem 0; color: #58717a; font-size: .92rem; line-height: 1.75; }
.tefoo-faq-page__cta { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 4.5rem 1.5rem; background: #edf9fa; }.tefoo-faq-page__cta-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-faq-page__cta h2 { max-width: 46rem; margin: .8rem 0 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.6rem; font-weight: 800; line-height: 1.1; }.tefoo-faq-page__cta .wp-block-button__link { border-radius: .25rem; background: #102d36; color: #fff; font-size: .85rem; font-weight: 800; white-space: nowrap; }.tefoo-faq-page__cta .wp-block-button__link:hover { background: #c3a56c; color: #102d36; }
.tefoo-about-page { overflow: hidden; background: #fff; color: #102d36; }
.tefoo-about-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6rem 1.5rem; background: #061f27; color: #fff; }
.tefoo-about-page__hero-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-about-page__hero h1 { max-width: 52rem; margin: .9rem 0 1.15rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4rem; font-weight: 800; line-height: 1.05; }
.tefoo-about-page__hero p:not(.tefoo-home-kicker) { max-width: 42rem; margin: 0 !important; color: rgba(255,255,255,.84); font-size: 1.05rem; font-weight: 650; line-height: 1.7; }
.tefoo-about-page__content { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; }
.tefoo-about-page__content > .wp-block-post-content { width: min(72rem, calc(100vw - 3rem)); max-width: none !important; margin: 0 auto; }
.tefoo-about-page__hero { min-height: 34rem; background-image: linear-gradient(90deg, rgba(6,31,39,.92), rgba(6,31,39,.62)), url('/tefoo-wp/wp-content/themes/gutenberg-blank/assets/images/products/gs2054hh/gs2054hh-1.jpg'); background-position: center; background-size: cover; }.tefoo-about-page__hero h1 { max-width: 54rem; font-size: 4.25rem; }.tefoo-about-page__hero p:not(.tefoo-home-kicker) { max-width: 44rem; color: rgba(255,255,255,.88); }.tefoo-about-page__hero .wp-block-button__link { border-color: #c3a56c; color: #fff; }
.tefoo-about-page__intro, .tefoo-about-page__capabilities { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6.5rem 1.5rem; background: #fff; }.tefoo-about-page__intro-columns, .tefoo-about-page__capabilities-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-about-page__intro-columns { gap: 6.5rem !important; }.tefoo-about-page__intro h2, .tefoo-about-page__capabilities h2, .tefoo-about-page__team h2 { margin: .9rem 0 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3.15rem; font-weight: 800; line-height: 1.08; }.tefoo-about-page__intro-columns > .wp-block-column:last-child > p:first-child { margin: 0 !important; color: #49636d; font-size: 1.1rem; line-height: 1.7; }.tefoo-about-page__link { margin: 1.6rem 0 0 !important; }.tefoo-about-page__link a { padding-bottom: .45rem; border-bottom: 2px solid #c3a56c; color: #102d36; font-size: .78rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.tefoo-about-page__stats { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 2.4rem 1.5rem; background: #c3a56c; }.tefoo-about-page__stats-grid { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 0 !important; margin: 0 auto !important; }.tefoo-about-page__stats-grid > .wp-block-column { padding: 0 1.4rem; border-right: 1px solid rgba(16,45,54,.25); }.tefoo-about-page__stats-grid > .wp-block-column:first-child { padding-left: 0; }.tefoo-about-page__stats-grid > .wp-block-column:last-child { border-right: 0; }.tefoo-about-page__stats h3 { margin: 0 0 .55rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.4rem; font-weight: 900; }.tefoo-about-page__stats p { margin: 0 !important; color: #102d36; font-size: .78rem; font-weight: 800; line-height: 1.45; }
.tefoo-about-page__certifications { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 4.7rem 1.5rem 4.1rem; overflow: hidden; background: #e4e8ec; }.tefoo-about-page__certifications-heading { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto 2.15rem !important; text-align: center; }.tefoo-about-page__certifications-heading .tefoo-home-kicker { margin: 0 0 .7rem !important; color: #5e6f7e; }.tefoo-about-page__certifications-heading h2 { margin: 0 !important; color: #1e2a3a; font-family: var(--wp--preset--font-family--editorial-serif, serif); font-size: 2.65rem; font-weight: 600; line-height: 1.1; }.tefoo-about-page__certificate-slider { width: min(80.5rem, calc(100vw - 3rem)) !important; }.tefoo-about-page__certificate-slider .tefoo-certifications-page__certificate-card { border-color: rgba(94,111,126,.18); border-radius: 0; background: rgba(247,249,251,.65); }.tefoo-about-page__certificate-slider .tefoo-certifications-page__certificate-card .wp-block-image { background: #f7f9fb; }.tefoo-about-page__certificate-slider .tefoo-certifications-page__certificate-card h3 { color: #1e2a3a; font-family: var(--wp--preset--font-family--editorial-serif, serif); }.tefoo-about-page__certifications-link { margin: 1.1rem 0 0 !important; }.tefoo-about-page__certifications-link .wp-block-button__link { padding: .25rem 0 .45rem; border: 0; border-bottom: 2px solid #1e2a3a; border-radius: 0; background: transparent; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .85rem; font-weight: 800; }.tefoo-about-page__certifications-link .wp-block-button__link:hover { border-color: #c3a56c; background: transparent; color: #c3a56c; }
.tefoo-about-page__capabilities h2 { margin-bottom: 3.2rem !important; }.tefoo-about-page__capability-grid { gap: 0 !important; border-top: 1px solid #c7e2e5; }.tefoo-about-page__capability-grid > .wp-block-column { min-height: 17rem; padding: 1.8rem 1.5rem 1.8rem 0; border-right: 1px solid #c7e2e5; }.tefoo-about-page__capability-grid > .wp-block-column + .wp-block-column { padding-left: 1.5rem; }.tefoo-about-page__capability-grid > .wp-block-column:last-child { border-right: 0; }.tefoo-about-page__capability-grid > .wp-block-column > p:first-child { margin: 0 0 2.4rem !important; color: #c3a56c; font-size: .75rem; font-weight: 900; }.tefoo-about-page__capability-grid h3 { margin: 0 0 .8rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.35rem; font-weight: 800; }.tefoo-about-page__capability-grid p:last-child { margin: 0 !important; color: #58717a; font-size: .9rem; line-height: 1.65; }
.tefoo-about-page__team { box-sizing: border-box; width: 100% !important; max-width: none !important; background: #f2f4f4; }.tefoo-about-page__team-columns { max-width: 80rem !important; gap: 0 !important; margin: 0 auto !important; }.tefoo-about-page__team-columns > .wp-block-column { min-width: 0; }.tefoo-about-page__team-image { display: block; height: 100%; min-height: 35rem; margin: 0 !important; }.tefoo-about-page__team-image img { width: 100%; height: 100%; object-fit: cover; }.tefoo-about-page__team-copy { padding: 5.5rem 4.5rem; }.tefoo-about-page__team-copy ul { margin: 2.25rem 0 0 !important; padding: 0 !important; border-top: 1px solid #c7d2d3; list-style: none; }.tefoo-about-page__team-copy li { padding: 1rem 0; border-bottom: 1px solid #c7d2d3; color: #58717a; font-size: .9rem; line-height: 1.6; }.tefoo-about-page__team-copy strong { color: #102d36; }
.tefoo-about-page__cta { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5rem 1.5rem; background: #061f27; color: #fff; }.tefoo-about-page__cta h2 { color: #fff; }.tefoo-about-page__cta p:not(.tefoo-home-kicker) { margin: 1rem 0 0 !important; color: rgba(255,255,255,.8); }.tefoo-about-page__cta .wp-block-button__link { border-color: #d4e5e6; color: #fff; }

/* About page: editable four-card capability showcase displayed above the global footer. */
.tefoo-article-page { overflow: hidden; background: #f7f9fb; color: #1e2a3a; }.tefoo-article-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; background: #f7f9fb; }.tefoo-article-page__hero-grid { width: min(78rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 4.5rem !important; margin: 0 auto !important; }.tefoo-article-page__hero-copy { min-width: 0; }.tefoo-article-page__hero-meta { margin: 0 0 1.05rem; }.tefoo-article-page__hero-meta a { color: #5e6f7e; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .82rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }.tefoo-article-page__hero-meta a:hover { color: #c3a56c; }.tefoo-article-page__hero h1 { margin: 0 !important; color: #1e2a3a; font-family: var(--wp--preset--font-family--editorial-serif, serif); font-size: clamp(2.55rem, 4vw, 4.15rem); font-weight: 600; line-height: 1.08; }.tefoo-article-page__hero .wp-block-post-excerpt { margin: 1.25rem 0 0 !important; }.tefoo-article-page__hero .wp-block-post-excerpt__excerpt { margin: 0 !important; color: #2e343a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: 1.05rem; font-weight: 500; line-height: 1.62; }.tefoo-article-page__author-meta { display: flex; gap: .75rem; align-items: center; margin-top: 2rem; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .85rem; line-height: 1.35; }.tefoo-article-page__author-meta span:last-child { display: grid; gap: .15rem; }.tefoo-article-page__author-meta time { color: #5e6f7e; font-size: .76rem; }.tefoo-article-page__author-avatar { display: block; overflow: hidden; border-radius: 50%; }.tefoo-article-page__author-avatar img { display: block; width: 2.75rem; height: 2.75rem; }.tefoo-article-page__hero-media { min-width: 0; }.tefoo-article-page__featured-image { width: 100%; margin: 0 !important; overflow: hidden; border-radius: 6px; background: #e4e8ec; }.tefoo-article-page__featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tefoo-article-page__reading { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 4.75rem 1.5rem 5.5rem; background: #fff; }.tefoo-article-page__reading-grid { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 4.5rem !important; margin: 0 auto !important; }.tefoo-article-page__rail, .tefoo-article-page__content { min-width: 0; }.tefoo-article-page__toc-share { position: sticky; top: 6.5rem; padding: 1.2rem 1rem; border-radius: 6px; background: #f7f9fb; }.tefoo-article-page__toc { margin-bottom: 1.25rem; }.tefoo-article-page__toc p { margin: 0 0 .9rem !important; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .88rem; font-weight: 800; }.tefoo-article-page__toc ol { display: grid; gap: .65rem; margin: 0 !important; padding: 0 !important; list-style: none; }.tefoo-article-page__toc li { margin: 0; }.tefoo-article-page__toc li.tefoo-article-page__toc-level-3 { padding-left: .75rem; }.tefoo-article-page__toc a { color: #5e6f7e; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .82rem; font-weight: 600; line-height: 1.38; text-decoration: none; }.tefoo-article-page__toc a:hover { color: #c3a56c; }.tefoo-article-page__share { display: flex; gap: .5rem; padding-top: 1rem; border-top: 1px solid #e4e8ec; }.tefoo-article-page__share a { display: grid; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #1e2a3a; color: #fff; font-family: Arial, sans-serif; font-size: .7rem; font-weight: 800; text-decoration: none; place-items: center; }.tefoo-article-page__share a:hover { background: #c3a56c; color: #1e2a3a; }.tefoo-article-page__content > .wp-block-post-content { max-width: 48rem; margin: 0 !important; }.tefoo-article-page__content .wp-block-post-content > * { margin-top: 0; margin-bottom: 1.45rem; }.tefoo-article-page__content .wp-block-post-content h2 { margin-top: 3.3rem; color: #1e2a3a; font-family: var(--wp--preset--font-family--editorial-serif, serif); font-size: clamp(1.9rem, 3vw, 2.55rem); font-weight: 600; line-height: 1.16; scroll-margin-top: 7rem; }.tefoo-article-page__content .wp-block-post-content h3 { margin-top: 2.3rem; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: 1.28rem; font-weight: 800; line-height: 1.35; scroll-margin-top: 7rem; }.tefoo-article-page__content .wp-block-post-content p, .tefoo-article-page__content .wp-block-post-content li { color: #2e343a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: 1rem; line-height: 1.78; }.tefoo-article-page__content .wp-block-post-content a { color: #1e2a3a; text-decoration-color: #c3a56c; text-decoration-thickness: 2px; text-underline-offset: .18em; }.tefoo-article-page__content .wp-block-post-content blockquote { margin: 2.4rem 0; padding: 1.4rem 1.6rem; border-left: 3px solid #c3a56c; background: #f7f9fb; color: #1e2a3a; }.tefoo-article-page__content .wp-block-post-content figure { margin: 2.25rem 0; }.tefoo-article-page__content .wp-block-post-content figcaption { color: #5e6f7e; font-size: .8rem; text-align: left; }
.tefoo-article-page__adjacent { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; width: min(72rem, calc(100vw - 3rem)); max-width: none; margin: 0 auto; padding: 1.5rem; border-top: 1px solid #d5dde3; border-bottom: 1px solid #d5dde3; background: #fff; }
.tefoo-article-page__adjacent-link { display: grid; gap: .45rem; min-width: 0; padding: .5rem .75rem; color: #1e2a3a; text-decoration: none; }
.tefoo-article-page__adjacent-link--next { text-align: right; }
.tefoo-article-page__adjacent-link span { color: #5e6f7e; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.tefoo-article-page__adjacent-link strong { overflow: hidden; color: #1e2a3a; font-family: var(--wp--preset--font-family--editorial-serif, serif); font-size: 1.05rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.tefoo-article-page__adjacent-link:hover strong { color: #c3a56c; }
@media (max-width: 781px) { .tefoo-article-page__adjacent { grid-template-columns: 1fr; width: min(100%, calc(100vw - 2.5rem)); padding: 1rem 0; }.tefoo-article-page__adjacent-link { padding: .85rem 0; }.tefoo-article-page__adjacent-link--next { border-top: 1px solid #d5dde3; text-align: left; }.tefoo-article-page__adjacent-link strong { white-space: normal; } }
@media (max-width: 781px) { .tefoo-article-page__hero { padding: 3.5rem 1.25rem; }.tefoo-article-page__hero-grid, .tefoo-article-page__reading-grid, .tefoo-article-page__related-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-article-page__hero-grid, .tefoo-article-page__reading-grid { gap: 2rem !important; }.tefoo-article-page__hero h1 { font-size: 2.55rem; }.tefoo-article-page__reading { padding: 3.25rem 1.25rem 4rem; }.tefoo-article-page__rail { display: none; }.tefoo-article-page__related { padding: 3.5rem 1.25rem 4rem; }.tefoo-article-page__related-grid { grid-template-columns: 1fr; }.tefoo-article-page__content .wp-block-post-content p, .tefoo-article-page__content .wp-block-post-content li { font-size: .98rem; } }

/* Keep the article outline visible while the reader moves through long content. */
@media (min-width: 782px) {
	body.single-post .wp-site-blocks,
	body.single-post .wp-site-blocks > main,
	body.single-post .wp-site-blocks > main.tefoo-article-page,
	body.single-post .tefoo-article-page__reading,
	body.single-post .tefoo-article-page__reading-grid {
		overflow: visible !important;
	}
	.tefoo-article-page { overflow: visible !important; }
	.tefoo-article-page__rail { align-self: stretch !important; overflow: visible !important; }
	.tefoo-article-page__toc-share { position: sticky; top: 5.25rem; width: 15.5rem; max-height: calc(100vh - 6.5rem); overflow-y: auto; box-sizing: border-box; border: 1px solid #e4e8ec; }
}

/* Keep related articles as compact cards even when the query has fewer results. */
body.single-post .tefoo-article-page__related-inner {
	width: min(72rem, calc(100vw - 3rem)) !important;
}

body.single-post .tefoo-article-page__related-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.25rem !important;
}

body.single-post .tefoo-article-page__related-card {
	display: flex !important;
	min-width: 0;
	min-height: 0;
	flex-direction: column;
}

body.single-post .tefoo-article-page__related-image {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9 !important;
	overflow: hidden;
}

body.single-post .tefoo-article-page__related-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

@media (max-width: 781px) {
	body.single-post .tefoo-article-page__related-grid {
		grid-template-columns: 1fr !important;
	}
}

.tefoo-about-page__capabilities-showcase { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 4.4rem 1.5rem 5.2rem; background: #f7f9fb; }
.tefoo-about-page__capabilities-showcase-heading { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto 2rem !important; text-align: center; }
.tefoo-about-page__capabilities-showcase-heading h2 { margin: 0 0 .55rem !important; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: 2.25rem; font-weight: 800; line-height: 1.18; }
.tefoo-about-page__capabilities-showcase-heading p { max-width: 54rem; margin: 0 auto !important; color: #5e6f7e; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .9rem; font-weight: 500; line-height: 1.55; }
.tefoo-about-page__capabilities-showcase-grid { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 1rem !important; margin: 0 auto !important; }
.tefoo-about-page__capabilities-showcase-grid > .wp-block-column { min-width: 0; }
.tefoo-about-page__capabilities-showcase-card { box-sizing: border-box; height: 100%; min-height: 27.5rem; padding: 2.7rem 1.4rem 1.7rem; border-radius: 8px; background: #e4e8ec; }
.tefoo-about-page__capabilities-showcase-icon { display: grid; width: 6.25rem; height: 6.25rem; margin: 0 auto 1.2rem !important; padding: 1.25rem; border-radius: 50%; place-items: center; background: #1e2a3a; }
.tefoo-about-page__capabilities-showcase-icon img { display: block; width: 100%; height: 100%; filter: brightness(0) invert(1); }
.tefoo-about-page__capabilities-showcase-card h3 { min-height: 3rem; margin: 0 0 .75rem !important; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: 1.18rem; font-weight: 800; line-height: 1.3; text-align: center; }
.tefoo-about-page__capabilities-showcase-card > p:last-child { margin: 0 !important; color: #2e343a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .88rem; font-weight: 500; line-height: 1.55; }

@media (max-width: 1000px) {
	.tefoo-about-page__capabilities-showcase-grid { flex-wrap: wrap !important; }
	.tefoo-about-page__capabilities-showcase-grid > .wp-block-column { flex-basis: calc(50% - .5rem) !important; }
}

@media (max-width: 600px) {
	.tefoo-about-page__capabilities-showcase { padding: 4rem 1.25rem; }
	.tefoo-about-page__capabilities-showcase-heading,
	.tefoo-about-page__capabilities-showcase-grid { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-about-page__capabilities-showcase-heading h2 { font-size: 2.2rem; }
	.tefoo-about-page__capabilities-showcase-grid > .wp-block-column { flex-basis: 100% !important; }
	.tefoo-about-page__capabilities-showcase-card { min-height: 0; }
}

/* Final article TOC behavior: the global site wrapper must not clip sticky positioning. */
@media (min-width: 782px) {
	body.single-post .wp-site-blocks,
	body.single-post .wp-site-blocks > main,
	body.single-post .wp-site-blocks > main.tefoo-article-page,
	body.single-post .tefoo-article-page,
	body.single-post .tefoo-article-page__reading,
	body.single-post .tefoo-article-page__reading-grid,
	body.single-post .tefoo-article-page__rail {
		overflow: visible !important;
	}

	body.single-post .tefoo-article-page__reading-grid {
		align-items: flex-start !important;
	}

	body.single-post .tefoo-article-page__toc-share {
		position: -webkit-sticky !important;
		position: sticky !important;
		top: 5.25rem !important;
		align-self: flex-start !important;
		width: 15.5rem !important;
		max-height: calc(100vh - 6.5rem);
		overflow-y: auto;
	}
}
.tefoo-contact-page { overflow: hidden; background: #fff; color: #102d36; }
.tefoo-contact-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6rem 1.5rem; background: #061f27; color: #fff; }
.tefoo-contact-page__hero-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-contact-page__hero h1 { max-width: 52rem; margin: .9rem 0 1.15rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4rem; font-weight: 800; line-height: 1.05; }
.tefoo-contact-page__hero p:not(.tefoo-home-kicker) { max-width: 42rem; margin: 0 !important; color: rgba(255,255,255,.84); font-size: 1.05rem; font-weight: 650; line-height: 1.7; }
.tefoo-contact-page__content { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; }
.tefoo-contact-page__content > .wp-block-post-content { width: min(72rem, calc(100vw - 3rem)); max-width: none !important; margin: 0 auto; }
.tefoo-contact-page__hero { min-height: 28rem; background-image: linear-gradient(90deg, #020c22 0%, rgba(3,22,57,.84) 45%, rgba(3,22,57,.15)), url('/tefoo-wp/wp-content/themes/gutenberg-blank/assets/images/sections/contact-team-banner.webp'); background-position: center; background-size: cover; }.tefoo-contact-page__hero h1 { font-size: 4.4rem; }.tefoo-contact-page__hero p:not(.tefoo-home-kicker) { max-width: 39rem; color: #dce7f1; }.tefoo-contact-page__hero .wp-block-button__link { background: #c3a56c; color: #102d36; }
.tefoo-contact-page__channels, .tefoo-contact-page__inquiry, .tefoo-contact-page__quick { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; background: #fff; }.tefoo-contact-page__channels-inner { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-contact-page__channels h2, .tefoo-contact-page__inquiry h2, .tefoo-contact-page__path h2, .tefoo-contact-page__global h2, .tefoo-contact-page__quick h2 { max-width: 48rem; margin: .85rem 0 2.5rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3rem; font-weight: 800; line-height: 1.1; }.tefoo-contact-page__channel-grid { gap: 1rem !important; }.tefoo-contact-page__channel-grid > .wp-block-column { min-height: 13.5rem; padding: 1.5rem; border: 1px solid #d8e5e6; }.tefoo-contact-page__channel-grid h3 { margin: .6rem 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.15rem; font-weight: 800; }.tefoo-contact-page__channel-grid p { margin: 0 0 .8rem !important; color: #58717a; font-size: .86rem; }.tefoo-contact-page__channel-grid a { color: #102d36; font-weight: 800; text-decoration-color: #c3a56c; text-underline-offset: .3rem; }
.tefoo-contact-page__path, .tefoo-contact-page__global { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.5rem 1.5rem; background: #071833; color: #fff; }.tefoo-contact-page__path-columns, .tefoo-contact-page__inquiry-columns { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 4rem !important; margin: 0 auto !important; }.tefoo-contact-page__path h2, .tefoo-contact-page__global h2 { color: #fff; }.tefoo-contact-page__path p:not(.tefoo-home-kicker), .tefoo-contact-page__global p:not(.tefoo-home-kicker) { color: #c7d5e3; }.tefoo-contact-page__steps { gap: .85rem !important; margin: 0 0 .85rem !important; }.tefoo-contact-page__steps > .wp-block-column { padding: 1.1rem; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.04); }.tefoo-contact-page__steps p:first-child { margin: 0 !important; color: #c3a56c; font-weight: 900; }.tefoo-contact-page__steps h3 { margin: .35rem 0 !important; color: #fff; font-size: 1rem; }.tefoo-contact-page__steps p:last-child { margin: 0 !important; font-size: .8rem; }
.tefoo-contact-page__inquiry { background: #f4f4f1; }.tefoo-contact-page__inquiry > .wp-block-columns { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-contact-page__inquiry li { margin: .8rem 0; color: #102d36; font-weight: 800; }.tefoo-contact-page__form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 2rem; border: 1px solid #ddd9d0; background: #fff; box-shadow: 0 1rem 2.5rem rgba(0,0,0,.08); }.tefoo-contact-page__form h3, .tefoo-contact-page__form .wp-block-form-submit-button, .tefoo-contact-page__form .wp-block-form-textarea { grid-column: 1 / -1; }.tefoo-contact-page__form h3 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.55rem; }.tefoo-contact-page__form input, .tefoo-contact-page__form textarea { width: 100%; border: 1px solid #d9d7d0; padding: .75rem; font: inherit; }.tefoo-contact-page__form button { border: 0; background: #c3a56c; color: #102d36; font-weight: 900; }
.tefoo-contact-page__global { background: #051126; }.tefoo-contact-page__global > .wp-block-columns, .tefoo-contact-page__quick > .wp-block-columns { width: min(72rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-contact-page__global-mark { display: grid; width: min(20rem, 80vw); aspect-ratio: 1; margin: auto; border: 2px solid #54b6ef; border-radius: 50%; background: radial-gradient(circle at 32% 28%,#258fd3,#06345e 60%,#04172d); color: #fff; text-align: center; place-items: center; }.tefoo-contact-page__global-mark p { margin: 0 !important; color: #fff !important; font-size: .8rem; font-weight: 900; letter-spacing: .08em; }.tefoo-contact-page__quick { padding: 4.5rem 1.5rem; }.tefoo-contact-page__quick > .wp-block-columns { padding: 2.5rem; border: 1px solid #e3dfd6; box-shadow: 0 .75rem 2rem rgba(0,0,0,.06); }.tefoo-contact-page__quick h2 { margin-bottom: .6rem !important; }.tefoo-contact-page__quick p:not(.tefoo-home-kicker) { margin: 0 !important; color: #58717a; }.tefoo-contact-page__quick .wp-block-button__link { background: #fff0bd; color: #102d36; font-weight: 900; }
@media (max-width: 781px) {
	.tefoo-certifications-page__hero { padding: 4.5rem 1.25rem; }
	.tefoo-certifications-page__hero-inner, .tefoo-certifications-page__content > .wp-block-post-content { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-certifications-page__hero h1 { font-size: 2.65rem; }
	.tefoo-certifications-page__content { padding: 4rem 1.25rem; }
	.tefoo-downloads-page__hero { padding: 4.5rem 1.25rem; }
	.tefoo-downloads-page__hero-inner, .tefoo-downloads-page__content > .wp-block-post-content { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-downloads-page__hero h1 { font-size: 2.65rem; }
	.tefoo-downloads-page__content { padding: 4rem 1.25rem; }
	.tefoo-downloads-page__hero { min-height: 23rem; }.tefoo-downloads-page__library { padding: 4rem 1.25rem; }.tefoo-downloads-page__library-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-downloads-page__library-heading h2 { font-size: 2.25rem; }.tefoo-downloads-page__table td { padding: 1rem; }
	.tefoo-faq-page__hero { padding: 4.5rem 1.25rem; }
	.tefoo-faq-page__hero-inner, .tefoo-faq-page__content > .wp-block-post-content { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-faq-page__hero h1 { font-size: 2.65rem; }
	.tefoo-faq-page__content { padding: 4rem 1.25rem; }
	.tefoo-faq-page__hero { min-height: 23rem; }.tefoo-faq-page__hero h1 { font-size: 2.7rem; }.tefoo-faq-page__topics { padding: .9rem 1.25rem; overflow-x: auto; }.tefoo-faq-page__topic-buttons { flex-wrap: nowrap !important; justify-content: flex-start !important; }.tefoo-faq-page__topic-buttons .wp-block-button { flex: 0 0 auto; }.tefoo-faq-page__questions { padding: 4rem 1.25rem; }.tefoo-faq-page__questions-inner { width: min(100%, calc(100vw - 2.5rem)) !important; gap: 2.5rem !important; }.tefoo-faq-page__intro { position: static; }.tefoo-faq-page__intro h2, .tefoo-faq-page__cta h2 { font-size: 2.15rem; }.tefoo-faq-page__group { margin-bottom: 2.25rem !important; }.tefoo-faq-page__cta { padding: 3.5rem 1.25rem; }.tefoo-faq-page__cta-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-faq-page__cta .wp-block-buttons { justify-content: flex-start !important; }
	.tefoo-about-page__hero { padding: 4.5rem 1.25rem; }
	.tefoo-about-page__hero-inner, .tefoo-about-page__content > .wp-block-post-content { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-about-page__hero h1 { font-size: 2.65rem; }
	.tefoo-about-page__content { padding: 4rem 1.25rem; }
	.tefoo-about-page__hero { min-height: 25rem; }.tefoo-about-page__hero h1 { font-size: 2.75rem; }.tefoo-about-page__intro, .tefoo-about-page__capabilities { padding: 4rem 1.25rem; }.tefoo-about-page__intro-columns { width: min(100%, calc(100vw - 2.5rem)) !important; gap: 2rem !important; }.tefoo-about-page__intro h2, .tefoo-about-page__capabilities h2, .tefoo-about-page__team h2 { font-size: 2.25rem; }.tefoo-about-page__stats-grid { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-about-page__stats-grid > .wp-block-column { padding: 1rem 0; border-right: 0; border-bottom: 1px solid rgba(16,45,54,.25); }.tefoo-about-page__capability-grid > .wp-block-column, .tefoo-about-page__capability-grid > .wp-block-column + .wp-block-column { min-height: 0; padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid #c7e2e5; }.tefoo-about-page__team-columns { display: block !important; }.tefoo-about-page__team-image { min-height: 22rem; }.tefoo-about-page__team-copy { padding: 3rem 1.25rem; }.tefoo-about-page__cta { padding: 3.5rem 1.25rem; }.tefoo-about-page__cta .wp-block-buttons { justify-content: flex-start !important; }
	.tefoo-contact-page__hero { padding: 4.5rem 1.25rem; }
	.tefoo-contact-page__hero-inner, .tefoo-contact-page__content > .wp-block-post-content { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-contact-page__hero h1 { font-size: 2.65rem; }
	.tefoo-contact-page__content { padding: 4rem 1.25rem; }
	.tefoo-contact-page__hero { min-height: 27rem; }.tefoo-contact-page__hero h1 { font-size: 2.75rem; }.tefoo-contact-page__channels, .tefoo-contact-page__inquiry, .tefoo-contact-page__path, .tefoo-contact-page__global, .tefoo-contact-page__quick { padding: 4rem 1.25rem; }.tefoo-contact-page__channels-inner, .tefoo-contact-page__path-columns, .tefoo-contact-page__inquiry-columns, .tefoo-contact-page__global > .wp-block-columns, .tefoo-contact-page__quick > .wp-block-columns { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-contact-page__channels h2, .tefoo-contact-page__inquiry h2, .tefoo-contact-page__path h2, .tefoo-contact-page__global h2, .tefoo-contact-page__quick h2 { font-size: 2.2rem; }.tefoo-contact-page__form { grid-template-columns: 1fr; padding: 1.25rem; }.tefoo-contact-page__quick > .wp-block-columns { padding: 1.5rem; }.tefoo-contact-page__quick .wp-block-buttons { justify-content: flex-start !important; }
}

/* Medical battery page: native Gutenberg blocks, scoped to this template. */
body.page-template-page-medical-battery { padding: 0 !important; }
body.page-template-page-medical-battery .wp-site-blocks > main.tefoo-medical-battery-page { margin-block-start: 0 !important; }
.tefoo-medical-battery-page { overflow: hidden; background: #fff; color: #102d36; }
.tefoo-medical-battery-page__hero { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6.5rem 1.5rem 5.25rem !important; background-color: #061f27; }
.tefoo-medical-battery-page__hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(6,31,39,.96), rgba(6,31,39,.76)) !important; opacity: 1 !important; }
.tefoo-medical-battery-page__hero .wp-block-cover__inner-container { width: min(80.5rem, calc(100vw - 3rem)); max-width: none !important; }
.tefoo-medical-battery-page__hero-inner { width: min(43rem, 100%); max-width: none !important; margin: 0 !important; }
.tefoo-medical-battery-page__hero h1 { max-width: 43rem; margin: .9rem 0 1.15rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4rem; font-weight: 800; line-height: 1.06; }
.tefoo-medical-battery-page__hero-lead { max-width: 41rem; margin: 0 !important; color: rgba(255,255,255,.86); font-size: 1.05rem; font-weight: 700; line-height: 1.7; }
.tefoo-medical-battery-page__hero-buttons { gap: .85rem !important; margin: 2rem 0 0 !important; }
.tefoo-medical-battery-page__hero .wp-block-button__link { border: 1px solid #c3a56c; border-radius: 0; background: #c3a56c; color: #102d36; font-size: .9rem; font-weight: 800; }
.tefoo-medical-battery-page__hero .is-style-outline .wp-block-button__link,
.tefoo-medical-battery-page__bms .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.72); background: transparent; color: #fff; }
.tefoo-medical-battery-page__hero .wp-block-button__link:hover,
.tefoo-medical-battery-page__hero .wp-block-button__link:focus-visible { background: #fff; border-color: #fff; color: #102d36; }
.tefoo-medical-battery-page__trust { box-sizing: border-box; width: 100% !important; max-width: none !important; gap: 0 !important; padding: 0 1.5rem; background: #102d36; }
.tefoo-medical-battery-page__trust p { box-sizing: border-box; min-width: 7.5rem; margin: 0 !important; padding: 1rem 1.1rem; border-right: 1px solid rgba(255,255,255,.16); color: #fff; font-size: .76rem; font-weight: 800; text-align: center; }
.tefoo-medical-intro-replacement { width: 100% !important; max-width: none !important; }
.tefoo-medical-story, .tefoo-medical-detail { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 6rem 1.5rem; background: #F7F9FB; }
.tefoo-medical-story__columns, .tefoo-medical-detail__columns { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; align-items: center !important; gap: 5rem !important; margin: 0 auto !important; }
.tefoo-medical-story__columns > .wp-block-column, .tefoo-medical-detail__columns > .wp-block-column { min-width: 0; }
.tefoo-medical-story__image { position: relative; margin: 0 !important; }
.tefoo-medical-story__image::after { position: absolute; z-index: -1; top: 2.7rem; right: -2.7rem; bottom: -2.7rem; left: 2.7rem; background: #C3A56C; content: ''; }
.tefoo-medical-story__image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.tefoo-medical-story__copy { max-width: 35rem; }
.tefoo-medical-story__copy h2, .tefoo-medical-detail__copy h2 { margin: .7rem 0 1.5rem !important; color: #1E2A3A; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.65rem; font-weight: 800; line-height: 1.12; }
.tefoo-medical-story__copy > p:not(.tefoo-home-kicker), .tefoo-medical-detail__copy > p:not(.tefoo-home-kicker) { margin: 0 0 1rem !important; color: #5E6F7E; font-size: 1rem; line-height: 1.75; }
.tefoo-medical-detail { border-top: 1px solid #E4E8EC; background: #fff; }
.tefoo-medical-detail__columns { align-items: start !important; }
.tefoo-medical-detail__copy { padding-top: 1.2rem; }
.tefoo-medical-detail__copy h2 { max-width: 43rem; font-size: 2.5rem; }
.tefoo-medical-detail__copy .wp-block-button__link { padding: .8rem 1.2rem; border: 1px solid #C3A56C; border-radius: 0; background: #C3A56C; color: #1E2A3A; font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.tefoo-medical-detail__copy .wp-block-button__link:hover { border-color: #1E2A3A; background: #1E2A3A; color: #fff; }
.tefoo-medical-detail__image { margin: 0 0 2.1rem !important; }
.tefoo-medical-detail__image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.tefoo-medical-detail__subheading { margin: 1.7rem 0 .65rem !important; color: #1E2A3A; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.55rem; font-weight: 800; line-height: 1.18; }
.tefoo-medical-detail__subheading + p { margin: 0 !important; color: #5E6F7E; line-height: 1.7; }
@media (max-width: 781px) { .tefoo-medical-story, .tefoo-medical-detail { padding: 4rem 1.25rem; }.tefoo-medical-story__columns, .tefoo-medical-detail__columns { width: min(100%, calc(100vw - 2.5rem)) !important; grid-template-columns: 1fr; gap: 3rem !important; }.tefoo-medical-story__image::after { top: 1.5rem; right: -1rem; bottom: -1rem; left: 1rem; }.tefoo-medical-story__copy h2, .tefoo-medical-detail__copy h2 { font-size: 2rem; }.tefoo-medical-detail__copy { padding-top: 0; } }
.tefoo-medical-battery-page__section { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.75rem 1.5rem; }
.tefoo-medical-battery-page__section--tint,
.tefoo-medical-battery-page__products,
.tefoo-medical-battery-page__faq { background: #edf8f8; }
.tefoo-medical-battery-page__heading { width: min(51rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto 2.65rem !important; text-align: center; }
.tefoo-medical-battery-page__heading h2 { margin: .65rem 0 .85rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.65rem; font-weight: 800; line-height: 1.1; }
.tefoo-medical-battery-page__heading > p:last-child { margin: 0 !important; color: #3d5c63; font-size: 1rem; line-height: 1.75; }
.tefoo-medical-battery-page__grid { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 1.25rem !important; margin: 0 auto !important; }
.tefoo-medical-battery-page__grid > .wp-block-column { min-width: 0; }
.tefoo-medical-battery-page__card,
.tefoo-medical-battery-page__challenge-card { box-sizing: border-box; height: 100%; min-height: 15rem; padding: 2rem 1.75rem; border: 1px solid #d2e3e5; border-top: 4px solid #c3a56c; background: #fff; }
.tefoo-medical-battery-page__card h3,
.tefoo-medical-battery-page__challenge-card h3,
.tefoo-medical-battery-page__application-card h3,
.tefoo-medical-battery-page__evaluation-card h3,
.tefoo-medical-battery-page__support-card h3,
.tefoo-medical-battery-page__process-card h3 { margin: 0 0 .75rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.3rem; font-weight: 800; line-height: 1.22; }
.tefoo-medical-battery-page__card p,
.tefoo-medical-battery-page__challenge-card > p:last-child,
.tefoo-medical-battery-page__application-card > p:last-child,
.tefoo-medical-battery-page__evaluation-card > p:last-child,
.tefoo-medical-battery-page__support-card p,
.tefoo-medical-battery-page__process-card > p:last-child { margin: 0 !important; color: #58717a; font-size: .9rem; line-height: 1.72; }
.tefoo-medical-battery-page__evaluation-grid,
.tefoo-medical-battery-page__application-grid,
.tefoo-medical-battery-page__support-grid { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 1rem !important; margin: 0 auto !important; }
.tefoo-medical-battery-page__evaluation-card { box-sizing: border-box; min-height: 15rem; padding: 1.55rem; border: 1px solid #d3e3e5; background: #fff; }
.tefoo-medical-battery-page__evaluation-card > p:first-child,
.tefoo-medical-battery-page__challenge-card > p:first-child { margin: 0 0 1rem !important; color: #c3a56c; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.tefoo-medical-battery-page__section--tint { padding-top: 4.75rem; padding-bottom: 5rem; }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__heading { width: min(60rem, calc(100% - 3rem)) !important; margin-bottom: 2.2rem !important; }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__heading h2 { max-width: 58rem; margin-right: auto !important; margin-left: auto !important; font-size: 2.5rem; line-height: 1.14; }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__heading > p:last-child { max-width: 52rem; margin-right: auto !important; margin-left: auto !important; line-height: 1.68; }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-grid { display: grid !important; width: min(75rem, calc(100% - 3rem)) !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem !important; }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-card { display: flex; flex-direction: column; min-height: 17.25rem; padding: 1.7rem; border-color: #cadfe2; border-top: 3px solid #c3a56c; box-shadow: 0 .65rem 1.6rem rgba(16,45,54,.045); }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-card > p:first-child { margin-bottom: 1.35rem !important; }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-card h3 { font-size: 1.25rem; }
.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-card > p:last-child { margin-top: auto !important; padding-top: .65rem; }
@media (max-width: 900px) { .tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tefoo-medical-battery-page__section--tint { padding: 3.75rem 1.25rem; }.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__heading { width: min(100%, calc(100% - .5rem)) !important; }.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__heading h2 { font-size: 2rem; }.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-grid { grid-template-columns: 1fr; width: 100% !important; }.tefoo-medical-battery-page__section--tint .tefoo-medical-battery-page__evaluation-card { min-height: 0; } }
.tefoo-medical-battery-page__application-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.tefoo-medical-battery-page__application-card { box-sizing: border-box; min-height: 13.4rem; padding: 1.6rem; border: 1px solid #d3e3e5; background: #fff; }
.tefoo-medical-battery-page__application-card > p:first-child { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; margin: 0 0 1.25rem !important; background: #102d36; color: #c3a56c; font-size: .75rem; font-weight: 800; }
.tefoo-medical-battery-page__application-card h3 a { color: inherit; text-decoration: none; }
.tefoo-medical-battery-page__application-card h3 a:hover { color: #c3a56c; }
.tefoo-medical-battery-page__section--tint .tefoo-application-cases { position: relative; left: 50%; width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 !important; transform: translateX(-50%); }
.tefoo-medical-battery-page__section--tint .tefoo-application-cases__content h3,
.tefoo-medical-battery-page__section--tint .tefoo-application-cases__content h3 a { color: #E4E8EC !important; }
.tefoo-medical-battery-page__section--tint .tefoo-application-cases__excerpt { color: rgba(228, 232, 236, .88) !important; }
@media (max-width: 781px) { .tefoo-medical-battery-page__section--tint .tefoo-application-cases { left: auto; width: 100% !important; transform: none; } }
.tefoo-medical-battery-page__cases-empty { width: min(80.5rem, calc(100vw - 3rem)); margin: 1.5rem auto 0 !important; color: #5E6F7E; text-align: center; }
.tefoo-medical-battery-page__case-pagination { width: min(80.5rem, calc(100vw - 3rem)); margin: 2rem auto 0 !important; }
.tefoo-medical-battery-page__case-pagination .page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.tefoo-medical-battery-page__case-pagination a, .tefoo-medical-battery-page__case-pagination span { display: inline-grid; min-width: 2.5rem; min-height: 2.5rem; padding: 0 .65rem; border: 1px solid #5E6F7E; color: #1E2A3A; font-size: .82rem; font-weight: 700; line-height: 1; place-items: center; text-decoration: none; }
.tefoo-medical-battery-page__case-pagination a:hover, .tefoo-medical-battery-page__case-pagination .current { border-color: #C3A56C; background: #C3A56C; color: #1E2A3A; }
.tefoo-medical-battery-page__applications { box-sizing: border-box; width: 100%; max-width: none; padding: 5rem 1.5rem; background: #F7F9FB; }
.tefoo-medical-battery-page__product-navigation { display: grid; width: min(96rem, calc(100vw - 5rem)) !important; max-width: none !important; margin: 0 auto; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.tefoo-medical-battery-page__product-navigation-card { display: flex; min-width: 0; min-height: 100%; flex-direction: column; }
.tefoo-medical-battery-page__product-navigation-image { display: block; box-sizing: border-box; width: 100%; aspect-ratio: 4 / 3; margin: 0 !important; padding: 1rem; overflow: hidden; background: #F7F9FB; }
.tefoo-medical-battery-page__product-navigation-image a { display: block; width: 100%; height: 100%; }
.tefoo-medical-battery-page__product-navigation-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease; }
.tefoo-medical-battery-page__product-navigation-card:hover .tefoo-medical-battery-page__product-navigation-image img { transform: scale(1.04); }
.tefoo-medical-battery-page__product-navigation-card h3 { min-height: 3.2rem; margin: 1.45rem 0 .85rem !important; font-family: var(--wp--preset--font-family--editorial-serif); font-size: 1.8rem; font-weight: 700; line-height: 1.16; }
.tefoo-medical-battery-page__product-navigation-card h3, .tefoo-medical-battery-page__product-navigation-card h3 a { color: #1E2A3A; text-decoration: none; }
.tefoo-medical-battery-page__product-navigation-card > p:not(.tefoo-medical-battery-page__product-navigation-link) { min-height: 7.25rem; margin: 0 0 1.4rem !important; color: #5E6F7E; font-size: 1rem; line-height: 1.7; }
.tefoo-medical-battery-page__product-navigation-link { display: flex; margin: auto 0 0 !important; color: #1E2A3A; font-size: .95rem; font-weight: 800; text-decoration: none; }
.tefoo-medical-battery-page__product-navigation-link a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.8rem; padding: 0 1rem; border: 2px solid #1E2A3A; color: inherit; text-decoration: none; }
.tefoo-medical-battery-page__product-navigation-link span { margin-left: .5rem; color: #C3A56C; font-size: 1.25rem; line-height: 1; }
.tefoo-medical-battery-page__product-navigation-link a:hover { border-color: #C3A56C; background: #C3A56C; color: #1E2A3A; }
@media (max-width: 1000px) { .tefoo-medical-battery-page__product-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tefoo-medical-battery-page__applications { padding: 3.5rem 1.25rem; }.tefoo-medical-battery-page__product-navigation { width: 100% !important; grid-template-columns: 1fr; gap: 2.5rem; }.tefoo-medical-battery-page__product-navigation-card h3, .tefoo-medical-battery-page__product-navigation-card > p:not(.tefoo-medical-battery-page__product-navigation-link) { min-height: 0; } }
.tefoo-medical-battery-page__bms { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.75rem 1.5rem; background: #061f27; color: #fff; }
.tefoo-medical-battery-page__bms-columns { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 4rem !important; margin: 0 auto !important; }
.tefoo-medical-battery-page__bms-columns > .wp-block-column { min-width: 0; }
.tefoo-medical-battery-page__bms h2 { margin: .7rem 0 1rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.5rem; font-weight: 800; line-height: 1.1; }
.tefoo-medical-battery-page__bms > .wp-block-columns > .wp-block-column:first-child > p:not(.tefoo-home-kicker) { margin: 0 0 1.75rem !important; color: rgba(255,255,255,.78); line-height: 1.75; }
.tefoo-medical-battery-page__bms-list { gap: 1px !important; margin: 0 !important; padding: 1px; background: rgba(255,255,255,.24); }
.tefoo-medical-battery-page__bms-item { box-sizing: border-box; min-height: 11rem; padding: 1.45rem; background: rgba(255,255,255,.07); }
.tefoo-medical-battery-page__bms-item h3 { margin: 0 0 .7rem !important; color: #c3a56c; font-size: 1.15rem; font-weight: 800; line-height: 1.25; }
.tefoo-medical-battery-page__bms-item p { margin: 0 !important; color: rgba(255,255,255,.76); font-size: .87rem; line-height: 1.65; }
.tefoo-medical-battery-page__challenges { background: #fff; }
.tefoo-medical-battery-page__challenge-card { min-height: 16rem; background: #edf8f8; }

/* Editable medical feature sections that replace the retired challenges cards. */
.tefoo-medical-feature { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.75rem 1.5rem; background: #F7F9FB; }
.tefoo-medical-feature--compliance { background: #E4E8EC; }
.tefoo-medical-feature--experience { background: #fff; }
.tefoo-medical-feature__columns { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: clamp(2.5rem, 5vw, 5.5rem) !important; margin: 0 auto !important; }
.tefoo-medical-feature__columns > .wp-block-column { min-width: 0; }
.tefoo-medical-feature__columns > .wp-block-column:first-child { flex-basis: 51% !important; }
.tefoo-medical-feature__columns > .wp-block-column:last-child { flex-basis: 49% !important; }
.tefoo-medical-feature__copy { max-width: 35rem; }
.tefoo-medical-feature__copy .tefoo-home-kicker { margin-bottom: .8rem !important; }
.tefoo-medical-feature__copy h2 { margin: 0 0 1.25rem !important; color: #1E2A3A; font-family: var(--wp--preset--font-family--editorial-serif); font-size: clamp(2rem, 3vw, 3.05rem); font-weight: 700; line-height: 1.14; }
.tefoo-medical-feature__copy p:not(.tefoo-home-kicker) { margin: 0 0 1rem !important; color: #5E6F7E; font-size: 1rem; line-height: 1.78; }
.tefoo-medical-feature__copy p:not(.tefoo-home-kicker):last-child { margin-bottom: 0 !important; }
.tefoo-medical-feature__image { position: relative; margin: 0 !important; }
.tefoo-medical-feature__image::before { position: absolute; z-index: 0; width: 72%; height: 72%; background: #C3A56C; content: ''; }
.tefoo-medical-feature--bms .tefoo-medical-feature__image::before,
.tefoo-medical-feature--experience .tefoo-medical-feature__image::before { right: -1.15rem; bottom: -1.15rem; }
.tefoo-medical-feature--compliance .tefoo-medical-feature__image::before { top: -1.15rem; left: -1.15rem; background: #5E6F7E; }
.tefoo-medical-feature__image img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.tefoo-medical-feature__capabilities { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 3.2rem !important; margin: 4rem auto 0 !important; padding-top: 2.85rem; border-top: 3px solid #1E2A3A; }
.tefoo-medical-feature__capabilities > .wp-block-group { box-sizing: border-box; min-height: 0; padding: 0; background: transparent; }
.tefoo-medical-feature__capabilities h3 { margin: 0 0 .7rem !important; color: #1E2A3A; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.08rem; font-weight: 800; line-height: 1.25; }
.tefoo-medical-feature__capabilities p { margin: 0 !important; color: #5E6F7E; font-size: .94rem; line-height: 1.76; }
@media (max-width: 781px) {
  .tefoo-medical-feature { padding: 4rem 1.25rem; }
  .tefoo-medical-feature__columns { width: min(100%, calc(100vw - 2.5rem)) !important; gap: 2.75rem !important; }
  .tefoo-medical-feature__columns--reverse > .wp-block-column:first-child { order: 2; }
  .tefoo-medical-feature__columns--reverse > .wp-block-column:last-child { order: 1; }
  .tefoo-medical-feature__copy { max-width: none; }
  .tefoo-medical-feature__image::before { width: 65%; height: 65%; }
  .tefoo-medical-feature--bms .tefoo-medical-feature__image::before,
  .tefoo-medical-feature--experience .tefoo-medical-feature__image::before { right: -.65rem; bottom: -.65rem; }
  .tefoo-medical-feature--compliance .tefoo-medical-feature__image::before { top: -.65rem; left: -.65rem; }
  .tefoo-medical-feature__capabilities { width: min(100%, calc(100vw - 2.5rem)) !important; margin-top: 3rem !important; }
}
.tefoo-medical-battery-page__tags { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: .6rem !important; margin: -1.1rem auto 2rem !important; }
.tefoo-medical-battery-page__tags p { margin: 0 !important; padding: .45rem .75rem; border: 1px solid #a9c6ca; color: #102d36; font-size: .78rem; font-weight: 800; }
.tefoo-medical-battery-page__products .tefoo-catalog { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; padding: 0 !important; }
.tefoo-medical-battery-page__products .tefoo-catalog__heading { display: none; }
.tefoo-medical-battery-page__products > .tefoo-medical-battery-page__heading { width: min(51rem, calc(100% - 3rem)) !important; }
.tefoo-medical-battery-page__products > .tefoo-medical-battery-page__tags { width: min(75rem, calc(100% - 3rem)) !important; }
.tefoo-medical-battery-page__products > .wp-block-shortcode { display: block; box-sizing: border-box; width: min(75rem, calc(100% - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-medical-battery-page__products .tefoo-catalog { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tefoo-medical-battery-page__support { padding-top: 4.75rem; padding-bottom: 5rem; background: #fff; }
.tefoo-medical-battery-page__support > .tefoo-medical-battery-page__heading { width: min(58rem, calc(100% - 3rem)) !important; margin-bottom: 2.25rem !important; }
.tefoo-medical-battery-page__support-grid { display: grid !important; width: min(75rem, calc(100% - 3rem)) !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem !important; margin: 0 auto !important; }
.tefoo-medical-battery-page__support-card { box-sizing: border-box; min-height: 14.25rem; padding: 1.65rem; border: 1px solid #cfe1e3; border-top: 3px solid #c3a56c; background: #edf8f8; }
.tefoo-medical-battery-page__support-card h3 { font-size: 1.2rem; }
.tefoo-medical-battery-page__process-grid { display: grid !important; width: min(75rem, calc(100% - 3rem)) !important; max-width: none !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem !important; margin: 1.5rem auto 0 !important; }
.tefoo-medical-battery-page__process-grid > .wp-block-column { min-width: 0; }
.tefoo-medical-battery-page__process-card { box-sizing: border-box; min-height: 13.75rem; padding: 1.55rem; border: 1px solid #d3e3e5; background: #fff; }
.tefoo-medical-battery-page__process-card > p:first-child { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; margin: 0 0 1.25rem !important; border-radius: 50%; background: #102d36; color: #c3a56c; font-size: .82rem; font-weight: 800; }
@media (max-width: 900px) { .tefoo-medical-battery-page__support-grid, .tefoo-medical-battery-page__process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tefoo-medical-battery-page__support { padding: 3.75rem 1.25rem; }.tefoo-medical-battery-page__support-grid, .tefoo-medical-battery-page__process-grid { grid-template-columns: 1fr; width: 100% !important; }.tefoo-medical-battery-page__support-card, .tefoo-medical-battery-page__process-card { min-height: 0; } }
.tefoo-medical-battery-page__faq-list { width: min(58rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-medical-battery-page__faq details { margin: 0 0 .8rem !important; padding: 0 1.35rem; border: 1px solid #d1e2e4; background: #fff; }
.tefoo-medical-battery-page__faq summary { padding: 1.25rem 0; color: #102d36; font-weight: 800; cursor: pointer; }
.tefoo-medical-battery-page__faq details p { margin: 0 0 1.2rem !important; color: #58717a; line-height: 1.72; }
@media (max-width: 781px) {
  .tefoo-medical-battery-page__hero { min-height: 0 !important; padding: 4.5rem 1.25rem !important; }
  .tefoo-medical-battery-page__hero h1 { font-size: 2.55rem; }
  .tefoo-medical-battery-page__section, .tefoo-medical-battery-page__bms { padding: 4rem 1.25rem; }
  .tefoo-medical-battery-page__heading h2, .tefoo-medical-battery-page__bms h2 { font-size: 2rem; }
  .tefoo-medical-battery-page__trust { justify-content: flex-start !important; padding: 0; }
  .tefoo-medical-battery-page__trust p { flex: 1 1 50%; min-width: 0; }
  .tefoo-medical-battery-page__grid, .tefoo-medical-battery-page__bms-columns, .tefoo-medical-battery-page__process-grid { gap: 1rem !important; }
  .tefoo-medical-battery-page__application-grid { grid-template-columns: 1fr !important; }
  .tefoo-medical-battery-page__bms-columns { gap: 2.5rem !important; }
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
}

a {
	text-underline-offset: 0.16em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--wp--preset--color--clay);
	outline-offset: 3px;
}

.wp-site-blocks {
	overflow: hidden;
}

.wp-block-navigation .wp-block-navigation-item__content {
	padding-block: 0.35rem;
}

.wp-block-post-featured-image img {
	transition: transform 180ms ease;
}

.wp-block-post-featured-image a:hover img {
	transform: scale(1.015);
}

.wp-block-post-template {
	margin-top: 0;
}

.wp-block-query-pagination {
	margin-top: 3rem;
}

.wp-block-button__link {
	text-decoration: none;
}

/* Homepage hero and project inquiry band. */
.tefoo-homepage-main {
	margin: 0;
}

.tefoo-home-hero {
	position: relative;
	min-height: 780px;
	padding: 104px 1.5rem 168px;
	overflow: hidden;
	background: #04161d;
	background-attachment: scroll !important;
	background-position: center center;
	color: #ffffff;
}

.tefoo-home-hero::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(4, 22, 29, 0.96) 0%, rgba(4, 22, 29, 0.87) 38%, rgba(4, 22, 29, 0.32) 67%, rgba(4, 22, 29, 0.14) 100%);
	content: "";
	pointer-events: none;
}

/* The homepage hero is a Cover block so its image can be replaced in Gutenberg. */
.wp-block-cover.tefoo-home-hero .wp-block-cover__image-background {
	display: block !important;
	z-index: 0;
}

.wp-block-cover.tefoo-home-hero .wp-block-cover__background {
	display: none;
}

.wp-block-cover.tefoo-home-hero::before {
	z-index: 1;
}

.wp-block-cover.tefoo-home-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none;
}

.tefoo-home-hero__inner {
	position: relative;
	z-index: 1;
}

.tefoo-home-hero__copy {
	max-width: 35rem;
}

.tefoo-home-hero__eyebrow {
	margin: 0 0 1.25rem;
	color: #e1d1ad;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.tefoo-home-hero__title {
	max-width: 34rem;
	margin: 0;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: 4rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.03;
}

.tefoo-home-hero__description {
	max-width: 32.5rem;
	margin: 1.25rem 0 0;
	color: #d8e5e7;
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.9;
}

.tefoo-home-hero__proof {
	gap: 0.5rem;
	margin-top: 1.85rem;
}

.tefoo-home-hero__proof p {
	margin: 0;
	padding: 0.52rem 0.72rem;
	border: 1px solid rgba(225, 209, 173, 0.42);
	border-radius: 3px;
	background: rgba(14, 48, 58, 0.62);
	color: #f7f0e5;
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
}

.tefoo-home-hero__actions {
	gap: 0.85rem;
	margin-top: 1.7rem;
}

.tefoo-home-hero__actions .wp-block-button__link {
	min-height: 3.6rem;
	padding: 1rem 1.35rem;
	border-radius: 6px;
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.3;
}

.tefoo-home-hero__primary .wp-block-button__link {
	border: 1px solid #c3a56c;
	background: #c3a56c;
	color: #102d36;
}

.tefoo-home-hero__primary .wp-block-button__link:hover,
.tefoo-home-hero__primary .wp-block-button__link:focus-visible {
	border-color: #e1d1ad;
	background: #e1d1ad;
	color: #102d36;
}

.tefoo-home-hero__secondary .wp-block-button__link {
	border: 1px solid rgba(226, 244, 246, 0.76);
	background: rgba(7, 27, 35, 0.32);
	color: #ffffff;
}

.tefoo-home-hero__secondary .wp-block-button__link:hover,
.tefoo-home-hero__secondary .wp-block-button__link:focus-visible {
	border-color: #ffffff;
	background: rgba(247, 249, 251, 0.14);
	color: #ffffff;
}

.tefoo-home-appointment-band {
	padding: 0 1.5rem 4.5rem;
	background: #071b23;
}

.tefoo-home-appointment {
	position: relative;
	z-index: 2;
	margin-top: -96px;
	padding: 2.2rem 2.45rem;
	border-top: 3px solid #c3a56c;
	border-radius: 4px;
	background: rgba(247, 249, 251, 0.97);
	box-shadow: 0 22px 46px rgba(11, 47, 57, 0.18);
}

.tefoo-home-appointment__columns {
	display: grid !important;
	grid-template-columns: minmax(19rem, 0.82fr) minmax(34rem, 1.55fr);
	align-items: center;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	gap: 2.5rem !important;
}

.tefoo-home-appointment__columns > .wp-block-column {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.tefoo-home-appointment__title {
	margin: 0;
	color: #102d36;
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: 2.2rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.1;
}

.tefoo-home-appointment__description {
	margin: 0.75rem 0 0;
	color: #5e7379;
	font-size: 0.94rem;
	line-height: 1.65;
}

.tefoo-home-appointment__form {
	display: grid;
	gap: 0.75rem;
}

.tefoo-home-appointment__form > .fluentform { width: 100%; max-width: none !important; margin: 0 !important; }
.tefoo-home-appointment__fluent-form,
.tefoo-home-appointment__fluent-form .frm-fluent-form,
.tefoo-home-appointment__fluent-form .frm-fluent-form fieldset { width: 100% !important; max-width: none !important; }
.tefoo-home-appointment__fluent-form .frm-fluent-form fieldset { display: grid; grid-template-columns: repeat(3, minmax(9rem, 1fr)) minmax(11.25rem, auto); gap: .75rem; align-items: end; }
.tefoo-home-appointment__fluent-form .ff_screen_reader_title { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.tefoo-home-appointment__fluent-form .frm-fluent-form fieldset > p { display: none !important; }
.tefoo-home-appointment__fluent-form .ff-el-group { min-width: 0; margin: 0 !important; }
.tefoo-home-appointment__fluent-form .ff-el-input--content,
.tefoo-home-appointment__fluent-form .ff-el-form-control { width: 100% !important; min-width: 0; }
.tefoo-home-appointment__fluent-form .ff-el-input--label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.tefoo-home-appointment__fluent-form .ff-el-form-control { min-height: 3.45rem; padding: 0 .9rem; border-color: #c4dce0; }
.tefoo-home-appointment__fluent-form textarea.ff-el-form-control { height: 3.45rem; min-height: 3.45rem; padding-top: 1rem; resize: none; overflow: hidden; }
.tefoo-home-appointment__fluent-form .ff_submit_btn_wrapper { width: auto; }
.tefoo-home-appointment__fluent-form .ff-btn-submit { width: auto !important; min-width: 10.2rem; min-height: 3.45rem; padding: 0 1.15rem; background: #c3a56c; color: #102d36; font-weight: 900; white-space: nowrap; }
.tefoo-home-appointment__fluent-form .ff-btn-submit:hover,
.tefoo-home-appointment__fluent-form .ff-btn-submit:focus-visible { background: #102d36; color: #fff; }

@media (max-width: 781px) {
	.tefoo-home-appointment__columns { display: grid !important; grid-template-columns: 1fr; }
	.tefoo-home-appointment__fluent-form .frm-fluent-form fieldset { grid-template-columns: 1fr; }
	.tefoo-home-appointment__fluent-form .ff-btn-submit { width: 100% !important; }
}

@media (min-width: 782px) and (max-width: 1080px) {
	.tefoo-home-appointment__columns { grid-template-columns: minmax(16rem, .72fr) minmax(30rem, 1.28fr); gap: 1.5rem !important; }
	.tefoo-home-appointment__fluent-form .frm-fluent-form fieldset { grid-template-columns: repeat(3, minmax(7rem, 1fr)) minmax(9.5rem, auto); gap: .5rem; }
}

.tefoo-home-appointment__fields {
	gap: 0.75rem;
	margin: 0;
}

.tefoo-home-appointment__field {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.25rem;
	margin: 0;
	padding: 0.8rem 0.9rem;
	border: 1px solid #b8cdd1;
	border-radius: 3px;
	background: #ffffff;
	color: #71868b;
	font-size: 0.94rem;
	line-height: 1.55;
}


.tefoo-home-appointment__actions,
.tefoo-home-appointment__actions .wp-block-button,
.tefoo-home-appointment__actions .wp-block-button__link {
	width: 100%;
	margin: 0;
}

.tefoo-home-appointment__actions .wp-block-button__link {
	box-sizing: border-box;
	min-height: 3.25rem;
	padding: 0.85rem 1rem;
	border: 1px solid #c3a56c;
	border-radius: 3px;
	background: #c3a56c;
	color: #102d36;
	font-size: 0.9rem;
	font-weight: 800;
}

.tefoo-home-appointment__actions .wp-block-button__link:hover,
.tefoo-home-appointment__actions .wp-block-button__link:focus-visible {
	border-color: #102d36;
	background: #102d36;
	color: #ffffff;
}

.tefoo-home-company {
	padding: 6.25rem 1.5rem 5rem;
	background: #f4f8f8;
}

.tefoo-home-company__columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(25rem, 0.95fr);
	gap: 4.5rem;
	margin: 0;
}

/* This homepage section needs its own wide canvas. The global content size is
 * intentionally narrow for pages and posts, but it must not compress this two-column layout. */
.tefoo-home-company > .tefoo-home-company__inner {
	width: min(75rem, calc(100vw - 3rem));
	max-width: none !important;
	margin-right: auto;
	margin-left: auto;
}

.tefoo-home-company__inner > .tefoo-home-company__columns {
	width: 100%;
	max-width: none !important;
}

.tefoo-home-company__columns > .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.tefoo-home-company__copy {
	padding-left: 1.8rem;
	border-left: 4px solid #c3a56c;
}

.tefoo-home-company__eyebrow {
	margin: 0 0 1rem;
	color: #5e7379;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tefoo-home-company__title {
	max-width: 39rem;
	margin: 0;
	color: #102d36;
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: 3.4rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.07;
}

.tefoo-home-company__description {
	max-width: 42rem;
	margin: 1.45rem 0 0;
	color: #607b84;
	font-size: 1rem;
	line-height: 1.75;
}

.tefoo-home-company__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 1.1rem;
	--wp--style--block-gap: 0;
}

.tefoo-home-company__stats > .tefoo-home-company__stat {
	margin-block-start: 0 !important;
}

.tefoo-home-company__stat {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	width: 100%;
	min-height: 10.3rem;
	padding: 2rem 1.8rem;
	--wp--style--block-gap: 0;
	border-radius: 3px;
	background: #10333d;
	box-shadow: 0 15px 30px rgba(16, 45, 54, 0.12);
}

.tefoo-home-company__stat-value {
	margin: 0;
	color: #e1d1ad;
	font-size: 2.25rem;
	font-weight: 800;
	line-height: 1.1;
	white-space: nowrap;
}

.tefoo-home-company__stat-label {
	margin: 0.6rem 0 0;
	color: #d8ebed;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.45;
}

@media (min-width: 782px) and (max-width: 1080px) {
	.tefoo-home-company__columns {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.tefoo-home-company__stats {
		max-width: 42rem;
	}
}

.tefoo-home-company__flow {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	width: 100%;
	max-width: none !important;
	margin-top: 4.5rem;
	border: 1px solid #e2eaec;
	background: #e2eaec;
	--wp--style--block-gap: 0;
}

.tefoo-home-company__inner > .tefoo-home-company__flow {
	width: 100%;
	max-width: none !important;
}

.tefoo-home-company__flow p {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 5rem;
	margin: 0 !important;
	padding: 1.2rem 1.35rem 1.2rem 2.85rem;
	background: #ffffff;
	color: #244b55;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.35;
}

.tefoo-home-company__flow p::before {
	position: absolute;
	top: 50%;
	left: 1.35rem;
	width: 0.52rem;
	height: 0.52rem;
	background: #c3a56c;
	content: "";
	transform: translateY(-50%);
}

/* Homepage feature sections: native Group, Columns, Image, Heading and Paragraph blocks. */
.tefoo-home-kicker {
	margin: 0 0 0.85rem !important;
	color: #c3a56c;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tefoo-home-kicker--light { color: #e1d1ad; }

.tefoo-home-products {
	padding: 6.5rem 1.5rem;
	background: #061f27;
}

.tefoo-home-products__inner,
.tefoo-home-certifications__inner,
.tefoo-home-advantages__inner {
	width: min(75rem, calc(100vw - 3rem));
	max-width: none !important;
	margin-right: auto;
	margin-left: auto;
}

.tefoo-home-products__heading {
	display: flex !important;
	gap: 2rem;
	width: 100%;
	max-width: none !important;
	margin: 0 0 2.25rem !important;
}

.tefoo-home-products__heading > .wp-block-column { margin: 0 !important; }

.tefoo-home-products__heading > .wp-block-column:first-child {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0;
}

.tefoo-home-products__heading > .wp-block-column:last-child {
	flex: 0 0 auto !important;
	width: auto !important;
}

.tefoo-home-products__heading .tefoo-home-products__link {
	width: auto !important;
}

.tefoo-home-products__title {
	max-width: 43rem;
	margin: 0;
	color: #fff;
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: 2.6rem;
	font-weight: 800;
	line-height: 1.08;
}

.tefoo-home-products__link .wp-block-button__link,
.tefoo-home-certifications__link .wp-block-button__link,
.tefoo-home-advantages__link .wp-block-button__link {
	padding: 0 0 0.35rem;
	border: 0;
	border-bottom: 2px solid currentColor;
	border-radius: 0;
	background: transparent;
	color: #e1d1ad;
	font-size: 0.84rem;
	font-weight: 800;
}

.tefoo-home-certifications__link .wp-block-button__link { color: #244b55; }

.tefoo-home-products__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.14fr) minmax(22rem, 0.86fr);
	gap: 1.4rem;
	width: 100%;
	max-width: none !important;
	--wp--style--block-gap: 0;
}

.tefoo-home-products__grid > .tefoo-home-products__featured,
.tefoo-home-products__grid > .tefoo-home-products__cards {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
}

.tefoo-home-products__featured {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 29rem;
	padding: 2.8rem;
	overflow: hidden;
	background: #143b45;
	box-shadow: inset 0 0 0 1px rgba(195, 165, 108, 0.22);
	--wp--style--block-gap: 0;
}

.tefoo-home-products__featured::after {
	position: absolute;
	top: -5rem;
	right: -5rem;
	width: 15rem;
	height: 15rem;
	border-radius: 50%;
	background: rgba(195, 165, 108, 0.16);
	content: "";
}

.tefoo-home-products__featured-copy { position: relative; z-index: 1; }
.tefoo-home-products__featured-title { max-width: 31rem; margin: 0; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.3rem; font-weight: 800; line-height: 1.06; }
.tefoo-home-products__featured-description { max-width: 31rem; margin: 1rem 0 0 !important; color: #d0e2e4; font-size: 0.92rem; line-height: 1.65; }
.tefoo-home-products__chips { gap: 0.45rem; margin-top: 1.2rem; --wp--style--block-gap: 0; }
.tefoo-home-products__chips p { margin: 0 !important; padding: 0.38rem 0.5rem; background: rgba(255,255,255,0.12); color: #fff; font-size: 0.68rem; font-weight: 800; }
.tefoo-home-products__featured-image { z-index: 1; align-self: end; width: 100%; margin: 1rem 0 0 !important; text-align: center; }
.tefoo-home-products__featured-image img { width: min(13rem, 70%); max-height: 13rem; object-fit: contain; }

.tefoo-home-products__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; --wp--style--block-gap: 0; }
.tefoo-home-products__cards > .tefoo-home-products__card { margin-block-start: 0 !important; }
.tefoo-home-products__card { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; min-height: 14rem; padding: 1.6rem; background: #13343d; box-shadow: inset 0 0 0 1px rgba(194,224,228,0.12); --wp--style--block-gap: 0; }
.tefoo-home-products__card h3 { margin: 0; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.15rem; font-weight: 800; line-height: 1.15; }
.tefoo-home-products__card > p:last-child { margin: 0.7rem 0 0 !important; color: #c7dcdf; font-size: 0.8rem; line-height: 1.55; }

.tefoo-catalog { width: min(75rem, calc(100vw - 3rem)); max-width: none !important; margin: 0 auto; padding: 5.5rem 0; }
.tefoo-catalog--empty { color: #244b55; text-align: center; }
.tefoo-catalog__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.4rem; }
.tefoo-catalog__heading h2 { margin: 0; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.25rem; font-weight: 800; line-height: 1.1; }
.tefoo-catalog__heading > a { padding-bottom: 0.3rem; color: #244b55; font-size: 0.78rem; font-weight: 800; text-decoration: none; border-bottom: 2px solid #c3a56c; }
.tefoo-catalog__filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 1rem; }
.tefoo-catalog__filters > br { display: none !important; }
.tefoo-catalog__filters button { box-sizing: border-box; width: 100%; min-height: 2.85rem; padding: 0.6rem 0.9rem; border: 1px solid #c8dce0; border-radius: 0; background: transparent; color: #244b55; font-size: 0.74rem; font-weight: 800; text-align: left; cursor: pointer; }
.tefoo-catalog__filters button:hover, .tefoo-catalog__filters button.is-active { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
.tefoo-catalog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.tefoo-catalog-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #c8dce0; background: #fff; box-shadow: 0 10px 24px rgba(16,45,54,0.08); }
.tefoo-catalog-card[hidden] { display: none !important; }
.tefoo-catalog-card__image { display: grid; box-sizing: border-box; min-height: 13rem; padding: 1rem; place-items: center; background: #f1f7f8; }
.tefoo-catalog-card__image img { width: 100%; height: 11rem; object-fit: contain; }
.tefoo-catalog-card__content { padding: 1.1rem; }
.tefoo-catalog-card__series { margin: 0 0 0.35rem; color: #c3a56c; font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.tefoo-catalog-card h3 { margin: 0; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.1rem; font-weight: 800; }
.tefoo-catalog-card h3 a { color: #a8833f; text-decoration: none; }
.tefoo-catalog-card__description { min-height: 2.8rem; margin: 0.75rem 0; color: #607b84; font-size: 0.74rem; line-height: 1.5; }
.tefoo-catalog-card dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.35rem; margin: 0; padding: 0.75rem 0; border-top: 1px solid #d9e6e8; }
.tefoo-catalog-card dt { color: #607b84; font-size: 0.52rem; font-weight: 800; text-transform: uppercase; }
.tefoo-catalog-card dd { margin: 0.2rem 0 0; color: #102d36; font-size: 0.68rem; font-weight: 800; }
.tefoo-catalog-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.tefoo-catalog-card__actions > a { color: #a8833f; font-size: 0.72rem; font-weight: 800; text-decoration: none; }
.tefoo-catalog-card__actions .tefoo-catalog-card__quote { padding: 0.65rem 1rem; border-radius: 2px; background: #c3a56c; color: #102d36; }
.tefoo-catalog-card__quote:hover { background: #102d36; color: #fff; }
.tefoo-catalog__pagination { display: flex; justify-content: center; gap: .5rem; margin: 2.5rem 0 0; }
.tefoo-catalog__pagination[hidden] { display: none !important; }
.tefoo-catalog__pagination button { min-width: 2.6rem; height: 2.6rem; padding: 0 .8rem; border: 1px solid #c5dfe3; border-radius: 0; background: #fff; color: #274650; font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }
.tefoo-catalog__pagination button:hover:not(:disabled),
.tefoo-catalog__pagination button:focus-visible,
.tefoo-catalog__pagination button[aria-current="page"] { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
.tefoo-catalog__pagination button:disabled { opacity: .42; cursor: not-allowed; }

/* Editable engineering capability and enquiry bands on the homepage. */
.tefoo-home-engineering { box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; margin-right: calc(50% - 50vw) !important; margin-left: calc(50% - 50vw) !important; padding: 6.9rem 1.5rem; background: #fff; }
.tefoo-home-engineering__columns { width: min(80.25rem, 100%) !important; max-width: min(80.25rem, 100%) !important; margin: 0 auto !important; gap: 5.75rem !important; }
.tefoo-home-engineering .wp-block-column { min-width: 0; }
.tefoo-home-engineering h2 { max-width: 38rem; margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.65rem; font-weight: 800; line-height: 1.1; }
.tefoo-home-engineering__lead { max-width: 37rem; margin: 1.1rem 0 0 !important; color: #49646e; font-size: 0.94rem; line-height: 1.7; }
.tefoo-home-engineering__list { margin: 0 !important; padding-left: 1.45rem; color: #284851; font-size: 1.08rem; font-weight: 800; line-height: 1.9; }
.tefoo-home-engineering__list li { padding-left: 0.2rem; }
.tefoo-home-inquiry { box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; margin-right: calc(50% - 50vw) !important; margin-left: calc(50% - 50vw) !important; padding: 5.25rem 1.5rem; background: #061f27; color: #fff; }
.tefoo-home-inquiry__columns { width: min(80.25rem, 100%) !important; max-width: min(80.25rem, 100%) !important; margin: 0 auto !important; gap: 2rem !important; }
.tefoo-home-inquiry h2 { margin: 0 !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.65rem; font-weight: 800; line-height: 1.1; }
.tefoo-home-inquiry .wp-block-buttons { margin: 0 !important; }
.tefoo-home-inquiry .wp-block-button { margin: 0; }
.tefoo-home-inquiry .wp-block-button__link { min-width: 12.5rem; padding: 0.95rem 1.3rem; border: 1px solid rgba(255,255,255,0.82); border-radius: 0; background: transparent; color: #fff; font-size: 0.78rem; font-weight: 800; text-align: center; }
.tefoo-home-inquiry .wp-block-button__link:hover { border-color: #c3a56c; background: #c3a56c; color: #102d36; }

.tefoo-home-certifications { padding: 5.75rem 1.5rem; background: #f7f9fb; }
.tefoo-home-certifications__inner { position: relative; }
.tefoo-home-certifications__heading { margin-bottom: 2.25rem; text-align: center; --wp--style--block-gap: 0; }
.tefoo-home-certifications__heading h2 { margin: 0; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.45rem; font-weight: 800; }
.tefoo-home-certifications__controls { position: absolute; top: 50%; left: -4rem; z-index: 2; display: flex !important; justify-content: space-between !important; box-sizing: border-box; width: calc(100% + 8rem); max-width: none !important; pointer-events: none; transform: translateY(-50%); }
.tefoo-home-certifications__controls .wp-block-button { pointer-events: auto; }
.tefoo-home-certifications__controls .wp-block-button__link { display: grid; width: 3.25rem; height: 3.25rem; padding: 0; border: 1px solid #d8e4e6; border-radius: 2px; place-items: center; background: #fff; color: #244b55; box-shadow: 0 6px 18px rgba(16,45,54,0.12); font-size: 0; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.tefoo-home-certifications__controls .wp-block-button__link:hover, .tefoo-home-certifications__controls .wp-block-button__link:focus-visible { border-color: #c3a56c; background: #c3a56c; color: #102d36; }
.tefoo-home-certifications__previous .wp-block-button__link::after { content: '<'; font-size: 1.25rem; }
.tefoo-home-certifications__next .wp-block-button__link::after { content: '>'; font-size: 1.25rem; }
.tefoo-home-certifications__grid { display: flex !important; gap: 1rem; width: 100%; max-width: none !important; padding: 0.5rem 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; --wp--style--block-gap: 0; }
.tefoo-home-certifications__grid::-webkit-scrollbar { display: none; }
.tefoo-home-certifications__grid.is-tefoo-looping { scroll-behavior: auto; scroll-snap-type: none; }
.tefoo-home-certifications__grid.is-tefoo-looping .tefoo-home-certifications__card { scroll-snap-align: none; }
.tefoo-home-certifications__card { box-sizing: border-box; flex: 0 0 calc((100% - 3rem) / 4); min-width: 0; padding: 1rem; margin-block-start: 0 !important; background: #fff; box-shadow: 0 10px 26px rgba(16,45,54,0.08); scroll-snap-align: start; text-align: center; --wp--style--block-gap: 0; }
.tefoo-home-certifications__card figure { height: 17rem; margin: 0 !important; }
.tefoo-home-certifications__card img { width: 100%; height: 100%; object-fit: contain; }
.tefoo-home-certifications__card h3 { min-height: 2.6rem; margin: 1rem 0 0; color: #244b55; font-family: var(--wp--preset--font-family--system-sans); font-size: 0.85rem; font-weight: 800; line-height: 1.2; }
.tefoo-home-certifications__link { margin-top: 2rem; }
.tefoo-certification-preview { box-sizing: border-box; width: min(58rem, 92vw); max-width: 92vw; max-height: 92vh; padding: 1.25rem; border: 0; background: #fff; box-shadow: 0 22px 70px rgba(0,0,0,0.45); }
.tefoo-certification-preview::backdrop { background: rgba(3,20,27,0.86); }
.tefoo-certification-preview img { display: block; width: 100%; max-height: 80vh; object-fit: contain; }
.tefoo-certification-preview__close { display: block; margin: 0 0 0.75rem auto; padding: 0.45rem 0.75rem; border: 0; background: #102d36; color: #fff; font-weight: 700; }

.tefoo-home-advantages { padding: 5.5rem 1.5rem; overflow: hidden; background-color: #061f27; background-image: linear-gradient(90deg, rgba(3,25,33,0.04) 0%, rgba(3,25,33,0.12) 40%, rgba(3,25,33,0.64) 58%, rgba(3,25,33,0.9) 100%), url('/tefoo-wp/wp-content/themes/gutenberg-blank/assets/images/sections/standard-battery-advantages-products-v2.png'); background-position: center; background-repeat: no-repeat; background-size: cover; }
.tefoo-home-advantages__columns { display: grid !important; grid-template-columns: minmax(0, 0.9fr) minmax(34rem, 1.1fr); gap: 3.25rem; width: 100%; max-width: none !important; margin: 0; }
.tefoo-home-advantages__columns > .wp-block-column { margin: 0 !important; min-width: 0; }
.tefoo-home-advantages__image { display: none; height: 100%; margin: 0 !important; }
.tefoo-home-advantages__image img { display: block; width: 100%; height: 100%; min-height: 30rem; max-height: none; object-fit: cover; }
.tefoo-home-advantages__copy { padding: 2.1rem; border: 1px solid rgba(195,165,108,0.22); background: rgba(5,30,38,0.78); --wp--style--block-gap: 0; }
.tefoo-home-advantages__copy h2 { margin: 0; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.35rem; font-weight: 800; line-height: 1.06; }
.tefoo-home-advantages__lead { margin: 1rem 0 1.3rem !important; color: #d2e2e5; font-size: 0.86rem; font-weight: 700; line-height: 1.55; }
.tefoo-home-advantages__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; border-top: 1px solid rgba(255,255,255,0.16); --wp--style--block-gap: 0; }
.tefoo-home-advantages__item { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: 1rem; align-items: start; padding: 0.75rem 0; border-bottom: 1px solid rgba(255,255,255,0.14); --wp--style--block-gap: 0; }
.tefoo-home-advantages__list > .tefoo-home-advantages__item { margin-block-start: 0 !important; }
.tefoo-home-advantages__item > .tefoo-home-advantages__number { align-self: start; height: auto; margin: 0 !important; padding-top: 0.25rem; color: #c3a56c; font-size: 0.72rem; font-weight: 800; line-height: 1.2; }
.tefoo-home-advantages__number::after { display: block; width: 1.4rem; height: 2px; margin-top: 0.5rem; background: #c3a56c; content: ""; }
.tefoo-home-advantages__item > .wp-block-group { min-width: 0; margin-block-start: 0 !important; --wp--style--block-gap: 0; }
.tefoo-home-advantages__item h3 { margin: 0; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 0.86rem; font-weight: 800; line-height: 1.2; }
.tefoo-home-advantages__item p { margin: 0.2rem 0 0 !important; color: #cddfe1; font-size: 0.7rem; line-height: 1.4; }
.tefoo-home-advantages__link { margin-top: 1.35rem; }

@media (max-width: 1080px) {
	.tefoo-home-products__grid, .tefoo-home-advantages__columns { grid-template-columns: 1fr; }
	.tefoo-home-products__featured { min-height: 0; }
	.tefoo-home-advantages__image img { min-height: 20rem; }
	.tefoo-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tefoo-catalog__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tefoo-home-engineering__columns { gap: 3rem !important; }
	.tefoo-home-engineering h2, .tefoo-home-inquiry h2 { font-size: 2.25rem; }
}

@media (min-width: 782px) and (max-width: 1320px) {
	.tefoo-home-certifications__controls {
		left: -2rem;
		width: calc(100% + 4rem);
	}
}

@media (max-width: 781px) {
	.tefoo-home-products, .tefoo-home-certifications, .tefoo-home-advantages { padding: 4rem 1.25rem; }
	.tefoo-home-products__heading { display: grid !important; grid-template-columns: 1fr; gap: 1.25rem; }
	.tefoo-home-products__title, .tefoo-home-advantages__copy h2 { font-size: 2rem; }
	.tefoo-home-products__featured { padding: 1.5rem; }
	.tefoo-home-products__featured-title { font-size: 1.8rem; }
	.tefoo-catalog { width: min(100% - 2.5rem, 75rem); padding: 4rem 0; }
	.tefoo-catalog__heading { align-items: start; flex-direction: column; gap: 0.75rem; }
	.tefoo-catalog__heading h2 { font-size: 1.9rem; }
	.tefoo-catalog__grid { grid-template-columns: 1fr; }
	.tefoo-catalog__filters { grid-template-columns: 1fr; }
	.tefoo-catalog__pagination { gap: .35rem; }
	.tefoo-catalog__pagination button { min-width: 2.3rem; padding: 0 .6rem; }
	.tefoo-home-engineering, .tefoo-home-inquiry { padding: 4rem 1.25rem; }
	.tefoo-home-engineering__columns, .tefoo-home-inquiry__columns { gap: 2rem !important; }
	.tefoo-home-engineering h2, .tefoo-home-inquiry h2 { font-size: 1.95rem; }
	.tefoo-home-engineering__list { font-size: 0.96rem; }
	.tefoo-home-inquiry .wp-block-buttons { justify-content: flex-start !important; }
	.tefoo-home-products__cards, .tefoo-home-advantages__list { grid-template-columns: 1fr; }
	.tefoo-home-certifications__card { flex-basis: min(82vw, 20rem); }
	.tefoo-home-certifications__card figure { height: 20rem; }
	.tefoo-home-advantages__copy { padding: 1.4rem; }
}

@media (max-width: 781px) {
	.tefoo-home-hero {
		min-height: 680px;
		padding: 4.5rem 1.25rem 7.25rem;
		background-position: 63% center;
	}

	.tefoo-home-hero::before {
		background: linear-gradient(180deg, rgba(4, 22, 29, 0.76) 0%, rgba(4, 22, 29, 0.89) 62%, rgba(4, 22, 29, 0.96) 100%);
	}

	.tefoo-home-hero__title {
		font-size: 2.75rem;
	}

	.tefoo-home-hero__description {
		font-size: 0.94rem;
		line-height: 1.75;
	}

	.tefoo-home-hero__actions .wp-block-button,
	.tefoo-home-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.tefoo-home-appointment-band {
		padding-right: 1.25rem;
		padding-bottom: 3rem;
		padding-left: 1.25rem;
	}

	.tefoo-home-appointment {
		margin-top: -44px;
		padding: 1.75rem 1.4rem;
	}

	.tefoo-home-appointment__columns {
		gap: 1.6rem;
	}

	.tefoo-home-appointment__title {
		font-size: 1.9rem;
	}

	.tefoo-home-company {
		padding: 4rem 1.25rem 3.5rem;
	}

	.tefoo-home-company__columns {
		gap: 2.75rem;
		grid-template-columns: 1fr;
	}

	.tefoo-home-company__copy {
		padding-left: 1.2rem;
	}

	.tefoo-home-company__title {
		font-size: 2.35rem;
	}

	.tefoo-home-company__stats {
		gap: 0.75rem;
	}

	.tefoo-home-company__stat {
		min-height: 8.5rem;
		padding: 1.35rem 1.1rem;
	}

	.tefoo-home-company__stat-value {
		font-size: 1.8rem;
	}

	.tefoo-home-company__flow {
		grid-template-columns: 1fr;
		margin-top: 2.75rem;
	}

}

/* TEFOO global template parts. */
.tefoo-site-header {
	position: relative;
	z-index: 20;
	background: #1E2A3A;
	border-bottom: 1px solid rgba(94, 111, 126, 0.45);
}

.tefoo-header-inner {
	min-height: 86px;
	gap: 1.5rem;
}

/* Legacy saved header parts may omit the logo block entirely. */
.tefoo-header-inner::before {
	display: block;
	width: 196px;
	height: 29px;
	flex: 0 0 auto;
	background: url("assets/images/tefoo-logo.png") left center / contain no-repeat;
	content: "";
}

.tefoo-header-inner:has(.tefoo-header-logo)::before,
.tefoo-header-inner:has(.wp-block-site-logo)::before {
	display: none;
}

.tefoo-header-logo,
.tefoo-site-logo {
	margin: 0;
	width: 196px;
	max-width: 196px;
	flex: 0 0 auto;
}

.tefoo-header-logo .custom-logo-link,
.tefoo-header-logo {
	display: block;
	line-height: 0;
}

.tefoo-header-logo img,
.tefoo-site-logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 38px;
	object-fit: contain;
	object-position: left center;
}

.tefoo-brand-mark {
	display: block;
	width: 196px;
	height: 29px;
	flex: 0 0 auto;
	background: url("assets/images/tefoo-logo.png") left center / contain no-repeat;
	filter: invert(1);
}

.tefoo-primary-navigation {
	margin-left: auto;
	font-size: 0.84rem;
	font-weight: 700;
}

.tefoo-primary-navigation .wp-block-navigation-item__content {
	position: relative;
	padding: 1rem 0;
	color: #E4E8EC !important;
	text-decoration: none;
}

.tefoo-primary-navigation .wp-block-navigation-submenu__toggle {
	color: #E4E8EC !important;
}

.tefoo-primary-navigation .wp-block-navigation-item__content::after {
	position: absolute;
	bottom: 0.65rem;
	left: 0;
	width: 100%;
	height: 2px;
	background: #c3a56c;
	content: "";
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 180ms ease;
}

.tefoo-primary-navigation .wp-block-navigation-item__content:hover,
.tefoo-primary-navigation .wp-block-navigation-item__content:focus-visible,
.tefoo-primary-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: #C3A56C !important;
}

.tefoo-primary-navigation .wp-block-navigation-item__content:hover::after,
.tefoo-primary-navigation .wp-block-navigation-item__content:focus-visible::after,
.tefoo-primary-navigation .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

.tefoo-primary-navigation .wp-block-navigation__submenu-container {
	min-width: 13.5rem;
	padding: 0.45rem;
	border: 1px solid rgba(94, 111, 126, 0.7);
	background: #2E343A !important;
	box-shadow: 0 16px 35px rgba(0, 0, 0, 0.24);
}

.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	width: 100%;
	padding: 0.7rem 0.8rem;
	color: #E4E8EC !important;
}

.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
	color: #E4E8EC !important;
}

.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: #C3A56C !important;
	color: #1E2A3A !important;
}

.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover + .wp-block-navigation-submenu__toggle,
.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle:hover,
.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle:focus-visible {
	color: #1E2A3A !important;
}

.tefoo-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	display: none;
}

.tefoo-header-actions {
	flex: 0 0 auto;
}

.tefoo-header-actions .wp-block-button__link {
	padding: 0.8rem 1.25rem;
	border: 1px solid #C3A56C;
	border-radius: 0;
	background: #C3A56C;
	color: #1E2A3A;
	font-size: 0.875rem;
	font-weight: 800;
}

.tefoo-header-actions .wp-block-button__link:hover,
.tefoo-header-actions .wp-block-button__link:focus-visible {
	border-color: #E4E8EC;
	background: #E4E8EC;
	color: #1E2A3A;
}

/* The header search block acts as a trigger for the centered global search dialog. */
.tefoo-site-header .wp-block-search { flex: 0 0 auto; margin: 0 !important; }
.tefoo-site-header .wp-block-search__inside-wrapper { border: 0; }
.tefoo-site-header .wp-block-search__input { display: none; }
:where(.tefoo-site-header .wp-block-search__button) { display: grid; width: 3.2rem; min-width: 3.2rem; height: 3.2rem; margin: 0; padding: 0; border: 1px solid rgba(228, 232, 236, .68); border-radius: 0; background: transparent; color: #E4E8EC; place-items: center; }
.tefoo-site-header .wp-block-search__button:hover,
.tefoo-site-header .wp-block-search__button:focus-visible { border-color: #C3A56C; background: #C3A56C; color: #1E2A3A; }
.tefoo-search-modal[hidden] { display: none; }
.tefoo-search-modal { position: fixed; z-index: 100000; inset: 0; display: grid; padding: 1.5rem; place-items: center; }
.tefoo-search-modal__backdrop { position: absolute; inset: 0; background: rgba(9, 15, 22, .78); }
.tefoo-search-modal__dialog { position: relative; z-index: 1; box-sizing: border-box; width: min(40rem, calc(100vw - 2.5rem)); padding: 2rem; border: 1px solid rgba(195, 165, 108, .7); background: #F7F9FB; box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .35); }
.tefoo-search-modal__dialog h2 { margin: 0 2.5rem 1.25rem 0; color: #1E2A3A; font-family: var(--wp--preset--font-family--editorial-serif, serif); font-size: 2rem; line-height: 1.1; }
.tefoo-search-modal__dialog form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.tefoo-search-modal__dialog input { box-sizing: border-box; min-width: 0; height: 3.45rem; padding: 0 1rem; border: 1px solid #5E6F7E; border-radius: 0; background: #fff; color: #1E2A3A; font: inherit; }
.tefoo-search-modal__dialog input:focus { outline: 2px solid #C3A56C; outline-offset: 1px; }
.tefoo-search-modal__dialog form button { min-width: 7rem; height: 3.45rem; padding: 0 1.25rem; border: 1px solid #C3A56C; border-radius: 0; background: #C3A56C; color: #1E2A3A; font: inherit; font-weight: 800; cursor: pointer; }
.tefoo-search-modal__dialog form button:hover,
.tefoo-search-modal__dialog form button:focus-visible { border-color: #1E2A3A; background: #1E2A3A; color: #fff; }
.tefoo-search-modal__close { position: absolute; top: .9rem; right: .9rem; display: grid; width: 2rem; height: 2rem; padding: 0; border: 0; background: transparent; color: #1E2A3A; font-size: 1.7rem; line-height: 1; cursor: pointer; place-items: center; }
.tefoo-search-modal__close:hover,
.tefoo-search-modal__close:focus-visible { color: #C3A56C; }
body.tefoo-search-modal-open { overflow: hidden; }

@media (min-width: 1081px) {
	.tefoo-primary-navigation {
		flex: 1 1 auto;
		min-width: 0;
	}

	.tefoo-primary-navigation .wp-block-navigation__container {
		flex-wrap: nowrap !important;
		align-items: center;
		justify-content: flex-end;
		gap: clamp(0.75rem, 1vw, 1.25rem);
	}

	.tefoo-primary-navigation .wp-block-navigation-item {
		flex: 0 0 auto;
		white-space: nowrap;
	}
}

.tefoo-site-footer {
	margin-top: 4.5rem;
	padding-top: 4.5rem;
	background: #1E2A3A;
	color: #E4E8EC;
}

.tefoo-footer-columns {
	gap: 2rem;
	padding-bottom: 3.25rem;
}

.tefoo-brand-mark--footer {
	margin-bottom: 1.35rem;
	filter: none;
}

.tefoo-footer-intro,
.tefoo-footer-address {
	max-width: 21rem;
	margin-top: 0;
	color: #E4E8EC;
	font-size: 0.94rem;
	line-height: 1.7;
}

.tefoo-footer-heading {
	margin-top: 0;
	margin-bottom: 1rem;
	color: #E4E8EC;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.3;
}

.tefoo-footer-navigation {
	gap: 0.5rem;
	font-size: 0.94rem;
}

.tefoo-site-footer a {
	color: #E4E8EC;
	text-decoration: none;
}

.tefoo-site-footer a:hover,
.tefoo-site-footer a:focus-visible {
	color: #C3A56C;
	text-decoration: underline;
}

.tefoo-footer-navigation .wp-block-navigation-item__content {
	padding: 0.1rem 0;
}

.tefoo-footer-contact {
	line-height: 1.9;
}

.tefoo-footer-bottom {
	min-height: 4.75rem;
	border-top: 1px solid rgba(94, 111, 126, 0.55);
	color: #5E6F7E;
}

.tefoo-footer-bottom p {
	margin: 0;
}

@media (max-width: 1080px) {
	.tefoo-header-inner {
		min-height: 76px;
	}

	.tefoo-brand-mark {
		width: 158px;
		height: 24px;
	}

	.tefoo-header-inner::before {
		width: 158px;
		height: 24px;
	}

	.tefoo-site-logo {
		width: 158px;
		max-width: 158px;
	}

	.tefoo-header-logo {
		width: 158px;
		max-width: 158px;
	}

	.tefoo-primary-navigation {
		font-size: 0.82rem;
	}

	/* Match the source site's compact navigation before its links begin to wrap. */
	.tefoo-primary-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.tefoo-primary-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (max-width: 1080px) {
	.tefoo-header-inner {
		min-height: 68px;
	}

	.tefoo-primary-navigation {
		margin-left: auto;
	}

	.tefoo-primary-navigation .wp-block-navigation__responsive-container-open {
		color: #E4E8EC;
	}

	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.5rem;
		background: #1E2A3A;
		color: #E4E8EC;
	}

	.tefoo-primary-navigation .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
	}

	.tefoo-primary-navigation .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		width: 100%;
		align-items: stretch;
	}

	.tefoo-primary-navigation .wp-block-navigation-item__content {
		padding: 0.65rem 0;
	}

	.tefoo-header-actions {
		display: none;
	}

	.tefoo-footer-columns {
		gap: 2.25rem;
	}
}

@media (max-width: 480px) {
	.tefoo-search-modal__dialog { padding: 1.5rem; }
	.tefoo-search-modal__dialog h2 { font-size: 1.65rem; }
	.tefoo-search-modal__dialog form { grid-template-columns: 1fr; }
	.tefoo-search-modal__dialog form button { width: 100%; }

	.tefoo-brand-mark {
		width: 139px;
		height: 21px;
	}

	.tefoo-header-inner::before {
		width: 139px;
		height: 21px;
	}

	.tefoo-site-logo {
		width: 139px;
		max-width: 139px;
	}

	.tefoo-header-logo {
		width: 139px;
		max-width: 139px;
	}

	.tefoo-site-footer {
		margin-top: 3rem;
		padding-top: 3.5rem;
	}
}

/* Editable news centre on the homepage. */
.tefoo-home-news { box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; margin-right: calc(50% - 50vw) !important; margin-left: calc(50% - 50vw) !important; padding: 5.75rem 1.5rem; background: #eaf8fa; }
.tefoo-home-news__inner { width: min(80.25rem, calc(100vw - 3rem)) !important; max-width: min(80.25rem, calc(100vw - 3rem)) !important; margin: 0 auto !important; }
.tefoo-home-news__heading { width: 100% !important; max-width: 100% !important; margin-bottom: 2.3rem !important; }
.tefoo-home-news__heading > .wp-block-group { min-width: 0; }
.tefoo-home-news h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.25rem; font-weight: 800; line-height: 1.1; }
.tefoo-home-news__all-link { margin: 0 0 0 1rem !important; white-space: nowrap; }
.tefoo-home-news__all-link a { display: inline-block; padding-bottom: 0.35rem; border-bottom: 2px solid #c3a56c; color: #111; font-size: 0.8rem; font-weight: 800; text-decoration: none; }
.tefoo-home-news__columns { width: 100% !important; max-width: 100% !important; gap: 1.8rem !important; }
.tefoo-home-news .wp-block-shortcode { width: min(80.25rem, calc(100vw - 3rem)) !important; max-width: min(80.25rem, calc(100vw - 3rem)) !important; margin-right: auto !important; margin-left: auto !important; }
.tefoo-home-news__columns--static { display: none !important; }
.tefoo-home-news__columns--dynamic { display: grid !important; width: min(80.25rem, calc(100vw - 3rem)) !important; max-width: min(80.25rem, calc(100vw - 3rem)) !important; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-right: auto !important; margin-left: auto !important; }
.tefoo-home-news__columns--dynamic > .tefoo-home-news__column { min-width: 0; }
.tefoo-home-news__columns > .wp-block-column { min-width: 0; }
.tefoo-home-news__column { overflow: hidden; border: 1px solid #cde2e6; border-radius: 0.35rem; background: #fff; }
.tefoo-home-news__column-head { min-height: 6.85rem; box-sizing: border-box; margin: 0 !important; padding: 1.9rem 1.85rem; }
.tefoo-home-news__column-head h3 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.7rem; font-weight: 800; line-height: 1.15; }
.tefoo-home-news__column-head p { margin: 0 0 0 1rem !important; white-space: nowrap; }
.tefoo-home-news__column-head a { color: #866a35; font-size: 0.7rem; font-weight: 800; text-decoration: underline; text-underline-offset: 0.16rem; text-transform: uppercase; }
.tefoo-home-news__item { min-height: 12.4rem; box-sizing: border-box; margin: 0 !important; padding: 1.75rem 1.85rem; --wp--style--block-gap: 0; }
.tefoo-home-news__item--featured { background: #f6efe1; }
.tefoo-home-news__item > .wp-block-columns { display: grid !important; width: 100% !important; max-width: none !important; grid-template-columns: 10.5rem minmax(0, 1fr); gap: 1.45rem !important; margin: 0 !important; }
.tefoo-home-news__item > .wp-block-columns > .wp-block-column { min-width: 0; width: auto !important; flex-basis: auto !important; }
.tefoo-home-news__item figure { display: grid; width: 10.5rem; height: 7.35rem; margin: 0 !important; padding: 0.75rem; box-sizing: border-box; place-items: center; background: #f7f7f7; }
.tefoo-home-news__item figure img { width: 100%; height: 100%; object-fit: contain; }
.tefoo-home-news__category { margin: 0 0 0.55rem !important; color: #866a35; font-size: 0.68rem; font-weight: 800; line-height: 1; text-transform: uppercase; }
.tefoo-home-news__item h4 { margin: 0 !important; color: #111; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.05rem; font-weight: 800; line-height: 1.2; }
.tefoo-home-news__item h4 + p { margin: 0.65rem 0 0 !important; color: #58717a; font-size: 0.78rem; line-height: 1.55; }
.tefoo-home-news__item:hover { background: #f6efe1; }
.tefoo-home-news__columns--dynamic .tefoo-home-news__item { display: grid; grid-template-columns: 10.5rem minmax(0, 1fr); align-items: center; gap: 1.45rem; }
.tefoo-home-news__image { display: grid; width: 10.5rem; height: 7.35rem; box-sizing: border-box; padding: 0.75rem; place-items: center; background: #f7f7f7; }
.tefoo-home-news__image img { width: 100%; height: 100%; object-fit: contain; }
.tefoo-home-news__image span { color: #58717a; font-size: 0.72rem; text-align: center; }
.tefoo-home-news__content { min-width: 0; }
.tefoo-home-news__item h4 a { color: inherit; text-decoration: none; }
.tefoo-home-news__columns--dynamic .tefoo-home-news__item > p:empty,
.tefoo-home-news__columns--dynamic .tefoo-home-news__content > p:empty,
.tefoo-home-news__columns--dynamic .tefoo-home-news__image br { display: none !important; }
.tefoo-home-news__empty { min-height: 12.4rem; box-sizing: border-box; margin: 0 !important; padding: 2rem 1.85rem; color: #58717a; font-size: 0.86rem; }

@media (max-width: 781px) {
	.tefoo-home-news { padding: 4rem 1.25rem; }
	.tefoo-home-news__heading { display: grid !important; grid-template-columns: 1fr; gap: 1rem !important; }
	.tefoo-home-news h2 { font-size: 1.95rem; }
	.tefoo-home-news__all-link { margin-left: 0 !important; }
	.tefoo-home-news__columns { gap: 1.25rem !important; }
	.tefoo-home-news__columns--dynamic { grid-template-columns: 1fr; }
	.tefoo-home-news__item { padding: 1.25rem; }
	.tefoo-home-news__item > .wp-block-columns { grid-template-columns: 7.25rem minmax(0, 1fr); gap: 1rem !important; }
	.tefoo-home-news__columns--dynamic .tefoo-home-news__item { grid-template-columns: 7.25rem minmax(0, 1fr); gap: 1rem; }
	.tefoo-home-news__image { width: 7.25rem; height: 6rem; }
	.tefoo-home-news__item figure { width: 7.25rem; height: 6rem; }
	.tefoo-home-news__item h4 { font-size: 0.95rem; }
}

@media (max-width: 520px) {
	.tefoo-home-news__column-head { min-height: 0; padding: 1.4rem 1.25rem; }
	.tefoo-home-news__column-head h3 { font-size: 1.4rem; }
	.tefoo-home-news__item > .wp-block-columns { grid-template-columns: 1fr; }
	.tefoo-home-news__item figure { width: 100%; height: 12rem; }
	.tefoo-home-news__columns--dynamic .tefoo-home-news__item { grid-template-columns: 1fr; }
	.tefoo-home-news__image { width: 100%; height: 12rem; }
}

/* Editable FAQ section displayed immediately before the site footer. */
main .wp-block-template-part:has(.tefoo-home-faq) { display: flex; flex-direction: column; }
.tefoo-home-faq { order: 100; box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; margin-right: calc(50% - 50vw) !important; margin-left: calc(50% - 50vw) !important; padding: 5.75rem 1.5rem; background: #eaf8fa; }
.tefoo-home-faq__columns { width: min(78.25rem, calc(100vw - 3rem)) !important; max-width: min(78.25rem, calc(100vw - 3rem)) !important; margin: 0 auto !important; gap: 5.75rem !important; }
.tefoo-home-faq__columns > .wp-block-column { min-width: 0; }
.tefoo-home-faq__intro { position: sticky; top: 2rem; }
.tefoo-home-faq h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 3.35rem; font-weight: 800; line-height: 1.08; }
.tefoo-home-faq__intro > p:not(.tefoo-home-kicker):not(.tefoo-home-faq__link) { max-width: 25rem; margin: 1.2rem 0 0 !important; color: #536973; font-size: 0.96rem; line-height: 1.8; }
.tefoo-home-faq__link { margin: 2rem 0 0 !important; }
.tefoo-home-faq__link a { display: inline-block; padding-bottom: 0.25rem; border-bottom: 2px solid #c3a56c; color: #111; font-size: 0.82rem; font-weight: 800; text-decoration: none; }
.tefoo-home-faq__list { --wp--style--block-gap: 0; }
.tefoo-home-faq__group { margin: 0 0 2.4rem !important; --wp--style--block-gap: 0; }
.tefoo-home-faq__group h3 { margin: 0 !important; padding-bottom: 0.2rem; border-bottom: 1px solid #d2c8ad; color: #866a35; font-size: 0.72rem; font-weight: 800; line-height: 1.3; text-transform: uppercase; }
.tefoo-home-faq details { position: relative; box-sizing: border-box; margin: 0.7rem 0 0 !important; border: 1px solid #cde2e6; border-radius: 0.35rem; background: #fff; }
.tefoo-home-faq details[open] { border-color: #c3a56c; background: #fcfaf5; }
.tefoo-home-faq summary { position: relative; display: block; padding: 1.15rem 3.25rem 1.15rem 1.35rem; color: #102d36; font-size: 1rem; font-weight: 800; line-height: 1.3; cursor: pointer; list-style: none; }
.tefoo-home-faq summary::-webkit-details-marker { display: none; }
.tefoo-home-faq summary::after { position: absolute; top: 50%; right: 1.35rem; color: #c3a56c; content: '+'; font-size: 1.35rem; font-weight: 700; line-height: 1; transform: translateY(-50%); }
.tefoo-home-faq details[open] summary::after { content: '-'; }
.tefoo-home-faq details > p { margin: 0 !important; padding: 0 1.35rem 1.35rem; color: #58717a; font-size: 0.88rem; line-height: 1.75; }

@media (max-width: 1000px) {
	.tefoo-home-faq__columns { gap: 3rem !important; }
	.tefoo-home-faq h2 { font-size: 2.7rem; }
}

@media (max-width: 781px) {
	.tefoo-home-faq { padding: 4rem 1.25rem; }
	.tefoo-home-faq__columns { gap: 2.25rem !important; }
	.tefoo-home-faq__intro { position: static; }
	.tefoo-home-faq h2 { font-size: 2.1rem; }
	.tefoo-home-faq summary { padding: 1rem 3rem 1rem 1.05rem; font-size: 0.92rem; }
	.tefoo-home-faq details > p { padding: 0 1.05rem 1.15rem; font-size: 0.84rem; }
}

/* Standard batteries page. */
body.page-template-page-custom-battery { padding: 0 !important; }
body.page-template-page-custom-battery .wp-site-blocks > main.tefoo-custom-battery-page { margin-block-start: 0 !important; }
.tefoo-custom-battery-page { background: #061f27; }
.tefoo-custom-battery-page__hero { box-sizing: border-box; min-height: 27rem; padding: 5.25rem 1.5rem 4rem; background: #061f27; color: #fff; }
.tefoo-custom-battery-page__hero-inner { width: min(44rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-custom-battery-page__hero-inner > .tefoo-home-kicker,
.tefoo-custom-battery-page__hero-inner > h1,
.tefoo-custom-battery-page__hero-inner > .tefoo-custom-battery-page__hero-lead { max-width: 44rem; }
.tefoo-custom-battery-page__hero h1 { margin: 1rem 0 1.2rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 4.15rem; font-weight: 800; line-height: 1.05; }
.tefoo-custom-battery-page__hero-lead { margin: 0 !important; color: #e2ecee; font-size: 1.02rem; font-weight: 800; line-height: 1.65; }
.tefoo-custom-battery-page__project { box-sizing: border-box; padding: 0 1.5rem 4.75rem; background: #061f27; }
.tefoo-custom-battery-page__project-card { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; padding: 2.85rem 3rem; border-left: 0.5rem solid #c3a56c; background: #fff; box-shadow: 0 1.75rem 5rem rgba(0,0,0,.2); }
.tefoo-custom-battery-page__project-card > .tefoo-custom-battery-page__project-columns { width: 100% !important; max-width: none !important; gap: 2.25rem !important; margin: 0 !important; }
.tefoo-custom-battery-page__project-card > .tefoo-custom-battery-page__project-columns { align-items: center !important; }
.tefoo-custom-battery-page__project-columns > .wp-block-column { min-width: 0; }
.tefoo-custom-battery-page__project-card h2 { margin: 0.65rem 0 0.8rem; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.2rem; font-weight: 800; line-height: 1.1; }
.tefoo-custom-battery-page__project-card p:not(.tefoo-home-kicker) { margin: 0 !important; color: #58717a; font-size: 0.9rem; line-height: 1.75; }
.tefoo-custom-project-form { display: grid; grid-template-columns: 1.2fr 1.2fr .8fr auto; gap: 0.75rem; align-items: center; }
.tefoo-custom-project-form > br { display: none !important; }
.tefoo-custom-project-form label { min-width: 0; }
.tefoo-custom-project-form input { box-sizing: border-box; width: 100%; min-height: 3.45rem; padding: 0 0.9rem; border: 1px solid #cde2e6; border-radius: 0.25rem; background: #fff; color: #102d36; font: inherit; }
.tefoo-custom-project-form input:focus { outline: 3px solid rgba(195,165,108,.35); outline-offset: 1px; }
.tefoo-custom-project-form button { min-height: 3.45rem; padding: 0 1.15rem; border: 0; border-radius: 0.25rem; background: #c3a56c; color: #102d36; font: inherit; font-weight: 800; white-space: nowrap; cursor: pointer; }
.tefoo-custom-project-form button:hover,
.tefoo-custom-project-form button:focus-visible { background: #102d36; color: #fff; }
.tefoo-custom-project-form__notice { grid-column: 1 / -1; margin: 0 0 0.5rem; color: #0f6b54; font-size: 0.85rem; font-weight: 700; }
.tefoo-custom-project-form__notice--error { color: #a32e2e; }
.tefoo-custom-battery-page__engineer-promise { box-sizing: border-box; padding: 4.875rem 1.5rem; background: #0a0500; color: #fff; }
.tefoo-custom-battery-page__engineer-promise-columns { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 4rem !important; margin: 0 auto !important; }
.tefoo-custom-battery-page__engineer-promise-columns > .wp-block-column { min-width: 0; }
.tefoo-custom-battery-page__engineer-promise h2 { max-width: 37rem; margin: 0 0 1.375rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.1875rem; font-weight: 800; line-height: 1.12; }
.tefoo-custom-battery-page__engineer-promise h2 mark { padding: 0; color: #c3a56c !important; }
.tefoo-custom-battery-page__engineer-promise p { max-width: 37rem; margin: 0 !important; color: rgba(255,255,255,.72); font-size: 1rem; line-height: 1.75; }
.tefoo-custom-battery-page__design-services { box-sizing: border-box; padding: 6rem 1.5rem 0; background: #edf8f8; }
.tefoo-custom-battery-page__design-services-inner { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-custom-battery-page__design-services-heading { max-width: 54rem; margin: 0 auto 2.35rem !important; text-align: center; }
.tefoo-custom-battery-page__design-services-heading h2 { margin: 0 0 1rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.75rem; font-weight: 800; line-height: 1.08; }
.tefoo-custom-battery-page__design-services-heading > p:last-child { margin: 0 auto !important; color: #3d5c63; font-size: 1rem; line-height: 1.72; }
.tefoo-custom-battery-page__design-row { width: 100% !important; max-width: none !important; margin: 0 !important; border-top: 1px solid #cfe1e3; background: #fff; }
.tefoo-custom-battery-page__design-row-columns { width: 100% !important; max-width: none !important; gap: 0 !important; margin: 0 !important; }
.tefoo-custom-battery-page__design-row-columns > .wp-block-column { min-width: 0; }
.tefoo-custom-battery-page__design-row-columns > .wp-block-column:first-child { flex-basis: 52% !important; }
.tefoo-custom-battery-page__design-row-columns > .wp-block-column:last-child { flex-basis: 48% !important; }
.tefoo-custom-battery-page__design-row--reverse > .tefoo-custom-battery-page__design-row-columns > .wp-block-column:first-child { order: 2; flex-basis: 48% !important; }
.tefoo-custom-battery-page__design-row--reverse > .tefoo-custom-battery-page__design-row-columns > .wp-block-column:last-child { order: 1; flex-basis: 52% !important; }
.tefoo-custom-battery-page__design-image { display: block; height: 26.875rem; margin: 0 !important; overflow: hidden; background: #dfe8e9; }
.tefoo-custom-battery-page__design-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tefoo-custom-battery-page__design-copy { box-sizing: border-box; max-width: none !important; padding: 3.5rem 4rem; background: #fff; }
.tefoo-custom-battery-page__design-copy h3 { margin: 0 0 1.125rem !important; color: #0a0500; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.25rem; font-weight: 800; line-height: 1.1; }
.tefoo-custom-battery-page__design-copy > p:not(.tefoo-home-kicker) { margin: 0 0 1.25rem !important; color: #3d5c63; font-size: 1rem; line-height: 1.72; }
.tefoo-custom-battery-page__design-copy ul { margin: 0 !important; padding-left: 1.125rem; color: #102d36; font-size: 0.9rem; font-weight: 800; line-height: 1.9; }
.tefoo-custom-battery-page__design-cta { box-sizing: border-box; width: 100% !important; max-width: none !important; gap: 1.5rem; margin: 0 !important; padding: 1.75rem 4rem; background: #0a0500; color: #fff; }
.tefoo-custom-battery-page__design-cta > p { margin: 0 !important; color: #fff; font-size: 1.375rem; font-weight: 800; line-height: 1.25; }
.tefoo-custom-battery-page__design-cta .wp-block-buttons { margin: 0; }
.tefoo-custom-battery-page__design-cta .wp-block-button__link { box-sizing: border-box; padding: 0.7rem 1.15rem; border: 1px solid rgba(255,255,255,.42); border-radius: 0; background: transparent; color: #fff; font-size: 0.9rem; font-weight: 800; text-decoration: none; }
.tefoo-custom-battery-page__design-cta .wp-block-button__link:hover,
.tefoo-custom-battery-page__design-cta .wp-block-button__link:focus-visible { border-color: #c3a56c; background: #c3a56c; color: #0a0500; }
.tefoo-custom-battery-page__applications,
.tefoo-custom-battery-page__process { box-sizing: border-box; padding: 6rem 1.5rem 5.25rem; background: #edf8f8; overflow: hidden; }
.tefoo-custom-battery-page__section-heading { max-width: 58rem; margin: 0 auto 2.45rem !important; text-align: center; }
.tefoo-custom-battery-page__section-heading h2 { margin: 0 0 0.9rem !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.75rem; font-weight: 800; line-height: 1.08; }
.tefoo-custom-battery-page__section-heading > p:last-child { margin: 0 !important; color: #3d5c63; font-size: 1rem; line-height: 1.72; }
.tefoo-custom-battery-page__application-track { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 1.25rem !important; margin: 0 auto !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.tefoo-custom-battery-page__application-track::-webkit-scrollbar { display: none; }
.tefoo-custom-battery-page__application-card { position: relative; flex: 0 0 calc((100% - 2.5rem) / 3); min-width: 19rem; aspect-ratio: 4 / 5; overflow: hidden; background: #0a0500; scroll-snap-align: start; isolation: isolate; }
.tefoo-custom-battery-page__application-card::before { position: absolute; z-index: 1; inset: 0; content: ''; background: linear-gradient(155deg, rgba(195,165,108,.58) 0 18%, rgba(10,5,0,.2) 18% 52%, rgba(6,31,39,.95) 100%); pointer-events: none; }
.tefoo-custom-battery-page__application-card::after { position: absolute; z-index: 2; top: 0; right: 22%; width: 2px; height: 100%; content: ''; background: rgba(255,255,255,.38); transform: skewX(-32deg); transform-origin: top; pointer-events: none; }
.tefoo-custom-battery-page__application-card > .wp-block-image { width: 100%; height: 100%; margin: 0 !important; }
.tefoo-custom-battery-page__application-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tefoo-custom-battery-page__application-copy { position: absolute; z-index: 3; right: 1.75rem; bottom: 1.75rem; left: 1.75rem; color: #fff; }
.tefoo-custom-battery-page__application-copy > p:first-child { display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; margin: 0 0 2.5rem !important; background: #c3a56c; color: #0a0500; font-size: 0.82rem; font-weight: 800; }
.tefoo-custom-battery-page__application-copy h3 { margin: 0 0 0.65rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.55rem; font-weight: 800; line-height: 1.16; }
.tefoo-custom-battery-page__application-copy > p:last-child { margin: 0 !important; color: rgba(255,255,255,.78); font-size: 0.9rem; line-height: 1.62; }
.tefoo-custom-battery-page__case-category-grid { display: grid; width: min(80.5rem, calc(100vw - 3rem)); max-width: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 0 auto; }
.tefoo-custom-battery-page__case-category-card { position: relative; display: flex; box-sizing: border-box; min-height: 32.5rem; padding: 2rem; overflow: hidden; flex-direction: column; background: #1E2A3A; color: #F7F9FB; }
.tefoo-custom-battery-page__case-category-card::before { position: absolute; z-index: 2; top: 0; left: 0; width: 58%; height: 24%; background: rgba(195,165,108,.72); content: ''; clip-path: polygon(0 0, 100% 0, 0 100%); }
.tefoo-custom-battery-page__case-category-card::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(155deg, rgba(30,42,58,.1) 0 35%, rgba(30,42,58,.92) 100%); content: ''; }
.tefoo-custom-battery-page__case-category-image { position: absolute; z-index: 0; inset: 0; }
.tefoo-custom-battery-page__case-category-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tefoo-custom-battery-page__case-category-card > p:first-child { position: relative; z-index: 3; display: inline-grid; width: 2.4rem; height: 2.4rem; margin: 0 !important; background: #C3A56C; color: #1E2A3A; font-size: .8rem; font-weight: 800; place-items: center; }
.tefoo-custom-battery-page__case-category-card h3 { position: relative; z-index: 3; margin: auto 0 .75rem !important; color: #F7F9FB; font-family: var(--wp--preset--font-family--editorial-serif); font-size: 1.8rem; line-height: 1.14; }
.tefoo-custom-battery-page__case-category-card h3 a { color: inherit; text-decoration: none; }
.tefoo-custom-battery-page__case-category-card h3 a:hover { color: #C3A56C; }
.tefoo-custom-battery-page__case-category-description { position: relative; z-index: 3; margin: 0 !important; color: rgba(247,249,251,.88); font-size: .94rem; line-height: 1.7; }
.tefoo-custom-battery-page__categories-empty { width: min(80.5rem, calc(100vw - 3rem)); margin: 0 auto !important; color: #5E6F7E; text-align: center; }
@media (max-width: 900px) { .tefoo-custom-battery-page__case-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tefoo-custom-battery-page__case-category-grid { width: min(100%, calc(100vw - 2.5rem)); grid-template-columns: 1fr; }.tefoo-custom-battery-page__case-category-card { min-height: 24rem; } }
.tefoo-custom-battery-page__options { width: 100%; max-width: none !important; padding: 5.75rem 1.5rem !important; }
.tefoo-custom-battery-page__options .wp-block-cover__inner-container { width: min(80.5rem, calc(100vw - 3rem)); max-width: none; }
.tefoo-custom-battery-page__section-heading--light h2 { color: #fff; }
.tefoo-custom-battery-page__section-heading--light > p:last-child { color: rgba(255,255,255,.82); }
.tefoo-custom-battery-page__options-grid { display: grid !important; width: 100% !important; max-width: none !important; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1px !important; margin: 0 !important; padding: 1px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.24); }
.tefoo-custom-battery-page__option { display: flex; flex-direction: column; justify-content: space-between; min-height: 8.25rem; padding: 1.5rem 1.35rem; background: rgba(255,255,255,.28); color: #fff; }
.tefoo-custom-battery-page__options-grid > .tefoo-custom-battery-page__option { box-sizing: border-box; margin: 0 !important; font-size: 0.75rem; line-height: 1; }
.tefoo-custom-battery-page__option strong { display: block; margin-top: auto; color: currentColor; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.1rem; font-weight: 800; line-height: 1.22; }
.tefoo-custom-battery-page__option p { margin: 0 !important; color: currentColor; font-size: 0.75rem; line-height: 1; opacity: .74; }
.tefoo-custom-battery-page__option h3 { margin: 0 !important; color: currentColor; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.1rem; font-weight: 800; line-height: 1.22; }
.tefoo-custom-battery-page__option.is-active { background: #c3a56c; color: #0a0500; }
.tefoo-custom-battery-page__process-grid { display: grid !important; width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.1rem !important; margin: 0 auto !important; }
.tefoo-custom-battery-page__process-grid > .wp-block-column { min-width: 0; width: auto !important; flex-basis: auto !important; }
.tefoo-custom-battery-page__process-card { box-sizing: border-box; min-height: 20rem; padding: 1.75rem 1.35rem; border: 1px solid #cfe1e3; background: #fff; }
.tefoo-custom-battery-page__process-card > p:first-child { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin: 0 0 1.15rem !important; background: #0a0500; color: #c3a56c; font-size: 0.8rem; font-weight: 800; }
.tefoo-custom-battery-page__process-card h3 { margin: 0 0 0.75rem !important; color: #0a0500; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.45rem; font-weight: 800; line-height: 1.2; }
.tefoo-custom-battery-page__process-card > p:last-child { margin: 0 !important; color: #3d5c63; font-size: 0.9rem; line-height: 1.7; }
.tefoo-custom-battery-page__compliance { box-sizing: border-box; padding: 6rem 1.5rem; background: #fff; }
.tefoo-custom-battery-page__compliance-columns { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 3.4rem !important; margin: 0 auto !important; }
.tefoo-custom-battery-page__compliance h2 { margin: 0.6rem 0 0.75rem; color: #0a0500; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.45rem; font-weight: 800; line-height: 1.1; }
.tefoo-custom-battery-page__compliance p:not(.tefoo-home-kicker) { color: #3d5c63; line-height: 1.72; }
.tefoo-custom-battery-page__certificate-grid { gap: .85rem !important; margin: 0 !important; }.tefoo-custom-battery-page__certificate-grid > .wp-block-column { min-width: 0; border: 1px solid #c7e1e6; border-radius: .3rem; overflow: hidden; text-align: center; }.tefoo-custom-battery-page__certificate-grid figure { height: 15.5rem; margin: 0 !important; padding: .75rem; background: #f7fbfb; }.tefoo-custom-battery-page__certificate-grid img { width: 100%; height: 100%; object-fit: contain; }.tefoo-custom-battery-page__certificate-grid h3 { margin: .55rem 0 !important; color: #0a0500; font-size: .85rem; font-weight: 800; }
.tefoo-custom-battery-page__stats { box-sizing: border-box; width: 100% !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 5.75rem 1.5rem !important; text-align: center; }.tefoo-custom-battery-page__stats .wp-block-cover__inner-container { width: min(80.5rem, calc(100vw - 3rem)); max-width: none !important; }.tefoo-custom-battery-page__stats-inner { width: min(67rem, 100%); max-width: none !important; margin: 0 auto !important; }.tefoo-custom-battery-page__stats h2 { margin: 0 0 .9rem !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.65rem; font-weight: 800; }.tefoo-custom-battery-page__stats-inner > p:not(.tefoo-home-kicker) { max-width: 45rem; margin: 0 auto 2.1rem !important; color: rgba(255,255,255,.84); }.tefoo-custom-battery-page__stats-grid { width: 100% !important; max-width: none !important; gap: 1.5rem !important; margin: 0 !important; }.tefoo-custom-battery-page__stats-grid > .wp-block-column { min-width: 0; border-top: 3px solid #c3a56c; padding-top: 1.1rem; }.tefoo-custom-battery-page__stats-grid h3 { margin: 0 0 .45rem !important; color: #c3a56c; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.6rem; font-weight: 800; }.tefoo-custom-battery-page__stats-grid p { margin: 0 !important; color: #fff; font-weight: 800; }
.tefoo-custom-battery-page__platform, .tefoo-custom-battery-page__faq { box-sizing: border-box; padding: 6rem 1.5rem; background: #edf8f8; }.tefoo-custom-battery-page__platform { width: 100% !important; max-width: none !important; margin: 0 !important; padding-top: 4.75rem; padding-bottom: 5rem; }.tefoo-custom-battery-page__platform .tefoo-custom-battery-page__section-heading { margin-bottom: 1.7rem !important; }.tefoo-custom-battery-page__platform > .wp-block-shortcode { display: block; box-sizing: border-box; width: min(80.5rem, calc(100% - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-custom-battery-page__platform .tefoo-catalog { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }.tefoo-custom-battery-page__platform .tefoo-catalog__heading { display: none; }.tefoo-custom-battery-page__platform .tefoo-catalog__filters { gap: .65rem; margin-bottom: 1.25rem; }.tefoo-custom-battery-page__platform .tefoo-catalog__filters button { min-height: 3.1rem; padding: .7rem 1rem; background: rgba(255,255,255,.42); text-align: center; }.tefoo-custom-battery-page__platform .tefoo-catalog__grid { gap: 1.15rem; }.tefoo-custom-battery-page__platform .tefoo-catalog-card { border-color: #c4dce0; box-shadow: 0 0.75rem 1.75rem rgba(16,45,54,.06); }.tefoo-custom-battery-page__platform .tefoo-catalog-card__image { min-height: 12rem; padding: 1.25rem; background: #f4f9f9; }.tefoo-custom-battery-page__platform .tefoo-catalog-card__image img { height: 10.5rem; }.tefoo-custom-battery-page__platform .tefoo-catalog-card__content { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }.tefoo-custom-battery-page__platform .tefoo-catalog-card__description { min-height: 2.25rem; margin: .55rem 0 .9rem; }.tefoo-custom-battery-page__platform .tefoo-catalog-card dl { margin-top: auto; padding: .85rem 0; }.tefoo-custom-battery-page__platform .tefoo-catalog-card__actions { padding-top: .1rem; }.tefoo-custom-battery-page__faq-list { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }.tefoo-custom-battery-page__faq details { margin-bottom: .8rem; padding: 0 1.35rem; border: 1px solid #dbe8e9; background: #fff; }.tefoo-custom-battery-page__faq summary { padding: 1.25rem 0; color: #0a0500; font-weight: 800; cursor: pointer; }.tefoo-custom-battery-page__faq details p { margin: 0 0 1.2rem; color: #3d5c63; }
.tefoo-standard-page__hero { box-sizing: border-box; min-height: 27rem; padding: 7.5rem 1.5rem; background: linear-gradient(90deg, rgba(3, 21, 27, 0.96), rgba(3, 21, 27, 0.7)), url('assets/images/sections/standard-smart-battery-platform-visual.png') right center / cover no-repeat; color: #fff; }
.tefoo-standard-page__hero-inner { width: min(75rem, calc(100vw - 3rem)) !important; max-width: min(75rem, calc(100vw - 3rem)) !important; margin: 0 auto !important; }
.tefoo-standard-page__hero h1 { max-width: 42rem; margin: 0 !important; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 3.8rem; font-weight: 800; line-height: 1.08; }
.tefoo-standard-page__hero p:not(.tefoo-home-kicker) { max-width: 36rem; margin: 1.1rem 0 0 !important; color: #d0e2e4; font-size: 1.05rem; line-height: 1.65; }
.tefoo-standard-page__intro { box-sizing: border-box; padding: 5.5rem 1.5rem; background: #fff; }
.tefoo-standard-page__intro-columns { width: min(75rem, calc(100vw - 3rem)) !important; max-width: min(75rem, calc(100vw - 3rem)) !important; margin: 0 auto !important; gap: 4rem !important; }
.tefoo-standard-page__intro h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.7rem; font-weight: 800; line-height: 1.1; }
.tefoo-standard-page__definition { margin: 0 !important; padding: 2rem; border-left: 5px solid #c3a56c; background: #061f27; color: #e3f1f3; font-size: 1rem; line-height: 1.75; }
.tefoo-standard-page__architecture { box-sizing: border-box; padding: 0 1.5rem 5.5rem; background: #fff; }
.tefoo-standard-page__architecture-inner { width: min(75rem, calc(100vw - 3rem)) !important; max-width: min(75rem, calc(100vw - 3rem)) !important; margin: 0 auto !important; }
.tefoo-standard-page__architecture-heading { width: 100% !important; max-width: 100% !important; gap: 3rem !important; margin: 0 0 2rem !important; }
.tefoo-standard-page__architecture-heading h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2rem; font-weight: 800; line-height: 1.15; }
.tefoo-standard-page__architecture-heading p { max-width: 38rem; margin: 0 !important; color: #58717a; font-size: 0.88rem; line-height: 1.65; }
.tefoo-standard-page__architecture-cards { display: grid !important; width: 100% !important; max-width: 100% !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem !important; }
.tefoo-standard-page__architecture-cards > .wp-block-column { min-width: 0; width: auto !important; flex-basis: auto !important; }
.tefoo-standard-page__architecture-card { min-height: 100%; box-sizing: border-box; padding: 1.5rem; border: 1px solid #cde2e6; border-radius: 0.35rem; background: #fff; }
.tefoo-standard-page__architecture-label { margin: 0 0 1rem !important; color: #866a35; font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.tefoo-standard-page__architecture-card h3 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.25rem; font-weight: 800; line-height: 1.12; }
.tefoo-standard-page__architecture-card h3 + p { margin: 0.9rem 0 0 !important; color: #58717a; font-size: 0.78rem; line-height: 1.65; }
.tefoo-standard-page__engineering { box-sizing: border-box; padding: 5.5rem 1.5rem; background: #f8f0e1; }
.tefoo-standard-page__engineering-inner { width: min(75rem, calc(100vw - 3rem)) !important; max-width: min(75rem, calc(100vw - 3rem)) !important; margin: 0 auto !important; }
.tefoo-standard-page__engineering-top { width: 100% !important; max-width: 100% !important; gap: 3rem !important; }
.tefoo-standard-page__engineering h2 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.45rem; font-weight: 800; line-height: 1.12; }
.tefoo-standard-page__engineering-kicker { margin: 0.8rem 0 1.3rem !important; color: #102d36; font-size: 1.05rem; font-weight: 800; line-height: 1.4; }
.tefoo-standard-page__engineering-top .wp-block-column:first-child > p:last-child { margin: 0 !important; color: #58717a; font-size: 0.95rem; line-height: 1.72; }
.tefoo-standard-page__engineering-image { margin: 0 !important; }
.tefoo-standard-page__engineering-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.tefoo-standard-page__engineering-copy { width: 100% !important; max-width: 100% !important; margin: 1.45rem 0 0 !important; color: #58717a; font-size: 1.0625rem; line-height: 1.76; }
.tefoo-standard-page__applications { margin: 1.35rem 0 1.8rem !important; padding: 0.9rem 1rem; border-left: 3px solid #c3a56c; background: rgba(255,255,255,0.28); color: #866a35; font-size: 0.84rem; font-weight: 800; }
.tefoo-standard-page__applications strong { color: #102d36; }
.tefoo-standard-page__values { width: 100% !important; max-width: 100% !important; gap: 2rem !important; margin: 0 !important; }
.tefoo-standard-page__value { position: relative; min-height: 5.2rem; padding-left: 2.6rem; }
.tefoo-standard-page__value > p:first-child { position: absolute; top: 0; left: 0; width: 1.5rem; margin: 0 !important; padding-bottom: 0.55rem; border-bottom: 2px solid #c3a56c; color: #866a35; font-size: 0.62rem; font-weight: 800; }
.tefoo-standard-page__value h3 { margin: 0 !important; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1rem; font-weight: 800; }
.tefoo-standard-page__value h3 + p { margin: 0.55rem 0 0 !important; color: #58717a; font-size: 0.8rem; line-height: 1.6; }
.tefoo-standard-page__catalog { box-sizing: border-box; width: 100% !important; max-width: none !important; margin: 0 !important; background: #f7f9fb; }
.tefoo-standard-page__catalog > .wp-block-shortcode { display: block; box-sizing: border-box; width: min(75rem, calc(100% - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-standard-page__catalog .tefoo-catalog { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tefoo-standard-filter { box-sizing: border-box; width: 100%; margin: 0; padding: 1.5rem 2rem 2rem; border-left: 6px solid #c3a56c; background: #061f27; color: #fff; }
.tefoo-standard-filter__top { position: relative; display: block; min-height: 2.5rem; margin-bottom: 1.25rem; text-align: center; }
.tefoo-standard-filter h2 { margin: 0; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 2rem; font-weight: 800; }
.tefoo-standard-filter__top span { position: absolute; top: 50%; right: 0; font-size: .78rem; font-weight: 800; transform: translateY(-50%); }
.tefoo-standard-filter__top > br { display: none !important; }
.tefoo-standard-filter__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; justify-items: center; }
.tefoo-standard-filter__fields > br { display: none !important; }
.tefoo-standard-filter label { display: grid; width: 100%; gap: .45rem; color: #fff; font-size: .72rem; font-weight: 800; text-align: left; }
.tefoo-standard-filter select { width: 100%; min-height: 3.35rem; border: 1px solid #cde2e6; border-radius: .25rem; padding: .75rem; background: #fff; color: #102d36; font: inherit; }
.tefoo-standard-filter button { display: block; margin: 1.5rem auto 0; padding: .75rem 1.2rem; border: 0; border-radius: .3rem; background: #c3a56c; color: #102d36; font-weight: 800; cursor: pointer; }
.tefoo-standard-page__catalog .tefoo-catalog { padding-top: 2.25rem; padding-bottom: 0; }
.tefoo-standard-page__catalog--products .tefoo-catalog { padding-top: 1.75rem; padding-bottom: 3.5rem; }
.tefoo-standard-page__approval { box-sizing: border-box; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 1.5rem 1.5rem 1.75rem; background: #f7f9fb; }
.tefoo-standard-page__approval-inner { width: min(75rem, calc(100% - 3rem)) !important; max-width: none !important; margin-right: auto !important; margin-left: auto !important; }
.tefoo-standard-page__approval-inner > .tefoo-standard-page__approval-title,
.tefoo-standard-page__approval-inner > .tefoo-standard-page__approval-track { width: 100% !important; max-width: none !important; }
.tefoo-standard-page__approval-title { margin: 0 0 1rem; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2rem; font-weight: 800; line-height: 1.2; }
.tefoo-standard-page__approval-track { display: flex !important; flex-wrap: nowrap !important; gap: 1.25rem; width: 100%; padding: 0.25rem 0 0.5rem; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-color: #8da5aa #dfe9eb; scrollbar-width: thin; }
.tefoo-standard-page__approval-track::-webkit-scrollbar { height: 0.6rem; }
.tefoo-standard-page__approval-track::-webkit-scrollbar-track { background: #dfe9eb; }
.tefoo-standard-page__approval-track::-webkit-scrollbar-thumb { border: 2px solid #dfe9eb; border-radius: 999px; background: #8da5aa; }
.tefoo-standard-page__approval-track > .wp-block-image { flex: 0 0 7.5rem; width: 7.5rem; margin: 0 !important; }
.tefoo-standard-page__approval-track img { display: block; width: 100%; height: 4.75rem; object-fit: contain; }
.tefoo-standard-values,
.tefoo-standard-cases-section { padding: 5.25rem 1.5rem 6rem; border-top: 1px solid #e2ecee; background: #fff; }
.tefoo-standard-values__inner,
.tefoo-standard-cases-section__inner { width: min(75rem, calc(100vw - 3rem)) !important; max-width: none !important; margin-right: auto !important; margin-left: auto !important; }
.tefoo-standard-values__inner > .tefoo-standard-values__heading,
.tefoo-standard-values__inner > .tefoo-standard-values__list,
.tefoo-standard-values__inner > .tefoo-standard-values__cta,
.tefoo-standard-cases-section__inner > .tefoo-standard-cases-section__heading,
.tefoo-standard-cases-section__inner > .wp-block-shortcode { width: 100% !important; max-width: none !important; }
.tefoo-standard-values__heading,
.tefoo-standard-cases-section__heading { max-width: 61rem; margin: 0 auto 2.75rem; text-align: center; }
.tefoo-standard-values__heading h2,
.tefoo-standard-cases-section__heading h2 { margin: 0; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 2.55rem; font-weight: 800; line-height: 1.1; }
.tefoo-standard-values__heading .tefoo-home-kicker,
.tefoo-standard-cases-section__heading .tefoo-home-kicker { margin-bottom: 0.55rem !important; }
.tefoo-standard-values__heading .tefoo-standard-values__lead { margin: 1rem 0 0 !important; color: #102d36; font-size: 0.93rem; font-weight: 800; line-height: 1.55; }
.tefoo-standard-values__heading > p:last-child,
.tefoo-standard-cases-section__heading > p:last-child { max-width: 56rem; margin: 0.85rem auto 0 !important; color: #58717a; font-size: 0.94rem; line-height: 1.75; }
.tefoo-standard-values__list { display: grid; gap: 1.75rem; }
.tefoo-standard-values__list > .tefoo-standard-values__row { width: 100% !important; max-width: none !important; }
.tefoo-standard-values__row { box-sizing: border-box; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 0.94fr); gap: 2.25rem; margin: 0 !important; align-items: center; }
.tefoo-standard-values__row > .wp-block-column { min-width: 0; margin: 0 !important; }
.tefoo-standard-values__row--reverse > .wp-block-column:first-child { order: 2; }
.tefoo-standard-values__row--reverse > .wp-block-column:last-child { order: 1; }
.tefoo-standard-values__row:nth-child(even) { padding: 1.75rem; background: #f0f8f9; }
.tefoo-standard-values__image { height: 19rem; margin: 0 !important; overflow: hidden; border: 1px solid #d9e8ea; background: #eff5f6; }
.tefoo-standard-values__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tefoo-standard-values__copy { padding: 2.1rem 2.35rem; border-left: 4px solid #c3a56c; background: #fff; }
.tefoo-standard-values__row:nth-child(even) .tefoo-standard-values__copy { background: #f0f8f9; }
.tefoo-standard-values__copy > p:first-child { display: grid; width: 2.6rem; height: 2.6rem; margin: 0 0 1rem !important; place-items: center; background: #102d36; color: #c3a56c; font-size: 0.75rem; font-weight: 800; }
.tefoo-standard-values__copy h3 { margin: 0 0 0.85rem; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.45rem; font-weight: 800; line-height: 1.22; }
.tefoo-standard-values__copy > p:last-child { margin: 0 !important; color: #58717a; font-size: 0.9rem; line-height: 1.75; }
.tefoo-standard-values__cta { display: flex !important; box-sizing: border-box; width: 100%; max-width: none !important; margin-top: 2.75rem; padding: 1.75rem 2rem; border-left: 0.5rem solid #c3a56c; background: #061f27; color: #fff; }
.tefoo-standard-values__cta-copy { max-width: none !important; }
.tefoo-standard-values__cta-copy h3 { margin: 0 0 0.55rem; color: #fff; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.25rem; font-weight: 800; line-height: 1.25; }
.tefoo-standard-values__cta-copy p { margin: 0 !important; color: #e6eef0; font-size: 0.9rem; line-height: 1.6; }
.tefoo-standard-values__cta-action { flex: 0 0 auto; margin: 0 !important; }
.tefoo-standard-values__cta-action .wp-block-button__link { border-radius: 0; background: #c3a56c; color: #102d36; font-size: 0.88rem; font-weight: 800; }
.tefoo-standard-values__cta-action .wp-block-button__link:hover,
.tefoo-standard-values__cta-action .wp-block-button__link:focus-visible { background: #fff; color: #102d36; }
.tefoo-standard-cases-section { padding-top: 5.4rem; }
.tefoo-standard-cases-section__heading { margin-bottom: 2.4rem; }
.tefoo-standard-cases { position: relative; padding: 0 3.65rem; }
.tefoo-standard-cases__track { display: flex; gap: 1.75rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tefoo-standard-cases__track::-webkit-scrollbar { display: none; }
.tefoo-standard-cases__card { box-sizing: border-box; flex: 0 0 calc((100% - 3.5rem) / 3); min-width: 0; overflow: hidden; border: 1px solid #cfe1e4; background: #fff; scroll-snap-align: start; text-align: center; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tefoo-standard-cases__card:hover { border-color: #c3a56c; box-shadow: 0 1rem 2.5rem rgba(16,45,54,.12); transform: translateY(-0.25rem); }
.tefoo-standard-cases__image { display: block; height: 15.3rem; overflow: hidden; background: #edf4f5; }
.tefoo-standard-cases__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tefoo-standard-cases__content { padding: 1.55rem 1.6rem 1.8rem; }
.tefoo-standard-cases__content h3 { min-height: 3.2rem; margin: 0 0 0.75rem; color: #102d36; font-family: var(--wp--preset--font-family--system-sans); font-size: 1.3rem; font-weight: 800; line-height: 1.2; }
.tefoo-standard-cases__content h3 a { color: inherit; text-decoration: none; }
.tefoo-standard-cases__content p { margin: 0; color: #58717a; font-size: 0.88rem; line-height: 1.72; }
.tefoo-standard-cases__arrow { position: absolute; top: 7.6rem; z-index: 1; display: grid; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 0.35rem; place-items: center; background: #c3a56c; color: #102d36; font-size: 1.75rem; font-weight: 800; line-height: 1; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.tefoo-standard-cases__arrow:hover,
.tefoo-standard-cases__arrow:focus-visible { background: #102d36; color: #fff; }
.tefoo-standard-cases__previous { left: 0; }
.tefoo-standard-cases__next { right: 0; }
.tefoo-standard-cases__empty { margin: 0; color: #58717a; text-align: center; }

@media (max-width: 781px) {
	.tefoo-standard-page__hero { min-height: 22rem; padding: 5rem 1.25rem; }
	.tefoo-custom-battery-page__hero { min-height: 22rem; padding: 4rem 1.25rem 3rem; }.tefoo-custom-battery-page__hero-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-custom-battery-page__hero h1 { font-size: 2.8rem; }.tefoo-custom-battery-page__project { padding: 0 1.25rem 3.5rem; }.tefoo-custom-battery-page__project-card { width: min(100%, calc(100vw - 2.5rem)) !important; padding: 1.7rem; }.tefoo-custom-battery-page__project-card > .tefoo-custom-battery-page__project-columns { display: grid !important; grid-template-columns: 1fr; gap: 1.5rem !important; }.tefoo-custom-battery-page__project-card h2 { font-size: 1.9rem; }.tefoo-custom-project-form { grid-template-columns: 1fr; }.tefoo-custom-project-form button { width: 100%; }.tefoo-custom-battery-page__engineer-promise { padding: 4rem 1.25rem; }.tefoo-custom-battery-page__engineer-promise-columns { width: min(100%, calc(100vw - 2.5rem)) !important; display: grid !important; grid-template-columns: 1fr; gap: 2.5rem !important; }.tefoo-custom-battery-page__engineer-promise h2 { font-size: 1.75rem; }.tefoo-custom-battery-page__design-services { padding: 4rem 1.25rem 0; }.tefoo-custom-battery-page__design-services-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-custom-battery-page__design-services-heading { margin-bottom: 2rem !important; }.tefoo-custom-battery-page__design-services-heading h2, .tefoo-custom-battery-page__section-heading h2 { font-size: 2rem; }.tefoo-custom-battery-page__design-row-columns { display: grid !important; grid-template-columns: 1fr; }.tefoo-custom-battery-page__design-row--reverse > .tefoo-custom-battery-page__design-row-columns > .wp-block-column:first-child, .tefoo-custom-battery-page__design-row--reverse > .tefoo-custom-battery-page__design-row-columns > .wp-block-column:last-child { order: initial; }.tefoo-custom-battery-page__design-image { height: 16rem; }.tefoo-custom-battery-page__design-copy { padding: 2rem 1.5rem; }.tefoo-custom-battery-page__design-copy h3 { font-size: 1.8rem; }.tefoo-custom-battery-page__design-cta { padding: 1.5rem; }.tefoo-custom-battery-page__design-cta > p { font-size: 1.1rem; }.tefoo-custom-battery-page__applications, .tefoo-custom-battery-page__process { padding: 4rem 1.25rem; }.tefoo-custom-battery-page__application-track { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-custom-battery-page__application-card { flex-basis: 84vw; }.tefoo-custom-battery-page__options { min-height: 0 !important; padding: 4rem 1.25rem !important; }.tefoo-custom-battery-page__options .wp-block-cover__inner-container { width: min(100%, calc(100vw - 2.5rem)); }.tefoo-custom-battery-page__options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.tefoo-custom-battery-page__option { min-height: 6.9rem; padding: 1.1rem; }.tefoo-custom-battery-page__process-grid { width: min(100%, calc(100vw - 2.5rem)) !important; grid-template-columns: 1fr; }.tefoo-custom-battery-page__process-card { min-height: 0; }
	.tefoo-standard-page__hero h1 { font-size: 2.5rem; }
	.tefoo-standard-page__intro { padding: 4rem 1.25rem; }
	.tefoo-standard-page__intro-columns { gap: 2rem !important; }
	.tefoo-standard-page__intro h2 { font-size: 2rem; }
	.tefoo-standard-page__architecture { padding: 0 1.25rem 4rem; }
	.tefoo-standard-page__architecture-heading { gap: 1.25rem !important; }
	.tefoo-standard-page__architecture-cards { grid-template-columns: 1fr; }
	.tefoo-standard-page__engineering { padding: 4rem 1.25rem; }
	.tefoo-standard-page__engineering-top { gap: 2rem !important; }
	.tefoo-standard-page__engineering h2 { font-size: 2rem; }
	.tefoo-standard-page__values { gap: 1.25rem !important; }
	.tefoo-standard-filter { width: min(100% - 2.5rem, 75rem); padding: 1.25rem; }.tefoo-standard-filter__top { display: grid; gap: .6rem; }.tefoo-standard-filter__top span { position: static; top: auto; transform: none; }.tefoo-standard-filter h2 { font-size: 1.6rem; }.tefoo-standard-filter__fields { grid-template-columns: 1fr; }
	.tefoo-standard-page__approval { padding: 1rem 1.25rem 3.5rem; }.tefoo-standard-page__approval-title { font-size: 1.6rem; }.tefoo-standard-page__approval-track { gap: 0.9rem; }.tefoo-standard-page__approval-track > .wp-block-image { flex-basis: 6.5rem; width: 6.5rem; }
	.tefoo-standard-values, .tefoo-standard-cases-section { padding: 4rem 1.25rem; }.tefoo-standard-values__inner, .tefoo-standard-cases-section__inner { width: min(100%, calc(100vw - 2.5rem)) !important; }.tefoo-standard-values__heading, .tefoo-standard-cases-section__heading { margin-bottom: 2rem; }.tefoo-standard-values__heading h2, .tefoo-standard-cases-section__heading h2 { font-size: 2rem; }.tefoo-standard-values__row { grid-template-columns: 1fr; gap: 0; }.tefoo-standard-values__row--reverse > .wp-block-column:first-child, .tefoo-standard-values__row--reverse > .wp-block-column:last-child { order: initial; }.tefoo-standard-values__row:nth-child(even) { padding: 1.1rem; }.tefoo-standard-values__image { height: 15rem; }.tefoo-standard-values__copy { padding: 1.5rem 0 0; border-top: 4px solid #c3a56c; border-left: 0; }.tefoo-standard-values__row:nth-child(even) .tefoo-standard-values__copy { background: transparent; }.tefoo-standard-values__cta { display: block !important; margin-top: 2rem; padding: 1.4rem; }.tefoo-standard-values__cta-action { margin-top: 1.2rem !important; }.tefoo-standard-cases { padding: 0 2.8rem; }.tefoo-standard-cases__track { gap: 1.1rem; }.tefoo-standard-cases__card { flex-basis: min(78vw, 20rem); }.tefoo-standard-cases__image { height: 13rem; }.tefoo-standard-cases__arrow { top: 6.2rem; width: 2.35rem; height: 2.35rem; }
}

/* Keep page modules contiguous. Gutenberg's block gap remains available inside each module. */
.wp-site-blocks > :where(main, .wp-block-template-part) { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-site-blocks > main[class*="tefoo-"] > :where(section, .wp-block-group, .wp-block-cover, .wp-block-template-part) { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.tefoo-site-footer { margin-top: 0 !important; }

/* Custom battery project-experience heading: keep every text line on one shared center line. */
.tefoo-custom-battery-page__stats-inner > .tefoo-home-kicker { width: 100% !important; max-width: none !important; margin: 0 auto .8rem !important; text-align: center; }
.tefoo-custom-battery-page__stats-inner > h2 { width: min(100%, 52rem) !important; max-width: none !important; margin: 0 auto 1rem !important; color: #fff; font-size: 3rem; line-height: 1.06; text-align: center; }
.tefoo-custom-battery-page__stats-inner > p:not(.tefoo-home-kicker) { width: min(100%, 46rem) !important; max-width: none !important; margin: 0 auto 2.25rem !important; text-align: center; font-size: 1rem; line-height: 1.7; }

@media (max-width: 781px) {
	.tefoo-custom-battery-page__stats { padding: 4rem 1.25rem !important; }
	.tefoo-custom-battery-page__stats-inner > h2 { width: 100% !important; font-size: 2.2rem; }
	.tefoo-custom-battery-page__stats-inner > p:not(.tefoo-home-kicker) { margin-bottom: 1.75rem !important; font-size: .92rem; }
}

/* Contact channels: align the editable heading and four contact options to one content grid. */
.tefoo-contact-page__channels { padding: 6.5rem 1.5rem 6.75rem; background: #f7f9fb; }
.tefoo-contact-page__channels-inner { width: min(80.5rem, calc(100% - 3rem)) !important; }
.tefoo-contact-page__channels-inner > .tefoo-home-kicker,
.tefoo-contact-page__channels-inner > h2,
.tefoo-contact-page__channels-inner > .tefoo-contact-page__channel-grid { width: 100% !important; max-width: none !important; }
.tefoo-contact-page__channels-inner > .tefoo-home-kicker { margin: 0 0 .8rem !important; }
.tefoo-contact-page__channels h2 { max-width: 44rem; margin: 0 0 3.25rem !important; font-size: 3.45rem; line-height: 1.06; }
.tefoo-contact-page__channel-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem !important; margin: 0 !important; }
.tefoo-contact-page__channel-grid > .wp-block-column { display: flex; flex-direction: column; min-width: 0; min-height: 17.25rem; margin: 0 !important; padding: 2rem 1.8rem; border: 1px solid #c9dde0; background: #fff; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tefoo-contact-page__channel-grid > .wp-block-column:hover { border-color: #c3a56c; box-shadow: 0 .85rem 2rem rgba(16,45,54,.09); transform: translateY(-.2rem); }
.tefoo-contact-page__channel-grid h3 { max-width: 10rem; margin: 0 0 1.7rem !important; font-size: 1.35rem; line-height: 1.15; }
.tefoo-contact-page__channel-grid p { margin: 0 !important; color: #58717a; font-size: .91rem; line-height: 1.65; }
.tefoo-contact-page__channel-grid p + p { margin-top: auto !important; padding-top: 1.5rem; }
.tefoo-contact-page__channel-grid p:first-of-type a { display: inline-block; padding-bottom: .3rem; color: #102d36; font-size: .86rem; font-weight: 900; line-height: 1.45; text-decoration-color: #c3a56c; text-decoration-thickness: 2px; text-underline-offset: .35rem; overflow-wrap: anywhere; }

@media (max-width: 1000px) {
	.tefoo-contact-page__channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 781px) {
	.tefoo-contact-page__channels { padding: 4rem 1.25rem; }
	.tefoo-contact-page__channels-inner { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-contact-page__channels h2 { margin-bottom: 2rem !important; font-size: 2.35rem; }
	.tefoo-contact-page__channel-grid { grid-template-columns: 1fr; gap: .75rem !important; }
	.tefoo-contact-page__channel-grid > .wp-block-column { min-height: 0; padding: 1.5rem; }
	.tefoo-contact-page__channel-grid h3 { margin-bottom: 1rem !important; }
	.tefoo-contact-page__channel-grid p + p { margin-top: 1rem !important; padding-top: 0; }
}

/* Contact reference layout: editable 2-by-2 contact cards beside the TEFOO team image. */
.tefoo-contact-page__channels h2 { max-width: 62rem; margin-bottom: 3rem !important; }
.tefoo-contact-page__channels-inner > .tefoo-contact-page__channels-layout { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tefoo-contact-page__channels-layout { display: grid !important; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: 3rem !important; align-items: stretch; }
.tefoo-contact-page__channels-layout > .wp-block-column { min-width: 0; width: auto !important; margin: 0 !important; }
.tefoo-contact-page__channels-layout > .wp-block-column:first-child { display: flex; }
.tefoo-contact-page__channels-layout .tefoo-contact-page__channel-grid { width: 100% !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: stretch; }
.tefoo-contact-page__channels-layout .tefoo-contact-page__channel-grid > .wp-block-column { min-height: 15rem; padding: 1.7rem; border-radius: .45rem; }
.tefoo-contact-page__channels-layout .tefoo-contact-page__channel-grid h3 { margin-bottom: 1.25rem !important; }
.tefoo-contact-page__channel-visual { display: block; height: 100%; min-height: 31rem; margin: 0 !important; overflow: hidden; border-radius: .45rem; background: #e5eeef; }
.tefoo-contact-page__channel-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

/* Fluent Forms integration: submissions are managed in the Fluent Forms plugin. */
.tefoo-contact-page__form .ff-el-group { margin-bottom: 1rem; }
.tefoo-contact-page__form > .fluentform { grid-column: 1 / -1; width: 100%; }
.tefoo-contact-page__form .frm-fluent-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; row-gap: 1rem; }
.tefoo-contact-page__form .frm-fluent-form .ff-name-field-wrapper,
.tefoo-contact-page__form .frm-fluent-form .ff-el-group:has(textarea),
.tefoo-contact-page__form .frm-fluent-form .ff_submit_btn_wrapper { grid-column: 1 / -1; }
.tefoo-contact-page__form .frm-fluent-form .ff-el-group { margin: 0; }
.tefoo-contact-page__form .ff-el-input--label label,
.tefoo-custom-battery-page__project-card .ff-el-input--label label { color: #102d36; font-size: .86rem; font-weight: 800; }
.tefoo-contact-page__form .ff-el-form-control,
.tefoo-custom-battery-page__project-card .ff-el-form-control { min-height: 3rem; border: 1px solid #d9d7d0; border-radius: .25rem; background: #fff; color: #102d36; font: inherit; }
.tefoo-contact-page__form textarea.ff-el-form-control,
.tefoo-custom-battery-page__project-card textarea.ff-el-form-control { min-height: 7.5rem; resize: vertical; }
.tefoo-contact-page__form .ff-el-form-control:focus,
.tefoo-custom-battery-page__project-card .ff-el-form-control:focus { border-color: #c3a56c; box-shadow: 0 0 0 3px rgba(195,165,108,.22); }
.tefoo-contact-page__form .ff-btn-submit,
.tefoo-custom-battery-page__project-card .ff-btn-submit { min-height: 3rem; border: 0; border-radius: .25rem; background: #c3a56c; color: #102d36; font: inherit; font-weight: 900; }
.tefoo-contact-page__form .ff-btn-submit:hover,
.tefoo-contact-page__form .ff-btn-submit:focus-visible,
.tefoo-custom-battery-page__project-card .ff-btn-submit:hover,
.tefoo-custom-battery-page__project-card .ff-btn-submit:focus-visible { background: #102d36; color: #fff; }
.tefoo-custom-battery-page__project-card .frm-fluent-form { margin: 0; }
.tefoo-custom-battery-page__project-card .ff-el-group { margin-bottom: .75rem; }
.tefoo-custom-battery-page__project-card .ff-btn-submit { width: 100%; }

@media (max-width: 781px) {
	.tefoo-contact-page__form .frm-fluent-form fieldset { grid-template-columns: 1fr; }
}

@media (max-width: 1000px) {
	.tefoo-contact-page__channels-layout { grid-template-columns: 1fr; gap: 1.5rem !important; }
	.tefoo-contact-page__channel-visual { min-height: 25rem; }
}

@media (max-width: 781px) {
	.tefoo-contact-page__channels h2 { margin-bottom: 2rem !important; }
	.tefoo-contact-page__channels-layout .tefoo-contact-page__channel-grid { grid-template-columns: 1fr; }
	.tefoo-contact-page__channels-layout .tefoo-contact-page__channel-grid > .wp-block-column { min-height: 0; }
	.tefoo-contact-page__channel-visual { min-height: 18rem; }
}

/* Keep the homepage hero copy inside the left-side contrast zone. */
.tefoo-home-hero { display: flex; align-items: center; min-height: 45rem; padding: 5.5rem 1.5rem 6rem; }
.tefoo-home-hero__inner { width: min(76rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto !important; }
.tefoo-home-hero__copy { width: min(40rem, 100%); max-width: none !important; margin: 0 !important; }
.tefoo-home-hero__title { max-width: 40rem; font-size: 3.75rem; line-height: 1.06; }
.tefoo-home-hero__description { max-width: 36rem; }

@media (max-width: 781px) {
	.tefoo-home-hero { display: block; min-height: 42.5rem; padding: 4.5rem 1.25rem 7.25rem; }
	.tefoo-home-hero__inner { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-home-hero__title { max-width: 100%; font-size: 2.75rem; }
}

/* Compact the Custom Battery inquiry form into a single project-request row. */
.tefoo-custom-battery-page__fluent-form { width: 100%; }
.tefoo-custom-battery-page__fluent-form .frm-fluent-form fieldset { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr) minmax(0, 1.15fr) auto; gap: .75rem; align-items: end; }
.tefoo-custom-battery-page__fluent-form .ff_screen_reader_title { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.tefoo-custom-battery-page__fluent-form .frm-fluent-form fieldset > p { display: none !important; }
.tefoo-custom-battery-page__fluent-form .ff-el-group { min-width: 0; margin: 0 !important; }
.tefoo-custom-battery-page__fluent-form .ff-el-input--label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.tefoo-custom-battery-page__fluent-form .ff-el-form-control { min-height: 3.45rem; padding: 0 .9rem; }
.tefoo-custom-battery-page__fluent-form textarea.ff-el-form-control { height: 3.45rem; min-height: 3.45rem; padding-top: 1rem; resize: none; overflow: hidden; }
.tefoo-custom-battery-page__fluent-form .ff_submit_btn_wrapper { width: auto; }
.tefoo-custom-battery-page__fluent-form .ff-btn-submit { width: auto !important; min-width: 10.2rem; min-height: 3.45rem; padding: 0 1.15rem; white-space: nowrap; }

@media (max-width: 781px) {
	.tefoo-custom-battery-page__fluent-form .frm-fluent-form fieldset { grid-template-columns: 1fr; }
	.tefoo-custom-battery-page__fluent-form .ff-btn-submit { width: 100% !important; }
}

/* Keep the certification carousel full-width and horizontal after dynamic rendering. */
.tefoo-certifications-page__certificate-slider { width: min(75rem, 100%) !important; max-width: none !important; }
.tefoo-certifications-page__certificate-track { display: flex !important; flex-wrap: nowrap !important; width: 100% !important; max-width: none !important; }
.tefoo-certifications-page__certificate-card { display: flex !important; flex: 0 0 calc((100% - 2.2rem) / 3) !important; margin-block-start: 0 !important; }
.tefoo-certifications-page__certificate-track.is-tefoo-looping { scroll-behavior: auto; scroll-snap-type: none; }
.tefoo-certifications-page__certificate-track.is-tefoo-looping .tefoo-certifications-page__certificate-card { scroll-snap-align: none; }

/* Certification records are portrait documents: preserve the entire document instead of cropping it to a landscape viewport. */
.tefoo-certifications-page__certificate-card .wp-block-image {
	height: auto !important;
	aspect-ratio: 210 / 297;
}

.tefoo-certifications-page__certificate-card img {
	object-position: center;
}

.tefoo-certifications-page__slider-controls {
	top: calc(50% - 2rem);
}

@media (max-width: 781px) {
	.tefoo-certifications-page__certificate-slider { width: 100% !important; }
	.tefoo-certifications-page__certificate-card { flex-basis: 100% !important; }
}

/* Custom Battery compliance carousel: stable two-column layout with three visible cards. */
.tefoo-custom-battery-page__compliance-columns {
	display: grid !important;
	grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
	align-items: start;
	width: min(80.5rem, calc(100vw - 3rem)) !important;
	max-width: none !important;
}
.tefoo-custom-battery-page__compliance-columns > .wp-block-column {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}
.tefoo-custom-battery-page__certificate-carousel {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
	align-items: center;
	gap: .75rem;
	min-width: 0;
	width: 100% !important;
	max-width: none !important;
	overflow: hidden;
}
.tefoo-custom-battery-page__certificate-grid {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: .85rem !important;
	min-width: 0;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 0 .7rem !important;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}
.tefoo-custom-battery-page__certificate-grid > .wp-block-column {
	flex: 0 0 calc((100% - 1.7rem) / 3) !important;
	width: calc((100% - 1.7rem) / 3) !important;
	min-width: 0;
	margin: 0 !important;
	scroll-snap-align: start;
}
.tefoo-custom-battery-page__certificate-grid figure {
	height: 10rem;
	padding: .5rem;
}
.tefoo-custom-battery-page__certificate-grid figure a {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
}
.tefoo-custom-battery-page__certificate-grid h3 { min-height: 3.6rem; display: grid; align-items: center; }
.tefoo-custom-battery-page__certificate-prev,
.tefoo-custom-battery-page__certificate-next {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid #c7e1e6;
	border-radius: .25rem;
	background: #fff;
	color: #102d36;
	cursor: pointer;
	place-items: center;
	font-size: 1.35rem;
	line-height: 1;
}
.tefoo-custom-battery-page__certificate-prev:hover,
.tefoo-custom-battery-page__certificate-next:hover,
.tefoo-custom-battery-page__certificate-prev:focus-visible,
.tefoo-custom-battery-page__certificate-next:focus-visible {
	border-color: #c3a56c;
	background: #c3a56c;
}

@media (max-width: 781px) {
	.tefoo-custom-battery-page__compliance-columns { grid-template-columns: 1fr; width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-custom-battery-page__certificate-carousel { grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; gap: .5rem; }
	.tefoo-custom-battery-page__certificate-grid > .wp-block-column { flex-basis: 82% !important; width: 82% !important; }
}

/* Editorial and case-study palette. Kept to these page types only. */
.tefoo-applications-page,
.tefoo-blog-page,
body.single-post .wp-site-blocks > main,
body.single-tefoo_case .wp-site-blocks > main {
	background: #F7F9FB;
	color: #5E6F7E;
}

/* Applications / case listing. */
.tefoo-applications-page__hero {
	background: #1E2A3A;
	color: #E4E8EC;
}

.tefoo-applications-page__hero h1,
.tefoo-applications-page__hero-action .wp-block-button__link {
	color: #E4E8EC;
}

.tefoo-applications-page__hero-lead {
	color: rgba(228, 232, 236, .88);
}

.tefoo-applications-page__hero-action .wp-block-button__link::after {
	border-color: rgba(228, 232, 236, .72);
}

.tefoo-applications-page__hero-action .wp-block-button__link:hover,
.tefoo-applications-page__hero-action .wp-block-button__link:focus-visible {
	color: #C3A56C;
}

.tefoo-applications-page__overview,
.tefoo-applications-page__cases {
	background: #F7F9FB;
}

.tefoo-applications-page__overview h2,
.tefoo-applications-page__cases-heading h2,
.tefoo-applications-page__category-card h3 {
	color: #1E2A3A;
}

.tefoo-applications-page__overview-intro > .wp-block-column:last-child > p,
.tefoo-applications-page__cases-heading > .wp-block-column:last-child > p,
.tefoo-applications-page__category-card p,
.tefoo-application-cases__empty,
.tefoo-application-cases__no-results {
	color: #5E6F7E;
}

.tefoo-applications-page__category-card {
	border-color: rgba(94, 111, 126, .38);
	background: #E4E8EC;
	box-shadow: 0 1.1rem 2.2rem rgba(30, 42, 58, .07);
}

.tefoo-applications-page__category-grid > .wp-block-column + .wp-block-column .tefoo-applications-page__category-card {
	border-left-color: rgba(94, 111, 126, .38);
}

.tefoo-application-cases__filters button,
.tefoo-application-cases__pagination button {
	border-color: rgba(94, 111, 126, .45);
	background: #E4E8EC;
	color: #1E2A3A;
}

.tefoo-application-cases__filters button:hover,
.tefoo-application-cases__filters button:focus-visible,
.tefoo-application-cases__filters button.is-active,
.tefoo-application-cases__pagination button:hover:not(:disabled),
.tefoo-application-cases__pagination button:focus-visible,
.tefoo-application-cases__pagination button[aria-current="page"] {
	border-color: #C3A56C;
	background: #C3A56C;
	color: #1E2A3A;
}

.tefoo-application-cases__card,
.tefoo-application-cases__image {
	background: #2E343A;
}

.tefoo-application-cases__card::after {
	background: linear-gradient(180deg, rgba(46, 52, 58, .04) 25%, rgba(46, 52, 58, .95) 100%);
}

.tefoo-application-cases__tag {
	background: #E4E8EC;
	color: #1E2A3A;
}

.tefoo-application-cases__content h3 {
	color: #E4E8EC;
}

.tefoo-application-cases__excerpt {
	color: rgba(228, 232, 236, .88);
}

.tefoo-application-cases__link {
	color: #C3A56C;
}

.tefoo-applications-page__cta {
	background: #2E343A;
	color: #E4E8EC;
}

.tefoo-applications-page__cta h2 {
	color: #E4E8EC;
}

.tefoo-applications-page__cta .wp-block-button__link {
	background: #C3A56C;
	color: #1E2A3A;
}

.tefoo-applications-page__cta .wp-block-button__link:hover,
.tefoo-applications-page__cta .wp-block-button__link:focus-visible {
	background: #E4E8EC;
	color: #1E2A3A;
}

/* News list. */
.tefoo-blog-page__hero {
	background: #1E2A3A;
	color: #E4E8EC;
}

.tefoo-blog-page__hero h1 {
	color: #E4E8EC;
}

.tefoo-blog-page__hero-lead {
	color: rgba(228, 232, 236, .82);
}

.tefoo-blog-page__overview {
	background: #E4E8EC;
}

.tefoo-blog-page__overview-columns > .wp-block-column {
	border-left-color: rgba(94, 111, 126, .38);
}

.tefoo-blog-page__overview h2,
.tefoo-blog-page__overview h3,
.tefoo-blog-page__articles-heading h2,
.tefoo-blog-articles__lead h3,
.tefoo-blog-articles__featured-item h3,
.tefoo-blog-articles__card h3 {
	color: #1E2A3A;
}

.tefoo-blog-page__overview p,
.tefoo-blog-page__articles-heading > .wp-block-column:last-child > p,
.tefoo-blog-articles__excerpt,
.tefoo-blog-articles__meta,
.tefoo-blog-articles__empty,
.tefoo-blog-articles__no-results {
	color: #5E6F7E;
}

.tefoo-blog-page__articles {
	background: #F7F9FB;
}

.tefoo-blog-articles__filters {
	border-bottom-color: rgba(94, 111, 126, .35);
}

.tefoo-blog-articles__filters button,
.tefoo-blog-articles__pagination button {
	border-color: rgba(94, 111, 126, .45);
	background: #E4E8EC;
	color: #1E2A3A;
}

.tefoo-blog-articles__filters button:hover,
.tefoo-blog-articles__filters button:focus-visible,
.tefoo-blog-articles__filters button.is-active,
.tefoo-blog-articles__pagination button:hover:not(:disabled),
.tefoo-blog-articles__pagination button:focus-visible,
.tefoo-blog-articles__pagination button[aria-current="page"] {
	border-color: #C3A56C;
	background: #C3A56C;
	color: #1E2A3A;
}

.tefoo-blog-articles__lead,
.tefoo-blog-articles__card {
	border-color: rgba(94, 111, 126, .35);
	background: #E4E8EC;
}

.tefoo-blog-articles__lead-image,
.tefoo-blog-articles__card-image {
	background: #F7F9FB;
}

.tefoo-blog-articles__category,
.tefoo-blog-articles__link:hover,
.tefoo-blog-articles__link:focus-visible {
	color: #C3A56C;
}

.tefoo-blog-articles__link {
	color: #1E2A3A;
}

.tefoo-blog-articles__featured-list {
	border-top-color: #1E2A3A;
}

.tefoo-blog-articles__featured-item {
	border-bottom-color: rgba(94, 111, 126, .35);
}

/* Native Gutenberg article and case-study details. */
body.single-post .wp-block-post-title,
body.single-tefoo_case .wp-block-post-title,
body.single-post .wp-block-post-content :is(h2, h3, h4, h5, h6),
body.single-tefoo_case .wp-block-post-content :is(h2, h3, h4, h5, h6) {
	color: #1E2A3A;
}

body.single-post .wp-block-post-date,
body.single-post .wp-block-post-author-name,
body.single-post .wp-block-post-terms,
body.single-tefoo_case .wp-block-post-date,
body.single-tefoo_case .wp-block-post-author-name,
body.single-tefoo_case .wp-block-post-terms,
body.single-post .wp-block-post-content,
body.single-tefoo_case .wp-block-post-content {
	color: #5E6F7E;
}

body.single-post .wp-block-post-featured-image,
body.single-tefoo_case .wp-block-post-featured-image {
	padding: .5rem;
	border: 1px solid rgba(94, 111, 126, .35);
	background: #E4E8EC;
}

body.single-post .wp-block-post-content a,
body.single-post .wp-block-post-author-name a,
body.single-post .wp-block-post-terms a,
body.single-post .wp-block-post-navigation-link a,
body.single-tefoo_case .wp-block-post-content a,
body.single-tefoo_case .wp-block-post-author-name a,
body.single-tefoo_case .wp-block-post-terms a,
body.single-tefoo_case .wp-block-post-navigation-link a {
	color: #1E2A3A;
	text-decoration-color: #C3A56C;
}

body.single-post .wp-block-post-content a:hover,
body.single-post .wp-block-post-content a:focus-visible,
body.single-post .wp-block-post-author-name a:hover,
body.single-post .wp-block-post-author-name a:focus-visible,
body.single-post .wp-block-post-terms a:hover,
body.single-post .wp-block-post-terms a:focus-visible,
body.single-post .wp-block-post-navigation-link a:hover,
body.single-post .wp-block-post-navigation-link a:focus-visible,
body.single-tefoo_case .wp-block-post-content a:hover,
body.single-tefoo_case .wp-block-post-content a:focus-visible,
body.single-tefoo_case .wp-block-post-author-name a:hover,
body.single-tefoo_case .wp-block-post-author-name a:focus-visible,
body.single-tefoo_case .wp-block-post-terms a:hover,
body.single-tefoo_case .wp-block-post-terms a:focus-visible,
body.single-tefoo_case .wp-block-post-navigation-link a:hover,
body.single-tefoo_case .wp-block-post-navigation-link a:focus-visible {
	color: #C3A56C;
}

body.single-post .wp-block-post-content blockquote,
body.single-tefoo_case .wp-block-post-content blockquote,
body.single-post .wp-block-post-content .wp-block-details,
body.single-tefoo_case .wp-block-post-content .wp-block-details {
	border-color: #C3A56C;
	background: #E4E8EC;
	color: #2E343A;
}

body.single-post .wp-block-post-content .wp-block-table thead,
body.single-tefoo_case .wp-block-post-content .wp-block-table thead {
	background: #2E343A;
	color: #E4E8EC;
}

body.single-post .wp-block-post-content .wp-block-table td,
body.single-post .wp-block-post-content .wp-block-table th,
body.single-tefoo_case .wp-block-post-content .wp-block-table td,
body.single-tefoo_case .wp-block-post-content .wp-block-table th {
	border-color: rgba(94, 111, 126, .4);
}

body.single-post .wp-block-comments,
body.single-tefoo_case .wp-block-comments {
	border-top: 1px solid rgba(94, 111, 126, .4);
	color: #5E6F7E;
}

body.single-post .wp-block-comments input,
body.single-post .wp-block-comments textarea,
body.single-tefoo_case .wp-block-comments input,
body.single-tefoo_case .wp-block-comments textarea {
	border-color: rgba(94, 111, 126, .5);
	background: #F7F9FB;
	color: #1E2A3A;
}

body.single-post .wp-block-comments input[type="submit"],
body.single-tefoo_case .wp-block-comments input[type="submit"] {
	border-color: #C3A56C;
	background: #C3A56C;
	color: #1E2A3A;
}

@media (max-width: 781px) {
	.tefoo-applications-page__category-grid > .wp-block-column + .wp-block-column .tefoo-applications-page__category-card {
		border-left-color: rgba(94, 111, 126, .38);
	}

	.tefoo-blog-page__overview-columns > .wp-block-column {
		border-top-color: rgba(94, 111, 126, .38);
	}
}

/*
 * Product-page palette. This scope deliberately covers only the home page and
 * the Standard, Custom and Medical Battery templates.
 */
.tefoo-homepage-main,
.tefoo-standard-page,
.tefoo-custom-battery-page,
.tefoo-medical-battery-page {
	--tefoo-deep-ink: #1E2A3A;
	--tefoo-cool-gray: #2E343A;
	--tefoo-reading-gray: #E4E8EC;
	--tefoo-anchor-blue: #5E6F7E;
	--tefoo-certification-gold: #C3A56C;
	background: var(--tefoo-cool-gray);
	color: var(--tefoo-reading-gray);
}

/* Home feature sections are rendered as a sibling template part, outside the main element. */
body.home {
	--tefoo-deep-ink: #1E2A3A;
	--tefoo-cool-gray: #2E343A;
	--tefoo-reading-gray: #E4E8EC;
	--tefoo-anchor-blue: #5E6F7E;
	--tefoo-certification-gold: #C3A56C;
	background: var(--tefoo-cool-gray);
}

/* Light reading surfaces and their text hierarchy. */
.tefoo-home-appointment,
.tefoo-home-engineering,
.tefoo-home-certifications,
.tefoo-home-news,
.tefoo-standard-page__intro,
.tefoo-standard-page__approval,
.tefoo-custom-battery-page__project-card,
.tefoo-custom-battery-page__compliance,
.tefoo-medical-battery-page__section--tint,
.tefoo-medical-battery-page__products,
.tefoo-medical-battery-page__faq {
	background: var(--tefoo-reading-gray);
	color: var(--tefoo-deep-ink);
}

.tefoo-home-appointment :is(h2, h3),
.tefoo-home-engineering :is(h2, h3),
.tefoo-home-certifications :is(h2, h3),
.tefoo-home-news :is(h2, h3, h4),
.tefoo-standard-page :is(.tefoo-standard-page__intro, .tefoo-standard-page__approval) :is(h2, h3),
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__project-card, .tefoo-custom-battery-page__compliance) :is(h2, h3),
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__section--tint, .tefoo-medical-battery-page__products, .tefoo-medical-battery-page__faq) :is(h2, h3) {
	color: var(--tefoo-deep-ink);
}

.tefoo-home-appointment :is(p, label),
.tefoo-home-engineering :is(p, li),
.tefoo-home-certifications p,
.tefoo-home-news :is(p, time),
.tefoo-standard-page :is(.tefoo-standard-page__intro, .tefoo-standard-page__approval) p,
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__project-card, .tefoo-custom-battery-page__compliance) p,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__section--tint, .tefoo-medical-battery-page__products, .tefoo-medical-battery-page__faq) p {
	color: var(--tefoo-anchor-blue);
}

/* Reusable cards, catalog tiles, form fields and FAQ rows. */
.tefoo-home-company__stat,
.tefoo-home-certifications__card,
.tefoo-catalog-card,
.tefoo-standard-page__architecture-card,
.tefoo-standard-page__value,
.tefoo-custom-battery-page__design-copy,
.tefoo-custom-battery-page__process-card,
.tefoo-custom-battery-page__certificate-grid > .wp-block-column,
.tefoo-custom-battery-page__faq details,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__card, .tefoo-medical-battery-page__challenge-card, .tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__application-card, .tefoo-medical-battery-page__support-card, .tefoo-medical-battery-page__process-card, .tefoo-medical-battery-page__faq details) {
	border-color: var(--tefoo-anchor-blue);
	background: var(--tefoo-reading-gray);
	color: var(--tefoo-deep-ink);
}

.tefoo-catalog-card__image,
.tefoo-custom-battery-page__design-image,
.tefoo-custom-battery-page__certificate-grid figure {
	background: var(--tefoo-reading-gray);
}

.tefoo-home-company__stat :is(h3, p),
.tefoo-home-certifications__card h3,
.tefoo-catalog-card :is(h3, h3 a, dd),
.tefoo-standard-page__architecture-card :is(h3, p),
.tefoo-standard-page__value :is(h3, p),
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__design-copy, .tefoo-custom-battery-page__process-card, .tefoo-custom-battery-page__certificate-grid, .tefoo-custom-battery-page__faq) :is(h3, p, li, summary),
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__card, .tefoo-medical-battery-page__challenge-card, .tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__application-card, .tefoo-medical-battery-page__support-card, .tefoo-medical-battery-page__process-card, .tefoo-medical-battery-page__faq) :is(h3, p, summary) {
	color: var(--tefoo-deep-ink);
}

.tefoo-catalog-card :is(.tefoo-catalog-card__description, dt),
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__design-copy, .tefoo-custom-battery-page__process-card, .tefoo-custom-battery-page__faq) :is(p, li),
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__card, .tefoo-medical-battery-page__challenge-card, .tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__application-card, .tefoo-medical-battery-page__support-card, .tefoo-medical-battery-page__process-card, .tefoo-medical-battery-page__faq) p {
	color: var(--tefoo-anchor-blue);
}

.tefoo-home-appointment :is(input, textarea, select),
.tefoo-custom-project-form input,
.tefoo-catalog__filters button,
.tefoo-catalog__pagination button,
.tefoo-medical-battery-page__tags p {
	border-color: var(--tefoo-anchor-blue);
	background: var(--tefoo-reading-gray);
	color: var(--tefoo-deep-ink);
}

.tefoo-home-appointment :is(.ff-btn-submit, .wp-block-button__link),
.tefoo-homepage-main .ff-btn-submit,
.tefoo-custom-battery-page .ff-btn-submit,
.tefoo-custom-project-form button,
.tefoo-catalog__filters button:hover,
.tefoo-catalog__filters button.is-active,
.tefoo-catalog__pagination button:hover:not(:disabled),
.tefoo-catalog__pagination button:focus-visible,
.tefoo-catalog__pagination button[aria-current="page"],
.tefoo-medical-battery-page__hero .wp-block-button__link {
	border-color: var(--tefoo-certification-gold);
	background: var(--tefoo-certification-gold);
	color: var(--tefoo-deep-ink);
}

.tefoo-homepage-main .ff-btn-submit,
.tefoo-custom-battery-page .ff-btn-submit {
	border-color: var(--tefoo-certification-gold) !important;
	background: var(--tefoo-certification-gold) !important;
	color: var(--tefoo-deep-ink) !important;
}

.tefoo-homepage-main .ff-btn-submit:hover,
.tefoo-homepage-main .ff-btn-submit:focus-visible,
.tefoo-custom-battery-page .ff-btn-submit:hover,
.tefoo-custom-battery-page .ff-btn-submit:focus-visible {
	border-color: var(--tefoo-deep-ink) !important;
	background: var(--tefoo-deep-ink) !important;
	color: var(--tefoo-reading-gray) !important;
}

.tefoo-home-kicker,
.tefoo-catalog-card__series,
.tefoo-catalog-card__actions > a,
.tefoo-standard-page__architecture-label,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__challenge-card) > p:first-child {
	color: var(--tefoo-certification-gold);
}

/* Dark branded areas. */
.tefoo-home-hero,
.tefoo-home-appointment-band,
.tefoo-home-products,
.tefoo-home-inquiry,
.tefoo-home-advantages,
.tefoo-standard-page__hero,
.tefoo-standard-page__engineering,
.tefoo-standard-page__applications,
.tefoo-custom-battery-page__hero,
.tefoo-custom-battery-page__project,
.tefoo-custom-battery-page__engineer-promise,
.tefoo-custom-battery-page__design-cta,
.tefoo-custom-battery-page__options,
.tefoo-custom-battery-page__stats,
.tefoo-medical-battery-page__hero,
.tefoo-medical-battery-page__trust,
.tefoo-medical-battery-page__bms {
	background-color: var(--tefoo-deep-ink);
	color: var(--tefoo-reading-gray);
}

.tefoo-home-hero::before,
.tefoo-medical-battery-page__hero .wp-block-cover__background {
	background-color: var(--tefoo-deep-ink) !important;
}

.tefoo-home-hero::before {
	background: linear-gradient(90deg, rgba(30, 42, 58, .9) 0%, rgba(30, 42, 58, .72) 38%, rgba(30, 42, 58, .24) 67%, rgba(30, 42, 58, .08) 100%);
}

.tefoo-home-products__featured,
.tefoo-home-products__card,
.tefoo-custom-battery-page__application-card,
.tefoo-custom-battery-page__option,
.tefoo-medical-battery-page__bms-item {
	background: var(--tefoo-cool-gray);
	color: var(--tefoo-reading-gray);
}

.tefoo-home-products__card :is(h3, p),
.tefoo-home-products__featured :is(h2, h3, p) {
	color: var(--tefoo-reading-gray) !important;
}

.tefoo-home-products__card > p:last-child,
.tefoo-home-products__featured-description {
	color: var(--tefoo-reading-gray) !important;
	opacity: .82;
}

.tefoo-home-hero :is(h1, p),
.tefoo-home-products :is(h2, h3, p),
.tefoo-home-inquiry :is(h2, p),
.tefoo-home-advantages :is(h2, h3, p),
.tefoo-standard-page :is(.tefoo-standard-page__hero, .tefoo-standard-page__engineering, .tefoo-standard-page__applications) :is(h1, h2, h3, p),
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__hero, .tefoo-custom-battery-page__engineer-promise, .tefoo-custom-battery-page__design-cta, .tefoo-custom-battery-page__options, .tefoo-custom-battery-page__stats, .tefoo-custom-battery-page__application-card) :is(h1, h2, h3, p, strong),
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__hero, .tefoo-medical-battery-page__trust, .tefoo-medical-battery-page__bms) :is(h1, h2, h3, p) {
	color: var(--tefoo-reading-gray);
}

.tefoo-home-advantages__copy :is(h2, h3, p),
.tefoo-home-advantages__item :is(h3, p),
.tefoo-home-advantages__number {
	color: var(--tefoo-reading-gray) !important;
}

.tefoo-home-advantages__copy .tefoo-home-kicker,
.tefoo-home-advantages__item > .tefoo-home-advantages__number {
	color: var(--tefoo-certification-gold) !important;
}

.tefoo-standard-page__value :is(h3, p),
.tefoo-standard-page__applications,
.tefoo-standard-page__applications strong {
	color: var(--tefoo-deep-ink) !important;
}

.tefoo-standard-page__applications {
	background: var(--tefoo-reading-gray);
}

/* Product catalog: keep the filter dark, but give the catalogue itself a light reading canvas. */
.tefoo-standard-page__catalog,
.tefoo-standard-page__catalog--products {
	background: var(--tefoo-reading-gray) !important;
	color: var(--tefoo-deep-ink);
}

.tefoo-standard-page__catalog .tefoo-catalog__heading h2 {
	color: var(--tefoo-deep-ink) !important;
}

.tefoo-standard-page__catalog .tefoo-catalog__heading > a {
	color: var(--tefoo-anchor-blue) !important;
	border-bottom-color: var(--tefoo-certification-gold);
}

.tefoo-standard-page__catalog .tefoo-catalog__filters button {
	border-color: var(--tefoo-anchor-blue);
	background: var(--tefoo-reading-gray);
	color: var(--tefoo-deep-ink);
}

.tefoo-standard-page__catalog .tefoo-catalog-card {
	border-color: var(--tefoo-anchor-blue);
	background: var(--tefoo-reading-gray);
	box-shadow: 0 .5rem 1.25rem rgba(30, 42, 58, .1);
}

/* Certification strip follows the page canvas shown below the module. */
.tefoo-standard-page__approval {
	background: #F7F9FB !important;
}

.tefoo-home-hero :is(.tefoo-home-hero__eyebrow, .tefoo-home-hero__proof p),
.tefoo-standard-page :is(.tefoo-standard-page__hero, .tefoo-standard-page__engineering, .tefoo-standard-page__applications) .tefoo-home-kicker,
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__hero, .tefoo-custom-battery-page__engineer-promise, .tefoo-custom-battery-page__design-cta, .tefoo-custom-battery-page__options, .tefoo-custom-battery-page__stats, .tefoo-custom-battery-page__application-card) .tefoo-home-kicker,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__hero, .tefoo-medical-battery-page__bms) .tefoo-home-kicker,
.tefoo-medical-battery-page__bms :is(h3, .tefoo-home-kicker) {
	color: var(--tefoo-certification-gold);
}

.tefoo-custom-battery-page__application-card::before {
	background: linear-gradient(155deg, rgba(195, 165, 108, .62) 0 18%, rgba(30, 42, 58, .22) 18% 52%, rgba(30, 42, 58, .96) 100%);
}

.tefoo-custom-battery-page__option.is-active,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__application-card, .tefoo-medical-battery-page__process-card) > p:first-child {
	background: var(--tefoo-certification-gold);
	color: var(--tefoo-deep-ink);
}

/* Final scoped normalization for the approved product-page palette. */
body.home .tefoo-home-company,
body.home .tefoo-home-engineering,
body.home .tefoo-home-certifications,
body.home .tefoo-home-news,
body.home .tefoo-home-faq,
.tefoo-custom-battery-page__design-services,
.tefoo-custom-battery-page__applications,
.tefoo-custom-battery-page__process,
.tefoo-custom-battery-page__platform,
.tefoo-custom-battery-page__faq,
.tefoo-standard-page__intro,
.tefoo-standard-page__architecture,
.tefoo-standard-page__engineering,
.tefoo-standard-values,
.tefoo-standard-cases-section,
.tefoo-medical-battery-page,
.tefoo-medical-battery-page__section,
.tefoo-medical-battery-page__section--tint,
.tefoo-medical-battery-page__products,
.tefoo-medical-battery-page__support,
.tefoo-medical-battery-page__faq {
	background-color: var(--tefoo-reading-gray) !important;
	color: var(--tefoo-deep-ink);
}

/* Homepage product catalogue only: this is not a page-level background. */
body.home .tefoo-home-product-catalog {
	background-color: #F7F9FB;
}

body.home .tefoo-home-product-catalog .tefoo-catalog {
	background-color: transparent;
}

body.home .tefoo-home-product-catalog > .wp-block-shortcode {
	display: block;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

body.home .tefoo-home-product-catalog .tefoo-catalog {
	width: min(75rem, 100%) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.home .tefoo-home-company :is(.tefoo-home-company__title, .tefoo-home-company__description),
body.home .tefoo-home-engineering :is(h2, p, li),
body.home .tefoo-home-certifications :is(h2, h3),
body.home .tefoo-home-news :is(h2, h3, p, a),
body.home .tefoo-home-faq :is(h2, h3, summary, p),
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__design-services, .tefoo-custom-battery-page__applications, .tefoo-custom-battery-page__process, .tefoo-custom-battery-page__platform, .tefoo-custom-battery-page__faq) :is(h2, h3, summary),
.tefoo-standard-page :is(.tefoo-standard-page__intro, .tefoo-standard-page__architecture, .tefoo-standard-page__engineering, .tefoo-standard-values, .tefoo-standard-cases-section) :is(h2, h3),
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__section, .tefoo-medical-battery-page__section--tint, .tefoo-medical-battery-page__products, .tefoo-medical-battery-page__support, .tefoo-medical-battery-page__faq) :is(h2, h3, summary) {
	color: var(--tefoo-deep-ink) !important;
}

body.home .tefoo-home-company__description,
body.home .tefoo-home-engineering :is(p, li),
body.home .tefoo-home-news :is(p, time),
body.home .tefoo-home-faq p,
.tefoo-custom-battery-page :is(.tefoo-custom-battery-page__design-services, .tefoo-custom-battery-page__applications, .tefoo-custom-battery-page__process, .tefoo-custom-battery-page__platform, .tefoo-custom-battery-page__faq) p,
.tefoo-standard-page :is(.tefoo-standard-page__intro, .tefoo-standard-page__architecture, .tefoo-standard-page__engineering, .tefoo-standard-values, .tefoo-standard-cases-section) p,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__section, .tefoo-medical-battery-page__section--tint, .tefoo-medical-battery-page__products, .tefoo-medical-battery-page__support, .tefoo-medical-battery-page__faq) p {
	color: var(--tefoo-anchor-blue) !important;
}

body.home .tefoo-home-company__stat,
body.home .tefoo-home-certifications__card,
body.home .tefoo-home-news__column,
body.home .tefoo-home-faq details,
.tefoo-custom-battery-page__design-row,
.tefoo-custom-battery-page__design-copy,
.tefoo-custom-battery-page__process-card,
.tefoo-custom-battery-page__compliance,
.tefoo-custom-battery-page__certificate-grid > .wp-block-column,
.tefoo-custom-battery-page__faq details,
.tefoo-standard-page__architecture-card,
.tefoo-standard-values__copy,
.tefoo-standard-cases__card,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__card, .tefoo-medical-battery-page__challenge-card, .tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__application-card, .tefoo-medical-battery-page__support-card, .tefoo-medical-battery-page__process-card, .tefoo-medical-battery-page__faq details) {
	border-color: var(--tefoo-anchor-blue);
	background-color: var(--tefoo-reading-gray) !important;
}

body.home .tefoo-home-company__stat {
	background: var(--tefoo-cool-gray) !important;
}

body.home .tefoo-home-company__stat-value,
body.home .tefoo-home-company__stat-label,
body.home .tefoo-home-certifications__card h3 {
	color: var(--tefoo-reading-gray) !important;
}

body.home .tefoo-home-company__stat-value,
body.home .tefoo-home-certifications__card .tefoo-home-kicker,
.tefoo-standard-page__architecture-label,
.tefoo-standard-page__values .tefoo-home-kicker,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__challenge-card) > p:first-child {
	color: var(--tefoo-certification-gold) !important;
}

/* Keep certification captions in their own row below each certificate image. */
body.home .tefoo-home-certifications__card {
	display: flex !important;
	flex-direction: column;
	justify-content: flex-start;
	overflow: hidden;
}

body.home .tefoo-home-certifications__card figure {
	display: block !important;
	flex: 0 0 auto;
	width: 100%;
	height: auto !important;
	min-height: 0;
	margin: 0 !important;
	overflow: hidden;
	aspect-ratio: 3 / 4;
}

body.home .tefoo-home-certifications__card figure a {
	display: block;
	width: 100%;
	height: 100%;
}

body.home .tefoo-home-certifications__card figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

body.home .tefoo-home-certifications__card h3 {
	position: static !important;
	flex: 0 0 auto;
	min-height: 0;
	margin: 0 !important;
	padding: .55rem .5rem .15rem;
	background: var(--tefoo-reading-gray);
	color: var(--tefoo-deep-ink) !important;
	font-size: .85rem;
	line-height: 1.35;
	transform: none !important;
}

body.home .tefoo-home-certifications__link {
	margin-top: .75rem;
}

@media (max-width: 781px) {
	body.home .tefoo-home-certifications__card figure {
		flex-basis: auto;
		height: auto !important;
		min-height: 0;
	}
}

body.home .tefoo-home-company__flow {
	border-color: var(--tefoo-anchor-blue);
	background: var(--tefoo-anchor-blue);
}

body.home .tefoo-home-company__flow p {
	background: var(--tefoo-reading-gray);
	color: var(--tefoo-deep-ink);
}

.tefoo-custom-battery-page__engineer-promise,
.tefoo-custom-battery-page__design-cta,
.tefoo-custom-battery-page__project,
.tefoo-custom-battery-page__hero,
.tefoo-standard-page__hero,
.tefoo-standard-page__definition,
.tefoo-standard-page__values__cta,
.tefoo-standard-values__cta {
	background-color: var(--tefoo-deep-ink) !important;
}

.tefoo-custom-battery-page__design-services,
.tefoo-custom-battery-page__process,
.tefoo-custom-battery-page__applications,
.tefoo-custom-battery-page__platform,
.tefoo-custom-battery-page__faq,
.tefoo-standard-page__engineering {
	background-color: var(--tefoo-reading-gray) !important;
}

.tefoo-custom-battery-page__design-copy,
.tefoo-custom-battery-page__design-row,
.tefoo-custom-battery-page__compliance,
.tefoo-standard-page__intro,
.tefoo-standard-page__architecture,
.tefoo-standard-values,
.tefoo-standard-cases-section {
	background-color: var(--tefoo-reading-gray) !important;
}

.tefoo-custom-battery-page__design-copy :is(h3, p, li),
.tefoo-custom-battery-page__compliance :is(h2, p, h3),
.tefoo-custom-battery-page__process-card :is(h3, p),
.tefoo-custom-battery-page__faq details :is(summary, p),
.tefoo-standard-page__engineering :is(h2, p, h3),
.tefoo-standard-values__copy :is(h3, p),
.tefoo-standard-cases__content :is(h3, p),
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__card, .tefoo-medical-battery-page__challenge-card, .tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__application-card, .tefoo-medical-battery-page__support-card, .tefoo-medical-battery-page__process-card, .tefoo-medical-battery-page__faq details) :is(h3, p, summary) {
	color: var(--tefoo-deep-ink) !important;
}

.tefoo-custom-battery-page__design-copy > p:not(.tefoo-home-kicker),
.tefoo-custom-battery-page__compliance p:not(.tefoo-home-kicker),
.tefoo-custom-battery-page__process-card > p:last-child,
.tefoo-custom-battery-page__faq details p,
.tefoo-standard-page__engineering-copy,
.tefoo-standard-values__copy > p:last-child,
.tefoo-standard-cases__content p,
.tefoo-medical-battery-page :is(.tefoo-medical-battery-page__card, .tefoo-medical-battery-page__challenge-card, .tefoo-medical-battery-page__evaluation-card, .tefoo-medical-battery-page__application-card, .tefoo-medical-battery-page__support-card, .tefoo-medical-battery-page__process-card, .tefoo-medical-battery-page__faq details) p {
	color: var(--tefoo-anchor-blue) !important;
}

.tefoo-custom-battery-page__project-card input,
.tefoo-custom-project-form input,
.tefoo-standard-filter select,
.tefoo-medical-battery-page__tags p {
	border-color: var(--tefoo-anchor-blue);
	background-color: var(--tefoo-reading-gray);
	color: var(--tefoo-deep-ink);
}

.tefoo-custom-battery-page__application-card,
.tefoo-home-products__card,
.tefoo-home-products__featured,
.tefoo-medical-battery-page__bms-item {
	background-color: var(--tefoo-cool-gray) !important;
}

.tefoo-custom-battery-page__application-copy :is(h3, p),
.tefoo-home-products__card :is(h3, p),
.tefoo-home-products__featured :is(h2, h3, p),
.tefoo-medical-battery-page__bms-item p {
	color: var(--tefoo-reading-gray) !important;
}

.tefoo-custom-battery-page__application-copy > p:first-child,
.tefoo-custom-battery-page__process-card > p:first-child,
.tefoo-medical-battery-page__application-card > p:first-child,
.tefoo-medical-battery-page__process-card > p:first-child {
	background: var(--tefoo-certification-gold);
	color: var(--tefoo-deep-ink);
}

/* The definition callout is a dark reading panel, so its copy stays light. */
.tefoo-standard-page__definition,
.tefoo-standard-page__definition p {
	background-color: var(--tefoo-deep-ink) !important;
	color: var(--tefoo-reading-gray) !important;
}

body .tefoo-standard-page p.tefoo-standard-page__definition {
	background-color: var(--tefoo-deep-ink) !important;
	color: var(--tefoo-reading-gray) !important;
}

.tefoo-standard-values__cta :is(h3, p) {
	color: var(--tefoo-reading-gray) !important;
}

body .tefoo-standard-page .tefoo-standard-values__cta :is(h3, p) {
	color: var(--tefoo-reading-gray) !important;
}

/* Compact only the homepage product catalogue. */
body.home .tefoo-home-product-catalog .tefoo-catalog {
	padding-top: 4.5rem;
	padding-bottom: 4.75rem;
}

body.home .tefoo-home-product-catalog .tefoo-catalog__heading {
	margin-bottom: 1.15rem;
}

body.home .tefoo-home-product-catalog .tefoo-catalog__filters {
	margin-bottom: .9rem;
}

body.home .tefoo-home-product-catalog .tefoo-catalog-card > p:empty,
body.home .tefoo-home-product-catalog .tefoo-catalog-card__content > p:empty {
	display: none;
}

body.home .tefoo-home-product-catalog .tefoo-catalog-card__image {
	min-height: 11.8rem;
	padding: .9rem;
}

/* Static-site entrance effects, scoped to marked content elements only. */
.tefoo-entrance {
	opacity: 0;
	transform: translate3d(0, 34px, 0);
	transition: opacity .72s ease var(--tefoo-entrance-delay, 0ms), transform .72s cubic-bezier(.2, .72, .2, 1) var(--tefoo-entrance-delay, 0ms);
	will-change: opacity, transform;
}

.tefoo-entrance.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.tefoo-hero-entrance {
	animation: tefoo-hero-entrance .85s cubic-bezier(.2, .72, .2, 1) var(--tefoo-entrance-delay, 80ms) both;
}

@keyframes tefoo-hero-entrance {
	from {
		opacity: 0;
		transform: translate3d(0, 26px, 0);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tefoo-entrance,
	.tefoo-entrance.is-visible,
	.tefoo-hero-entrance {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}
}

body.home .tefoo-home-product-catalog .tefoo-catalog-card__image img {
	height: 10rem;
}

body.home .tefoo-home-product-catalog .tefoo-catalog-card__content {
	padding: 1rem 1.05rem 1.1rem;
}

body.home .tefoo-home-product-catalog .tefoo-catalog-card__description {
	min-height: 2.2rem;
	margin: .55rem 0 .65rem;
}

body.home .tefoo-home-product-catalog .tefoo-catalog-card dl {
	padding: .65rem 0;
}

/* Enlarge catalog product artwork without changing the card's text layout. */
.tefoo-catalog-card__image img {
	transform: scale(1.3);
	transform-origin: center;
}

/* Contact page: align the legacy blue treatment with the current site palette. */
.tefoo-contact-page {
	background: #F7F9FB;
	color: #1E2A3A;
}

.tefoo-contact-page__hero {
	background-color: #1E2A3A;
	background-image: linear-gradient(90deg, rgba(30, 42, 58, .96) 0%, rgba(30, 42, 58, .8) 45%, rgba(30, 42, 58, .26) 100%), url('/tefoo-wp/wp-content/themes/gutenberg-blank/assets/images/sections/contact-team-banner.webp');
}

.tefoo-contact-page__hero p:not(.tefoo-home-kicker),
.tefoo-contact-page__path p:not(.tefoo-home-kicker),
.tefoo-contact-page__global p:not(.tefoo-home-kicker) {
	color: #E4E8EC;
}

.tefoo-contact-page__channels,
.tefoo-contact-page__quick,
.tefoo-contact-page__content {
	background: #F7F9FB;
}

.tefoo-contact-page__inquiry {
	background: #E4E8EC;
}

.tefoo-contact-page__channels :is(h2, h3),
.tefoo-contact-page__inquiry :is(h2, h3),
.tefoo-contact-page__quick :is(h2, h3),
.tefoo-contact-page__inquiry li {
	color: #1E2A3A;
}

.tefoo-contact-page__channels :is(p, a),
.tefoo-contact-page__inquiry > .wp-block-columns > .wp-block-column > p,
.tefoo-contact-page__quick p:not(.tefoo-home-kicker) {
	color: #5E6F7E;
}

.tefoo-contact-page__channel-grid > .wp-block-column,
.tefoo-contact-page__form,
.tefoo-contact-page__quick > .wp-block-columns {
	border-color: #5E6F7E;
	background: #E4E8EC;
	box-shadow: 0 .75rem 1.75rem rgba(30, 42, 58, .08);
}

.tefoo-contact-page__channel-visual {
	background: #E4E8EC;
}

.tefoo-contact-page__path,
.tefoo-contact-page__global {
	background: #1E2A3A;
}

.tefoo-contact-page__steps > .wp-block-column {
	border-color: #5E6F7E;
	background: #2E343A;
}

.tefoo-contact-page__steps :is(h3, p:last-child) {
	color: #E4E8EC;
}

.tefoo-contact-page__steps p:first-child {
	color: #C3A56C;
}

.tefoo-contact-page__global-mark {
	border-color: #C3A56C;
	background: #2E343A;
}

.tefoo-contact-page__form .ff-el-input--label label,
.tefoo-contact-page__form h3 {
	color: #1E2A3A;
}

.tefoo-contact-page__form .ff-el-form-control {
	border-color: #5E6F7E;
	background: #F7F9FB;
	color: #1E2A3A;
}

.tefoo-contact-page :is(.wp-block-button__link, .ff-btn-submit) {
	border-color: #C3A56C;
	background: #C3A56C;
	color: #1E2A3A;
}

.tefoo-contact-page :is(.wp-block-button__link, .ff-btn-submit):hover,
.tefoo-contact-page :is(.wp-block-button__link, .ff-btn-submit):focus-visible {
	border-color: #1E2A3A;
	background: #1E2A3A;
	color: #E4E8EC;
}

/* Standard Batteries FAQ: replace the legacy cyan section surface. */
.tefoo-standard-page .tefoo-home-faq {
	background: #F7F9FB;
}

/* Standard Batteries value rows: keep decorative markers in certification gold. */
.tefoo-standard-page .tefoo-standard-values__copy {
	border-left-color: #C3A56C;
}

.tefoo-standard-page .tefoo-standard-values__copy > p:first-child {
	background-color: #C3A56C;
	color: #1E2A3A !important;
}

/* Application card copy sits on dark image overlays and must remain readable. */
.tefoo-custom-battery-page .tefoo-custom-battery-page__application-copy h3,
.tefoo-custom-battery-page .tefoo-custom-battery-page__application-copy > p:last-child {
	color: #FFFFFF !important;
}

/* FAQ project-support CTA: replace the legacy cyan surface. */
.tefoo-faq-page .tefoo-faq-page__cta {
	background: #E4E8EC;
}

/* Homepage hero: retain a solid copy area while revealing the product visual. */
body.home .tefoo-home-hero::before {
	background-color: transparent !important;
	background-image: linear-gradient(90deg, #1E2A3A 0%, #1E2A3A 42%, rgba(30, 42, 58, .78) 49%, rgba(30, 42, 58, .18) 66%, rgba(30, 42, 58, 0) 100%) !important;
}

/* Shared interior-page hero treatment. The homepage remains image-led. */
:is(
	.tefoo-standard-page__hero,
	.tefoo-custom-battery-page__hero,
	.tefoo-medical-battery-page__hero,
	.tefoo-applications-page__hero,
	.tefoo-blog-page__hero,
	.tefoo-certifications-page__hero,
	.tefoo-downloads-page__hero,
	.tefoo-faq-page__hero,
	.tefoo-about-page__hero,
	.tefoo-contact-page__hero
) {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: #1E2A3A !important;
	background-image: none !important;
}

/* A Cover block is used for interior banners so editors can replace its media in the block sidebar. */
.wp-block-cover.tefoo-page-banner {
	min-height: 27rem;
}

.wp-block-cover.tefoo-page-banner .wp-block-cover__image-background {
	display: block !important;
	z-index: 0;
}

.wp-block-cover.tefoo-page-banner .wp-block-cover__background {
	display: block !important;
	z-index: 1;
	background: linear-gradient(90deg, rgba(30, 42, 58, .94), rgba(30, 42, 58, .68)) !important;
	opacity: 1 !important;
}

.wp-block-cover.tefoo-page-banner .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
}

:is(
	.tefoo-standard-page__hero,
	.tefoo-custom-battery-page__hero,
	.tefoo-medical-battery-page__hero,
	.tefoo-applications-page__hero,
	.tefoo-blog-page__hero,
	.tefoo-certifications-page__hero,
	.tefoo-downloads-page__hero,
	.tefoo-faq-page__hero,
	.tefoo-about-page__hero,
	.tefoo-contact-page__hero
)::after {
	position: absolute;
	top: -15.5rem;
	right: -12.25rem;
	z-index: 2;
	width: 40rem;
	height: 40rem;
	border: 1px solid rgba(195, 165, 108, .28);
	border-radius: 50%;
	box-shadow: 0 0 0 3.5rem #2D363E, 0 0 0 7rem #242F3C;
	content: '';
	pointer-events: none;
}

.tefoo-blog-page__hero::before {
	display: none;
}

:is(
	.tefoo-standard-page__hero,
	.tefoo-custom-battery-page__hero,
	.tefoo-medical-battery-page__hero,
	.tefoo-applications-page__hero,
	.tefoo-blog-page__hero,
	.tefoo-certifications-page__hero,
	.tefoo-downloads-page__hero,
	.tefoo-faq-page__hero,
	.tefoo-about-page__hero,
	.tefoo-contact-page__hero
) > :not(.wp-block-cover__background):not(.wp-block-cover__image-background) {
	position: relative;
	z-index: 1;
}

@media (max-width: 781px) {
	:is(
		.tefoo-standard-page__hero,
		.tefoo-custom-battery-page__hero,
		.tefoo-medical-battery-page__hero,
		.tefoo-applications-page__hero,
		.tefoo-blog-page__hero,
		.tefoo-certifications-page__hero,
		.tefoo-downloads-page__hero,
		.tefoo-faq-page__hero,
		.tefoo-about-page__hero,
		.tefoo-contact-page__hero
	)::after {
		top: -9rem;
		right: -9rem;
		width: 24rem;
		height: 24rem;
		box-shadow: 0 0 0 2.1rem #2D363E, 0 0 0 4.2rem #242F3C;
	}
}

/* Custom Battery hero: align copy with the page content rail instead of centering it. */
.tefoo-custom-battery-page__hero-inner {
	width: min(75rem, calc(100vw - 3rem)) !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.tefoo-custom-battery-page__hero-inner > :is(.tefoo-home-kicker, h1, .tefoo-custom-battery-page__hero-lead) {
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Keep the dynamic Case Study category grid centered outside Gutenberg's content rail. */
.tefoo-custom-battery-page__case-category-grid {
	position: relative;
	left: 50%;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: translateX(-50%);
}

/* Case category cards remain light on their dark image overlay. */
body .tefoo-custom-battery-page .tefoo-custom-battery-page__case-category-card h3,
body .tefoo-custom-battery-page .tefoo-custom-battery-page__case-category-card h3 a {
	color: #F7F9FB !important;
}

body .tefoo-custom-battery-page .tefoo-custom-battery-page__case-category-description {
	color: rgba(247, 249, 251, .88) !important;
}

body .tefoo-custom-battery-page .tefoo-custom-battery-page__case-category-card > p:not(.tefoo-custom-battery-page__case-category-description) {
	position: relative;
	z-index: 4;
	top: auto;
	left: auto;
	display: inline-grid;
	width: 2.4rem;
	height: 2.4rem;
	margin: auto 0 .9rem !important;
	background: #C3A56C;
	color: #1E2A3A !important;
	font-size: .8rem;
	font-weight: 800;
	place-items: center;
}

body .tefoo-custom-battery-page .tefoo-custom-battery-page__case-category-card h3 {
	margin: 0 0 .75rem !important;
}

/* Visual search results for products, articles, and applications. */
.tefoo-search-page {
	background: #F7F9FB;
}

/* The Search template must not inherit Gutenberg's narrow article-content rail. */
body .wp-site-blocks > main.tefoo-search-page,
body .tefoo-search-page {
	width: 100% !important;
	max-width: none !important;
}

body .wp-site-blocks > main.tefoo-search-page.is-layout-constrained > .wp-block-shortcode,
body .tefoo-search-page.is-layout-constrained > .wp-block-shortcode,
body .tefoo-search-page > .wp-block-shortcode {
	display: block;
	box-sizing: border-box;
	width: min(81rem, calc(100vw - 3rem)) !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.tefoo-search-results {
	padding: 5.5rem 1.5rem 6.5rem;
	color: #1E2A3A;
}

.tefoo-search-results__inner {
	width: min(81rem, 100%);
	margin: 0 auto;
}

.tefoo-search-results__header {
	margin-bottom: 2.75rem;
	text-align: center;
}

.tefoo-search-results__eyebrow,
.tefoo-search-results__card-body p {
	margin: 0;
	color: #C3A56C;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.tefoo-search-results h1,
.tefoo-search-results__empty h2 {
	margin: .45rem 0 1.6rem;
	color: #1E2A3A;
	font-family: "Noto Serif SC", Georgia, serif;
	font-size: clamp(2.1rem, 4vw, 3.45rem);
	font-weight: 700;
	line-height: 1.12;
}

.tefoo-search-results__form {
	display: flex !important;
	align-items: stretch;
	height: 3.45rem !important;
	min-height: 0 !important;
	width: min(40.5rem, 100%);
	margin: 0 auto;
	border: 1px solid #D8DEE4;
	background: #FFFFFF;
}

.tefoo-search-results__form input {
	box-sizing: border-box;
	display: block !important;
	flex: 1 1 auto;
	min-width: 0;
	width: 100% !important;
	min-height: 0 !important;
	height: 100% !important;
	padding: 0 1rem;
	border: 0;
	background: transparent;
	color: #1E2A3A;
	font: inherit;
	outline-offset: -3px;
	text-align: left !important;
}

.tefoo-search-results__form button {
	position: relative;
	display: block !important;
	flex: 0 0 4.25rem;
	width: 4.25rem !important;
	min-height: 0 !important;
	height: 100% !important;
	padding: 0;
	border: 0;
	background: #2E343A;
	cursor: pointer;
}

.tefoo-search-results__form button::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 1rem;
	border: 2px solid #FFFFFF;
	border-radius: 50%;
	content: "";
	transform: translate(-60%, -65%);
}

.tefoo-search-results__form button::after {
	position: absolute;
	top: calc(50% + .42rem);
	left: calc(50% + .36rem);
	width: .55rem;
	border-top: 2px solid #FFFFFF;
	content: "";
	transform: rotate(45deg);
}

.tefoo-search-results__form button:hover,
.tefoo-search-results__form button:focus-visible {
	background: #C3A56C;
}

.tefoo-search-results__count {
	margin: 1rem 0 0;
	color: #5E6F7E;
	font-size: .94rem;
}

.tefoo-search-results__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.tefoo-search-results__card {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-height: 0 !important;
	min-width: 0;
	border: 1px solid #D8DEE4;
	background: #FFFFFF;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.tefoo-search-results__card:hover {
	border-color: #C3A56C;
	box-shadow: 0 .8rem 1.8rem rgba(30, 42, 58, .10);
	transform: translateY(-.22rem);
}

.tefoo-search-results__image {
	display: grid;
	position: relative;
	flex: 0 0 auto;
	aspect-ratio: 4 / 3;
	min-height: 0 !important;
	overflow: hidden;
	padding: 1rem;
	background: #F7F9FB;
	place-items: center;
}

.tefoo-search-results__image img {
	display: block;
	max-width: 100% !important;
	max-height: 100% !important;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.tefoo-search-results__card-body {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	min-height: 0 !important;
	padding: 1.05rem 1rem 1.2rem;
	background: #FFFFFF;
	text-align: center;
}

.tefoo-search-results__card-body h2 {
	display: -webkit-box;
	min-height: 2.5em;
	overflow: hidden;
	margin: .5rem 0 0;
	font-family: "Noto Serif SC", Georgia, serif;
	font-size: 1.2rem;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tefoo-search-results__card-body h2 a {
	color: #1E2A3A;
	text-decoration: none;
}

.tefoo-search-results__card-body h2 a:hover,
.tefoo-search-results__card-body h2 a:focus-visible {
	color: #C3A56C;
}

.tefoo-search-results__pagination {
	margin-top: 2.75rem;
}

.tefoo-search-results__pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tefoo-search-results__pagination a,
.tefoo-search-results__pagination span {
	display: inline-grid;
	min-width: 2.45rem;
	height: 2.45rem;
	padding: 0 .7rem;
	border: 1px solid #D8DEE4;
	color: #1E2A3A;
	font-size: .9rem;
	font-weight: 700;
	place-items: center;
	text-decoration: none;
}

.tefoo-search-results__pagination a:hover,
.tefoo-search-results__pagination a:focus-visible,
.tefoo-search-results__pagination .current {
	border-color: #C3A56C;
	background: #C3A56C;
	color: #1E2A3A;
}

.tefoo-search-results__empty {
	padding: 4rem 1.5rem;
	border: 1px solid #D8DEE4;
	background: #FFFFFF;
	text-align: center;
}

.tefoo-search-results__empty h2 {
	margin-bottom: .7rem;
	font-size: 2rem;
}

.tefoo-search-results__empty p {
	margin: 0;
	color: #5E6F7E;
}

@media (max-width: 980px) {
	.tefoo-search-results__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.tefoo-search-results {
		padding: 3.5rem 1rem 4.5rem;
	}

	.tefoo-search-results__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .85rem;
	}
}

@media (max-width: 440px) {
	.tefoo-search-results__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.tefoo-custom-battery-page__case-category-grid {
		left: auto;
		margin-right: auto !important;
		margin-left: auto !important;
		transform: none;
	}
}

/* Article TOC: stays in its content rail, then becomes fixed after it reaches the viewport top. */
@media (min-width: 782px) {
	body.single-post .wp-site-blocks,
	body.single-post .wp-site-blocks > main,
	body.single-post .wp-site-blocks > main.tefoo-article-page,
	body.single-post .tefoo-article-page,
	body.single-post .tefoo-article-page__reading,
	body.single-post .tefoo-article-page__reading-grid,
	body.single-post .tefoo-article-page__rail {
		overflow: visible !important;
	}

	body.single-post .tefoo-article-page__reading-grid {
		display: flex !important;
		align-items: stretch !important;
	}

	body.single-post .tefoo-article-page__rail {
		position: relative !important;
		width: auto !important;
		min-width: 0 !important;
		flex-basis: 25% !important;
	}

	body.single-post .tefoo-article-page__reading.tefoo-entrance,
	body.single-post .tefoo-article-page__reading-grid.tefoo-entrance {
		transform: none !important;
		will-change: auto !important;
	}

	body.single-post .tefoo-article-page__content {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		flex-basis: 75% !important;
	}

	body.single-post .tefoo-article-page__toc-share {
		position: static !important;
		width: auto !important;
		max-height: none;
		overflow: visible;
	}

	body.single-post .tefoo-article-page__toc-share.is-tefoo-toc-fixed {
		position: fixed !important;
		top: var(--tefoo-toc-fixed-top, 3.25rem) !important;
		left: var(--tefoo-toc-fixed-left, 1.5rem) !important;
		z-index: 20 !important;
		width: 15.5rem !important;
		max-height: calc(100vh - var(--tefoo-toc-fixed-top, 3.25rem) - 1.25rem);
		overflow-y: auto;
	}

body.single-post .tefoo-article-page__toc-share.is-tefoo-toc-at-end {
		position: absolute !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-height: none;
		overflow: visible;
	}
}

/* Product PDF library: maintain a predictable file-manager grid. */
body .tefoo-product-detail__document-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-auto-flow: row;
	grid-auto-rows: 12rem;
	width: 100% !important;
	max-width: none !important;
	gap: 1rem !important;
	align-items: stretch !important;
	justify-content: initial !important;
}

body .tefoo-product-detail__document-list > .tefoo-product-detail__document-card {
	box-sizing: border-box;
	grid-column: auto !important;
	grid-row: auto !important;
	width: auto !important;
	height: 12rem !important;
	min-height: 0 !important;
	margin: 0 !important;
	align-self: stretch !important;
	justify-self: stretch !important;
}

body .tefoo-product-detail__document-card > a {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 1.2rem .9rem 1.05rem !important;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	border: 1px solid #cfdee1;
	background: #fff;
	color: #102d36;
	text-align: center;
	text-decoration: none;
}

@media (max-width: 900px) {
	body .tefoo-product-detail__document-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 520px) {
	body .tefoo-product-detail__document-list {
		grid-template-columns: 1fr !important;
	}
}

/* Contact page: local Three.js globe for the global delivery module. */
.tefoo-contact-page__global-mark[data-tefoo-global-globe] {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(195, 165, 108, .72);
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #354250 0%, #1e2a3a 62%, #111a26 100%);
	box-shadow: inset 0 0 0 .45rem rgba(255, 255, 255, .025), 0 1.5rem 3.2rem rgba(0, 0, 0, .18);
}

.tefoo-contact-page__global-mark[data-tefoo-global-globe] canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
}

.tefoo-contact-page__global-mark[data-tefoo-global-globe] .tefoo-contact-page__global-mark-label {
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 50%;
	margin: 0 !important;
	padding: .45rem .6rem;
	border: 1px solid rgba(195, 165, 108, .42);
	background: rgba(30, 42, 58, .78);
	color: #fff !important;
	font-size: .64rem;
	line-height: 1.35;
	letter-spacing: .08em;
	text-align: center;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.tefoo-contact-page__global-mark[data-tefoo-global-globe].is-three-ready .tefoo-contact-page__global-mark-label {
	opacity: 0;
}
/* The globe canvas is the visual; remove the legacy circular frame behind it. */
.tefoo-contact-page__global-mark[data-tefoo-global-globe] {
	display: block !important;
	width: min(25rem, 90vw) !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
/* Fluent Forms submit appearance is kept in the theme, not an inline body style. */
form[class*="fluent_form_"] .ff-btn-submit:not(.ff_btn_no_style) { background-color: var(--fluentform-primary, #c3a56c); color: #fff; }
/* Case-study author, date and optional technical-source signals. */
body.single-tefoo_case .tefoo-case-evidence {
	box-sizing: border-box;
	margin: 0 0 2rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid #c3a56c;
	background: #f7f9fb;
	color: #2e343a;
	font-family: var(--wp--preset--font-family--system-sans, sans-serif);
}

body.single-tefoo_case .tefoo-case-evidence__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.25rem;
	font-size: .82rem;
	line-height: 1.5;
}

body.single-tefoo_case .tefoo-case-evidence strong {
	color: #1e2a3a;
	font-weight: 800;
}

body.single-tefoo_case .tefoo-case-evidence__source {
	margin: .7rem 0 0 !important;
	font-size: .84rem;
	line-height: 1.55;
}

body.single-tefoo_case .tefoo-case-evidence__source a {
	color: #1e2a3a;
	text-decoration-color: #c3a56c;
	text-decoration-thickness: 2px;
	text-underline-offset: .18em;
}

@media (max-width: 600px) {
	body.single-tefoo_case .tefoo-case-evidence {
		padding: .9rem 1rem;
	}

	body.single-tefoo_case .tefoo-case-evidence__meta {
		display: grid;
		gap: .42rem;
	}
}
/* FAQ accordion: smooth slide and fade for native Gutenberg Details blocks. */
:is(.tefoo-home-faq, .tefoo-faq-page__questions, .tefoo-medical-battery-page__faq, .tefoo-custom-battery-page__faq) details > p {
	display: block !important;
	max-height: 0;
	overflow: hidden;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	opacity: 0;
	transform: translateY(-0.35rem);
	transition: max-height .42s cubic-bezier(.2, .72, .2, 1), opacity .24s ease, transform .42s cubic-bezier(.2, .72, .2, 1), padding .42s ease;
}

:is(.tefoo-home-faq, .tefoo-faq-page__questions, .tefoo-medical-battery-page__faq, .tefoo-custom-battery-page__faq) details[open] > p {
	max-height: 40rem;
	padding-bottom: 1.35rem !important;
	opacity: 1;
	transform: translateY(0);
}

.tefoo-faq-page__questions .wp-block-details > p {
	padding-bottom: 1.2rem !important;
}

@media (prefers-reduced-motion: reduce) {
	:is(.tefoo-home-faq, .tefoo-faq-page__questions, .tefoo-medical-battery-page__faq, .tefoo-custom-battery-page__faq) details > p {
		transition: none;
		transform: none;
	}
}

/* FAQ follow-scroll panel: keep the intro sticky within the FAQ section. */
@media (min-width: 782px) {
	.tefoo-home-faq,
	.tefoo-home-faq__columns,
	.tefoo-faq-page__questions,
	.tefoo-faq-page__questions-inner {
		transform: none !important;
		overflow: visible !important;
	}

	.tefoo-home-faq__columns,
	.tefoo-faq-page__questions-inner {
		align-items: flex-start !important;
	}

	.tefoo-home-faq__intro,
	.tefoo-faq-page__intro {
		position: sticky !important;
		top: 2rem;
		align-self: flex-start;
		height: max-content;
		z-index: 2;
	}
}

@media (max-width: 781px) {
	.tefoo-home-faq__intro,
	.tefoo-faq-page__intro {
		position: static !important;
	}
}

/* Sticky FAQ intro requires visible overflow on its ancestor layout containers. */
@media (min-width: 782px) {
	body.home .wp-site-blocks,
	body.page-template-page-faq .wp-site-blocks,
	body.page-template-page-faq .tefoo-faq-page {
		overflow: visible !important;
	}
}

/* FAQ follow-scroll states controlled by faq-follow-scroll.js. */
@media (min-width: 782px) {
	:is(.tefoo-home-faq, .tefoo-faq-page__questions) {
		position: relative;
		overflow: visible !important;
	}

	:is(.tefoo-home-faq__intro, .tefoo-faq-page__intro).is-tefoo-faq-fixed {
		position: fixed !important;
		top: 2rem;
		left: var(--tefoo-faq-fixed-left);
		width: var(--tefoo-faq-fixed-width);
		z-index: 5;
	}

	:is(.tefoo-home-faq__intro, .tefoo-faq-page__intro).is-tefoo-faq-at-end {
		position: absolute !important;
		top: var(--tefoo-faq-end-top);
		left: var(--tefoo-faq-end-left);
		width: var(--tefoo-faq-end-width);
		z-index: 2;
	}

/* Core competencies layout: two text-led columns with editable icon blocks. */
.tefoo-about-page__capabilities-showcase { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 5.25rem 1.5rem 5.5rem; background: #fff; }
.tefoo-about-page__capabilities-showcase-heading { width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; margin: 0 auto 2.8rem !important; text-align: left; }
.tefoo-about-page__capabilities-showcase-heading h2 { margin: 0 !important; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: clamp(2.4rem, 4vw, 3.5rem); font-weight: 800; line-height: 1.08; }
.tefoo-about-page__competencies-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(80.5rem, calc(100vw - 3rem)) !important; max-width: none !important; gap: 2.75rem 4.25rem !important; margin: 0 auto !important; }
.tefoo-about-page__competencies-grid > .wp-block-column { min-width: 0; margin: 0 !important; }
.tefoo-about-page__competencies-column { display: flex !important; flex-direction: column; gap: 2.15rem; }
.tefoo-about-page__competency { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important; gap: 1.25rem; margin: 0 !important; }
.tefoo-about-page__competency-icon { flex: 0 0 4.25rem; width: 4.25rem !important; height: 4.25rem; margin: .1rem 0 0 !important; padding: .3rem; background: transparent; }
.tefoo-about-page__competency-icon img { display: block; width: 100%; height: 100%; object-fit: contain; filter: brightness(0) saturate(100%) invert(24%) sepia(53%) saturate(1954%) hue-rotate(193deg) brightness(93%) contrast(101%); }
.tefoo-about-page__competency-copy { flex: 1 1 auto; min-width: 0; margin: 0 !important; }
.tefoo-about-page__competency-copy h3 { margin: 0 0 .35rem !important; color: #1e2a3a; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: 1.5rem; font-weight: 800; line-height: 1.2; }
.tefoo-about-page__competency-copy p { margin: 0 !important; color: #5e6f7e; font-family: var(--wp--preset--font-family--system-sans, sans-serif); font-size: .98rem; line-height: 1.6; }
@media (max-width: 781px) {
	.tefoo-about-page__capabilities-showcase { padding: 4rem 1.25rem 4.5rem; }
	.tefoo-about-page__capabilities-showcase-heading, .tefoo-about-page__competencies-grid { width: min(100%, calc(100vw - 2.5rem)) !important; }
	.tefoo-about-page__capabilities-showcase-heading { margin-bottom: 2rem !important; }
	.tefoo-about-page__capabilities-showcase-heading h2 { font-size: 2.35rem; }
	.tefoo-about-page__competencies-grid { grid-template-columns: 1fr; gap: 2rem !important; }
	.tefoo-about-page__competencies-column { gap: 2rem; }
	.tefoo-about-page__competency-icon { flex-basis: 3.5rem; width: 3.5rem !important; height: 3.5rem; }
	.tefoo-about-page__competency-copy h3 { font-size: 1.25rem; }
	.tefoo-about-page__competency-copy p { font-size: .92rem; }
}
/* Keep the complete header within its own available width. */
.tefoo-site-header .tefoo-header-inner {
	box-sizing: border-box;
	width: calc(100% - 3rem);
	max-width: 1320px;
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	padding-block: 1rem;
}
.tefoo-header-inner > .tefoo-primary-navigation {
	flex: 1 0 auto;
	min-width: max-content;
}
.tefoo-header-inner > .tefoo-header-logo,
.tefoo-header-inner > .wp-block-site-logo {
	flex-shrink: 0;
}
.tefoo-header-inner .tefoo-primary-navigation > .wp-block-navigation__container {
	flex-wrap: nowrap;
}
:where(.tefoo-site-header .wp-block-search__button) svg {
	width: var(--tefoo-search-icon-size, 24px);
	height: var(--tefoo-search-icon-size, 24px);
	fill: currentColor;
}
@media (max-width: 1280px) {
	.tefoo-header-inner > .tefoo-primary-navigation { min-width: 0; flex: 1 1 auto; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 480px) {
	.tefoo-site-header .tefoo-header-inner { width: calc(100% - 2rem); gap: .75rem; }
}/* High-contrast mobile navigation panel. */
@media (max-width: 1280px) {
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open { box-sizing: border-box; background: #1E2A3A !important; color: #F7F9FB !important; opacity: 1 !important; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open::before { position: absolute; z-index: -1; inset: 0; background: #1E2A3A; content: ""; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { background: #1E2A3A !important; color: #F7F9FB !important; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle,
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: #F7F9FB !important; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .75rem 1rem; border-bottom: 1px solid rgba(228, 232, 236, .2); }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:hover,
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:focus-visible { background: #C3A56C !important; color: #1E2A3A !important; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: #2E343A !important; box-shadow: none; }
	.tefoo-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { padding: .35rem; border: 1px solid rgba(228, 232, 236, .5); background: #1E2A3A !important; }
}

/* Refined Contact inquiry form layout. */
.tefoo-contact-page__inquiry {
	padding-block: clamp(4rem, 7vw, 6.5rem);
}
.tefoo-contact-page__inquiry-columns {
	width: min(82rem, calc(100vw - 3rem)) !important;
	max-width: none !important;
	align-items: flex-start !important;
	gap: clamp(2.5rem, 5vw, 5rem) !important;
}
.tefoo-contact-page__inquiry-columns > .wp-block-column:first-child {
	flex: 0 1 34%;
}
.tefoo-contact-page__inquiry-columns > .wp-block-column:last-child {
	flex: 1 1 66%;
	min-width: 0;
}
.tefoo-contact-page__form {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid #c5ccd3;
	background: #fff;
	box-shadow: 0 1.25rem 3rem rgba(16, 45, 54, .08);
}
.tefoo-contact-page__form h3 {
	margin: 0 0 1.75rem !important;
	font-size: clamp(1.65rem, 2.5vw, 2rem);
}
.tefoo-contact-page__form > .fluentform,
.tefoo-contact-page__form .frm-fluent-form,
.tefoo-contact-page__form .frm-fluent-form fieldset {
	width: 100% !important;
	max-width: none !important;
}
.tefoo-contact-page__form .frm-fluent-form fieldset {
	display: block !important;
	margin: 0;
	padding: 0;
	border: 0;
}
.tefoo-contact-page__form .ff-t-container,
.tefoo-contact-page__form .ff-name-field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.25rem !important;
	margin-bottom: 1rem !important;
}
.tefoo-contact-page__form .ff-t-cell,
.tefoo-contact-page__form .ff-el-group {
	min-width: 0;
	margin: 0 0 1rem !important;
}
.tefoo-contact-page__form .ff-t-container .ff-el-group,
.tefoo-contact-page__form .ff-name-field-wrapper .ff-el-group {
	margin-bottom: 0 !important;
}
.tefoo-contact-page__form .ff-el-input--label {
	margin-bottom: .45rem;
}
.tefoo-contact-page__form .ff-el-input--label label {
	display: block;
	color: #1E2A3A;
	font-size: .9rem;
	font-weight: 800;
	line-height: 1.35;
}
.tefoo-contact-page__form .ff-el-form-control {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
	min-height: 3.25rem;
	padding: .75rem .9rem;
	border: 1px solid #8795a3;
	border-radius: 0;
	background: #fff;
	color: #1E2A3A;
	font-size: .95rem;
	line-height: 1.35;
}
.tefoo-contact-page__form .ff-el-form-control::placeholder {
	color: #89939d;
	opacity: 1;
}
.tefoo-contact-page__form textarea.ff-el-form-control {
	min-height: 9rem;
	padding-top: .9rem;
	resize: vertical;
}
.tefoo-contact-page__form .ff_submit_btn_wrapper {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 1.25rem 0 0 !important;
}
.tefoo-contact-page__form .ff-btn-submit {
	width: min(19rem, 100%) !important;
	min-height: 3.25rem;
	border: 0;
	border-radius: 0;
	background: #2E343A !important;
	color: #fff !important;
	font-weight: 800;
}
.tefoo-contact-page__form .ff-btn-submit:hover,
.tefoo-contact-page__form .ff-btn-submit:focus-visible {
	background: #C3A56C !important;
	color: #1E2A3A !important;
}
@media (max-width: 781px) {
	.tefoo-contact-page__inquiry-columns > .wp-block-column:first-child,
	.tefoo-contact-page__inquiry-columns > .wp-block-column:last-child {
		flex-basis: 100%;
	}
	.tefoo-contact-page__form .ff-t-container,
	.tefoo-contact-page__form .ff-name-field-wrapper {
		grid-template-columns: 1fr;
	}
}

/* Compact Contact inquiry form. */
.tefoo-contact-page__inquiry {
	padding-block: clamp(3.5rem, 5vw, 5rem);
}
.tefoo-contact-page__form {
	padding: clamp(1.4rem, 2.4vw, 2rem);
}
.tefoo-contact-page__form h3 {
	margin-bottom: 1.25rem !important;
}
.tefoo-contact-page__form .frm-fluent-form fieldset {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .85rem 1.1rem !important;
}
.tefoo-contact-page__form .frm-fluent-form fieldset > .ff_screen_reader_title,
.tefoo-contact-page__form .frm-fluent-form fieldset > p,
.tefoo-contact-page__form .frm-fluent-form fieldset > .ff-name-field-wrapper,
.tefoo-contact-page__form .frm-fluent-form fieldset > .ff-t-container,
.tefoo-contact-page__form .frm-fluent-form fieldset > .ff-el-group:has(textarea),
.tefoo-contact-page__form .frm-fluent-form fieldset > .ff_submit_btn_wrapper,
.tefoo-contact-page__form .frm-fluent-form fieldset > .ff-message-success,
.tefoo-contact-page__form .frm-fluent-form fieldset > .error {
	grid-column: 1 / -1;
}
.tefoo-contact-page__form .ff-t-container,
.tefoo-contact-page__form .ff-name-field-wrapper {
	gap: .85rem 1.1rem !important;
	margin-bottom: 0 !important;
}
.tefoo-contact-page__form .ff-t-cell,
.tefoo-contact-page__form .ff-el-group {
	margin-bottom: 0 !important;
}
.tefoo-contact-page__form .ff-el-input--label {
	margin-bottom: .3rem;
}
.tefoo-contact-page__form .ff-el-input--label label {
	font-size: .84rem;
	line-height: 1.25;
}
.tefoo-contact-page__form .ff-el-form-control {
	min-height: 2.85rem;
	padding: .6rem .8rem;
	font-size: .9rem;
}
.tefoo-contact-page__form textarea.ff-el-form-control {
	min-height: 6.5rem;
}
.tefoo-contact-page__form .ff_submit_btn_wrapper {
	margin-top: .35rem !important;
}
.tefoo-contact-page__form .ff-btn-submit {
	min-height: 2.9rem;
	width: min(17rem, 100%) !important;
}
@media (max-width: 781px) {
	.tefoo-contact-page__form .frm-fluent-form fieldset {
		grid-template-columns: 1fr;
	}
	.tefoo-contact-page__form .frm-fluent-form fieldset > * {
		grid-column: 1 !important;
	}
}

.tefoo-footer-privacy { margin-left: auto !important; }
.tefoo-footer-privacy a { color: #E4E8EC; text-decoration: none; text-underline-offset: .2em; }
.tefoo-footer-privacy a:hover, .tefoo-footer-privacy a:focus-visible { color: #C3A56C; text-decoration: underline; }
@media (max-width: 600px) { .tefoo-footer-bottom { align-items: flex-start; flex-direction: column; gap: .65rem; } .tefoo-footer-privacy { margin-left: 0 !important; } }


/* Improve Medical Battery case-card text contrast over photography. */
.tefoo-medical-battery-page .tefoo-application-cases__card::after {
	background: linear-gradient(180deg, rgba(16, 25, 36, .08) 12%, rgba(16, 25, 36, .58) 48%, rgba(16, 25, 36, .98) 100%);
}
.tefoo-medical-battery-page .tefoo-application-cases__content {
	right: 0;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
	padding: 2.6rem 1.55rem 1.5rem;
	background: linear-gradient(180deg, rgba(16, 25, 36, 0), rgba(16, 25, 36, .82) 38%, rgba(16, 25, 36, .96));
}
.tefoo-medical-battery-page .tefoo-application-cases__excerpt {
	color: #F7F9FB !important;
	font-weight: 600;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .9);
}
.tefoo-medical-battery-page .tefoo-application-cases__content h3,
.tefoo-medical-battery-page .tefoo-application-cases__content h3 a {
	color: #fff !important;
	text-shadow: 0 2px 5px rgba(0, 0, 0, .85);
}
