/* Setup logo image depending on device */

img.logo {
    height: 48px;
}

.small-text {
	font-size: 0.8em;
}

h1.featurette-heading {
	/*font-size: 60px;*/
	color:#cb1400;
}

.lead > p {
  color: #7e7e7e;
  font: italic 400 20px/1.4 "cardo";
}

.product-thumbnail {
	position: relative;
	transition: transform 0.3s ease;
	display: inline-block;
}

.product-thumbnail:hover {
	transform: translate(-10px, -10px);
	box-shadow: 5px 5px 15px rgba(0,0,0,0.2);
}


.hover-zoom {
    overflow: hidden; /* Prevents image from expanding outside its container */
    transition: transform 0.3s ease; /* Smooth transition */
}
.hover-zoom img {
    transition: transform 0.3s ease; /* Smooth image transformation */
}
.hover-zoom:hover img {
    transform: scale(1.05); /* Zoom to 110% on hover */
}

.series-name {
	font-weight: 600;
	font-size: 1.25em;
}

a.thumbnail {
	text-decoration: none;
}

div.product-row {
	margin-bottom: 10px;
}

div.productinfo > span {
	font-weight: bold;
}

#product-content-row {
  background: none repeat scroll 0 0 #d3d3d3;
  padding-top: 4px;
  padding-bottom: 4px;
  margin-left: 0px;
  margin-right: 0px;
}

div.cat-container {
	padding-left: 4px;
	padding-right: 4px;
}

table.file {
  background: none repeat scroll 0 0 #d3d3d3;
  width: 100%;
  margin: 5px;
}

table.file td {
	padding: 10px 8px;
	color: black;
	border: 1px solid #b4b4b4;
	font-size: 18px;
	width: 80%;
}

td.download {
	vertical-align: middle;
	text-align: center;
	width: 20%;
}

td.download a {
	display: block;
	width: 100%;
}

/* ==========================================================================
   Modern brand layer — typography, sections, capability components
   (see static/css/bootstrap-overrides.css for colour tokens)
   ========================================================================== */

/* --- Typography ---------------------------------------------------------- */
h1, .h1, h2, .h2,
.display-1, .display-2, .display-3, .display-4 {
	font-weight: 800;
	letter-spacing: -0.02em;
}

.section-eyebrow {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--bs-brand-green);
	margin-bottom: 0.5rem;
}

.section-title {
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 1rem;
}

/* --- Background helpers (alternating bands) ------------------------------ */
.bg-sand        { background-color: var(--bs-sand) !important; }
.bg-sand-deep   { background-color: var(--bs-sand-deep) !important; }
.bg-green-soft  { background-color: var(--bs-brand-green-soft) !important; }

/* --- Hero ---------------------------------------------------------------- */
.hero {
	position: relative;
	background-size: cover;
	background-position: center;
	color: #fff;
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(29,35,30,.35) 0%, rgba(29,35,30,.7) 100%);
}
.hero > .container { position: relative; z-index: 1; }
.hero-title {
	font-size: clamp(2.25rem, 5vw, 4rem);
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -0.02em;
}
.hero-lead {
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
	max-width: 42rem;
}

/* --- Capability cards ("What we do") ------------------------------------- */
.capability-card {
	display: block;
	height: 100%;
	border-radius: var(--radius-card);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--shadow-soft);
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.capability-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-lift);
	color: inherit;
}
.capability-card__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--bs-brand-green-soft);
}
.capability-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.capability-card__media--icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.5rem;
	color: var(--bs-brand-green);
}
.capability-card:hover .capability-card__media img { transform: scale(1.05); }
.capability-card__body { padding: 1.25rem 1.25rem 1.5rem; }
.capability-card__title {
	font-weight: 700;
	font-size: 1.25rem;
	margin-bottom: 0.35rem;
}
.capability-card__cta {
	display: inline-block;
	margin-top: 0.5rem;
	font-weight: 600;
	color: var(--bs-brand-green);
}

/* --- Stats / proof band -------------------------------------------------- */
.stat { text-align: center; }
.stat__number {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1;
	color: var(--bs-brand-green);
}
.stat__label {
	margin-top: 0.4rem;
	font-weight: 600;
	color: var(--bs-secondary-color, #6c757d);
}

/* --- Feature imagery (alternating image/text rows) ----------------------- */
.feature-img {
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-soft);
	width: 100%;
	height: auto;
}

/* --- Navigation ---------------------------------------------------------- */
.navbar .nav-link {
	font-weight: 500;
	position: relative;
}
.navbar .nav-link:hover,
.navbar .nav-link.active {
	color: var(--bs-brand-green);
}
.navbar .nav-link.active::after {
	content: "";
	position: absolute;
	left: 0.5rem;
	right: 0.5rem;
	bottom: -2px;
	height: 3px;
	border-radius: 3px;
	background: var(--bs-brand-green);
}