
	:root {
		--diag-blue: #0758c9;
		--diag-blue-dark: #06479e;
		--diag-sky: #eaf7fb;
		--diag-sky-strong: #d9f0f7;
		--diag-coral: #e44a5f;
		--diag-ink: #151b24;
		--diag-muted: #606a76;
		--diag-line: #dfe8ee;
		--diag-white: #ffffff;
		--diag-offwhite: #f7fafc;
		--diag-radius: 30px;
		--diag-shadow: 0 22px 60px rgba(23, 67, 105, 0.12);
	}

	html { scroll-behavior: auto; }
	.diag-home,
	.diag-home * { box-sizing: border-box; }
	.diag-home {
		background: var(--diag-white);
		color: var(--diag-ink);
		font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
		font-size: 17px;
		line-height: 1.65;
		overflow: clip;
	}
	.diag-home a { text-decoration: none; }
	.diag-home img { display: block; max-width: 100%; }
	.diag-home svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; }
	.diag-shell { width: min(1360px, calc(100% - 48px)); margin-inline: auto; }
	.diag-section { position: relative; padding: 112px 0; }
	.diag-section--hero { padding: 26px 0 74px; background: var(--diag-white); }
	.diag-section--packages { background: var(--diag-offwhite); }
	.diag-section--service { background: var(--diag-white); }
	.diag-section--steps { background: var(--diag-sky); }
	.diag-section--about { background: var(--diag-white); }
	.diag-section--cta { padding: 20px 0 112px; background: var(--diag-white); }

	.diag-eyebrow {
		margin: 0 0 17px;
		color: var(--diag-blue);
		font-size: 13px;
		font-weight: 800;
		letter-spacing: 0.13em;
		line-height: 1.2;
		text-transform: uppercase;
	}
	.diag-home h1,
	.diag-home h2,
	.diag-home h3,
	.diag-home p { overflow-wrap: anywhere; }
	.diag-home h1,
	.diag-home h2,
	.diag-home h3 { color: var(--diag-ink); font-family: inherit; font-weight: 750; letter-spacing: -0.04em; }
	.diag-home h1 { margin: 0; font-size: clamp(46px, 5vw, 76px); line-height: 0.98; }
	.diag-home h1 span { color: var(--diag-blue); }
	.diag-home h2 { margin: 0; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.05; }
	.diag-home h3 { margin: 0; font-size: 22px; line-height: 1.15; }

	.diag-hero {
		isolation: isolate;
		position: relative;
		min-height: 675px;
		display: flex;
		align-items: center;
		border: 1px solid #edf1f3;
		border-radius: 38px;
		overflow: hidden;
		background: #f5f1ec;
		box-shadow: 0 32px 80px rgba(23, 53, 73, 0.12);
	}
	.diag-hero__media { position: absolute; inset: 0; z-index: -2; }
	.diag-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; }
	.diag-hero::before {
		content: "";
		position: absolute;
		z-index: -1;
		inset: 0 auto 0 0;
		width: 70%;
		background: rgba(255, 255, 255, 0.86);
	}
	.diag-hero__content { width: min(780px, 66%); padding: 74px 0 74px 76px; }
	.diag-hero__lead { max-width: 570px; margin: 28px 0 34px; color: #46515c; font-size: 20px; line-height: 1.55; }
	.diag-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
	.diag-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-height: 55px;
		padding: 14px 24px;
		border: 1px solid transparent;
		border-radius: 14px;
		font-size: 15px;
		font-weight: 750;
		line-height: 1.15;
		transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
	}
	.diag-button span { font-size: 20px; transition: transform 180ms ease; }
	.diag-hero .diag-actions { flex-wrap: nowrap; gap: 8px; }
	.diag-hero .diag-button { padding-inline: 16px; font-size: 14px; white-space: nowrap; }
	.diag-hero .diag-button span { font-size: 18px; }
	.diag-button:hover { transform: translateY(-3px); }
	.diag-button:hover span { transform: translateX(3px); }
	.diag-button--primary { color: #fff; background: var(--diag-blue); box-shadow: 0 12px 28px rgba(7, 88, 201, 0.22); }
	.diag-button--primary:hover { color: #fff; background: var(--diag-blue-dark); box-shadow: 0 16px 34px rgba(7, 88, 201, 0.29); }
	.diag-button--secondary { color: var(--diag-ink); border-color: #cbd7de; background: rgba(255, 255, 255, 0.76); }
	.diag-button--secondary:hover { color: var(--diag-blue); border-color: var(--diag-blue); background: #fff; }
	.diag-button--packages { color: #fff; border-color: var(--diag-coral); background: var(--diag-coral); box-shadow: 0 12px 28px rgba(228, 74, 95, 0.18); }
	.diag-button--packages:hover { color: #fff; border-color: #c9364b; background: #c9364b; box-shadow: 0 16px 34px rgba(228, 74, 95, 0.26); }
	.diag-hero__note {
		position: absolute;
		right: 34px;
		bottom: 30px;
		display: flex;
		align-items: center;
		gap: 13px;
		max-width: 300px;
		padding: 14px 18px 14px 14px;
		border: 1px solid rgba(255,255,255,.75);
		border-radius: 18px;
		background: rgba(255,255,255,.9);
		box-shadow: 0 16px 40px rgba(24, 53, 73, 0.18);
	}
	.diag-hero__note-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--diag-coral); background: #fff0f2; }
	.diag-hero__note-icon svg { width: 23px; height: 23px; }
	.diag-hero__note span:last-child { color: #68717b; font-size: 12px; line-height: 1.35; }
	.diag-hero__note strong { display: block; margin-bottom: 2px; color: var(--diag-ink); font-size: 14px; }

	.diag-trust {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		margin-top: 20px;
		border: 1px solid var(--diag-line);
		border-radius: 24px;
		background: #fff;
	}
	.diag-trust__item { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 100px; padding: 20px 34px; }
	.diag-trust__item + .diag-trust__item { border-left: 1px solid var(--diag-line); }
	.diag-icon { flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: var(--diag-blue); background: var(--diag-sky); }
	.diag-icon svg { width: 25px; height: 25px; }
	.diag-trust__item:nth-child(2) .diag-icon { color: var(--diag-coral); background: #fff0f2; }
	.diag-trust__item > span:last-child { color: var(--diag-muted); font-size: 14px; line-height: 1.35; }
	.diag-trust__item strong { display: block; margin-bottom: 3px; color: var(--diag-ink); font-size: 16px; }

	.diag-heading { margin-bottom: 48px; }
	.diag-heading--split { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(310px, .7fr); align-items: end; gap: 70px; }
	.diag-heading--split > p { max-width: 490px; margin: 0 0 6px; color: var(--diag-muted); font-size: 17px; }
	.diag-heading--center { max-width: 760px; margin: 0 auto 54px; text-align: center; }
	.diag-heading--center > p:last-child { max-width: 650px; margin: 20px auto 0; color: var(--diag-muted); }

	.diag-package-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px; }
	.diag-package-card {
		isolation: isolate;
		position: relative;
		grid-column: span 5;
		min-height: 390px;
		border-radius: var(--diag-radius);
		overflow: hidden;
		background: #e7eff2;
		box-shadow: 0 10px 30px rgba(23, 67, 105, 0.07);
		transition: transform 240ms ease, box-shadow 240ms ease;
	}
	.diag-package-card--wide { grid-column: span 7; }
	.diag-package-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.7,.2,1); }
	.diag-package-card::after { content: ""; position: absolute; inset: 0; z-index: 0; background: rgba(13, 29, 42, 0.03); pointer-events: none; }
	.diag-package-card__label {
		position: absolute;
		z-index: 1;
		top: 24px;
		left: 24px;
		min-width: 155px;
		padding: 12px 18px 13px;
		border: 1px solid rgba(255,255,255,.8);
		border-radius: 16px;
		background: rgba(255,255,255,.9);
		box-shadow: 0 12px 28px rgba(36, 54, 69, 0.11);
	}
	.diag-package-card__label span { display: block; margin-bottom: 1px; color: var(--diag-blue); font-size: 10px; font-weight: 850; letter-spacing: .12em; line-height: 1.25; text-transform: uppercase; }
	.diag-package-card__label strong { color: var(--diag-ink); font-size: 24px; letter-spacing: -.025em; line-height: 1.1; }
	.diag-package-card__label small { display: block; margin-top: 7px; color: var(--diag-coral); font-size: 14px; font-weight: 850; line-height: 1; }
	.diag-package-card__arrow {
		position: absolute;
		z-index: 1;
		right: 22px;
		bottom: 22px;
		width: 48px;
		height: 48px;
		display: grid;
		place-items: center;
		border-radius: 50%;
		color: #fff;
		background: var(--diag-blue);
		font-size: 23px;
		line-height: 1;
		transition: transform 240ms ease, background-color 240ms ease;
	}
	.diag-package-card:hover { transform: translateY(-8px); box-shadow: var(--diag-shadow); }
	.diag-package-card:hover img { transform: scale(1.035); }
	.diag-package-card:hover .diag-package-card__arrow { transform: rotate(6deg); background: var(--diag-coral); }
	.diag-package-card:nth-child(even) .diag-package-card__arrow { background: var(--diag-coral); }
	.diag-package-card:nth-child(even):hover .diag-package-card__arrow { background: var(--diag-blue); }

	.diag-service-grid { display: grid; grid-template-columns: minmax(0, 1.48fr) minmax(330px, .72fr); gap: 24px; align-items: stretch; }
	.diag-service-card { padding: 58px 62px 60px; border: 1px solid var(--diag-line); border-radius: var(--diag-radius); background: #fff; }
	.diag-service-card__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin: 36px 0 31px; color: var(--diag-muted); }
	.diag-service-card__copy p { margin: 0; }
	.diag-text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--diag-blue); font-size: 15px; font-weight: 800; }
	.diag-text-link span { font-size: 20px; transition: transform 180ms ease; }
	.diag-text-link:hover { color: var(--diag-blue-dark); }
	.diag-text-link:hover span { transform: translateX(4px); }
	.diag-reminder { position: relative; min-height: 100%; padding: 58px 44px; border-radius: var(--diag-radius); overflow: hidden; color: #fff; background: linear-gradient(145deg, var(--diag-blue) 0 70%, #d93f56 70% 100%); }
	.diag-reminder__mark { position: absolute; top: -36px; right: -13px; color: rgba(255,255,255,.11); font-size: 200px; font-weight: 200; line-height: 1; }
	.diag-reminder p { position: relative; margin: 92px 0 4px; font-size: clamp(24px, 2.4vw, 34px); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
	.diag-reminder strong { position: relative; display: block; color: #fff; font-size: clamp(31px, 3.3vw, 47px); letter-spacing: -.05em; line-height: 1.02; }
	.diag-reminder__line { position: absolute; left: 38px; bottom: 32px; width: 210px; color: #fff; opacity: .7; transform: rotate(-3deg); }

	.diag-steps { display: grid; grid-template-columns: repeat(10, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
	.diag-step {
		position: relative;
		grid-column: span 2;
		min-height: 330px;
		padding: 27px 25px 29px;
		border: 1px solid rgba(7, 88, 201, 0.09);
		border-radius: 24px;
		background: rgba(255,255,255,.92);
		box-shadow: 0 14px 36px rgba(7, 72, 121, 0.06);
		transition: transform 220ms ease, box-shadow 220ms ease;
	}
	.diag-step:hover { transform: translateY(-7px); box-shadow: 0 22px 48px rgba(7, 72, 121, 0.13); }
	.diag-step__number { display: block; color: var(--diag-coral); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
	.diag-step__icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 31px 0 26px; border-radius: 17px; color: var(--diag-blue); background: var(--diag-sky); }
	.diag-step__icon svg { width: 29px; height: 29px; }
	.diag-step h3 { min-height: 51px; margin-bottom: 14px; }
	.diag-step p { margin: 0; color: var(--diag-muted); font-size: 14px; line-height: 1.55; }

	.diag-about-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 100px; align-items: start; }
	.diag-about-intro__lead { max-width: 580px; margin: 28px 0 30px; color: var(--diag-muted); font-size: 19px; }
	.diag-about-badge { display: flex; align-items: center; gap: 15px; max-width: 500px; padding: 18px 20px; border: 1px solid var(--diag-line); border-radius: 18px; }
	.diag-about-badge > span { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: var(--diag-blue); font-weight: 850; }
	.diag-about-badge p { margin: 0; color: var(--diag-muted); font-size: 14px; line-height: 1.4; }
	.diag-about-badge strong { display: block; margin-bottom: 2px; color: var(--diag-ink); font-size: 15px; }
	.diag-about-copy { padding-top: 24px; columns: 1; }
	.diag-about-copy p { margin: 0 0 24px; color: var(--diag-muted); }
	.diag-about-copy p:last-child { margin-bottom: 0; }
	.diag-mission { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 70px; margin: 74px 0 0; padding: 46px 54px 48px 92px; border: 0; border-radius: var(--diag-radius); overflow: hidden; color: #fff; background: var(--diag-blue); }
	.diag-mission__quote { position: absolute; top: 23px; left: 31px; color: rgba(255,255,255,.32); font-family: Georgia, serif; font-size: 90px; line-height: 1; }
	.diag-mission p { margin: 0; color: #fff; font-size: clamp(24px, 2.4vw, 35px); font-weight: 650; letter-spacing: -.035em; line-height: 1.2; }
	.diag-mission footer { align-self: center; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.65; }

	.diag-cta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 56px 62px; border-radius: var(--diag-radius); overflow: hidden; color: #fff; background: var(--diag-ink); }
	.diag-cta::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 7px; background: var(--diag-coral); }
	.diag-cta .diag-eyebrow { color: #ff91a0; }
	.diag-cta h2 { max-width: 720px; color: #fff; font-size: clamp(35px, 4vw, 58px); }
	.diag-cta .diag-actions { justify-content: flex-end; flex: 0 0 auto; }
	.diag-button--light { color: var(--diag-blue); background: #fff; }
	.diag-button--light:hover { color: var(--diag-blue-dark); background: var(--diag-sky); }
	.diag-button--ghost { color: #fff; border-color: rgba(255,255,255,.3); background: transparent; }
	.diag-button--ghost:hover { color: #fff; border-color: #fff; background: rgba(255,255,255,.07); }

	.diag-motion .diag-reveal { opacity: 0; transform: translateY(28px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.7,.2,1); }
	.diag-motion .diag-reveal.diag-in-view { opacity: 1; transform: translateY(0); }
	.diag-motion .diag-package-grid .diag-reveal:nth-child(2),
	.diag-motion .diag-steps .diag-reveal:nth-child(2) { transition-delay: 70ms; }
	.diag-motion .diag-package-grid .diag-reveal:nth-child(3),
	.diag-motion .diag-steps .diag-reveal:nth-child(3) { transition-delay: 140ms; }
	.diag-motion .diag-package-grid .diag-reveal:nth-child(4),
	.diag-motion .diag-steps .diag-reveal:nth-child(4) { transition-delay: 70ms; }
	.diag-motion .diag-package-grid .diag-reveal:nth-child(5),
	.diag-motion .diag-steps .diag-reveal:nth-child(5) { transition-delay: 140ms; }

	@media (max-width: 1180px) {
		.diag-hero { min-height: 620px; }
		.diag-hero__content { width: 70%; padding-left: 52px; }
		.diag-hero::before { width: 74%; }
		.diag-hero__note { right: 22px; bottom: 20px; }
		.diag-package-card { min-height: 350px; }
		.diag-steps { grid-template-columns: repeat(6, 1fr); }
		.diag-step { grid-column: span 2; }
		.diag-step:nth-child(4) { grid-column: 2 / span 2; }
		.diag-step:nth-child(5) { grid-column: span 2; }
		.diag-cta { align-items: flex-start; flex-direction: column; }
		.diag-cta .diag-actions { justify-content: flex-start; }
	}

	@media (max-width: 900px) {
		.diag-shell { width: min(100% - 32px, 760px); }
		.diag-section { padding: 84px 0; }
		.diag-section--hero { padding: 16px 0 58px; }
		.diag-section--cta { padding: 12px 0 84px; }
		.diag-hero { display: grid; min-height: 0; padding: 0; background: #fff; }
		.diag-hero::before { display: none; }
		.diag-hero__content { order: 1; width: 100%; padding: 48px 40px 40px; }
		.diag-hero__media { position: relative; order: 2; aspect-ratio: 16 / 10; }
		.diag-hero__media img { object-position: 62% 48%; }
		.diag-hero__note { right: 20px; bottom: 20px; }
		.diag-trust { grid-template-columns: 1fr; }
		.diag-trust__item { justify-content: flex-start; min-height: 86px; padding: 17px 25px; }
		.diag-trust__item + .diag-trust__item { border-top: 1px solid var(--diag-line); border-left: 0; }
		.diag-heading--split { grid-template-columns: 1fr; gap: 24px; }
		.diag-package-card,
		.diag-package-card--wide { grid-column: span 6; min-height: 330px; }
		.diag-service-grid,
		.diag-about-grid { grid-template-columns: 1fr; gap: 24px; }
		.diag-service-card { padding: 46px 40px 48px; }
		.diag-service-card__copy { grid-template-columns: 1fr; gap: 16px; }
		.diag-reminder { min-height: 390px; }
		.diag-about-grid { gap: 46px; }
		.diag-about-copy { padding-top: 0; }
		.diag-mission { grid-template-columns: 1fr; gap: 24px; padding: 48px 40px 45px 78px; }
	}

	@media (max-width: 680px) {
		.diag-home { font-size: 16px; }
		.diag-shell { width: min(100% - 24px, 520px); }
		.diag-section { padding: 68px 0; }
		.diag-section--hero { padding: 12px 0 44px; }
		.diag-section--cta { padding: 4px 0 68px; }
		.diag-home h1 { font-size: clamp(39px, 12.5vw, 55px); }
		.diag-home h2 { font-size: clamp(34px, 10.2vw, 48px); }
		.diag-hero { border-radius: 26px; }
		.diag-hero__content { padding: 38px 24px 31px; }
		.diag-hero__lead { margin: 22px 0 28px; font-size: 17px; }
		.diag-actions,
		.diag-hero .diag-actions { align-items: stretch; flex-direction: column; }
		.diag-button { width: 100%; }
		.diag-hero__media { aspect-ratio: 4 / 3; }
		.diag-hero__media img { object-position: 66% 48%; }
		.diag-hero__note { right: 12px; bottom: 12px; left: 12px; max-width: none; }
		.diag-heading { margin-bottom: 34px; }
		.diag-package-grid { grid-template-columns: 1fr; gap: 14px; }
		.diag-package-card,
		.diag-package-card--wide { grid-column: 1; min-height: 292px; border-radius: 23px; }
		.diag-package-card__label { top: 16px; left: 16px; min-width: 140px; padding: 10px 15px 11px; }
		.diag-package-card__label strong { font-size: 21px; }
		.diag-package-card__arrow { right: 16px; bottom: 16px; width: 44px; height: 44px; }
		.diag-service-card { padding: 37px 24px 40px; border-radius: 24px; }
		.diag-service-card__copy { margin: 28px 0 25px; }
		.diag-reminder { min-height: 340px; padding: 42px 28px; border-radius: 24px; }
		.diag-reminder p { margin-top: 100px; }
		.diag-reminder__line { left: 25px; bottom: 26px; }
		.diag-steps { grid-template-columns: 1fr; gap: 13px; }
		.diag-step,
		.diag-step:nth-child(4),
		.diag-step:nth-child(5) { grid-column: 1; min-height: 0; display: grid; grid-template-columns: auto 1fr; column-gap: 18px; padding: 23px 22px 24px; }
		.diag-step__number { grid-column: 1; grid-row: 1; }
		.diag-step__icon { grid-column: 1; grid-row: 2 / span 2; margin: 17px 0 0; }
		.diag-step h3 { grid-column: 2; grid-row: 1 / span 2; align-self: end; min-height: 0; margin: 0 0 10px; padding-top: 6px; }
		.diag-step p { grid-column: 2; grid-row: 3; }
		.diag-about-intro__lead { font-size: 17px; }
		.diag-mission { margin-top: 52px; padding: 63px 25px 35px; border-radius: 24px; }
		.diag-mission__quote { top: 10px; left: 24px; }
		.diag-cta { padding: 42px 24px; border-radius: 24px; }
	}

	@media (prefers-reduced-motion: reduce) {
		html { scroll-behavior: auto; }
		.diag-home *,
		.diag-home *::before,
		.diag-home *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
		.diag-motion .diag-reveal { opacity: 1; transform: none; }
	}
