/*
Theme Name: Hanoi Technology
Theme URI: https://hanoitechnology.com/
Author: Hanoi Technology
Description: Clean custom theme for hanoitechnology.com, built from the Website Master Specification v4.0.0. No page builder dependencies.
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: hanoitech
*/

/* ---------- Tokens ---------- */
:root {
	--ht-bg: #FAFAF7;
	--ht-surface: #FFFFFF;
	--ht-ink: #10243A;
	--ht-ink-hover: #1C3757;
	--ht-muted: #526071;
	--ht-accent: #244CFF;
	--ht-border: #DCE1E6;
	--ht-control: #8A96A3;
	--ht-inv-muted: #CBD5E1;
	--ht-inv-accent: #B9C8FF;
	--ht-tint: #EEF1F4;
	--ht-error: #B42318;
	--ht-success: #116B3A;

	--ht-max: 1280px;
	--ht-gutter: 64px;
	--ht-gap: 24px;
	--ht-section: 104px;
	--ht-radius-media: 20px;
	--ht-radius: 8px;
	--ht-header-h: 80px;

	--ht-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ht-h1-home: 72px;
	--ht-h1: 60px;
	--ht-h2: 42px;
	--ht-h3: 26px;
	--ht-body: 18px;
	--ht-ease: cubic-bezier(.2,.7,.2,1);
}
@media (max-width: 1100px) {
	:root { --ht-gutter: 32px; --ht-h1-home: 56px; --ht-h1: 48px; --ht-h2: 36px; }
}
@media (max-width: 720px) {
	:root { --ht-gutter: 20px; --ht-gap: 16px; --ht-section: 64px; --ht-h1-home: 40px; --ht-h1: 38px; --ht-h2: 30px; --ht-h3: 23px; --ht-body: 17px; --ht-header-h: 64px; }
}
@media (max-width: 360px) {
	:root { --ht-gutter: 16px; --ht-h1-home: 36px; --ht-h1: 34px; }
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--ht-header-h) + 16px); }
body {
	margin: 0; background: var(--ht-bg); color: var(--ht-ink);
	font-family: var(--ht-font); font-size: var(--ht-body); line-height: 1.6;
	font-weight: 400; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
body.ht-lock { overflow: hidden; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--ht-accent); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--ht-ink); }
:focus-visible { outline: 2px solid var(--ht-accent); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -0.02em; line-height: 1.12; margin: 0 0 .5em; color: var(--ht-ink); text-wrap: balance; }
h1 { font-size: var(--ht-h1); line-height: 1.06; letter-spacing: -0.03em; }
h2 { font-size: var(--ht-h2); }
h3 { font-size: var(--ht-h3); letter-spacing: -0.015em; line-height: 1.25; }
h4 { font-size: 19px; letter-spacing: -0.01em; line-height: 1.35; }
p { margin: 0 0 1em; }
p, li { max-width: 70ch; }
ul, ol { padding-left: 1.2em; }
.screen-reader-text, .ht-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; }
.ht-skip { position: absolute; left: 16px; top: -100px; z-index: 200; background: var(--ht-ink); color: #fff; padding: 12px 16px; border-radius: var(--ht-radius); }
.ht-skip:focus { top: 16px; color: #fff; }

.ht-container { max-width: calc(var(--ht-max) + 2 * var(--ht-gutter)); margin: 0 auto; padding: 0 var(--ht-gutter); }

/* ---------- Buttons ---------- */
.ht-btn, .wp-block-button__link, .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 12px 24px; border-radius: var(--ht-radius);
	background: var(--ht-ink); color: #fff; border: 1.5px solid var(--ht-ink);
	font: 600 17px/1.2 var(--ht-font); text-decoration: none; cursor: pointer;
	transition: background-color .18s var(--ht-ease), border-color .18s var(--ht-ease), color .18s var(--ht-ease);
}
.ht-btn:hover, .wp-block-button__link:hover { background: var(--ht-ink-hover); border-color: var(--ht-ink-hover); color: #fff; }
.ht-btn--secondary, .is-style-outline .wp-block-button__link, .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--ht-ink); border-color: var(--ht-control);
}
.ht-btn--secondary:hover, .is-style-outline .wp-block-button__link:hover { background: var(--ht-surface); color: var(--ht-ink); border-color: var(--ht-ink); }
.ht-btn--light { background: #fff; color: var(--ht-ink); border-color: #fff; }
.ht-btn--light:hover { background: var(--ht-inv-accent); border-color: var(--ht-inv-accent); color: var(--ht-ink); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 16px; margin: 32px 0 0; }
.wp-block-button { margin: 0; }

/* ---------- Header ---------- */
.ht-header { position: sticky; top: 0; z-index: 50; background: var(--ht-bg); transition: box-shadow .2s var(--ht-ease); }
.ht-header.is-scrolled { box-shadow: 0 1px 0 var(--ht-border), 0 8px 24px rgba(16,36,58,.06); }
.ht-header__inner { display: flex; align-items: center; gap: 32px; min-height: var(--ht-header-h); border-bottom: 1px solid var(--ht-border); }
.ht-header.is-scrolled .ht-header__inner { border-bottom-color: transparent; }
.ht-logo { display: inline-flex; align-items: center; flex: none; }
.ht-logo img { display: block; height: 48px; width: auto; }
@media (max-width: 720px) { .ht-logo img { height: 40px; } }
.ht-nav { margin-left: auto; }
.ht-nav__list { display: flex; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ht-nav__list > li { position: relative; max-width: none; }
.ht-nav__link, .ht-nav__toggle {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 14px; border-radius: var(--ht-radius);
	color: var(--ht-ink); text-decoration: none; font: 500 16px/1.2 var(--ht-font); background: none; border: 0; cursor: pointer;
}
.ht-nav__link:hover, .ht-nav__toggle:hover { background: var(--ht-tint); color: var(--ht-ink); }
.ht-nav__link[aria-current="page"], .ht-nav__toggle.is-current { text-decoration: underline; text-decoration-color: var(--ht-accent); text-decoration-thickness: 2px; text-underline-offset: 8px; }
.ht-nav__toggle svg { transition: transform .18s var(--ht-ease); }
.ht-nav__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.ht-sub {
	position: absolute; top: calc(100% + 10px); left: -16px; width: 440px; padding: 12px;
	background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: 16px;
	box-shadow: 0 20px 48px rgba(16,36,58,.12); list-style: none; margin: 0;
}
.ht-sub[hidden] { display: none; }
.ht-sub li { max-width: none; }
.ht-sub a { display: block; padding: 12px 14px; border-radius: 10px; text-decoration: none; color: var(--ht-ink); }
.ht-sub a:hover, .ht-sub a:focus-visible { background: var(--ht-bg); }
.ht-sub strong { display: block; font-weight: 600; font-size: 16px; }
.ht-sub span { display: block; color: var(--ht-muted); font-size: 14px; line-height: 1.45; margin-top: 2px; }
.ht-sub .ht-sub__all { border-top: 1px solid var(--ht-border); margin-top: 6px; padding-top: 6px; }
.ht-header__cta { flex: none; }
.ht-header__cta .ht-btn { min-height: 48px; font-size: 16px; padding: 10px 20px; }
.ht-burger { display: none; margin-left: auto; width: 48px; height: 48px; border: 1px solid var(--ht-border); border-radius: var(--ht-radius); background: var(--ht-surface); color: var(--ht-ink); cursor: pointer; align-items: center; justify-content: center; }

.ht-drawer { position: fixed; inset: 0; z-index: 100; background: var(--ht-bg); overflow-y: auto; padding: 0 var(--ht-gutter) 32px; }
.ht-drawer[hidden] { display: none; }
.ht-drawer__top { display: flex; align-items: center; justify-content: space-between; min-height: var(--ht-header-h); border-bottom: 1px solid var(--ht-border); }
.ht-drawer__close { width: 48px; height: 48px; border: 1px solid var(--ht-border); border-radius: var(--ht-radius); background: var(--ht-surface); color: var(--ht-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.ht-drawer ul { list-style: none; margin: 0; padding: 0; }
.ht-drawer li { max-width: none; border-bottom: 1px solid var(--ht-border); }
.ht-drawer__link, .ht-drawer__acc { display: flex; width: 100%; align-items: center; justify-content: space-between; min-height: 60px; padding: 12px 0; font: 600 22px/1.2 var(--ht-font); color: var(--ht-ink); text-decoration: none; background: none; border: 0; cursor: pointer; text-align: left; }
.ht-drawer__acc svg { transition: transform .18s var(--ht-ease); }
.ht-drawer__acc[aria-expanded="true"] svg { transform: rotate(180deg); }
.ht-drawer__sub { padding: 0 0 12px !important; }
.ht-drawer__sub li { border: 0; }
.ht-drawer__sub a { display: block; padding: 10px 0; color: var(--ht-ink); text-decoration: none; font-size: 17px; }
.ht-drawer__sub span { display: block; color: var(--ht-muted); font-size: 15px; }
.ht-drawer .ht-btn { width: 100%; margin-top: 28px; }

@media (max-width: 1023px) {
	.ht-nav, .ht-header__cta { display: none; }
	.ht-burger { display: inline-flex; }
}

/* ---------- Page sections (block content) ---------- */
.ht-main { display: block; }
.ht-main > .entry > * { max-width: calc(var(--ht-max) + 2 * var(--ht-gutter)); margin-left: auto; margin-right: auto; padding-left: var(--ht-gutter); padding-right: var(--ht-gutter); }
.ht-section { padding-top: var(--ht-section); padding-bottom: var(--ht-section); }
.ht-section + .ht-section.ht-tight-top, .ht-tight-top { padding-top: 48px; }
.ht-tight-bottom { padding-bottom: 48px; }
.ht-rule { position: relative; }
.ht-rule::before { content: ""; position: absolute; top: 0; left: var(--ht-gutter); right: var(--ht-gutter); border-top: 1px solid var(--ht-border); }
.wp-block-group { margin: 0; }
.wp-block-group.is-layout-flow > * { margin-block-start: 0; }

.ht-eyebrow { font-size: 14px !important; line-height: 1.4; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-accent); margin-bottom: 16px; }
.ht-lead { font-size: 21px; line-height: 1.55; color: var(--ht-muted); max-width: 40em; }
@media (max-width: 720px) { .ht-lead { font-size: 18px; } }
.ht-muted, .ht-note { color: var(--ht-muted); }
.ht-note { font-size: 15px; }
.ht-caption { font-size: 14px; color: var(--ht-muted); margin: 12px 0 0; }
.ht-arrow-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ht-ink); text-decoration: none; min-height: 44px; }
.ht-arrow-link::after { content: "→"; color: var(--ht-accent); transition: transform .18s var(--ht-ease); }
.ht-arrow-link:hover { color: var(--ht-accent); }
.ht-arrow-link:hover::after { transform: translateX(3px); }
.ht-links { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 8px 0 0; }
.ht-links a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ht-ink); text-decoration: none; min-height: 44px; }
.ht-links a::after { content: "→"; color: var(--ht-accent); transition: transform .18s var(--ht-ease); }
.ht-links a:hover { color: var(--ht-accent); }
.ht-links a:hover::after { transform: translateX(3px); }
.ht-badge { display: inline-block; font-size: 13px !important; font-weight: 600; letter-spacing: .02em; color: var(--ht-ink); background: var(--ht-tint); border: 1px solid var(--ht-border); border-radius: 999px; padding: 4px 12px; margin-bottom: 16px; }

/* Hero */
.ht-hero { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--ht-gap); align-items: start; padding-top: 72px; padding-bottom: 96px; }
.ht-hero__text { grid-column: 1 / span 7; }
.ht-hero__media { grid-column: 9 / span 4; }
.ht-hero--wide .ht-hero__media { grid-column: 8 / span 5; }
.ht-hero h1 { font-size: var(--ht-h1); }
.home .ht-hero h1 { font-size: var(--ht-h1-home); }
.ht-hero .ht-lead { margin-top: 28px; }
.ht-hero .ht-support { margin-top: 24px; font-size: 16px; color: var(--ht-muted); }
.ht-hero--text .ht-hero__text { grid-column: 1 / span 9; }
.ht-mobile-only { display: none; }
@media (max-width: 1023px) {
	.ht-hero { grid-template-columns: 1fr; padding-top: 48px; padding-bottom: 64px; }
	.ht-hero__text, .ht-hero__media, .ht-hero--wide .ht-hero__media, .ht-hero--text .ht-hero__text { grid-column: 1 / -1; }
	.ht-hero__media { margin-top: 32px; max-width: 560px; }
}
@media (max-width: 720px) {
	.ht-desktop-only { display: none; }
	.ht-mobile-only { display: block; }
	.ht-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.ht-hero .wp-block-button__link { width: 100%; }
}

/* Split: offset section title */
.ht-split { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--ht-gap); }
.ht-split > .ht-split__head { grid-column: 1 / span 4; }
.ht-split > .ht-split__body { grid-column: 6 / span 7; }
.ht-split > .ht-split__body > :last-child { margin-bottom: 0; }
@media (max-width: 1023px) { .ht-split { grid-template-columns: 1fr; } .ht-split > .ht-split__head, .ht-split > .ht-split__body { grid-column: 1 / -1; } }

.ht-head { max-width: 820px; margin-bottom: 48px; }
.ht-head > :last-child { margin-bottom: 0; }

/* Grids */
.ht-grid-3, .ht-grid-2, .ht-grid-4, .ht-grid-5 { display: grid; gap: 40px var(--ht-gap); }
.ht-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ht-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ht-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.ht-grid-5 { grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 1023px) { .ht-grid-3, .ht-grid-4, .ht-grid-5 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 720px) { .ht-grid-3, .ht-grid-2, .ht-grid-4, .ht-grid-5 { grid-template-columns: 1fr; gap: 28px; } }
.ht-item > :last-child { margin-bottom: 0; }
.ht-item h3 { margin-bottom: 12px; }
.ht-item p { color: var(--ht-muted); }
.ht-item--rule { border-top: 1px solid var(--ht-border); padding-top: 24px; }
.ht-item .ht-num, .ht-num { display: block; font-size: 14px; font-weight: 600; color: var(--ht-accent); margin-bottom: 10px; font-variant-numeric: tabular-nums; }

/* Starting points (home) */
.ht-starts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--ht-gap); border-top: 1px solid var(--ht-border); padding-top: 40px; }
.ht-starts h3 { font-size: 23px; }
.ht-starts p { color: var(--ht-muted); }
@media (max-width: 900px) { .ht-starts { grid-template-columns: 1fr; gap: 0; padding-top: 0; } .ht-starts > .ht-item { border-bottom: 1px solid var(--ht-border); padding: 28px 0; } }

/* Service rows */
.ht-rows { border-top: 1px solid var(--ht-border); }
.ht-row { display: grid; grid-template-columns: 64px minmax(0,5fr) minmax(0,6fr); gap: var(--ht-gap); padding: 36px 0; border-bottom: 1px solid var(--ht-border); }
.ht-row .ht-num { padding-top: 8px; margin: 0; }
.ht-row h3 { font-size: 30px; margin: 0; }
.ht-row p { color: var(--ht-muted); margin: 0 0 8px; }
.ht-row .ht-links { margin-top: 4px; }
@media (max-width: 900px) { .ht-row { grid-template-columns: 40px 1fr; } .ht-row > :nth-child(3) { grid-column: 2; } .ht-row h3 { font-size: 24px; } }

/* Cards / surfaces */
.ht-card { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: var(--ht-radius-media); padding: 28px; }
.ht-card > :last-child { margin-bottom: 0; }

/* Navy panel */
.ht-navy { background: var(--ht-ink); color: #fff; border-radius: var(--ht-radius-media); padding: 64px; }
.ht-navy h2, .ht-navy h3, .ht-navy h4 { color: #fff; }
.ht-navy p, .ht-navy li { color: var(--ht-inv-muted); }
.ht-navy .ht-eyebrow { color: var(--ht-inv-accent); }
.ht-navy a { color: #fff; }
.ht-navy .ht-arrow-link, .ht-navy .ht-links a { color: #fff; }
.ht-navy .ht-arrow-link::after, .ht-navy .ht-links a::after { color: var(--ht-inv-accent); }
.ht-navy .ht-item p { color: var(--ht-inv-muted); }
.ht-navy .ht-num { color: var(--ht-inv-accent); }
.ht-navy :focus-visible { outline-color: var(--ht-inv-accent); }
@media (max-width: 720px) { .ht-navy { padding: 36px 24px; } }
.ht-navy-grid { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 56px; align-items: start; }
@media (max-width: 1023px) { .ht-navy-grid { grid-template-columns: 1fr; gap: 32px; } }

/* FAQ */
.ht-faq { border-top: 1px solid var(--ht-border); }
.ht-faq details { border-bottom: 1px solid var(--ht-border); }
.ht-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 22px 0; font-weight: 600; font-size: 20px; line-height: 1.35; min-height: 44px; }
.ht-faq summary::-webkit-details-marker { display: none; }
.ht-faq summary::after { content: ""; flex: none; width: 12px; height: 12px; border-right: 2px solid var(--ht-ink); border-bottom: 2px solid var(--ht-ink); transform: rotate(45deg) translate(-3px,-3px); transition: transform .18s var(--ht-ease); }
.ht-faq details[open] summary::after { transform: rotate(225deg) translate(-3px,-3px); }
.ht-faq details > :not(summary) { color: var(--ht-muted); padding-bottom: 12px; }

/* Final CTA */
.ht-cta { border-top: 1px solid var(--ht-border); }
.ht-cta-inner { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--ht-gap); align-items: end; }
.ht-cta-inner h2 { margin-bottom: 16px; }
.ht-cta-inner p { color: var(--ht-muted); margin: 0; }
.ht-cta-inner .wp-block-buttons { justify-content: flex-end; margin: 0; }
@media (max-width: 900px) { .ht-cta-inner { grid-template-columns: 1fr; } .ht-cta-inner .wp-block-buttons { justify-content: flex-start; margin-top: 16px; } }

/* Tables */
.ht-table table, .entry table { width: 100%; border-collapse: collapse; font-size: 16px; background: var(--ht-surface); border-radius: 12px; overflow: hidden; }
.ht-table th, .ht-table td, .entry table th, .entry table td { text-align: left; vertical-align: top; padding: 14px 16px; border: 1px solid var(--ht-border); line-height: 1.5; }
.ht-table thead th, .entry table thead th { background: var(--ht-tint); font-weight: 600; color: var(--ht-ink); }
.ht-table td { color: var(--ht-muted); }
.ht-table td:first-child { color: var(--ht-ink); font-weight: 500; }
.wp-block-table { margin: 0; overflow-x: auto; }
.wp-block-table figcaption, .ht-table figcaption { font-size: 14px; color: var(--ht-muted); margin-top: 10px; }

/* Steps / lists */
.ht-steps { counter-reset: s; list-style: none; padding: 0; margin: 0; }
.ht-steps li { counter-increment: s; position: relative; padding: 0 0 0 46px; margin: 0 0 18px; }
.ht-steps li::before { content: counter(s, decimal-leading-zero); position: absolute; left: 0; top: 2px; font-size: 15px; font-weight: 600; color: var(--ht-accent); }
.ht-checks { list-style: none; padding: 0; margin: 0; }
.ht-checks li { position: relative; padding: 12px 0 12px 28px; border-bottom: 1px solid var(--ht-border); max-width: none; }
.ht-checks li::before { content: ""; position: absolute; left: 2px; top: 22px; width: 8px; height: 8px; border-radius: 2px; background: var(--ht-accent); }
.ht-checks li:last-child { border-bottom: 0; }

/* Process steps (How we work) */
.ht-process { border-top: 1px solid var(--ht-border); }
.ht-process > .ht-pstep { display: grid; grid-template-columns: 64px minmax(0,4fr) minmax(0,7fr); gap: var(--ht-gap); padding: 32px 0; border-bottom: 1px solid var(--ht-border); }
.ht-pstep h3 { margin: 0; }
.ht-pstep p { color: var(--ht-muted); margin: 0 0 8px; }
.ht-pstep .ht-output { color: var(--ht-ink); font-size: 16px; }
.ht-pstep .ht-output strong { color: var(--ht-accent); font-weight: 600; }
@media (max-width: 900px) { .ht-process > .ht-pstep { grid-template-columns: 40px 1fr; } .ht-pstep > :nth-child(3) { grid-column: 2; } }

/* ---------- Illustrations ---------- */
.ht-illus { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: var(--ht-radius-media); padding: 28px; }
.ht-illus__label { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-accent); margin: 0 0 18px; }
.ht-illus__title { font-size: 26px; font-weight: 600; letter-spacing: -0.015em; margin: 0 0 6px; color: var(--ht-ink); }
.ht-illus__sub { color: var(--ht-muted); margin: 0 0 22px; font-size: 17px; }
.ht-illus__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.ht-illus__list li { display: flex; gap: 14px; align-items: flex-start; background: var(--ht-bg); border-radius: 12px; padding: 14px 16px; max-width: none; }
.ht-illus__list b { display: block; font-weight: 600; font-size: 17px; line-height: 1.35; color: var(--ht-ink); }
.ht-illus__list small { display: block; font-size: 14px; color: var(--ht-muted); line-height: 1.4; margin-top: 2px; }
.ht-dot { flex: none; width: 12px; height: 12px; border-radius: 50%; margin-top: 6px; background: var(--ht-muted); }
.ht-dot--accent { background: var(--ht-accent); }
.ht-dot--ink { background: var(--ht-ink); }
.ht-dot--ring { background: transparent; border: 2px solid var(--ht-muted); }
.ht-illus__foot { font-size: 13px; color: var(--ht-muted); margin: 18px 0 0; }
.ht-illus__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ht-illus__steps li { background: var(--ht-bg); border-radius: 12px; padding: 16px 18px; max-width: none; }
.ht-illus__steps b { display: block; font-size: 18px; font-weight: 600; color: var(--ht-ink); }
.ht-illus__steps small { display: block; color: var(--ht-muted); font-size: 15px; margin-top: 4px; }

/* Mock app frame */
.ht-frame { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: var(--ht-radius-media); overflow: hidden; }
.ht-frame__bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--ht-border); background: var(--ht-bg); font-size: 13px; color: var(--ht-muted); }
.ht-frame__bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--ht-border); display: inline-block; }
.ht-frame__bar span { margin-left: 8px; }
.ht-frame__body { padding: 24px; }
.ht-kv { display: grid; grid-template-columns: 140px 1fr; gap: 10px 16px; font-size: 15px; margin: 0; }
.ht-kv dt { color: var(--ht-muted); }
.ht-kv dd { margin: 0; color: var(--ht-ink); font-weight: 500; }
@media (max-width: 480px) { .ht-kv { grid-template-columns: 1fr; gap: 2px; } .ht-kv dd { margin-bottom: 8px; } }
.ht-status { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--ht-border); background: var(--ht-bg); color: var(--ht-ink); white-space: nowrap; }
.ht-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ht-status--accent { color: var(--ht-accent); }
.ht-status--warn { color: #8A5A00; }
.ht-status--muted { color: var(--ht-muted); }
.ht-mini-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ht-mini-table th, .ht-mini-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--ht-border); vertical-align: top; }
.ht-mini-table th { color: var(--ht-muted); font-weight: 500; font-size: 13px; }
.ht-act { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ht-border); display: flex; gap: 10px; flex-wrap: wrap; align-items: center; font-size: 14px; color: var(--ht-muted); }
.ht-fakebtn { display: inline-block; padding: 8px 14px; border-radius: 8px; background: var(--ht-ink); color: #fff; font-size: 14px; font-weight: 600; }
.ht-fakebtn--ghost { background: transparent; color: var(--ht-ink); border: 1px solid var(--ht-control); }

/* Phones */
.ht-phones { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--ht-gap); }
.ht-phone { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: 28px; padding: 18px 16px 22px; }
.ht-phone__notch { width: 64px; height: 6px; border-radius: 99px; background: var(--ht-border); margin: 0 auto 18px; }
.ht-phone h4 { font-size: 17px; margin: 0 0 4px; }
.ht-phone p { font-size: 14px; color: var(--ht-muted); margin: 0 0 12px; }
.ht-phone .ht-line { height: 8px; border-radius: 4px; background: var(--ht-tint); margin: 8px 0; }
.ht-phone .ht-line.s { width: 60%; }
.ht-phone__state { margin-top: 14px; font-size: 14px; }
.ht-phone figcaption { font-size: 14px; color: var(--ht-muted); margin-top: 10px; }
@media (max-width: 720px) { .ht-phones { grid-template-columns: 1fr; } }

/* Ownership map */
.ht-owner { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.ht-owner > div { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: 14px; padding: 18px; }
.ht-owner b { display: block; font-size: 16px; margin-bottom: 6px; }
.ht-owner span { display: block; font-size: 14px; color: var(--ht-muted); line-height: 1.45; }
.ht-owner em { display: block; font-style: normal; font-size: 12px; color: var(--ht-accent); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; }
@media (max-width: 1023px) { .ht-owner { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) { .ht-owner { grid-template-columns: 1fr; } }

/* Scope in/out */
.ht-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--ht-border); border-radius: var(--ht-radius-media); overflow: hidden; background: var(--ht-surface); }
.ht-scope > div { padding: 24px; }
.ht-scope > div + div { border-left: 1px solid var(--ht-border); background: var(--ht-bg); }
.ht-scope h4 { margin-bottom: 12px; }
.ht-scope ul { margin: 0; padding-left: 1.1em; color: var(--ht-muted); font-size: 16px; }
.ht-scope li { margin-bottom: 6px; }
@media (max-width: 720px) { .ht-scope { grid-template-columns: 1fr; } .ht-scope > div + div { border-left: 0; border-top: 1px solid var(--ht-border); } }

/* ---------- Tabs ---------- */
.ht-tabs__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; }
.ht-tab { min-height: 44px; padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--ht-control); background: transparent; color: var(--ht-ink); font: 600 16px/1.2 var(--ht-font); cursor: pointer; transition: background-color .18s var(--ht-ease), color .18s var(--ht-ease); text-align: left; }
.ht-tab:hover { border-color: var(--ht-ink); }
.ht-tab[aria-selected="true"] { background: var(--ht-ink); color: #fff; border-color: var(--ht-ink); }
.ht-tab[aria-selected="true"]::before { content: "● "; color: var(--ht-inv-accent); }
.ht-navy .ht-tab { color: #fff; border-color: rgba(255,255,255,.45); }
.ht-navy .ht-tab:hover { border-color: #fff; }
.ht-navy .ht-tab[aria-selected="true"] { background: #fff; color: var(--ht-ink); border-color: #fff; }
.ht-navy .ht-tab[aria-selected="true"]::before { color: var(--ht-accent); }
.ht-tabpanel[hidden] { display: none; }
.ht-tabpanel { animation: htFade .25s var(--ht-ease); }
@keyframes htFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.no-js .ht-tabs__list { display: none; }
.no-js .ht-tabpanel[hidden] { display: block; }
.no-js .ht-tabpanel + .ht-tabpanel { margin-top: 32px; }
.ht-tabpanel__title { display: none; }
.no-js .ht-tabpanel__title { display: block; }
@media (max-width: 720px) { .ht-tabs__list { flex-direction: column; } .ht-tab { width: 100%; } }

/* Walkthrough */
.ht-walk { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 56px; align-items: start; }
@media (max-width: 1023px) { .ht-walk { grid-template-columns: 1fr; gap: 32px; } }
.ht-walk__caption { font-size: 17px; color: var(--ht-ink); margin: 16px 0 0; }
.ht-walk__caption small { display: block; font-size: 13px; color: var(--ht-muted); margin-top: 6px; }

/* Starting point explorer */
.ht-explorer { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 56px; align-items: start; }
.ht-explorer .ht-tabs__list { flex-direction: column; align-items: stretch; }
.ht-explorer .ht-tab { border-radius: 12px; padding: 16px 18px; font-size: 17px; }
.ht-explorer .ht-tabpanel { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: var(--ht-radius-media); padding: 36px; }
.ht-explorer .ht-tabpanel h3 { margin-bottom: 14px; }
.ht-explorer .ht-tabpanel p { color: var(--ht-muted); }
@media (max-width: 1023px) { .ht-explorer { grid-template-columns: 1fr; gap: 24px; } .ht-explorer .ht-tabpanel { padding: 24px; } }

/* Delivery update artifact */
.ht-update { display: grid; gap: 0; }
.ht-update__row { display: grid; grid-template-columns: 160px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.16); }
.ht-update__row:first-child { border-top: 0; padding-top: 0; }
.ht-update__k { font-size: 14px; font-weight: 600; color: var(--ht-inv-accent); }
.ht-update__v { color: #fff; font-size: 18px; line-height: 1.5; }
.ht-update details { border-top: 1px solid rgba(255,255,255,.16); padding-top: 14px; }
.ht-update summary { cursor: pointer; font-weight: 600; color: #fff; min-height: 44px; display: flex; align-items: center; }
.ht-update__foot { font-size: 14px; color: var(--ht-inv-muted); margin-top: 18px; }
@media (max-width: 720px) { .ht-update__row { grid-template-columns: 1fr; gap: 4px; } }
.ht-artifact { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: var(--ht-radius-media); padding: 32px; }
.ht-artifact h3 { margin-bottom: 10px; }
.ht-artifact .ht-kv { margin-bottom: 20px; }
.ht-artifact__ac { list-style: none; padding: 0; margin: 0; }
.ht-artifact__ac li { padding: 12px 0; border-top: 1px solid var(--ht-border); font-size: 16px; color: var(--ht-ink); max-width: none; }
.ht-artifact__ac li b { color: var(--ht-accent); margin-right: 8px; }
.ht-artifact .ht-update__row { border-top-color: var(--ht-border); }
.ht-artifact .ht-update__k { color: var(--ht-accent); }
.ht-artifact .ht-update__v { color: var(--ht-ink); font-size: 17px; }
@media (max-width: 720px) { .ht-artifact { padding: 20px; } }

/* ---------- Forms ---------- */
.ht-contact { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 72px; align-items: start; padding-top: 72px; padding-bottom: 96px; }
.ht-contact__aside h2 { font-size: 26px; margin-top: 48px; }
@media (max-width: 1023px) { .ht-contact { grid-template-columns: 1fr; gap: 40px; padding-top: 48px; } }
.ht-form { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: var(--ht-radius-media); padding: 32px; }
@media (max-width: 720px) { .ht-form { padding: 20px; } }
.ht-field { margin-bottom: 22px; }
.ht-field label, .ht-field legend { display: block; font-weight: 600; font-size: 16px; margin-bottom: 8px; color: var(--ht-ink); }
.ht-field label .opt { font-weight: 500; color: var(--ht-muted); }
.ht-field input, .ht-field select, .ht-field textarea {
	width: 100%; min-height: 52px; padding: 12px 14px; border: 1.5px solid var(--ht-control); border-radius: var(--ht-radius);
	background: var(--ht-bg); color: var(--ht-ink); font: 400 17px/1.5 var(--ht-font);
}
.ht-field textarea { min-height: 168px; resize: vertical; }
.ht-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ht-ink) 50%), linear-gradient(135deg, var(--ht-ink) 50%, transparent 50%); background-position: calc(100% - 22px) 23px, calc(100% - 16px) 23px; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 40px; }
.ht-field input:focus, .ht-field select:focus, .ht-field textarea:focus { outline: 2px solid var(--ht-accent); outline-offset: 2px; border-color: var(--ht-ink); background: #fff; }
.ht-field .ht-help { font-size: 15px; color: var(--ht-muted); margin: 8px 0 0; }
.ht-field .ht-err { font-size: 15px; color: var(--ht-error); margin: 8px 0 0; font-weight: 500; }
.ht-field.is-invalid input, .ht-field.is-invalid textarea, .ht-field.is-invalid select { border-color: var(--ht-error); }
.ht-more { border-top: 1px solid var(--ht-border); margin: 4px 0 22px; }
.ht-more summary { cursor: pointer; font-weight: 600; padding: 16px 0; min-height: 44px; }
.ht-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ht-privacy { font-size: 15px; color: var(--ht-muted); }
.ht-form .ht-btn { width: 100%; min-height: 56px; font-size: 18px; }
.ht-form .ht-btn[disabled] { opacity: 1; background: var(--ht-ink-hover); cursor: progress; }
.ht-summary { border: 2px solid var(--ht-error); border-radius: 12px; padding: 16px 18px; margin-bottom: 22px; background: #FFF6F5; }
.ht-summary h2 { font-size: 18px; margin: 0 0 8px; color: var(--ht-error); }
.ht-summary ul { margin: 0; padding-left: 1.1em; }
.ht-summary a { color: var(--ht-error); font-weight: 500; }
.ht-alert { border-radius: 12px; padding: 16px 18px; margin-bottom: 22px; background: #FFF6F5; border: 1px solid #F3C7C2; color: var(--ht-ink); }
.ht-success { text-align: left; }
.ht-success h2 { font-size: 30px; }
.ht-success:focus { outline: none; }

/* ---------- Insights ---------- */
.ht-posts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px var(--ht-gap); }
.ht-posts--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (max-width: 1023px) { .ht-posts { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 720px) { .ht-posts, .ht-posts--2 { grid-template-columns: 1fr; } }
.ht-post { border-top: 1px solid var(--ht-border); padding-top: 24px; position: relative; }
.ht-post__cat { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-accent); margin-bottom: 12px; }
.ht-post h3 { font-size: 24px; margin-bottom: 12px; }
.ht-post h3 a { color: var(--ht-ink); text-decoration: none; }
.ht-post h3 a::after { content: ""; position: absolute; inset: 0; }
.ht-post h3 a:hover { color: var(--ht-accent); }
.ht-post p { color: var(--ht-muted); font-size: 17px; }
.ht-post__meta { font-size: 14px; color: var(--ht-muted); }
.ht-article { padding-top: 64px; padding-bottom: 96px; }
.ht-article__head { max-width: 860px; margin-bottom: 48px; }
.ht-article__head h1 { font-size: 52px; }
@media (max-width: 720px) { .ht-article__head h1 { font-size: 36px; } }
.ht-article__meta { color: var(--ht-muted); font-size: 15px; border-top: 1px solid var(--ht-border); padding-top: 16px; margin-top: 28px; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.ht-prose { max-width: 720px; font-size: 18px; }
@media (max-width: 720px) { .ht-prose { font-size: 17px; } }
.ht-prose h2 { font-size: 30px; margin-top: 1.6em; }
.ht-prose p, .ht-prose li { color: #24364B; }
.ht-prose .ht-checklist { background: var(--ht-surface); border: 1px solid var(--ht-border); border-radius: 16px; padding: 24px 28px; margin: 28px 0; }
.ht-prose .ht-checklist h3 { font-size: 20px; }
.ht-article__cta { max-width: 720px; margin-top: 56px; }
.ht-related { margin-top: 72px; }
.ht-breadcrumb { font-size: 14px; color: var(--ht-muted); margin-bottom: 20px; }
.ht-breadcrumb a { color: var(--ht-muted); }

/* ---------- Footer ---------- */
.ht-footer { background: var(--ht-ink); color: var(--ht-inv-muted); padding: 72px 0 40px; margin-top: 0; }
.ht-footer a { color: #fff; text-decoration: none; }
.ht-footer a:hover { text-decoration: underline; color: #fff; }
.ht-footer__grid { display: grid; grid-template-columns: minmax(0,5fr) repeat(3, minmax(0,2fr)); gap: var(--ht-gap); }
.ht-footer__brand img { height: 52px; width: auto; display: block; margin-bottom: 20px; }
.ht-footer__brand p { font-size: 16px; max-width: 34ch; }
.ht-footer h2 { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-inv-accent); margin-bottom: 16px; }
.ht-footer ul { list-style: none; margin: 0; padding: 0; }
.ht-footer li { margin: 0 0 6px; font-size: 16px; }
.ht-footer li a { display: inline-block; padding: 4px 0; }
.ht-footer__bottom { border-top: 1px solid rgba(255,255,255,.14); margin-top: 56px; padding-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; }
.ht-footer :focus-visible { outline-color: var(--ht-inv-accent); }
@media (max-width: 900px) { .ht-footer__grid { grid-template-columns: 1fr 1fr; } .ht-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .ht-footer__grid { grid-template-columns: 1fr; } }

/* 404 / simple pages */
.ht-simple { padding-top: 72px; padding-bottom: 104px; max-width: 860px; }
.ht-legal { max-width: 760px; }
.ht-legal h2 { font-size: 28px; margin-top: 1.6em; }
.ht-legal p, .ht-legal li { color: #24364B; }

/* ---------- Motion ---------- */
.ht-reveal { opacity: 0; transform: translateY(12px); transition: opacity .3s var(--ht-ease), transform .3s var(--ht-ease); }
.ht-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.ht-reveal { opacity: 1; transform: none; }
}
@media print { .ht-header, .ht-footer, .ht-drawer { display: none; } }

/* ---------- Fixes ---------- */
.ht-hero > *, .ht-split > *, .ht-walk > *, .ht-navy-grid > *, .ht-explorer > *, .ht-contact > *, .ht-cta-inner > *,
.ht-grid-2 > *, .ht-grid-3 > *, .ht-grid-4 > *, .ht-grid-5 > *, .ht-row > *, .ht-pstep > *, .ht-starts > * { min-width: 0; }
.ht-frame__body, .ht-card { overflow-x: auto; }
.ht-footer a.ht-btn--light, .ht-footer a.ht-btn--light:hover { color: var(--ht-ink); text-decoration: none; }
.ht-cta { border-top: 0; }
.ht-main > .entry > .ht-cta { position: relative; }
.ht-main > .entry > .ht-cta::before { content: ""; position: absolute; top: 0; left: var(--ht-gutter); right: var(--ht-gutter); border-top: 1px solid var(--ht-border); }
:where(.is-layout-flow) > * { margin-block-start: 0; }
.ht-navy > .ht-navy__media { margin-top: 40px; }
.ht-navy > .ht-navy__media .ht-item p { margin-bottom: 0; }
.ht-head > p:last-child { margin-bottom: 0; }
.ht-hero .wp-block-buttons { margin-top: 36px; }

/* ---------- Icons ---------- */
.ht-ico { position: relative; }
.ht-ico::before { content: ""; display: block; width: 48px; height: 48px; border-radius: 12px; background: var(--ht-surface); border: 1px solid var(--ht-border); margin-bottom: 20px; }
.ht-ico::after { content: ""; position: absolute; left: 12px; width: 24px; height: 24px; background: var(--ht-accent); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.ht-ico::after { top: 12px; }
.ht-item--rule.ht-ico::after { top: 37px; }
.ht-card.ht-ico::after { top: 41px; left: 41px; }
.ht-starts > .ht-ico::after { top: 12px; }
.ht-navy .ht-ico::before { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); }
.ht-navy .ht-ico::after { background: var(--ht-inv-accent); }
@media (max-width: 900px) { .ht-starts > .ht-ico::after { top: 40px; } }
@media (max-width: 720px) { .ht-card.ht-ico::after { top: 41px; left: 41px; } }
.ht-ico--lightbulb { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%2014c.2-1%20.7-1.7%201.5-2.5%201-.9%201.5-2.2%201.5-3.5A6%206%200%200%200%206%208c0%201%20.2%202.2%201.5%203.5.7.7%201.3%201.5%201.5%202.5%22/%3E%3Cpath%20d%3D%22M9%2018h6%22/%3E%3Cpath%20d%3D%22M10%2022h4%22/%3E%3C/svg%3E"); }
.ht-ico--wrench { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z%22/%3E%3C/svg%3E"); }
.ht-ico--userplus { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M19%208v6%22/%3E%3Cpath%20d%3D%22M22%2011h-6%22/%3E%3C/svg%3E"); }
.ht-ico--users { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22/%3E%3Cpath%20d%3D%22M16%203.13a4%204%200%200%201%200%207.75%22/%3E%3C/svg%3E"); }
.ht-ico--search { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22/%3E%3Cpath%20d%3D%22m21%2021-4.3-4.3%22/%3E%3C/svg%3E"); }
.ht-ico--file { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V7z%22/%3E%3Cpath%20d%3D%22M14%202v4a2%202%200%200%200%202%202h4%22/%3E%3Cpath%20d%3D%22M10%209H8%22/%3E%3Cpath%20d%3D%22M16%2013H8%22/%3E%3Cpath%20d%3D%22M16%2017H8%22/%3E%3C/svg%3E"); }
.ht-ico--workflow { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%228%22%20height%3D%228%22%20x%3D%223%22%20y%3D%223%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M7%2011v4a2%202%200%200%200%202%202h4%22/%3E%3Crect%20width%3D%228%22%20height%3D%228%22%20x%3D%2213%22%20y%3D%2213%22%20rx%3D%222%22/%3E%3C/svg%3E"); }
.ht-ico--rocket { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4.5%2016.5c-1.5%201.26-2%205-2%205s3.74-.5%205-2c.71-.84.7-2.13-.09-2.91a2.18%202.18%200%200%200-2.91-.09z%22/%3E%3Cpath%20d%3D%22m12%2015-3-3a22%2022%200%200%201%202-3.95A12.88%2012.88%200%200%201%2022%202c0%202.72-.78%207.5-6%2011a22.35%2022.35%200%200%201-4%202z%22/%3E%3Cpath%20d%3D%22M9%2012H4s.55-3.03%202-4c1.62-1.08%205%200%205%200%22/%3E%3Cpath%20d%3D%22M12%2015v5s3.03-.55%204-2c1.08-1.62%200-5%200-5%22/%3E%3C/svg%3E"); }
.ht-ico--layers { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12.83%202.18a2%202%200%200%200-1.66%200L2.6%206.08a1%201%200%200%200%200%201.83l8.58%203.91a2%202%200%200%200%201.66%200l8.58-3.9a1%201%200%200%200%200-1.83Z%22/%3E%3Cpath%20d%3D%22m22%2017.65-9.17%204.16a2%202%200%200%201-1.66%200L2%2017.65%22/%3E%3Cpath%20d%3D%22m22%2012.65-9.17%204.16a2%202%200%200%201-1.66%200L2%2012.65%22/%3E%3C/svg%3E"); }
.ht-ico--browser { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2220%22%20height%3D%2216%22%20x%3D%222%22%20y%3D%224%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M2%209h20%22/%3E%3Cpath%20d%3D%22M6%206.5h.01%22/%3E%3Cpath%20d%3D%22M9%206.5h.01%22/%3E%3C/svg%3E"); }
.ht-ico--phone { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2214%22%20height%3D%2220%22%20x%3D%225%22%20y%3D%222%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M12%2018h.01%22/%3E%3C/svg%3E"); }
.ht-ico--sparkles { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.94%2015.5A2%202%200%200%200%208.5%2014.06l-6.14-1.58a.5.5%200%200%201%200-.96L8.5%209.94A2%202%200%200%200%209.94%208.5l1.58-6.14a.5.5%200%200%201%20.96%200L14.06%208.5A2%202%200%200%200%2015.5%209.94l6.14%201.58a.5.5%200%200%201%200%20.96L15.5%2014.06a2%202%200%200%200-1.44%201.44l-1.58%206.14a.5.5%200%200%201-.96%200z%22/%3E%3Cpath%20d%3D%22M20%203v4%22/%3E%3Cpath%20d%3D%22M22%205h-4%22/%3E%3C/svg%3E"); }
.ht-ico--compass { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22m16.24%207.76-1.8%205.4a2%202%200%200%201-1.27%201.27l-5.4%201.8%201.8-5.4a2%202%200%200%201%201.27-1.27z%22/%3E%3C/svg%3E"); }
.ht-ico--check { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22/%3E%3C/svg%3E"); }
.ht-ico--gauge { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%2014%204-4%22/%3E%3Cpath%20d%3D%22M3.34%2019a10%2010%200%201%201%2017.32%200%22/%3E%3C/svg%3E"); }
.ht-ico--coins { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226%22/%3E%3Cpath%20d%3D%22M18.09%2010.37A6%206%200%201%201%2010.34%2018%22/%3E%3Cpath%20d%3D%22M7%206h1v4%22/%3E%3Cpath%20d%3D%22m16.71%2013.88.7.71-2.82%202.82%22/%3E%3C/svg%3E"); }
.ht-ico--database { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%225%22%20rx%3D%229%22%20ry%3D%223%22/%3E%3Cpath%20d%3D%22M3%205v14a9%203%200%200%200%2018%200V5%22/%3E%3Cpath%20d%3D%22M3%2012a9%203%200%200%200%2018%200%22/%3E%3C/svg%3E"); }
.ht-ico--plug { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022v-5%22/%3E%3Cpath%20d%3D%22M9%208V2%22/%3E%3Cpath%20d%3D%22M15%208V2%22/%3E%3Cpath%20d%3D%22M18%208v5a4%204%200%200%201-4%204h-4a4%204%200%200%201-4-4V8Z%22/%3E%3C/svg%3E"); }
.ht-ico--shield { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z%22/%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22/%3E%3C/svg%3E"); }
.ht-ico--server { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2220%22%20height%3D%228%22%20x%3D%222%22%20y%3D%222%22%20rx%3D%222%22/%3E%3Crect%20width%3D%2220%22%20height%3D%228%22%20x%3D%222%22%20y%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M6%206h.01%22/%3E%3Cpath%20d%3D%22M6%2018h.01%22/%3E%3C/svg%3E"); }
.ht-ico--alert { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22M12%208v4%22/%3E%3Cpath%20d%3D%22M12%2016h.01%22/%3E%3C/svg%3E"); }
.ht-ico--ban { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22m4.9%204.9%2014.2%2014.2%22/%3E%3C/svg%3E"); }
.ht-ico--copy { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22/%3E%3C/svg%3E"); }
.ht-ico--cloudoff { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m2%202%2020%2020%22/%3E%3Cpath%20d%3D%22M5.78%205.78A7%207%200%200%200%209%2019h8.5a4.5%204.5%200%200%200%201.31-.2%22/%3E%3Cpath%20d%3D%22M21.53%2016.05A4.5%204.5%200%200%200%2017.5%2010h-1.79A7.01%207.01%200%200%200%2010%205.07%22/%3E%3C/svg%3E"); }
.ht-ico--wifioff { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h.01%22/%3E%3Cpath%20d%3D%22M8.5%2016.43a5%205%200%200%201%207%200%22/%3E%3Cpath%20d%3D%22M2%202l20%2020%22/%3E%3Cpath%20d%3D%22M5%2012.86a10%2010%200%200%201%205.17-2.69%22/%3E%3Cpath%20d%3D%22M19%2012.86a10%2010%200%200%200-2-1.55%22/%3E%3Cpath%20d%3D%22M2%208.82a15%2015%200%200%201%204.18-2.65%22/%3E%3Cpath%20d%3D%22M22%208.82a15%2015%200%200%200-11.29-3.76%22/%3E%3C/svg%3E"); }
.ht-ico--lock { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2211%22%20x%3D%223%22%20y%3D%2211%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M7%2011V7a5%205%200%200%201%2010%200v4%22/%3E%3C/svg%3E"); }
.ht-ico--bell { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.27%2021a2%202%200%200%200%203.46%200%22/%3E%3Cpath%20d%3D%22M3.26%2015.33A1%201%200%200%200%204%2017h16a1%201%200%200%200%20.74-1.67C19.41%2013.96%2018%2012.5%2018%208A6%206%200%200%200%206%208c0%204.5-1.41%205.96-2.74%207.33%22/%3E%3C/svg%3E"); }
.ht-ico--target { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3C/svg%3E"); }
.ht-ico--link { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22/%3E%3Cpath%20d%3D%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22/%3E%3C/svg%3E"); }
.ht-ico--flask { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%202v7.53a2%202%200%200%201-.21.9L4.72%2020.55A1%201%200%200%200%205.62%2022h12.76a1%201%200%200%200%20.9-1.45l-5.07-10.12a2%202%200%200%201-.21-.9V2%22/%3E%3Cpath%20d%3D%22M8.5%202h7%22/%3E%3Cpath%20d%3D%22M7%2016h10%22/%3E%3C/svg%3E"); }
.ht-ico--split { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%203h5v5%22/%3E%3Cpath%20d%3D%22M8%203H3v5%22/%3E%3Cpath%20d%3D%22M12%2022v-8.3a4%204%200%200%200-1.17-2.83L3%203%22/%3E%3Cpath%20d%3D%22m15%209%206-6%22/%3E%3C/svg%3E"); }
.ht-ico--handshake { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m11%2017%202%202a1%201%200%201%200%203-3%22/%3E%3Cpath%20d%3D%22m14%2014%202.5%202.5a1%201%200%201%200%203-3l-3.88-3.88a3%203%200%200%200-4.24%200l-.88.88a1%201%200%201%201-3-3l2.81-2.81a5.79%205.79%200%200%201%207.06-.87l.47.28a2%202%200%200%200%201.42.25L21%204%22/%3E%3Cpath%20d%3D%22m21%203%201%2011h-2%22/%3E%3Cpath%20d%3D%22M3%203%202%2014l6.5%206.5a1%201%200%201%200%203-3%22/%3E%3Cpath%20d%3D%22M3%204h8%22/%3E%3C/svg%3E"); }
.ht-ico--eye { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.06%2012.35a1%201%200%200%201%200-.7%2010.75%2010.75%200%200%201%2019.88%200%201%201%200%200%201%200%20.7%2010.75%2010.75%200%200%201-19.88%200%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22/%3E%3C/svg%3E"); }
.ht-ico--clipboard { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%228%22%20height%3D%224%22%20x%3D%228%22%20y%3D%222%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22/%3E%3Cpath%20d%3D%22m9%2014%202%202%204-4%22/%3E%3C/svg%3E"); }
.ht-ico--map { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.1%206.13%209.9%203.87a2%202%200%200%200-1.8%200L3.55%206.15A1%201%200%200%200%203%207.04v12.33a1%201%200%200%200%201.45.9l3.65-1.83a2%202%200%200%201%201.8%200l4.2%202.11a2%202%200%200%200%201.8%200l4.55-2.28a1%201%200%200%200%20.55-.9V4.63a1%201%200%200%200-1.45-.9l-3.65%201.83a2%202%200%200%201-1.8%200z%22/%3E%3Cpath%20d%3D%22M15%205.76v15%22/%3E%3Cpath%20d%3D%22M9%203.24v15%22/%3E%3C/svg%3E"); }

.ht-sub a.ht-sub__item { display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; align-items: start; }
.ht-sub a.ht-sub__item strong, .ht-sub a.ht-sub__item span { grid-column: 2; }
.ht-mi { grid-row: 1 / span 2; width: 40px; height: 40px; border-radius: 10px; background: var(--ht-bg); border: 1px solid var(--ht-border); position: relative; }
.ht-mi::after { content: ""; position: absolute; inset: 9px; background: var(--ht-accent); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.ht-sub a.ht-sub__item:hover .ht-mi { background: var(--ht-surface); }

/* =====================================================================
   Visual layer v1.1 — magenta/purple tone and SaaS-style composition
   (owner decision 7 Nov 2026: adopt the tone and styling of the
   reference "D"; contrast checked to WCAG AA).
   ===================================================================== */
:root {
	--ht-bg: #FFFFFF;
	--ht-blush: #F4F4F4;
	--ht-surface: #FFFFFF;
	--ht-ink: #14284B;
	--ht-ink-hover: #1E3A6B;
	--ht-text: #2B2F36;
	--ht-muted: #555F6D;
	--ht-accent: #2F5597;
	--ht-pink: #2F5597;
	--ht-border: #E3E6EB;
	--ht-control: #8A93A0;
	--ht-tint: #EEF2F8;
	--ht-inv-muted: #D6DEEA;
	--ht-inv-accent: #B9CCEB;
	--ht-grad: linear-gradient(115deg, #2F5597 0%, #25467F 38%, #1D3A6B 70%, #163B6E 100%);
	--ht-grad-soft: linear-gradient(115deg, #EEF2F8 0%, #F4F4F4 100%);
	--ht-shadow: 0 1px 2px rgba(20,40,75,.04), 0 12px 32px rgba(22,59,110,.08);
	--ht-shadow-lg: 0 2px 4px rgba(20,40,75,.05), 0 30px 70px rgba(22,59,110,.18);
	--ht-font: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ht-radius-media: 16px;
}
body { color: var(--ht-text); background: #fff; }
h1, h2, h3, h4 { color: var(--ht-ink); font-weight: 800; letter-spacing: -0.025em; }
h3, h4 { font-weight: 700; letter-spacing: -0.015em; }
a { color: var(--ht-accent); }
a:hover { color: var(--ht-ink); }
.ht-main { overflow-x: clip; }

/* Buttons */
.ht-btn, .wp-block-button__link, .wp-element-button { background: var(--ht-accent); border-color: var(--ht-accent); border-radius: 10px; font-weight: 700; box-shadow: 0 6px 16px rgba(47,85,151,.22); }
.ht-btn:hover, .wp-block-button__link:hover { background: #1E3A6B; border-color: #1E3A6B; }
.is-style-outline .wp-block-button__link, .ht-btn--secondary { background: #fff; color: var(--ht-ink); border-color: var(--ht-control); box-shadow: none; }
.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--ht-accent); border-color: var(--ht-accent); }
.ht-btn--light { background: #fff; color: var(--ht-ink); border-color: #fff; box-shadow: 0 8px 20px rgba(20,40,75,.18); }
.ht-btn--light:hover { background: var(--ht-tint); border-color: var(--ht-tint); color: var(--ht-ink); }

/* Header */
.ht-header { background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); }
.ht-header__inner { border-bottom-color: transparent; }
.ht-nav__link, .ht-nav__toggle { font-weight: 600; color: var(--ht-ink); }
.ht-nav__link:hover, .ht-nav__toggle:hover { background: var(--ht-blush); }
.ht-nav__link[aria-current="page"], .ht-nav__toggle.is-current { text-decoration-color: var(--ht-accent); }
.ht-sub { border-color: var(--ht-border); box-shadow: var(--ht-shadow-lg); }
.ht-sub a:hover, .ht-sub a:focus-visible { background: var(--ht-blush); }
.ht-mi { background: var(--ht-tint); border-color: transparent; }

/* Eyebrow as pill */
.ht-eyebrow { display: inline-block; font-size: 12px !important; letter-spacing: .08em; color: var(--ht-accent); background: var(--ht-tint); border-radius: 999px; padding: 6px 14px; margin-bottom: 18px; }

/* Remove hairline rules — sections alternate background instead */
.ht-rule::before, .ht-main > .entry > .ht-cta::before { display: none; }
.ht-main > .entry > .ht-section:nth-child(even):not(.ht-cta) { background: var(--ht-blush); box-shadow: 0 0 0 100vmax var(--ht-blush); clip-path: inset(0 -100vmax); }
.ht-tight-top { padding-top: var(--ht-section); }

/* Centered section heads */
.ht-head { margin-left: auto; margin-right: auto; text-align: center; max-width: 820px; margin-bottom: 56px; }
.ht-head .ht-muted, .ht-head p { margin-left: auto; margin-right: auto; }
.ht-section > .wp-block-heading:first-child, .ht-section > .ht-eyebrow:first-child { text-align: center; }
.ht-section > .ht-eyebrow:first-child { display: table; margin-left: auto; margin-right: auto; }
.ht-section > .ht-eyebrow:first-child + .wp-block-heading { text-align: center; margin-bottom: 48px; }

/* Heroes: full-bleed gradient band */
.ht-hero { position: relative; isolation: isolate; color: #fff; padding-top: 88px; padding-bottom: 104px; }
.ht-hero::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: radial-gradient(800px 400px at 85% 0%, rgba(255,255,255,.14), transparent 60%), radial-gradient(600px 380px at 0% 100%, rgba(120,160,220,.35), transparent 60%), var(--ht-grad); }
.ht-hero h1, .ht-hero h2 { color: #fff; }
.ht-hero .ht-lead, .ht-hero .ht-support, .ht-hero p { color: var(--ht-inv-muted); }
.ht-hero .ht-eyebrow { color: #fff; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); }
.ht-hero .wp-block-button__link { background: #fff; color: var(--ht-ink); border-color: #fff; box-shadow: 0 10px 24px rgba(20,40,75,.22); }
.ht-hero .wp-block-button__link:hover { background: var(--ht-tint); border-color: var(--ht-tint); color: var(--ht-ink); }
.ht-hero .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); box-shadow: none; }
.ht-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); color: #fff; border-color: #fff; }
.ht-hero :focus-visible { outline-color: #fff; }
.ht-hero .ht-illus, .ht-hero .ht-frame { box-shadow: var(--ht-shadow-lg); border-color: rgba(255,255,255,.6); }
.ht-hero figure { color: var(--ht-text); }
.ht-hero figure p, .ht-hero figure td { color: var(--ht-text); }
.ht-hero figure p.ht-illus__label { color: var(--ht-accent); }
.ht-hero figure p.ht-illus__title { color: var(--ht-ink); }
.ht-hero figure .ht-illus__sub, .ht-hero figure .ht-illus__foot, .ht-hero figure .ht-caption, .ht-hero figure small { color: var(--ht-muted); }
.ht-hero .ht-illus__sub, .ht-hero .ht-illus__foot { color: var(--ht-muted); }
.ht-hero .ht-illus__title { color: var(--ht-ink); }
.ht-hero .ht-illus__label { color: var(--ht-accent); }

/* Home hero: centered with dashboard overlapping the band */
.ht-hero--center { display: block; text-align: center; padding-bottom: 0; }
.ht-hero--center::before { bottom: 220px; }
.ht-hero--center .ht-hero__text { max-width: 900px; margin: 0 auto; }
.ht-hero--center .ht-lead { margin-left: auto; margin-right: auto; }
.ht-hero--center .wp-block-buttons { justify-content: center; }
.ht-hero--center .ht-support { margin-top: 18px; }
.ht-hero--center .ht-hero__media { max-width: 1080px; margin: 64px auto 0; }
@media (max-width: 1023px) { .ht-hero--center::before { bottom: 160px; } }
@media (max-width: 720px) { .ht-hero { padding-top: 56px; padding-bottom: 64px; } .ht-hero--center { padding-bottom: 0; } .ht-hero--center::before { bottom: 120px; } }

/* Dashboard board */
.ht-board { margin: 0; background: #fff; border-radius: 20px; padding: 22px; box-shadow: var(--ht-shadow-lg); border: 1px solid var(--ht-border); text-align: left; }
.ht-board__grid { display: grid; grid-template-columns: minmax(0,6fr) minmax(0,3fr) minmax(0,4fr); gap: 16px; }
.ht-board__grid > * { min-width: 0; }
.ht-board__queue { overflow-x: auto; }
.ht-board .ht-mini-table td:first-child { font-weight: 600; color: var(--ht-ink); }
.ht-board__card { background: var(--ht-blush); border: 1px solid var(--ht-border); border-radius: 14px; padding: 18px; }
.ht-board__title { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-weight: 700; color: var(--ht-ink) !important; font-size: 16px; margin: 0 0 12px; }
.ht-board .ht-mini-table td { color: var(--ht-text); }
.ht-board__ring { display: flex; flex-direction: column; align-items: center; text-align: center; }
.ht-ring { --p: 60; width: 132px; height: 132px; border-radius: 50%; background: conic-gradient(var(--ht-accent) calc(var(--p) * 1%), #DDE4EE 0); display: grid; place-items: center; margin: 6px 0 10px; }
.ht-ring span { width: 100px; height: 100px; border-radius: 50%; background: #fff; display: grid; place-content: center; font-size: 12px; line-height: 1.3; color: var(--ht-muted); }
.ht-ring b { display: block; font-size: 28px; color: var(--ht-ink); font-weight: 800; }
.ht-board__note { font-size: 13px; color: var(--ht-muted) !important; margin: 0; }
.ht-board__update { background: var(--ht-grad); border: 0; color: #fff; }
.ht-board__update .ht-board__title { color: #fff !important; }
.ht-board__k { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ht-inv-accent) !important; margin: 10px 0 2px; }
.ht-board__v { font-size: 15px; color: #fff !important; margin: 0; line-height: 1.45; }
.ht-board__cap { font-size: 13px; color: var(--ht-muted); margin: 14px 4px 0; }
@media (max-width: 1023px) { .ht-board__grid { grid-template-columns: 1fr 1fr; } .ht-board__queue { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ht-board__grid { grid-template-columns: 1fr; } .ht-board { padding: 14px; } .ht-board .ht-mini-table th:nth-child(2), .ht-board .ht-mini-table td:nth-child(2) { display: none; } .ht-board .ht-mini-table td, .ht-board .ht-mini-table th { padding: 8px 6px; font-size: 13px; } }

/* Cards, frames, illustrations */
.ht-card, .ht-illus, .ht-frame, .ht-artifact, .ht-form, .ht-phone, .ht-owner > div, .ht-scope, .ht-explorer .ht-tabpanel { border-color: var(--ht-border); box-shadow: var(--ht-shadow); border-radius: 16px; }
.ht-illus__list li, .ht-illus__steps li { background: var(--ht-blush); }
.ht-dot--accent { background: var(--ht-accent); }
.ht-dot--ink { background: #1D3A6B; }
.ht-frame__bar { background: var(--ht-blush); }
.ht-fakebtn { background: var(--ht-accent); }
.ht-scope > div + div { background: var(--ht-blush); }
.ht-status--accent { color: var(--ht-accent); }
.ht-item--rule { border-top: 0; padding-top: 0; }
.ht-item--rule.ht-ico::after { top: 12px; }

/* Icons: pink tile */
.ht-ico::before { background: var(--ht-tint); border-color: transparent; border-radius: 12px; }
.ht-ico::after { background: var(--ht-accent); }

/* Starting points and rows */
.ht-starts { border-top: 0; padding-top: 0; gap: 24px; }
.ht-starts > .ht-item { background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; padding: 28px; box-shadow: var(--ht-shadow); }
.ht-starts > .ht-ico::after { top: 41px; left: 41px; }
@media (max-width: 900px) { .ht-starts { gap: 16px; } .ht-starts > .ht-item { padding: 24px; } .ht-starts > .ht-ico::after { top: 37px; left: 37px; } }
.ht-rows { border-top: 0; display: grid; gap: 16px; }
.ht-row { background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; padding: 28px; box-shadow: var(--ht-shadow); align-items: start; }
.ht-row .ht-num { font-size: 15px; display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 10px; background: var(--ht-grad); color: #fff; }
.ht-process { border-top: 0; display: grid; gap: 16px; }
.ht-process > .ht-pstep { background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; padding: 28px; box-shadow: var(--ht-shadow); }
.ht-pstep .ht-num { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--ht-grad); color: #fff; }
.ht-pstep .ht-output strong { color: var(--ht-accent); }
@media (max-width: 720px) { .ht-row, .ht-process > .ht-pstep { padding: 20px; } }

/* Gradient panels (former navy) */
.ht-navy { background: radial-gradient(500px 300px at 100% 0%, rgba(255,255,255,.12), transparent 60%), var(--ht-grad); box-shadow: var(--ht-shadow-lg); border-radius: 20px; }
.ht-navy .ht-eyebrow { color: #fff; background: rgba(255,255,255,.18); }
.ht-navy p, .ht-navy li, .ht-navy .ht-item p { color: var(--ht-inv-muted); }
.ht-navy .ht-update__k { color: var(--ht-inv-accent); }
.ht-navy .ht-update__row, .ht-navy .ht-update details { border-color: rgba(255,255,255,.25); }
.ht-navy .ht-ico::before { background: rgba(255,255,255,.16); }
.ht-navy .ht-ico::after { background: #fff; }

/* Tabs */
.ht-tab { border-color: var(--ht-border); background: #fff; border-radius: 10px; box-shadow: var(--ht-shadow); }
.ht-tab:hover { border-color: var(--ht-accent); }
.ht-tab[aria-selected="true"] { background: var(--ht-accent); border-color: var(--ht-accent); color: #fff; }
.ht-tab[aria-selected="true"]::before { color: #fff; }
.ht-explorer .ht-tab[aria-selected="true"] { background: var(--ht-grad); border-color: transparent; }

/* Tables */
.ht-table table, .entry table { border-radius: 14px; box-shadow: var(--ht-shadow); }
.ht-table thead th, .entry table thead th { background: var(--ht-tint); color: var(--ht-ink); }
.ht-table th, .ht-table td, .entry table th, .entry table td { border-color: var(--ht-border); }

/* FAQ centered with +/- */
.ht-split:has(.ht-faq) { display: block; max-width: 860px; margin: 0 auto; }
.ht-split:has(.ht-faq) .ht-split__head { text-align: center; margin-bottom: 32px; }
.ht-faq { border-top: 0; display: grid; gap: 12px; }
.ht-faq details { border: 1px solid var(--ht-border); border-radius: 14px; background: #fff; padding: 0 22px; box-shadow: var(--ht-shadow); }
.ht-faq summary { font-size: 18px; color: var(--ht-ink); }
.ht-faq summary::after { content: "+"; width: auto; height: auto; border: 0; transform: none; font-size: 26px; font-weight: 400; line-height: 1; color: var(--ht-accent); }
.ht-faq details[open] summary::after { content: "−"; transform: none; }

/* Final CTA: full-bleed gradient band, centered */
.ht-cta { position: relative; isolation: isolate; color: #fff; text-align: center; }
.ht-cta::after { content: ""; position: absolute; z-index: -1; inset: 0 calc(50% - 50vw); background: radial-gradient(700px 360px at 10% 100%, rgba(120,160,220,.35), transparent 60%), var(--ht-grad); }
.ht-cta-inner { display: block; max-width: 780px; margin: 0 auto; }
.ht-cta-inner h2 { color: #fff; }
.ht-cta-inner p { color: var(--ht-inv-muted); margin: 0 auto; }
.ht-cta-inner .wp-block-buttons { justify-content: center; margin-top: 32px; }
.ht-cta .wp-block-button__link { background: #fff; color: var(--ht-ink); border-color: #fff; }
.ht-cta .wp-block-button__link:hover { background: var(--ht-tint); color: var(--ht-ink); }
.ht-cta :focus-visible { outline-color: #fff; }

/* Contact page: gradient band with white form card */
.ht-contact { position: relative; isolation: isolate; }
.ht-contact::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: radial-gradient(700px 400px at 0% 100%, rgba(120,160,220,.35), transparent 60%), var(--ht-grad); }
.ht-contact__aside, .ht-contact__aside h1, .ht-contact__aside h2 { color: #fff; }
.ht-contact__aside p, .ht-contact__aside li { color: var(--ht-inv-muted); }
.ht-contact__aside .ht-eyebrow { color: #fff; background: rgba(255,255,255,.18); }
.ht-contact__aside .ht-steps li::before { color: #fff; }
.ht-contact__aside a { color: #fff; }
.ht-contact__aside :focus-visible { outline-color: #fff; }
.ht-form { box-shadow: var(--ht-shadow-lg); border: 0; }
.ht-field input, .ht-field select, .ht-field textarea { background-color: #fff; border-color: #A6B0BE; border-radius: 10px; }
.ht-field input:focus, .ht-field select:focus, .ht-field textarea:focus { border-color: var(--ht-accent); outline-color: var(--ht-accent); }

/* Insights cards */
.ht-post { border-top: 0; background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; padding: 28px; box-shadow: var(--ht-shadow); transition: transform .2s var(--ht-ease), box-shadow .2s var(--ht-ease); }
.ht-post:hover { transform: translateY(-2px); box-shadow: var(--ht-shadow-lg); }
.ht-post__cat { color: var(--ht-accent); }
.ht-article__head h1 { color: var(--ht-ink); }

/* Simple/legal pages and 404: soft band header */
.ht-simple { padding-top: 72px; }

/* Footer: light, minimal */
.ht-footer { background: #fff; color: var(--ht-muted); border-top: 1px solid var(--ht-border); }
.ht-footer a { color: var(--ht-ink); }
.ht-footer a:hover { color: var(--ht-accent); }
.ht-footer h2 { color: var(--ht-accent); }
.ht-footer__bottom { border-top-color: var(--ht-border); }
.ht-footer a.ht-btn--light, .ht-footer a.ht-btn--light:hover { background: var(--ht-accent); border-color: var(--ht-accent); color: #fff; box-shadow: 0 6px 16px rgba(47,85,151,.22); }
.ht-footer :focus-visible { outline-color: var(--ht-accent); }

/* Editor-facing badge */
.ht-badge { color: var(--ht-accent); background: var(--ht-tint); border-color: transparent; }
.ht-checks li::before { background: var(--ht-accent); border-radius: 50%; }
.ht-steps li::before { color: var(--ht-accent); }
.ht-walk__caption small, .ht-caption { color: var(--ht-muted); }

.ht-section > .wp-block-paragraph:last-child:has(> .ht-arrow-link) { text-align: center; margin-top: 32px; }
.ht-fakebtn.ht-fakebtn--ghost { background: #fff; color: var(--ht-ink); border: 1px solid var(--ht-control); }

/* Article header band */
.ht-article { padding-top: 0; }
.ht-article__head--band { position: relative; isolation: isolate; max-width: none; padding: 64px 0 56px; margin-bottom: 56px; color: #fff; }
.ht-article__head--band::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: radial-gradient(700px 360px at 90% 0%, rgba(255,255,255,.14), transparent 60%), var(--ht-grad); }
.ht-article__head--band > * { max-width: 860px; }
.ht-article__head--band h1 { color: #fff; }
.ht-article__head--band .ht-lead, .ht-article__head--band .ht-article__meta { color: var(--ht-inv-muted); }
.ht-article__head--band .ht-article__meta { border-top-color: rgba(255,255,255,.3); }
.ht-article__head--band .ht-breadcrumb, .ht-article__head--band .ht-breadcrumb a { color: var(--ht-inv-muted); }
.ht-article__head--band :focus-visible { outline-color: #fff; }
.ht-legal { padding-top: 64px; }
.ht-legal > h2:first-child { margin-top: 0; }
.ht-simple .ht-links { margin-top: 0; }
.ht-hero .ht-support { font-size: 15px; }

/* =====================================================================
   Refinement layer v1.2 — type scale, spacing rhythm, icon system
   ===================================================================== */
:root {
	--ht-h1-home: 64px; --ht-h1: 52px; --ht-h2: 40px; --ht-h3: 22px; --ht-body: 17px;
	--ht-text: #2B2F36; --ht-muted: #555F6D;
	--s1: 8px; --s2: 12px; --s3: 16px; --s4: 24px; --s5: 32px; --s6: 48px; --s7: 64px;
}
@media (max-width: 1100px) { :root { --ht-h1-home: 52px; --ht-h1: 44px; --ht-h2: 34px; } }
@media (max-width: 720px) { :root { --ht-h1-home: 38px; --ht-h1: 34px; --ht-h2: 28px; --ht-h3: 20px; --ht-body: 16px; } }
@media (max-width: 360px) { :root { --ht-h1-home: 34px; --ht-h1: 31px; } }

body { font-size: var(--ht-body); line-height: 1.65; letter-spacing: 0; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -0.012em; word-spacing: 0.04em; text-wrap: balance; }
h1 { font-size: var(--ht-h1); line-height: 1.1; letter-spacing: -0.02em; }
.home .ht-hero h1 { font-size: var(--ht-h1-home); line-height: 1.08; }
h2 { font-size: var(--ht-h2); line-height: 1.15; margin-bottom: var(--s3); }
h3 { font-size: var(--ht-h3); line-height: 1.3; letter-spacing: -0.005em; margin-bottom: var(--s2); }
h4 { font-size: 17px; letter-spacing: 0; }
p { margin-bottom: var(--s3); }
.ht-lead { font-size: 19px; line-height: 1.6; font-weight: 400; color: var(--ht-muted); }
@media (max-width: 720px) { .ht-lead { font-size: 17px; } }
.ht-note, .ht-caption { font-size: 14px; line-height: 1.55; }

/* Eyebrow pill: smaller, crisper */
.ht-eyebrow { font-size: 11.5px !important; font-weight: 700; letter-spacing: .1em; padding: 6px 12px; margin-bottom: var(--s3); line-height: 1.2; }
.ht-head { margin-bottom: var(--s6); }
.ht-head h2 { margin-bottom: var(--s2); }
.ht-head p { font-size: 17px; color: var(--ht-muted); max-width: 640px; }
.ht-section > .ht-eyebrow:first-child + .wp-block-heading { margin-bottom: var(--s6); }

/* Section rhythm */
.ht-section { padding-top: 96px; padding-bottom: 96px; }
@media (max-width: 720px) { .ht-section { padding-top: 64px; padding-bottom: 64px; } }
.ht-hero { padding-top: 80px; padding-bottom: 96px; }
.ht-hero .ht-lead { margin-top: var(--s4); }
.ht-hero .wp-block-buttons { margin-top: var(--s5); }
.ht-hero--center .ht-hero__media { margin-top: var(--s6); }
@media (max-width: 720px) { .ht-hero { padding-top: 48px; padding-bottom: 56px; } }

/* Buttons and nav */
.ht-btn, .wp-block-button__link, .wp-element-button { font-size: 16px; font-weight: 600; min-height: 50px; padding: 12px 24px; letter-spacing: 0; border-radius: 10px; }
.ht-header__cta .ht-btn { min-height: 44px; font-size: 15px; padding: 10px 18px; }
.ht-nav__link, .ht-nav__toggle { font-size: 15px; font-weight: 600; padding: 8px 12px; }
.ht-nav__list { gap: 4px; }
.ht-header__inner { min-height: 76px; }
.ht-arrow-link, .ht-links a { font-size: 15.5px; font-weight: 600; }
.ht-links { gap: 2px 24px; margin-top: var(--s2); }

/* Cards: consistent padding and type */
.ht-card, .ht-starts > .ht-item, .ht-post { padding: var(--s5); border-radius: 16px; }
.ht-item h3 { margin-bottom: var(--s1); }
.ht-item p { font-size: 16px; line-height: 1.6; margin-bottom: var(--s2); }
.ht-grid-2, .ht-grid-3, .ht-grid-4, .ht-grid-5 { gap: var(--s5) var(--s4); }
@media (max-width: 720px) { .ht-card, .ht-starts > .ht-item, .ht-post { padding: var(--s4); } }

/* Rows (numbered services) */
.ht-row { grid-template-columns: 44px minmax(0,4fr) minmax(0,6fr); column-gap: var(--s4); padding: var(--s5); align-items: start; }
.ht-row h3 { font-size: 22px; line-height: 1.3; padding-top: 6px; }
.ht-row p { font-size: 16px; }
.ht-row .ht-num, .ht-pstep .ht-num { width: 40px; height: 40px; border-radius: 12px; font-size: 13px; font-weight: 700; letter-spacing: .02em; box-shadow: 0 6px 14px rgba(47,85,151,.25); }
.ht-process > .ht-pstep { grid-template-columns: 44px minmax(0,4fr) minmax(0,7fr); column-gap: var(--s4); padding: var(--s5); }
.ht-pstep h3 { font-size: 20px; padding-top: 7px; }
.ht-pstep p { font-size: 16px; }
@media (max-width: 900px) { .ht-row, .ht-process > .ht-pstep { grid-template-columns: 40px 1fr; padding: var(--s4); } .ht-row h3, .ht-pstep h3 { font-size: 19px; } }

/* Icon system: soft gradient tile, gradient stroke icon */
.ht-ico::before { width: 52px; height: 52px; border-radius: 14px; border: 1px solid #DDE4EE; background: linear-gradient(135deg, #F6F8FB 0%, #F4F4F4 100%); box-shadow: inset 0 1px 0 #fff; margin-bottom: var(--s4); }
.ht-ico::after { width: 26px; height: 26px; left: 13px; top: 13px; background: linear-gradient(135deg, #2F5597 0%, #1D3A6B 100%); }
.ht-card.ht-ico::after, .ht-starts > .ht-ico::after { left: calc(var(--s5) + 13px); top: calc(var(--s5) + 13px); }
.ht-item--rule.ht-ico::after { top: 13px; }
@media (max-width: 720px) { .ht-card.ht-ico::after, .ht-starts > .ht-ico::after { left: calc(var(--s4) + 13px); top: calc(var(--s4) + 13px); } }
@media (max-width: 900px) { .ht-starts > .ht-ico::after { left: calc(var(--s4) + 13px); top: calc(var(--s4) + 13px); } }
.ht-navy .ht-ico::before { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.28); box-shadow: none; }
.ht-navy .ht-ico::after { background: #fff; }
.ht-mi { width: 40px; height: 40px; border-radius: 12px; border: 1px solid #DDE4EE; background: linear-gradient(135deg, #F6F8FB 0%, #F4F4F4 100%); }
.ht-mi::after { inset: 9px; background: linear-gradient(135deg, #2F5597 0%, #1D3A6B 100%); }

/* Tables */
.ht-table th, .ht-table td, .entry table th, .entry table td { font-size: 15px; padding: 14px 18px; }
.ht-table thead th, .entry table thead th { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

/* FAQ */
.ht-faq summary { font-size: 17px; font-weight: 600; padding: 20px 0; }
.ht-faq details > :not(summary) { font-size: 16px; }

/* Tabs */
.ht-tab { font-size: 15px; font-weight: 600; min-height: 44px; padding: 10px 16px; }
.ht-explorer .ht-tab { font-size: 16px; padding: 16px 18px; }

/* Board and illustrations */
.ht-illus__title { font-size: 22px; font-weight: 700; }
.ht-illus__list b, .ht-illus__steps b { font-size: 16px; font-weight: 600; }
.ht-board__title { font-size: 15px; }
.ht-mini-table { font-size: 13.5px; }
.ht-mini-table th { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ht-status { font-size: 12px; font-weight: 600; padding: 3px 9px; }

/* Insights cards */
.ht-post h3 { font-size: 20px; line-height: 1.35; }
.ht-post p { font-size: 15.5px; }
.ht-post__cat { font-size: 11.5px; letter-spacing: .1em; }

/* Article prose */
.ht-article__head--band h1 { font-size: 46px; line-height: 1.12; }
@media (max-width: 720px) { .ht-article__head--band h1 { font-size: 32px; } }
.ht-prose { font-size: 18px; line-height: 1.75; }
.ht-prose h2 { font-size: 26px; margin-top: 1.8em; }
.ht-prose p, .ht-prose li { color: #2B2F36; }

/* Footer */
.ht-footer { padding-top: 64px; }
.ht-footer h2 { font-size: 12px; letter-spacing: .1em; }
.ht-footer li { font-size: 15px; }
.ht-footer__brand p { font-size: 15px; }

/* Final CTA */
.ht-cta h2 { font-size: var(--ht-h2); }
.ht-cta-inner p { font-size: 18px; }
.ht-split > .ht-split__head { grid-column: 1 / span 5; }
.ht-split > .ht-split__body { grid-column: 7 / span 6; }
.ht-split__head h2 { font-size: 34px; line-height: 1.18; }
@media (max-width: 720px) { .ht-split__head h2 { font-size: 26px; } }
@media (max-width: 1023px) { .ht-split > .ht-split__head, .ht-split > .ht-split__body { grid-column: 1 / -1; } }
.ht-split__body .ht-lead { font-size: 18px; }
p, li { text-wrap: pretty; }
.ht-board .ht-mini-table td:nth-child(2), .ht-board .ht-mini-table td:nth-child(3) { white-space: nowrap; }
.ht-board .ht-mini-table td, .ht-board .ht-mini-table th { padding: 10px 10px; }
.ht-board__ring { justify-content: center; }
.ht-tab[aria-selected="true"]::before { content: none; }
@media (max-width: 720px) {
	.ht-row, .ht-process > .ht-pstep { grid-template-columns: 40px 1fr; row-gap: 12px; }
	.ht-row > :nth-child(3), .ht-pstep > :nth-child(3) { grid-column: 1 / -1; }
	.ht-row h3, .ht-pstep h3 { padding-top: 8px; }
}

/* ---------- Additional icons ---------- */
.ht-ico--wallet { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%207V4a1%201%200%200%200-1-1H5a2%202%200%200%200%200%204h15a1%201%200%200%201%201%201v4h-3a2%202%200%200%200%200%204h3a1%201%200%200%200%201-1v-2a1%201%200%200%200-1-1%22/%3E%3Cpath%20d%3D%22M3%205v14a2%202%200%200%200%202%202h15a1%201%200%200%200%201-1v-4%22/%3E%3C/svg%3E"); }
.ht-ico--truck { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%2018V6a2%202%200%200%200-2-2H4a2%202%200%200%200-2%202v11a1%201%200%200%200%201%201h2%22/%3E%3Cpath%20d%3D%22M15%2018H9%22/%3E%3Cpath%20d%3D%22M19%2018h2a1%201%200%200%200%201-1v-3.65a1%201%200%200%200-.22-.62l-3.48-4.35A1%201%200%200%200%2017.52%208H14%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3C/svg%3E"); }
.ht-ico--cart { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2221%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2221%22%20r%3D%221%22/%3E%3Cpath%20d%3D%22M2.05%202.05h2l2.66%2012.42a2%202%200%200%200%202%201.58h9.78a2%202%200%200%200%201.95-1.57l1.65-7.43H5.12%22/%3E%3C/svg%3E"); }
.ht-ico--graduation { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.42%2010.92a1%201%200%200%200-.02-1.84L12.83%205.18a2%202%200%200%200-1.66%200L2.6%209.08a1%201%200%200%200%200%201.83l8.57%203.91a2%202%200%200%200%201.66%200z%22/%3E%3Cpath%20d%3D%22M22%2010v6%22/%3E%3Cpath%20d%3D%22M6%2012.5V16a6%203%200%200%200%2012%200v-3.5%22/%3E%3C/svg%3E"); }
.ht-ico--home { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%2021v-8a1%201%200%200%200-1-1h-4a1%201%200%200%200-1%201v8%22/%3E%3Cpath%20d%3D%22M3%2010a2%202%200%200%201%20.71-1.53l7-6a2%202%200%200%201%202.58%200l7%206A2%202%200%200%201%2021%2010v9a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z%22/%3E%3C/svg%3E"); }
.ht-ico--heart { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2014c1.49-1.46%203-3.21%203-5.5A5.5%205.5%200%200%200%2016.5%203c-1.76%200-3%20.5-4.5%202-1.5-1.5-2.74-2-4.5-2A5.5%205.5%200%200%200%202%208.5c0%202.3%201.5%204.05%203%205.5l7%207Z%22/%3E%3Cpath%20d%3D%22M3.22%2012H9.5l.5-1%202%204.5%202-7%201.5%203.5h5.27%22/%3E%3C/svg%3E"); }
.ht-ico--umbrella { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2012a10.06%2010.06%201%200%200-20%200Z%22/%3E%3Cpath%20d%3D%22M12%2012v8a2%202%200%200%200%204%200%22/%3E%3Cpath%20d%3D%22M12%202v1%22/%3E%3C/svg%3E"); }
.ht-ico--plane { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17.8%2019.2%2016%2011l3.5-3.5C21%206%2021.5%204%2021%203c-1-.5-3%200-4.5%201.5L13%208%204.8%206.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1%201%20.3%201.3L9%2012l-2%203H4l-1%201%203%202%202%203%201-1v-3l3-2%203.5%205.3c.3.4.8.5%201.3.3l.5-.2c.4-.3.6-.7.5-1.2z%22/%3E%3C/svg%3E"); }
.ht-ico--factory { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2020a2%202%200%200%200%202%202h16a2%202%200%200%200%202-2V8l-7%205V8l-7%205V4a2%202%200%200%200-2-2H4a2%202%200%200%200-2%202Z%22/%3E%3Cpath%20d%3D%22M17%2018h1%22/%3E%3Cpath%20d%3D%22M12%2018h1%22/%3E%3Cpath%20d%3D%22M7%2018h1%22/%3E%3C/svg%3E"); }
.ht-ico--globe { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22M12%202a14.5%2014.5%200%200%200%200%2020%2014.5%2014.5%200%200%200%200-20%22/%3E%3Cpath%20d%3D%22M2%2012h20%22/%3E%3C/svg%3E"); }
.ht-ico--clock { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22M12%206v6l4%202%22/%3E%3C/svg%3E"); }
.ht-ico--code { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m16%2018%206-6-6-6%22/%3E%3Cpath%20d%3D%22m8%206-6%206%206%206%22/%3E%3C/svg%3E"); }
.ht-ico--gitbranch { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%226%22%20x2%3D%226%22%20y1%3D%223%22%20y2%3D%2215%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22/%3E%3Ccircle%20cx%3D%226%22%20cy%3D%2218%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M18%209a9%209%200%200%201-9%209%22/%3E%3C/svg%3E"); }
.ht-ico--calendar { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202v4%22/%3E%3Cpath%20d%3D%22M16%202v4%22/%3E%3Crect%20width%3D%2218%22%20height%3D%2218%22%20x%3D%223%22%20y%3D%224%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%2010h18%22/%3E%3C/svg%3E"); }
.ht-ico--message { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.9%2020A9%209%200%201%200%204%2016.1L2%2022Z%22/%3E%3C/svg%3E"); }
.ht-ico--key { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m15.5%207.5%202.3%202.3a1%201%200%200%200%201.4%200l2.1-2.1a1%201%200%200%200%200-1.4L19%204%22/%3E%3Cpath%20d%3D%22m21%202-9.6%209.6%22/%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%2215.5%22%20r%3D%225.5%22/%3E%3C/svg%3E"); }
.ht-ico--testtube { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.5%202v17.5c0%201.4-1.1%202.5-2.5%202.5c-1.4%200-2.5-1.1-2.5-2.5V2%22/%3E%3Cpath%20d%3D%22M8.5%202h7%22/%3E%3Cpath%20d%3D%22M14.5%2016h-5%22/%3E%3C/svg%3E"); }
.ht-ico--chart { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203v16a2%202%200%200%200%202%202h16%22/%3E%3Cpath%20d%3D%22m19%209-5%205-4-4-3%203%22/%3E%3C/svg%3E"); }
.ht-ico--palette { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2213.5%22%20cy%3D%226.5%22%20r%3D%22.5%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%2210.5%22%20r%3D%22.5%22/%3E%3Ccircle%20cx%3D%228.5%22%20cy%3D%227.5%22%20r%3D%22.5%22/%3E%3Ccircle%20cx%3D%226.5%22%20cy%3D%2212.5%22%20r%3D%22.5%22/%3E%3Cpath%20d%3D%22M12%202C6.5%202%202%206.5%202%2012s4.5%2010%2010%2010c.93%200%201.65-.75%201.65-1.69%200-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.13a1.64%201.64%200%200%201%201.67-1.67h2c3.05%200%205.55-2.5%205.55-5.55C21.97%206.01%2017.46%202%2012%202z%22/%3E%3C/svg%3E"); }
.ht-ico--cloud { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17.5%2019H9a7%207%200%201%201%206.71-9h1.79a4.5%204.5%200%201%201%200%209Z%22/%3E%3C/svg%3E"); }

/* ---------- Content components v1.3 ---------- */
/* Proof strip */
.ht-stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--s4); background: #fff; border: 1px solid var(--ht-border); border-radius: 18px; padding: var(--s5) var(--s5); box-shadow: var(--ht-shadow); }
.ht-stats > div { padding: 0 var(--s3); border-left: 1px solid var(--ht-border); }
.ht-stats > div:first-child { border-left: 0; padding-left: 0; }
.ht-stats b { display: block; font-size: 34px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; background: var(--ht-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ht-stats span { display: block; font-size: 14.5px; color: var(--ht-muted); margin-top: 6px; line-height: 1.45; }
@media (max-width: 900px) { .ht-stats { grid-template-columns: repeat(2, minmax(0,1fr)); row-gap: var(--s5); } .ht-stats > div:nth-child(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 480px) { .ht-stats { grid-template-columns: 1fr; } .ht-stats > div { border-left: 0; padding: 0; } }

/* Case study cards */
.ht-cases { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--s4); }
.ht-cases--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ht-case { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ht-border); border-radius: 18px; overflow: hidden; box-shadow: var(--ht-shadow); transition: transform .2s var(--ht-ease), box-shadow .2s var(--ht-ease); }
.ht-case:hover { transform: translateY(-3px); box-shadow: var(--ht-shadow-lg); }
.ht-case__top { background: var(--ht-grad); color: #fff; padding: var(--s5) var(--s5) var(--s4); position: relative; }
.ht-case__top::after { content: ""; position: absolute; inset: 0; background: radial-gradient(300px 160px at 100% 0%, rgba(255,255,255,.18), transparent 60%); pointer-events: none; }
.ht-case__tag { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: 4px 10px; margin: 0 0 var(--s4); }
.ht-case__metric { display: block; font-size: 46px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: #fff; }
.ht-case__metric-label { display: block; font-size: 15px; color: var(--ht-inv-muted); margin-top: 6px; }
.ht-case__body { padding: var(--s4) var(--s5) var(--s5); display: flex; flex-direction: column; gap: var(--s2); flex: 1; }
.ht-case__body h3 { font-size: 19px; line-height: 1.35; margin: 0; }
.ht-case__body h3 a { color: var(--ht-ink); text-decoration: none; }
.ht-case__body h3 a::after { content: ""; position: absolute; inset: 0; }
.ht-case__body p { font-size: 15px; color: var(--ht-muted); margin: 0; }
.ht-case__more { margin-top: auto; padding-top: var(--s2); font-weight: 600; font-size: 15px; color: var(--ht-accent); }
.ht-case__more::after { content: " →"; }
@media (max-width: 1023px) { .ht-cases { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 720px) { .ht-cases, .ht-cases--2 { grid-template-columns: 1fr; } .ht-case__metric { font-size: 38px; } }

/* Tech stack */
.ht-stack { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: var(--s3); }
.ht-stack > div { background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; padding: var(--s4); box-shadow: var(--ht-shadow); }
.ht-stack h3 { font-size: 15px; font-weight: 700; letter-spacing: .02em; margin: 0 0 var(--s3); color: var(--ht-ink); display: flex; align-items: center; gap: 10px; }
.ht-stack ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ht-stack li { font-size: 13.5px; font-weight: 600; color: var(--ht-ink); background: var(--ht-blush); border: 1px solid var(--ht-border); border-radius: 8px; padding: 5px 10px; max-width: none; }
@media (max-width: 1100px) { .ht-stack { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 720px) { .ht-stack { grid-template-columns: 1fr; } }
.ht-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ht-chips li { font-size: 13.5px; font-weight: 600; color: var(--ht-ink); background: var(--ht-blush); border: 1px solid var(--ht-border); border-radius: 8px; padding: 5px 10px; max-width: none; }

/* Engagement model cards */
.ht-models { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--s4); }
.ht-model { position: relative; background: #fff; border: 1px solid var(--ht-border); border-radius: 18px; padding: var(--s5); box-shadow: var(--ht-shadow); display: flex; flex-direction: column; }
.ht-model--featured { border: 2px solid transparent; background: linear-gradient(#fff,#fff) padding-box, var(--ht-grad) border-box; }
.ht-model__flag { position: absolute; top: -12px; left: var(--s5); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--ht-grad); border-radius: 999px; padding: 4px 10px; }
.ht-model h3 { font-size: 21px; margin: 0 0 var(--s2); }
.ht-model > p { font-size: 15.5px; color: var(--ht-muted); }
.ht-model dl { margin: var(--s2) 0 var(--s4); display: grid; gap: 12px; }
.ht-model dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-accent); }
.ht-model dd { margin: 2px 0 0; font-size: 15px; color: var(--ht-text); line-height: 1.5; }
.ht-model .ht-arrow-link { margin-top: auto; }
@media (max-width: 1023px) { .ht-models { grid-template-columns: 1fr; } }

/* Case study page */
.ht-meta { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--s4); background: #fff; border: 1px solid var(--ht-border); border-radius: 18px; padding: var(--s4) var(--s5); box-shadow: var(--ht-shadow); margin-top: calc(-1 * var(--s6)); position: relative; }
.ht-meta dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-accent); margin-bottom: 4px; }
.ht-meta dd { margin: 0; font-size: 15px; color: var(--ht-ink); font-weight: 600; line-height: 1.45; }
@media (max-width: 900px) { .ht-meta { grid-template-columns: 1fr 1fr; margin-top: 0; } }
@media (max-width: 480px) { .ht-meta { grid-template-columns: 1fr; } }
.ht-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--s4); }
.ht-metrics > div { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); border-radius: 16px; padding: var(--s4); }
.ht-metrics b { display: block; font-size: 40px; font-weight: 800; letter-spacing: -0.03em; color: #fff; line-height: 1.05; }
.ht-metrics span { display: block; color: var(--ht-inv-muted); font-size: 15px; margin-top: 6px; }
@media (max-width: 900px) { .ht-metrics { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .ht-metrics { grid-template-columns: 1fr; } }
.ht-modules { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--s4); }
.ht-modules > div { background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; padding: var(--s4) var(--s5); box-shadow: var(--ht-shadow); }
.ht-modules h3 { font-size: 18px; margin: 0 0 6px; }
.ht-modules p { font-size: 15.5px; color: var(--ht-muted); margin: 0; }
@media (max-width: 720px) { .ht-modules { grid-template-columns: 1fr; } }
.ht-xlist { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.ht-xlist li { position: relative; padding-left: 30px; color: var(--ht-text); max-width: none; }
.ht-xlist li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: #E6ECF5; }
.ht-xlist li::after { content: "!"; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; display: grid; place-items: center; font-size: 12px; font-weight: 800; color: var(--ht-accent); }
.ht-vlist { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.ht-vlist li { position: relative; padding-left: 30px; color: var(--ht-text); max-width: none; }
.ht-vlist li::before { content: "✓"; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--ht-grad); color: #fff; font-size: 11px; font-weight: 800; display: grid; place-items: center; }
.ht-twocol { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s6); align-items: start; }
@media (max-width: 900px) { .ht-twocol { grid-template-columns: 1fr; gap: var(--s5); } }
.ht-quote { font-size: 22px; line-height: 1.5; font-weight: 600; color: var(--ht-ink); border-left: 4px solid var(--ht-accent); padding-left: var(--s4); }

/* Timeline (indicative phases) */
.ht-phases { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--s3); counter-reset: ph; }
.ht-phase { background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; padding: var(--s4); box-shadow: var(--ht-shadow); position: relative; }
.ht-phase__when { display: inline-block; font-size: 12px; font-weight: 700; color: var(--ht-accent); background: var(--ht-tint); border-radius: 999px; padding: 3px 10px; margin-bottom: var(--s2); }
.ht-phase h3 { font-size: 18px; margin: 0 0 6px; }
.ht-phase p { font-size: 15px; color: var(--ht-muted); margin: 0 0 8px; }
.ht-phase ul { margin: 0; padding-left: 1.1em; font-size: 14.5px; color: var(--ht-text); }
@media (max-width: 1023px) { .ht-phases { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ht-phases { grid-template-columns: 1fr; } }



/* =====================================================================
   v2.0 — Enterprise layout layer (mega menu, hubs, link grids)
   ===================================================================== */
:root {
	--ht-blush: #F4F4F4;
	--ht-navy: #163B6E;
	--ht-radius-btn: 16px;
}
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -0.015em; }
h3, h4 { font-weight: 600; }

/* Buttons: rounded, uppercase, flat */
.ht-btn, .wp-block-button__link, .wp-element-button {
	border-radius: var(--ht-radius-btn); text-transform: uppercase; letter-spacing: .04em;
	font-size: 15px; font-weight: 600; box-shadow: none;
}
.ht-btn:hover, .wp-block-button__link:hover { box-shadow: 0 6px 18px rgba(22,59,110,.18); }
.ht-eyebrow { letter-spacing: .22em !important; font-weight: 500; }

/* Header */
.ht-header { background: #fff; }
.ht-header__inner { gap: 24px; border-bottom: 0; }
.ht-header .ht-logo img { height: 40px; width: auto; }
.ht-nav { margin-left: auto; position: static; }
.ht-header .ht-container { position: relative; }
.ht-nav__list { gap: 2px; }
.ht-nav__list > li { position: static; }
.ht-nav__toggle { font: 500 15.5px/1.2 var(--ht-font); padding: 8px 10px; border: 0; background: transparent; cursor: pointer; color: var(--ht-ink); border-radius: 8px; }
.ht-nav__toggle:hover, .ht-nav__toggle[aria-expanded="true"] { background: var(--ht-blush); }
.ht-nav__toggle.is-current { text-decoration: none; box-shadow: inset 0 -2px 0 var(--ht-accent); border-radius: 0; }
.ht-header__cta .ht-btn { min-height: 42px; padding: 8px 20px; font-size: 14px; }

/* Mega panel */
.ht-mega {
	position: absolute; left: var(--ht-gutter); right: var(--ht-gutter); top: calc(100% - 4px);
	background: #fff; border: 1px solid var(--ht-border); border-radius: 16px;
	box-shadow: 0 24px 60px rgba(20,40,75,.14); z-index: 60; animation: htMega .16s var(--ht-ease);
}
.ht-mega[hidden] { display: none; }
.ht-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
@keyframes htMega { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.ht-mega__inner { display: grid; grid-template-columns: 260px minmax(0,1fr); }
.ht-mega__intro { background: var(--ht-blush); border-radius: 16px 0 0 16px; padding: 32px 28px; }
.ht-mega__title { font-size: 22px; font-weight: 600; color: var(--ht-ink); margin: 0 0 10px; }
.ht-mega__intro p { font-size: 15px; line-height: 1.55; color: var(--ht-muted); }
.ht-mega__intro .ht-arrow-link { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.ht-mega__cols { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 28px 32px; padding: 32px; }
.ht-mega--3 .ht-mega__cols { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ht-mega__h { font-size: 15px; font-weight: 600; color: var(--ht-ink); margin: 0 0 10px; }
.ht-mega__h a { color: var(--ht-ink); text-decoration: none; }
.ht-mega__h a:hover { color: var(--ht-accent); }
.ht-mega ul { list-style: none; margin: 0; padding: 0; }
.ht-mega li { margin: 0; max-width: none; }
.ht-mega li a { display: block; padding: 5px 0; font-size: 14.5px; line-height: 1.4; color: var(--ht-text); text-decoration: none; }
.ht-mega li a:hover, .ht-mega li a[aria-current="page"] { color: var(--ht-accent); }
.ht-mega--small { left: auto; right: auto; min-width: 560px; transform: translateX(-30%); }
.ht-mega--small .ht-mega__inner { grid-template-columns: 1fr; }
.ht-mega--small .ht-mega__cols { grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); }
.ht-mega--small.ht-mega--1 { min-width: 260px; }

/* Drawer */
.ht-drawer__h { margin: 14px 0 4px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ht-muted); }
.ht-drawer__sub ul li { border: 0; }
.ht-drawer__all a { display: inline-block; margin-top: 10px; font-weight: 600; color: var(--ht-accent); text-decoration: none; }

@media (max-width: 1239px) {
	.ht-nav, .ht-header__cta { display: none; }
	.ht-burger { display: inline-flex; }
}
@media (min-width: 1240px) {
	.ht-nav { display: block; }
	.ht-header__cta { display: block; }
	.ht-burger { display: none; }
}

/* Link grid (hub pages, related links) */
.ht-links-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--ht-gap); list-style: none; margin: 0; padding: 0; }
.ht-links-grid > li { max-width: none; margin: 0; }
.ht-tile { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 26px 26px 22px; background: #fff; border: 1px solid var(--ht-border); border-radius: 16px; text-decoration: none; color: var(--ht-text); transition: box-shadow .2s var(--ht-ease), border-color .2s var(--ht-ease), transform .2s var(--ht-ease); }
.ht-tile:hover { border-color: var(--ht-accent); box-shadow: 0 14px 34px rgba(20,40,75,.10); transform: translateY(-2px); color: var(--ht-text); }
.ht-tile strong { font-size: 19px; font-weight: 600; color: var(--ht-ink); line-height: 1.3; }
.ht-tile span { font-size: 15.5px; line-height: 1.55; color: var(--ht-muted); }
.ht-tile em { margin-top: auto; padding-top: 8px; font-style: normal; font-size: 13.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ht-accent); }
.ht-group-title { font-size: 15px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ht-muted); margin: 48px 0 18px; }
.ht-group-title:first-child { margin-top: 0; }
.ht-chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.ht-chips li { margin: 0; max-width: none; }
.ht-chips a, .ht-chips span { display: inline-block; padding: 8px 16px; border: 1px solid var(--ht-border); border-radius: 999px; background: #fff; font-size: 15px; color: var(--ht-ink); text-decoration: none; }
.ht-chips a:hover { border-color: var(--ht-accent); color: var(--ht-accent); }
@media (max-width: 1023px) { .ht-links-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .ht-links-grid { grid-template-columns: 1fr; } }

/* Dark consultation band (Adastra-style closing CTA) */
.ht-main > .entry > .ht-cta.ht-cta--dark, .ht-cta--dark { background: var(--ht-navy) !important; box-shadow: 0 0 0 100vmax var(--ht-navy) !important; clip-path: inset(0 -100vmax); color: #fff; }
.ht-cta--dark h2, .ht-cta--dark h3 { color: #fff; }
.ht-cta--dark p { color: #D6DEEA !important; }
.ht-cta--dark .wp-block-button__link { background: #fff; color: var(--ht-navy); border-color: #fff; }
.ht-cta--dark .wp-block-button__link:hover { background: #E6ECF5; color: var(--ht-navy); }

/* Centered section head variant */
.ht-head--center { margin-left: auto; margin-right: auto; text-align: center; }

.ht-footer__grid { grid-template-columns: minmax(0,4fr) repeat(4, minmax(0,2fr)); }
@media (max-width: 1023px) { .ht-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .ht-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ht-footer__grid { grid-template-columns: 1fr; } }

/* Home v2 */
.ht-chips--center { justify-content: center; max-width: 980px; margin: 0 auto; }
.ht-center { text-align: center; margin-top: 28px; }
.ht-home-what .ht-head { max-width: 860px; }
.ht-home-what .ht-card { display: flex; flex-direction: column; }
.ht-home-what .ht-card p:last-child { margin-top: auto; padding-top: 8px; }
.ht-home-what .ht-arrow-link, .ht-center .ht-arrow-link { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.ht-head--center + .ht-grid-4, .ht-head--center + .ht-cases { margin-top: 8px; }
.ht-home-consult .ht-contact { padding-top: 0; padding-bottom: 0; }

/* Adastra-style wide panels */
#ht-mega-services .ht-mega__inner, #ht-mega-platforms .ht-mega__inner { grid-template-columns: 1fr; }
#ht-mega-services .ht-mega__intro, #ht-mega-platforms .ht-mega__intro { display: none; }
#ht-mega-services .ht-mega__cols, #ht-mega-platforms .ht-mega__cols { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 22px 28px; padding: 28px 32px; }
#ht-mega-services li a, #ht-mega-platforms li a { font-size: 13.5px; padding: 3px 0; }
#ht-mega-services .ht-mega__h, #ht-mega-platforms .ht-mega__h { font-size: 14.5px; margin-bottom: 6px; }
.ht-mega { max-height: calc(100vh - 120px); overflow-y: auto; }

/* Adastra templates */
.ht-intro .ht-head { max-width: 900px; }
.ht-intro .ht-lead { font-size: 20px; }
.ht-band__inner { text-align: center; padding: 64px 48px; }
.ht-band__inner h2 { max-width: 820px; margin-left: auto; margin-right: auto; }
.ht-band__inner p { max-width: 760px; margin: 0 auto; font-size: 18px; }
.ht-feature { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,8fr); gap: 0; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--ht-border); box-shadow: 0 18px 48px rgba(20,40,75,.08); }
.ht-feature__metric { background: var(--ht-navy); color: #fff; padding: 48px 40px; display: flex; flex-direction: column; justify-content: center; }
.ht-feature__metric b { font-size: 64px; line-height: 1; font-weight: 600; letter-spacing: -.02em; }
.ht-feature__metric span { margin-top: 12px; font-size: 18px; color: #D6DEEA; }
.ht-feature__body { padding: 44px 48px; }
.ht-feature__body h3 { font-size: 28px; }
.ht-feature__body h3 a { color: var(--ht-ink); text-decoration: none; }
.ht-feature__body .ht-arrow-link { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.ht-more-h { text-align: center; margin: 72px 0 32px; }
@media (max-width: 860px) { .ht-feature { grid-template-columns: 1fr; } .ht-feature__metric, .ht-feature__body { padding: 32px 24px; } .ht-band__inner { padding: 40px 24px; } }
.ht-grid-4 .ht-card h3 { font-size: 20px; }

/* v3 rich content */
.ht-ticks { list-style: none; margin: 14px 0 0; padding: 0; }
.ht-ticks li { position: relative; padding-left: 26px; margin: 6px 0; font-size: 15.5px; color: var(--ht-muted); max-width: none; }
.ht-ticks li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 12px; height: 7px; border-left: 2px solid var(--ht-accent); border-bottom: 2px solid var(--ht-accent); transform: rotate(-45deg); }
.ht-steps3 { list-style: none; margin: 0 auto; padding: 0; max-width: 980px; counter-reset: none; }
.ht-steps3 > li { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 20px; padding: 26px 0; border-top: 1px solid var(--ht-border); max-width: none; }
.ht-steps3 > li:last-child { border-bottom: 1px solid var(--ht-border); }
.ht-steps3__n { font-size: 34px; font-weight: 600; color: var(--ht-accent); line-height: 1; }
.ht-steps3 h3 { font-size: 22px; margin-bottom: 8px; }
.ht-steps3 p { margin: 0 0 8px; }
.ht-steps3__d { font-size: 15px; color: var(--ht-muted); }
.ht-grid-2 .ht-card h3, .ht-grid-3 .ht-card h3 { font-size: 21px; }

.ht-footer__social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px !important; }
.ht-footer__social li { margin: 0 !important; }
.ht-footer__social a { display: inline-block; padding: 6px 12px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; font-size: 13.5px; }
.ht-footer__social a:hover { background: rgba(255,255,255,.12); text-decoration: none; }

/* Hero network art */
.ht-hero { position: relative; overflow: hidden; }
.ht-hero > .ht-hero__text { position: relative; z-index: 1; }
.ht-hero--text::after { content: ""; position: absolute; right: max(var(--ht-gutter), calc((100% - var(--ht-max)) / 2)); top: 50%; width: 460px; height: 430px; transform: translateY(-50%); background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20560%20520%22%20fill%3D%22none%22%20stroke%3D%22white%22%3E%3Cline%20x1%3D%2260%22%20y1%3D%22260%22%20x2%3D%22150%22%20y2%3D%22120%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%2260%22%20y1%3D%22260%22%20x2%3D%22170%22%20y2%3D%22330%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22150%22%20y1%3D%22120%22%20x2%3D%22260%22%20y2%3D%22210%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22170%22%20y1%3D%22330%22%20x2%3D%22260%22%20y2%3D%22210%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22150%22%20y1%3D%22120%22%20x2%3D%22300%22%20y2%3D%2260%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22260%22%20y1%3D%22210%22%20x2%3D%22300%22%20y2%3D%2260%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22260%22%20y1%3D%22210%22%20x2%3D%22400%22%20y2%3D%22280%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22170%22%20y1%3D%22330%22%20x2%3D%22330%22%20y2%3D%22400%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22330%22%20y1%3D%22400%22%20x2%3D%22400%22%20y2%3D%22280%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22300%22%20y1%3D%2260%22%20x2%3D%22450%22%20y2%3D%22150%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22400%22%20y1%3D%22280%22%20x2%3D%22450%22%20y2%3D%22150%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22400%22%20y1%3D%22280%22%20x2%3D%22520%22%20y2%3D%22330%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22450%22%20y1%3D%22150%22%20x2%3D%22520%22%20y2%3D%22330%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22330%22%20y1%3D%22400%22%20x2%3D%22470%22%20y2%3D%22440%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22470%22%20y1%3D%22440%22%20x2%3D%22520%22%20y2%3D%22330%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22170%22%20y1%3D%22330%22%20x2%3D%2290%22%20y2%3D%22420%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%2290%22%20y1%3D%22420%22%20x2%3D%22230%22%20y2%3D%22470%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%22230%22%20y1%3D%22470%22%20x2%3D%22330%22%20y2%3D%22400%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Cline%20x1%3D%2260%22%20y1%3D%22260%22%20x2%3D%2290%22%20y2%3D%22420%22%20stroke-width%3D%221.2%22%20stroke-opacity%3D%22.55%22%2F%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%22260%22%20r%3D%227%22%20fill%3D%22white%22%20fill-opacity%3D%22.9%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22150%22%20cy%3D%22120%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22170%22%20cy%3D%22330%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22260%22%20cy%3D%22210%22%20r%3D%227%22%20fill%3D%22white%22%20fill-opacity%3D%22.9%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%2260%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22330%22%20cy%3D%22400%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22400%22%20cy%3D%22280%22%20r%3D%227%22%20fill%3D%22white%22%20fill-opacity%3D%22.9%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22450%22%20cy%3D%22150%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22470%22%20cy%3D%22440%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22520%22%20cy%3D%22330%22%20r%3D%227%22%20fill%3D%22white%22%20fill-opacity%3D%22.9%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22230%22%20cy%3D%22470%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2290%22%20cy%3D%22420%22%20r%3D%224.5%22%20fill%3D%22white%22%20fill-opacity%3D%22.55%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22260%22%20r%3D%22210%22%20stroke-opacity%3D%22.18%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22260%22%20r%3D%22140%22%20stroke-opacity%3D%22.14%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; opacity: .5; pointer-events: none; }
.ht-hero--text .ht-hero__text { max-width: 760px; }
@media (max-width: 1100px) { .ht-hero--text::after { width: 320px; height: 300px; opacity: .25; right: -40px; } }
@media (max-width: 720px) { .ht-hero--text::after { display: none; } }
.ht-footer ul.ht-footer__social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ht-footer ul.ht-footer__social li { margin: 0; }
.ht-footer ul.ht-footer__social a { display: inline-block; padding: 6px 12px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; font-size: 13.5px; line-height: 1.3; }
.ht-footer ul.ht-footer__social a:hover { background: rgba(255,255,255,.12); text-decoration: none; }
/* end hero art */

/* Resources v2 */
.ht-resources__list { padding-top: 48px !important; }
.ht-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 40px; }
.ht-filter a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border: 1px solid var(--ht-border); border-radius: 999px; background: #fff; color: var(--ht-ink); font-size: 15px; font-weight: 500; text-decoration: none; transition: border-color .15s, background .15s, color .15s; }
.ht-filter a span { font-size: 12.5px; color: var(--ht-muted); background: var(--ht-blush); border-radius: 999px; padding: 1px 8px; }
.ht-filter a:hover { border-color: var(--ht-accent); color: var(--ht-accent); }
.ht-filter a[aria-current="page"] { background: var(--ht-navy); border-color: var(--ht-navy); color: #fff; }
.ht-filter a[aria-current="page"] span { background: rgba(255,255,255,.18); color: #fff; }
.ht-rgrid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.ht-rgrid:empty { display: none; }
.ht-rcard { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ht-border); border-radius: 18px; overflow: hidden; transition: transform .2s var(--ht-ease), box-shadow .2s var(--ht-ease), border-color .2s; }
.ht-rcard:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(20,40,75,.12); border-color: transparent; }
.ht-rcard__cover { position: relative; height: 150px; display: flex; align-items: flex-end; padding: 20px 24px; color: #fff; background: linear-gradient(135deg, #163B6E 0%, #2F5597 100%); overflow: hidden; }
.ht-rcard__cover::after { content: ""; position: absolute; inset: -20% -10% -20% 35%; background: radial-gradient(circle at 60% 40%, rgba(255,255,255,.22), transparent 60%), repeating-radial-gradient(circle at 70% 50%, rgba(255,255,255,.14) 0 1px, transparent 1px 22px); }
.ht-rcard--data .ht-rcard__cover { background: linear-gradient(135deg, #0F4C5C 0%, #1F7A8C 100%); }
.ht-rcard--cloud .ht-rcard__cover { background: linear-gradient(135deg, #1D3A6B 0%, #3A7BD5 100%); }
.ht-rcard--planning .ht-rcard__cover { background: linear-gradient(135deg, #2E2A6B 0%, #5146A8 100%); }
.ht-rcard--team-delivery .ht-rcard__cover { background: linear-gradient(135deg, #24364B 0%, #4B6584 100%); }
.ht-rcard__icon { position: relative; z-index: 1; display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 14px; background: rgba(255,255,255,.16); backdrop-filter: blur(2px); }
.ht-rcard__body { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 26px; }
.ht-rcard__cat { margin: 0 0 10px; font-size: 12px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ht-accent); }
.ht-rcard__title { font-size: 20px !important; line-height: 1.35; margin: 0 0 12px; }
.ht-rcard__title a { color: var(--ht-ink); text-decoration: none; }
.ht-rcard__title a::after { content: ""; position: absolute; inset: 0; }
.ht-rcard:hover .ht-rcard__title a { color: var(--ht-accent); }
.ht-rcard__excerpt { font-size: 15.5px; line-height: 1.6; color: var(--ht-muted); margin: 0 0 18px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ht-rcard__meta { display: flex; gap: 14px; margin: auto 0 14px; font-size: 13.5px; color: var(--ht-muted); }
.ht-rcard__meta span::before { content: "·"; margin-right: 14px; }
.ht-rcard__more { font-size: 13.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ht-accent); }
.ht-rcard__more::after { content: " →"; }
.ht-rcard--feature { flex-direction: row; margin-bottom: 28px; }
.ht-rcard--feature .ht-rcard__cover { width: 44%; height: auto; min-height: 300px; align-items: flex-end; padding: 32px; }
.ht-rcard--feature .ht-rcard__icon { width: 72px; height: 72px; }
.ht-rcard--feature .ht-rcard__icon svg { width: 38px; height: 38px; }
.ht-rcard--feature .ht-rcard__body { padding: 40px 44px; justify-content: center; }
.ht-rcard--feature .ht-rcard__title { font-size: 30px !important; }
.ht-rcard--feature .ht-rcard__cat::before { content: "Featured · "; }
.ht-rcard--feature .ht-rcard__excerpt { -webkit-line-clamp: 5; font-size: 17px; }
.ht-resources .navigation.pagination, .ht-pagination { margin-top: 48px; }
.ht-resources .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ht-resources .page-numbers { display: inline-flex; min-width: 44px; height: 44px; padding: 0 14px; align-items: center; justify-content: center; border: 1px solid var(--ht-border); border-radius: 999px; background: #fff; color: var(--ht-ink); text-decoration: none; font-weight: 500; }
.ht-resources .page-numbers.current { background: var(--ht-navy); border-color: var(--ht-navy); color: #fff; }
.ht-resources .page-numbers:hover:not(.current) { border-color: var(--ht-accent); color: var(--ht-accent); }
/* Single article */
.ht-article-hero .ht-breadcrumb { font-size: 14px; margin-bottom: 18px; color: rgba(255,255,255,.8); }
.ht-article-hero .ht-breadcrumb a { color: #fff; text-decoration: none; }
.ht-article-hero .ht-breadcrumb a:hover { text-decoration: underline; }
.ht-article-hero h1 { font-size: 48px; line-height: 1.12; }
.ht-article-hero .ht-article__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.85); font-size: 15px; }
.ht-article-wrap { padding-top: 64px !important; }
.ht-article-grid { display: grid; grid-template-columns: 280px minmax(0, 760px); gap: 64px; justify-content: center; align-items: start; }
.ht-article-aside { position: sticky; top: calc(var(--ht-header-h) + 32px); display: grid; gap: 20px; }
.ht-toc { border: 1px solid var(--ht-border); border-radius: 16px; padding: 18px 20px; background: #fff; }
.ht-toc summary { cursor: pointer; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ht-muted); list-style: none; }
.ht-toc summary::-webkit-details-marker { display: none; }
.ht-toc ol { list-style: none; margin: 12px 0 0; padding: 0; counter-reset: toc; }
.ht-toc li { counter-increment: toc; margin: 0; max-width: none; }
.ht-toc a { display: grid; grid-template-columns: 26px 1fr; padding: 7px 0; font-size: 14.5px; line-height: 1.4; color: var(--ht-ink); text-decoration: none; border-top: 1px solid var(--ht-border); }
.ht-toc li:first-child a { border-top: 0; }
.ht-toc a::before { content: counter(toc, decimal-leading-zero); font-size: 12px; font-weight: 600; color: var(--ht-accent); padding-top: 2px; }
.ht-toc a:hover, .ht-toc a.is-active { color: var(--ht-accent); }
.ht-aside-cta { border-radius: 16px; padding: 22px; background: linear-gradient(135deg, #163B6E, #2F5597); color: #fff; }
.ht-aside-cta p { color: rgba(255,255,255,.85); font-size: 14.5px; margin: 0 0 14px; }
.ht-aside-cta .ht-aside-cta__t { font-size: 18px; font-weight: 600; color: #fff; margin-bottom: 6px; }
.ht-aside-cta .ht-btn { background: #fff; color: var(--ht-navy); border-color: #fff; width: 100%; font-size: 13px; min-height: 44px; }
.ht-single .ht-prose { max-width: 760px; }
.ht-single .ht-prose h2 { scroll-margin-top: calc(var(--ht-header-h) + 24px); font-size: 28px; margin-top: 1.9em; }
.ht-single .ht-prose h3 { font-size: 21px; margin-top: 1.5em; }
.ht-single .ht-prose > :first-child { margin-top: 0; }
.ht-single .ht-prose ul, .ht-single .ht-prose ol { padding-left: 1.3em; }
.ht-single .ht-prose li { margin: .45em 0; }
.ht-single .ht-prose blockquote { margin: 2em 0; padding: 22px 26px; border-left: 4px solid var(--ht-accent); background: var(--ht-blush); border-radius: 0 14px 14px 0; }
.ht-single .ht-prose blockquote p { font-size: 19px; font-weight: 500; color: var(--ht-ink); margin: 0; }
.ht-single .ht-prose a { color: var(--ht-accent); }
.ht-related .ht-head { margin-bottom: 36px; }
@media (max-width: 1100px) {
	.ht-rgrid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ht-article-grid { grid-template-columns: 1fr; gap: 28px; }
	.ht-article-aside { position: static; order: 0; }
	.ht-aside-cta { display: none; }
	.ht-toc:not([open]) ol { display: none; }
}
@media (max-width: 720px) {
	.ht-rgrid { grid-template-columns: 1fr; }
	.ht-rcard--feature { flex-direction: column; }
	.ht-rcard--feature .ht-rcard__cover { width: auto; min-height: 150px; }
	.ht-rcard--feature .ht-rcard__body { padding: 24px 26px; }
	.ht-rcard--feature .ht-rcard__title { font-size: 22px !important; }
	.ht-article-hero h1 { font-size: 32px; }
	.ht-filter { flex-wrap: nowrap; overflow-x: auto; margin-left: calc(-1 * var(--ht-gutter)); margin-right: calc(-1 * var(--ht-gutter)); padding: 0 var(--ht-gutter) 6px; scrollbar-width: none; }
	.ht-filter a { flex: none; }
}
.ht-main > .entry > .ht-section.ht-article-wrap { background: #fff !important; box-shadow: none !important; }
.ht-main > .entry > .ht-section.ht-related { background: var(--ht-blush) !important; box-shadow: 0 0 0 100vmax var(--ht-blush) !important; clip-path: inset(0 -100vmax); }
/* end resources v2 */

/* ===== Homepage v3 ===== */
.home .ht-main > .entry > .ht-section:nth-child(even):not(.ht-cta) { background: transparent; box-shadow: none; }
.hp-sec { padding-top: 104px; padding-bottom: 104px; }
.hp-alt { background: var(--ht-blush) !important; box-shadow: 0 0 0 100vmax var(--ht-blush) !important; clip-path: inset(0 -100vmax); }
.hp-dark { background: var(--ht-navy) !important; box-shadow: 0 0 0 100vmax var(--ht-navy) !important; clip-path: inset(0 -100vmax); color: #fff; }
.hp-dark h2, .hp-dark h3 { color: #fff; }
.hp-dark p { color: #D6DEEA; }
.hp-head { max-width: 860px; margin: 0 auto 56px; text-align: center; }
.hp-head--left { margin-left: 0; text-align: left; }
.hp-head h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.12; margin-bottom: 16px; }
.hp-head p { font-size: 19px; color: var(--ht-muted); margin: 0; }
.hp-dark .hp-head p { color: #C9D4E5; }
.hp-eb { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ht-accent); margin-bottom: 14px; }
.hp-dark .hp-eb { color: #9DB8E8; }
.hp-link { font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ht-accent); text-decoration: none; }
.hp-link::after { content: " →"; }
.hp-link:hover { color: var(--ht-ink); }
/* Hero */
.hp-hero { position: relative; padding-top: 88px; padding-bottom: 96px; background: radial-gradient(1200px 600px at 85% 20%, rgba(58,123,213,.35), transparent 60%), linear-gradient(135deg, #10284F 0%, #163B6E 55%, #1E4C8C 100%) !important; box-shadow: 0 0 0 100vmax #163B6E !important; clip-path: inset(0 -100vmax); color: #fff; overflow: hidden; }
.hp-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 56px; align-items: center; }
.hp-hero h1 { color: #fff; font-size: clamp(38px, 4.6vw, 62px); line-height: 1.06; letter-spacing: -0.025em; margin: 0 0 24px; }
.hp-hero h1 em { font-style: normal; background: linear-gradient(90deg, #9DC3FF, #E2ECFF); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hp-hero__lead { font-size: 20px; line-height: 1.6; color: #D6DEEA; margin: 0 0 32px; max-width: 640px; }
.hp-hero__eb { display: inline-flex; gap: 10px; align-items: center; padding: 7px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.06); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #E2ECFF; margin-bottom: 26px; }
.hp-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.hp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 26px; border-radius: 16px; font-size: 15px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; transition: transform .15s, box-shadow .15s, background .15s; }
.hp-btn--primary { background: #fff; color: var(--ht-navy); }
.hp-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(0,0,0,.25); color: var(--ht-navy); }
.hp-btn--ghost { border: 1.5px solid rgba(255,255,255,.55); color: #fff; }
.hp-btn--ghost:hover { background: rgba(255,255,255,.1); color: #fff; }
.hp-btn--navy { background: var(--ht-navy); color: #fff; }
.hp-btn--navy:hover { background: #1E4C8C; color: #fff; }
.hp-trust { display: flex; flex-wrap: wrap; gap: 10px 26px; list-style: none; margin: 34px 0 0; padding: 0; }
.hp-trust li { display: flex; gap: 9px; align-items: center; margin: 0; font-size: 15px; color: #D6DEEA; max-width: none; }
.hp-trust li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: rgba(157,195,255,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239DC3FF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 11px no-repeat; flex: none; }
.hp-diagram { position: relative; }
.hp-diagram svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 30px 60px rgba(0,0,0,.35)); }
.hp-diagram .flow { stroke-dasharray: 4 6; animation: hpflow 1.6s linear infinite; }
@keyframes hpflow { to { stroke-dashoffset: -20; } }
@media (prefers-reduced-motion: reduce) { .hp-diagram .flow { animation: none; } }
/* Results strip */
.hp-results { margin-top: -56px; position: relative; z-index: 2; padding-top: 0 !important; padding-bottom: 72px !important; }
.hp-results__box { display: grid; grid-template-columns: minmax(0, 1.1fr) repeat(4, minmax(0, 1fr)); background: #fff; border: 1px solid var(--ht-border); border-radius: 22px; box-shadow: 0 24px 60px rgba(20,40,75,.12); overflow: hidden; }
.hp-results__intro { padding: 30px 30px; background: var(--ht-blush); }
.hp-results__intro strong { display: block; font-size: 19px; color: var(--ht-ink); line-height: 1.3; margin-bottom: 8px; }
.hp-results__intro span { font-size: 14px; color: var(--ht-muted); }
.hp-metric { padding: 28px 26px; border-left: 1px solid var(--ht-border); text-decoration: none; display: block; transition: background .15s; }
.hp-metric:hover { background: #F7F9FC; }
.hp-metric b { display: block; font-size: 40px; line-height: 1; font-weight: 600; letter-spacing: -.02em; color: var(--ht-navy); }
.hp-metric span { display: block; margin-top: 10px; font-size: 15px; font-weight: 600; color: var(--ht-ink); }
.hp-metric small { display: block; margin-top: 6px; font-size: 13px; color: var(--ht-muted); }
/* Tabs explorer */
.hp-tabs .ht-tabs__list { flex-direction: row !important; justify-content: center; gap: 10px; margin-bottom: 40px; }
.hp-tabs .ht-tab { width: auto !important; border-radius: 999px !important; padding: 12px 24px !important; font-size: 15.5px !important; box-shadow: none !important; border: 1px solid var(--ht-border) !important; background: #fff !important; color: var(--ht-ink) !important; }
.hp-tabs .ht-tab[aria-selected="true"] { background: var(--ht-navy) !important; border-color: var(--ht-navy) !important; color: #fff !important; }
.hp-panel { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px; align-items: start; background: #fff; border: 1px solid var(--ht-border); border-radius: 22px; padding: 44px; box-shadow: 0 18px 44px rgba(20,40,75,.06); }
.hp-panel__intro h3 { font-size: 28px; margin-bottom: 14px; }
.hp-panel__intro p { color: var(--ht-muted); font-size: 16.5px; }
.hp-panel__links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 4px 28px; list-style: none; margin: 0; padding: 0; }
.hp-panel__links li { margin: 0; max-width: none; }
.hp-panel__links a { display: block; padding: 14px 0; border-bottom: 1px solid var(--ht-border); text-decoration: none; color: var(--ht-ink); }
.hp-panel__links a strong { display: flex; justify-content: space-between; font-size: 16.5px; font-weight: 600; }
.hp-panel__links a strong::after { content: "→"; color: var(--ht-accent); transition: transform .15s; }
.hp-panel__links a:hover strong { color: var(--ht-accent); }
.hp-panel__links a:hover strong::after { transform: translateX(4px); }
.hp-panel__links a span { display: block; font-size: 14px; color: var(--ht-muted); margin-top: 3px; }
.ht-tabpanel__title { display: none; }
/* Pillars */
.hp-pillars { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; }
.hp-pillar { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ht-border); border-radius: 20px; padding: 30px 26px; transition: transform .2s, box-shadow .2s; }
.hp-pillar:hover { transform: translateY(-3px); box-shadow: 0 20px 48px rgba(20,40,75,.10); }
.hp-pillar__ic { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #163B6E, #3A7BD5); margin-bottom: 22px; }
.hp-pillar h3 { font-size: 22px; margin-bottom: 10px; }
.hp-pillar > p { font-size: 15.5px; color: var(--ht-muted); }
.hp-pillar ul { list-style: none; margin: 8px 0 20px; padding: 0; }
.hp-pillar li { margin: 0; max-width: none; border-top: 1px solid var(--ht-border); }
.hp-pillar li a { display: block; padding: 9px 0; font-size: 15px; color: var(--ht-ink); text-decoration: none; }
.hp-pillar li a:hover { color: var(--ht-accent); }
.hp-pillar__out { margin-top: auto; padding: 12px 14px; border-radius: 12px; background: var(--ht-blush); font-size: 13.5px; color: var(--ht-ink); }
.hp-pillar__out b { color: var(--ht-accent); }
/* Process */
.hp-steps { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; counter-reset: s; position: relative; }
.hp-steps::before { content: ""; position: absolute; top: 27px; left: 8%; right: 8%; height: 2px; background: linear-gradient(90deg, rgba(157,184,232,.15), rgba(157,184,232,.6), rgba(157,184,232,.15)); }
.hp-steps li { position: relative; counter-increment: s; margin: 0; max-width: none; }
.hp-steps li::before { content: counter(s, decimal-leading-zero); position: relative; z-index: 1; display: flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--ht-navy); font-weight: 700; font-size: 17px; margin-bottom: 20px; box-shadow: 0 0 0 6px rgba(255,255,255,.08); }
.hp-steps h3 { font-size: 19px; margin-bottom: 6px; }
.hp-steps .hp-when { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #9DB8E8; margin-bottom: 10px; }
.hp-steps p { font-size: 15px; line-height: 1.6; margin-bottom: 10px; }
.hp-steps .hp-del { font-size: 13.5px; color: #B9CCEB; border-top: 1px solid rgba(255,255,255,.14); padding-top: 10px; }
/* Stories */
.hp-stories { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; }
.hp-story-main { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 460px; padding: 40px; border-radius: 22px; color: #fff; text-decoration: none; background: radial-gradient(600px 300px at 80% 10%, rgba(58,123,213,.55), transparent 60%), linear-gradient(160deg, #163B6E 0%, #0F2448 100%); overflow: hidden; }
.hp-story-main::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(circle at 85% 15%, rgba(255,255,255,.07) 0 1px, transparent 1px 26px); }
.hp-story-main > * { position: relative; }
.hp-story-main .hp-tag { align-self: flex-start; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.14); margin-bottom: auto; }
.hp-story-main b { font-size: 76px; line-height: 1; font-weight: 600; letter-spacing: -.03em; }
.hp-story-main .hp-metric-l { font-size: 18px; color: #C9D4E5; margin: 8px 0 22px; }
.hp-story-main h3 { color: #fff; font-size: 26px; line-height: 1.25; margin-bottom: 10px; }
.hp-story-main p { color: #D6DEEA; font-size: 16px; margin-bottom: 18px; }
.hp-story-main .hp-link { color: #fff; }
.hp-story-list { display: grid; gap: 16px; }
.hp-story { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 18px; align-items: center; padding: 22px 24px; border: 1px solid var(--ht-border); border-radius: 18px; background: #fff; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.hp-story:hover { border-color: var(--ht-accent); box-shadow: 0 14px 34px rgba(20,40,75,.08); }
.hp-story b { display: block; font-size: 34px; line-height: 1; color: var(--ht-navy); font-weight: 600; }
.hp-story small { display: block; font-size: 12.5px; color: var(--ht-muted); margin-top: 6px; }
.hp-story strong { display: block; font-size: 16.5px; color: var(--ht-ink); line-height: 1.35; margin-bottom: 4px; }
.hp-story span { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ht-accent); }
/* Industries */
.hp-ind { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.hp-ind li { margin: 0; max-width: none; }
.hp-ind a { display: flex; gap: 14px; align-items: center; height: 100%; padding: 18px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--ht-border); text-decoration: none; color: var(--ht-ink); font-weight: 600; font-size: 15.5px; transition: border-color .15s, transform .15s; }
.hp-ind a:hover { border-color: var(--ht-accent); transform: translateY(-2px); color: var(--ht-accent); }
.hp-ind i { flex: none; width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(135deg, #EEF2F8, #F4F4F4); position: relative; }
.hp-ind i::after { content: ""; position: absolute; inset: 9px; background: var(--ht-accent); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.hp-ind li:last-child a { background: var(--ht-navy); color: #fff; border-color: var(--ht-navy); justify-content: center; }
/* Platforms */
.hp-plats { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 14px; }
.hp-plat { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; min-height: 104px; padding: 18px 12px; border: 1px solid var(--ht-border); border-radius: 16px; background: #fff; text-decoration: none; color: var(--ht-ink); transition: border-color .15s, box-shadow .15s; }
.hp-plat:hover { border-color: var(--ht-accent); box-shadow: 0 12px 28px rgba(20,40,75,.08); }
.hp-plat strong { font-size: 17px; letter-spacing: -.01em; }
.hp-plat span { font-size: 12.5px; color: var(--ht-muted); margin-top: 4px; }
/* Why + models */
.hp-why { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 56px; align-items: start; }
.hp-why__list { list-style: none; margin: 28px 0 0; padding: 0; }
.hp-why__list li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; margin: 0 0 22px; max-width: none; }
.hp-why__list li::before { content: ""; width: 44px; height: 44px; border-radius: 12px; background: #EEF2F8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F5597' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 20px no-repeat; }
.hp-why__list strong { display: block; font-size: 17.5px; color: var(--ht-ink); margin-bottom: 4px; }
.hp-why__list span { font-size: 15.5px; color: var(--ht-muted); }
.hp-models { display: grid; gap: 16px; }
.hp-model { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 24px; padding: 26px 28px; border-radius: 18px; background: #fff; border: 1px solid var(--ht-border); }
.hp-model h3 { font-size: 21px; margin: 0; }
.hp-model .hp-best { grid-column: 2; grid-row: 1; align-self: center; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ht-accent); background: #EEF2F8; padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.hp-model p { grid-column: 1 / -1; margin: 0; font-size: 15.5px; color: var(--ht-muted); }
/* FAQ */
.hp-faq { max-width: 900px; margin: 0 auto; }
.hp-faq details { border-bottom: 1px solid var(--ht-border); padding: 4px 0; }
.hp-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; font-size: 18.5px; font-weight: 600; color: var(--ht-ink); }
.hp-faq summary::-webkit-details-marker { display: none; }
.hp-faq summary::after { content: "+"; font-size: 26px; line-height: 1; color: var(--ht-accent); transition: transform .2s; }
.hp-faq details[open] summary::after { transform: rotate(45deg); }
.hp-faq details p { margin: 0 0 22px; font-size: 16.5px; color: var(--ht-muted); max-width: 820px; }
/* Consult */
.hp-consult { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,6fr); gap: 56px; align-items: start; }
.hp-next { list-style: none; margin: 26px 0 0; padding: 0; counter-reset: n; }
.hp-next li { counter-increment: n; display: grid; grid-template-columns: 40px 1fr; gap: 14px; margin: 0 0 18px; max-width: none; font-size: 16px; color: #D6DEEA; }
.hp-next li::before { content: counter(n); width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.12); color: #fff; font-weight: 600; }
.hp-next strong { color: #fff; display: block; }
.hp-consult__form { background: #fff; border-radius: 22px; padding: 34px; color: var(--ht-ink); box-shadow: 0 30px 70px rgba(0,0,0,.25); }
.hp-consult__form label, .hp-consult__form p { color: var(--ht-ink); }
.hp-consult__form .ht-help, .hp-consult__form .opt { color: var(--ht-muted); }
.hp-contactline { margin-top: 26px; font-size: 15px; color: #C9D4E5; }
.hp-contactline a { color: #fff; }
@media (max-width: 1100px) {
	.hp-hero__grid, .hp-panel, .hp-why, .hp-consult, .hp-stories { grid-template-columns: 1fr; }
	.hp-diagram { max-width: 560px; }
	.hp-results__box { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.hp-results__intro { grid-column: 1 / -1; }
	.hp-metric:nth-child(4) { border-left: 0; }
	.hp-pillars { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.hp-steps { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 32px 22px; }
	.hp-steps::before { display: none; }
	.hp-ind { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.hp-plats { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 720px) {
	.hp-sec { padding-top: 64px; padding-bottom: 64px; }
	.hp-hero { padding-top: 48px; padding-bottom: 88px; }
	.hp-hero__lead { font-size: 17.5px; }
	.hp-btn { width: 100%; }
	.hp-results__box, .hp-pillars, .hp-steps, .hp-ind, .hp-panel__links { grid-template-columns: 1fr; }
	.hp-metric { border-left: 0; border-top: 1px solid var(--ht-border); }
	.hp-plats { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.hp-panel { padding: 26px 22px; }
	.hp-tabs .ht-tabs__list { justify-content: flex-start; flex-wrap: nowrap !important; overflow-x: auto; }
	.hp-tabs .ht-tab { flex: none; }
	.hp-story-main { min-height: 380px; padding: 28px; }
	.hp-story-main b { font-size: 56px; }
	.hp-story { grid-template-columns: 1fr; }
	.hp-consult__form { padding: 22px; }
	.hp-model { grid-template-columns: 1fr; }
	.hp-model .hp-best { grid-column: 1; grid-row: auto; justify-self: start; }
}
.hp-sec .ht-center, .ht-center { text-align: center !important; margin-top: 36px; }
.hp-sec .ht-rgrid { margin-top: 0; }
@media (max-width: 720px) {
	.hp-results__box { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	.hp-results__intro { grid-column: 1 / -1; padding: 22px; }
	.hp-metric { padding: 20px 18px; border-top: 1px solid var(--ht-border); }
	.hp-metric:nth-child(odd) { border-left: 1px solid var(--ht-border); }
	.hp-metric b { font-size: 30px; }
	.hp-metric span { font-size: 14px; }
	.hp-tabs .ht-tabs__list { scrollbar-width: none; }
	.hp-tabs .ht-tabs__list::-webkit-scrollbar { display: none; }
	.hp-diagram { margin-top: 8px; }
}
/* ===== end homepage v3 ===== */

/* ===== Contact form v2 ===== */
.hf .hf-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; list-style: none; margin: 0 0 28px; padding: 0; counter-reset: none; }
.hf .hf-progress li { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding-top: 12px; font-size: 13.5px; font-weight: 600; color: var(--ht-muted); max-width: none; }
.hf .hf-progress li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; border-radius: 4px; background: var(--ht-border); }
.hf .hf-progress li.is-active::before, .hf .hf-progress li.is-done::before { background: var(--ht-accent); }
.hf .hf-progress li span { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ht-blush); font-size: 12px; color: var(--ht-muted); flex: none; }
.hf .hf-progress li.is-active { color: var(--ht-ink); }
.hf .hf-progress li.is-active span, .hf .hf-progress li.is-done span { background: var(--ht-accent); color: #fff; }
.hf fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.hf .is-stepped .hf-step:not(.is-active) { display: none; }
.hf:not(:has(.is-stepped)) .hf-progress, .hf:not(:has(.is-stepped)) .hf-next, .hf:not(:has(.is-stepped)) .hf-back { display: none; }
.hf .hf-legend { display: block; font-size: 22px; font-weight: 600; color: var(--ht-ink); margin: 0 0 18px; padding: 0; }
.hf .hf-label { display: block; font-size: 15px; font-weight: 600; color: var(--ht-ink); margin: 0 0 10px; }
.hf .opt { font-weight: 400; color: var(--ht-muted); font-size: 13px; margin-left: 6px; }
.hf .ht-field { margin-bottom: 22px; }
.hf .hf-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.hf .hf-card { position: relative; display: block; cursor: pointer; margin: 0; }
.hf .hf-card input, .hf .hf-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hf .hf-card span { display: block; height: 100%; padding: 14px 16px 14px 44px; border: 1.5px solid var(--ht-border); border-radius: 14px; background: #fff; transition: border-color .15s, background .15s, box-shadow .15s; position: relative; }
.hf .hf-card span::before { content: ""; position: absolute; left: 15px; top: 17px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #A6B0BE; background: #fff; }
.hf .hf-card strong { display: block; font-size: 15px; color: var(--ht-ink); line-height: 1.3; }
.hf .hf-card small { display: block; font-size: 13px; color: var(--ht-muted); margin-top: 3px; line-height: 1.4; }
.hf .hf-card:hover span { border-color: #9DB8E8; }
.hf .hf-card input:checked + span { border-color: var(--ht-accent); background: #F3F6FC; box-shadow: 0 0 0 3px rgba(47,85,151,.12); }
.hf .hf-card input:checked + span::before { border-color: var(--ht-accent); background: radial-gradient(circle, var(--ht-accent) 0 4px, #fff 5px); }
.hf .hf-card input:focus-visible + span, .hf .hf-chip input:focus-visible + span { outline: 2px solid var(--ht-accent); outline-offset: 2px; }
.hf .hf-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hf .hf-chip { position: relative; margin: 0; cursor: pointer; }
.hf .hf-chip span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1.5px solid var(--ht-border); border-radius: 999px; background: #fff; font-size: 14px; color: var(--ht-ink); transition: all .15s; }
.hf .hf-chip:hover span { border-color: #9DB8E8; }
.hf .hf-chip input:checked + span { background: var(--ht-navy); border-color: var(--ht-navy); color: #fff; }
.hf .hf-chips:not(.hf-chips--single) .hf-chip input:checked + span::before { content: "✓"; font-size: 12px; }
.hf .hf-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 18px; }
.hf .hf-hint { display: flex; justify-content: space-between; gap: 16px; margin-top: 8px; font-size: 13px; color: var(--ht-muted); }
.hf .hf-count { white-space: nowrap; }
.hf textarea { min-height: 150px; }
.hf .hf-checks { display: grid; gap: 10px; margin: 6px 0 18px; padding: 16px 18px; background: var(--ht-blush); border-radius: 14px; }
.hf .hf-checks .ht-field { margin: 0; }
.hf .hf-check { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: 14px; line-height: 1.5; color: var(--ht-ink); cursor: pointer; margin: 0; font-weight: 400; }
.hf .hf-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ht-accent); }
.hf .hf-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; }
.hf .hf-nav .ht-btn { width: auto !important; min-width: 180px; min-height: 52px; }
.hf .hf-back { background: none; border: 0; padding: 10px 4px; font: 600 15px/1 var(--ht-font); color: var(--ht-muted); cursor: pointer; }
.hf .hf-back::before { content: "← "; }
.hf .hf-back:hover { color: var(--ht-ink); }
.hf .hf-secure { display: flex; gap: 8px; align-items: center; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--ht-border); font-size: 13px; color: var(--ht-muted); }
.hf .is-invalid .hf-cards .hf-card span, .hf .is-invalid .hf-check input { border-color: var(--ht-error); }
.hf .is-invalid .hf-check span { color: var(--ht-error); }
.hf-success { text-align: left; }
.hf-success__ic { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #E7F4EC; color: var(--ht-success); margin-bottom: 18px; }
.hf-success h2 { font-size: 26px; }
.hf-next-steps { margin: 20px 0; padding-left: 20px; }
.hf-next-steps li { margin: 8px 0; color: var(--ht-muted); }
.hf-next-steps strong { color: var(--ht-ink); }
.hf-success__links { font-size: 15px; color: var(--ht-muted); }
@media (max-width: 720px) {
	.hf .hf-cards, .hf .hf-grid2 { grid-template-columns: 1fr; }
	.hf .hf-progress li { font-size: 0; gap: 0; }
	.hf .hf-progress li span { font-size: 12px; }
	.hf .hf-nav .ht-btn { min-width: 0; flex: 1; }
	.hf .hf-hint { flex-direction: column; gap: 4px; }
}
/* ===== end contact form v2 ===== */

.ht-footer ul.ht-footer__social a { display: inline-flex; align-items: center; gap: 8px; }
.ht-soc-ic { flex: none; color: #fff; }

.hc-office { margin-top: 32px; padding: 22px 24px; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); }
.hc-office p { margin: 0 0 10px; color: #D6DEEA; font-size: 15.5px; }
.hc-office a { color: #fff; }
.hc-office__t { font-size: 13px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #9DB8E8 !important; }
.hc-office__s { font-size: 13.5px !important; margin: 0 !important; color: #B9CCEB !important; }

/* ===== Design v4: brand system ===== */
:root {
	--ht-ink: #0A1B33; --ht-text: #33415C; --ht-muted: #5B6B84;
	--ht-navy: #0B2545; --ht-navy-2: #0F3260; --ht-accent: #1673C8; --ht-accent-2: #0E5CA8;
	--ht-sky: #2EA8DA; --ht-lime: #7DBA2F; --ht-orange: #F39019; --ht-red: #E3204F; --ht-violet: #6D5BD0;
	--ht-blush: #F3F7FC; --ht-border: #E3E9F2; --ht-tint: #EAF3FC;
	--ht-brand-line: linear-gradient(90deg, #2EA8DA 0%, #8DC63F 34%, #F39019 67%, #EE1C4A 100%);
	--ht-btn-grad: linear-gradient(135deg, #1673C8 0%, #2EA8DA 100%);
	--ht-dark-grad: radial-gradient(900px 500px at 85% 0%, rgba(46,168,218,.35), transparent 60%), radial-gradient(700px 400px at 0% 100%, rgba(109,91,208,.30), transparent 60%), linear-gradient(135deg, #071A33 0%, #0B2545 55%, #0F3260 100%);
	--ht-shadow: 0 1px 2px rgba(10,27,51,.04), 0 10px 30px rgba(10,27,51,.06);
	--ht-shadow-lg: 0 2px 6px rgba(10,27,51,.05), 0 24px 60px rgba(10,27,51,.12);
}
body { color: var(--ht-text); }
h1, h2, h3, h4 { color: var(--ht-ink); font-weight: 700; letter-spacing: -0.022em; }
h3, h4 { font-weight: 650; }
::selection { background: rgba(46,168,218,.25); }

/* Header */
.ht-header { background: rgba(255,255,255,.9); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); }
.ht-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--ht-brand-line); opacity: .9; }
.ht-header.is-scrolled { box-shadow: 0 8px 30px rgba(10,27,51,.08); }
.ht-nav__toggle { color: var(--ht-ink); font-weight: 550; }
.ht-nav__toggle:hover, .ht-nav__toggle[aria-expanded="true"] { background: var(--ht-tint); color: var(--ht-accent); }
.ht-nav__toggle.is-current { box-shadow: inset 0 -2px 0 var(--ht-sky); }
.ht-mega { border: 1px solid var(--ht-border); box-shadow: 0 30px 80px rgba(10,27,51,.18); }
.ht-mega::after { content: ""; position: absolute; left: 24px; right: 24px; top: 0; height: 3px; border-radius: 0 0 4px 4px; background: var(--ht-brand-line); }
.ht-mega__h, .ht-mega__h a { color: var(--ht-ink); }
.ht-mega__h { padding-left: 10px; border-left: 3px solid var(--ht-sky); }
.ht-mega__col:nth-child(4n+2) .ht-mega__h { border-left-color: var(--ht-lime); }
.ht-mega__col:nth-child(4n+3) .ht-mega__h { border-left-color: var(--ht-orange); }
.ht-mega__col:nth-child(4n+4) .ht-mega__h { border-left-color: var(--ht-red); }
.ht-mega li a { color: var(--ht-text); }
.ht-mega li a:hover { color: var(--ht-accent); }
.ht-mega__intro { background: linear-gradient(160deg, #EAF3FC, #F6FAFE); }

/* Buttons */
.ht-btn, .wp-block-button__link, .wp-element-button, .hp-btn--navy { background: var(--ht-btn-grad); border: 0; color: #fff; box-shadow: 0 8px 22px rgba(22,115,200,.30); }
.ht-btn:hover, .wp-block-button__link:hover, .hp-btn--navy:hover { background: linear-gradient(135deg, #0E5CA8, #1F95CA); color: #fff; box-shadow: 0 12px 30px rgba(22,115,200,.40); transform: translateY(-1px); }
.is-style-outline .wp-block-button__link, .ht-btn--secondary { background: transparent !important; border: 1.5px solid currentColor !important; box-shadow: none !important; }
.ht-hero .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.55) !important; }
.ht-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1) !important; }
.ht-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link, .hp-btn--primary { background: #fff; color: var(--ht-navy); box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.ht-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, .hp-btn--primary:hover { background: #EAF3FC; color: var(--ht-navy); }
.ht-header__cta .ht-btn { box-shadow: 0 6px 16px rgba(22,115,200,.28); }

/* Eyebrows */
.ht-eyebrow, .hp-eb { display: inline-flex !important; align-items: center; gap: 8px; color: var(--ht-accent) !important; background: var(--ht-tint); border: 1px solid #D3E5F7; padding: 6px 14px !important; border-radius: 999px; letter-spacing: .16em !important; font-size: 12px !important; font-weight: 700 !important; }
.ht-eyebrow::before, .hp-eb::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ht-brand-line); flex: none; }
.ht-hero .ht-eyebrow, .hp-dark .hp-eb, .ht-cta--dark .ht-eyebrow, .ht-article-hero .ht-eyebrow { color: #CFE6F7 !important; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }

/* Heroes */
.ht-hero, .hp-hero { background: var(--ht-dark-grad) !important; box-shadow: 0 0 0 100vmax #0B2545 !important; clip-path: inset(0 -100vmax); }
.ht-hero::before, .hp-hero::before { content: ""; position: absolute; inset: 0 -100vmax; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%3E%3Cpath%20d%3D%22M48%200H0v48%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-opacity%3D%22.06%22%2F%3E%3C%2Fsvg%3E") repeat; -webkit-mask-image: radial-gradient(ellipse 70% 80% at 70% 30%, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse 70% 80% at 70% 30%, #000 30%, transparent 75%); pointer-events: none; z-index: 0; }
.ht-hero::after { z-index: 0; }
.ht-hero > *, .hp-hero > * { position: relative; z-index: 1; }
.ht-hero h1, .hp-hero h1 { color: #fff; font-weight: 700; }
.ht-hero .ht-lead, .ht-hero p { color: #C8D6EA; }
.hp-hero h1 em, .ht-grad-text { background: linear-gradient(90deg, #5CC8F0 0%, #A6E05B 55%, #F7B04A 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hp-hero__eb { background: rgba(255,255,255,.07); }
.ht-main > .entry > .ht-hero, .ht-main > .entry > .hp-hero { border-bottom: 0; }
.hp-diagram svg { border-radius: 22px; }

/* Section backgrounds */
.ht-main > .entry > .ht-section:nth-child(even):not(.ht-cta):not(.hp-sec):not(.hp-results) { background: var(--ht-blush); box-shadow: 0 0 0 100vmax var(--ht-blush); }
.hp-alt { background: var(--ht-blush) !important; box-shadow: 0 0 0 100vmax var(--ht-blush) !important; }
.hp-dark, .ht-cta--dark, .ht-main > .entry > .ht-cta.ht-cta--dark { background: var(--ht-dark-grad) !important; box-shadow: 0 0 0 100vmax #0B2545 !important; clip-path: inset(0 -100vmax); position: relative; }
.ht-cta--dark::before, .hp-dark::before { content: ""; position: absolute; left: -100vmax; right: -100vmax; top: 0; height: 3px; background: var(--ht-brand-line); }
.ht-cta--dark .wp-block-button__link { background: #fff !important; color: var(--ht-navy) !important; }
.ht-cta--dark h2 { color: #fff; }

/* Cards & tiles */
.ht-card, .ht-tile, .hp-pillar, .hp-model, .hp-story, .hp-plat, .hp-ind a, .ht-rcard, .hp-panel, .ht-toc { border-color: var(--ht-border) !important; box-shadow: var(--ht-shadow); }
.ht-card, .ht-tile, .hp-pillar, .ht-rcard, .hp-model { border-radius: 20px !important; position: relative; overflow: hidden; }
.ht-card::marker { content: none; }
.ht-tile::before, .hp-pillar::before, .hp-model::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--ht-brand-line); opacity: 0; transition: opacity .2s; }
.ht-tile:hover::before, .hp-pillar:hover::before, .hp-model:hover::before { opacity: 1; }
.ht-tile:hover, .ht-card:hover, .hp-pillar:hover, .hp-plat:hover, .hp-story:hover { box-shadow: var(--ht-shadow-lg) !important; border-color: #CFE0F2 !important; }
.ht-card { transition: transform .2s, box-shadow .2s; }
.ht-card:hover { transform: translateY(-3px); }
.ht-tile strong { color: var(--ht-ink); }
.ht-tile em { color: var(--ht-accent); }

/* Icon tiles: logo palette rotation */
.ht-ico::before { background: linear-gradient(135deg, #E3F3FB, #F2FAFE) !important; border: 1px solid #CDE8F5 !important; }
.ht-ico::after { background: linear-gradient(135deg, #1673C8, #2EA8DA) !important; }
.ht-grid-2 > .ht-ico:nth-child(4n+2)::before, .ht-grid-3 > .ht-ico:nth-child(4n+2)::before, .ht-grid-4 > .ht-ico:nth-child(4n+2)::before { background: linear-gradient(135deg, #EEF7E1, #F7FBF0) !important; border-color: #D8ECBD !important; }
.ht-grid-2 > .ht-ico:nth-child(4n+2)::after, .ht-grid-3 > .ht-ico:nth-child(4n+2)::after, .ht-grid-4 > .ht-ico:nth-child(4n+2)::after { background: linear-gradient(135deg, #5E9A1E, #8DC63F) !important; }
.ht-grid-2 > .ht-ico:nth-child(4n+3)::before, .ht-grid-3 > .ht-ico:nth-child(4n+3)::before, .ht-grid-4 > .ht-ico:nth-child(4n+3)::before { background: linear-gradient(135deg, #FEF1E1, #FFF8EF) !important; border-color: #FBDDB5 !important; }
.ht-grid-2 > .ht-ico:nth-child(4n+3)::after, .ht-grid-3 > .ht-ico:nth-child(4n+3)::after, .ht-grid-4 > .ht-ico:nth-child(4n+3)::after { background: linear-gradient(135deg, #D97A08, #F39019) !important; }
.ht-grid-2 > .ht-ico:nth-child(4n+4)::before, .ht-grid-3 > .ht-ico:nth-child(4n+4)::before, .ht-grid-4 > .ht-ico:nth-child(4n+4)::before { background: linear-gradient(135deg, #FDE7EC, #FFF3F6) !important; border-color: #F8C7D3 !important; }
.ht-grid-2 > .ht-ico:nth-child(4n+4)::after, .ht-grid-3 > .ht-ico:nth-child(4n+4)::after, .ht-grid-4 > .ht-ico:nth-child(4n+4)::after { background: linear-gradient(135deg, #C2183F, #EE1C4A) !important; }
.hp-pillar:nth-child(1) .hp-pillar__ic { background: linear-gradient(135deg, #1673C8, #2EA8DA); box-shadow: 0 10px 24px rgba(46,168,218,.35); }
.hp-pillar:nth-child(2) .hp-pillar__ic { background: linear-gradient(135deg, #4E8A16, #8DC63F); box-shadow: 0 10px 24px rgba(141,198,63,.35); }
.hp-pillar:nth-child(3) .hp-pillar__ic { background: linear-gradient(135deg, #D97A08, #F5A623); box-shadow: 0 10px 24px rgba(243,144,25,.35); }
.hp-pillar:nth-child(4) .hp-pillar__ic { background: linear-gradient(135deg, #B0123A, #EE1C4A); box-shadow: 0 10px 24px rgba(238,28,74,.3); }
.hp-pillar:nth-child(2) li a:hover { color: #4E8A16; } .hp-pillar:nth-child(3) li a:hover { color: #C46A05; } .hp-pillar:nth-child(4) li a:hover { color: #C2183F; }
.hp-ind li:nth-child(4n+1) i::after { background: #1673C8; } .hp-ind li:nth-child(4n+2) i::after { background: #5E9A1E; } .hp-ind li:nth-child(4n+3) i::after { background: #D97A08; } .hp-ind li:nth-child(4n+4) i::after { background: #C2183F; }
.hp-ind li:nth-child(4n+1) i { background: #E3F3FB; } .hp-ind li:nth-child(4n+2) i { background: #EEF7E1; } .hp-ind li:nth-child(4n+3) i { background: #FEF1E1; } .hp-ind li:nth-child(4n+4) i { background: #FDE7EC; }
.hp-ind li:last-child a { background: var(--ht-btn-grad); border: 0; }

/* Numbers & metrics */
.hp-metric b, .hp-story b, .ht-stats b, .ht-case__metric { background: linear-gradient(135deg, #0E5CA8 0%, #2EA8DA 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.hp-results__box { box-shadow: 0 30px 80px rgba(10,27,51,.16); }
.hp-results__intro { background: linear-gradient(160deg, #EAF3FC, #F6FAFE); position: relative; }
.hp-results__intro::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #2EA8DA, #8DC63F, #F39019, #EE1C4A); }
.ht-feature__metric, .ht-case__top { background: var(--ht-dark-grad) !important; }
.ht-case__top .ht-case__metric { background: linear-gradient(90deg, #7FD3F5, #C3EB8B); -webkit-background-clip: text; background-clip: text; }
.hp-story-main { background: radial-gradient(600px 300px at 85% 10%, rgba(46,168,218,.55), transparent 60%), radial-gradient(500px 300px at 0% 100%, rgba(109,91,208,.45), transparent 60%), linear-gradient(160deg, #0B2545 0%, #071A33 100%); }
.hp-story-main b { background: linear-gradient(90deg, #7FD3F5, #C3EB8B 60%, #F7C46B); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Process steps */
.hp-steps li::before { background: var(--ht-btn-grad); color: #fff; box-shadow: 0 0 0 6px rgba(46,168,218,.15), 0 10px 24px rgba(22,115,200,.4); }
.hp-steps::before { background: var(--ht-brand-line); opacity: .55; height: 3px; }
.ht-steps3__n { background: var(--ht-btn-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ht-phase { border-top: 3px solid var(--ht-sky); }

/* Band */
.ht-band__inner, .ht-navy { background: var(--ht-dark-grad) !important; border-radius: 24px; position: relative; overflow: hidden; }
.ht-band__inner::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ht-brand-line); }
.ht-band__inner h2 { color: #fff; }

/* Tabs, chips, filters */
.hp-tabs .ht-tab[aria-selected="true"], .ht-filter a[aria-current="page"], .hf .hf-chip input:checked + span { background: var(--ht-btn-grad) !important; border-color: transparent !important; color: #fff !important; box-shadow: 0 8px 20px rgba(22,115,200,.28) !important; }
.ht-chips a:hover { border-color: var(--ht-sky); color: var(--ht-accent); }
.hp-panel { box-shadow: var(--ht-shadow-lg) !important; }
.hp-panel__links a strong::after { color: var(--ht-sky); }

/* FAQ */
.ht-faq details, .hp-faq details { border-color: var(--ht-border); }
.ht-faq summary::after, .hp-faq summary::after { color: var(--ht-sky); }
.ht-faq details[open], .hp-faq details[open] { background: #fff; }

/* Resources cards */
.ht-rcard__cover { background: var(--ht-dark-grad) !important; }
.ht-rcard--ai .ht-rcard__cover { background: linear-gradient(135deg, #0B2545 0%, #1673C8 60%, #2EA8DA 100%) !important; }
.ht-rcard--data .ht-rcard__cover { background: linear-gradient(135deg, #12361A 0%, #4E8A16 55%, #8DC63F 100%) !important; }
.ht-rcard--cloud .ht-rcard__cover { background: linear-gradient(135deg, #3B1F05 0%, #C46A05 55%, #F5A623 100%) !important; }
.ht-rcard--planning .ht-rcard__cover { background: linear-gradient(135deg, #2A0A15 0%, #B0123A 55%, #EE1C4A 100%) !important; }
.ht-rcard--team-delivery .ht-rcard__cover { background: linear-gradient(135deg, #1B1642 0%, #4B3FB0 55%, #6D5BD0 100%) !important; }
.ht-rcard--ai .ht-rcard__cat { color: #1673C8; } .ht-rcard--data .ht-rcard__cat { color: #4E8A16; } .ht-rcard--cloud .ht-rcard__cat { color: #C46A05; } .ht-rcard--planning .ht-rcard__cat { color: #C2183F; } .ht-rcard--team-delivery .ht-rcard__cat { color: #4B3FB0; }
.ht-aside-cta { background: var(--ht-dark-grad); }

/* Contact & forms */
.ht-contact { background: var(--ht-dark-grad) !important; }
.ht-form input:focus, .ht-form textarea:focus, .ht-form select:focus { border-color: var(--ht-sky) !important; box-shadow: 0 0 0 4px rgba(46,168,218,.18) !important; outline: none; }
.hf .hf-progress li.is-active::before, .hf .hf-progress li.is-done::before { background: var(--ht-brand-line); }
.hf .hf-progress li.is-active span, .hf .hf-progress li.is-done span { background: var(--ht-btn-grad); }
.hf .hf-card input:checked + span { border-color: var(--ht-sky); background: #F0F8FD; box-shadow: 0 0 0 4px rgba(46,168,218,.15); }

/* Footer */
.ht-footer { background: radial-gradient(800px 400px at 100% 0%, rgba(46,168,218,.18), transparent 60%), #06152B !important; position: relative; }
.ht-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--ht-brand-line); }
.ht-footer h2 { color: #7FD3F5 !important; }
.ht-footer a:hover { color: #7FD3F5; }
.ht-footer .ht-btn { background: var(--ht-btn-grad) !important; color: #fff !important; }
.ht-center { max-width: none !important; }
.hp-plat { position: relative; overflow: hidden; }
.hp-plat::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: #2EA8DA; }
.hp-plat:nth-child(4n+2)::before { background: #8DC63F; } .hp-plat:nth-child(4n+3)::before { background: #F39019; } .hp-plat:nth-child(4n+4)::before { background: #EE1C4A; }
.hp-plat strong { color: var(--ht-ink); }
.hp-plat:hover strong { color: var(--ht-accent); }
.ht-links-grid > li:nth-child(4n+1) .ht-tile { border-top: 3px solid #2EA8DA !important; } .ht-links-grid > li:nth-child(4n+2) .ht-tile { border-top: 3px solid #8DC63F !important; } .ht-links-grid > li:nth-child(4n+3) .ht-tile { border-top: 3px solid #F39019 !important; } .ht-links-grid > li:nth-child(4n+4) .ht-tile { border-top: 3px solid #EE1C4A !important; }
.ht-tile::before { display: none; }
.ht-footer, .ht-footer p, .ht-footer li { color: #AFC0D6 !important; }
.ht-footer a { color: #E6EEF8 !important; }
.ht-footer a:hover { color: #7FD3F5 !important; }
.ht-footer .ht-footer__bottom, .ht-footer .ht-footer__bottom span { color: #8FA3BD !important; }
.ht-footer ul.ht-footer__social a { border-color: rgba(255,255,255,.25) !important; }
.ht-form .ht-btn[disabled], .ht-btn[aria-busy="true"] { background: linear-gradient(135deg, #0E5CA8, #1F95CA) !important; color: #fff !important; opacity: .85; cursor: progress; }
.ht-contact .ht-eyebrow { color: #CFE6F7 !important; background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.22) !important; }
.hf .hf-legend:focus { outline: none; }
/* ===== end design v4 ===== */

/* ===== Insight cards v3 ===== */
.ht-pcard { --c1:#0B2545; --c2:#1673C8; --c3:#2EA8DA; --cx:#1673C8; position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ht-border, #E3E8F0); border-radius: 20px; overflow: hidden; box-shadow: 0 1px 2px rgba(11,37,69,.05), 0 8px 24px rgba(11,37,69,.06); transition: transform .25s ease, box-shadow .25s ease; }
.ht-pcard:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(11,37,69,.06), 0 22px 48px rgba(11,37,69,.14); }
.ht-pcard--ai { --c1:#0B2545; --c2:#1673C8; --c3:#2EA8DA; --cx:#1673C8; }
.ht-pcard--cloud { --c1:#0A2F4D; --c2:#1C8CC4; --c3:#7FD3F0; --cx:#147AAE; }
.ht-pcard--data-engineering { --c1:#3B1F05; --c2:#C46A05; --c3:#F5A623; --cx:#B35F00; }
.ht-pcard--iot { --c1:#12361A; --c2:#4E8A16; --c3:#8DC63F; --cx:#447A12; }
.ht-pcard--data-analytics { --c1:#1B1642; --c2:#4B3FB0; --c3:#8B7FE0; --cx:#4B3FB0; }
.ht-pcard--business-consulting { --c1:#0B1A30; --c2:#163B6E; --c3:#4A7FC1; --cx:#163B6E; }
.ht-pcard--managed-services { --c1:#04363A; --c2:#0E7C7B; --c3:#2EC4B6; --cx:#0C6E6D; }
.ht-pcard--data-management { --c1:#0F3D2E; --c2:#1F8A5B; --c3:#8DC63F; --cx:#1B7A50; }
.ht-pcard--security { --c1:#2A0A15; --c2:#B0123A; --c3:#EE1C4A; --cx:#B0123A; }
.ht-pcard--application-innovation { --c1:#3A0D2E; --c2:#C2185B; --c3:#F39019; --cx:#B3164F; }
.ht-pcard--planning { --c1:#2E2A6B; --c2:#5146A8; --c3:#8B7FE0; --cx:#5146A8; }
.ht-pcard--team-delivery { --c1:#24364B; --c2:#4B6584; --c3:#7A93B0; --cx:#3E5674; }
.ht-pcard__cover { position: relative; min-height: 176px; padding: 18px 20px 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; color: #fff; overflow: hidden; isolation: isolate; background: radial-gradient(120% 140% at var(--gx,80%) var(--gy,20%), color-mix(in srgb, var(--c3) 70%, transparent) 0%, transparent 55%), linear-gradient(135deg, var(--c1) 0%, var(--c2) 70%, var(--c3) 130%); }
.ht-pcard__cover::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255,255,255,.22) 1px, transparent 1.2px); background-size: 16px 16px; -webkit-mask-image: linear-gradient(110deg, transparent 30%, #000 85%); mask-image: linear-gradient(110deg, transparent 30%, #000 85%); }
.ht-pcard__cover::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--c3), rgba(255,255,255,.6), var(--c3)); opacity: .8; }
.ht-pcard__glyph { position: absolute; right: -14px; bottom: -22px; z-index: -1; color: #fff; opacity: .16; transform: rotate(var(--rot,0deg)); transition: transform .5s ease, opacity .3s; }
.ht-pcard:hover .ht-pcard__glyph { transform: rotate(var(--rot,0deg)) scale(1.08); opacity: .24; }
.ht-pcard__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ht-pcard__cat { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px 6px 10px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); font-size: 12.5px; font-weight: 600; letter-spacing: .02em; line-height: 1; white-space: nowrap; }
.ht-pcard__fmt { padding: 6px 10px; border-radius: 8px; background: rgba(6,16,32,.32); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1; white-space: nowrap; }
.ht-pcard__topic { display: flex; flex-direction: column; gap: 4px; max-width: 78%; }
.ht-pcard__topic span { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; opacity: .75; }
.ht-pcard__topic strong { font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }
.ht-pcard__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 20px; }
.ht-pcard__flag { margin: 0 0 10px !important; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cx); }
.ht-pcard__title { font-size: 19px !important; line-height: 1.38 !important; margin: 0 0 10px !important; font-weight: 700; letter-spacing: -.005em; }
.ht-pcard__title a { color: var(--ht-ink, #0A1B33); text-decoration: none; }
.ht-pcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.ht-pcard:hover .ht-pcard__title a { color: var(--cx); }
.ht-pcard__title a:focus-visible { outline: none; }
.ht-pcard:focus-within { outline: 3px solid color-mix(in srgb, var(--cx) 45%, transparent); outline-offset: 2px; }
.ht-pcard__excerpt { margin: 0 0 18px !important; font-size: 15px; line-height: 1.6; color: var(--ht-muted, #5A6B82); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-width: none !important; }
.ht-pcard__foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--ht-border, #E3E8F0); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ht-pcard__meta { margin: 0 !important; display: flex; gap: 10px; font-size: 13px; color: var(--ht-muted, #5A6B82); }
.ht-pcard__meta span::before { content: "·"; margin-right: 10px; }
.ht-pcard__go { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; color: var(--cx); background: color-mix(in srgb, var(--cx) 10%, #fff); transition: background .25s, color .25s, transform .25s; }
.ht-pcard:hover .ht-pcard__go { background: var(--cx); color: #fff; transform: translateX(3px); }
.ht-pcard--feature { margin-bottom: 28px; }
@media (min-width: 900px) {
  .ht-pcard--feature { flex-direction: row; min-height: 340px; }
  .ht-pcard--feature .ht-pcard__cover { width: 46%; flex: 0 0 46%; padding: 28px 30px 30px; }
  .ht-pcard--feature .ht-pcard__topic strong { font-size: 34px; }
  .ht-pcard--feature .ht-pcard__glyph svg { width: 220px; height: 220px; }
  .ht-pcard--feature .ht-pcard__body { padding: 40px 44px 32px; justify-content: center; }
  .ht-pcard--feature .ht-pcard__title { font-size: 28px !important; line-height: 1.25 !important; margin-bottom: 14px !important; }
  .ht-pcard--feature .ht-pcard__excerpt { font-size: 17px; -webkit-line-clamp: 4; margin-bottom: 26px !important; }
  .ht-pcard--feature .ht-pcard__foot { margin-top: 0; }
}
@media (max-width: 600px) { .ht-pcard__cover { min-height: 156px; } .ht-pcard__topic strong { font-size: 20px; } }
@media (prefers-reduced-motion: reduce) { .ht-pcard, .ht-pcard__glyph, .ht-pcard__go { transition: none; } .ht-pcard:hover { transform: none; } }

/* ===== Insights filters + compact cards (v4) ===== */
.ht-pcard[hidden] { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ht-ifilter { display: grid; gap: 14px; margin: 0 0 28px; }
.ht-ifilter__bar { display: grid; grid-template-columns: minmax(0, 1fr) 280px 210px; gap: 12px; }
.ht-ifilter__search { position: relative; display: block; margin: 0; }
.ht-ifilter__search svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--ht-muted, #5A6B82); pointer-events: none; }
.ht-ifilter__search input { width: 100%; height: 52px; padding: 0 48px 0 46px; border: 1px solid var(--ht-border, #E3E8F0); border-radius: 14px; background: #fff; font: inherit; font-size: 15.5px; color: var(--ht-ink, #0A1B33); box-shadow: 0 1px 2px rgba(11,37,69,.04); transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; }
.ht-ifilter__search input::placeholder { color: #8A97A8; }
.ht-ifilter__search kbd { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); min-width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ht-border, #E3E8F0); border-bottom-width: 2px; border-radius: 6px; font: 600 12px/1 inherit; color: var(--ht-muted, #5A6B82); background: #F6F8FB; }
.ht-ifilter__search input:focus + kbd, .ht-ifilter__search input:not(:placeholder-shown) + kbd { display: none; }
.ht-ifilter__sel { display: block; margin: 0; }
.ht-ifilter__sel select { width: 100%; height: 52px; padding: 0 40px 0 16px; border: 1px solid var(--ht-border, #E3E8F0); border-radius: 14px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235A6B82' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center / 12px 8px; font: inherit; font-size: 15px; color: var(--ht-ink, #0A1B33); -webkit-appearance: none; appearance: none; cursor: pointer; box-shadow: 0 1px 2px rgba(11,37,69,.04); }
.ht-ifilter__search input:focus, .ht-ifilter__sel select:focus { outline: none; border-color: #2EA8DA; box-shadow: 0 0 0 4px rgba(46,168,218,.18); }
.ht-ifilter__status { display: flex; align-items: center; gap: 14px; margin: 0 !important; font-size: 14px; color: var(--ht-muted, #5A6B82); max-width: none !important; }
.ht-ifilter__clear { border: 0; background: none; padding: 0; font: inherit; font-size: 14px; font-weight: 600; color: #1673C8; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ht-ifilter__clear[hidden] { display: none; }
.ht-ifilter__empty { text-align: center; padding: 48px 20px; border: 1px dashed var(--ht-border, #E3E8F0); border-radius: 20px; background: #fff; }
.ht-ifilter__empty p { margin: 0 auto 12px !important; color: var(--ht-muted, #5A6B82); }
.ht-ifilter__empty strong { color: var(--ht-ink, #0A1B33); }
.ht-ifilter__more { text-align: center; margin-top: 36px; }
.ht-btn-more { display: inline-flex; align-items: center; gap: 8px; height: 50px; padding: 0 28px; border: 1.5px solid var(--ht-ink, #0A1B33); border-radius: 999px; background: #fff; font: inherit; font-size: 15px; font-weight: 600; color: var(--ht-ink, #0A1B33); cursor: pointer; transition: background .2s, color .2s; }
.ht-btn-more:hover { background: var(--ht-ink, #0A1B33); color: #fff; }
.ht-btn-more[hidden] { display: none; }
.ht-resources .ht-filter { margin-bottom: 18px; }
@media (max-width: 900px) { .ht-ifilter__bar { grid-template-columns: 1fr 1fr; } .ht-ifilter__search { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ht-ifilter__bar { grid-template-columns: 1fr; } .ht-ifilter__search kbd { display: none; } }
/* Featured card lives inside the grid */
.ht-rgrid--all .ht-pcard--feature { grid-column: 1 / -1; margin-bottom: 0; }
.ht-rgrid.is-filtering .ht-pcard--feature { grid-column: auto; flex-direction: column; min-height: 0; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__cover { width: auto; flex: none; padding: 16px 18px 18px; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__topic strong { font-size: 20px; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__glyph svg { width: 120px; height: 120px; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__body { padding: 18px 20px 16px; justify-content: flex-start; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__title { font-size: 17.5px !important; line-height: 1.35 !important; margin-bottom: 8px !important; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__excerpt { font-size: 14.5px; -webkit-line-clamp: 2; margin-bottom: 14px !important; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__flag { display: none; }
.ht-rgrid.is-filtering .ht-pcard--feature .ht-pcard__foot { margin-top: auto; }
/* Compact cards */
.ht-pcard__cover { min-height: 138px; padding: 16px 18px 18px; gap: 12px; }
.ht-pcard__topic { max-width: 80%; }
.ht-pcard__topic strong { font-size: 20px; }
.ht-pcard__body { padding: 18px 20px 16px; }
.ht-pcard__title { font-size: 17.5px !important; line-height: 1.35 !important; margin: 0 0 8px !important; }
.ht-pcard__excerpt { font-size: 14.5px; -webkit-line-clamp: 2; margin: 0 0 14px !important; }
.ht-pcard__foot { padding-top: 12px; }
.ht-pcard__go { width: 32px; height: 32px; }
@media (min-width: 900px) {
  .ht-pcard--feature .ht-pcard__cover { padding: 28px 30px 30px; }
  .ht-pcard--feature .ht-pcard__topic strong { font-size: 32px; }
  .ht-pcard--feature .ht-pcard__title { font-size: 27px !important; line-height: 1.25 !important; margin-bottom: 14px !important; }
  .ht-pcard--feature .ht-pcard__excerpt { font-size: 16.5px; -webkit-line-clamp: 3; margin-bottom: 24px !important; }
  .ht-pcard--feature .ht-pcard__body { padding: 36px 40px 28px; }
}

/* ===== Insight cards v5: simple, modern ===== */
.ht-pcard.ht-pc { --cx: #1673C8; position: relative; display: flex; flex-direction: column; min-height: 0; padding: 24px 24px 20px; background: #fff; border: 1px solid #E6EAF0; border-radius: 16px; box-shadow: none; overflow: hidden; transform: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ht-pcard.ht-pc:hover { border-color: color-mix(in srgb, var(--cx) 30%, #E6EAF0); box-shadow: 0 14px 34px rgba(11,37,69,.08); transform: translateY(-2px); }
.ht-pcard.ht-pc:focus-within { outline: 3px solid color-mix(in srgb, var(--cx) 40%, transparent); outline-offset: 2px; }
.ht-pc.ht-pcard--ai { --cx: #1673C8; }
.ht-pc.ht-pcard--cloud { --cx: #147AAE; }
.ht-pc.ht-pcard--data-engineering { --cx: #C46A05; }
.ht-pc.ht-pcard--iot { --cx: #4A8414; }
.ht-pc.ht-pcard--data-analytics { --cx: #5146B8; }
.ht-pc.ht-pcard--business-consulting { --cx: #1E4E8C; }
.ht-pc.ht-pcard--managed-services { --cx: #0C7A78; }
.ht-pc.ht-pcard--data-management { --cx: #1B7F52; }
.ht-pc.ht-pcard--security { --cx: #C2183F; }
.ht-pc.ht-pcard--application-innovation { --cx: #B3164F; }
.ht-pc.ht-pcard--planning { --cx: #5146A8; }
.ht-pc.ht-pcard--team-delivery { --cx: #3E5674; }
.ht-pc__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ht-pc__cat { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--cx); line-height: 1; }
.ht-pc__cat::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cx); flex: none; }
.ht-pc__fmt { font-size: 12px; color: #7A8799; line-height: 1; white-space: nowrap; }
.ht-pc__flag { padding: 5px 10px; border-radius: 999px; background: color-mix(in srgb, var(--cx) 10%, #fff); color: var(--cx); font-size: 12px; font-weight: 600; line-height: 1; }
.ht-pc__title { font-size: 18px !important; line-height: 1.4 !important; font-weight: 700; letter-spacing: -.01em; margin: 0 0 10px !important; }
.ht-pc__title a { color: #0A1B33; text-decoration: none; transition: color .2s; }
.ht-pc__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ht-pc__title a:focus-visible { outline: none; }
.ht-pcard.ht-pc:hover .ht-pc__title a { color: var(--cx); }
.ht-pc__excerpt { margin: 0 0 20px !important; max-width: none !important; font-size: 15px; line-height: 1.6; color: #5A6B82; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ht-pc__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ht-pc__meta { margin: 0 !important; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13px; color: #7A8799; max-width: none !important; }
.ht-pc__meta > * + *::before { content: "·"; margin-right: 6px; color: #B4BDC9; }
.ht-pc__svc { color: #3D4B5F; font-weight: 500; }
.ht-pc__go { flex: none; display: inline-flex; color: var(--cx); opacity: 0; transform: translateX(-6px); transition: opacity .2s, transform .2s; }
.ht-pcard.ht-pc:hover .ht-pc__go { opacity: 1; transform: none; }
@media (hover: none) { .ht-pc__go { opacity: 1; transform: none; } }
.ht-pc__glyph { display: none; }
/* Featured */
.ht-pcard.ht-pc--feature { flex-direction: column; min-height: 0; padding: 32px 28px 26px; background: linear-gradient(120deg, color-mix(in srgb, var(--cx) 8%, #fff) 0%, #fff 70%); }
.ht-pc--feature .ht-pc__title { font-size: 24px !important; line-height: 1.25 !important; }
.ht-pc--feature .ht-pc__excerpt { font-size: 16px; -webkit-line-clamp: 3; }
@media (min-width: 900px) {
  .ht-pcard.ht-pc--feature { padding: 44px 48px 34px; min-height: 280px; }
  .ht-pc--feature .ht-pc__title, .ht-pc--feature .ht-pc__excerpt, .ht-pc--feature .ht-pc__top { max-width: 760px; }
  .ht-pc--feature .ht-pc__title { font-size: 32px !important; margin-bottom: 14px !important; }
  .ht-pc--feature .ht-pc__excerpt { font-size: 17px; margin-bottom: 28px !important; }
  .ht-pc--feature .ht-pc__glyph { display: block; position: absolute; right: 48px; top: 50%; transform: translateY(-50%); color: var(--cx); opacity: .09; pointer-events: none; }
}
.ht-rgrid.is-filtering .ht-pcard.ht-pc--feature { padding: 24px 24px 20px; min-height: 0; background: #fff; }
.ht-rgrid.is-filtering .ht-pc--feature .ht-pc__title { font-size: 18px !important; line-height: 1.4 !important; margin-bottom: 10px !important; }
.ht-rgrid.is-filtering .ht-pc--feature .ht-pc__excerpt { font-size: 15px; -webkit-line-clamp: 2; margin-bottom: 20px !important; }
.ht-rgrid.is-filtering .ht-pc--feature .ht-pc__glyph { display: none; }
@media (max-width: 600px) { .ht-pcard.ht-pc { padding: 20px 20px 18px; } .ht-pc--feature .ht-pc__title { font-size: 21px !important; } .ht-pc--feature .ht-pc__excerpt { font-size: 15px; } }

/* Insights pagination */
.ht-ipager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 40px; flex-wrap: wrap; }
.ht-ipager[hidden] { display: none; }
.ht-ipager__pages { display: flex; align-items: center; gap: 6px; }
.ht-ipager__btn { min-width: 42px; height: 42px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #E6EAF0; border-radius: 12px; background: #fff; font: inherit; font-size: 15px; font-weight: 600; color: #0A1B33; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.ht-ipager__btn:hover:not([disabled]):not([aria-current]) { border-color: #2EA8DA; color: #1673C8; }
.ht-ipager__btn[aria-current="page"] { background: #0A1B33; border-color: #0A1B33; color: #fff; cursor: default; }
.ht-ipager__btn[disabled] { opacity: .4; cursor: default; }
.ht-ipager__btn:focus-visible { outline: 3px solid rgba(46,168,218,.4); outline-offset: 2px; }
.ht-ipager__nav { padding: 0 16px; }
.ht-ipager__gap { min-width: 24px; text-align: center; color: #7A8799; }
.ht-rgrid.is-paged .ht-pcard--feature { display: none !important; }
@media (max-width: 560px) { .ht-ipager__nav span { display: none; } .ht-ipager { gap: 8px; } .ht-ipager__btn { min-width: 38px; height: 38px; } }
