/**
 * setupcompany.eu — Homepage
 * Built to /DESIGN-HANDOFF.md. Loaded only on the "Homepage" page template.
 *
 * Typeface: Inter (300/400/500/600/700). The mockup file uses Outfit — ignored
 * per the handoff. @font-face lives in the child theme style.css.
 *
 * Section rhythm (grounds):
 *   1 Hero .............. #003399 + dot grid
 *   2 Trigger bar ....... #1a1f2e + diagonal hatch
 *   3 Who we help ....... #f8f7f4
 *   4 Why Bulgaria ...... #ffffff + right-faded dots
 *   5 Pricing .......... #1a1f2e + top-faded dots
 *   6 Trust bar ......... #f8f7f4
 *   7 Final CTA ......... #f8f7f4 page, #003399 block
 */

/* ====================================================================== */
/*  Tokens                                                                 */
/* ====================================================================== */
.setupco-home {
	--eu-blue: #003399;
	--eu-blue-deep: #002673;
	--eu-blue-light: #6f93e8;
	--eu-blue-tint: #e8edf9;
	--eu-blue-tint-bd: #c9d5f0;
	--yellow: #ffcc00;
	--yellow-hover: #e6b800;
	--yellow-pressed: #cca300;
	--ink: #1a1f2e;
	--text-2: #4a5068;
	--text-3: #6b7280;
	--warm: #f8f7f4;
	--white: #ffffff;
	--border: #e6e4de;
	--border-white: #eeedea;
	--border-input: #dcd9d2;
	--on-blue-body: #c0cde6;
	--on-blue-cap: #8fa4cc;
	--on-ink-body: #d5d8e0;
	--on-ink-cap: #a8aebd;
	--maxw: 1240px;
	--pad-x: 24px;
	--sec-y: 104px;

	font-family: var(--setupco-font, "Inter", system-ui, sans-serif);
	color: var(--ink);
	font-weight: 400;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

.setupco-home,
.setupco-home *,
.setupco-home *::before,
.setupco-home *::after {
	box-sizing: border-box;
}

/* ====================================================================== */
/*  Break out of the GeneratePress content container                       */
/* ====================================================================== */
.setupco-homepage #page,
.setupco-homepage #content,
.setupco-homepage .site-content,
.setupco-homepage #primary,
.setupco-homepage #main {
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
}

.setupco-homepage #main {
	display: block;
}

.setupco-homepage .setupco-home {
	margin: 0;
	padding: 0;
	border: 0;
}

/* Light header polish so the site chrome sits with the hero.
   GeneratePress markup is left intact; this only re-grounds it. */
.setupco-homepage .site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(248, 247, 244, 0.9);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--border);
}

.setupco-homepage .site-header .inside-header {
	background: transparent;
}

/* ====================================================================== */
/*  Shared primitives                                                      */
/* ====================================================================== */
.setupco-home h1,
.setupco-home h2,
.setupco-home h3,
.setupco-home p,
.setupco-home ul {
	margin: 0;
}

.sc-section {
	position: relative;
	overflow: hidden;
	padding: var(--sec-y) var(--pad-x);
}

.sc-inner {
	position: relative;
	max-width: var(--maxw);
	margin: 0 auto;
}

.sc-h2 {
	font-size: clamp(34px, 4.4vw, 54px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.04;
	text-wrap: balance;
	max-width: 20ch;
}

.sc-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--eu-blue);
}

.sc-eyebrow--yellow,
.sc-eyebrow--onBlue {
	color: var(--yellow);
}

.sc-eyebrow--onBlue {
	color: var(--on-blue-body);
}

.sc-head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 56px;
}

.sc-head .sc-h2 {
	max-width: 22ch;
}

.sc-head--split {
	display: grid;
	grid-template-columns: minmax(300px, 1.2fr) minmax(260px, 0.8fr);
	gap: 48px;
	align-items: end;
}

.sc-head--split .sc-head__main {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sc-head__aside {
	font-size: 17px;
	line-height: 1.7;
	color: var(--text-2);
	margin-bottom: 6px;
}

.sc-head--onDark .sc-h2 {
	color: var(--white);
	max-width: 16ch;
}

.sc-head--onDark .sc-head__aside {
	color: var(--on-ink-cap);
}

.sc-hl {
	color: var(--yellow);
}

/* ---- Buttons ---------------------------------------------------------- */
.sc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px;
	border: 1.5px solid transparent;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1;
	min-height: 44px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 150ms ease-out, transform 150ms ease-out,
		border-color 150ms ease-out, color 150ms ease-out;
}

.sc-btn:hover {
	text-decoration: none;
}

.sc-btn--primary {
	background: var(--yellow);
	color: var(--ink);
	padding: 17px 30px;
}

.sc-btn--primary:hover {
	background: var(--yellow-hover);
	color: var(--ink);
}

.sc-btn--primary:active {
	background: var(--yellow-pressed);
	transform: translateY(1px);
}

.sc-btn--ghost {
	background: transparent;
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.45);
	padding: 15.5px 30px;
}

.sc-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.14);
	color: var(--white);
}

.sc-btn--ghost:active {
	background: rgba(255, 255, 255, 0.24);
}

.sc-btn--outline {
	background: transparent;
	color: var(--eu-blue);
	border-color: var(--eu-blue);
	padding: 13px 22px;
}

.sc-btn--outline:hover {
	background: var(--eu-blue-tint);
	color: var(--eu-blue);
}

.sc-btn--outline:active {
	background: var(--eu-blue-tint-bd);
	color: var(--eu-blue-deep);
	border-color: var(--eu-blue-deep);
}

.sc-btn--block {
	width: 100%;
	margin-top: 8px;
	padding-top: 13px;
	padding-bottom: 13px;
	font-size: 15px;
}

.sc-tier--featured .sc-btn--block {
	padding-top: 14.5px;
	padding-bottom: 14.5px;
}

.sc-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

/* ---- Cards ----------------------------------------------------------- */
.sc-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--white);
	border-radius: 18px;
	padding: 30px 28px 28px;
	box-shadow: 0 1px 2px rgba(26, 31, 46, 0.04), 0 12px 32px rgba(26, 31, 46, 0.07);
}

.sc-card__title {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.sc-card__body {
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-2);
	flex: 1;
}

.sc-card__link {
	font-size: 14px;
	font-weight: 600;
	color: var(--eu-blue);
	padding-top: 6px;
	border-top: 1px solid var(--border-white);
}

/* ISO country tile — placeholder treatment per handoff (text, not emoji) */
.sc-iso {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 27px;
	border-radius: 3px;
	background: var(--eu-blue-tint);
	border: 1px solid var(--eu-blue-tint-bd);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--eu-blue);
}

/* ---- Grids ---------------------------------------------------------- */
.sc-grid {
	display: grid;
	gap: 20px;
}

.sc-grid--4 {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

/* ---- Focus --------------------------------------------------------- */
.setupco-home a:focus-visible,
.setupco-home button:focus-visible {
	outline: 2px solid var(--eu-blue);
	outline-offset: 2px;
	border-radius: 4px;
}

.sc-hero a:focus-visible,
.sc-trigger a:focus-visible,
.sc-pricing a:focus-visible,
.sc-cta a:focus-visible {
	outline-color: var(--yellow);
}

/* ====================================================================== */
/*  1. Hero                                                                */
/* ====================================================================== */
.sc-hero {
	position: relative;
	overflow: hidden;
	background: var(--eu-blue);
	color: var(--white);
}

.sc-hero__dots {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.16) 1px, transparent 0);
	background-size: 26px 26px;
	opacity: 0.9;
}

.sc-hero__ring {
	position: absolute;
	top: -180px;
	right: -160px;
	width: 620px;
	height: 620px;
	border-radius: 999px;
	border: 90px solid rgba(255, 255, 255, 0.045);
	pointer-events: none;
}

.sc-hero__blob {
	position: absolute;
	bottom: -240px;
	left: 42%;
	width: 460px;
	height: 460px;
	border-radius: 999px;
	background: rgba(255, 204, 0, 0.06);
	pointer-events: none;
}

.sc-hero__wrap {
	position: relative;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 96px var(--pad-x) 0;
}

.sc-hero__grid {
	display: grid;
	grid-template-columns: minmax(320px, 1.45fr) minmax(280px, 1fr);
	gap: 72px;
	align-items: start;
}

.sc-hero__col {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-bottom: 88px;
}

.sc-hero__title {
	font-size: clamp(44px, 6.2vw, 82px);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 0.98;
	color: var(--white);
	max-width: 15ch;
	text-wrap: balance;
}

.sc-eyebrow-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	padding: 7px 16px 7px 8px;
}

.sc-eyebrow-pill__chip {
	background: var(--yellow);
	color: var(--ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: 999px;
}

.sc-eyebrow-pill__text {
	font-size: 13px;
	font-weight: 500;
	color: var(--on-blue-body);
}

.sc-lead {
	display: flex;
	align-items: stretch;
	gap: 20px;
	max-width: 62ch;
}

.sc-lead__rule {
	width: 3px;
	flex: none;
	border-radius: 2px;
	background: var(--yellow);
}

.sc-lead__text {
	font-size: 19px;
	line-height: 1.65;
	color: var(--on-blue-body);
}

/* Right column — glass data card */
.sc-hero__aside {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 18px;
	padding-bottom: 88px;
}

.sc-glass {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 20px;
	padding: 26px 28px;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.sc-glass__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--on-blue-body);
	margin-bottom: 18px;
}

.sc-chart {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sc-chart__row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.sc-chart__label {
	width: 88px;
	flex: none;
	font-size: 13px;
	color: var(--on-blue-body);
}

.sc-chart__row--hl .sc-chart__label {
	color: var(--white);
	font-weight: 500;
}

.sc-chart__bar {
	height: 22px;
	flex: none;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.24);
}

.sc-chart__row--hl .sc-chart__bar {
	background: var(--yellow);
}

.sc-chart__val {
	font-size: 15px;
	font-weight: 600;
	color: var(--on-blue-body);
	font-variant-numeric: tabular-nums;
}

.sc-chart__row--hl .sc-chart__val {
	font-weight: 700;
	color: var(--yellow);
}

.sc-glass__note {
	font-size: 12px;
	line-height: 1.5;
	color: var(--on-blue-body);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	padding-top: 14px;
	margin-top: 18px;
}

.sc-glass--stat {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 22px 28px;
}

.sc-glass__num {
	font-size: 34px;
	font-weight: 700;
	letter-spacing: -0.04em;
	color: var(--white);
	font-variant-numeric: tabular-nums;
}

.sc-glass__cap {
	font-size: 14px;
	line-height: 1.4;
	color: var(--on-blue-body);
}

/* Stat rail on the hero's bottom edge */
.sc-hero__rail {
	position: relative;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.sc-hero__rail-inner {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--pad-x);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.sc-stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 28px;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.sc-stat:first-child {
	padding-left: 0;
}

.sc-stat:last-child {
	border-right: 0;
}

.sc-stat__num {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -0.035em;
	color: var(--white);
	font-variant-numeric: tabular-nums;
}

.sc-stat__label {
	font-size: 13px;
	color: var(--on-blue-body);
}

/* ====================================================================== */
/*  2. Trigger bar                                                         */
/* ====================================================================== */
.sc-trigger {
	position: relative;
	overflow: hidden;
	background: var(--ink);
}

.sc-trigger__hatch {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 14px);
}

.sc-trigger__inner {
	position: relative;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 26px var(--pad-x);
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.sc-trigger__badge {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--yellow);
}

.sc-trigger__dot {
	width: 8px;
	height: 8px;
	flex: none;
	border-radius: 999px;
	background: var(--yellow);
}

.sc-trigger__text {
	flex: 1;
	min-width: 280px;
	font-size: 16px;
	line-height: 1.55;
	color: var(--on-ink-body);
}

.sc-trigger__text strong {
	color: var(--white);
	font-weight: 500;
}

.sc-trigger__link {
	flex: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--yellow);
}

.sc-trigger__link:hover {
	color: var(--yellow);
	text-decoration: underline;
}

/* ====================================================================== */
/*  3. Who we help                                                         */
/* ====================================================================== */
.sc-who {
	background: var(--warm);
}

.sc-who__card {
	color: var(--ink);
	transition: transform 150ms ease-out, box-shadow 150ms ease-out;
}

.sc-who__card:hover {
	color: var(--ink);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(26, 31, 46, 0.08);
}

.sc-who__card:hover .sc-card__link {
	text-decoration: underline;
}

/* ====================================================================== */
/*  4. Why Bulgaria — bento                                                */
/* ====================================================================== */
.sc-why {
	background: var(--white);
}

.sc-why__dots {
	position: absolute;
	top: 0;
	right: 0;
	width: 46%;
	height: 100%;
	pointer-events: none;
	background-image: radial-gradient(circle at 1px 1px, rgba(0, 51, 153, 0.09) 1px, transparent 0);
	background-size: 24px 24px;
	-webkit-mask-image: linear-gradient(to left, #000, transparent);
	mask-image: linear-gradient(to left, #000, transparent);
}

.sc-bento {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
	gap: 20px;
}

.sc-bento__tile {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--warm);
	border-radius: 20px;
	padding: 32px 30px;
}

.sc-bento__tile--wide {
	grid-column: span 2;
	min-width: 0;
}

.sc-bento__tile--feature {
	position: relative;
	overflow: hidden;
	background: var(--eu-blue);
	padding: 38px 36px;
	gap: 12px;
}

.sc-bento__ring {
	position: absolute;
	top: -60px;
	right: -60px;
	width: 220px;
	height: 220px;
	border-radius: 999px;
	border: 34px solid rgba(255, 255, 255, 0.06);
	pointer-events: none;
}

.sc-bento__big {
	position: relative;
	font-size: clamp(48px, 7vw, 76px);
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1;
	color: var(--yellow);
	font-variant-numeric: tabular-nums;
}

.sc-bento__title {
	position: relative;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.sc-bento__tile--feature .sc-bento__title {
	font-size: 21px;
	color: var(--white);
}

.sc-bento__body {
	position: relative;
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-2);
}

.sc-bento__tile--feature .sc-bento__body {
	color: var(--on-blue-body);
	max-width: 46ch;
}

.sc-bento__tile--wide .sc-bento__body {
	max-width: 52ch;
}

/* Abstract data marks — each encodes its tile's fact, per handoff */
.sc-mark {
	display: flex;
	align-items: flex-end;
	height: 44px;
}

.sc-mark--euro,
.sc-mark--num {
	align-items: flex-start;
	height: auto;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--eu-blue);
	font-variant-numeric: tabular-nums;
}

.sc-mark--bars {
	gap: 4px;
	height: 40px;
}

.sc-mark--bars i {
	width: 9px;
	height: 40px;
	border-radius: 2px;
	background: var(--eu-blue);
}

.sc-mark--bars i:last-child {
	background: var(--eu-blue-tint-bd);
}

.sc-mark--ratio {
	gap: 8px;
}

.sc-mark--ratio i:first-child {
	width: 26px;
	height: 44px;
	border-radius: 3px;
	background: var(--eu-blue-tint-bd);
}

.sc-mark--ratio i:last-child {
	width: 26px;
	height: 16px;
	border-radius: 3px;
	background: var(--eu-blue);
}

.sc-mark--route {
	align-items: center;
	width: 100%;
	max-width: 210px;
	gap: 7px;
	height: 44px;
}

.sc-mark--route i {
	width: 11px;
	height: 11px;
	flex: none;
	border-radius: 999px;
	background: var(--eu-blue);
}

.sc-mark--route b {
	flex: 1;
	max-width: 90px;
	height: 2px;
	background: var(--eu-blue-tint-bd);
}

/* ====================================================================== */
/*  5. Pricing                                                             */
/* ====================================================================== */
.sc-pricing {
	background: var(--ink);
	color: var(--white);
}

.sc-pricing__dots {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.08) 1px, transparent 0);
	background-size: 30px 30px;
	-webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000, transparent);
	mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000, transparent);
}

.sc-head--split.sc-head--onDark {
	grid-template-columns: minmax(300px, 1.1fr) minmax(260px, 0.9fr);
}

.sc-tiers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 20px;
	align-items: start;
}

.sc-tier {
	display: flex;
	flex-direction: column;
	gap: 18px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 20px;
	padding: 36px 30px;
}

.sc-tier__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--on-ink-cap);
}

.sc-tier__quote {
	font-size: 15px;
	font-weight: 600;
	color: var(--yellow);
}

.sc-tier__summary {
	font-size: 15px;
	line-height: 1.6;
	color: var(--on-ink-cap);
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.sc-tier__list {
	display: flex;
	flex-direction: column;
	gap: 11px;
	flex: 1;
	list-style: none;
	padding: 0;
}

.sc-tier__list li {
	position: relative;
	padding-left: 22px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--on-ink-body);
}

.sc-tier__list li::before {
	content: "—";
	position: absolute;
	left: 0;
	color: var(--yellow);
}

.sc-tier__list li.is-lead {
	color: var(--white);
	font-weight: 500;
}

/* Featured tier — white card that breaks the row's top line */
.sc-tier--featured {
	position: relative;
	background: var(--white);
	color: var(--ink);
	border: 0;
	padding: 40px 32px;
	margin-top: -12px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.sc-tier__badge {
	position: absolute;
	top: -12px;
	left: 32px;
	background: var(--yellow);
	color: var(--ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 5px 13px;
	border-radius: 999px;
}

.sc-tier--featured .sc-tier__label {
	color: var(--eu-blue);
	margin-top: 4px;
}

.sc-tier--featured .sc-tier__quote {
	color: var(--eu-blue);
}

.sc-tier--featured .sc-tier__summary {
	color: var(--text-2);
	border-bottom-color: var(--border-white);
}

.sc-tier--featured .sc-tier__list li {
	color: var(--text-2);
}

.sc-tier--featured .sc-tier__list li::before {
	color: var(--eu-blue);
}

.sc-tier--featured .sc-tier__list li.is-lead {
	color: var(--ink);
}

/* ====================================================================== */
/*  6. Trust bar                                                           */
/* ====================================================================== */
.sc-trust {
	background: var(--warm);
	padding-top: 64px;
	padding-bottom: 64px;
}

.sc-trust__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 32px;
	align-items: start;
}

.sc-trust__lead {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sc-trust__statement {
	font-size: 17px;
	line-height: 1.55;
	font-weight: 500;
	color: var(--ink);
	max-width: 24ch;
}

.sc-trust__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	border-left: 2px solid var(--border-input);
	padding-left: 20px;
}

.sc-trust__title {
	font-size: 15px;
	font-weight: 600;
}

.sc-trust__detail {
	font-size: 14px;
	line-height: 1.55;
	color: var(--text-2);
}

/* ====================================================================== */
/*  7. Final CTA                                                           */
/* ====================================================================== */
.sc-cta {
	background: var(--warm);
	padding: 0 var(--pad-x) var(--sec-y);
}

.sc-cta__block {
	position: relative;
	overflow: hidden;
	max-width: var(--maxw);
	margin: 0 auto;
	background: var(--eu-blue);
	border-radius: 28px;
	padding: clamp(48px, 7vw, 88px) clamp(32px, 6vw, 80px);
	color: var(--white);
}

.sc-cta__dots {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.15) 1px, transparent 0);
	background-size: 26px 26px;
}

.sc-cta__ring {
	position: absolute;
	bottom: -200px;
	right: -120px;
	width: 520px;
	height: 520px;
	border-radius: 999px;
	border: 80px solid rgba(255, 204, 0, 0.09);
	pointer-events: none;
}

.sc-cta__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(300px, 1.3fr) minmax(240px, 0.7fr);
	gap: 48px;
	align-items: end;
}

.sc-cta__main {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.sc-cta__title {
	font-size: clamp(34px, 5vw, 60px);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1;
	color: var(--white);
	max-width: 15ch;
	text-wrap: balance;
}

.sc-cta__text {
	font-size: 18px;
	line-height: 1.65;
	color: var(--on-blue-body);
	max-width: 52ch;
}

.sc-cta__main .sc-btn-row {
	margin-top: 8px;
}

.sc-cta__aside {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sc-channels {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
}

.sc-channels .sc-channel {
	display: inline-block;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 999px;
	padding: 9px 16px;
	font-size: 14px;
	font-weight: 500;
	color: var(--white);
	text-decoration: none;
	transition: background-color 0.15s, border-color 0.15s;
}

.sc-channels .sc-channel:hover,
.sc-channels .sc-channel:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: var(--yellow);
	color: var(--white);
}

.sc-cta__contact {
	font-size: 15px;
	line-height: 1.6;
	color: var(--on-blue-body);
	padding-top: 8px;
}

.sc-cta__contact a {
	color: var(--on-blue-body);
}

.sc-cta__contact a:hover {
	color: var(--white);
}

/* ====================================================================== */
/*  Responsive — breakpoints 1280 / 1024 / 768 / 480                       */
/* ====================================================================== */
@media (max-width: 1280px) {
	.sc-hero__grid {
		gap: 48px;
	}
}

@media (max-width: 1024px) {
	.setupco-home {
		--sec-y: 64px;
	}

	.sc-hero__wrap {
		padding-top: 64px;
	}

	.sc-head {
		margin-bottom: 40px;
	}
}

@media (max-width: 900px) {
	.sc-tiers {
		grid-template-columns: 1fr;
		max-width: 460px;
		margin: 0 auto;
	}

	.sc-tier--featured {
		margin-top: 0;
		order: -1;
	}
}

@media (max-width: 768px) {
	.setupco-home {
		--sec-y: 48px;
	}

	.sc-hero__wrap {
		padding-top: 48px;
	}

	.sc-hero__grid,
	.sc-head--split,
	.sc-cta__grid {
		grid-template-columns: 1fr;
		gap: 32px;
		align-items: start;
	}

	.sc-hero__col {
		gap: 24px;
		padding-bottom: 40px;
	}

	.sc-hero__aside {
		margin-top: 0;
		padding-bottom: 48px;
	}

	.sc-head__aside {
		margin-bottom: 0;
	}

	.sc-hero__title {
		font-size: clamp(40px, 10vw, 56px);
	}

	.sc-bento__tile--wide {
		grid-column: auto;
	}

	.sc-hero__rail-inner {
		grid-template-columns: 1fr 1fr;
	}

	.sc-stat {
		padding: 20px;
	}

	.sc-stat:nth-child(odd) {
		padding-left: 0;
	}

	.sc-stat:nth-child(even) {
		border-right: 0;
	}

	.sc-trust__item {
		border-left: 0;
		border-top: 2px solid var(--border-input);
		padding-left: 0;
		padding-top: 16px;
	}
}

@media (max-width: 480px) {
	.sc-hero__rail-inner {
		grid-template-columns: 1fr;
	}

	.sc-stat {
		padding: 18px 0;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	}

	.sc-stat:last-child {
		border-bottom: 0;
	}

	.sc-btn {
		width: 100%;
	}

	.sc-btn-row {
		width: 100%;
	}

	.sc-trigger__link {
		flex: 1 0 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.setupco-home * {
		transition-duration: 0.01ms !important;
	}

	.sc-who__card:hover {
		transform: none;
	}
}
