:root {
	--gn-topbar: #242424;
	--gn-header: #4a5a45;
	--gn-header-dark: #3d4b39;
	--gn-gold: #ecb338;
	--gn-gold-dark: #d9a020;
	--gn-green: #67a671;
	--gn-green-dark: #4f9159;
	--gn-ink: #333;
	--gn-muted: #777;
	--gn-light: #f5f5f5;
	--gn-white: #fff;
	--gn-border: #e5e5e5;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--gn-white);
	color: var(--gn-ink);
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.7;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--gn-green-dark);
}

a:hover {
	color: var(--gn-gold-dark);
}

/* ── Top bar ── */
.hm-topbar {
	background: var(--gn-topbar);
	color: rgba(255, 255, 255, 0.85);
	font-size: 12px;
}

.hm-topbar__inner,
.hm-header__inner,
.hm-footer__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.hm-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 10px;
	padding-bottom: 10px;
	flex-wrap: wrap;
}

.hm-topbar a {
	color: #fff;
	text-decoration: none;
}

.hm-topbar a:hover {
	color: var(--gn-gold);
}

.hm-topbar__left {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.hm-topbar__social {
	display: flex;
	gap: 6px;
}

.hm-topbar__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	font-size: 11px;
	font-weight: 700;
}

.hm-topbar__social a:hover {
	background: var(--gn-gold);
	color: #fff;
}

/* ── Header ── */
.hm-header {
	background: var(--gn-header);
	color: #fff;
}

.hm-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 18px;
	padding-bottom: 18px;
	flex-wrap: wrap;
}

.hm-brand__text {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: #fff;
}

.hm-brand__mark {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--gn-green);
	flex-shrink: 0;
	position: relative;
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.15);
}

.hm-brand__mark::before {
	content: "";
	position: absolute;
	inset: 10px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath fill='%23fff' d='M12 2C8 10 4 14 4 22c4-2 6-4 8-8 2 4 4 6 8 8 0-8-4-12-8-20z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.hm-brand__titles {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.hm-brand__name,
.hm-footer__logo .hm-brand__name {
	font-family: Montserrat, "Open Sans", sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff;
}

.hm-brand__tagline {
	font-size: 11px;
	opacity: 0.75;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.hm-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hm-nav__list a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
	font-family: Montserrat, sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 4px 0;
	border-top: 2px solid transparent;
}

.hm-nav__list a:hover,
.hm-nav__list .current-menu-item a,
.hm-nav__list .current_page_item a {
	color: #fff;
	border-top-color: var(--gn-green);
}

.hm-header__cta {
	background: var(--gn-gold);
	color: #fff;
	text-decoration: none;
	font-family: Montserrat, sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 12px 22px;
	flex-shrink: 0;
	transition: background 0.2s;
}

.hm-header__cta:hover {
	background: var(--gn-gold-dark);
	color: #fff;
}

.hm-main {
	min-height: 50vh;
}

/* ── Hero slider ── */
.hm-hero-slider {
	position: relative;
	min-height: 480px;
	background-color: #2a3828;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	padding: 80px 24px;
}

.hm-hero-slider__overlay {
	position: absolute;
	inset: 0;
	background: rgba(30, 40, 28, 0.45);
}

.hm-hero-slider__inner {
	position: relative;
	z-index: 1;
	max-width: 700px;
}

.hm-hero-slider__line {
	margin: 0;
	font-family: Montserrat, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.hm-hero-slider__line--thin {
	font-size: 14px;
	font-weight: 300;
	opacity: 0.95;
}

.hm-hero-slider__line--mid {
	font-size: clamp(1.4rem, 4vw, 2rem);
	font-weight: 400;
	margin-top: 4px;
}

.hm-hero-slider__title {
	font-family: Montserrat, sans-serif;
	font-size: clamp(2.8rem, 8vw, 4.5rem);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
	margin: 8px 0 28px;
	letter-spacing: 0.02em;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

/* ── Buttons ── */
.hm-btn {
	display: inline-block;
	padding: 13px 26px;
	font-family: Montserrat, sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	border: none;
	transition: background 0.2s, transform 0.2s;
}

.hm-btn:hover {
	transform: translateY(-1px);
}

.hm-btn--gold {
	background: var(--gn-gold);
	color: #fff;
}

.hm-btn--gold:hover {
	background: var(--gn-gold-dark);
	color: #fff;
}

.hm-btn--green {
	background: var(--gn-green);
	color: #fff;
}

.hm-btn--green:hover {
	background: var(--gn-green-dark);
	color: #fff;
}

/* ── Three service boxes ── */
.hm-services-row {
	background: var(--gn-white);
	padding: 0 24px;
	margin-top: -1px;
}

.hm-services-row__grid {
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-left: 1px solid var(--gn-border);
}

.hm-service-box {
	padding: 40px 28px;
	text-align: center;
	border-right: 1px solid var(--gn-border);
	border-bottom: 1px solid var(--gn-border);
}

.hm-service-box__icon {
	display: block;
	width: 72px;
	height: 72px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: var(--gn-light) center/36px no-repeat;
	border: 2px solid var(--gn-green);
}

.hm-service-box__icon--reptile {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%2367a671' d='M6 20c4-8 10-12 18-14-2 6 0 12 4 18-6-2-10-2-14-2 2-1 2-1 2-2z'/%3E%3C/svg%3E");
}

.hm-service-box__icon--mammal {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%2367a671' d='M16 6c-6 4-10 10-10 16 3-2 6-3 10-3s7 1 10 3c0-6-4-12-10-16z'/%3E%3C/svg%3E");
}

.hm-service-box__icon--supplies {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect fill='none' stroke='%2367a671' stroke-width='2' x='6' y='10' width='20' height='16' rx='2'/%3E%3C/svg%3E");
}

.hm-service-box h3 {
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 12px;
	color: var(--gn-ink);
}

.hm-service-box p {
	color: var(--gn-muted);
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.65;
}

.hm-service-box > a {
	font-family: Montserrat, sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--gn-green-dark);
	text-decoration: none;
}

.hm-service-box > a:hover {
	color: var(--gn-gold-dark);
}

/* ── Action band (dual CTA) ── */
.hm-action-band {
	position: relative;
	background-size: cover;
	background-position: center;
	padding: 56px 24px;
}

.hm-action-band__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}

.hm-action-band__grid {
	position: relative;
	z-index: 1;
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.hm-action-card {
	background: rgba(0, 0, 0, 0.55);
	padding: 36px 32px;
	color: #fff;
}

.hm-action-card h2 {
	font-family: Montserrat, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.hm-action-card--gold h2 {
	color: var(--gn-gold);
}

.hm-action-card--green h2 {
	color: var(--gn-green);
}

.hm-action-card__sub {
	font-family: Montserrat, sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	margin: 0 0 12px;
	opacity: 0.9;
}

.hm-action-card h2::after,
.hm-action-card__sub::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	margin-top: 10px;
}

.hm-action-card--gold h2::after {
	background: var(--gn-gold);
}

.hm-action-card--green h2::after {
	background: var(--gn-green);
}

.hm-action-card p {
	margin: 0 0 22px;
	font-size: 13px;
	line-height: 1.7;
	opacity: 0.88;
}

/* ── Section head ── */
.hm-section-head {
	max-width: 1140px;
	margin: 0 auto;
	padding: 48px 24px 24px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.hm-section-head--band {
	background: var(--gn-light);
	max-width: none;
}

.hm-section-head__icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--gn-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M8 1C5 5 2 6 1 9c3-1 5-2 7-4 2 2 4 3 7 4-1-3-4-4-7-8z'/%3E%3C/svg%3E") center/16px no-repeat;
	flex-shrink: 0;
}

.hm-section-head h2 {
	font-family: Montserrat, sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0;
	flex: 1;
	color: var(--gn-ink);
}

.hm-section-head__link {
	margin-left: auto;
	font-family: Montserrat, sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--gn-green-dark);
	text-decoration: none;
}

.hm-section-head__link:hover {
	color: var(--gn-gold-dark);
}

/* ── Animals project grid ── */
.hm-animals-grid {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px 56px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.hm-animal-project {
	background: var(--gn-white);
	border: 1px solid var(--gn-border);
	transition: box-shadow 0.2s;
}

.hm-animal-project:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.hm-animal-project__img {
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background: #ddd;
}

.hm-animal-project__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.hm-animal-project:hover .hm-animal-project__img img {
	transform: scale(1.04);
}

.hm-animal-project__body {
	padding: 18px 20px 22px;
}

.hm-animal-project__body h3 {
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 8px;
	color: var(--gn-ink);
}

.hm-animal-project__body p {
	margin: 0;
	font-size: 13px;
	color: var(--gn-muted);
	line-height: 1.6;
}

/* ── About block ── */
.hm-about-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--gn-white);
	border-top: 1px solid var(--gn-border);
}

.hm-about-block__media img {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
}

.hm-about-block__features {
	padding: 40px 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 28px;
}

.hm-feature-item {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.hm-feature-item__icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--gn-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2367a671' d='M12 2C8 8 4 10 2 14c4-1 8-3 10-6 2 3 6 5 10 6-2-4-6-6-10-12z'/%3E%3C/svg%3E") center/22px no-repeat;
	border: 2px solid var(--gn-green);
	flex-shrink: 0;
}

.hm-feature-item__icon--heart {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2367a671' d='M12 21s-8-4.5-8-11a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 6.5-8 11-8 11z'/%3E%3C/svg%3E");
}

.hm-feature-item__icon--shop {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2367a671' d='M4 8h16l-1 12H5L4 8zm2-4h12l2 4H4l2-4z'/%3E%3C/svg%3E");
}

.hm-feature-item h3 {
	font-family: Montserrat, sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 6px;
	color: var(--gn-green-dark);
}

.hm-feature-item p {
	margin: 0;
	font-size: 13px;
	color: var(--gn-muted);
	line-height: 1.65;
}

/* ── Stats bar ── */
.hm-stats-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: var(--gn-header);
	color: #fff;
	text-align: center;
}

.hm-stat {
	padding: 36px 16px;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.hm-stat:last-child {
	border-right: none;
}

.hm-stat strong {
	display: block;
	font-family: Montserrat, sans-serif;
	font-size: clamp(1.8rem, 4vw, 2.4rem);
	font-weight: 800;
	color: var(--gn-gold);
	line-height: 1;
	margin-bottom: 8px;
}

.hm-stat span {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.85;
}

/* ── Supplies ── */
.hm-supplies-band {
	background: var(--gn-light);
	padding: 0 24px 56px;
}

.hm-supplies-band__grid {
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.hm-supply-item {
	background: var(--gn-white);
	border: 1px solid var(--gn-border);
	padding: 36px 28px;
	text-align: center;
}

.hm-supply-item__icon {
	display: block;
	width: 64px;
	height: 64px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--gn-light) center/30px no-repeat;
	border: 2px solid var(--gn-green);
}

.hm-supply-item__icon--tank {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect fill='none' stroke='%2367a671' stroke-width='2' x='4' y='8' width='24' height='18' rx='2'/%3E%3C/svg%3E");
}

.hm-supply-item__icon--heat {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle fill='none' stroke='%2367a671' stroke-width='2' cx='16' cy='18' r='8'/%3E%3Cpath fill='%2367a671' d='M16 4v8'/%3E%3C/svg%3E");
}

.hm-supply-item__icon--substrate {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%2367a671' d='M4 22h24'/%3E%3Cpath fill='%234f9159' d='M8 18h4v4H8zm6-3h4v7h-4zm6 2h4v5h-4z'/%3E%3C/svg%3E");
}

.hm-supply-item h3 {
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 10px;
}

.hm-supply-item p {
	margin: 0;
	font-size: 13px;
	color: var(--gn-muted);
	line-height: 1.6;
}

/* ── CTA strip ── */
.hm-cta-strip {
	background: var(--gn-header-dark);
	color: #fff;
	padding: 56px 24px;
	text-align: center;
}

.hm-cta-strip__inner {
	max-width: 720px;
	margin: 0 auto;
}

.hm-cta-strip h2 {
	font-family: Montserrat, sans-serif;
	font-size: clamp(1.3rem, 3vw, 1.8rem);
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 12px;
	line-height: 1.3;
}

.hm-cta-strip p {
	margin: 0 0 24px;
	opacity: 0.88;
	font-size: 14px;
}

.hm-cta-strip__buttons {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ── Pages ── */
.hm-page {
	max-width: 820px;
	margin: 0 auto;
	padding: 48px 24px 72px;
}

.hm-page--center {
	text-align: center;
}

.hm-article__header h1 {
	font-family: Montserrat, sans-serif;
	font-size: clamp(1.6rem, 4vw, 2.2rem);
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.hm-article__header h1 a {
	text-decoration: none;
	color: inherit;
}

.hm-article__meta {
	color: var(--gn-muted);
	font-size: 13px;
	margin: 0 0 24px;
}

.hm-article__content {
	line-height: 1.75;
}

/* ── Footer ── */
.hm-footer {
	background: var(--gn-topbar);
	color: rgba(255, 255, 255, 0.78);
}

.hm-footer__top {
	padding: 48px 0 32px;
}

.hm-footer__brand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hm-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.hm-footer__social {
	display: flex;
	gap: 8px;
}

.hm-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	text-decoration: none;
	font-size: 12px;
	font-weight: 700;
}

.hm-footer__social a:hover {
	background: var(--gn-gold);
}

.hm-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}

.hm-footer__col h3 {
	font-family: Montserrat, sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 16px;
}

.hm-footer__col p {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.65;
}

.hm-footer__col a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}

.hm-footer__col a:hover {
	color: var(--gn-gold);
}

.hm-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hm-footer__links li {
	margin-bottom: 8px;
}

.hm-footer__links a {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
}

.hm-footer__links a::before {
	content: "› ";
	color: var(--gn-green);
	font-weight: 700;
}

.hm-footer__links a:hover {
	color: var(--gn-gold);
}

.hm-footer__bar {
	background: #1a1a1a;
	padding: 14px 24px;
	text-align: center;
}

.hm-footer__bar p {
	margin: 0;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
}

/* ── Responsive ── */
@media (max-width: 960px) {
	.hm-services-row__grid,
	.hm-action-band__grid,
	.hm-animals-grid,
	.hm-about-block,
	.hm-stats-bar,
	.hm-supplies-band__grid,
	.hm-footer__cols {
		grid-template-columns: 1fr;
	}

	.hm-service-box {
		border-left: none;
	}

	.hm-stat {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.hm-header__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 640px) {
	.hm-animals-grid {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 641px) and (max-width: 960px) {
	.hm-animals-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
