.penna-hiw {
	--penna-hiw-left: 25%;
	--penna-hiw-circle: 60px;
	--penna-hiw-step-gap: 30px;
	--penna-hiw-track-color: #efc66c;
	--penna-hiw-track-width: 1px;
	--penna-hiw-service-divider: #efc66c;
	--penna-hiw-service-divider-width: 1px;
	display: grid;
	grid-template-columns: var(--penna-hiw-left) minmax(0, 1fr);
	width: 100%;
	max-width: 1400px;
	margin-inline: auto;
	overflow: hidden;
	border: 1px solid #efc66c;
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
}
.penna-hiw *, .penna-hiw *::before, .penna-hiw *::after { box-sizing: border-box; }
.penna-hiw__left { display: flex; align-items: center; min-width: 0; padding: 50px 35px; background: #111; color: #fff; }
.penna-hiw__left-inner { display: flex; flex-direction: column; align-items: flex-start; width: 100%; gap: 35px; }
.penna-hiw__eyebrow { font-family: "Instrument Sans", sans-serif; font-size: 12px; font-weight: 400; line-height: 1.3; letter-spacing: .2em; text-transform: uppercase; color: #fff; }
.penna-hiw__heading { margin: 0; font-family: "Cormorant Garamond", serif; font-size: 48px; font-weight: 400; line-height: .98; color: #fff; }
.penna-hiw__accent { display: block; width: 91px; height: 1px; flex: none; background: #efc66c; }
.penna-hiw__description { font-family: "Instrument Sans", sans-serif; font-size: 13px; font-weight: 400; line-height: 1.75; color: #fff; }
.penna-hiw__description > :first-child { margin-top: 0; }
.penna-hiw__description > :last-child { margin-bottom: 0; }
.penna-hiw__button { display: flex; align-items: center; justify-content: space-between; width: 205px; max-width: 100%; padding: 18px; border: 1px solid #efc66c; background: transparent; color: #fff; font-family: "Instrument Sans", sans-serif; font-size: 11px; line-height: 1; text-decoration: none; transition: color .25s ease, background-color .25s ease, border-color .25s ease; }
.penna-hiw__button:hover { background: #efc66c; color: #000; }
.penna-hiw__button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.penna-hiw__button-icon { display: inline-flex; width: 16px; height: 16px; align-items: center; justify-content: center; }
.penna-hiw__button-icon svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.penna-hiw__right { display: flex; flex-direction: column; min-width: 0; padding: 55px 55px 30px; }
.penna-hiw__process { position: relative; display: flex; flex-direction: column; }
.penna-hiw__process-line { display: none; }
.penna-hiw__step { display: grid; grid-template-columns: var(--penna-hiw-circle) minmax(0, 1fr); column-gap: var(--penna-hiw-step-gap); min-width: 0; }
.penna-hiw__track { position: relative; z-index: 1; display: flex; justify-content: center; }
.penna-hiw__step:not(:last-child) .penna-hiw__track::after { content: ""; position: absolute; z-index: 0; top: calc(var(--penna-hiw-circle) / 2); bottom: calc(-1 * var(--penna-hiw-circle) / 2); left: 50%; width: var(--penna-hiw-track-width); transform: translateX(-50%); background: var(--penna-hiw-track-color); }
.penna-hiw__circle { position: relative; z-index: 1; display: flex; width: var(--penna-hiw-circle); height: var(--penna-hiw-circle); flex: 0 0 var(--penna-hiw-circle); align-items: center; justify-content: center; border: 1px solid #efc66c; border-radius: 50%; background: #fff; color: #a97521; font-family: "Cormorant Garamond", serif; font-size: 24px; font-weight: 400; line-height: 1; }
.penna-hiw__step-content { min-width: 0; margin-bottom: 20px; padding: 5px 0 20px; border-bottom: 1px solid #ddd8d0; }
.penna-hiw__step:last-child .penna-hiw__step-content { margin-bottom: 0; }
.penna-hiw__step-title { margin: 0 0 6px; color: #27231f; font-family: "Cormorant Garamond", serif; font-size: 24px; font-weight: 400; line-height: 1.15; }
.penna-hiw__step-description { color: #27231f; font-family: "Instrument Sans", sans-serif; font-size: 14px; font-weight: 400; line-height: 1.55; }
.penna-hiw__services { margin-top: 26px; }
.penna-hiw__services-title { position: relative; margin: 0 0 20px; color: #a97521; font-family: "Instrument Sans", sans-serif; font-size: 11px; font-weight: 400; line-height: 1; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
.penna-hiw__services-title::before, .penna-hiw__services-title::after { content: ""; position: absolute; top: 50%; width: calc(50% - 90px); height: 1px; background: #efc66c; }
.penna-hiw__services-title::before { left: 0; } .penna-hiw__services-title::after { right: 0; }
.penna-hiw__services-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: 20px; column-gap: 15px; }
.penna-hiw__service { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 8px; padding-inline: 16px; text-align: center; }
.penna-hiw__service:not(:first-child) { border-left: var(--penna-hiw-service-divider-width) solid var(--penna-hiw-service-divider); }
.penna-hiw__service-icon { display: flex; width: 75px; height: 75px; align-items: center; justify-content: center; color: #c58b35; }
.penna-hiw__service-icon i { font-size: 75px; }
.penna-hiw__service-icon svg, .penna-hiw__service-icon img { display: block; width: 75px; height: 75px; object-fit: contain; object-position: center; }
.penna-hiw__service-icon svg.penna-icon { fill: none !important; stroke: currentColor; }
.penna-hiw__service-text { color: #27231f; font-family: "Instrument Sans", sans-serif; font-size: 14px; font-weight: 500; line-height: 1.25; }
@media (max-width: 1024px) {
	.penna-hiw { --penna-hiw-left: 35%; }
	.penna-hiw__heading { font-size: 38px; }
	.penna-hiw__left, .penna-hiw__right { padding: 38px 28px; }
	.penna-hiw__services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.penna-hiw__service:nth-child(3n + 1) { border-left: 0; }
}
@media (max-width: 767px) {
	.penna-hiw { display: block; }
	.penna-hiw__heading { font-size: 32px; line-height: 1.04; }
	.penna-hiw__left, .penna-hiw__right { width: 100%; padding: 34px 24px; }
	.penna-hiw__left-inner { gap: 26px; }
	.penna-hiw__button { width: 100%; }
	.penna-hiw__services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.penna-hiw__service:nth-child(3n + 1) { border-left: var(--penna-hiw-service-divider-width) solid var(--penna-hiw-service-divider); }
	.penna-hiw__service:nth-child(odd) { border-left: 0; }
}
@media (max-width: 400px) {
	.penna-hiw__services-grid { grid-template-columns: 1fr; }
	.penna-hiw__service { border-left: 0 !important; }
}
