:root {
	--hip-navy: #253b6e;
	--hip-navy-2: #1b2f5d;
	--hip-deep: #0d1830;
	--hip-ink: #111827;
	--hip-muted: #5e687a;
	--hip-blue: #2f6bd8;
	--hip-blue-dark: #1f52ad;
	--hip-sky: #eaf2ff;
	--hip-soft: #f5f7fb;
	--hip-line: #dce3ee;
	--hip-white: #ffffff;
	--hip-success: #12734a;
	--hip-error: #a43333;
	--hip-radius-sm: 12px;
	--hip-radius: 20px;
	--hip-radius-lg: 30px;
	--hip-shadow-sm: 0 10px 28px rgba(18, 35, 70, 0.08);
	--hip-shadow: 0 24px 64px rgba(18, 35, 70, 0.13);
	--hip-container: 1180px;
	--hip-header-height: 78px;
}

html {
	scroll-behavior: smooth;
}

body.hip-one-page {
	margin: 0;
	background: var(--hip-white);
	color: var(--hip-ink);
	font-family: Inter, Aptos, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

body.hip-one-page,
body.hip-one-page button,
body.hip-one-page input,
body.hip-one-page select,
body.hip-one-page textarea {
	font-family: Inter, Aptos, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.hip-site,
.hip-site * {
	box-sizing: border-box;
}

.hip-site img,
.hip-site svg {
	display: block;
}

.hip-site img {
	max-width: 100%;
	height: auto;
}

.hip-site a {
	color: inherit;
	text-decoration: none;
}

.hip-site button,
.hip-site input,
.hip-site select,
.hip-site textarea {
	font: inherit;
}

.hip-site h1,
.hip-site h2,
.hip-site h3,
.hip-site p,
.hip-site ul,
.hip-site ol,
.hip-site dl,
.hip-site dd {
	margin-top: 0;
}

.hip-site h1,
.hip-site h2,
.hip-site h3 {
	color: var(--hip-ink);
	font-weight: 750;
	letter-spacing: -0.035em;
	line-height: 1.12;
}

.hip-site h1 {
	font-size: clamp(2.75rem, 5.4vw, 4.65rem);
	margin-bottom: 24px;
}

.hip-site h2 {
	font-size: clamp(2.15rem, 3.7vw, 3.35rem);
	margin-bottom: 20px;
}

.hip-site h3 {
	font-size: 1.28rem;
	margin-bottom: 12px;
}

.hip-site p {
	color: var(--hip-muted);
	margin-bottom: 22px;
}

.hip-site [id] {
	scroll-margin-top: calc(var(--hip-header-height) + 20px);
}

.hip-container {
	width: min(calc(100% - 40px), var(--hip-container));
	margin-inline: auto;
}

.hip-skip-link {
	position: fixed;
	z-index: 9999;
	top: 8px;
	left: 8px;
	padding: 12px 18px;
	border-radius: 8px;
	background: var(--hip-white);
	color: var(--hip-deep);
	box-shadow: var(--hip-shadow-sm);
	transform: translateY(-160%);
	transition: transform 160ms ease;
}

.hip-skip-link:focus {
	transform: translateY(0);
}

.hip-site :focus-visible {
	outline: 3px solid #76a8ff;
	outline-offset: 3px;
}

.hip-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	height: var(--hip-header-height);
	border-bottom: 1px solid rgba(37, 59, 110, 0.1);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 8px 30px rgba(13, 24, 48, 0.04);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

body.admin-bar .hip-header {
	top: 32px;
}

.hip-header__inner {
	display: flex;
	align-items: center;
	gap: 26px;
	height: 100%;
}

.hip-brand {
	flex: 0 0 auto;
	line-height: 0;
}

.hip-brand img {
	width: 218px;
	height: auto;
	border-radius: 2px;
}

.hip-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	margin-left: auto;
}

.hip-nav a {
	position: relative;
	padding-block: 10px;
	color: #334155;
	font-size: 0.91rem;
	font-weight: 650;
	white-space: nowrap;
}

.hip-nav a::after {
	position: absolute;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 2px;
	border-radius: 999px;
	background: var(--hip-blue);
	content: "";
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 170ms ease;
}

.hip-nav a:hover,
.hip-nav a.is-active {
	color: var(--hip-navy);
}

.hip-nav a:hover::after,
.hip-nav a.is-active::after {
	transform: scaleX(1);
}

.hip-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 1px solid var(--hip-line);
	border-radius: 10px;
	background: var(--hip-white);
	cursor: pointer;
}

.hip-menu-toggle span {
	display: block;
	width: 100%;
	height: 2px;
	margin-block: 4px;
	border-radius: 999px;
	background: var(--hip-navy);
	transition: transform 180ms ease, opacity 180ms ease;
}

.hip-menu-toggle[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.hip-menu-toggle[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.hip-menu-toggle[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.hip-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 0.96rem;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.hip-button svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.hip-button:hover {
	transform: translateY(-2px);
}

.hip-button--primary {
	background: var(--hip-blue);
	box-shadow: 0 13px 28px rgba(47, 107, 216, 0.24);
	color: var(--hip-white);
}

.hip-button--primary:hover {
	background: var(--hip-blue-dark);
	box-shadow: 0 17px 34px rgba(47, 107, 216, 0.3);
	color: var(--hip-white);
}

.hip-button--secondary {
	border-color: #cad5e5;
	background: var(--hip-white);
	color: var(--hip-navy);
}

.hip-button--secondary:hover {
	border-color: #a9bad3;
	box-shadow: var(--hip-shadow-sm);
	color: var(--hip-navy);
}

.hip-button--white {
	background: var(--hip-white);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.17);
	color: var(--hip-navy);
}

.hip-button--white:hover {
	background: #f3f7ff;
	color: var(--hip-navy);
}

.hip-button--small {
	min-height: 44px;
	padding: 10px 16px;
	font-size: 0.88rem;
}

.hip-button--full {
	width: 100%;
}

.hip-header__call {
	flex: 0 0 auto;
	background: var(--hip-navy);
	color: var(--hip-white);
}

.hip-header__call:hover {
	background: var(--hip-navy-2);
	color: var(--hip-white);
}

.hip-hero {
	position: relative;
	padding: 82px 0 76px;
	background:
		radial-gradient(circle at 10% 16%, rgba(100, 161, 255, 0.18), transparent 32%),
		linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
	overflow: hidden;
}

.hip-hero::before {
	position: absolute;
	top: -200px;
	right: -240px;
	width: 560px;
	height: 560px;
	border: 1px solid rgba(47, 107, 216, 0.1);
	border-radius: 50%;
	box-shadow: 0 0 0 60px rgba(47, 107, 216, 0.035), 0 0 0 120px rgba(47, 107, 216, 0.025);
	content: "";
}

.hip-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(440px, 0.95fr);
	align-items: center;
	gap: 66px;
}

.hip-eyebrow,
.hip-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 17px;
	color: var(--hip-blue);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	line-height: 1.35;
	text-transform: uppercase;
}

.hip-eyebrow span {
	display: inline-block;
	width: 28px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
}

.hip-hero__lead {
	max-width: 720px;
	margin-bottom: 30px;
	color: #4b576a;
	font-size: clamp(1.08rem, 1.7vw, 1.24rem);
	line-height: 1.68;
}

.hip-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin-bottom: 35px;
}

.hip-hero__proof {
	display: grid;
	gap: 12px;
	padding: 0;
	margin-bottom: 0;
	list-style: none;
}

.hip-hero__proof li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	color: #4d596c;
	font-size: 0.96rem;
}

.hip-hero__proof li > svg {
	flex: 0 0 auto;
	width: 21px;
	height: 21px;
	margin-top: 2px;
	padding: 4px;
	border-radius: 50%;
	background: #e6f4ee;
	fill: none;
	stroke: var(--hip-success);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.4;
}

.hip-hero__proof strong {
	color: var(--hip-ink);
}

.hip-hero__visual {
	position: relative;
}

.hip-hero__image-wrap {
	position: relative;
	min-height: 570px;
	border: 10px solid var(--hip-white);
	border-radius: var(--hip-radius-lg);
	background: var(--hip-navy);
	box-shadow: var(--hip-shadow);
}

.hip-hero__image-wrap picture,
.hip-hero__image-wrap picture img {
	width: 100%;
	height: 100%;
}

.hip-hero__image-wrap > picture {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: 20px;
}

.hip-hero__image-wrap > picture::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(13, 24, 48, 0.02), rgba(13, 24, 48, 0.16));
	content: "";
}

.hip-hero__image-wrap img {
	object-fit: cover;
	object-position: 56% center;
}

.hip-floating-card {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 260px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.93);
	box-shadow: 0 18px 38px rgba(13, 24, 48, 0.2);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.hip-floating-card--top {
	top: 24px;
	left: -34px;
}

.hip-floating-card--bottom {
	right: -28px;
	bottom: 30px;
}

.hip-floating-card__icon {
	display: grid;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 11px;
	background: var(--hip-sky);
	color: var(--hip-blue);
}

.hip-floating-card__icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.hip-floating-card strong,
.hip-floating-card small {
	display: block;
}

.hip-floating-card strong {
	margin-bottom: 1px;
	color: var(--hip-ink);
	font-size: 0.91rem;
	line-height: 1.25;
}

.hip-floating-card small {
	color: var(--hip-muted);
	font-size: 0.76rem;
	line-height: 1.35;
}

.hip-trust-strip {
	border-top: 1px solid var(--hip-line);
	border-bottom: 1px solid var(--hip-line);
	background: var(--hip-white);
}

.hip-trust-strip__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.hip-trust-strip__grid > div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	min-height: 98px;
	padding: 18px 28px;
}

.hip-trust-strip__grid > div + div {
	border-left: 1px solid var(--hip-line);
}

.hip-trust-strip svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: var(--hip-blue);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.hip-trust-strip strong,
.hip-trust-strip small {
	display: block;
}

.hip-trust-strip strong {
	color: var(--hip-ink);
	font-size: 0.93rem;
	line-height: 1.35;
}

.hip-trust-strip small {
	color: var(--hip-muted);
	font-size: 0.78rem;
	line-height: 1.4;
}

.hip-section {
	padding: 104px 0;
}

.hip-section--soft {
	background: var(--hip-soft);
}

.hip-section-heading {
	max-width: 680px;
	margin-bottom: 48px;
}

.hip-section-heading--centred {
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.hip-section-heading--centred .hip-kicker {
	justify-content: center;
}

.hip-section-heading > p:last-child {
	margin-bottom: 0;
	font-size: 1.05rem;
}

.hip-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.hip-service-card {
	display: flex;
	min-height: 330px;
	padding: 30px;
	border: 1px solid var(--hip-line);
	border-radius: var(--hip-radius);
	background: var(--hip-white);
	box-shadow: 0 8px 25px rgba(18, 35, 70, 0.04);
	flex-direction: column;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.hip-service-card:hover {
	border-color: #b9c9e3;
	box-shadow: var(--hip-shadow-sm);
	transform: translateY(-5px);
}

.hip-icon-box {
	display: grid;
	width: 52px;
	height: 52px;
	margin-bottom: 23px;
	place-items: center;
	border-radius: 14px;
	background: var(--hip-sky);
	color: var(--hip-blue);
}

.hip-icon-box svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.hip-icon-box--light {
	background: rgba(255, 255, 255, 0.14);
	color: var(--hip-white);
}

.hip-service-card h3 {
	font-size: 1.3rem;
}

.hip-service-card p {
	font-size: 0.94rem;
	line-height: 1.65;
}

.hip-service-card a,
.hip-text-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	color: var(--hip-blue-dark);
	font-size: 0.9rem;
	font-weight: 750;
}

.hip-service-card a svg,
.hip-text-link svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	transition: transform 160ms ease;
}

.hip-service-card a:hover svg,
.hip-text-link:hover svg {
	transform: translateX(4px);
}

.hip-audience-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.hip-audience-card {
	overflow: hidden;
	border: 1px solid var(--hip-line);
	border-radius: var(--hip-radius-lg);
	background: var(--hip-white);
	box-shadow: var(--hip-shadow-sm);
}

.hip-audience-card__image {
	position: relative;
	height: 300px;
	overflow: hidden;
}

.hip-audience-card__image::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(13, 24, 48, 0.4));
	content: "";
}

.hip-audience-card__image picture,
.hip-audience-card__image img {
	width: 100%;
	height: 100%;
}

.hip-audience-card__image img {
	object-fit: cover;
	transition: transform 700ms ease;
}

.hip-audience-card:hover .hip-audience-card__image img {
	transform: scale(1.035);
}

.hip-audience-card__image span {
	position: absolute;
	z-index: 1;
	right: 22px;
	bottom: 20px;
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	background: rgba(13, 24, 48, 0.74);
	color: var(--hip-white);
	font-size: 0.74rem;
	font-weight: 750;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
}

.hip-audience-card__body {
	padding: 36px;
}

.hip-audience-card__body h3 {
	font-size: 1.65rem;
}

.hip-check-list {
	display: grid;
	gap: 11px;
	padding: 0;
	margin: 26px 0 28px;
	list-style: none;
}

.hip-check-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #455166;
	font-size: 0.94rem;
}

.hip-check-list svg {
	flex: 0 0 auto;
	width: 19px;
	height: 19px;
	margin-top: 3px;
	fill: none;
	stroke: var(--hip-success);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.4;
}

.hip-process-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
	align-items: center;
	gap: 72px;
}

.hip-process-copy > p:not(.hip-kicker) {
	max-width: 640px;
	font-size: 1.04rem;
}

.hip-process-list {
	display: grid;
	gap: 18px;
	padding: 0;
	margin: 36px 0 0;
	list-style: none;
}

.hip-process-list li {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 18px;
	padding: 23px;
	border: 1px solid var(--hip-line);
	border-radius: 16px;
	background: var(--hip-white);
}

.hip-process-list li > span {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border-radius: 13px;
	background: var(--hip-navy);
	color: var(--hip-white);
	font-size: 0.96rem;
	font-weight: 800;
}

.hip-process-list h3 {
	margin-bottom: 6px;
	font-size: 1.08rem;
	letter-spacing: -0.02em;
}

.hip-process-list p {
	margin-bottom: 0;
	font-size: 0.9rem;
}

.hip-process-media {
	position: relative;
	min-height: 600px;
	border-radius: var(--hip-radius-lg);
	background: var(--hip-navy);
	box-shadow: var(--hip-shadow);
	overflow: hidden;
}

.hip-process-media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(13, 24, 48, 0.04) 45%, rgba(13, 24, 48, 0.72) 100%);
	content: "";
}

.hip-process-media picture,
.hip-process-media img {
	width: 100%;
	height: 100%;
}

.hip-process-media picture {
	position: absolute;
	inset: 0;
}

.hip-process-media img {
	object-fit: cover;
	object-position: center;
}

.hip-process-media__panel {
	position: absolute;
	z-index: 1;
	right: 28px;
	bottom: 28px;
	left: 28px;
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 16px;
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 18px;
	background: rgba(13, 24, 48, 0.78);
	color: var(--hip-white);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.hip-process-media__panel strong {
	display: block;
	margin-bottom: 4px;
	font-size: 1rem;
}

.hip-process-media__panel p {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.74);
	font-size: 0.84rem;
	line-height: 1.55;
}

.hip-security {
	position: relative;
	padding: 76px 0;
	background:
		radial-gradient(circle at 80% 20%, rgba(80, 145, 255, 0.23), transparent 30%),
		linear-gradient(135deg, var(--hip-deep), var(--hip-navy));
	overflow: hidden;
}

.hip-security::before {
	position: absolute;
	top: -160px;
	left: -120px;
	width: 360px;
	height: 360px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	box-shadow: 0 0 0 55px rgba(255, 255, 255, 0.025), 0 0 0 110px rgba(255, 255, 255, 0.015);
	content: "";
}

.hip-security__grid {
	position: relative;
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) minmax(230px, 0.38fr);
	align-items: center;
	gap: 34px;
}

.hip-security__icon {
	display: grid;
	width: 76px;
	height: 76px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.09);
	color: var(--hip-white);
}

.hip-security__icon svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.hip-security h2,
.hip-security p {
	color: var(--hip-white);
}

.hip-security h2 {
	font-size: clamp(2rem, 3.2vw, 2.9rem);
}

.hip-security p {
	margin-bottom: 18px;
	color: rgba(255, 255, 255, 0.78);
}

.hip-kicker--light {
	color: #8fbbff;
}

.hip-security__note {
	padding: 15px 17px;
	border-left: 3px solid #8fbbff;
	border-radius: 0 10px 10px 0;
	background: rgba(255, 255, 255, 0.07);
	color: rgba(255, 255, 255, 0.79);
	font-size: 0.84rem;
	line-height: 1.58;
}

.hip-security__note strong {
	color: var(--hip-white);
}

.hip-security__action {
	text-align: center;
}

.hip-security__action .hip-button {
	width: 100%;
}

.hip-security__action p {
	margin: 13px 0 0;
	font-size: 0.74rem;
	line-height: 1.45;
}

.hip-about-grid {
	display: grid;
	grid-template-columns: minmax(330px, 0.72fr) minmax(0, 1.28fr);
	align-items: center;
	gap: 74px;
}

.hip-about-card {
	padding: 34px;
	border: 1px solid var(--hip-line);
	border-radius: var(--hip-radius-lg);
	background: var(--hip-white);
	box-shadow: var(--hip-shadow);
}

.hip-about-card__brand {
	padding: 22px;
	border-radius: 14px;
	background: var(--hip-navy);
}

.hip-about-card__brand img {
	width: 100%;
}

.hip-about-card__identity {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 28px 0 26px;
	border-bottom: 1px solid var(--hip-line);
}

.hip-about-card__initials {
	display: grid;
	flex: 0 0 auto;
	width: 54px;
	height: 54px;
	place-items: center;
	border-radius: 50%;
	background: var(--hip-sky);
	color: var(--hip-navy);
	font-size: 0.95rem;
	font-weight: 850;
}

.hip-about-card__identity strong,
.hip-about-card__identity span {
	display: block;
}

.hip-about-card__identity strong {
	color: var(--hip-ink);
	font-size: 1.12rem;
}

.hip-about-card__identity div span {
	color: var(--hip-muted);
	font-size: 0.87rem;
}

.hip-about-card dl {
	display: grid;
	gap: 14px;
	margin: 25px 0 0;
}

.hip-about-card dl > div {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 12px;
	font-size: 0.85rem;
}

.hip-about-card dt {
	color: var(--hip-muted);
}

.hip-about-card dd {
	color: var(--hip-ink);
	font-weight: 650;
}

.hip-about-copy > p:not(.hip-kicker) {
	font-size: 1.03rem;
}

.hip-values-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
	margin-top: 36px;
}

.hip-values-grid > div {
	padding: 20px;
	border: 1px solid var(--hip-line);
	border-radius: 15px;
	background: var(--hip-soft);
}

.hip-values-grid > div > span {
	display: grid;
	width: 38px;
	height: 38px;
	margin-bottom: 15px;
	place-items: center;
	border-radius: 10px;
	background: var(--hip-white);
	color: var(--hip-blue);
}

.hip-values-grid svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.hip-values-grid h3 {
	margin-bottom: 6px;
	font-size: 1rem;
}

.hip-values-grid p {
	margin-bottom: 0;
	font-size: 0.82rem;
	line-height: 1.55;
}

.hip-faq-layout {
	display: grid;
	grid-template-columns: minmax(280px, 0.68fr) minmax(0, 1.32fr);
	align-items: start;
	gap: 72px;
}

.hip-faq-layout .hip-section-heading {
	position: sticky;
	top: calc(var(--hip-header-height) + 32px);
	margin-bottom: 0;
}

body.admin-bar .hip-faq-layout .hip-section-heading {
	top: calc(var(--hip-header-height) + 64px);
}

.hip-faq-list {
	display: grid;
	gap: 12px;
}

.hip-faq-list details {
	border: 1px solid var(--hip-line);
	border-radius: 15px;
	background: var(--hip-white);
	box-shadow: 0 7px 20px rgba(18, 35, 70, 0.035);
	overflow: hidden;
}

.hip-faq-list summary {
	position: relative;
	padding: 22px 58px 22px 23px;
	color: var(--hip-ink);
	font-weight: 720;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.hip-faq-list summary::-webkit-details-marker {
	display: none;
}

.hip-faq-list summary::after {
	position: absolute;
	top: 50%;
	right: 22px;
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 8px;
	background: var(--hip-sky);
	color: var(--hip-navy);
	content: "+";
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
	transform: translateY(-50%);
}

.hip-faq-list details[open] summary::after {
	content: "−";
}

.hip-faq-list details[open] summary {
	padding-bottom: 14px;
}

.hip-faq-list details p {
	padding: 0 23px 22px;
	margin-bottom: 0;
	font-size: 0.92rem;
}

.hip-contact {
	position: relative;
	padding: 104px 0;
	background:
		radial-gradient(circle at 14% 0%, rgba(67, 128, 235, 0.27), transparent 34%),
		var(--hip-deep);
	overflow: hidden;
}

.hip-contact::after {
	position: absolute;
	right: -260px;
	bottom: -300px;
	width: 620px;
	height: 620px;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, 0.02), 0 0 0 140px rgba(255, 255, 255, 0.012);
	content: "";
}

.hip-contact__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(300px, 0.78fr) minmax(500px, 1.22fr);
	align-items: start;
	gap: 72px;
}

.hip-contact h2,
.hip-contact p {
	color: var(--hip-white);
}

.hip-contact__intro > p:not(.hip-kicker) {
	color: rgba(255, 255, 255, 0.76);
	font-size: 1.02rem;
}

.hip-contact-options {
	display: grid;
	gap: 12px;
	margin: 35px 0 31px;
}

.hip-contact-options > a {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.06);
	transition: background-color 160ms ease, transform 160ms ease;
}

.hip-contact-options > a:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateX(3px);
}

.hip-contact-options > a > span {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.11);
	color: #9ac2ff;
}

.hip-contact-options svg,
.hip-contact-facts svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.hip-contact-options small,
.hip-contact-options strong {
	display: block;
}

.hip-contact-options small {
	margin-bottom: 1px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hip-contact-options strong {
	color: var(--hip-white);
	font-size: 0.98rem;
	line-height: 1.35;
	word-break: break-word;
}

.hip-contact-facts {
	display: grid;
	gap: 12px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.hip-contact-facts li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.86rem;
}

.hip-contact-facts svg {
	flex: 0 0 auto;
	width: 19px;
	height: 19px;
	margin-top: 2px;
	color: #9ac2ff;
}

.hip-contact-facts strong {
	color: var(--hip-white);
}

.hip-form-card {
	padding: 38px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: var(--hip-radius-lg);
	background: var(--hip-white);
	box-shadow: 0 28px 75px rgba(0, 0, 0, 0.3);
}

.hip-form {
	display: grid;
	gap: 19px;
}

.hip-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.hip-field {
	display: grid;
	gap: 7px;
}

.hip-field label,
.hip-consent {
	color: #293548;
	font-size: 0.82rem;
	font-weight: 700;
}

.hip-field input,
.hip-field select,
.hip-field textarea {
	width: 100%;
	border: 1px solid #cdd7e5;
	border-radius: 10px;
	background: #fbfcfe;
	color: var(--hip-ink);
	font-size: 0.95rem;
	transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.hip-field input,
.hip-field select {
	height: 50px;
	padding: 0 14px;
}

.hip-field textarea {
	min-height: 148px;
	padding: 13px 14px;
	line-height: 1.55;
	resize: vertical;
}

.hip-field input:focus,
.hip-field select:focus,
.hip-field textarea:focus {
	border-color: #6d9cec;
	background: var(--hip-white);
	box-shadow: 0 0 0 4px rgba(47, 107, 216, 0.11);
	outline: none;
}

.hip-field textarea::placeholder {
	color: #8993a2;
}

.hip-consent {
	display: grid;
	grid-template-columns: 19px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	font-weight: 500;
	line-height: 1.5;
}

.hip-consent input {
	width: 17px;
	height: 17px;
	margin: 3px 0 0;
	accent-color: var(--hip-blue);
}

.hip-consent a,
.hip-form-footnote a {
	color: var(--hip-blue-dark);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.hip-form-footnote {
	margin: -4px 0 0 !important;
	color: var(--hip-muted) !important;
	font-size: 0.78rem;
	text-align: center;
}

.hip-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.hip-form-message {
	padding: 14px 16px;
	margin-bottom: 20px;
	border-radius: 10px;
	font-size: 0.86rem;
	line-height: 1.55;
}

.hip-form-message--success {
	border: 1px solid #a8d8c1;
	background: #edf9f3;
	color: #0f6340;
}

.hip-form-message--error {
	border: 1px solid #e6bcbc;
	background: #fff3f3;
	color: #8a2828;
}

.hip-footer {
	padding: 64px 0 22px;
	background: #081124;
	color: var(--hip-white);
}

.hip-footer__top {
	display: grid;
	grid-template-columns: minmax(300px, 1.4fr) minmax(150px, 0.5fr) minmax(220px, 0.7fr);
	gap: 72px;
	padding-bottom: 48px;
}

.hip-footer__brand img {
	width: 235px;
	margin-bottom: 22px;
}

.hip-footer__brand p {
	max-width: 430px;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.59);
	font-size: 0.88rem;
}

.hip-footer nav,
.hip-footer__contact {
	display: grid;
	align-content: start;
	gap: 9px;
}

.hip-footer nav strong,
.hip-footer__contact > strong {
	margin-bottom: 5px;
	color: var(--hip-white);
	font-size: 0.77rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.hip-footer nav a,
.hip-footer__contact a,
.hip-footer__contact span {
	color: rgba(255, 255, 255, 0.63);
	font-size: 0.86rem;
}

.hip-footer nav a:hover,
.hip-footer__contact a:hover {
	color: var(--hip-white);
}

.hip-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.hip-footer__bottom p,
.hip-footer__bottom a {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.76rem;
}

.hip-footer__bottom > div {
	display: flex;
	gap: 20px;
}

.hip-footer__bottom a:hover {
	color: var(--hip-white);
}

.hip-mobile-actions {
	display: none;
}

@media (max-width: 1120px) {
	.hip-header__call span {
		display: none;
	}

	.hip-header__call {
		width: 44px;
		padding: 10px;
	}

	.hip-nav {
		gap: 18px;
	}

	.hip-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(390px, 0.88fr);
		gap: 46px;
	}

	.hip-hero__image-wrap {
		min-height: 520px;
	}

	.hip-security__grid {
		grid-template-columns: 70px minmax(0, 1fr);
	}

	.hip-security__action {
		grid-column: 2;
		max-width: 420px;
		text-align: left;
	}

	.hip-security__action .hip-button {
		width: auto;
	}

	.hip-contact__grid {
		gap: 48px;
	}
}

@media (max-width: 980px) {
	:root {
		--hip-header-height: 70px;
	}

	.hip-header__inner {
		gap: 14px;
	}

	.hip-brand img {
		width: 194px;
	}

	.hip-menu-toggle {
		display: block;
		margin-left: auto;
	}

	.hip-header__call {
		display: none;
	}

	.hip-nav {
		position: absolute;
		top: calc(100% + 1px);
		right: 20px;
		left: 20px;
		display: none;
		align-items: stretch;
		gap: 0;
		padding: 10px;
		border: 1px solid var(--hip-line);
		border-radius: 15px;
		background: var(--hip-white);
		box-shadow: var(--hip-shadow);
		flex-direction: column;
	}

	.hip-nav.is-open {
		display: flex;
	}

	.hip-nav a {
		padding: 12px 13px;
		border-radius: 9px;
	}

	.hip-nav a::after {
		display: none;
	}

	.hip-nav a:hover,
	.hip-nav a.is-active {
		background: var(--hip-soft);
	}

	.hip-hero {
		padding-top: 68px;
	}

	.hip-hero__grid,
	.hip-process-layout,
	.hip-about-grid,
	.hip-contact__grid {
		grid-template-columns: 1fr;
	}

	.hip-hero__content {
		max-width: 760px;
	}

	.hip-hero__visual {
		max-width: 760px;
	}

	.hip-hero__image-wrap {
		min-height: 570px;
	}

	.hip-trust-strip__grid {
		grid-template-columns: 1fr;
	}

	.hip-trust-strip__grid > div {
		justify-content: flex-start;
		min-height: auto;
		padding: 18px 0;
	}

	.hip-trust-strip__grid > div + div {
		border-top: 1px solid var(--hip-line);
		border-left: 0;
	}

	.hip-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hip-process-layout {
		gap: 52px;
	}

	.hip-process-media {
		min-height: 560px;
	}

	.hip-about-grid {
		gap: 52px;
	}

	.hip-about-card {
		max-width: 620px;
	}

	.hip-faq-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.hip-faq-layout .hip-section-heading,
	body.admin-bar .hip-faq-layout .hip-section-heading {
		position: static;
	}

	.hip-contact__grid {
		gap: 52px;
	}

	.hip-contact__intro {
		max-width: 680px;
	}

	.hip-footer__top {
		grid-template-columns: 1fr 0.6fr 0.8fr;
		gap: 38px;
	}
}

@media (max-width: 760px) {
	body.admin-bar .hip-header {
		top: 46px;
	}

	body.hip-one-page {
		font-size: 16px;
		padding-bottom: 64px;
	}

	.hip-container {
		width: min(calc(100% - 28px), var(--hip-container));
	}

	.hip-site h1 {
		font-size: clamp(2.45rem, 12vw, 3.55rem);
	}

	.hip-site h2 {
		font-size: clamp(2rem, 9vw, 2.75rem);
	}

	.hip-brand img {
		width: 180px;
	}

	.hip-nav {
		right: 14px;
		left: 14px;
	}

	.hip-hero {
		padding: 54px 0 56px;
	}

	.hip-hero__grid {
		gap: 44px;
	}

	.hip-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.hip-actions .hip-button {
		width: 100%;
	}

	.hip-hero__image-wrap {
		min-height: 430px;
		border-width: 7px;
		border-radius: 23px;
	}

	.hip-floating-card {
		max-width: 235px;
		padding: 12px 13px;
	}

	.hip-floating-card--top {
		top: 18px;
		left: 14px;
	}

	.hip-floating-card--bottom {
		right: 14px;
		bottom: 18px;
	}

	.hip-section {
		padding: 78px 0;
	}

	.hip-section-heading {
		margin-bottom: 38px;
	}

	.hip-service-grid,
	.hip-audience-grid,
	.hip-values-grid {
		grid-template-columns: 1fr;
	}

	.hip-service-card {
		min-height: auto;
	}

	.hip-audience-card__image {
		height: 255px;
	}

	.hip-audience-card__body {
		padding: 29px;
	}

	.hip-process-media {
		min-height: 470px;
	}

	.hip-security {
		padding: 66px 0;
	}

	.hip-security__grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.hip-security__action {
		grid-column: auto;
	}

	.hip-security__action .hip-button {
		width: 100%;
	}

	.hip-about-card {
		padding: 24px;
	}

	.hip-about-card dl > div {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.hip-form-card {
		padding: 25px;
	}

	.hip-form-row {
		grid-template-columns: 1fr;
	}

	.hip-footer__top {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.hip-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.hip-mobile-actions {
		position: fixed;
		z-index: 1100;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: 0.75fr 1.25fr;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
		background: var(--hip-deep);
		box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.18);
	}

	.hip-mobile-actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 64px;
		color: var(--hip-white);
		font-size: 0.87rem;
		font-weight: 760;
	}

	.hip-mobile-actions a + a {
		background: var(--hip-blue);
	}

	.hip-mobile-actions svg {
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 1.8;
	}
}

@media (max-width: 480px) {
	.hip-brand img {
		width: 168px;
	}

	.hip-hero__image-wrap {
		min-height: 370px;
	}

	.hip-floating-card {
		max-width: 205px;
	}

	.hip-floating-card__icon {
		width: 36px;
		height: 36px;
	}

	.hip-floating-card strong {
		font-size: 0.82rem;
	}

	.hip-floating-card small {
		font-size: 0.69rem;
	}

	.hip-audience-card__body,
	.hip-service-card {
		padding: 24px;
	}

	.hip-process-list li {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 13px;
		padding: 18px;
	}

	.hip-process-list li > span {
		width: 40px;
		height: 40px;
	}

	.hip-process-media {
		min-height: 430px;
	}

	.hip-process-media__panel {
		right: 15px;
		bottom: 15px;
		left: 15px;
		grid-template-columns: 44px minmax(0, 1fr);
		padding: 16px;
	}

	.hip-form-card {
		padding: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.hip-site *,
	.hip-site *::before,
	.hip-site *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Keep button text colours predictable even when parent-theme link rules are loaded. */
.hip-site a.hip-button--primary,
.hip-site a.hip-button--primary:visited,
.hip-site a.hip-header__call,
.hip-site a.hip-header__call:visited {
	color: var(--hip-white);
}

.hip-site a.hip-button--secondary,
.hip-site a.hip-button--secondary:visited,
.hip-site a.hip-button--white,
.hip-site a.hip-button--white:visited {
	color: var(--hip-navy);
}

.hip-site .hip-mobile-actions a,
.hip-site .hip-mobile-actions a:visited {
	color: var(--hip-white);
}
