:root {
  --color-primary: #1e2a78;
  --color-primary-dark: #151f5c;
  --color-primary-soft: #eef2ff;
  --color-accent: #e63946;
  --color-accent-hover: #c1121f;
  --color-accent-soft: #fff1f2;
  --color-success: #059669;
  --color-success-dark: #065f46;
  --color-success-soft: #ecfdf5;
  --color-success-border: #a7f3d0;
  --color-warning: #f59e0b;
  --color-text: #1f2937;
  --color-text-strong: #0f172a;
  --color-text-light: #475569;
  --color-text-muted: #64748b;
  --color-white: #ffffff;
  --color-bg: #ffffff;
  --color-section-bg: #f8fafc;
  --color-card-bg: #ffffff;
  --color-card-alt: #f8fafc;
  --color-border: #e2e8f0;
  --color-border-strong: #cbd5e1;
  --color-topbar-bg: #1a2332;
  --color-topbar-text: #e2e8f0;
  --color-topbar-border: #2d3748;
  --color-header-bg: #ffffff;
  --color-header-text: #1f2937;
  --color-header-hover-bg: #f1f5f9;
  --color-menu-mobile-bg: #f8fafc;
  --color-footer-bg: #0f172a;
  --color-footer-text: #cbd5e1;
  --color-footer-heading: #f8fafc;
  --color-submenu-bg: #ffffff;
  --color-overlay-soft: rgba(30, 42, 120, 0.08);
  --color-shadow: rgba(15, 23, 42, 0.08);
  --color-shadow-strong: rgba(15, 23, 42, 0.16);
  --color-hero-start: #f0f4ff;
  --color-hero-end: #ffffff;
  --color-white-alpha-06: rgba(255, 255, 255, 0.06);
  --color-white-alpha-08: rgba(255, 255, 255, 0.08);
  --color-white-alpha-10: rgba(255, 255, 255, 0.10);
  --color-white-alpha-12: rgba(255, 255, 255, 0.12);
  --color-white-alpha-35: rgba(255, 255, 255, 0.35);
  --color-faq-overlay-bg: rgba(255, 255, 255, 0.90);
  --color-faq-image-shade: rgba(30, 42, 120, 0.08);
  --transition-speed: 0.3s;
  --topbar-height: 44px;
  --header-height: 72px;
  --total-fixed-height: calc(var(--topbar-height) + var(--header-height));
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;
  --font-size-4xl: 2.5rem;
  --font-size-5xl: clamp(2.25rem, 5vw, 4.6rem);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 2.5rem;
  --space-10: 3rem;
  --space-12: 4rem;
  --space-16: 6rem;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  --z-dropdown: 100;
  --z-fixed: 1000;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  padding-top: var(--total-fixed-height);
}
body.menu-lock { overflow: hidden; touch-action: none; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
img, svg { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
.container { width: min(100% - 2rem, 1280px); margin-inline: auto; }
.section-padding { padding: var(--space-16) 0; }
.section-soft { background: var(--color-section-bg); }
.section-narrow { max-width: 880px; margin-inline: auto; text-align: center; }
.eyebrow { display: inline-flex; align-items: center; gap: var(--space-2); padding: 0.35rem 0.75rem; border-radius: var(--radius-full); background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-size-sm); font-weight: 700; margin-bottom: var(--space-3); }
.section-title { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.15; color: var(--color-text-strong); margin-bottom: var(--space-3); letter-spacing: -0.04em; }
.section-lead { color: var(--color-text-light); font-size: var(--font-size-lg); max-width: 820px; margin: 0 auto var(--space-8); }
.text-left { text-align: left; }
.text-center { text-align: center; }

.header-wrapper { position: fixed; inset: 0 0 auto 0; z-index: var(--z-fixed); box-shadow: 0 4px 20px var(--color-shadow); transform: translateZ(0); }
.top-bar { background: var(--color-topbar-bg); color: var(--color-topbar-text); height: var(--topbar-height); font-size: var(--font-size-xs); display: flex; align-items: center; border-bottom: 1px solid var(--color-topbar-border); }
.top-bar-inner { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); }
.top-bar-contact, .top-bar-actions, .top-bar-social { display: flex; align-items: center; gap: var(--space-4); }
.top-bar-quote-cta { display: none; align-items: center; justify-content: center; white-space: nowrap; border-radius: var(--radius-full); background: var(--color-accent); color: var(--color-white); border: 1px solid var(--color-accent); font-weight: 850; line-height: 1; text-decoration: none; }
.top-bar-quote-cta:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); color: var(--color-white); }
.top-bar-contact { flex-wrap: wrap; }
.top-bar-contact a, .top-bar-contact span { display: inline-flex; align-items: center; gap: var(--space-1); color: var(--color-topbar-text); }
.top-bar-contact a:hover { color: var(--color-white); }
.top-bar-social a, .social-links a { color: var(--color-topbar-text); display: grid; place-items: center; width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--color-white-alpha-08); transition: color var(--transition-speed), background var(--transition-speed), transform var(--transition-speed); }
.top-bar-social a:hover, .social-links a:hover { color: var(--color-white); background: var(--color-accent); transform: translateY(-2px); }
.site-header { background: var(--color-header-bg); color: var(--color-header-text); min-height: var(--header-height); display: flex; align-items: center; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.logo { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-primary); min-width: max-content; }
.logo-icon { width: 42px; height: 42px; border-radius: var(--radius-lg); background: var(--color-accent); color: var(--color-white); display: grid; place-items: center; font-weight: 800; letter-spacing: -0.04em; }
.logo-text { display: flex; flex-direction: column; line-height: 1.05; font-size: 1.25rem; }
.logo-text small { font-size: var(--font-size-xs); color: var(--color-text-muted); letter-spacing: 0.08em; text-transform: uppercase; }
.main-nav { flex: 1 1 auto; display: flex; justify-content: center; align-items: center; }
.nav-list { display: flex; align-items: center; gap: var(--space-1); }
.nav-item { position: relative; }
.nav-parent-row { display: flex; align-items: center; }
.nav-parent-row > .nav-link { flex: 0 0 auto; }
.submenu-toggle-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; border: 0; border-radius: var(--radius-md); background: transparent; color: var(--color-header-text); cursor: pointer; transition: color var(--transition-speed), background var(--transition-speed); }
.submenu-toggle-btn:hover, .submenu-toggle-btn:focus-visible { color: var(--color-primary); background: var(--color-header-hover-bg); }
.nav-link { display: flex; align-items: center; gap: var(--space-2); padding: 0.75rem 0.9rem; border-radius: var(--radius-md); color: var(--color-header-text); font-weight: 650; font-size: 0.95rem; white-space: nowrap; transition: color var(--transition-speed), background var(--transition-speed); position: relative; }
.nav-link::after { content: ""; position: absolute; bottom: 8px; left: 0.9rem; right: 0.9rem; height: 2px; background: var(--color-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--transition-speed) ease; }
.nav-link:hover, .nav-link:focus-visible { color: var(--color-primary); background: var(--color-header-hover-bg); }
.nav-link:hover::after, .nav-link:focus-visible::after { transform: scaleX(1); }
.submenu-arrow { font-size: 0.65rem; transition: transform var(--transition-speed); }
.menu-item-has-children:hover .submenu-arrow, .menu-item-has-children.submenu-open .submenu-arrow { transform: rotate(180deg); }
.submenu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 250px; background: var(--color-submenu-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: 0 16px 36px var(--color-shadow-strong); opacity: 0; visibility: hidden; transform: translateY(10px); transition: all 0.2s ease; padding: var(--space-2); z-index: var(--z-dropdown); }
.service-submenu { min-width: 720px; max-height: calc(100vh - 150px); overflow-y: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-1); }
.menu-item-has-children:hover > .service-submenu, .menu-item-has-children.submenu-open > .service-submenu { display: grid; }
.menu-item-has-children:hover > .submenu, .menu-item-has-children.submenu-open > .submenu { opacity: 1; visibility: visible; transform: translateY(0); }
.submenu .nav-link { padding: 0.72rem 0.95rem; border-radius: var(--radius-md); font-weight: 550; color: var(--color-text); }
.submenu .nav-link::after { display: none; }
.submenu .nav-link:hover { background: var(--color-header-hover-bg); color: var(--color-primary); }
.header-actions { display: flex; align-items: center; gap: var(--space-3); }
.cta-btn, .btn-primary, .btn-secondary, .btn-soft { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); border-radius: var(--radius-full); font-weight: 800; transition: background var(--transition-speed), color var(--transition-speed), transform var(--transition-speed), border-color var(--transition-speed); }
.cta-btn, .btn-primary { background: var(--color-accent); color: var(--color-white); padding: 0.75rem 1.35rem; border: 1px solid var(--color-accent); }
.cta-btn:hover, .btn-primary:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); color: var(--color-white); transform: translateY(-2px); }
.btn-secondary { border: 1px solid var(--color-border-strong); color: var(--color-primary); background: var(--color-white); padding: 0.75rem 1.35rem; }
.btn-secondary:hover { background: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); transform: translateY(-2px); }
.btn-soft { background: var(--color-primary-soft); color: var(--color-primary); padding: 0.72rem 1.1rem; }
.btn-soft:hover { background: var(--color-primary); color: var(--color-white); transform: translateY(-2px); }
.cta-btn-mobile, .mobile-quick-actions { display: none; }
.menu-toggle { display: none; border: 0; background: transparent; cursor: pointer; padding: var(--space-2); flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 42px; height: 42px; border-radius: var(--radius-md); }
.menu-toggle:hover { background: var(--color-header-hover-bg); }
.hamburger-line { display: block; width: 24px; height: 2.5px; background: var(--color-header-text); border-radius: var(--radius-full); transition: all var(--transition-speed); }
.menu-toggle.active .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.active .hamburger-line:nth-child(2) { opacity: 0; }
.menu-toggle.active .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.hero { background: linear-gradient(135deg, var(--color-hero-start), var(--color-hero-end)); padding: clamp(1.25rem, 2.5vw, 2.5rem) 0 var(--space-10); position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; width: 48rem; height: 48rem; border-radius: var(--radius-full); background: var(--color-overlay-soft); right: -18rem; top: -18rem; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr); gap: var(--space-10); align-items: stretch; position: relative; z-index: 1; }
.hero-content, .hero-image-card { min-height: clamp(31rem, 44vw, 38rem); height: 100%; display: flex; flex-direction: column; justify-content: center; }
.hero h1 { color: var(--color-text-strong); font-size: clamp(2.05rem, 3.1vw, 2.85rem); line-height: 1.06; letter-spacing: -0.055em; margin-bottom: var(--space-4); max-width: 100%; }
.hero-title-line { display: block; }
.hero-title-accent { color: var(--color-primary); }
@media (min-width: 1025px) { .hero-title-line { white-space: nowrap; } }
.hero p { color: var(--color-text-light); font-size: var(--font-size-xl); max-width: 760px; margin-bottom: var(--space-6); }
.hero-checklist { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); max-width: 780px; margin: 0 0 var(--space-6); padding: 0; }
.hero-checklist li { display: flex; align-items: flex-start; gap: var(--space-2); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 0.78rem 1rem; color: var(--color-text-light); font-weight: 750; box-shadow: 0 8px 20px var(--color-shadow); line-height: 1.35; }
.hero-checklist li::before { content: "✓"; flex: 0 0 1.4rem; width: 1.4rem; height: 1.4rem; border-radius: var(--radius-full); display: grid; place-items: center; background: var(--color-success); color: var(--color-white); font-weight: 900; font-size: 0.82rem; margin-top: 0.05rem; }

.hero-checklist-short { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 760px; }
.hero-checklist-short li { justify-content: flex-start; align-items: center; padding: 0.7rem 0.85rem; color: var(--color-text-strong); }

.tech-logo-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.tech-logo-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-4); display: grid; gap: var(--space-2); place-items: center; color: var(--color-text-strong); font-weight: 850; box-shadow: 0 8px 22px var(--color-shadow); transition: transform var(--transition-speed), border-color var(--transition-speed), box-shadow var(--transition-speed); }
.tech-logo-card i { width: 48px; height: 48px; border-radius: var(--radius-full); display: grid; place-items: center; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-size-xl); }
.tech-logo-card:hover { transform: translateY(-5px); border-color: var(--color-primary); box-shadow: 0 20px 38px var(--color-shadow); }

.stat-icon { width: 54px; height: 54px; border-radius: var(--radius-xl); display: grid; place-items: center; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-size-xl); margin-bottom: var(--space-4); }
.stat-card h3 { color: var(--color-primary); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; margin-bottom: var(--space-2); }
.stat-card h4 { color: var(--color-text-strong); font-size: var(--font-size-xl); margin-bottom: var(--space-2); }
.stat-card p { color: var(--color-text-light); margin: 0; }
.cta-actions-single { justify-content: flex-end; }

.hero-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-bottom: 0; }
.hero-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); max-width: 780px; }
.hero-point { background: var(--color-white); border: 1px solid var(--color-border); padding: var(--space-4); border-radius: var(--radius-xl); box-shadow: 0 10px 24px var(--color-shadow); }
.hero-point strong { display: block; color: var(--color-primary); font-size: var(--font-size-xl); line-height: 1.1; }
.hero-point span { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.hero-image-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-2xl); padding: var(--space-5); box-shadow: 0 20px 50px var(--color-shadow); overflow: hidden; }
.hero-image-wrap { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-height: 0; }
.hero-illustration { width: 100%; height: 100%; min-height: 25rem; }
.hero-image-caption { border-top: 1px solid var(--color-border); padding-top: var(--space-4); display: grid; gap: var(--space-1); }
.hero-image-caption strong { color: var(--color-text-strong); font-size: var(--font-size-lg); line-height: 1.2; }
.hero-image-caption span { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.hero-svg-shell { fill: var(--color-primary-soft); stroke: var(--color-border); }
.hero-svg-screen, .hero-svg-phone, .hero-svg-card { fill: var(--color-white); stroke: var(--color-border-strong); }
.hero-svg-primary { fill: var(--color-primary); }
.hero-svg-primary-light { fill: var(--color-primary-soft); }
.hero-svg-accent { fill: var(--color-accent); }
.hero-svg-warning { fill: var(--color-warning); }
.hero-svg-success { fill: var(--color-success); }
.hero-svg-soft { fill: var(--color-accent-soft); }
.hero-svg-muted { fill: var(--color-border-strong); }
.hero-svg-line { fill: none; stroke: var(--color-primary); stroke-width: 8; stroke-linecap: round; opacity: 0.45; }

.proof-strip { background: var(--color-primary); color: var(--color-white); padding: var(--space-6) 0; }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
.proof-item strong { font-size: var(--font-size-3xl); display: block; line-height: 1; }
.proof-item span { color: var(--color-topbar-text); }

.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); align-items: center; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.service-grid .service-card { height: 100%; display: flex; flex-direction: column; }
.service-grid .service-card .link-arrow { margin-top: auto; }
.section-action { margin-top: var(--space-8); display: flex; justify-content: center; }
.card-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.service-card, .info-card, .industry-card, .blog-card, .faq-card, .stat-card, .testimonial-card { background: var(--color-card-bg); border: 1px solid var(--color-border); border-radius: var(--radius-2xl); padding: var(--space-6); box-shadow: 0 8px 22px var(--color-shadow); transition: transform var(--transition-speed), box-shadow var(--transition-speed), border-color var(--transition-speed); }
.service-card:hover, .info-card:hover, .industry-card:hover, .blog-card:hover, .faq-card:hover, .stat-card:hover, .testimonial-card:hover { transform: translateY(-6px); box-shadow: 0 22px 42px var(--color-shadow); border-color: var(--color-primary); }
.stat-card { text-align: left; }
.stat-card strong { display: block; color: var(--color-primary); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; margin-bottom: var(--space-3); }
.stat-card span { display: block; color: var(--color-text-light); }
.testimonial-card p { color: var(--color-text-light); font-size: var(--font-size-lg); margin-bottom: var(--space-4); }
.testimonial-card strong { color: var(--color-primary); }
.card-icon { width: 54px; height: 54px; border-radius: var(--radius-xl); background: var(--color-primary-soft); color: var(--color-primary); display: grid; place-items: center; font-size: var(--font-size-xl); margin-bottom: var(--space-4); }
.service-card h3, .info-card h3, .industry-card h3, .blog-card h3, .faq-card h3 { color: var(--color-text-strong); font-size: var(--font-size-xl); margin-bottom: var(--space-2); line-height: 1.25; }
.service-card p, .info-card p, .industry-card p, .blog-card p, .faq-card p { color: var(--color-text-light); margin-bottom: var(--space-4); }
.link-arrow { color: var(--color-primary); font-weight: 800; display: inline-flex; align-items: center; gap: var(--space-2); }
.link-arrow:hover { color: var(--color-accent); }
.check-list, .number-list { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.check-list li { display: flex; gap: var(--space-2); color: var(--color-text-light); }
.check-list li::before { content: "✓"; color: var(--color-success); font-weight: 900; }
.number-list { counter-reset: steps; }
.number-list li { counter-increment: steps; display: grid; grid-template-columns: 36px 1fr; gap: var(--space-3); align-items: start; color: var(--color-text-light); }
.number-list li::before { content: counter(steps); width: 36px; height: 36px; display: grid; place-items: center; border-radius: var(--radius-full); background: var(--color-primary); color: var(--color-white); font-weight: 900; }

.direction-box { background: var(--color-text-strong); color: var(--color-white); border-radius: var(--radius-2xl); padding: var(--space-8); position: relative; overflow: hidden; }
.direction-box::after { content: ""; position: absolute; width: 18rem; height: 18rem; border-radius: var(--radius-full); background: var(--color-white-alpha-06); right: -8rem; bottom: -8rem; }
.direction-box h2 { color: var(--color-white); font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.1; margin-bottom: var(--space-3); position: relative; z-index: 1; }
.direction-box p { color: var(--color-footer-text); position: relative; z-index: 1; }
.direction-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin-top: var(--space-6); position: relative; z-index: 1; }
.direction-step { background: var(--color-white-alpha-08); border: 1px solid var(--color-white-alpha-12); border-radius: var(--radius-xl); padding: var(--space-4); }
.direction-step strong { display: block; color: var(--color-white); margin-bottom: var(--space-1); }
.direction-step span { color: var(--color-footer-text); font-size: var(--font-size-sm); }

.tech-marquee { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-2xl); background: var(--color-white); padding: var(--space-4); }
.tech-track { display: flex; gap: var(--space-3); animation: marquee 28s linear infinite; width: max-content; }
.tech-pill { white-space: nowrap; background: var(--color-primary-soft); color: var(--color-primary); border-radius: var(--radius-full); padding: 0.6rem 1rem; font-weight: 800; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.cta-section { background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)); color: var(--color-white); border-radius: var(--radius-2xl); padding: var(--space-10); display: grid; grid-template-columns: 1fr auto; gap: var(--space-6); align-items: center; }
.cta-section h2 { color: var(--color-white); font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.15; margin-bottom: var(--space-2); }
.cta-section p { color: var(--color-topbar-text); max-width: 760px; }
.cta-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.cta-section .btn-secondary { background: transparent; color: var(--color-white); border-color: var(--color-white-alpha-35); }
.cta-section .btn-secondary:hover { background: var(--color-white); color: var(--color-primary); }

.page-hero { background: linear-gradient(135deg, var(--color-hero-start), var(--color-white)); padding: var(--space-12) 0; text-align: center; }
.page-hero h1 { font-size: clamp(2.1rem, 4vw, 4rem); color: var(--color-text-strong); line-height: 1.1; letter-spacing: -0.05em; margin-bottom: var(--space-3); }
.page-hero p { color: var(--color-text-light); font-size: var(--font-size-xl); max-width: 850px; margin: 0 auto; }
.content-block { max-width: 980px; margin-inline: auto; }
.content-block p { color: var(--color-text-light); margin-bottom: var(--space-4); font-size: var(--font-size-lg); }
.content-block h2 { color: var(--color-text-strong); font-size: clamp(1.8rem, 3vw, 2.5rem); margin: var(--space-8) 0 var(--space-3); line-height: 1.15; }
.content-block h3 { color: var(--color-text-strong); margin: var(--space-5) 0 var(--space-2); }

.form-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-2xl); padding: var(--space-8); box-shadow: 0 18px 40px var(--color-shadow); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.form-group { display: grid; gap: var(--space-2); }
.form-group.full { grid-column: 1 / -1; }
.form-group label { font-weight: 800; color: var(--color-text-strong); }
.input-icon { position: relative; }
.input-icon i { position: absolute; top: 50%; left: 1rem; transform: translateY(-50%); color: var(--color-text-muted); }
.input-icon.textarea i { top: 1.2rem; transform: none; }
.form-control { width: 100%; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 0.9rem 1rem 0.9rem 2.75rem; background: var(--color-white); color: var(--color-text); transition: border-color var(--transition-speed), box-shadow var(--transition-speed); }
textarea.form-control { min-height: 150px; resize: vertical; }
.form-control:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 4px var(--color-primary-soft); }
.field-validation-error { color: var(--color-accent); font-size: var(--font-size-sm); font-weight: 700; }
.validation-summary-errors { color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-lg); padding: var(--space-3); margin-bottom: var(--space-4); }
.alert-success { background: var(--color-success-soft); color: var(--color-success-dark); border: 1px solid var(--color-success-border); border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); font-weight: 800; }

.site-footer { background: var(--color-footer-bg); color: var(--color-footer-text); padding: var(--space-12) 0 var(--space-6); font-size: var(--font-size-sm); }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: var(--space-8); margin-bottom: var(--space-8); }
.footer-col h4 { color: var(--color-footer-heading); font-size: var(--font-size-lg); margin-bottom: var(--space-4); position: relative; padding-bottom: var(--space-2); }
.footer-col h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; background: var(--color-accent); }
.footer-col p { color: var(--color-footer-text); }
.footer-col li { margin-bottom: var(--space-3); }
.footer-col a { color: var(--color-footer-text); position: relative; display: inline-flex; align-items: center; gap: var(--space-2); }
.footer-col a::after { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 1px; background: var(--color-accent); transform: scaleX(0); transform-origin: right; transition: transform var(--transition-speed); }
.footer-col a:hover { color: var(--color-white); }
.footer-col a:hover::after { transform: scaleX(1); transform-origin: left; }
.footer-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-4); }
.footer-actions a { background: var(--color-white-alpha-08); padding: 0.55rem 0.8rem; border-radius: var(--radius-full); }
.footer-actions a::after { display: none; }
.contact-list li { display: flex; gap: var(--space-2); align-items: flex-start; }
.footer-bottom { border-top: 1px solid var(--color-white-alpha-10); padding-top: var(--space-6); display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.social-links { display: flex; gap: var(--space-3); }

@media (max-width: 1120px) {
  .menu-toggle { display: flex; }
  .cta-btn-header { display: inline-flex; }
  .main-nav { position: absolute; top: 100%; left: 0; width: 100%; background: var(--color-menu-mobile-bg); color: var(--color-text); box-shadow: 0 12px 25px var(--color-shadow); height: 0; overflow: hidden; transition: height 0.4s ease; display: block; }
  .main-nav.active { height: calc(100vh - var(--total-fixed-height)); overflow-y: auto; overscroll-behavior-y: contain; }
  .nav-list { flex-direction: column; align-items: stretch; gap: 0; padding: var(--space-4); }
  .nav-parent-row { width: 100%; }
  .nav-parent-row > .nav-link { flex: 1 1 auto; }
  .submenu-toggle-btn { min-width: 48px; height: auto; margin-left: var(--space-1); align-self: stretch; }
  .nav-link { padding: 0.9rem 1rem; border-radius: var(--radius-md); }
  .nav-link::after { display: none; }
  .submenu, .service-submenu { position: static; box-shadow: none; opacity: 1; visibility: visible; transform: none; background: transparent; padding: 0 0 0 var(--space-4); display: none; border: 0; border-left: 2px solid var(--color-border); margin-left: var(--space-4); min-width: unset; max-height: none; overflow: visible; grid-template-columns: 1fr; }
  .menu-item-has-children.submenu-open > .submenu { display: block; }
  .menu-item-has-children.submenu-open > .service-submenu { display: block; }
  .submenu-arrow { margin-left: auto; }
  .mobile-quick-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); padding: 0 var(--space-4) var(--space-4); }
  .top-bar-contact span { display: none; }
}
@media (max-width: 920px) {
  .hero-grid, .grid-2, .cta-section { grid-template-columns: 1fr; }
  .hero-content, .hero-image-card { min-height: auto; }
  .hero-illustration { min-height: 20rem; }
  .hero-checklist, .hero-points, .proof-grid, .card-grid, .card-grid-4, .stats-grid, .testimonial-grid, .direction-steps, .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-section { text-align: left; }
}
@media (max-width: 640px) {
  :root { --topbar-height: 42px; --header-height: 68px; }
  body { padding-top: var(--total-fixed-height); }
  .container { width: min(100% - 1.25rem, 1280px); }
  .top-bar-inner { gap: var(--space-2); }
  .top-bar-contact { min-width: 0; flex: 1 1 auto; gap: var(--space-2); }
  .top-bar-contact a:first-child { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .top-bar-contact a:nth-child(2), .top-bar-social, .cta-btn-mobile { display: none; }
  .top-bar-actions { flex: 0 0 auto; }
  .top-bar-quote-cta { display: inline-flex; min-height: 30px; padding: 0.42rem 0.72rem; font-size: 0.72rem; letter-spacing: -0.01em; }
  .cta-btn-header { display: none; }
  .logo-text { font-size: 1.05rem; }
  .logo-icon { width: 38px; height: 38px; }
  .hero { padding-top: var(--space-4); padding-bottom: var(--space-8); }
  .hero h1 { font-size: clamp(2rem, 10vw, 2.55rem); }
  .hero-illustration { min-height: 17rem; }
  .hero-checklist, .hero-points, .proof-grid, .card-grid, .card-grid-4, .stats-grid, .testimonial-grid, .direction-steps, .footer-grid, .form-grid, .mobile-quick-actions { grid-template-columns: 1fr; }
  .service-grid { grid-template-columns: 1fr; }
  .section-padding { padding: var(--space-12) 0; }
  .form-card, .direction-box, .cta-section { padding: var(--space-5); }
}

@media (max-width: 920px) {
  .tech-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .hero-checklist-short { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tech-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-actions-single { justify-content: stretch; }
  .cta-actions-single .btn-primary { width: 100%; }
}

.service-fit-grid { margin-top: var(--space-6); }
.service-fit-grid .info-card { padding: var(--space-5); }
.service-fit-grid .info-card h3 { font-size: var(--font-size-lg); }

/* ===== SWCV11 FINAL UPDATE OVERRIDES ===== */
.header-inner { min-width: 0; }
.logo { min-width: 0; flex: 0 1 auto; }
.logo-text { min-width: 0; max-width: 190px; overflow: hidden; }
.logo-text strong, .logo-text small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.main-nav { justify-content: center; }
.header-actions { flex: 0 0 auto; }
.menu-toggle { flex: 0 0 42px; }
.hero-actions { display: flex; align-items: center; justify-content: flex-start; gap: var(--space-3); flex-wrap: nowrap; }
.hero-actions .btn-primary, .hero-actions .btn-secondary { white-space: nowrap; }
.hero-checklist-short li { white-space: nowrap; }
.home-service-card { padding: 0; overflow: hidden; }
.home-service-card > a { height: 100%; display: flex; flex-direction: column; padding: var(--space-6); color: inherit; }
.home-service-card .card-icon { width: auto; height: auto; background: transparent; border-radius: 0; display: inline-flex; place-items: unset; color: var(--color-primary); font-size: 2rem; margin-bottom: var(--space-4); transition: transform var(--transition-speed), color var(--transition-speed); }
.home-service-card:hover .card-icon { transform: translateY(-4px) scale(1.12) rotate(-5deg); color: var(--color-accent); }
.home-service-card.system-focus { background: linear-gradient(180deg, var(--color-white), var(--color-primary-soft)); border-style: dashed; }
.home-service-card.system-focus .card-icon { color: var(--color-accent); }
.home-service-card .link-arrow { margin-top: auto; }
.industries-section { background: var(--color-white); }
.industry-layout { display: grid; grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr); gap: var(--space-8); align-items: start; }
.industry-intro { position: sticky; top: calc(var(--total-fixed-height) + var(--space-6)); }
.industry-intro .section-lead { margin-left: 0; margin-right: 0; }
.industry-list { display: grid; gap: var(--space-4); }
.industry-row { display: grid; grid-template-columns: 54px 1fr; gap: var(--space-4); align-items: start; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-2xl); background: var(--color-card-alt); box-shadow: 0 8px 22px var(--color-shadow); transition: transform var(--transition-speed), border-color var(--transition-speed), box-shadow var(--transition-speed); }
.industry-row:hover { transform: translateX(6px); border-color: var(--color-primary); box-shadow: 0 18px 36px var(--color-shadow); }
.industry-row > i { width: 54px; height: 54px; border-radius: var(--radius-xl); display: grid; place-items: center; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-size-xl); }
.industry-row h3 { color: var(--color-text-strong); margin-bottom: var(--space-1); }
.industry-row p { color: var(--color-text-light); }
.tech-stack-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.tech-logo-card i { transition: transform var(--transition-speed), color var(--transition-speed); }
.tech-logo-card:hover i { transform: translateY(-3px) scale(1.08); color: var(--color-accent); }
.stat-card h3 { color: var(--color-primary); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; margin-bottom: var(--space-1); }
.stat-card h4 { color: var(--color-text-strong); font-size: var(--font-size-xl); margin-bottom: var(--space-2); }
.testimonial-carousel { position: relative; margin-top: var(--space-8); padding-inline: 3.5rem; }
.testimonial-track { display: flex; gap: var(--space-5); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: var(--space-2) var(--space-1) var(--space-5); scrollbar-width: none; }
.testimonial-track::-webkit-scrollbar { display: none; }
.testimonial-carousel .testimonial-card { flex: 0 0 calc((100% - (var(--space-5) * 2)) / 3); scroll-snap-align: center; min-height: 220px; }
.carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-white); color: var(--color-primary); box-shadow: 0 10px 24px var(--color-shadow); cursor: pointer; display: grid; place-items: center; transition: background var(--transition-speed), color var(--transition-speed), transform var(--transition-speed); z-index: 2; }
.carousel-btn:hover { background: var(--color-primary); color: var(--color-white); transform: translateY(-50%) scale(1.05); }
.carousel-prev { left: 0; }
.carousel-next { right: 0; }
.cta-actions-single { justify-content: flex-end; }

@media (max-width: 1120px) {
  .header-inner { gap: var(--space-2); }
  .logo-text { max-width: clamp(120px, 34vw, 220px); }
  .header-actions { margin-left: auto; }
  .menu-toggle { display: flex !important; position: relative; z-index: calc(var(--z-fixed) + 2); }
}
@media (max-width: 920px) {
  .hero-grid { align-items: start; }
  .hero-actions { justify-content: center; }
  .industry-layout { grid-template-columns: 1fr; }
  .industry-intro { position: static; text-align: center; }
  .industry-intro .section-lead { margin-left: auto; margin-right: auto; }
  .tech-stack-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .testimonial-carousel .testimonial-card { flex-basis: calc((100% - var(--space-5)) / 2); }
}
@media (max-width: 640px) {
  .logo-text { max-width: clamp(96px, 42vw, 165px); }
  .hero h1 { font-size: clamp(1.65rem, 8.5vw, 2.25rem); line-height: 1.08; }
  .hero-title-line { display: block; }
  .hero-actions { justify-content: center; gap: var(--space-2); }
  .hero-actions .btn-primary, .hero-actions .btn-secondary { padding-left: 0.9rem; padding-right: 0.9rem; font-size: var(--font-size-sm); }
  .hero-checklist-short { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-checklist-short li { padding-left: 0.6rem; padding-right: 0.6rem; font-size: 0.9rem; }
  .home-service-card > a { padding: var(--space-5); }
  .industry-row { grid-template-columns: 46px 1fr; padding: var(--space-4); }
  .industry-row > i { width: 46px; height: 46px; }
  .tech-stack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .testimonial-carousel { padding-inline: 0; }
  .testimonial-carousel .testimonial-card { flex-basis: 100%; }
  .carousel-btn { display: none; }
  .cta-actions-single { justify-content: stretch; }
  .cta-actions-single .btn-primary { width: 100%; }
}
@media (max-width: 380px) {
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn-primary, .hero-actions .btn-secondary { width: 100%; }
}

/* ===== REQUESTED ONLY UPDATE: HEADER CTA + TESTIMONIAL LOOP + FAQ ACCORDION ===== */
.cta-btn-header { white-space: nowrap; }
.testimonial-carousel { overflow: hidden; }
.testimonial-track { align-items: stretch; scroll-snap-type: x mandatory; }
.testimonial-carousel .testimonial-card { display: flex; flex-direction: column; justify-content: space-between; height: 240px; overflow: hidden; }
.testimonial-controls { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; pointer-events: none; }
.testimonial-controls .carousel-btn { position: static; transform: none; pointer-events: auto; }
.testimonial-controls .carousel-btn:hover { transform: scale(1.05); }

.home-faq-layout { display: grid; grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr); gap: var(--space-8); align-items: stretch; margin-top: var(--space-8); }
.faq-image-card, .faq-accordion-panel { height: 430px; min-height: 430px; max-height: 430px; border: 1px solid var(--color-border); border-radius: var(--radius-2xl); box-shadow: 0 18px 40px var(--color-shadow); }
.faq-image-card { position: relative; background: var(--color-white); padding: 0; display: block; overflow: hidden; }
.faq-image-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--color-faq-image-shade), transparent 48%, var(--color-faq-image-shade)); pointer-events: none; }
.faq-image-overlay { position: absolute; left: var(--space-5); right: var(--space-5); bottom: var(--space-5); z-index: 1; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-faq-overlay-bg); backdrop-filter: blur(10px); box-shadow: 0 12px 28px var(--color-shadow); }
.faq-image-card h3 { color: var(--color-text-strong); font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.12; margin-bottom: var(--space-2); }
.faq-image-card p { color: var(--color-text-light); max-width: 34rem; }
.faq-visual { width: 100%; height: 100%; max-height: none; margin: 0; object-fit: cover; object-position: center; }
.faq-visual-question { fill: var(--color-white); }
.faq-accordion-panel { background: var(--color-white); padding: 0; overflow: hidden; }
.faq-accordion-scroll { height: 100%; display: block; overflow-x: hidden; overflow-y: auto; border-radius: var(--radius-xl); border: 1px solid var(--color-border); background: var(--color-white); scrollbar-width: thin; }
.faq-accordion-item { border: 0; border-bottom: 1px solid var(--color-border); background: var(--color-white); transition: background var(--transition-speed), border-color var(--transition-speed), box-shadow var(--transition-speed); }
.faq-accordion-item:last-child { border-bottom: 0; }
.faq-accordion-item.is-active { background: var(--color-white); border-color: var(--color-border-strong); box-shadow: none; }
.faq-accordion-question { width: 100%; min-height: 58px; border: 0; background: var(--color-white); color: var(--color-text-strong); display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); text-align: left; font-weight: 700; line-height: 1.3; cursor: pointer; padding: var(--space-4) var(--space-5); transition: background var(--transition-speed), color var(--transition-speed), box-shadow var(--transition-speed); }
.faq-accordion-question i { color: var(--color-primary); flex: 0 0 auto; transition: transform var(--transition-speed), color var(--transition-speed); }
.faq-accordion-item.is-active .faq-accordion-question { background: var(--color-primary-soft); color: var(--color-primary); box-shadow: inset 4px 0 0 var(--color-primary); }
.faq-accordion-item.is-active .faq-accordion-question i { transform: rotate(180deg); color: var(--color-primary); }
.faq-accordion-answer { display: none; color: var(--color-text-light); padding: var(--space-4) var(--space-5) var(--space-5); overflow-y: auto; background: var(--color-white); }
.faq-accordion-item.is-active .faq-accordion-answer { display: block; }
.faq-accordion-answer p { color: var(--color-text-light); margin: 0; }

@media (max-width: 1120px) {
  .cta-btn-header { display: inline-flex; padding: 0.58rem 0.9rem; font-size: var(--font-size-sm); }
  .header-actions { gap: var(--space-2); }
}
@media (max-width: 920px) {
  .home-faq-layout { grid-template-columns: 1fr; gap: var(--space-5); }
  .faq-image-card, .faq-accordion-panel { min-height: 360px; max-height: none; }
  .faq-image-card { height: 360px; }
  .faq-accordion-panel { height: 390px; }
  .testimonial-carousel .testimonial-card { height: 250px; }
}
@media (max-width: 640px) {
  .cta-btn-header { display: none; }
  .testimonial-carousel { padding-inline: 0; }
  .testimonial-track { padding-bottom: var(--space-2); }
  .testimonial-carousel .testimonial-card { flex-basis: 100%; height: 260px; }
  .testimonial-controls { position: static; justify-content: center; gap: var(--space-3); margin-top: var(--space-3); }
  .testimonial-controls .carousel-btn { display: grid; width: 42px; height: 42px; }
  .faq-image-card { height: 320px; min-height: 320px; }
  .faq-image-overlay { left: var(--space-4); right: var(--space-4); bottom: var(--space-4); padding: var(--space-4); }
  .faq-image-card h3 { font-size: clamp(1.35rem, 7vw, 1.7rem); }
  .faq-accordion-panel { height: auto; min-height: 0; max-height: none; }
  .faq-accordion-scroll { max-height: 420px; }
  .faq-accordion-question { padding: var(--space-4); }
  .faq-accordion-answer { padding: var(--space-4); }
}
@media (max-width: 380px) {
  .top-bar-quote-cta { padding: 0.38rem 0.58rem; font-size: 0.68rem; }
}


/* ===== FINAL HOST READY CONSOLIDATED UPDATE ===== */
.stats-section .stats-grid { align-items: stretch; }
.stats-section .stat-card { text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; position: relative; overflow: hidden; }
.stats-section .stat-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); }
.stats-section .stat-icon { margin-left: auto; margin-right: auto; margin-bottom: var(--space-4); }
.stats-section .stat-card p { max-width: 18rem; margin-left: auto; margin-right: auto; }
.final-cta-wrap, .service-cta-wrap { background: var(--color-white); }
.home-final-cta, .service-cta-section { position: relative; overflow: hidden; border: 1px solid var(--color-primary); box-shadow: 0 22px 54px var(--color-shadow-strong); }
.home-final-cta::before, .service-cta-section::before { content: ""; position: absolute; width: 18rem; height: 18rem; border-radius: var(--radius-full); background: var(--color-white-alpha-08); right: -7rem; top: -7rem; pointer-events: none; }
.home-final-cta::after, .service-cta-section::after { content: ""; position: absolute; width: 14rem; height: 14rem; border-radius: var(--radius-full); background: var(--color-white-alpha-06); left: -6rem; bottom: -6rem; pointer-events: none; }
.cta-copy, .cta-actions { position: relative; z-index: 1; }
.cta-kicker { display: inline-flex; align-items: center; gap: var(--space-2); padding: 0.32rem 0.78rem; border: 1px solid var(--color-white-alpha-35); border-radius: var(--radius-full); color: var(--color-white); font-weight: 850; font-size: var(--font-size-xs); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: var(--space-3); }
.home-final-cta .btn-primary, .service-cta-section .btn-primary { min-height: 48px; box-shadow: 0 14px 28px var(--color-shadow-strong); }
.service-cta-section { grid-template-columns: minmax(0, 1fr) minmax(220px, auto); }
.service-cta-actions { justify-content: flex-end; align-items: center; }
.service-cta-actions-single { min-width: 180px; }
.service-cta-actions-single .btn-primary { min-width: 160px; }
.cta-mini-points { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.cta-mini-points span { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-white); background: var(--color-white-alpha-08); border: 1px solid var(--color-white-alpha-12); border-radius: var(--radius-full); padding: 0.45rem 0.75rem; font-weight: 750; font-size: var(--font-size-sm); }
@media (max-width: 920px) {
  .home-final-cta, .service-cta-section { text-align: center; }
  .cta-actions, .service-cta-actions { justify-content: center; }
  .cta-mini-points { justify-content: center; }
}
@media (max-width: 640px) {
  .stats-section .stats-grid { gap: var(--space-4); }
  .stats-section .stat-card { padding: var(--space-5); }
  .home-final-cta, .service-cta-section { padding: var(--space-6) var(--space-5); border-radius: var(--radius-xl); }
  .home-final-cta h2, .service-cta-section h2 { font-size: clamp(1.55rem, 8vw, 2rem); }
  .home-final-cta p, .service-cta-section p { font-size: var(--font-size-sm); }
  .home-final-cta .cta-actions-single, .service-cta-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .home-final-cta .btn-primary, .service-cta-section .btn-primary, .service-cta-section .btn-secondary { width: 100%; min-height: 48px; }
}

/* ===== SERVICE PAGE UI/UX PREMIUM LAYOUT UPDATE ===== */
.service-hero-premium {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, var(--color-primary-soft), transparent 36%),
    linear-gradient(135deg, var(--color-hero-start), var(--color-white));
  padding: var(--space-16) 0 var(--space-12);
}
.service-hero-premium::before {
  content: "";
  position: absolute;
  inset: auto -10rem -14rem auto;
  width: 32rem;
  height: 32rem;
  border-radius: var(--radius-full);
  background: var(--color-primary-soft);
  opacity: 0.72;
  pointer-events: none;
}
.service-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: var(--space-10);
  align-items: center;
}
.service-hero-copy h1 {
  color: var(--color-text-strong);
  font-size: clamp(2.25rem, 4.6vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -0.065em;
  max-width: 980px;
  margin-bottom: var(--space-4);
}
.service-hero-copy p {
  color: var(--color-text-light);
  font-size: var(--font-size-xl);
  max-width: 760px;
  margin-bottom: var(--space-6);
}
.service-hero-actions,
.service-hero-pills {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.service-hero-pills {
  margin-top: var(--space-5);
}
.service-hero-pills span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0.55rem 0.85rem;
  border-radius: var(--radius-full);
  background: var(--color-white);
  color: var(--color-primary);
  border: 1px solid var(--color-border);
  font-weight: 800;
  box-shadow: 0 8px 20px var(--color-shadow);
}
.service-hero-pills i { color: var(--color-success); }
.service-hero-card {
  position: relative;
  overflow: hidden;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-8);
  box-shadow: 0 24px 60px var(--color-shadow-strong);
}
.service-hero-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}
.service-hero-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
}
.service-hero-card-top span,
.snapshot-label,
.service-value-panel > span {
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-radius: var(--radius-full);
  padding: 0.38rem 0.78rem;
  font-size: var(--font-size-xs);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.service-hero-card-top i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-xl);
  background: var(--color-accent);
  color: var(--color-white);
  font-size: var(--font-size-xl);
}
.service-hero-card h2 {
  color: var(--color-text-strong);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.15;
  margin-bottom: var(--space-5);
}
.service-highlight-list {
  display: grid;
  gap: var(--space-3);
}
.service-highlight-list li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: var(--space-3);
  align-items: start;
  color: var(--color-text-light);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}
.service-highlight-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.service-highlight-list i { color: var(--color-success); margin-top: 0.22rem; }
.service-mini-contact {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}
.service-mini-contact a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-primary);
  font-weight: 800;
}
.service-proof-strip {
  background: var(--color-primary);
  color: var(--color-white);
  padding: var(--space-5) 0;
}
.service-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}
.service-proof-item {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-4);
  border-radius: var(--radius-xl);
  background: var(--color-white-alpha-08);
  border: 1px solid var(--color-white-alpha-12);
}
.service-proof-item i {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-lg);
  background: var(--color-white-alpha-12);
  color: var(--color-white);
}
.service-proof-item strong {
  display: block;
  color: var(--color-white);
  line-height: 1.2;
  margin-bottom: var(--space-1);
}
.service-proof-item span {
  color: var(--color-topbar-text);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.service-intro-grid,
.service-process-grid,
.service-trust-grid,
.service-faq-grid {
  display: grid;
  gap: var(--space-8);
  align-items: start;
}
.service-intro-grid { grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); }
.service-section-copy h2,
.service-trust-panel h2,
.service-faq-heading h2 {
  color: var(--color-text-strong);
  font-size: clamp(1.9rem, 3.5vw, 3.05rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
  margin-bottom: var(--space-4);
}
.service-section-copy p,
.service-trust-panel p,
.service-faq-heading p {
  color: var(--color-text-light);
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-4);
}
.service-snapshot-card,
.service-value-panel {
  position: sticky;
  top: calc(var(--total-fixed-height) + var(--space-5));
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-6);
  box-shadow: 0 18px 44px var(--color-shadow);
}
.service-snapshot-card h3,
.service-value-panel h3 {
  color: var(--color-text-strong);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.18;
  margin: var(--space-4) 0 var(--space-3);
}
.service-snapshot-card p,
.service-value-panel li {
  color: var(--color-text-light);
}
.snapshot-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.snapshot-metrics span {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-3);
  border-radius: var(--radius-lg);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  text-align: center;
  font-weight: 800;
  font-size: var(--font-size-sm);
}
.snapshot-metrics strong { font-size: var(--font-size-xl); line-height: 1; }
.service-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-8);
}
.service-feature-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-6);
  box-shadow: 0 10px 28px var(--color-shadow);
  transition: transform var(--transition-speed), box-shadow var(--transition-speed), border-color var(--transition-speed);
}
.service-feature-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
  transform: scaleX(0.25);
  transform-origin: left;
  transition: transform var(--transition-speed);
}
.service-feature-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px var(--color-shadow-strong);
  border-color: var(--color-primary);
}
.service-feature-card:hover::before { transform: scaleX(1); }
.service-feature-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-xl);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-5);
}
.service-feature-number {
  position: absolute;
  top: var(--space-5);
  right: var(--space-5);
  color: var(--color-primary-soft);
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}
.service-feature-card h3 {
  position: relative;
  color: var(--color-text-strong);
  font-size: var(--font-size-xl);
  line-height: 1.25;
  margin-bottom: var(--space-3);
  padding-right: var(--space-10);
}
.service-feature-card p {
  position: relative;
  color: var(--color-text-light);
  margin: 0;
}
.service-process-grid { grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr); }
.service-process-copy { position: sticky; top: calc(var(--total-fixed-height) + var(--space-5)); }
.service-process-list {
  display: grid;
  gap: var(--space-4);
  position: relative;
}
.service-process-list::before {
  content: "";
  position: absolute;
  left: 31px;
  top: 28px;
  bottom: 28px;
  width: 2px;
  background: var(--color-border);
}
.service-process-step {
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: var(--space-4);
  align-items: start;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-5);
  box-shadow: 0 10px 24px var(--color-shadow);
}
.service-process-step span {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-white);
  font-weight: 900;
}
.service-process-step p {
  color: var(--color-text-light);
  margin: 0;
  font-size: var(--font-size-lg);
}
.service-trust-grid { grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr); }
.service-trust-panel {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-8);
  box-shadow: 0 14px 36px var(--color-shadow);
}
.service-value-panel {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color: var(--color-white);
  border-color: var(--color-primary);
}
.service-value-panel > span {
  background: var(--color-white-alpha-12);
  color: var(--color-white);
  border: 1px solid var(--color-white-alpha-12);
}
.service-value-panel h3 { color: var(--color-white); }
.service-value-panel ul {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.service-value-panel li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: var(--space-3);
  color: var(--color-topbar-text);
}
.service-value-panel i { color: var(--color-white); margin-top: 0.2rem; }
.service-faq-grid { grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr); }
.service-faq-heading {
  position: sticky;
  top: calc(var(--total-fixed-height) + var(--space-5));
}
.service-faq-accordion {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 16px 40px var(--color-shadow);
}
.service-faq-item {
  border-bottom: 1px solid var(--color-border);
  background: var(--color-white);
}
.service-faq-item:last-child { border-bottom: 0; }
.service-faq-question {
  width: 100%;
  min-height: 64px;
  border: 0;
  background: var(--color-white);
  color: var(--color-text-strong);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  text-align: left;
  cursor: pointer;
  font-weight: 800;
  line-height: 1.3;
  transition: background var(--transition-speed), color var(--transition-speed);
}
.service-faq-question i {
  color: var(--color-primary);
  transition: transform var(--transition-speed);
  flex: 0 0 auto;
}
.service-faq-item.is-active .service-faq-question {
  background: var(--color-primary-soft);
  color: var(--color-primary);
  box-shadow: inset 4px 0 0 var(--color-primary);
}
.service-faq-item.is-active .service-faq-question i { transform: rotate(180deg); }
.service-faq-answer {
  display: none;
  padding: var(--space-4) var(--space-5) var(--space-5);
  color: var(--color-text-light);
  background: var(--color-white);
}
.service-faq-item.is-active .service-faq-answer { display: block; }
.service-faq-answer p { margin: 0; color: var(--color-text-light); }

@media (max-width: 1120px) {
  .service-hero-grid,
  .service-intro-grid,
  .service-process-grid,
  .service-trust-grid,
  .service-faq-grid { grid-template-columns: 1fr; }
  .service-snapshot-card,
  .service-process-copy,
  .service-value-panel,
  .service-faq-heading { position: static; }
  .service-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .service-hero-premium { padding: var(--space-10) 0; }
  .service-hero-copy { text-align: center; }
  .service-hero-copy p { margin-left: auto; margin-right: auto; font-size: var(--font-size-base); }
  .service-hero-actions,
  .service-hero-pills { justify-content: center; }
  .service-hero-actions .btn-primary,
  .service-hero-actions .btn-secondary { flex: 1 1 140px; }
  .service-proof-grid,
  .service-feature-grid { grid-template-columns: 1fr; }
  .service-proof-item { grid-template-columns: 44px 1fr; }
  .service-proof-item i { width: 44px; height: 44px; }
  .snapshot-metrics { grid-template-columns: 1fr; }
  .service-section-copy h2,
  .service-trust-panel h2,
  .service-faq-heading h2 { font-size: clamp(1.75rem, 8vw, 2.35rem); }
  .service-process-list::before { left: 25px; }
  .service-process-step { grid-template-columns: 52px 1fr; padding: var(--space-4); }
  .service-process-step span { width: 52px; height: 52px; }
  .service-process-step p { font-size: var(--font-size-base); }
  .service-hero-card,
  .service-trust-panel,
  .service-snapshot-card,
  .service-value-panel { padding: var(--space-5); }
}
@media (max-width: 480px) {
  .service-hero-copy h1 { font-size: clamp(1.8rem, 10vw, 2.35rem); }
  .service-hero-actions { display: grid; grid-template-columns: 1fr; }
  .service-hero-pills { display: grid; grid-template-columns: 1fr; }
  .service-feature-card { min-height: auto; }
  .service-feature-card h3 { padding-right: 0; }
  .service-feature-number { opacity: 0.45; }
  .service-faq-question { padding: var(--space-4); }
  .service-faq-answer { padding: var(--space-4); }
}

/* ===== ABOUT PAGE PREMIUM CONTENT/UI UPDATE ===== */
.about-hero-premium {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, var(--color-primary-soft), transparent 36%),
    linear-gradient(135deg, var(--color-hero-start), var(--color-white));
  padding: var(--space-16) 0 var(--space-12);
}
.about-hero-premium::before {
  content: "";
  position: absolute;
  inset: auto -10rem -12rem auto;
  width: 30rem;
  height: 30rem;
  border-radius: var(--radius-full);
  background: var(--color-primary-soft);
  pointer-events: none;
}
.about-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: var(--space-10);
  align-items: center;
}
.about-hero-copy h1 {
  color: var(--color-text-strong);
  font-size: clamp(2.25rem, 4.8vw, 4.6rem);
  line-height: 1.03;
  letter-spacing: -0.065em;
  max-width: 980px;
  margin-bottom: var(--space-4);
}
.about-hero-copy p {
  color: var(--color-text-light);
  font-size: var(--font-size-xl);
  max-width: 790px;
  margin-bottom: var(--space-6);
}
.about-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.about-profile-card {
  position: relative;
  overflow: hidden;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-8);
  box-shadow: 0 24px 60px var(--color-shadow-strong);
}
.about-profile-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}
.about-profile-icon {
  width: 64px;
  height: 64px;
  border-radius: var(--radius-2xl);
  display: grid;
  place-items: center;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-4);
}
.about-profile-label {
  display: inline-flex;
  border-radius: var(--radius-full);
  background: var(--color-accent-soft);
  color: var(--color-accent);
  padding: 0.35rem 0.75rem;
  font-size: var(--font-size-xs);
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-4);
}
.about-profile-card h2 {
  color: var(--color-text-strong);
  font-size: clamp(1.5rem, 3vw, 2.15rem);
  line-height: 1.16;
  margin-bottom: var(--space-5);
}
.about-profile-card ul {
  display: grid;
  gap: var(--space-3);
}
.about-profile-card li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-text-light);
  font-weight: 650;
}
.about-profile-card li i {
  color: var(--color-success);
  margin-top: 0.28rem;
}
.about-proof-strip {
  background: var(--color-footer-bg);
  color: var(--color-white);
  padding: var(--space-8) 0;
}
.about-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}
.about-proof-item {
  padding: var(--space-5);
  border-radius: var(--radius-2xl);
  background: var(--color-white-alpha-06);
  border: 1px solid var(--color-white-alpha-12);
}
.about-proof-item i {
  color: var(--color-accent);
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-3);
}
.about-proof-item h3 {
  color: var(--color-white);
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-2);
}
.about-proof-item p {
  color: var(--color-footer-text);
  font-size: var(--font-size-sm);
}
.about-story-grid,
.about-process-grid,
.about-local-card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  gap: var(--space-8);
  align-items: center;
}
.about-story-copy p,
.about-process-intro p,
.about-local-card p {
  color: var(--color-text-light);
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-4);
}
.about-story-panel {
  border-radius: var(--radius-2xl);
  padding: var(--space-7);
  background: var(--color-primary-dark);
  color: var(--color-white);
  box-shadow: 0 24px 56px var(--color-shadow-strong);
}
.about-story-panel h3 {
  font-size: var(--font-size-2xl);
  line-height: 1.18;
  margin-bottom: var(--space-5);
}
.about-mini-list {
  display: grid;
  gap: var(--space-4);
}
.about-mini-list div {
  padding: var(--space-4);
  border-radius: var(--radius-xl);
  background: var(--color-white-alpha-06);
  border: 1px solid var(--color-white-alpha-10);
}
.about-mini-list strong,
.about-mini-list span {
  display: block;
}
.about-mini-list strong {
  color: var(--color-white);
  margin-bottom: var(--space-1);
}
.about-mini-list span {
  color: var(--color-footer-text);
}
.about-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}
.about-capability-card {
  position: relative;
  overflow: hidden;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-6);
  box-shadow: 0 10px 26px var(--color-shadow);
  transition: transform var(--transition-speed), border-color var(--transition-speed), box-shadow var(--transition-speed);
}
.about-capability-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}
.about-capability-card:hover {
  transform: translateY(-6px);
  border-color: var(--color-primary);
  box-shadow: 0 22px 42px var(--color-shadow);
}
.about-capability-card i {
  color: var(--color-primary);
  font-size: var(--font-size-3xl);
  margin-bottom: var(--space-4);
  transition: transform var(--transition-speed), color var(--transition-speed);
}
.about-capability-card:hover i {
  color: var(--color-accent);
  transform: translateY(-4px) scale(1.08);
}
.about-capability-card h3 {
  color: var(--color-text-strong);
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-2);
}
.about-capability-card p {
  color: var(--color-text-light);
}
.about-process-intro {
  align-self: start;
  position: sticky;
  top: calc(var(--total-fixed-height) + var(--space-6));
}
.about-process-list {
  display: grid;
  gap: var(--space-4);
}
.about-process-step {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: var(--space-4);
  align-items: start;
  padding: var(--space-5);
  border-radius: var(--radius-2xl);
  border: 1px solid var(--color-border);
  background: var(--color-white);
  box-shadow: 0 10px 26px var(--color-shadow);
}
.about-process-step span {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-xl);
  background: var(--color-primary);
  color: var(--color-white);
  font-weight: 900;
}
.about-process-step h3 {
  color: var(--color-text-strong);
  margin-bottom: var(--space-1);
}
.about-process-step p {
  color: var(--color-text-light);
}
.about-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-8);
}
.about-local-section {
  padding-top: 0;
}
.about-local-card {
  border-radius: var(--radius-2xl);
  border: 1px solid var(--color-border);
  background: linear-gradient(135deg, var(--color-white), var(--color-primary-soft));
  padding: var(--space-8);
  box-shadow: 0 20px 48px var(--color-shadow);
}
.about-local-card h2 {
  color: var(--color-text-strong);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  line-height: 1.12;
  letter-spacing: -0.045em;
  margin-bottom: var(--space-3);
}
.about-local-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.about-local-list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: var(--radius-xl);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  color: var(--color-text-strong);
  font-weight: 800;
}
.about-local-list i {
  color: var(--color-accent);
}
.about-final-cta-wrap {
  padding-top: 0;
}
.about-final-cta {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-primary);
  box-shadow: 0 22px 54px var(--color-shadow-strong);
}
@media (max-width: 920px) {
  .about-hero-grid,
  .about-story-grid,
  .about-process-grid,
  .about-local-card {
    grid-template-columns: 1fr;
  }
  .about-proof-grid,
  .about-capability-grid,
  .about-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .about-process-intro {
    position: static;
  }
  .about-local-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .about-hero-premium {
    padding: var(--space-12) 0 var(--space-10);
  }
  .about-hero-copy h1 {
    font-size: clamp(1.85rem, 9vw, 2.55rem);
  }
  .about-hero-copy p {
    font-size: var(--font-size-base);
  }
  .about-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .about-profile-card,
  .about-story-panel,
  .about-local-card {
    padding: var(--space-5);
    border-radius: var(--radius-xl);
  }
  .about-proof-grid,
  .about-capability-grid,
  .about-values-grid {
    grid-template-columns: 1fr;
  }
  .about-process-step {
    grid-template-columns: 48px 1fr;
    padding: var(--space-4);
  }
  .about-process-step span {
    width: 48px;
    height: 48px;
  }
}

/* Contact page final UI update */
.contact-hero {
  background: linear-gradient(135deg, var(--color-hero-start), var(--color-white));
  padding: var(--space-12) 0;
  overflow: hidden;
}
.contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.8fr);
  gap: var(--space-8);
  align-items: center;
}
.contact-hero-copy h1 {
  font-size: clamp(2.2rem, 4.6vw, 4.4rem);
  line-height: 1.05;
  letter-spacing: -0.055em;
  color: var(--color-text-strong);
  max-width: 860px;
  margin-bottom: var(--space-4);
}
.contact-hero-copy p {
  max-width: 760px;
  color: var(--color-text-light);
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-5);
}
.contact-hero-actions,
.contact-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}
.contact-hero-points {
  margin-top: var(--space-5);
}
.contact-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  color: var(--color-text-light);
  border-radius: var(--radius-full);
  padding: 0.65rem 0.95rem;
  font-weight: 800;
  box-shadow: 0 8px 22px var(--color-shadow);
}
.contact-hero-points i { color: var(--color-success); }
.contact-hero-card,
.contact-form-card,
.contact-info-panel,
.contact-next-card {
  border-radius: var(--radius-2xl);
  box-shadow: 0 18px 40px var(--color-shadow);
}
.contact-hero-card {
  background: var(--color-primary);
  color: var(--color-white);
  padding: var(--space-8);
  position: relative;
  overflow: hidden;
}
.contact-hero-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -56px;
  bottom: -56px;
  border-radius: var(--radius-full);
  background: var(--color-white-alpha-10);
}
.contact-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-accent);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: var(--font-size-xs);
  margin-bottom: var(--space-3);
}
.contact-hero-card .contact-card-kicker,
.contact-info-panel .contact-card-kicker { color: var(--color-white); }
.contact-hero-card h2,
.contact-info-panel h2 {
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.12;
  margin-bottom: var(--space-4);
}
.contact-tick-list {
  display: grid;
  gap: var(--space-3);
  position: relative;
  z-index: 1;
}
.contact-tick-list li {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
  color: var(--color-topbar-text);
  font-weight: 700;
}
.contact-tick-list li::before {
  content: "✓";
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius-full);
  background: var(--color-white-alpha-12);
  color: var(--color-white);
  flex: 0 0 auto;
  font-weight: 900;
}
.contact-main-section { background: var(--color-white); }
.contact-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap: var(--space-8);
  align-items: start;
}
.contact-info-panel {
  background: var(--color-footer-bg);
  color: var(--color-white);
  padding: var(--space-8);
  position: sticky;
  top: calc(var(--total-fixed-height) + var(--space-5));
}
.contact-info-panel p { color: var(--color-footer-text); margin-bottom: var(--space-5); }
.contact-action-list { display: grid; gap: var(--space-3); }
.contact-action-card {
  display: grid;
  grid-template-columns: 44px 1fr;
  column-gap: var(--space-3);
  align-items: center;
  padding: var(--space-4);
  border: 1px solid var(--color-white-alpha-12);
  border-radius: var(--radius-xl);
  background: var(--color-white-alpha-06);
  transition: transform var(--transition-speed), background var(--transition-speed), border-color var(--transition-speed);
}
.contact-action-card:hover { transform: translateY(-3px); background: var(--color-white-alpha-10); border-color: var(--color-white-alpha-35); }
.contact-action-card span {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: var(--color-white);
}
.contact-action-card strong { color: var(--color-white); line-height: 1.2; }
.contact-action-card small { color: var(--color-footer-text); word-break: break-word; }
.contact-response-box {
  margin-top: var(--space-5);
  padding: var(--space-5);
  border-radius: var(--radius-xl);
  background: var(--color-white-alpha-06);
  border: 1px solid var(--color-white-alpha-12);
}
.contact-response-box h3 { margin-bottom: var(--space-2); color: var(--color-white); }
.contact-response-box p { margin-bottom: 0; }
.contact-form-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  padding: var(--space-8);
}
.contact-form-head { margin-bottom: var(--space-5); }
.contact-form-head h2 {
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  color: var(--color-text-strong);
  line-height: 1.12;
  margin-bottom: var(--space-2);
}
.contact-form-head p { color: var(--color-text-light); font-size: var(--font-size-lg); }
.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
.contact-field { display: grid; gap: var(--space-2); }
.contact-field-full { grid-column: 1 / -1; }
.contact-field > label { font-weight: 900; color: var(--color-text-strong); }
.contact-form span[data-valmsg-for] {
  color: var(--color-accent);
  font-size: var(--font-size-sm);
  font-weight: 700;
}
.contact-form .success-message {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-xl);
  background: var(--color-success-soft);
  color: var(--color-success-dark);
  border: 1px solid var(--color-success-border);
  font-weight: 800;
}
.contact-form .validation-summary { margin-bottom: var(--space-4); }
.contact-form .full-btn { width: 100%; margin-top: var(--space-5); min-height: 54px; border: 0; cursor: pointer; }
.contact-next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}
.contact-next-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  padding: var(--space-6);
  transition: transform var(--transition-speed), border-color var(--transition-speed), box-shadow var(--transition-speed);
}
.contact-next-card:hover { transform: translateY(-6px); border-color: var(--color-primary); box-shadow: 0 24px 46px var(--color-shadow); }
.contact-next-card span {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-lg);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-weight: 950;
  margin-bottom: var(--space-4);
}
.contact-next-card h3 { color: var(--color-text-strong); font-size: var(--font-size-xl); margin-bottom: var(--space-2); }
.contact-next-card p { color: var(--color-text-light); }

@media (max-width: 991.98px) {
  .contact-hero-grid,
  .contact-layout,
  .contact-next-grid { grid-template-columns: 1fr; }
  .contact-info-panel { position: static; }
}

@media (max-width: 575.98px) {
  .contact-hero { padding: var(--space-8) 0; }
  .contact-hero-copy h1 { font-size: clamp(2rem, 12vw, 3rem); }
  .contact-hero-copy p { font-size: var(--font-size-base); }
  .contact-hero-actions .btn-primary,
  .contact-hero-actions .btn-secondary { flex: 1 1 0; min-width: 0; }
  .contact-hero-points span { width: 100%; justify-content: center; }
  .contact-hero-card,
  .contact-info-panel,
  .contact-form-card { padding: var(--space-5); }
  .contact-form-grid { grid-template-columns: 1fr; }
  .contact-action-card { grid-template-columns: 40px 1fr; padding: var(--space-3); }
}

/* ===== HERO H1 IMAGE OVERLAP FIX + EXTERNAL SVG IMAGE SUPPORT ===== */
.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
  align-items: center;
  gap: clamp(var(--space-5), 4vw, var(--space-10));
}
.hero-content {
  position: relative;
  z-index: 2;
  min-width: 0;
  max-width: 760px;
}
.hero h1 {
  max-width: 740px;
  font-size: clamp(2rem, 2.72vw, 2.82rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: normal;
}
.hero-title-line {
  white-space: normal !important;
}
.hero-image-card {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  max-width: 560px;
  justify-self: end;
  min-height: clamp(25rem, 36vw, 33rem);
  padding: clamp(var(--space-4), 2vw, var(--space-5));
}
.hero-image-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 0;
  overflow: hidden;
  border-radius: calc(var(--radius-2xl) - var(--space-2));
  background: var(--color-primary-soft);
}
.hero-illustration,
.hero-illustration-img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}
.hero-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.faq-visual-img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 1120px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, 0.78fr); }
  .hero h1 { font-size: clamp(1.9rem, 3vw, 2.55rem); }
}
@media (max-width: 920px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-content { max-width: none; }
  .hero h1 { max-width: 100%; }
  .hero-image-card { max-width: 100%; justify-self: stretch; min-height: auto; }
  .hero-image-wrap { aspect-ratio: 16 / 10; }
}
@media (max-width: 640px) {
  .hero { padding-top: var(--space-6); }
  .hero h1 { font-size: clamp(1.75rem, 8vw, 2.25rem); letter-spacing: -0.04em; }
  .hero-image-wrap { aspect-ratio: 16 / 11; }
}

/* ===== FAQ IMAGE CONFIRMED FIX: LEFT SIDE FULL IMAGE CONTAINER ===== */
.home-faq-layout {
  grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
  align-items: stretch;
}
.faq-image-card,
.faq-accordion-panel {
  height: 430px;
  min-height: 430px;
  max-height: 430px;
}
.faq-image-card {
  position: relative;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
}
.faq-image-card .faq-visual,
.faq-image-card .faq-visual-img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
}
.faq-image-overlay {
  position: absolute;
  left: var(--space-5);
  right: var(--space-5);
  bottom: var(--space-5);
  z-index: 2;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background: var(--color-faq-overlay-bg);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 28px var(--color-shadow);
}
@media (max-width: 920px) {
  .home-faq-layout { grid-template-columns: 1fr; }
  .faq-image-card { height: 360px; min-height: 360px; max-height: 360px; }
  .faq-accordion-panel { height: 390px; min-height: 390px; max-height: 390px; }
}
@media (max-width: 640px) {
  .faq-image-card { height: 320px; min-height: 320px; max-height: 320px; }
  .faq-image-overlay { left: var(--space-4); right: var(--space-4); bottom: var(--space-4); padding: var(--space-4); }
}


/* ===== HERO HEIGHT + FAQ TRANSPARENT OVERLAY + DESKTOP TOPBAR SCROLL UPDATE ===== */
@media (min-width: 1121px) {
  .header-wrapper { transition: transform 0.24s ease, box-shadow 0.24s ease; }
  .header-wrapper.topbar-hidden { transform: translateY(calc(-1 * var(--topbar-height))); box-shadow: 0 8px 24px var(--color-shadow); }
}

@media (max-width: 1120px) {
  .header-wrapper,
  .header-wrapper.topbar-hidden { transform: none !important; }
}

.hero {
  padding-top: clamp(0.75rem, 1.4vw, 1.35rem);
  padding-bottom: clamp(1.25rem, 2.4vw, 2rem);
}
.hero-grid {
  min-height: min(590px, calc(100vh - var(--total-fixed-height) - 1.5rem));
  align-items: center;
}
.hero-content,
.hero-image-card {
  min-height: clamp(22rem, 34vw, 30rem);
}
.hero-image-card {
  max-width: 540px;
  padding: clamp(0.85rem, 1.4vw, 1.25rem);
}
.hero-image-wrap {
  aspect-ratio: 16 / 10;
}
.hero-illustration,
.hero-illustration-img {
  object-fit: cover;
  object-position: center;
}
.hero-image-caption {
  padding-top: 0.75rem;
}
.hero-image-caption strong {
  font-size: var(--font-size-base);
}
.hero-image-caption span {
  font-size: var(--font-size-xs);
}

.faq-image-card::after {
  background: linear-gradient(180deg, transparent 0%, transparent 56%, var(--color-shadow-strong) 100%);
}
.faq-image-overlay {
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 20%;
  padding: var(--space-5);
  border: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.faq-image-overlay .eyebrow {
  width: max-content;
  margin-bottom: var(--space-2);
}
.faq-image-card h3 {
  color: var(--color-white);
  text-shadow: 0 2px 10px var(--color-shadow-strong);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 34rem;
}
.faq-image-card p {
  color: var(--color-topbar-text);
  text-shadow: 0 2px 10px var(--color-shadow-strong);
  max-width: 34rem;
}

@media (max-width: 920px) {
  .hero-grid { min-height: auto; }
  .hero-content,
  .hero-image-card { min-height: auto; }
  .hero-image-card { max-width: 100%; }
  .hero-image-wrap { aspect-ratio: 16 / 9; }
}

@media (max-width: 640px) {
  .hero { padding-top: var(--space-4); padding-bottom: var(--space-6); }
  .faq-image-overlay { padding: var(--space-4); min-height: 22%; }
  .faq-image-card h3 { font-size: clamp(1.2rem, 6vw, 1.45rem); }
  .faq-image-card p { font-size: var(--font-size-sm); }
}

/* ===== PAGE VISIT TRACK VIEW ===== */
.track-page-section { background: var(--color-section-bg); }
.track-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-2xl); box-shadow: 0 18px 42px var(--color-shadow); overflow: hidden; }
.track-card-header { padding: var(--space-5); border-bottom: 1px solid var(--color-border); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.track-card-header h2 { color: var(--color-text-strong); font-size: var(--font-size-2xl); line-height: 1.2; }
.track-card-header p { color: var(--color-text-light); margin-top: var(--space-1); }
.track-table-wrap { overflow-x: auto; }
.track-table { width: 100%; border-collapse: collapse; min-width: 960px; }
.track-table th, .track-table td { text-align: left; padding: 0.85rem 1rem; border-bottom: 1px solid var(--color-border); vertical-align: top; font-size: var(--font-size-sm); }
.track-table th { color: var(--color-primary); background: var(--color-primary-soft); font-weight: 850; white-space: nowrap; }
.track-table td { color: var(--color-text-light); }
.track-table strong { color: var(--color-text-strong); display: block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.track-url-cell { max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.track-empty { padding: var(--space-8); text-align: center; color: var(--color-text-light); }


/* ===== NEXT UPDATE: FAQ OVERLAY 3-LINE LIMIT + JPG IMAGE FILENAMES ===== */
.faq-image-overlay {
  min-height: 20%;
  max-height: 20%;
  overflow: hidden;
}
.faq-image-overlay .eyebrow {
  display: none !important;
}
.faq-image-card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
  margin-bottom: 0.25rem;
}
.faq-image-card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  margin-bottom: 0;
}
@media (max-width: 640px) {
  .faq-image-overlay { min-height: 22%; max-height: 22%; }
}

/* ===== ADMIN SQL STATUS UI ===== */
.admin-sql-section { background: var(--color-section-bg); }
.admin-sql-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin: var(--space-6) 0; }
.admin-status-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-xl); box-shadow: 0 14px 34px var(--color-shadow); padding: var(--space-5); }
.admin-status-card strong { display:block; color: var(--color-text-strong); font-size: var(--font-size-lg); margin-bottom: var(--space-2); }
.status-pill { display:inline-flex; align-items:center; gap:.45rem; border-radius:999px; padding:.45rem .75rem; font-weight:700; font-size:var(--font-size-sm); border:1px solid var(--color-border); }
.status-ok { color: var(--color-primary); background: var(--color-primary-soft); }
.status-bad { color: var(--color-accent-strong); background: var(--color-accent-soft); }
.admin-actions { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-5); }
.admin-code-box { background: var(--color-text-strong); color: var(--color-white); border-radius: var(--radius-xl); padding: var(--space-4); overflow:auto; }
@media (max-width: 920px) { .admin-sql-grid { grid-template-columns: 1fr; } }


/* Runtime SQL connection admin form */
.runtime-connection-form input { width: 100%; min-height: 44px; border: 1px solid var(--swc-border, #d8e2e7); border-radius: 12px; padding: 10px 12px; }
.runtime-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.runtime-grid label, .runtime-timeout { display: grid; gap: 7px; font-weight: 700; color: var(--swc-text, #0f172a); }
.runtime-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 18px 0; }
.runtime-checks label { display: flex; gap: 8px; align-items: center; font-weight: 600; }
.runtime-checks input { width: auto; min-height: auto; }
.runtime-table-list { columns: 2; margin: 0; padding-left: 1.1rem; }
.status-ok-text { color: var(--swc-success, #13795b); font-weight: 700; }
.status-bad-text { color: var(--swc-danger, #b42318); font-weight: 700; }
@media (max-width: 900px) { .runtime-grid, .runtime-checks { grid-template-columns: 1fr; } .runtime-table-list { columns: 1; } }

/* Admin runtime database loading/progress UI */
.status-loading { color: var(--color-text-muted); background: var(--color-section-bg); }
.admin-loading-result { min-height: 92px; }
.admin-loading-line { display: flex; align-items: center; gap: var(--space-4); }
.admin-loading-line p { margin: 0; }
.admin-spinner { width: 34px; height: 34px; border-radius: 50%; border: 4px solid var(--color-border); border-top-color: var(--color-accent); display: inline-flex; flex: 0 0 auto; animation: adminSpin 0.9s linear infinite; }
.status-success-box { border-color: var(--color-primary-soft); background: var(--color-primary-soft); }
.status-error-box { border-color: var(--color-accent-soft); background: var(--color-accent-soft); }
@keyframes adminSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .admin-spinner { animation: none; } }
.d-none { display: none !important; }

/* Image path hardening update: hero/FAQ images use real <img> assets and current app base path. */
.hero-illustration-img { display: block; object-fit: contain; object-position: center; max-width: 100%; max-height: 100%; }
.faq-visual-img { display: block; }


/* ===== FAQ OVERLAY FINAL FIX: 3 LINES ONLY, TRANSPARENT, NO CUT TEXT ===== */
.faq-image-card::after {
  background: linear-gradient(180deg, transparent 0%, transparent 52%, var(--color-shadow-strong) 100%) !important;
}
.faq-image-overlay {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 20% !important;
  min-height: 84px !important;
  max-height: 108px !important;
  padding: 0.85rem 1.35rem 1rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}
.faq-image-overlay .eyebrow {
  display: none !important;
}
.faq-image-card .faq-image-overlay h3 {
  color: var(--color-white) !important;
  text-shadow: 0 2px 12px var(--color-shadow-strong) !important;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem) !important;
  line-height: 1.12 !important;
  margin: 0 0 0.25rem !important;
  max-width: 100% !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.faq-image-card .faq-image-overlay p {
  color: var(--color-topbar-text) !important;
  text-shadow: 0 2px 12px var(--color-shadow-strong) !important;
  font-size: var(--font-size-sm) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  max-width: 100% !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
@media (max-width: 640px) {
  .faq-image-overlay {
    height: 24% !important;
    min-height: 88px !important;
    max-height: 112px !important;
    padding: 0.75rem 1rem 0.95rem !important;
  }
  .faq-image-card .faq-image-overlay h3 {
    font-size: clamp(1.05rem, 5vw, 1.3rem) !important;
  }
  .faq-image-card .faq-image-overlay p {
    font-size: 0.82rem !important;
  }
}
