@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');

:root { --blue: #285bff; --blue-hover: #1846e4; --ink: #15213b; --body: #697386; --muted: #9ba3b2; --line: #e7eaf1; --pale: #f5f7fc; --sans: 'DM Sans', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 95px; }
body { margin: 0; font-family: var(--sans); color: var(--ink); background: #fff; -webkit-font-smoothing: antialiased; font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; color: inherit; background: none; border: 0; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
button, a { touch-action: manipulation; }
svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
img { display: block; width: 100%; object-fit: cover; }
[hidden] { display: none !important; }
.icon-library { width: 0; height: 0; position: absolute; overflow: hidden; }
.container { width: calc(100% - 112px); max-width: 1260px; margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 10; background: #ffffffee; backdrop-filter: blur(16px); border-bottom: 1px solid #eceff4; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; height: 86px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; }
.brand-symbol { display: block; position: relative; width: 44px; height: 34px; overflow: hidden; flex-shrink: 0; }
.brand-symbol img { position: absolute; width: 118%; height: auto; left: -9%; top: -42%; }
.brand-wordmark { font-size: 23px; font-weight: 700; letter-spacing: -.9px; line-height: 1; }
.brand-wordmark > span { font-weight: 500; }
.brand-wordmark > small { display: block; font-size: 9px; font-weight: 500; letter-spacing: 2.8px; margin-top: 9px; padding-left: 2px; }
.desktop-nav { display: flex; height: 100%; align-items: center; gap: 34px; margin-left: auto; }
.desktop-nav > a { font-size: 12px; color: #677083; height: 100%; display: flex; align-items: center; position: relative; white-space: nowrap; }
.desktop-nav > a.active { color: var(--blue); font-weight: 500; }
.desktop-nav > a.active::after { content: ''; width: 17px; height: 2px; position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); background: var(--blue); }
.desktop-nav > a:hover { color: var(--blue); }
.header-actions { display: flex; align-items: center; gap: 24px; margin-left: 45px; }
.language-toggle { display: flex; gap: 7px; align-items: center; font-size: 11px; padding: 0; white-space: nowrap; }
.language-toggle svg { width: 15px; height: 15px; color: #677083; }
.chevron { color: #969fb1; font-size: 15px; margin-left: 3px; }
.header-contact { display: inline-flex; align-items: center; gap: 27px; font-size: 11px; background: var(--blue); color: #fff; padding: 13px 18px; border-radius: 4px; }
.header-contact:hover, .button-primary:hover { background: var(--blue-hover); }
.header-contact svg { width: 15px; height: 15px; }
.icon-button { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 50%; }
.icon-button:hover { background: #f0f4ff; }
.menu-toggle { display: none; }
.mobile-nav { padding: 8px 0 20px; }
.hero { background: linear-gradient(110deg, #fafbfd 0%, #f5f7fc 52%, #eef2fc 100%); position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; width: 60%; right: 0; top: 0; bottom: 0; background-image: radial-gradient(#93a3c436 .6px, transparent .6px); background-size: 19px 19px; mask-image: linear-gradient(90deg, transparent, #000 60%, transparent); }
.hero-inner { display: grid; grid-template-columns: 1fr 1.06fr; align-items: center; min-height: 584px; position: relative; }
.hero-content { position: relative; z-index: 2; padding: 58px 0 62px; }
.hero-eyebrow { display: flex; align-items: center; gap: 10px; color: #607195; font-size: 9px; letter-spacing: 1.7px; font-weight: 500; }
.status-dot { width: 5px; height: 5px; background: var(--blue); box-shadow: 0 0 0 4px #285bff0d; border-radius: 50%; }
.eyebrow-line { width: 31px; height: 1px; background: #b8c4dd; margin-left: 7px; }
h1 { font-size: clamp(42px, 4.25vw, 63px); line-height: 1.45; letter-spacing: -1.5px; font-weight: 700; margin: 27px 0 22px; }
h1 span { color: var(--blue); }
.hero-description { color: var(--body); font-size: 13px; line-height: 2; margin: 0 0 33px; letter-spacing: .2px; }
.hero-actions { display: flex; align-items: center; gap: 27px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 23px; padding: 15px 21px; border-radius: 4px; font-size: 11px; font-weight: 500; transition: background .2s, transform .2s; }
.button-primary { background: var(--blue); color: #fff; }
.button-primary svg { width: 17px; height: 17px; }
.button-primary:hover svg, .text-link:hover svg { transform: translateX(3px); }
.button svg, .text-link svg { transition: transform .2s; }
.button-text { padding: 0; gap: 9px; font-size: 11px; color: #4e5a71; }
.play-icon { width: 25px; height: 25px; border: 1px solid #bcc6da; border-radius: 50%; display: grid; place-items: center; font-size: 13px; }
.hero-footnote { display: flex; align-items: center; gap: 13px; color: #8a96ac; font-size: 8px; letter-spacing: 1px; margin-top: 48px; }
.hero-footnote > span:last-child { font-size: 9px; letter-spacing: .2px; }
.small-cross { font-size: 21px; font-weight: 400; color: #98a9c8; }
.hero-footnote-divider { width: 1px; height: 10px; background: #d5dce8; }
.hero-visual { position: relative; min-width: 0; align-self: stretch; }
.hero-art { position: absolute; width: 116%; height: 100%; left: -5%; top: 4%; object-fit: contain; }
.orbital-glow { position: absolute; width: 430px; height: 430px; border-radius: 50%; background: radial-gradient(ellipse, #92b8ff1a, #91b5ff10 48%, transparent 72%); left: 11%; top: 14%; }
.visual-coordinate { position: absolute; color: #9aa8bf; font-size: 6px; font-weight: 500; letter-spacing: 1.4px; }
.visual-coordinate.top { top: 43px; right: 10px; }
.visual-coordinate.bottom { bottom: 38px; right: 3px; }
.floating-tag { display: flex; align-items: center; padding: 13px 15px; border: 1px solid #fff; border-radius: 7px; background: #ffffffab; backdrop-filter: blur(14px); box-shadow: 0 10px 24px #243b9a09; position: absolute; gap: 10px; }
.tag-ai { top: 122px; right: -5px; }
.tag-icon { width: 35px; height: 35px; display: grid; place-items: center; color: var(--blue); background: #edf2ff; border-radius: 5px; }
.tag-icon > svg { width: 22px; height: 22px; }
.floating-tag strong { display: block; font-weight: 500; font-size: 11px; }
.floating-tag small { display: block; font-size: 6px; margin-top: 6px; letter-spacing: .8px; color: #a0aabf; }
.tag-dot { width: 4px; height: 4px; background: #447fff; margin-left: 14px; border-radius: 50%; }
.tag-code { left: -14px; bottom: 125px; padding: 13px 17px; }
.code-brackets { font-size: 23px; font-weight: 500; color: #3866ef; margin-right: 3px; letter-spacing: -3px; }
.visual-cross { position: absolute; font-size: 21px; color: #adbddd; line-height: 1; }
.cross-one { right: 13px; bottom: 100px; }
.cross-two { left: 48px; top: 98px; }
.hero-bottom { display: flex; align-items: center; justify-content: space-between; height: 61px; border-top: 1px solid #dce2ee; position: relative; }
.hero-bottom > span:first-child { font-size: 10px; color: #8490a6; letter-spacing: 1px; }
.hero-bottom > a { display: flex; align-items: center; gap: 18px; color: #65748f; font-size: 8px; letter-spacing: 1.4px; }
.hero-bottom > a > span { font-size: 16px; }
.hero-index { font-size: 11px; color: var(--blue); }
.hero-index > span { font-size: 9px; color: #9eabc1; margin-left: 6px; }
.principles-strip { border-bottom: 1px solid var(--line); background: #fff; }
.principles-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 104px; }
.principles-title { font-size: 12px; font-weight: 500; padding-right: 48px; border-right: 1px solid var(--line); }
.principles-title > span { display: block; font-size: 9px; font-weight: 400; color: #9ba4b4; margin-top: 7px; }
.principles-inner > div { display: flex; align-items: center; gap: 10px; color: #54627a; font-size: 12px; font-weight: 500; }
.principles-inner > div > svg { width: 23px; height: 23px; color: #7491d0; stroke-width: 1.2; }
.principles-inner small { color: #a4acba; font-size: 7px; letter-spacing: .7px; margin-left: 5px; font-weight: 400; }
.section-pad { padding-block: 78px; }
.section-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 35px; }
.section-eyebrow { display: flex; align-items: center; gap: 9px; font-size: 8px; letter-spacing: 1.6px; color: #7382a0; font-weight: 500; }
.section-eyebrow > span { width: 5px; height: 5px; border: 1px solid var(--blue); }
h2 { font-size: 31px; line-height: 1.55; letter-spacing: -.6px; font-weight: 600; margin: 17px 0 0; }
h2 > span { color: #647084; }
.section-intro > p { font-size: 11px; color: var(--body); line-height: 1.95; margin: 0 0 6px; }
.subtle-note { font-size: 8px; color: #a4acba; }
.solution-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.solution-card { border: 1px solid var(--line); border-radius: 7px; padding: 25px 23px 0; background: #fff; transition: border-color .25s, box-shadow .25s, transform .25s; }
.solution-card:hover { border-color: #a8bdff; box-shadow: 0 12px 36px #214dbf0a; transform: translateY(-5px); }
.solution-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.solution-icon { display: grid; place-items: center; width: 45px; height: 45px; background: #f0f4ff; color: var(--blue); border-radius: 9px; }
.solution-icon > svg { width: 25px; height: 25px; stroke-width: 1.4; }
.card-number { color: #b9c2d4; font-size: 10px; font-weight: 500; align-self: flex-start; padding-top: 2px; }
.card-english { font-size: 7px; color: #9ca6ba; letter-spacing: .9px; }
.solution-card h3 { font-size: 19px; font-weight: 500; margin: 10px 0 13px; }
.solution-card p { font-size: 11px; line-height: 2; color: var(--body); margin: 0; min-height: 66px; }
.solution-tags { display: flex; gap: 7px; margin: 17px 0 24px; }
.solution-tags > span { font-size: 8px; color: #8593ad; background: #f6f8fc; border-radius: 3px; padding: 5px 7px; }
.solution-card > button { display: flex; justify-content: space-between; align-items: center; font-size: 10px; width: 100%; padding: 17px 0; border-top: 1px solid var(--line); color: #5c6a82; }
.solution-card > button > svg { width: 16px; height: 16px; color: #91a5d0; transition: transform .2s; }
.solution-card > button:hover { color: var(--blue); }
.solution-card > button:hover svg { color: var(--blue); transform: translateX(3px); }
.technology { background: #111f3c; color: #fff; position: relative; overflow: hidden; }
.technology::after { content: ''; position: absolute; inset: 0 0 0 50%; background: radial-gradient(ellipse at 90% 100%, #285aff1c, transparent 60%); pointer-events: none; }
.technology-layout { display: grid; grid-template-columns: .9fr 1fr; gap: 105px; position: relative; z-index: 1; }
.section-eyebrow.light { color: #8496b8; }
.section-eyebrow.light > span { border-color: #6088ff; }
.technology h2 { font-size: 37px; line-height: 1.55; margin: 24px 0 18px; }
.technology h2 > span { color: #80a5ff; }
.technology-copy > p { color: #92a1ba; font-size: 12px; line-height: 2; margin: 0 0 27px; }
.text-link { display: inline-flex; align-items: center; gap: 26px; color: var(--blue); padding: 0; font-size: 11px; font-weight: 500; }
.text-link > svg { width: 16px; height: 16px; }
.light-link { color: #fff; }
.technology-footer { display: flex; align-items: center; gap: 14px; margin-top: 40px; color: #657b9b; font-size: 7px; letter-spacing: 1.2px; }
.technical-cross { font-size: 24px; line-height: 1; }
.technology-detail { padding-top: 4px; }
.capability-tabs { display: flex; gap: 34px; border-bottom: 1px solid #ffffff21; }
.capability-tabs > button { font-size: 12px; color: #8191ad; padding: 0 0 16px; position: relative; }
.capability-tabs > button.active { color: #fff; }
.capability-tabs > button.active::after { position: absolute; bottom: -1px; width: 100%; height: 2px; background: #6088ff; content: ''; left: 0; }
.capability-item { display: flex; gap: 16px; padding-block: 25px; border-bottom: 1px solid #ffffff10; }
.capability-item > span { width: 31px; height: 31px; border: 1px solid #385077; color: #7c9ce0; display: grid; place-items: center; border-radius: 6px; margin-top: 2px; flex-shrink: 0; }
.capability-item > span > svg { width: 16px; height: 16px; }
.capability-item h3 { font-size: 14px; font-weight: 500; margin: 0 0 9px; }
.capability-item p { margin: 0; color: #8c9bb4; font-size: 11px; line-height: 1.9; }
.tech-tags { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 21px; }
.tech-tags > span { border: 1px solid #ffffff20; border-radius: 3px; color: #8498bc; padding: 6px 10px; font-size: 8px; }
.about { padding-block: 87px; }
.about-layout { display: grid; grid-template-columns: 1fr 1.02fr; gap: 91px; align-items: center; }
.about-image { position: relative; height: 460px; overflow: hidden; border-radius: 7px; background: #edf2f9; }
.about-image > img { width: 100%; height: 100%; object-position: 40% center; }
.about-image-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, #133a7010, #14295409 40%, #172a55a1); }
.about-image-label { position: absolute; left: 31px; bottom: 44px; font-size: 7px; letter-spacing: 1.8px; color: #dde6f7; }
.label-line { display: block; height: 1px; width: 29px; margin-bottom: 17px; background: #d5dff2; }
.about-image-label > strong { display: block; margin-top: 11px; font-size: 21px; font-weight: 500; letter-spacing: .5px; color: #fff; }
.photo-caption { position: absolute; left: 31px; bottom: 19px; color: #b5c2d9; font-size: 8px; }
.about-image-badge { position: absolute; right: 24px; top: 24px; border: 1px solid #ffffff9f; background: #ffffffab; border-radius: 4px; padding: 13px 15px; display: flex; gap: 10px; align-items: center; color: #3f587a; }
.about-image-badge > svg { width: 21px; height: 21px; color: #436cbe; }
.about-image-badge > span { font-size: 9px; font-weight: 600; letter-spacing: 1.4px; line-height: 1.5; }
.about-image-badge small { font-size: 6px; letter-spacing: 1px; font-weight: 400; }
.about-copy h2 { font-size: 34px; margin-top: 21px; }
.about-copy h2 > span { color: var(--blue); display: block; }
.about-lead { font-size: 11px !important; color: #7590be !important; letter-spacing: .6px; margin: 20px 0 !important; }
.about-copy > p { font-size: 11px; line-height: 2; color: var(--body); margin: 12px 0; }
.about-values { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-top: 1px solid var(--line); margin: 24px 0 27px; padding-top: 22px; }
.about-values > div { display: flex; gap: 8px; align-items: center; font-size: 10px; color: #5a6982; }
.about-values svg { width: 13px; height: 13px; color: var(--blue); }
.about-disclaimer { font-size: 8px !important; color: #a0a9b9 !important; margin-top: 17px !important; }
.process-section { background: #f8f9fc; padding: 55px 0 59px; border-block: 1px solid var(--line); }
.process-heading { display: grid; grid-template-columns: 1fr auto; align-items: flex-end; }
.process-heading > .section-eyebrow { grid-column: 1 / -1; }
.process-heading h2 { font-size: 26px; margin-top: 14px; }
.process-heading p { font-size: 11px; color: var(--body); margin-bottom: 4px; }
.process-grid { list-style: none; padding: 0; margin: 37px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 45px; }
.process-number { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dfe5f1; padding-bottom: 16px; color: #6382bc; font-size: 19px; }
.process-number > svg { width: 17px; height: 17px; color: #aabbd9; }
.process-grid h3 { font-size: 15px; font-weight: 500; margin: 19px 0 11px; }
.process-grid p { font-size: 11px; color: #8a95a9; line-height: 1.9; margin: 0; }
.contact-section { padding-block: 78px; background: linear-gradient(115deg, #edf3ff, #f6f8fd); overflow: hidden; }
.contact-layout { display: grid; grid-template-columns: .85fr 1.1fr; gap: 80px; align-items: center; }
.contact-copy { position: relative; }
.contact-copy h2 { font-size: 40px; line-height: 1.5; margin: 22px 0 23px; }
.contact-copy h2 > span { color: var(--blue); }
.contact-copy > p { font-size: 12px; line-height: 2; color: #7886a0; margin: 0; }
.contact-decoration { margin-top: 24px; font-size: 112px; color: #c7d7f6; line-height: 1; }
.contact-small { display: block; font-size: 7px; letter-spacing: 1.3px; color: #a0b0ca; margin-top: 18px; }
.contact-form { padding: 30px; background: #ffffffed; border: 1px solid #e2e9f7; border-radius: 9px; box-shadow: 0 10px 30px #2648a205; }
.contact-form h3 { font-size: 17px; font-weight: 500; margin: 0 0 24px; display: flex; align-items: center; justify-content: space-between; }
.contact-form h3 > svg { width: 18px; height: 18px; color: #7185ac; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.contact-form label { display: block; font-size: 10px; color: #647086; margin-bottom: 17px; }
.contact-form label > span:not(.consent-label > span) { color: #8193b8; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { display: block; width: 100%; margin-top: 8px; background: #fafbfe; border: 1px solid #e6eaf3; border-radius: 4px; color: var(--ink); font-size: 11px; padding: 11px 12px; outline: none; min-width: 0; }
.contact-form input:not([type="checkbox"]):focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #81a0ff; box-shadow: 0 0 0 3px #285bff08; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #aeb6c5; }
.contact-form select { padding-right: 8px; }
.contact-form textarea { resize: vertical; min-height: 86px; max-height: 300px; }
.contact-form .consent-label { display: flex; align-items: flex-start; gap: 7px; font-size: 9px; line-height: 1.7; color: #93a0b6; margin-top: 0; }
.consent-label input { width: 12px; height: 12px; margin: 2px 0 0; accent-color: var(--blue); flex-shrink: 0; }
.consent-label a { color: #688acc; margin-inline: 2px; text-decoration: underline; text-underline-offset: 3px; }
.form-submit { border-top: 1px solid var(--line); padding-top: 19px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.form-submit > span { font-size: 8px; color: #a0aac0; }
.form-submit .button { padding: 12px 17px; font-size: 10px; gap: 22px; }
.contact-status { border: 1px solid #c8d9f3; border-radius: 4px; background: #f5f8ff; padding: 12px; line-height: 1.8; color: #5775a8; font-size: 10px; margin-top: 15px; }
.clear-enquiry { color: #8594b1; font-size: 9px; text-decoration: underline; text-underline-offset: 3px; margin-top: 12px; padding: 0; }
.site-footer { background: #fff; padding-top: 47px; }
.footer-top { display: flex; justify-content: space-between; position: relative; padding-bottom: 38px; gap: 60px; }
.footer-company > .brand .brand-wordmark { font-size: 22px; }
.footer-company > p { font-size: 11px; color: #68748a; margin: 20px 0 9px; }
.footer-company > span { color: #a1adc2; font-size: 7px; letter-spacing: 1.3px; }
.footer-links { display: flex; gap: 83px; padding-top: 5px; padding-right: 82px; }
.footer-links h3 { font-size: 11px; font-weight: 500; margin: 0 0 19px; }
.footer-links a, .footer-links button { display: flex; align-items: center; gap: 12px; font-size: 10px; color: #8a94a8; margin: 12px 0; padding: 0; }
.footer-links svg { width: 11px; height: 11px; }
.footer-links a:hover, .footer-links button:hover { color: var(--blue); }
.back-to-top { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #dce3ee; border-radius: 4px; position: absolute; top: 0; right: 0; color: #7890b9; font-size: 18px; }
.back-to-top:hover { background: #f5f7fe; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); min-height: 62px; font-size: 8px; color: #a2aab9; }
.footer-bottom p { margin: 0; }
.footer-bottom > span:last-child { letter-spacing: 1px; display: flex; align-items: center; gap: 12px; font-size: 7px; }
.footer-square { width: 5px; height: 5px; background: var(--blue); }
.info-dialog { border: 1px solid #dfe6f4; border-radius: 12px; width: min(690px, calc(100% - 32px)); max-height: 87vh; color: var(--ink); padding: 43px 42px 35px; box-shadow: 0 20px 100px #14295c40; }
.info-dialog::backdrop { background: #14295165; backdrop-filter: blur(5px); }
body:has(dialog[open]) { overflow: hidden; }
.dialog-close { position: absolute; right: 14px; top: 14px; color: #7c8ba6; }
.dialog-label { color: #89a1c7; letter-spacing: 1.6px; font-size: 8px; display: block; }
.dialog-content-icon { width: 50px; height: 50px; display: grid; place-items: center; color: var(--blue); background: #f1f5ff; border-radius: 9px; margin-bottom: 22px; }
.dialog-content-icon svg { width: 28px; height: 28px; }
.info-dialog h2 { font-size: 28px; margin: 13px 0 18px; }
.info-dialog p { color: #75819a; font-size: 13px; line-height: 2; }
.dialog-list { margin: 23px 0 26px; padding: 0; list-style: none; }
.dialog-list > li { padding: 17px 0; border-top: 1px solid var(--line); display: flex; align-items: flex-start; gap: 13px; }
.dialog-list > li > svg { width: 15px; height: 15px; color: var(--blue); margin-top: 3px; }
.dialog-list strong { font-weight: 500; font-size: 13px; }
.dialog-list p { font-size: 11px; margin: 5px 0 0; }
.dialog-note { font-size: 10px !important; color: #9ca8be !important; border-top: 1px solid var(--line); padding-top: 17px; margin-top: 23px; }
.dialog-actions { display: flex; align-items: center; gap: 24px; margin-top: 24px; }
.dialog-actions > button:not(.button-primary) { font-size: 11px; color: #8c9abb; }
.toast { position: fixed; bottom: 28px; left: 50%; transform: translate(-50%, 12px); background: #1c3154; color: #fff; opacity: 0; pointer-events: none; padding: 13px 24px; font-size: 12px; border-radius: 6px; z-index: 30; transition: opacity .2s, transform .2s; box-shadow: 0 5px 25px #23345b20; }
.toast.visible { transform: translate(-50%, 0); opacity: 1; }
@media (min-width: 1500px) { .hero-inner { min-height: 620px; } .hero-content { padding-block: 66px; } }
@media (max-width: 1150px) {
  .container { width: calc(100% - 72px); }
  .header-actions { margin-left: 15px; gap: 18px; }
  .desktop-nav { gap: 26px; }
  .brand-wordmark { font-size: 21px; }
  .hero-inner { min-height: 546px; grid-template-columns: 1fr 1fr; }
  h1 { font-size: 49px; }
  .hero-description { font-size: 11px; }
  .hero-actions { gap: 20px; }
  .button { padding: 14px 17px; font-size: 10px; gap: 18px; }
  .hero-art { width: 126%; left: -13%; }
  .tag-ai { top: 117px; right: -13px; }
  .tag-code { left: -17px; bottom: 112px; }
  .floating-tag { padding: 11px 12px; }
  .floating-tag strong { font-size: 10px; }
  .floating-tag small { font-size: 5px; }
  .principles-inner small { display: none; }
  .principles-title { padding-right: 30px; }
  .section-top { gap: 25px; }
  h2 { font-size: 27px; }
  .solution-grid { gap: 15px; }
  .solution-card { padding: 22px 18px 0; }
  .solution-card h3 { font-size: 17px; }
  .solution-card p { font-size: 10px; min-height: 60px; }
  .card-english { font-size: 6px; letter-spacing: .4px; }
  .technology-layout { gap: 65px; }
  .technology h2 { font-size: 32px; }
  .about-layout { gap: 55px; }
  .about-image { height: 430px; }
  .about-copy h2 { font-size: 30px; }
  .process-grid { gap: 32px; }
  .contact-layout { gap: 50px; }
  .contact-copy h2 { font-size: 35px; }
  .contact-form { padding: 25px; }
  .footer-links { gap: 55px; padding-right: 60px; }
}
@media (max-width: 850px) {
  .container { width: calc(100% - 48px); }
  .header-inner { height: 78px; gap: 22px; }
  .brand-wordmark { font-size: 19px; }
  .brand-symbol { width: 39px; height: 30px; }
  .desktop-nav { gap: 22px; }
  .desktop-nav > a { font-size: 11px; }
  .language-toggle { display: none; }
  .header-contact { gap: 14px; font-size: 10px; padding: 12px 13px; }
  .header-actions { margin-left: 4px; }
  .hero-inner { min-height: 498px; }
  h1 { font-size: 39px; margin-top: 24px; }
  .hero-eyebrow { font-size: 7px; letter-spacing: 1.2px; }
  .hero-description { font-size: 10px; }
  .hero-actions { flex-wrap: wrap; gap: 17px; }
  .hero-footnote { font-size: 6px; gap: 9px; margin-top: 30px; }
  .hero-footnote > span:last-child { font-size: 7px; }
  .hero-visual { margin-left: 10px; }
  .hero-art { width: 135%; left: -18%; }
  .tag-ai { top: 125px; right: -6px; }
  .tag-ai .tag-dot { display: none; }
  .floating-tag { gap: 7px; padding: 10px; }
  .floating-tag small { letter-spacing: .3px; font-size: 4px; }
  .floating-tag strong { font-size: 9px; }
  .tag-icon { width: 28px; height: 28px; }
  .tag-icon > svg { width: 18px; height: 18px; }
  .tag-code { bottom: 115px; left: -8px; }
  .cross-two { top: 91px; left: 20px; }
  .visual-coordinate.top { font-size: 5px; right: 0; top: 43px; }
  .visual-coordinate.bottom { font-size: 5px; right: 0; bottom: 45px; letter-spacing: .8px; }
  .orbital-glow { width: 300px; height: 300px; }
  .principles-inner { min-height: 90px; gap: 20px; }
  .principles-title { font-size: 10px; padding-right: 20px; }
  .principles-title > span { font-size: 8px; }
  .principles-inner > div { font-size: 10px; gap: 7px; }
  .principles-inner > div > svg { width: 19px; height: 19px; }
  .section-pad { padding-block: 59px; }
  .section-top { display: block; margin-bottom: 29px; }
  .section-intro { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 17px; gap: 20px; }
  .section-intro > p { font-size: 10px; margin: 0; }
  .subtle-note { max-width: 185px; text-align: right; line-height: 1.8; }
  .solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .solution-card { padding: 24px 22px 0; }
  .solution-top { margin-bottom: 22px; }
  .solution-card p { min-height: 40px; font-size: 11px; }
  .solution-card h3 { font-size: 19px; }
  .card-english { font-size: 7px; }
  .technology-layout { gap: 38px; grid-template-columns: .95fr 1.05fr; }
  .technology h2 { font-size: 27px; }
  .technology-copy > p { font-size: 10px; }
  .section-eyebrow.light { font-size: 6px; letter-spacing: 1px; }
  .capability-tabs { gap: 23px; }
  .capability-tabs > button { font-size: 11px; }
  .capability-item { padding-block: 20px; gap: 12px; }
  .capability-item h3 { font-size: 13px; }
  .capability-item p { font-size: 10px; }
  .technology-footer { font-size: 5px; letter-spacing: .8px; }
  .tech-tags { gap: 6px; }
  .tech-tags > span { font-size: 7px; padding: 5px 7px; }
  .about-layout { gap: 35px; }
  .about-image { height: 425px; }
  .about-copy h2 { font-size: 27px; }
  .about-copy > p { font-size: 10px; }
  .about-values { gap: 13px 9px; margin-top: 20px; padding-top: 17px; }
  .about-values > div { font-size: 8px; gap: 5px; }
  .about-image-label { left: 23px; }
  .about-image-label > strong { font-size: 18px; }
  .photo-caption { left: 23px; }
  .about-image-badge { top: 20px; right: 20px; padding: 11px; }
  .process-heading h2 { font-size: 23px; }
  .process-heading p { font-size: 10px; }
  .process-grid { gap: 25px; }
  .process-grid h3 { font-size: 13px; }
  .process-grid p { font-size: 9px; }
  .contact-layout { gap: 35px; grid-template-columns: .8fr 1.2fr; }
  .contact-copy h2 { font-size: 29px; }
  .contact-copy > p { font-size: 10px; }
  .contact-small { font-size: 5px; letter-spacing: .8px; }
  .contact-form { padding: 22px; }
  .form-row { gap: 12px; }
  .contact-form input:not([type="checkbox"]), .contact-form select { font-size: 9px; padding: 10px; }
  .contact-form label { font-size: 9px; }
  .form-submit { flex-wrap: wrap; }
  .form-submit .button { margin-left: auto; }
  .footer-links { gap: 32px; padding-right: 44px; }
  .footer-top { gap: 32px; }
  .footer-company > .brand .brand-wordmark { font-size: 18px; }
  .footer-bottom { flex-wrap: wrap; gap: 10px 20px; padding-block: 19px; font-size: 7px; }
  .footer-bottom > span:last-child { display: none; }
}
@media (max-width: 620px) {
  html { scroll-padding-top: 78px; }
  .container { width: calc(100% - 36px); }
  .header-inner { height: 73px; gap: 16px; }
  .brand { gap: 9px; }
  .brand-wordmark { font-size: 20px; }
  .brand-wordmark > small { font-size: 7px; letter-spacing: 2.8px; margin-top: 8px; }
  .brand-symbol { width: 38px; height: 29px; }
  .desktop-nav { display: none; }
  .header-actions { gap: 10px; }
  .header-contact { padding: 10px 12px; font-size: 9px; gap: 8px; }
  .header-contact > svg { width: 12px; height: 12px; }
  .menu-toggle { display: grid; width: 29px; height: 29px; }
  .menu-toggle > svg { width: 20px; height: 20px; }
  .mobile-nav { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; }
  .hero-inner { display: block; min-height: auto; }
  .hero-content { padding: 43px 0 0; }
  .hero-eyebrow { font-size: 7px; letter-spacing: 1.6px; }
  h1 { font-size: clamp(39px, 10vw, 53px); line-height: 1.4; letter-spacing: -1px; margin: 24px 0 20px; }
  .hero-description { font-size: 11px; line-height: 2; margin-bottom: 25px; }
  .hero-actions { gap: 22px; }
  .button { font-size: 10px; gap: 15px; padding: 13px 16px; }
  .button-text { padding: 0; gap: 7px; font-size: 9px; }
  .play-icon { width: 22px; height: 22px; font-size: 12px; }
  .hero-footnote { margin-top: 25px; font-size: 6px; gap: 10px; }
  .hero-footnote > span:last-child { font-size: 7px; }
  .hero-visual { height: 330px; margin-left: 0; margin-top: -12px; }
  .hero-art { width: 119%; left: -9.5%; height: 115%; top: -5%; }
  .orbital-glow { width: 300px; height: 300px; left: 12%; top: 6%; }
  .tag-ai { top: 51px; right: 0; padding: 10px 12px; }
  .floating-tag strong { font-size: 9px; }
  .floating-tag small { font-size: 5px; letter-spacing: .5px; }
  .tag-code { bottom: 56px; left: 0; padding: 10px 13px; }
  .tag-icon { width: 29px; height: 29px; }
  .visual-coordinate.top { top: 22px; right: 2px; font-size: 5px; }
  .visual-coordinate.bottom { bottom: 17px; right: 0; font-size: 5px; }
  .cross-one { bottom: 61px; right: 3px; font-size: 17px; }
  .cross-two { top: 37px; left: 18px; font-size: 18px; }
  .hero-bottom { height: 51px; }
  .hero-bottom > span:first-child { font-size: 8px; }
  .hero-bottom > a { font-size: 6px; gap: 12px; letter-spacing: .7px; }
  .hero-index { font-size: 9px; }
  .hero-index > span { font-size: 7px; margin-left: 3px; }
  .principles-inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 19px 10px; padding-block: 24px; }
  .principles-title { grid-column: 1 / -1; border: 0; display: flex; align-items: center; gap: 15px; font-size: 10px; padding: 0; }
  .principles-title > span { display: inline; font-size: 8px; margin: 0; }
  .principles-inner > div { font-size: 8px; gap: 6px; }
  .principles-inner > div > svg { width: 16px; height: 16px; }
  .section-pad { padding-block: 43px; }
  .section-eyebrow { font-size: 7px; letter-spacing: 1.3px; }
  h2 { font-size: 25px; margin-top: 15px; line-height: 1.55; }
  .section-top h2 > span { display: block; }
  .section-top { margin-bottom: 25px; }
  .section-intro { display: block; margin-top: 15px; }
  .section-intro > p { font-size: 10px; }
  .subtle-note { display: block; text-align: left; max-width: none; margin-top: 10px; font-size: 7px; }
  .solution-grid { gap: 13px; }
  .solution-card { padding: 18px 14px 0; }
  .solution-top { margin-bottom: 22px; }
  .solution-icon { width: 37px; height: 37px; border-radius: 7px; }
  .solution-icon > svg { width: 22px; height: 22px; }
  .card-number { font-size: 8px; }
  .card-english { font-size: 5px; letter-spacing: .3px; }
  .solution-card h3 { font-size: 15px; margin: 9px 0 11px; }
  .solution-card p { font-size: 9px; min-height: 54px; }
  .solution-tags { gap: 5px; flex-wrap: wrap; margin: 13px 0 18px; }
  .solution-tags > span { font-size: 7px; padding: 4px 5px; }
  .solution-card > button { font-size: 8px; padding: 14px 0; }
  .solution-card > button > svg { width: 13px; height: 13px; }
  .technology-layout { grid-template-columns: 1fr; gap: 34px; }
  .technology h2 { font-size: 31px; margin-top: 21px; }
  .technology-copy > p { font-size: 11px; margin-bottom: 21px; }
  .technology-footer { display: none; }
  .capability-tabs { gap: 35px; }
  .capability-tabs > button { font-size: 11px; }
  .capability-item { padding-block: 20px; gap: 14px; }
  .capability-item h3 { font-size: 13px; }
  .capability-item p { font-size: 10px; }
  .section-eyebrow.light { font-size: 6px; letter-spacing: 1.1px; }
  .about-layout { grid-template-columns: 1fr; gap: 32px; }
  .about-image { height: 305px; }
  .about-image > img { object-position: 50% 55%; }
  .about-image-label { bottom: 44px; left: 23px; }
  .about-image-label > strong { font-size: 20px; }
  .about-copy h2 { font-size: 29px; }
  .about-copy h2 > span { display: inline; }
  .about-lead { font-size: 10px !important; margin: 16px 0 !important; }
  .about-copy > p { font-size: 11px; }
  .about-values { gap: 15px; padding-top: 20px; margin-bottom: 23px; }
  .about-values > div { font-size: 10px; }
  .about-disclaimer { font-size: 7px !important; }
  .process-section { padding-block: 39px 43px; }
  .process-heading { display: block; }
  .process-heading h2 { font-size: 23px; }
  .process-heading p { font-size: 10px; margin-top: 13px; }
  .process-grid { grid-template-columns: 1fr 1fr; gap: 29px 25px; margin-top: 29px; }
  .process-number { font-size: 17px; padding-bottom: 13px; }
  .process-grid h3 { font-size: 14px; margin: 15px 0 9px; }
  .process-grid p { font-size: 10px; }
  .contact-section { padding-block: 43px; }
  .contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .contact-copy h2 { font-size: 33px; margin-block: 20px; }
  .contact-copy > p { font-size: 11px; }
  .contact-decoration { position: absolute; right: 0; bottom: 8px; font-size: 75px; margin: 0; opacity: .6; }
  .contact-small { font-size: 6px; margin-top: 21px; }
  .contact-form { padding: 22px 19px; }
  .contact-form h3 { font-size: 16px; }
  .form-row { gap: 13px; }
  .contact-form label { font-size: 10px; }
  .contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { font-size: 16px; padding: 10px; }
  .contact-form input::placeholder, .contact-form textarea::placeholder { font-size: 10px; }
  .contact-form select { font-size: 12px; min-height: 44px; }
  .contact-form .consent-label { font-size: 8px; }
  .form-submit { padding-top: 17px; gap: 10px; }
  .form-submit > span { font-size: 7px; }
  .form-submit .button { font-size: 9px; padding: 12px 15px; gap: 12px; }
  .site-footer { padding-top: 32px; }
  .footer-top { display: block; padding-bottom: 24px; }
  .footer-company > .brand .brand-wordmark { font-size: 21px; }
  .footer-company > p { font-size: 10px; margin: 16px 0 8px; }
  .footer-links { justify-content: space-between; gap: 25px; padding: 30px 0 0; }
  .footer-links h3 { font-size: 10px; margin-bottom: 16px; }
  .footer-links a, .footer-links button { font-size: 9px; }
  .back-to-top { width: 34px; height: 34px; font-size: 16px; top: 4px; }
  .footer-bottom { padding-block: 20px; gap: 9px; font-size: 7px; }
  .footer-bottom > span { font-size: 6px; }
  .info-dialog { padding: 39px 24px 28px; }
  .info-dialog h2 { font-size: 25px; }
  .info-dialog p { font-size: 12px; }
  .dialog-list strong { font-size: 12px; }
  .dialog-list p { font-size: 10px; }
  .toast { max-width: calc(100% - 32px); width: max-content; font-size: 11px; text-align: center; padding: 12px 18px; }
}
@media (max-width: 360px) { .header-contact { display: none; } .hero-actions { gap: 16px; } h1 { font-size: 37px; } .solution-card { padding-inline: 12px; } .solution-card h3 { font-size: 14px; } .solution-card p { min-height: 72px; } .about-values > div { font-size: 9px; } .footer-links { gap: 16px; } .form-row { grid-template-columns: 1fr; gap: 0; } }
.language-toggle { display: flex; min-height: 36px; padding: 5px 3px; }
.language-toggle:hover { color: var(--blue); }
html[lang="en"] h1 { font-size: clamp(35px, 3.55vw, 52px); line-height: 1.18; }
html[lang="en"] h1 > span { display: block; }
html[lang="en"] h2 { line-height: 1.25; }
html[lang="en"] .section-top h2 > span, html[lang="en"] .about-copy h2 > span { display: block; }
html[lang="en"] .brand-wordmark > small { font-size: 6px; letter-spacing: .7px; }
html[lang="en"] .hero-description, html[lang="en"] .technology-copy > p { line-height: 1.8; max-width: 470px; }
html[lang="en"] .hero-actions { flex-wrap: wrap; gap: 18px; }
html[lang="en"] .principles-inner small { display: none; }
html[lang="en"] .solution-card { display: flex; flex-direction: column; }
html[lang="en"] .solution-card h3 { min-height: 46px; font-size: 19px; line-height: 1.3; }
html[lang="en"] .solution-card p { min-height: 85px; line-height: 1.75; }
html[lang="en"] .solution-card > button { margin-top: auto; }
html[lang="en"] .solution-tags { flex-wrap: wrap; }
html[lang="en"] .about-values > div { align-items: flex-start; line-height: 1.6; }
html[lang="en"] .about-values svg { margin-top: 3px; }
html[lang="en"] .contact-copy h2 { font-size: clamp(29px, 3vw, 39px); line-height: 1.3; }
html[lang="en"] .footer-links { gap: 45px; }
html[lang="en"] .contact-form textarea::placeholder { font-size: 11px; }
@media (max-width: 850px) {
  html[lang="en"] .desktop-nav { gap: 18px; }
  html[lang="en"] .header-inner { gap: 16px; }
  html[lang="en"] .header-actions { gap: 12px; }
  html[lang="en"] .hero-footnote { flex-wrap: wrap; }
  html[lang="en"] .solution-card h3 { min-height: 26px; }
}
@media (max-width: 620px) {
  html[lang="en"] h1 { font-size: clamp(34px, 8.2vw, 48px); }
  html[lang="en"] .hero-description { font-size: 12px; }
  html[lang="en"] .hero-description br { display: none; }
  html[lang="en"] .hero-visual { margin-top: 5px; }
  html[lang="en"] .floating-tag strong { max-width: 125px; font-size: 9px; line-height: 1.5; }
  html[lang="en"] .principles-inner { grid-template-columns: 1fr 1fr; gap: 18px 22px; }
  html[lang="en"] .principles-inner > div { font-size: 10px; }
  html[lang="en"] .solution-card h3 { font-size: 17px; min-height: 44px; }
  html[lang="en"] .solution-card p { font-size: 10px; min-height: 90px; }
  html[lang="en"] .solution-tags > span { font-size: 8px; }
  html[lang="en"] .solution-card > button { font-size: 10px; }
  html[lang="en"] .mobile-nav { flex-wrap: wrap; font-size: 11px; gap: 14px; }
  html[lang="en"] .about-values > div { font-size: 10px; }
  html[lang="en"] .contact-form .consent-label { font-size: 10px; }
  html[lang="en"] .footer-links { gap: 20px; flex-wrap: wrap; }
  html[lang="en"] .footer-links a, html[lang="en"] .footer-links button { font-size: 10px; }
}
@media (max-width: 420px) { .header-contact { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
