.hhmtp {
	--hhmtp-heading: #292622;
	--hhmtp-text: #48433e;
	--hhmtp-accent: #b94d2b;
	--hhmtp-card: #fffdfa;
	--hhmtp-border: #eadfd5;
	--hhmtp-partner: #fffaf5;
	--hhmtp-decoration: #cf8c72;
	width: 100%;
	background: #fbf7f1;
	color: var(--hhmtp-text);
	font-family: Arial, Helvetica, sans-serif;
}

.hhmtp *, .hhmtp *::before, .hhmtp *::after { box-sizing: border-box; }
.hhmtp a { text-decoration: none; }
.hhmtp__inner { width: 100%; max-width: 1260px; margin: 0 auto; }
.hhmtp__report { padding: 34px 48px 32px; }
.hhmtp__report-grid { display: grid; grid-template-columns: minmax(0,42%) minmax(0,1fr); align-items: center; gap: 54px; }
.hhmtp__report-copy { max-width: 430px; }
.hhmtp__report-heading,
.hhmtp__partner-heading { margin: 0; color: var(--hhmtp-heading); font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px,3.4vw,52px); font-weight: 500; line-height: 1.08; letter-spacing: -.025em; }
.hhmtp__rule { display: block; width: 57px; height: 3px; margin: 14px 0 22px; border-radius: 3px; background: var(--hhmtp-accent); transform: rotate(-3deg); }
.hhmtp__report-text,
.hhmtp__partner-text { max-width: 640px; margin: 0 0 28px; color: var(--hhmtp-text); font-size: 16px; line-height: 1.55; }

.hhmtp__timeline { position: relative; overflow: visible; background: var(--hhmtp-card); border: 1px solid var(--hhmtp-border); border-radius: 7px; box-shadow: 0 4px 14px rgba(60,45,32,.1); }
.hhmtp__timeline::before { content: ""; position: absolute; z-index: 2; top: 20px; bottom: 20px; left: -1px; width: 2px; background: var(--hhmtp-accent); }
.hhmtp-update { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 150px; align-items: center; gap: 18px; min-height: 94px; padding: 12px 14px 12px 42px; }
.hhmtp-update + .hhmtp-update { border-top: 1px solid var(--hhmtp-border); }
.hhmtp-update__dot { position: absolute; z-index: 3; top: 50%; left: -7px; width: 14px; height: 14px; margin-top: -7px; border: 2px solid var(--hhmtp-card); border-radius: 50%; background: var(--hhmtp-accent); }
.hhmtp-update__copy { display: flex; min-width: 0; flex-direction: column; }
.hhmtp-update__date { display: block; margin-bottom: 3px; color: #393530; font-size: 10px; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.hhmtp-update__title { display: block; margin-bottom: 3px; color: var(--hhmtp-heading); font-size: 15px; line-height: 1.25; }
.hhmtp-update__description { display: block; color: var(--hhmtp-text); font-size: 13px; line-height: 1.35; }
.hhmtp-update__image { display: block; width: 100%; height: 68px; border-radius: 5px; object-fit: cover; object-position: center; }

.hhmtp-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 3px; padding: 13px 24px; font-size: 12px; font-weight: 800; line-height: 1.15; letter-spacing: .03em; text-align: center; text-transform: uppercase; transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.hhmtp-button:hover { transform: translateY(-2px); box-shadow: 0 5px 13px rgba(74,42,26,.16); }
.hhmtp-button:focus-visible { outline: 3px solid rgba(185,77,43,.35); outline-offset: 3px; }
.hhmtp-button--primary { background: #ae4524; color: #fff; }
.hhmtp-button--primary:hover { background: #91391d; color: #fff; }
.hhmtp-button--outline { border-color: #b95433; background: transparent; color: #b95433; }
.hhmtp-button--outline:hover { background: #b95433; color: #fff; }

.hhmtp__partner { border-top: 1px solid var(--hhmtp-border); background: var(--hhmtp-partner); }
.hhmtp__partner-grid { display: grid; grid-template-columns: minmax(0,48%) minmax(0,1fr); min-height: 345px; }
.hhmtp__partner-image, .hhmtp__partner-image picture { display: block; width: 100%; height: 100%; min-height: inherit; }
.hhmtp__partner-image img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: 50% var(--hhmtp-y,50%); }
.hhmtp__partner-copy { position: relative; display: flex; overflow: hidden; flex-direction: column; justify-content: center; padding: 44px 58px 44px 54px; }
.hhmtp__partner-heading { font-size: clamp(34px,3.2vw,50px); }
.hhmtp__buttons { display: flex; flex-wrap: wrap; gap: 18px; }

.hhmtp__cross { display: none; position: absolute; right: 5%; bottom: 25px; width: 58px; height: 120px; color: var(--hhmtp-decoration); opacity: .64; pointer-events: none; }
.hhmtp--decorated .hhmtp__cross { display: block; }
.hhmtp__cross::before, .hhmtp__cross::after { content: ""; position: absolute; z-index: 2; border: 2px solid currentColor; border-radius: 5px; }
.hhmtp__cross::before { top: 0; left: 25px; width: 9px; height: 71px; }
.hhmtp__cross::after { top: 18px; left: 8px; width: 43px; height: 9px; }
.hhmtp__cross i, .hhmtp__cross b { position: absolute; bottom: 0; width: 36px; height: 65px; border: 1px solid currentColor; border-width: 0 0 1px 1px; border-radius: 0 0 0 28px; transform: rotate(-18deg); }
.hhmtp__cross i { left: 1px; }
.hhmtp__cross b { right: -2px; transform: scaleX(-1) rotate(-18deg); }

@media (max-width: 1024px) {
	.hhmtp__report { padding: 40px 28px; }
	.hhmtp__report-grid { grid-template-columns: minmax(0,40%) minmax(0,1fr); gap: 34px; }
	.hhmtp-update { grid-template-columns: minmax(0,1fr) 112px; padding-left: 32px; }
	.hhmtp__partner-grid { grid-template-columns: minmax(0,45%) minmax(0,1fr); }
	.hhmtp__partner-copy { padding: 42px 32px; }
	.hhmtp__cross { opacity: .28; }
}

@media (max-width: 767px) {
	.hhmtp__report { padding: 38px 18px; }
	.hhmtp__report-grid { grid-template-columns: 1fr !important; gap: 34px; }
	.hhmtp__report-copy { max-width: none; }
	.hhmtp__report-heading, .hhmtp__partner-heading { font-size: 34px; }
	.hhmtp__report-text, .hhmtp__partner-text { font-size: 15px; }
	.hhmtp__timeline { margin-left: 7px; }
	.hhmtp-update { grid-template-columns: minmax(0,1fr) 90px !important; gap: 10px; min-height: 100px; padding: 12px 10px 12px 25px; }
	.hhmtp-update__image { height: 72px; }
	.hhmtp-update__description { font-size: 12px; }
	.hhmtp__partner-grid { grid-template-columns: 1fr !important; min-height: 0 !important; }
	.hhmtp__partner-image, .hhmtp__partner-image picture, .hhmtp__partner-image img { min-height: 260px; height: 260px; }
	.hhmtp__partner-copy { padding: 38px 18px 44px; }
	.hhmtp__buttons { flex-direction: column; gap: 12px; }
	.hhmtp__buttons .hhmtp-button { width: 100%; }
	.hhmtp__cross { right: 2%; bottom: 5px; transform: scale(.75); transform-origin: bottom right; }
}

@media (max-width: 430px) {
	.hhmtp-update { grid-template-columns: 1fr !important; padding-right: 12px; }
	.hhmtp-update__image { width: 100%; height: 130px; margin-top: 5px; }
}

@media (prefers-reduced-motion: reduce) {
	.hhmtp * { transition: none !important; }
}
