/*
 * Integrated Hire — SEO role page template (template-seo-role.php)
 * Every rule is scoped to main.ihseo, so nothing here can restyle other pages,
 * the header or the footer. Tokens mirror landing-assets/css/main.min.css.
 */

.ihseo {
	--ihseo-green: #2D6E4A;
	--ihseo-black: #131111;
	--ihseo-cream: #FEFBF4;
	--ihseo-beige: #F5F5DC;
	--ihseo-lime: #DDE8B9;
	--ihseo-orange: #FF7B42;
	--ihseo-gray: rgba(19, 17, 17, 0.6);
	--ihseo-line: #EEEDEB;
	--ihseo-shadow: 0 48px 32px -3px rgba(30, 72, 49, 0.08);
	--ihseo-dots-green: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='11' y='11' width='3' height='3' rx='1.5' fill='%232D6E4A'/%3E%3C/svg%3E%0A");
	--ihseo-dots-lime: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='11' y='11' width='3' height='3' rx='1.5' fill='%23DDE8B9'/%3E%3C/svg%3E%0A");
	display: block;
	background: var(--ihseo-cream);
	color: var(--ihseo-black);
}

/* ---- Base resets (defensive against theme/plugin stylesheets loaded after main.min.css) ---- */
.ihseo h1,
.ihseo h2,
.ihseo h3,
.ihseo h4,
.ihseo p,
.ihseo blockquote,
.ihseo figure {
	margin: 0;
	padding: 0;
}

.ihseo h1,
.ihseo h2,
.ihseo h3,
.ihseo h4 {
	color: var(--ihseo-black);
	text-transform: none;
}

/* Avoid one-word last lines in headings (supported browsers; others ignore it) */
.ihseo h1,
.ihseo h2 {
	text-wrap: balance;
}

.ihseo .green,
.ihseo h1 .green,
.ihseo h2 .green {
	color: var(--ihseo-green);
}

.ihseo .gray {
	color: var(--ihseo-gray);
}

.ihseo ol,
.ihseo ul {
	list-style: none;
	margin: 0 !important;
	padding: 0;
}

.ihseo a.btn-primary,
.ihseo a.btn-primary:visited {
	color: var(--ihseo-cream);
	text-decoration: none;
}

.ihseo a.link,
.ihseo a.link:visited {
	color: var(--ihseo-green);
	text-decoration: none;
}

.ihseo .ihseo-icon {
	flex: 0 0 auto;
	display: inline-block;
}

.ihseo .ihseo-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---- Shared section pieces ---- */
.ihseo .ihseo-section {
	position: relative;
	padding: 96px 0;
}

.ihseo .ihseo-section + .ihseo-section {
	padding-top: 0;
}

.ihseo .ihseo-head {
	max-width: 760px;
	margin: 0 auto 48px;
	text-align: center;
}

.ihseo .ihseo-head .h2-bold {
	margin-bottom: 16px;
}

.ihseo .ihseo-head__intro p + p {
	margin-top: 12px;
}

.ihseo .ihseo-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ihseo .ihseo-link .ihseo-icon--arrow {
	transition: transform 0.2s ease;
}

.ihseo .ihseo-link:hover .ihseo-icon--arrow {
	transform: translateX(5px);
}

.ihseo .ihseo-link:hover .ihseo-icon--arrow rect {
	fill: var(--ihseo-green);
}

.ihseo .ihseo-link:hover .ihseo-icon--arrow path {
	fill: var(--ihseo-cream);
}

.ihseo .ihseo-caption {
	margin-top: 24px;
}

.ihseo .ihseo-caption--center {
	text-align: center;
}

.ihseo .ihseo-caption span[style] {
	color: var(--ihseo-black);
}

/* ---- Rich text (WYSIWYG answers and notes) ---- */
.ihseo .ihseo-rich p + p,
.ihseo .ihseo-rich ul + p,
.ihseo .ihseo-rich p + ul {
	margin-top: 16px !important;
}

.ihseo .ihseo-rich a {
	display: inline;
	color: var(--ihseo-black);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ihseo .ihseo-rich a:hover {
	color: var(--ihseo-green);
}

.ihseo .ihseo-rich strong,
.ihseo .ihseo-rich b {
	color: var(--ihseo-black);
	font-weight: 700;
}

.ihseo .ihseo-rich ul {
	margin-top: 16px !important;
	padding-left: 32px;
}

.ihseo .ihseo-rich ul li {
	position: relative;
}

.ihseo .ihseo-rich ul li + li {
	margin-top: 12px;
}

.ihseo .ihseo-rich ul li::before {
	content: "";
	position: absolute;
	top: 3px;
	left: -32px;
	width: 20px;
	height: 20px;
	background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='18' height='18' rx='9' stroke='%232D6E4A' stroke-width='2'/%3E%3Cpath d='M7 10.2222L8.84616 12L13 8' stroke='%232D6E4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") center / contain no-repeat;
}

/* ---- Hero ---- */
.ihseo .ihseo-hero {
	position: relative;
	padding: 48px 0 96px;
	background: var(--ihseo-beige);
}

.ihseo .ihseo-hero::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1240px;
	height: 320px;
	background-image: var(--ihseo-dots-green);
	background-size: 24px;
	background-repeat: repeat;
	background-position: center bottom;
	z-index: 0;
}

.ihseo .ihseo-hero .container {
	position: relative;
	z-index: 1;
}

.ihseo .ihseo-hero__card {
	max-width: 992px;
	margin: 0 auto;
	padding: 64px;
	border-radius: 32px;
	background: var(--ihseo-cream);
	box-shadow: var(--ihseo-shadow);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.ihseo .ihseo-hero__title {
	max-width: 860px;
}

.ihseo .ihseo-hero__intro {
	max-width: 690px;
}

.ihseo .ihseo-hero__intro p + p {
	margin-top: 12px;
}

.ihseo .ihseo-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px 24px;
	margin-top: 8px;
}

.ihseo .ihseo-hero__caption span[style] {
	color: var(--ihseo-black);
}

.ihseo .ihseo-stats {
	width: 100%;
	max-width: 640px;
	margin-top: 16px;
	padding: 24px 32px;
	border-radius: 24px;
	background: var(--ihseo-beige);
}

.ihseo .ihseo-stats__title {
	margin-bottom: 12px;
	font-variant: all-small-caps;
	letter-spacing: 0.02em;
	color: var(--ihseo-black);
}

.ihseo .ihseo-stats__list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.ihseo .ihseo-stats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	flex: 1 1 0;
	min-width: 0;
}

.ihseo .ihseo-stats__value {
	white-space: nowrap;
}

.ihseo .ihseo-stats__sep {
	align-self: center;
	display: flex;
	margin-top: -18px;
}

/* Hero with an image: card left, image right */
.ihseo .ihseo-hero--with-image .ihseo-hero__grid {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: 48px;
	align-items: center;
}

.ihseo .ihseo-hero--with-image .ihseo-hero__card {
	margin: 0;
	align-items: flex-start;
	text-align: left;
}

.ihseo .ihseo-hero--with-image .ihseo-hero__actions {
	justify-content: flex-start;
}

.ihseo .ihseo-hero__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 32px;
}

/* ---- Tasks ---- */
.ihseo .ihseo-tasks {
	padding-top: 112px;
}

.ihseo .ihseo-tasks__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px 40px;
}

.ihseo .ihseo-task__title {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 8px;
}

.ihseo .ihseo-task__title .ihseo-icon {
	margin-top: 1px;
}

.ihseo .ihseo-task__text {
	padding-left: 30px;
}

/* ---- Software panel ---- */
.ihseo .ihseo-panel {
	max-width: 990px;
	margin: 0 auto;
	padding: 64px;
	border-radius: 32px;
	background: var(--ihseo-beige);
}

.ihseo .ihseo-panel .ihseo-head {
	margin-bottom: 40px;
}

.ihseo .ihseo-software__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 32px;
}

.ihseo .ihseo-software__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.ihseo .ihseo-software__item .ihseo-icon {
	margin-top: 0;
}

.ihseo .ihseo-software__name {
	margin-bottom: 4px;
}

/* ---- Candidate examples ---- */
.ihseo .ihseo-cands__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ihseo .ihseo-cand {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px;
	border-radius: 32px;
	background: linear-gradient(180deg, var(--ihseo-lime) 0%, var(--ihseo-beige) 100%);
}

.ihseo .ihseo-cand__top {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ihseo .ihseo-cand__avatar {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--ihseo-green);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ihseo .ihseo-cand__meta {
	margin-top: 4px;
}

.ihseo .ihseo-cand__tools {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto !important;
}

.ihseo .ihseo-cand__tools li {
	padding: 6px 10px;
	border-radius: 100px;
	background: var(--ihseo-cream);
	color: var(--ihseo-green);
	font-weight: 600;
	line-height: 1;
}

/* ---- Comparison + calculator ---- */
.ihseo .ihseo-compare__card {
	max-width: 990px;
	margin: 0 auto;
	padding: 64px;
	border-radius: 32px;
	background: var(--ihseo-beige);
	box-shadow: var(--ihseo-shadow);
}

.ihseo .ihseo-compare .ihseo-head {
	margin-bottom: 40px;
}

.ihseo .ihseo-table-wrap {
	width: 100%;
}

.ihseo .ihseo-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.ihseo .ihseo-table th,
.ihseo .ihseo-table td {
	padding: 16px 20px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid rgba(19, 17, 17, 0.08);
	background: transparent;
}

.ihseo .ihseo-table thead th,
.ihseo .ihseo-table thead td {
	padding-top: 20px;
	padding-bottom: 16px;
	vertical-align: bottom;
	border-bottom: 2px solid rgba(19, 17, 17, 0.12);
}

.ihseo .ihseo-table tbody tr:last-child th,
.ihseo .ihseo-table tbody tr:last-child td {
	border-bottom: 0;
}

.ihseo .ihseo-table th[scope="row"] {
	padding-left: 0;
	width: 24%;
}

.ihseo .ihseo-table__corner {
	padding-left: 0 !important;
	width: 24%;
}

.ihseo .ihseo-table .is-ours {
	background: var(--ihseo-lime);
	color: var(--ihseo-black);
	font-weight: 600;
}

.ihseo .ihseo-table thead .is-ours {
	border-radius: 16px 16px 0 0;
	color: var(--ihseo-green);
}

.ihseo .ihseo-table tbody tr:last-child .is-ours {
	border-radius: 0 0 16px 16px;
}

.ihseo .ihseo-calc {
	margin-top: 48px;
	padding: 32px;
	border-radius: 24px;
	background: var(--ihseo-cream);
}

.ihseo .ihseo-calc__title {
	margin-bottom: 8px;
}

.ihseo .ihseo-calc__intro {
	margin-bottom: 24px;
}

.ihseo .ihseo-calc__inputs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.ihseo .ihseo-calc__field label {
	display: block;
	margin-bottom: 8px;
}

/* Uses the site's native input look (2px border, 8px radius, green on focus).
   The extra :not() chain out-ranks main.min.css's global input rule. */
.ihseo .ihseo-calc__input {
	position: relative;
}

.ihseo .ihseo-calc__affix {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	font-family: Inter, sans-serif;
	font-size: 18px;
	line-height: 1;
	color: var(--ihseo-gray);
	pointer-events: none;
}

.ihseo .ihseo-calc__affix--end {
	left: auto;
	right: 16px;
}

.ihseo .ihseo-calc__input input:not([type='checkbox']):not([type='radio']):not([type='submit']) {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 14px 16px 14px 34px;
	border: 2px solid rgba(19, 17, 17, 0.12);
	border-radius: 8px;
	background: #FFFFFF;
	box-shadow: none;
	outline: 0;
	font-family: Inter, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--ihseo-black);
	-moz-appearance: textfield;
	appearance: textfield;
	transition: border-color 0.2s ease;
}

.ihseo .ihseo-calc__input--suffix input:not([type='checkbox']):not([type='radio']):not([type='submit']) {
	padding-left: 16px;
	padding-right: 40px;
}

.ihseo .ihseo-calc__input--plain input:not([type='checkbox']):not([type='radio']):not([type='submit']) {
	padding-left: 16px;
}

.ihseo .ihseo-calc__input input:not([type='checkbox']):not([type='radio']):not([type='submit']):focus {
	border-color: var(--ihseo-green);
}

.ihseo .ihseo-calc__input input::-webkit-outer-spin-button,
.ihseo .ihseo-calc__input input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ihseo .ihseo-calc__results {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 24px;
}

.ihseo .ihseo-calc__result {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 20px;
	border-radius: 16px;
	background: var(--ihseo-beige);
}

.ihseo .ihseo-calc__result--ours {
	background: var(--ihseo-lime);
}

.ihseo .ihseo-calc__result--be .h3-bold {
	font-size: 20px;
}

.ihseo .ihseo-calc__summary {
	margin-top: 20px;
	font-weight: 600;
}

.ihseo .ihseo-calc__caption {
	margin-top: 8px;
}

.ihseo .ihseo-compare__note {
	margin-top: 48px;
}

.ihseo .ihseo-compare__note .h3-bold {
	margin-bottom: 12px;
}

/* ---- Process ---- */
.ihseo .ihseo-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.ihseo .ihseo-steps--3 {
	grid-template-columns: repeat(3, 1fr);
}

.ihseo .ihseo-step {
	padding: 32px 24px;
	border-radius: 32px;
	background: linear-gradient(180deg, var(--ihseo-lime) 25%, var(--ihseo-beige) 100%);
	text-align: center;
}

.ihseo .ihseo-step__num {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 8px;
}

.ihseo .ihseo-step__num::before,
.ihseo .ihseo-step__num::after {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 100px;
	background: var(--ihseo-green);
}

.ihseo .ihseo-step__title {
	margin-bottom: 8px;
}

/* ---- Testimonials ---- */
.ihseo .ihseo-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ihseo .ihseo-reviews__grid--two {
	max-width: 990px;
	margin: 0 auto !important;
	grid-template-columns: repeat(2, 1fr);
}

.ihseo .ihseo-reviews__grid--single {
	max-width: 760px;
	margin: 0 auto !important;
	grid-template-columns: 1fr;
}

.ihseo .ihseo-reviews__grid--single .ihseo-review {
	padding: 48px;
	text-align: center;
}

.ihseo .ihseo-reviews__grid--single .ihseo-review__quote {
	font-size: 20px;
	line-height: 150%;
}

.ihseo .ihseo-reviews__grid--single .ihseo-review__author {
	justify-content: center;
	text-align: left;
}

.ihseo .ihseo-review {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px;
	border-radius: 32px;
	background: var(--ihseo-beige);
}

.ihseo .ihseo-review__author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
}

.ihseo .ihseo-review__author img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

/* ---- FAQ ---- */
.ihseo .ihseo-faq__list {
	max-width: 780px;
	margin: 0 auto;
}

.ihseo .ihseo-faq__item {
	padding: 24px 0;
	border-bottom: 2px solid var(--ihseo-line);
}

.ihseo .ihseo-faq__item summary {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	list-style: none;
}

.ihseo .ihseo-faq__item summary::-webkit-details-marker {
	display: none;
}

.ihseo .ihseo-faq__item summary::marker {
	content: "";
}

.ihseo .ihseo-faq__item summary::after {
	content: "";
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	background: url("data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1.54883' width='18' height='18' rx='9' fill='%23FEFBF4'/%3E%3Crect x='1' y='1.54883' width='18' height='18' rx='9' stroke='%232D6E4A' stroke-width='2'/%3E%3Cpath d='M10 6.36697V14.7307M5.81813 10.5488H14.1819' stroke='%232D6E4A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A") center / contain no-repeat;
	transition: transform 0.2s linear;
}

.ihseo .ihseo-faq__item[open] summary::after {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1.54883' width='18' height='18' rx='9' fill='%23FEFBF4'/%3E%3Crect x='1' y='1.54883' width='18' height='18' rx='9' stroke='%232D6E4A' stroke-width='2'/%3E%3Cpath d='M6.81799 10.5488L13.182 10.5488' stroke='%232D6E4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
	transform: rotate(180deg);
}

.ihseo .ihseo-faq__item summary:hover .ihseo-faq__q {
	color: var(--ihseo-green);
}

.ihseo .ihseo-faq__q {
	transition: color 0.2s linear;
}

.ihseo .ihseo-faq__a {
	padding: 16px 40px 0 0;
}

/* ---- Role sections ("spotlights"): cards or a numbered timeline ---- */
.ihseo .ihseo-spot__list {
	display: grid;
	gap: 24px;
	margin: 0 auto !important;
	padding: 0;
	list-style: none;
}

.ihseo .ihseo-spot--cards .ihseo-spot__list--n1 {
	max-width: 760px;
}

.ihseo .ihseo-spot--cards .ihseo-spot__list--n2,
.ihseo .ihseo-spot--cards .ihseo-spot__list--n4 {
	max-width: 990px;
	grid-template-columns: repeat(2, 1fr);
}

.ihseo .ihseo-spot--cards .ihseo-spot__list--n3 {
	grid-template-columns: repeat(3, 1fr);
}

.ihseo .ihseo-spot--cards .ihseo-spot__item {
	display: flex;
	flex-direction: column;
	padding: 32px;
	border-radius: 24px;
	background: var(--ihseo-beige);
}

.ihseo .ihseo-spot--panel.ihseo-spot--cards .ihseo-spot__item {
	background: var(--ihseo-cream);
}

.ihseo .ihseo-spot__label {
	margin-bottom: 8px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.ihseo .ihseo-spot__title {
	margin-bottom: 8px;
}

.ihseo .ihseo-spot__bullets {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 0 0;
	list-style: none;
}

.ihseo .ihseo-spot__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--ihseo-black);
}

.ihseo .ihseo-spot__bullets .ihseo-icon {
	flex: 0 0 20px;
	margin-top: 2px;
}

.ihseo .ihseo-spot--timeline .ihseo-spot__list {
	max-width: 860px;
	gap: 0;
}

.ihseo .ihseo-spot--timeline .ihseo-spot__item {
	position: relative;
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 24px;
	padding-bottom: 32px;
}

.ihseo .ihseo-spot--timeline .ihseo-spot__item::before {
	content: "";
	position: absolute;
	top: 48px;
	bottom: 0;
	left: 23px;
	width: 2px;
	background: var(--ihseo-lime);
}

.ihseo .ihseo-spot--timeline .ihseo-spot__item:last-child {
	padding-bottom: 0;
}

.ihseo .ihseo-spot--timeline .ihseo-spot__item:last-child::before {
	display: none;
}

.ihseo .ihseo-spot__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--ihseo-green);
	color: var(--ihseo-cream);
}

.ihseo .ihseo-spot--timeline .ihseo-spot__body {
	padding-top: 10px;
}

.ihseo .ihseo-spot--panel.ihseo-spot--timeline .ihseo-spot__item::before {
	background: rgba(45, 110, 74, 0.25);
}

/* ---- Related links + applicant note ---- */
.ihseo .ihseo-related {
	padding-bottom: 80px;
}

.ihseo .ihseo-related__title {
	text-align: center;
	margin-bottom: 24px;
}

.ihseo .ihseo-related__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.ihseo .ihseo-related__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 24px;
	border: 1px solid var(--ihseo-line);
	border-radius: 16px;
	background: var(--ihseo-cream);
}

.ihseo .ihseo-related__item .link {
	font-size: 18px;
}

.ihseo .ihseo-applicant {
	margin-top: 40px;
	text-align: center;
}

.ihseo .ihseo-applicant a {
	display: inline;
	color: var(--ihseo-green);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---- CTA band (mirrors the About page "book" band) ---- */
.ihseo .ihseo-cta-top {
	width: 100%;
	max-width: 1240px;
	height: 48px;
	margin: 0 auto;
	background-image: var(--ihseo-dots-green);
	background-repeat: repeat;
	background-size: 24px;
	background-position: bottom;
}

.ihseo .ihseo-cta {
	position: relative;
	overflow: hidden;
	padding: 80px 0;
	background: var(--ihseo-green);
}

.ihseo .ihseo-cta::before,
.ihseo .ihseo-cta::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1240px;
	height: 48px;
	background-image: var(--ihseo-dots-lime);
	background-repeat: repeat;
	background-size: 24px;
	background-position: bottom;
	pointer-events: none;
	z-index: 1;
}

.ihseo .ihseo-cta::before {
	top: 0;
}

.ihseo .ihseo-cta::after {
	bottom: 0;
	max-width: 100%;
}

.ihseo .ihseo-cta .container {
	position: relative;
	z-index: 2;
}

.ihseo .ihseo-cta__card {
	max-width: 990px;
	margin: 0 auto;
	padding: 64px;
	border-radius: 32px;
	background: var(--ihseo-cream);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ihseo .ihseo-cta__card .h2-bold {
	margin-bottom: 24px;
}

.ihseo .ihseo-cta__card .body-text {
	max-width: 690px;
	margin-bottom: 24px;
}

.ihseo .ihseo-cta__card .btn-primary {
	margin-bottom: 8px;
}

.ihseo .ihseo-btn--icon {
	gap: 12px;
}

.ihseo .ihseo-cta:hover .btn-primary {
	background: var(--ihseo-orange);
}

.ihseo .ihseo-cta .btn-primary:hover {
	background: var(--ihseo-black) !important;
}

/* =========================== Tablet =========================== */
@media (max-width: 1024px) {
	.ihseo .ihseo-section {
		padding: 64px 0;
	}

	.ihseo .ihseo-tasks {
		padding-top: 72px;
	}

	.ihseo .ihseo-head {
		max-width: 800px;
		margin-bottom: 32px;
	}

	.ihseo .ihseo-head .h2-bold {
		margin-bottom: 8px;
	}

	.ihseo .ihseo-hero {
		padding: 16px 0 72px;
	}

	.ihseo .ihseo-hero::before {
		height: 48px;
		bottom: 16px;
		width: calc(100% - 32px);
	}

	.ihseo .ihseo-hero__card {
		max-width: 800px;
		padding: 32px 48px;
		border-radius: 16px;
		box-shadow: none;
	}

	.ihseo .ihseo-hero--with-image .ihseo-hero__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ihseo .ihseo-hero--with-image .ihseo-hero__card {
		margin: 0 auto;
		align-items: center;
		text-align: center;
	}

	.ihseo .ihseo-hero--with-image .ihseo-hero__actions {
		justify-content: center;
	}

	.ihseo .ihseo-hero__media {
		max-width: 800px;
		margin: 0 auto;
	}

	.ihseo .ihseo-hero__media img {
		aspect-ratio: 16 / 9;
		border-radius: 16px;
	}

	.ihseo .ihseo-tasks__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 32px 24px;
	}

	.ihseo .ihseo-panel,
	.ihseo .ihseo-compare__card,
	.ihseo .ihseo-cta__card {
		max-width: 800px;
		padding: 40px 24px;
		border-radius: 16px;
	}

	.ihseo .ihseo-compare__card {
		box-shadow: none;
	}

	.ihseo .ihseo-software__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ihseo .ihseo-cands__grid,
	.ihseo .ihseo-reviews__grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	.ihseo .ihseo-cand,
	.ihseo .ihseo-review,
	.ihseo .ihseo-step {
		padding: 24px 16px;
		border-radius: 16px;
	}

	.ihseo .ihseo-steps,
	.ihseo .ihseo-steps--3 {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.ihseo .ihseo-table th,
	.ihseo .ihseo-table td {
		padding: 14px 12px;
	}

	.ihseo .ihseo-calc {
		padding: 24px 16px;
		border-radius: 16px;
	}

	.ihseo .ihseo-calc__result--be .h3-bold {
		font-size: 18px;
	}

	.ihseo .ihseo-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ihseo .ihseo-cta {
		padding: 64px 0;
	}

	.ihseo .ihseo-cta-top {
		max-width: 100%;
	}

	.ihseo .ihseo-cta__card .h2-bold {
		font-size: 30px;
		margin-bottom: 12px;
	}

	.ihseo .ihseo-cta .btn-primary {
		background: var(--ihseo-orange);
	}
}

/* =========================== Phone =========================== */
@media (max-width: 767px) {
	.ihseo .ihseo-section {
		padding: 48px 0;
	}

	/* main.min.css drops body padding to 18px here; clear the fixed header like the home hero does */
	.ihseo .ihseo-hero {
		padding-top: 62px;
	}

	.ihseo .ihseo-tasks {
		padding-top: 56px;
	}

	.ihseo .ihseo-hero__card {
		padding: 32px 16px;
		gap: 12px;
	}

	.ihseo .ihseo-hero__actions {
		flex-direction: column;
		width: 100%;
	}

	.ihseo .ihseo-hero__actions .btn-primary {
		width: 100%;
		max-width: 360px;
	}

	.ihseo .ihseo-stats {
		padding: 16px 12px;
		border-radius: 16px;
	}

	.ihseo .ihseo-stats__list {
		gap: 8px;
	}

	.ihseo .ihseo-stats__value {
		font-size: 20px;
	}

	.ihseo .ihseo-stats__label {
		text-align: center;
	}

	.ihseo .ihseo-tasks__grid,
	.ihseo .ihseo-software__grid,
	.ihseo .ihseo-cands__grid,
	.ihseo .ihseo-reviews__grid,
	.ihseo .ihseo-steps,
	.ihseo .ihseo-steps--3,
	.ihseo .ihseo-related__grid,
	.ihseo .ihseo-calc__inputs,
	.ihseo .ihseo-calc__results {
		grid-template-columns: 1fr;
	}

	.ihseo .ihseo-tasks__grid {
		gap: 24px;
	}

	.ihseo .ihseo-task__text {
		padding-left: 30px;
	}

	.ihseo .ihseo-panel,
	.ihseo .ihseo-compare__card {
		padding: 32px 16px;
	}

	/* Comparison table becomes one card per row */
	.ihseo .ihseo-table,
	.ihseo .ihseo-table tbody,
	.ihseo .ihseo-table tr,
	.ihseo .ihseo-table th,
	.ihseo .ihseo-table td {
		display: block;
		width: 100% !important;
	}

	.ihseo .ihseo-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.ihseo .ihseo-table tbody tr {
		margin-bottom: 12px;
		padding: 16px;
		border-radius: 16px;
		background: var(--ihseo-cream);
	}

	.ihseo .ihseo-table tbody tr:last-child {
		margin-bottom: 0;
	}

	.ihseo .ihseo-table th[scope="row"] {
		padding: 0 0 8px;
		border: 0;
	}

	.ihseo .ihseo-table td {
		display: grid;
		grid-template-columns: 42% 1fr;
		gap: 12px;
		padding: 8px 10px;
		border-bottom: 1px solid rgba(19, 17, 17, 0.06);
		border-radius: 0 !important;
	}

	.ihseo .ihseo-table td::before {
		content: attr(data-label);
		font-weight: 600;
		color: var(--ihseo-black);
	}

	.ihseo .ihseo-table td.is-ours {
		border-radius: 8px !important;
	}

	.ihseo .ihseo-table tbody tr td:last-child {
		border-bottom: 0;
	}

	.ihseo .ihseo-faq__item {
		padding: 16px 0;
	}

	.ihseo .ihseo-faq__q {
		font-size: 18px;
	}

	.ihseo .ihseo-faq__a {
		padding-right: 0;
	}

	.ihseo .ihseo-cta__card {
		padding: 32px 16px;
	}

	.ihseo .ihseo-cta__card .btn-primary {
		width: 100%;
		max-width: 360px;
	}
}

/* ---- Role sections + single testimonial: responsive ---- */
@media (max-width: 1024px) {
	.ihseo .ihseo-spot--cards .ihseo-spot__list--n3 {
		grid-template-columns: repeat(2, 1fr);
	}

	.ihseo .ihseo-reviews__grid--single {
		grid-template-columns: 1fr;
	}

	.ihseo .ihseo-reviews__grid--single .ihseo-review__quote {
		font-size: 18px;
	}
}

@media (max-width: 767px) {
	.ihseo .ihseo-spot--cards .ihseo-spot__list--n2,
	.ihseo .ihseo-spot--cards .ihseo-spot__list--n3,
	.ihseo .ihseo-spot--cards .ihseo-spot__list--n4 {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ihseo .ihseo-spot--cards .ihseo-spot__item {
		padding: 24px 20px;
		border-radius: 16px;
	}

	.ihseo .ihseo-spot--timeline .ihseo-spot__item {
		grid-template-columns: 36px 1fr;
		gap: 16px;
		padding-bottom: 24px;
	}

	.ihseo .ihseo-spot--timeline .ihseo-spot__item::before {
		top: 36px;
		left: 17px;
	}

	.ihseo .ihseo-spot__num {
		width: 36px;
		height: 36px;
	}

	.ihseo .ihseo-spot--timeline .ihseo-spot__body {
		padding-top: 6px;
	}
}

/* IH 2026-11-09: keep text clear of the desktop "Give Me a Quote" tab at 1025-1300px */
@media (min-width: 1025px) and (max-width: 1300px) { .ihseo .ihseo-tasks__grid, .ihseo .ihseo-spot .ihseo-caption { padding-right: 24px; } }
