/*
Theme Name: DichLaChuan
Theme URI: https://dichlachuan.com/
Author: DichLaChuan
Author URI: https://dichlachuan.com/
Description: Custom hybrid WordPress theme cho hệ thống dịch thuật DichLaChuan.
Version: 4.9.22
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: dichlachuan
Domain Path: /languages
Tags: custom-logo, custom-menu, featured-images, block-styles, wide-blocks, translation-ready, rtl-language-support
*/

/* Production styles are loaded before this final brand and compatibility layer. */
.desktop-navigation .primary-menu > .menu-item > .menu-item__row > a {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -.014em;
}

.site-header__inner {
	grid-template-columns: minmax(210px, 280px) minmax(0, 1fr) auto;
}

.site-logo,
.custom-logo-link {
	flex: 0 1 auto;
	max-width: 100%;
}

.site-logo img,
.custom-logo {
	width: min(100%, 260px);
	max-width: 260px;
	height: auto;
	max-height: 68px;
	object-fit: contain;
	object-position: left center;
}

.mobile-drawer__head .site-logo img { width: min(100%, 210px); max-height: 56px; }
.footer-brand .site-logo img { width: min(100%, 250px); max-height: 64px; }
html[data-theme="dark"] .site-logo__light { display: none; }
html[data-theme="dark"] .site-logo__dark { display: block; }

/* Content must remain visible even when JavaScript, observers or newer CSS APIs are unavailable. */
[data-reveal],
.js [data-reveal],
.js [data-reveal].is-visible,
.js [data-reveal]:not(.is-visible) {
	opacity: 1 !important;
	visibility: visible !important;
	clip-path: none !important;
	filter: none !important;
	transform: none !important;
}

@supports not (width: min(100%, 260px)) {
	.container { width: 94%; max-width: 1260px; }
	.site-logo img { width: 230px; max-width: 100%; }
}

@supports not (font-size: clamp(1rem, 2vw, 2rem)) {
	h1 { font-size: 48px; }
	h2 { font-size: 36px; }
	h3 { font-size: 26px; }
	@media (max-width: 620px) {
		h1 { font-size: 38px; }
		h2 { font-size: 30px; }
		h3 { font-size: 22px; }
	}
}

@media (max-width: 1180px) {
	.site-header__inner { grid-template-columns: minmax(180px, 230px) minmax(0, 1fr) auto; }
}

@media (max-width: 820px) {
	.site-logo img, .custom-logo { width: min(100%, 190px); max-height: 52px; }
}

/* V4.7.9 COMPANY PALETTE + EQUAL CARDS + ZERO SCROLL ANIMATION */
:root {
	--navy: #002a72 !important;
	--navy-2: #002a72 !important;
	--blue: #0c66ff !important;
	--bright-blue: #0c66ff !important;
	--teal: #0c66ff !important;
	--accent: #0c66ff !important;
	--accent-dark: #002a72 !important;
	--violet: #0c66ff !important;
	--heading: #002a72 !important;
	--text: #002a72 !important;
	--muted: rgba(0, 42, 114, .72) !important;
	--surface: #ffffff !important;
	--surface-2: #ffffff !important;
	--cloud: #ffffff !important;
	--soft-blue: rgba(12, 102, 255, .07) !important;
	--border: rgba(0, 42, 114, .14) !important;
	--border-strong: rgba(0, 42, 114, .28) !important;
}

html { scroll-behavior: auto !important; }

/* No scroll reveal, parallax, page-settle, marquee or breathing animation. */
*, *::before, *::after { animation: none !important; }
[data-reveal],
.js [data-reveal],
.js [data-reveal]:not(.is-visible),
.js [data-reveal].is-visible,
[data-parallax],
.motion-image,
.motion-image > img,
.is-pointer-aware > img,
.is-pointer-aware figure > img {
	opacity: 1 !important;
	visibility: visible !important;
	clip-path: none !important;
	filter: none !important;
	transform: none !important;
	transition: none !important;
	will-change: auto !important;
}

.site-shell,
.format-strip__track,
.highlight-banner::after,
.about-full-banner > img,
.menu-item.is-open > .mega-menu {
	animation: none !important;
}

.reading-progress { display: none !important; }

.format-strip__track {
	width: 100% !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
}

.format-strip__track [aria-hidden="true"] { display: none !important; }

/* Subtle, consistent motion only on direct hover; never depends on scrolling. */
.button,
.icon-button,
.dlc-content-card,
.dlc-content-card__media img,
.story,
.story__media img {
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
	.button:hover { transform: translateY(-1px) !important; }
	.dlc-content-card:hover,
	.story:hover { transform: translateY(-2px) !important; }
	.dlc-content-card:hover .dlc-content-card__media img,
	.story:hover .story__media img { transform: scale(1.015) !important; }
}

/* Header and hero: professional two-blue system, no green/purple/orange accents. */
.utility-bar,
.site-header,
.site-footer { background: #002a72 !important; }

.site-header {
	border-color: rgba(255, 255, 255, .14) !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .08) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.site-header .site-logo__light { display: none !important; }
.site-header .site-logo__dark { display: block !important; }

.site-header .primary-menu > li > .menu-item__row > a,
.site-header .submenu-toggle,
.site-header .header-tool-link,
.site-header .menu-toggle,
.site-header .icon-button { color: #ffffff !important; }

.site-header .icon-button,
.site-header .menu-toggle {
	border-color: rgba(255, 255, 255, .18) !important;
	background: rgba(255, 255, 255, .06) !important;
}

.site-header .primary-menu > li:hover > .menu-item__row > a,
.site-header .primary-menu > li.current-menu-item > .menu-item__row > a,
.site-header .primary-menu > li.current-menu-ancestor > .menu-item__row > a,
.site-header .icon-button:hover,
.site-header .menu-toggle:hover {
	background: #0c66ff !important;
	color: #ffffff !important;
}

.hero-section {
	background:
		radial-gradient(circle at 82% 18%, rgba(12, 102, 255, .58), transparent 34%),
		linear-gradient(120deg, #002a72 0%, #002a72 44%, #0c66ff 100%) !important;
}

.hero-section h1,
.hero-section p,
.hero-section li,
.hero-section strong { color: #ffffff !important; }
.hero-section .accent-word--blue { color: #ffffff !important; }
.hero-section .accent-word--teal { color: #ffffff !important; opacity: .82; }
.hero-section .hero-brand strong { background: #000000 !important; color: #ffffff !important; }
.hero-section .hero-brand span { color: #ffffff !important; }

.hero-photo-story__card,
.hero-photo-story figcaption {
	background: rgba(255, 255, 255, .90) !important;
	border-color: rgba(255, 255, 255, .42) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.hero-photo-story__card *,
.hero-photo-story figcaption * { color: #002a72 !important; }
.hero-photo-story figcaption > span { background: #0c66ff !important; }

/* The former purple technology section is now a restrained navy glass section. */
.section--gradient,
.editorial-review-section {
	background:
		radial-gradient(circle at 18% 15%, rgba(12, 102, 255, .48), transparent 34%),
		radial-gradient(circle at 82% 78%, rgba(12, 102, 255, .28), transparent 30%),
		#002a72 !important;
	color: #ffffff !important;
}

.section--gradient h1,
.section--gradient h2,
.section--gradient h3,
.section--gradient p,
.section--gradient span,
.editorial-review-section h1,
.editorial-review-section h2,
.editorial-review-section h3,
.editorial-review-section p { color: #ffffff !important; }

.section--gradient .accent-word,
.section--gradient .accent-word--gold,
.section--gradient .accent-word--teal,
.section--gradient .accent-word--coral,
.section--gradient .multicolor-heading span { color: #ffffff !important; }

.section--gradient .eyebrow,
.section--gradient .technology-points span { color: #0c66ff !important; }

.technology-showcase {
	gap: clamp(18px, 3vw, 34px) !important;
}

.technology-points article {
	padding: 20px !important;
	border: 1px solid rgba(255, 255, 255, .16) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, .07) !important;
	text-align: left !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.technology-points--left article {
	padding: 20px !important;
	border: 1px solid rgba(255, 255, 255, .16) !important;
	text-align: left !important;
}

.technology-photo,
.technology-photo img {
	border-color: rgba(255, 255, 255, .18) !important;
	box-shadow: 0 22px 60px rgba(0, 0, 0, .24) !important;
}

/* All service cards are siblings: identical width, image ratio, typography and height. */
.home-services .dlc-service-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-auto-rows: 1fr !important;
	gap: 22px !important;
}

.home-services .dlc-service-grid > .dlc-content-card,
.home-services .dlc-service-grid > .dlc-content-card:nth-child(1),
.home-services .dlc-service-grid > .dlc-content-card:nth-child(2),
.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) {
	display: flex !important;
	grid-column: auto !important;
	flex-direction: column !important;
	min-width: 0 !important;
	height: 100% !important;
	border: 1px solid rgba(0, 42, 114, .14) !important;
	border-radius: 18px !important;
	background: rgba(255, 255, 255, .94) !important;
	box-shadow: 0 14px 36px rgba(0, 42, 114, .08) !important;
}

.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) .dlc-content-card__media,
.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) .dlc-content-card__symbol {
	width: 100% !important;
	aspect-ratio: 16 / 10 !important;
	min-height: 0 !important;
	background: rgba(12, 102, 255, .07) !important;
}

.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) .dlc-content-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) .dlc-content-card__body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	padding: 24px !important;
}

.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) h3,
.home-services .dlc-service-grid > .dlc-content-card:first-child h3 {
	min-height: 2.7em !important;
	margin: 6px 0 10px !important;
	color: #002a72 !important;
	font-size: 23px !important;
	line-height: 1.35 !important;
	letter-spacing: -.025em !important;
}

.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) p {
	color: rgba(0, 42, 114, .82) !important;
}

.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) .dlc-text-link {
	margin-top: auto !important;
	color: #0c66ff !important;
}

/* Consistent brand accents everywhere. */
.button--primary,
.header-cta,
.floating-contact a,
.scroll-top { background: #0c66ff !important; border-color: #0c66ff !important; color: #ffffff !important; }

.button--secondary,
.button--accent { background: #ffffff !important; border-color: rgba(255, 255, 255, .42) !important; color: #002a72 !important; }

.section--white,
.section--soft { background: #ffffff !important; }

.section--navy,
.final-cta,
.highlight-section--blue .highlight-banner,
.format-strip { background: #002a72 !important; color: #ffffff !important; }

.section--navy *,
.final-cta *,
.highlight-section--blue .highlight-banner *,
.format-strip * { color: #ffffff !important; }

.eyebrow,
.dlc-card-kicker,
.dlc-text-link,
.text-link { color: #0c66ff !important; }

/* Dark mode keeps the same two approved blues and white. */
html[data-theme="dark"] {
	--heading: #ffffff !important;
	--text: #ffffff !important;
	--muted: rgba(255, 255, 255, .78) !important;
	--surface: #002a72 !important;
	--surface-2: #002a72 !important;
	--cloud: #002a72 !important;
	--soft-blue: rgba(255, 255, 255, .08) !important;
	--border: rgba(255, 255, 255, .18) !important;
	--border-strong: rgba(255, 255, 255, .32) !important;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .section--white,
html[data-theme="dark"] .section--soft { background: #002a72 !important; color: #ffffff !important; }

html[data-theme="dark"] .home-services .dlc-content-card {
	background: rgba(255, 255, 255, .07) !important;
	border-color: rgba(255, 255, 255, .18) !important;
}

html[data-theme="dark"] .home-services .dlc-content-card h3,
html[data-theme="dark"] .home-services .dlc-content-card p { color: #ffffff !important; }

@media (max-width: 980px) {
	.home-services .dlc-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
	.home-services .dlc-service-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
	.home-services .dlc-service-grid > .dlc-content-card:nth-child(n) h3 { min-height: 0 !important; font-size: 22px !important; }
	.technology-points { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}


/* V4.7.9 VISUAL CONTRAST PASS
 * One predictable light theme, centered section headings, clear section separation,
 * explicit text colors and buttons that remain readable in every component. */
html,
html[data-theme="light"],
html[data-theme="dark"] {
	color-scheme: light !important;
	--navy: #002a72 !important;
	--navy-2: #002a72 !important;
	--blue: #0c66ff !important;
	--bright-blue: #0c66ff !important;
	--teal: #0c66ff !important;
	--accent: #0c66ff !important;
	--accent-dark: #002a72 !important;
	--violet: #0c66ff !important;
	--heading: #002a72 !important;
	--text: #002a72 !important;
	--muted: rgba(0, 42, 114, .72) !important;
	--surface: #ffffff !important;
	--surface-2: #ffffff !important;
	--cloud: #ffffff !important;
	--soft-blue: rgba(12, 102, 255, .07) !important;
	--border: rgba(0, 42, 114, .15) !important;
	--border-strong: rgba(0, 42, 114, .30) !important;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .section--white,
html[data-theme="dark"] .section--soft,
html[data-theme="dark"] .section--mint {
	background: #ffffff !important;
	color: #002a72 !important;
}

.theme-toggle { display: none !important; }

body,
.front-page {
	background: #ffffff !important;
	color: #002a72 !important;
	font-family: "Be Vietnam Pro", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Center every normal homepage section title and restore the missing eyebrow text. */
.front-page .section-heading {
	display: flex !important;
	max-width: 920px !important;
	align-items: center !important;
	flex-direction: column !important;
	margin: 0 auto clamp(34px, 5vw, 56px) !important;
	text-align: center !important;
}

.front-page .section-heading .eyebrow {
	justify-content: center !important;
	margin: 0 0 12px !important;
	color: #0c66ff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}

.front-page .section-heading h2 {
	max-width: 900px !important;
	margin: 0 !important;
	color: #002a72 !important;
	font-size: clamp(34px, 4vw, 54px) !important;
	font-weight: 800 !important;
	line-height: 1.13 !important;
	letter-spacing: -.035em !important;
	-webkit-text-fill-color: currentColor !important;
}

.front-page .section-heading__description,
.front-page .section-heading > p:last-child {
	max-width: 760px !important;
	margin: 18px auto 0 !important;
	color: rgba(0, 42, 114, .76) !important;
	font-size: 17px !important;
	line-height: 1.75 !important;
	text-align: center !important;
}

/* Alternating backgrounds create visible boundaries without introducing other hues. */
.front-page .mtpe-focus-section,
.front-page .spec-comparison-section,
.front-page .home-industries,
.front-page .home-cases,
.front-page .home-pricing,
.front-page .home-faq,
.front-page .home-news {
	background:
		linear-gradient(rgba(12, 102, 255, .055), rgba(12, 102, 255, .055)),
		#ffffff !important;
}

.front-page .home-services,
.front-page .home-process,
.front-page .trust-section,
.front-page .spec-testimonials,
.front-page .home-security {
	background: #ffffff !important;
}

.front-page .section + .section,
.front-page .highlight-section + .section,
.front-page .section + .highlight-section {
	border-top: 1px solid rgba(0, 42, 114, .08);
}

/* Explicit light-section typography prevents white-on-white text. */
.front-page .section--white h1,
.front-page .section--white h2,
.front-page .section--white h3,
.front-page .section--white h4,
.front-page .section--soft h1,
.front-page .section--soft h2,
.front-page .section--soft h3,
.front-page .section--soft h4,
.front-page .section--mint h1,
.front-page .section--mint h2,
.front-page .section--mint h3,
.front-page .section--mint h4 {
	color: #002a72 !important;
	-webkit-text-fill-color: currentColor !important;
}

.front-page .section--white p,
.front-page .section--white li,
.front-page .section--soft p,
.front-page .section--soft li,
.front-page .section--mint p,
.front-page .section--mint li {
	color: rgba(0, 42, 114, .80) !important;
}

/* Hero uses three clear levels: white title, pale-blue supporting line and muted body. */
.front-page .hero-section {
	background:
		radial-gradient(circle at 84% 20%, rgba(12, 102, 255, .68), transparent 36%),
		linear-gradient(118deg, #002a72 0%, #002a72 52%, #0c66ff 100%) !important;
}

.front-page .hero-copy h1,
.front-page .hero-copy h1 .hero-line:first-child {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.front-page .hero-copy h1 .accent-word--blue {
	color: rgba(255, 255, 255, .76) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, .76) !important;
}

.front-page .hero-copy h1 .accent-word--teal {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	opacity: 1 !important;
}

.front-page .hero-lead,
.front-page .hero-proof li {
	color: rgba(255, 255, 255, .86) !important;
}

.front-page .hero-actions .button--primary {
	border: 2px solid #ffffff !important;
	background: #ffffff !important;
	color: #002a72 !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .18) !important;
}

.front-page .hero-actions .button--primary *,
.front-page .hero-actions .button--secondary * {
	color: inherit !important;
}

.front-page .hero-actions .button--secondary {
	border: 2px solid rgba(255, 255, 255, .72) !important;
	background: rgba(0, 42, 114, .38) !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.front-page .hero-actions .button--primary:hover {
	background: rgba(255, 255, 255, .90) !important;
}

.front-page .hero-actions .button--secondary:hover {
	border-color: #ffffff !important;
	background: #0c66ff !important;
}

/* Service cards: all light cards use dark text, equal hierarchy and visible links. */
.front-page .home-services .dlc-service-grid > .dlc-content-card,
.front-page .home-services .dlc-service-grid > .dlc-content-card:nth-child(n),
html[data-theme="dark"] .front-page .home-services .dlc-service-grid > .dlc-content-card:nth-child(n) {
	border: 1px solid rgba(0, 42, 114, .14) !important;
	background: #ffffff !important;
	box-shadow: 0 14px 34px rgba(0, 42, 114, .09) !important;
}

.front-page .home-services .dlc-content-card__body,
html[data-theme="dark"] .front-page .home-services .dlc-content-card__body {
	background: #ffffff !important;
}

.front-page .home-services .dlc-content-card h3,
.front-page .home-services .dlc-content-card h3 a,
html[data-theme="dark"] .front-page .home-services .dlc-content-card h3,
html[data-theme="dark"] .front-page .home-services .dlc-content-card h3 a {
	color: #002a72 !important;
	-webkit-text-fill-color: #002a72 !important;
}

.front-page .home-services .dlc-content-card p,
html[data-theme="dark"] .front-page .home-services .dlc-content-card p {
	color: rgba(0, 42, 114, .80) !important;
}

.front-page .home-services .dlc-card-kicker,
.front-page .home-services .dlc-text-link,
.front-page .home-services .dlc-text-link span,
html[data-theme="dark"] .front-page .home-services .dlc-card-kicker,
html[data-theme="dark"] .front-page .home-services .dlc-text-link,
html[data-theme="dark"] .front-page .home-services .dlc-text-link span {
	color: #0c66ff !important;
}

.front-page .home-services .section-action {
	margin-top: 34px !important;
	text-align: center !important;
}

.front-page .home-services .section-action .text-link {
	display: inline-flex !important;
	min-height: 48px !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 11px 20px !important;
	border: 1px solid #0c66ff !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	color: #0c66ff !important;
	text-decoration: none !important;
}

/* Generic light cards get a clear outline instead of blending into the section. */
.front-page .process-grid article,
.front-page .trust-factors article,
.front-page .spec-directory-grid article,
.front-page .spec-case-grid article,
.front-page .spec-testimonial-grid blockquote,
.front-page .plan-grid article,
.front-page .pricing-grid article,
.front-page .faq-list,
.front-page .story,
.front-page .dlc-news-card {
	border: 1px solid rgba(0, 42, 114, .13) !important;
	background: #ffffff !important;
	box-shadow: 0 12px 30px rgba(0, 42, 114, .07) !important;
}

/* Dark technology section: centered heading, blue-white hierarchy and readable CTA. */
.front-page .editorial-review-section,
.front-page .section--gradient {
	background:
		radial-gradient(circle at 18% 18%, rgba(12, 102, 255, .56), transparent 35%),
		radial-gradient(circle at 82% 82%, rgba(12, 102, 255, .30), transparent 34%),
		#002a72 !important;
}

.front-page .technology-heading {
	max-width: 930px !important;
	margin: 0 auto clamp(42px, 6vw, 70px) !important;
	text-align: center !important;
}

.front-page .technology-heading .eyebrow {
	justify-content: center !important;
	color: rgba(255, 255, 255, .76) !important;
}

.front-page .technology-heading h2,
.front-page .technology-heading h2 span:first-child {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.front-page .technology-heading h2 .accent-word,
.front-page .technology-heading h2 .accent-word--gold {
	color: rgba(255, 255, 255, .72) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

.front-page .technology-heading > p:last-child {
	max-width: 760px !important;
	margin: 20px auto 0 !important;
	color: rgba(255, 255, 255, .82) !important;
}

.front-page .technology-points article {
	border: 1px solid rgba(255, 255, 255, .18) !important;
	background: rgba(255, 255, 255, .08) !important;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .12) !important;
}

.front-page .technology-points article h3,
.front-page .technology-points article p,
.front-page .technology-photo figcaption strong,
.front-page .technology-photo figcaption span {
	color: #ffffff !important;
}

.front-page .technology-points article > span {
	color: rgba(255, 255, 255, .70) !important;
}

.front-page .technology-action {
	text-align: center !important;
}

.front-page .technology-action .button--light,
.front-page .technology-action .button--light *,
.front-page .editorial-review-section .button--light,
.front-page .editorial-review-section .button--light * {
	border-color: #ffffff !important;
	background: #ffffff !important;
	color: #002a72 !important;
}

/* The three-step overlay explains itself before listing actions. */
.hero-photo-story__card {
	display: grid !important;
	gap: 0 !important;
	overflow: hidden;
}

.hero-photo-story__card > small {
	display: block;
	padding: 12px 16px 9px;
	border-bottom: 1px solid rgba(0, 42, 114, .12);
	color: #526781 !important;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.hero-photo-story__card > span {
	display: grid !important;
	grid-template-columns: 30px 1fr;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.hero-photo-story__card > span b {
	color: #0c66ff !important;
	font-size: .72rem;
}

/* Highlight CTA 1: dark panel, centered message and an unmistakable white button. */
.front-page .highlight-section--blue {
	background: #ffffff !important;
}

.front-page .highlight-section--blue .highlight-banner {
	grid-template-columns: 82px minmax(0, 1fr) minmax(190px, auto) !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	background: linear-gradient(130deg, #002a72 0%, #0c66ff 100%) !important;
	box-shadow: 0 24px 64px rgba(0, 42, 114, .20) !important;
}

.front-page .highlight-section--blue .highlight-banner > div:nth-child(2) {
	text-align: center !important;
}

.front-page .highlight-section--blue .highlight-banner .eyebrow {
	justify-content: center !important;
	color: rgba(255, 255, 255, .78) !important;
}

.front-page .highlight-section--blue .highlight-banner h2,
.front-page .highlight-section--blue .highlight-banner p {
	margin-right: auto !important;
	margin-left: auto !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.front-page .highlight-section--blue .highlight-banner .button--light,
.front-page .highlight-section--blue .highlight-banner .button--light * {
	border: 2px solid #ffffff !important;
	background: #ffffff !important;
	color: #002a72 !important;
	-webkit-text-fill-color: #002a72 !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .16) !important;
}

/* Highlight CTA 2: light panel with dark text so it is visually different from CTA 1. */
.front-page .highlight-section--warm {
	background:
		linear-gradient(rgba(12, 102, 255, .055), rgba(12, 102, 255, .055)),
		#ffffff !important;
}

.front-page .highlight-section--warm .highlight-banner--warm {
	grid-template-columns: 82px minmax(0, 1fr) minmax(190px, auto) !important;
	border: 2px solid rgba(12, 102, 255, .20) !important;
	background: #ffffff !important;
	color: #002a72 !important;
	box-shadow: 0 20px 52px rgba(0, 42, 114, .10) !important;
}

.front-page .highlight-section--warm .highlight-banner--warm > div:nth-child(2) {
	text-align: center !important;
}

.front-page .highlight-section--warm .highlight-banner--warm .highlight-banner__mark {
	border-color: rgba(12, 102, 255, .20) !important;
	background: rgba(12, 102, 255, .10) !important;
	color: #0c66ff !important;
}

.front-page .highlight-section--warm .highlight-banner--warm .eyebrow {
	justify-content: center !important;
	color: #0c66ff !important;
}

.front-page .highlight-section--warm .highlight-banner--warm h2,
.front-page .highlight-section--warm .highlight-banner--warm p {
	margin-right: auto !important;
	margin-left: auto !important;
	color: #002a72 !important;
	-webkit-text-fill-color: #002a72 !important;
}

.front-page .highlight-section--warm .highlight-banner--warm .button--dark,
.front-page .highlight-section--warm .highlight-banner--warm .button--dark * {
	border: 2px solid #002a72 !important;
	background: #002a72 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* All standard buttons receive explicit foreground/background pairs. */
.front-page .button {
	min-height: 48px !important;
	border-width: 2px !important;
	font-weight: 800 !important;
}

.front-page .button--primary,
.front-page .button--accent,
.front-page .header-cta {
	border-color: #0c66ff !important;
	background: #0c66ff !important;
	color: #ffffff !important;
}

.front-page .button--primary *,
.front-page .button--accent *,
.front-page .header-cta * {
	color: inherit !important;
}

.front-page .button--secondary {
	border-color: #002a72 !important;
	background: #ffffff !important;
	color: #002a72 !important;
}

.front-page .button--secondary * {
	color: inherit !important;
}

.front-page .button--outline-light,
.front-page .button--outline-light * {
	border-color: rgba(255, 255, 255, .72) !important;
	background: transparent !important;
	color: #ffffff !important;
}

/* Final CTA is centered and both actions are visible. */
.front-page .final-cta {
	background: linear-gradient(130deg, #002a72 0%, #0c66ff 100%) !important;
}

.front-page .final-cta__inner {
	grid-template-columns: 1fr !important;
	max-width: 980px !important;
	justify-items: center !important;
	margin: 0 auto !important;
	text-align: center !important;
}

.front-page .final-cta__inner .eyebrow {
	justify-content: center !important;
	color: rgba(255, 255, 255, .76) !important;
}

.front-page .final-cta__inner h2,
.front-page .final-cta__inner p {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.front-page .final-cta__inner > div:last-child {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 12px !important;
}

.front-page .final-cta .button--accent,
.front-page .final-cta .button--accent * {
	border-color: #ffffff !important;
	background: #ffffff !important;
	color: #002a72 !important;
}

.front-page .final-cta .button--outline-light,
.front-page .final-cta .button--outline-light * {
	border-color: #ffffff !important;
	background: transparent !important;
	color: #ffffff !important;
}

/* Split-layout headings stay left because the image is the other half of the composition. */
.front-page .home-security h2 {
	color: #002a72 !important;
	-webkit-text-fill-color: #002a72 !important;
}

/* Dark surfaces always keep white text; buttons are handled by the rules above. */
.front-page .section--navy h1,
.front-page .section--navy h2,
.front-page .section--navy h3,
.front-page .section--navy p,
.front-page .section--gradient h1,
.front-page .section--gradient h2,
.front-page .section--gradient h3,
.front-page .section--gradient p,
.front-page .final-cta h1,
.front-page .final-cta h2,
.front-page .final-cta h3,
.front-page .final-cta p {
	color: #ffffff !important;
}

@media (max-width: 900px) {
	.front-page .highlight-section--blue .highlight-banner,
	.front-page .highlight-section--warm .highlight-banner--warm {
		grid-template-columns: 72px minmax(0, 1fr) !important;
	}

	.front-page .highlight-banner > .button {
		grid-column: 2 !important;
		justify-self: center !important;
	}
}

@media (max-width: 640px) {
	.front-page .section-heading h2 {
		font-size: clamp(30px, 9vw, 40px) !important;
	}

	.front-page .section-heading__description,
	.front-page .section-heading > p:last-child {
		font-size: 15px !important;
	}

	.front-page .highlight-section--blue .highlight-banner,
	.front-page .highlight-section--warm .highlight-banner--warm {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	.front-page .highlight-banner__mark {
		margin: 0 auto !important;
	}

	.front-page .highlight-banner > .button {
		grid-column: 1 !important;
		width: 100% !important;
	}

	.front-page .hero-actions,
	.front-page .final-cta__inner > div:last-child {
		width: 100% !important;
	}

	.front-page .hero-actions .button,
	.front-page .final-cta__inner .button {
		width: 100% !important;
	}
}

/* Official Van Tin office photography */
.dlc-photo {
	display: block;
	max-width: 100%;
	height: auto;
}
figure > .dlc-photo,
.context-photo > .dlc-photo,
.about-photo-hero > .dlc-photo,
.about-full-banner > .dlc-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.dlc-photo--team {
	object-position: center 43%;
}
.dlc-photo--document {
	object-position: center 52%;
}
.homepage-hero__visual .dlc-photo--team,
.about-photo-hero .dlc-photo--team,
.about-full-banner .dlc-photo--team {
	object-position: center 38%;
}
.story__media .dlc-photo,
.context-photo .dlc-photo {
	aspect-ratio: 16 / 10;
}

@media (max-width: 720px) {
	.homepage-hero__visual .dlc-photo--team,
	.about-photo-hero .dlc-photo--team,
	.about-full-banner .dlc-photo--team {
		object-position: 54% center;
	}
	.dlc-photo--document {
		object-position: 48% center;
	}
}
/* Release 4.9.2: unique office imagery, compact case studies and shared pricing. */
.about-photo-hero h1,
.about-photo-hero h1 span,
.about-photo-hero p,
.about-photo-hero .breadcrumbs,
.about-photo-hero .breadcrumbs a {
	color: #fff;
}
.about-photo-hero h1 span { color: #73ead5; }
.about-story__photos { min-height: 0; }
.photo-card--single { position: relative; inset: auto; width: 100%; height: clamp(420px, 48vw, 610px); border-radius: 34px; overflow: hidden; }
.photo-card--single img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.about-contexts__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px; }
.context-panel { position: relative; display: flex; min-height: 270px; flex-direction: column; padding: clamp(26px, 3vw, 42px); border: 1px solid #cddff2; border-radius: 28px; background: #fff; color: #09233e; text-decoration: none; overflow: hidden; box-shadow: 0 20px 50px rgba(9,35,62,.07); }
.context-panel:nth-child(1), .context-panel:nth-child(4) { grid-column: span 7; }
.context-panel:nth-child(2), .context-panel:nth-child(3) { grid-column: span 5; }
.context-panel > span { position: absolute; top: 16px; right: 22px; color: #dbeafe; font-size: clamp(64px, 8vw, 112px); font-weight: 800; line-height: 1; }
.context-panel small { position: relative; z-index: 1; margin-bottom: auto; color: #0875d1; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.context-panel strong { position: relative; z-index: 1; max-width: 520px; margin-top: 52px; font-size: clamp(22px, 2.2vw, 34px); line-height: 1.15; }
.context-panel em { position: relative; z-index: 1; margin-top: 28px; color: #0875d1; font-style: normal; font-weight: 800; }
.context-panel--study, .context-panel--digital { background: #eaf9f5; border-color: #bfe9dd; }
.context-panel:hover { transform: translateY(-5px); border-color: #1485e1; box-shadow: 0 28px 60px rgba(9,35,62,.12); }
.about-full-banner--plain { min-height: 520px; background: linear-gradient(120deg,#082e55 0%,#075e87 56%,#079b8e 100%); }
.about-full-banner--plain::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 82% 18%,rgba(111,234,213,.28),transparent 28%); }
.about-full-banner--plain .about-full-banner__content { position: relative; z-index: 1; }
.about-full-banner--plain h2, .about-full-banner--plain p { color: #fff; }

.homepage-cases .dlc-case-study-grid { gap: 24px; }
.dlc-case-study-card { display: flex; min-height: 0; flex-direction: column; border: 1px solid #cddff2; border-radius: 26px; background: #fff; color: #173653; overflow: hidden; box-shadow: 0 18px 45px rgba(9,35,62,.07); }
.dlc-case-study-card header { padding: 24px 26px 20px; background: linear-gradient(120deg,#0b355b,#0c4e70); color: #fff; }
.dlc-case-study-card__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 14px; color: #70e3cf; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.dlc-case-study-card h3 { margin: 0; font-size: clamp(21px,2vw,29px); line-height: 1.2; }
.dlc-case-study-card h3 a { color: inherit; text-decoration: none; }
.dlc-case-study-card__story { display: grid; grid-template-columns: 1fr 1fr; gap: 0; flex: 1; }
.dlc-case-study-card__story p { margin: 0; padding: 22px 26px; color: #43617e; line-height: 1.65; }
.dlc-case-study-card__story p + p { border-left: 1px solid #dce8f3; }
.dlc-case-study-card__story strong, .dlc-case-study-card footer strong { display: block; margin-bottom: 8px; color: #0875d1; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.dlc-case-study-card footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 20px 26px; background: #eaf9f5; }
.dlc-case-study-card footer p { margin: 0; color: #173653; line-height: 1.55; }
.dlc-case-study-card footer a { flex: 0 0 auto; color: #0875d1; font-weight: 800; text-decoration: none; }

.pricing-page .homepage-pricing, .manufacturing-pricing.homepage-pricing { padding-block: clamp(76px,9vw,130px); }
.homepage-pricing__grid { align-items: stretch; }
.pricing-card__icon { display: inline-grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; background: #eaf4ff; color: #0875d1; font-size: 14px; font-weight: 900; }
.pricing-card__features { padding-left: 0; }

@media (max-width: 820px) {
	.context-panel:nth-child(n) { grid-column: 1 / -1; min-height: 230px; }
	.dlc-case-study-card__story { grid-template-columns: 1fr; }
	.dlc-case-study-card__story p + p { border-top: 1px solid #dce8f3; border-left: 0; }
	.dlc-case-study-card footer { align-items: flex-start; flex-direction: column; }
}

/* Production visual pass: readable surfaces, editorial rhythm and clear actions. */
::selection {
	background: #b9dcff;
	color: #071f3b;
}

::-moz-selection {
	background: #b9dcff;
	color: #071f3b;
}

body,
main {
	background: #ffffff;
}

body,
p,
li,
dd,
label,
input,
select,
textarea {
	color: #294763;
}

h1,
h2,
h3,
h4,
dt,
strong {
	color: #0b2748;
}

.section--soft,
.homepage-benefits,
.homepage-cases,
.homepage-pricing,
.homepage-commitment {
	background: #f3f8fd !important;
}

.homepage-heading {
	max-width: 760px;
	margin-right: 0 !important;
	margin-left: 0 !important;
	text-align: left !important;
}

.homepage-heading h2,
.homepage-heading h3,
.homepage-heading p {
	margin-right: 0 !important;
	margin-left: 0 !important;
	text-align: left !important;
}

.homepage-heading > p {
	max-width: 660px;
	color: #526b83;
}

.homepage-hero__grid {
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	align-items: center;
}

.homepage-hero__copy > p {
	max-width: 620px;
}

.homepage-trust {
	background: #0b3157 !important;
}

.homepage-trust__grid strong {
	color: #8bd8ff;
}

.homepage-trust__grid span {
	color: #d6e5f2;
}

.homepage-comparison article,
.homepage-comparison article:nth-child(2) {
	margin-top: 0;
	border-color: #d8e5f1;
	background: #f7fbff;
}

.homepage-comparison article:nth-child(2) {
	background: #eef8ff;
}

.homepage-solution {
	margin-left: 0;
	border-radius: 22px;
	background: #1268c4 !important;
}

.homepage-solution .homepage-actions {
	justify-content: flex-end;
	margin-top: 0;
}

.homepage-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.homepage-benefits__grid article,
.homepage-benefits__grid article:nth-child(2),
.homepage-benefits__grid article:nth-child(5) {
	display: grid;
	grid-template-columns: 48px 1fr;
	align-items: start;
	gap: 18px;
	min-height: 0;
	padding: 26px;
	border: 1px solid #d7e4f0;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 12px 30px rgba(11, 39, 72, .06);
	transform: none;
}

.homepage-benefits__grid article:first-child,
.homepage-benefits__grid article:nth-child(4) {
	grid-column: span 2;
	background: #eaf5ff;
}

.homepage-benefits__grid article:hover,
.homepage-benefits__grid article:nth-child(2):hover,
.homepage-benefits__grid article:nth-child(5):hover {
	box-shadow: 0 18px 36px rgba(11, 39, 72, .1);
	transform: translateY(-2px);
}

.homepage-benefits__grid article > span {
	width: 44px;
	height: 44px;
	background: #dceeff;
}

.homepage-benefits__grid h3 {
	margin: 0 0 8px;
	font-size: 18px;
	text-transform: none;
}

.homepage-benefits__grid p {
	font-size: 14px;
	line-height: 1.65;
}

.homepage-trial__grid {
	grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
	align-items: center;
}

.homepage-directory,
.homepage-testimonials {
	background: #ffffff !important;
	color: #294763;
}

.homepage-directory .homepage-heading h2,
.homepage-directory .homepage-heading h3,
.homepage-testimonials .homepage-heading h2 {
	color: #0b2748;
}

.homepage-directory .homepage-heading p,
.homepage-testimonials .homepage-heading p {
	color: #526b83;
}

.homepage-directory__grid {
	border-color: #d7e4f0;
	background: #d7e4f0;
}

.homepage-directory__grid article,
.homepage-directory__grid article:nth-child(2) {
	background: #0b3157 !important;
	color: #e6f0f8;
}

.homepage-directory__grid h3 {
	color: #8bd8ff !important;
}

.homepage-center-action {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.homepage-testimonials {
	border-top: 1px solid #e2ebf4;
	border-bottom: 1px solid #e2ebf4;
}

.homepage-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 14px;
}

.homepage-testimonials blockquote,
.homepage-testimonials blockquote:first-child {
	display: flex;
	min-width: 0;
	min-height: 250px;
	margin: 0;
	padding: 24px !important;
	flex-direction: column;
	border: 1px solid #d8e5f1;
	border-radius: 18px;
	background: #ffffff !important;
	box-shadow: 0 10px 28px rgba(11, 39, 72, .06);
}

.homepage-testimonial__stars {
	color: #f2a400;
	font-size: 15px;
	letter-spacing: 2px;
}

.homepage-testimonials blockquote p {
	margin: 18px 0 24px;
	color: #294763;
	font-size: 14px;
	line-height: 1.65;
}

.homepage-testimonial__identity {
	margin-top: auto;
	color: #0b2748;
}

.homepage-testimonial__identity > span {
	background: #dceeff;
	color: #1268c4;
}

.homepage-testimonial__identity div {
	display: grid;
	gap: 3px;
}

.homepage-testimonial__identity strong {
	color: #0b2748;
}

.homepage-testimonial__identity small {
	color: #6a8095;
	font-size: 12px;
}

.homepage-contact {
	background: #f3f8fd;
}

.homepage-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
	align-items: center;
	gap: clamp(44px, 7vw, 100px);
}

.homepage-contact__copy h2 {
	font-size: clamp(30px, 4vw, 54px);
}

.homepage-contact__copy > p {
	max-width: 560px;
}

.homepage-contact__copy ul {
	display: grid;
	gap: 10px;
	margin: 24px 0 30px;
	padding: 0;
	list-style: none;
}

.homepage-contact__copy li::before {
	margin-right: 10px;
	content: "✓";
	color: #1268c4;
	font-weight: 800;
}

.homepage-contact__form,
.contact-form-panel {
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid #d7e4f0;
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 22px 54px rgba(11, 39, 72, .09);
}

.homepage-contact__form > h3,
.contact-form-panel > h2 {
	margin-bottom: 8px;
}

.homepage-contact__form > p,
.contact-form-panel > p {
	margin-bottom: 0;
	color: #60778d;
}

.dlc-contact-form {
	gap: 16px;
	margin-top: 24px;
}

.dlc-contact-form input:not([type="checkbox"]),
.dlc-contact-form select,
.dlc-contact-form textarea {
	border-color: #c6d8e8;
	background: #f9fbfd;
	color: #0b2748;
}

.dlc-contact-form input:focus,
.dlc-contact-form select:focus,
.dlc-contact-form textarea:focus {
	border-color: #1268c4;
	box-shadow: 0 0 0 3px rgba(18, 104, 196, .12);
	outline: 0;
}

.dlc-contact-form .dlc-button {
	min-height: 52px;
	padding-inline: 24px;
	border-radius: 10px;
}

.contact-hero {
	background: #edf5fc;
}

.contact-layout {
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr);
	gap: clamp(40px, 7vw, 90px);
}

.contact-layout aside {
	padding: 34px;
	border-radius: 22px;
	background: #0b3157;
}

.contact-layout aside dt {
	color: #8bd8ff;
}

.contact-layout aside .button + .button {
	margin-top: 10px;
}

.homepage-final-cta {
	background: #1268c4 !important;
}

@media (max-width: 1100px) {
	.homepage-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.homepage-benefits__grid article:first-child,
	.homepage-benefits__grid article:nth-child(4) {
		grid-column: auto;
	}

	.homepage-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.homepage-contact__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 780px) {
	.homepage-hero__grid,
	.homepage-benefits__grid,
	.homepage-testimonials__grid {
		grid-template-columns: 1fr !important;
	}

	.homepage-benefits__grid article {
		padding: 22px;
	}

	.homepage-testimonials blockquote,
	.homepage-testimonials blockquote:first-child {
		min-height: 0;
	}

	.homepage-solution .homepage-actions {
		justify-content: flex-start;
	}

	.homepage-contact__form,
	.contact-form-panel {
		padding: 24px 20px;
	}
}
@media (prefers-reduced-motion: reduce) { .context-panel { transition: none; } }

/* Release 4.9.2 contrast and component consistency. */
.about-story__copy,
.about-story__copy h2,
.about-story__copy h3,
.about-story__editor,
.about-story__editor p,
.about-process h2,
.about-process h3 {
	color: #09233e;
}

.about-story__copy > p,
.about-process p {
	color: #486581;
}

.homepage-pricing {
	background: #f7fbff;
}

.homepage-pricing .homepage-heading,
.homepage-pricing .pricing-sub {
	max-width: 780px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.homepage-pricing .pricing-eyebrow {
	width: fit-content;
	margin: 0 auto 14px;
	color: #0875d1;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
}

.homepage-pricing .pricing-card {
	height: 100%;
}

.homepage-cases .dlc-case-study-card:nth-child(n) {
	transform: none;
}

html[data-theme="dark"] .context-panel,
html[data-theme="dark"] .dlc-case-study-card {
	border-color: #244d70;
	background: #0c2943;
	color: #f3f8fc;
}

html[data-theme="dark"] .context-panel--study,
html[data-theme="dark"] .context-panel--digital,
html[data-theme="dark"] .dlc-case-study-card footer {
	background: #113a4b;
}

html[data-theme="dark"] .dlc-case-study-card__story p,
html[data-theme="dark"] .dlc-case-study-card footer p {
	color: #c7d8e6;
}
/* Secondary story sections use process visuals instead of repeating office photography. */
.service-quality-stage__visual {
	position: relative;
	display: flex;
	min-height: 480px;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(32px, 5vw, 62px);
	border-radius: 28px 88px 28px 28px;
	background: linear-gradient(145deg, #082e55 0%, #0b4f73 64%, #079b8e 100%);
	color: #fff;
	overflow: hidden;
	box-shadow: 0 26px 70px rgba(8, 46, 85, .2);
}
.service-quality-stage__visual::before {
	content: '';
	position: absolute;
	width: 280px;
	height: 280px;
	top: -110px;
	right: -70px;
	border: 60px solid rgba(115, 234, 213, .14);
	border-radius: 50%;
}
.service-quality-stage__shield {
	display: grid;
	width: 74px;
	height: 74px;
	margin-bottom: auto;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 22px;
	background: rgba(255, 255, 255, .12);
}
.service-quality-stage__shield .icon { width: 34px; height: 34px; }
.service-quality-stage__visual > strong { position: relative; font-size: clamp(26px, 3vw, 40px); line-height: 1.1; }
.service-quality-stage__visual ul { position: relative; display: grid; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; }
.service-quality-stage__visual li { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 14px; padding: 15px 0; border-top: 1px solid rgba(255, 255, 255, .22); font-weight: 700; }
.service-quality-stage__visual li span { color: #73ead5; font-size: 12px; font-weight: 900; letter-spacing: .08em; }

.industry-photo-band__visual {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: center;
	gap: 16px 22px;
	min-height: 500px;
	padding: clamp(34px, 5vw, 68px);
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 72px 24px 24px;
	background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(115,234,213,.08));
}
.industry-photo-band__visual span { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 18px; background: #73ead5; color: #082e55; font-weight: 900; }
.industry-photo-band__visual strong { color: #fff; font-size: clamp(22px, 2.5vw, 34px); }
.industry-photo-band__visual i { grid-column: 1; width: 1px; height: 44px; margin: -8px auto; background: rgba(115,234,213,.55); }

@media (max-width: 760px) {
	.service-quality-stage__visual { min-height: 400px; border-radius: 22px 58px 22px 22px; }
	.industry-photo-band__visual { min-height: 380px; padding: 28px; border-radius: 44px 18px 18px; }
}

/* Release 4.9.4: one DichLaChuan identity and a restrained blue system. */
:root {
	--navy: #0b2748 !important;
	--navy-2: #123a64 !important;
	--blue: #1268c4 !important;
	--bright-blue: #1268c4 !important;
	--teal: #2d82c7 !important;
	--accent: #1268c4 !important;
	--accent-dark: #0a4f99 !important;
	--violet: #1268c4 !important;
	--heading: #0b2748 !important;
	--text: #18324d !important;
	--muted: #5a7188 !important;
	--surface: #ffffff !important;
	--surface-2: #f4f8fc !important;
	--cloud: #edf5fc !important;
	--soft-blue: #edf5fc !important;
	--border: #d7e4f0 !important;
	--border-strong: #b8cde0 !important;
}

body {
	background: #ffffff;
	color: #18324d;
}

.site-header {
	border-color: #d7e4f0 !important;
	background: rgba(255, 255, 255, .97) !important;
	box-shadow: 0 8px 28px rgba(11, 39, 72, .07) !important;
}

.site-header__inner {
	grid-template-columns: minmax(230px, 300px) minmax(0, 1fr) auto;
}

.site-logo {
	display: inline-flex;
	width: auto;
	max-width: 100%;
	align-items: center;
	gap: 9px;
	color: #0b2748;
	text-decoration: none;
}

.site-logo .site-logo__mark {
	width: 48px !important;
	height: auto !important;
	max-width: none !important;
	max-height: 30px !important;
	object-fit: contain;
}

.site-logo__wordmark {
	color: #0b2748;
	font-size: clamp(21px, 1.6vw, 26px);
	font-weight: 850;
	letter-spacing: -.045em;
	line-height: 1;
}

.site-footer .site-logo__wordmark,
.site-logo--inverse .site-logo__wordmark {
	color: #ffffff;
}

.site-header .primary-menu > li > .menu-item__row > a,
.site-header .submenu-toggle,
.site-header .header-tool-link,
.site-header .menu-toggle,
.site-header .icon-button {
	color: #18324d !important;
}

.site-header .icon-button,
.site-header .menu-toggle {
	border-color: #d7e4f0 !important;
	background: #ffffff !important;
}

.site-header .primary-menu > li:hover > .menu-item__row > a,
.site-header .primary-menu > li.current-menu-item > .menu-item__row > a,
.site-header .primary-menu > li.current-menu-ancestor > .menu-item__row > a,
.site-header .icon-button:hover,
.site-header .menu-toggle:hover {
	background: #edf5fc !important;
	color: #1268c4 !important;
}

.desktop-navigation .primary-menu > .menu-item > .menu-item__row > a {
	font-size: 17px;
	font-weight: 750;
}

.button--primary,
.button--accent,
.wp-element-button,
button[type="submit"] {
	border-color: #1268c4 !important;
	background: #1268c4 !important;
	color: #ffffff !important;
}

.button--primary:hover,
.button--accent:hover,
.wp-element-button:hover,
button[type="submit"]:hover {
	border-color: #0a4f99 !important;
	background: #0a4f99 !important;
}

.hero-section {
	background: #0b2748 !important;
	background-image: none !important;
}

.service-quality-stage__visual {
	background: #0b3e6f !important;
}

.service-quality-stage__visual li span {
	color: #9acbf1;
}

.industry-photo-band__visual {
	background: rgba(255, 255, 255, .08) !important;
}

.industry-photo-band__visual span {
	background: #dcecf8;
	color: #0b2748;
}

.homepage-final {
	--hi: #0b2748;
	--muted: #526b83;
	--blue: #1268c4;
	--blue-dark: #0a4f99;
	--aqua: #2d82c7;
	--paper: #f4f8fc;
	--line: #d8e5f1;
	--gold: #1268c4;
}

.homepage-hero {
	background: #edf5fc !important;
	background-image: none !important;
}

.homepage-hero::before {
	display: none;
}

.homepage-hero__grid {
	align-items: start;
}

.homepage-hero__visual {
	align-self: start;
	border-color: #caddec;
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(11, 39, 72, .14);
	transform: none !important;
}

.homepage-hero__visual img {
	border-radius: 17px;
	object-position: center center;
}

.homepage-hero__visual figcaption {
	right: 10px;
	bottom: 10px;
	background: #0b2748;
	box-shadow: 0 14px 32px rgba(11, 39, 72, .25);
}

.homepage-hero__visual figcaption strong {
	color: #9acbf1;
}

.homepage-trust,
.homepage-directory,
.homepage-testimonials {
	background: #0b2748 !important;
}

.homepage-directory__grid article,
.homepage-testimonials blockquote,
.homepage-testimonials blockquote:first-child {
	background: #123a64 !important;
}

.homepage-solution,
.homepage-final-cta {
	background: #1268c4 !important;
	background-image: none !important;
}

.homepage-benefits,
.homepage-cases,
.homepage-pricing,
.homepage-commitment {
	background: #f4f8fc !important;
	background-image: none !important;
}

.homepage-pricing__grid .pricing-card.is-featured {
	border-color: #1268c4;
}

.homepage-pricing__grid .pricing-card.is-featured::before {
	background: #1268c4;
}

.about-photo-hero h1 span,
.accent-word--teal,
.accent-word--gold,
.homepage-directory__grid h3,
.homepage-cases .dlc-case-study-card header p,
.final-cta .eyebrow--light {
	color: #9acbf1 !important;
}

.about-full-banner--plain,
.service-final-mtpe {
	background: #0b2748 !important;
	background-image: none !important;
}

.gradient-text,
.hero-copy h1 em {
	background: none !important;
	color: #1268c4 !important;
	-webkit-text-fill-color: currentColor !important;
}

.solution-step__num,
.service-final-flow > div span,
.service-final-flow .step-num,
.homepage-testimonials blockquote::before {
	background: #9acbf1 !important;
	color: #0b2748 !important;
}

.process-flow-item__num {
	background: #1268c4 !important;
}

.spec-plan.is-featured .plan-features svg {
	color: #1268c4 !important;
}

.spec-flow-note,
.service-final-mtpe__note {
	border-left-color: #9acbf1 !important;
}

.homepage-proof svg,
.homepage-comparison svg,
.homepage-commitment__grid svg {
	color: #2d82c7 !important;
}

html[data-theme="dark"] body {
	background: #091d31;
	color: #dbe8f3;
}

html[data-theme="dark"] .site-header {
	border-color: rgba(255, 255, 255, .12) !important;
	background: #0b2748 !important;
}

html[data-theme="dark"] .site-header .primary-menu > li > .menu-item__row > a,
html[data-theme="dark"] .site-header .submenu-toggle,
html[data-theme="dark"] .site-header .header-tool-link,
html[data-theme="dark"] .site-header .menu-toggle,
html[data-theme="dark"] .site-header .icon-button,
html[data-theme="dark"] .site-header .site-logo__wordmark {
	color: #ffffff !important;
}

@media (max-width: 1080px) {
	.site-header__inner {
		grid-template-columns: minmax(210px, 1fr) auto;
	}
}

@media (max-width: 820px) {
	.site-logo .site-logo__mark {
		width: 42px !important;
		max-height: 26px !important;
	}

	.site-logo__wordmark {
		font-size: 21px;
	}

	.homepage-hero__visual {
		width: 100%;
		max-width: 540px;
		margin: 0;
	}
}
