:root {
    --home-ink: #10233d;
    --home-muted: #607087;
    --home-blue: #246bfe;
    --home-blue-dark: #174fc6;
    --home-line: #dde5ee;
    --home-shell: 1180px;
    --home-header-height: 72px;
    --home-anchor-gap: 20px;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
h1[tabindex="-1"]:focus { outline: none; }
.home-page, .home-page * { box-sizing: border-box; }
.home-page { color: var(--home-ink); background: #fff; font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif; }
.home-page [id] { scroll-margin-block-start: calc(var(--home-header-height) + var(--home-anchor-gap)); }
.home-shell { width: min(var(--home-shell), calc(100% - 48px)); margin-inline: auto; }
.home-section { padding: 108px 0; }

/* Public header */
.home-appbar {
    height: 72px !important;
    color: var(--home-ink) !important;
    border-bottom: 1px solid rgba(221, 229, 238, .82);
    background: rgba(255, 255, 255, .91) !important;
    box-shadow: none !important;
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}
.home-header-container { width: min(var(--home-shell), calc(100% - 48px)); max-width: none !important; height: 72px; padding: 0 !important; }
.home-header-inner { width: 100%; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand-link { flex: none; display: inline-flex; align-items: center; gap: 10px; color: var(--home-ink) !important; }
.brand-logo { width: 34px; height: 34px; border-radius: 8px; box-shadow: 0 4px 12px rgba(36,107,254,.2); }
.brand-name { color: var(--home-ink) !important; font-family: inherit !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: -.02em; white-space: nowrap; }
.home-nav { min-width: 0; display: flex; align-items: center; gap: 3px; }
.home-nav-link { padding: 9px 10px; border-radius: 9px; color: #52637a !important; font-family: inherit !important; font-size: 14px !important; font-weight: 500 !important; line-height: 20px; white-space: nowrap; transition: .18s ease; }
.home-nav-link:hover { color: var(--home-blue) !important; background: #f1f6ff; }
.custom-service-link { margin-left: 7px; padding-inline: 15px; color: #fff !important; background: linear-gradient(135deg, #246bfe, #174fc6); box-shadow: 0 8px 20px rgba(36, 107, 254, .24); }
.custom-service-link:hover { color: #fff !important; background: linear-gradient(135deg, #1d5fe8, #113eaa); transform: translateY(-1px); }

/* Hero */
.home-hero {
    position: relative;
    min-height: 690px;
    padding: 105px 0 92px;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at 78% 16%, rgba(36,107,254,.13), transparent 25%), radial-gradient(circle at 90% 78%, rgba(17,169,202,.1), transparent 22%), linear-gradient(180deg, #f8fbff 0%, #fff 76%);
}
.home-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .44; background-image: linear-gradient(rgba(56,85,122,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(56,85,122,.07) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, #000, transparent 82%); }
.home-hero::after { content: ""; position: absolute; z-index: -1; right: -180px; top: -250px; width: 680px; height: 680px; border: 1px solid rgba(36,107,254,.13); border-radius: 50%; box-shadow: 0 0 0 90px rgba(36,107,254,.025), 0 0 0 180px rgba(36,107,254,.018); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(460px,1.08fr); align-items: center; gap: 42px; }
.hero-copy { min-width: 0; }
.section-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--home-blue); font-size: 12px; font-weight: 800; line-height: 1.4; letter-spacing: .16em; }
.hero-kicker { margin-bottom: 21px; padding: 8px 12px; color: #1d5cd7; border: 1px solid #d4e3ff; border-radius: 999px; background: rgba(240,246,255,.88); letter-spacing: .04em; }
.kicker-dot { width: 7px; height: 7px; border-radius: 50%; background: #22b8cf; box-shadow: 0 0 0 4px rgba(34,184,207,.13); }
.hero-copy h1 { max-width: 660px; margin: 0; color: #10233d; font-size: clamp(46px,4.1vw,64px); font-weight: 900; line-height: 1.13; letter-spacing: -.055em; }
.hero-gradient { color: transparent; background: linear-gradient(110deg,#246bfe 10%,#149fc7 82%); -webkit-background-clip: text; background-clip: text; }
.hero-summary { max-width: 650px; margin: 24px 0 0; color: #52647b; font-size: 17px; line-height: 1.9; }
.hero-badges { margin-top: 25px; display: flex; flex-wrap: wrap; gap: 9px; }
.hero-badge { padding: 8px 11px; display: inline-flex; align-items: center; gap: 6px; color: #344a65; border: 1px solid #dbe5f0; border-radius: 8px; background: rgba(255,255,255,.8); box-shadow: 0 4px 14px rgba(25,54,88,.045); font-size: 13px; font-weight: 650; }
.hero-badge span { color: #19a6c8; }
.hero-actions { margin-top: 30px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.home-button { min-height: 50px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 10px; font-size: 15px; font-weight: 750; line-height: 1; text-decoration: none !important; transition: .2s ease; }
.home-button .mud-icon-root { font-size: 21px; }
.home-button-primary { color: #fff !important; background: linear-gradient(135deg,#246bfe,#1b57d4); box-shadow: 0 13px 28px rgba(36,107,254,.27); }
.home-button-primary:hover { color: #fff !important; transform: translateY(-2px); box-shadow: 0 17px 34px rgba(36,107,254,.34); }
.home-button-secondary { color: #213a59 !important; border-color: #cbd8e7; background: rgba(255,255,255,.9); }
.home-button-secondary:hover { color: var(--home-blue) !important; border-color: #a9c4f5; background: #fff; transform: translateY(-2px); }
.hero-help-link { padding: 8px 2px; display: inline-flex; align-items: center; gap: 4px; color: #52647b !important; font-size: 14px; font-weight: 650; text-decoration: none !important; }
.hero-help-link:hover { color: var(--home-blue) !important; }
.hero-help-link .mud-icon-root { font-size: 17px; }
.platform-support { margin-top: 27px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: #6a798c; font-size: 12px; font-weight: 650; }
.platform-support .platform-label { margin-right: 2px; color: #1f3857; font-weight: 800; }
.platform-support i { width: 3px; height: 3px; border-radius: 50%; background: #9cafc4; }
.hero-visual { position: relative; min-width: 0; padding: 25px 0; }
.hero-demo { width: 100%; height: auto; display: block; border: 1px solid rgba(105,132,166,.38); border-radius: 14px; background: #1d2734; box-shadow: 0 35px 70px rgba(23,52,90,.24),0 8px 22px rgba(23,52,90,.16); transform: perspective(1500px) rotateY(-2deg) rotateX(1deg); }

/* Shared section headings and Why Eplot showcase */
.section-heading { max-width: 700px; margin: 0 auto 48px; text-align: center; }
.section-heading h2, .faq-intro h2 { margin: 12px 0 0; color: var(--home-ink); font-size: clamp(34px,3.3vw,48px); font-weight: 900; line-height: 1.2; letter-spacing: -.045em; }
.section-heading p, .faq-intro > p { margin: 16px 0 0; color: var(--home-muted); font-size: 16px; line-height: 1.8; }
.why-section { position: relative; background: #f3f7fc; }
.why-showcase { position: relative; padding: 52px; overflow: hidden; color: #fff; border-radius: 32px; background: radial-gradient(circle at 88% 0,rgba(83,174,255,.36),transparent 32%),linear-gradient(135deg,#0e49c5 0%,#12345f 72%,#102b4d 100%); box-shadow: 0 30px 72px rgba(20,61,128,.22); }
.why-showcase::after { content: "EP"; position: absolute; right: -26px; top: -94px; color: rgba(255,255,255,.055); font-size: 250px; font-weight: 950; line-height: 1; letter-spacing: -.11em; pointer-events: none; }
.why-heading { position: relative; z-index: 1; margin-bottom: 38px; display: grid; grid-template-columns: minmax(0,.8fr) minmax(380px,1.2fr); align-items: end; gap: 54px; }
.why-heading .section-kicker { color: #8fd8ff; }
.why-heading h2 { margin: 11px 0 0; color: #fff; font-size: clamp(38px,4vw,56px); font-weight: 900; line-height: 1.08; letter-spacing: -.055em; }
.why-heading h2 span { color: #8fd8ff; }
.why-lead { display: block; color: #fff; font-size: clamp(20px,2vw,28px); font-weight: 850; line-height: 1.45; letter-spacing: -.03em; }
.why-heading p { max-width: 590px; margin: 12px 0 0; color: rgba(229,240,255,.74); font-size: 15px; line-height: 1.8; }
.why-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.why-card { position: relative; min-height: 350px; padding: 24px; display: flex; flex-direction: column; color: var(--home-ink); border: 1px solid rgba(255,255,255,.68); border-radius: 20px; background: rgba(255,255,255,.965); box-shadow: 0 16px 36px rgba(5,26,65,.17); overflow: hidden; transition: .24s ease; }
.why-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg,#246bfe,#35c4d2); }
.why-card::after { content: ""; position: absolute; right: -45px; top: -46px; width: 130px; height: 130px; border-radius: 50%; background: rgba(36,107,254,.055); pointer-events: none; }
.why-card:hover { z-index: 2; border-color: #fff; box-shadow: 0 24px 46px rgba(3,23,59,.25); transform: translateY(-7px); }
.why-card-top { display: flex; align-items: flex-start; justify-content: space-between; }
.why-number { color: #d5e4f7; font-size: 34px; font-weight: 950; line-height: 1; letter-spacing: -.06em; }
.why-icon { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; color: #fff; border-radius: 15px; background: linear-gradient(145deg,#246bfe,#174fc6); box-shadow: 0 10px 22px rgba(36,107,254,.25); }
.why-icon .mud-icon-root { font-size: 27px; }
.why-category { width: fit-content; margin-top: 25px; padding: 5px 9px; display: block; color: #1f5fc1; border-radius: 999px; background: #e9f2ff; font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.why-card h3 { margin: 9px 0 0; color: #172d49; font-size: 21px; font-weight: 850; line-height: 1.35; letter-spacing: -.025em; }
.why-card p { margin: 13px 0 0; color: #5d6e84; font-size: 13px; line-height: 1.78; }
.why-proof { position: relative; z-index: 1; margin-top: auto; padding-top: 16px; display: flex; align-items: flex-start; gap: 7px; color: #255aab; border-top: 1px solid #e3ebf5; font-size: 11px; font-weight: 850; line-height: 1.55; }
.why-proof .mud-icon-root { margin-top: 1px; flex: 0 0 auto; color: #1e9f88; font-size: 15px; }

/* Side-by-side comparison */
.comparison-section { position: relative; padding: 76px 0 82px; overflow: hidden; color: #fff; background: radial-gradient(circle at 50% 0,rgba(48,116,255,.16),transparent 30%),#0d1828; }
.comparison-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size: 56px 56px; }
.comparison-section .home-shell { position: relative; }
.comparison-section .section-heading { margin-bottom: 30px; }
.section-heading-light h2 { color: #f5f8fc; }
.section-heading-light p { color: #91a1b7; }
.comparison-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 20px; }
.comparison-card { padding: 10px; display: grid; grid-template-rows: auto repeat(4,minmax(0,1fr)); border-radius: 20px; }
.comparison-legacy { border: 1px solid #3b4655; background: rgba(23,31,43,.78); }
.comparison-eplot { border: 1px solid rgba(77,141,255,.72); background: linear-gradient(160deg,rgba(27,72,143,.74),rgba(16,41,77,.82)); box-shadow: 0 24px 55px rgba(0,0,0,.25),inset 0 0 0 1px rgba(111,166,255,.12); }
.comparison-card-head { min-height: 84px; padding: 12px 14px 14px; display: flex; align-items: center; gap: 12px; position: relative; }
.comparison-symbol { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; border-radius: 11px; }
.comparison-symbol-legacy { color: #db9692; border: 1px solid rgba(189,100,96,.32); background: rgba(152,68,64,.14); }
.comparison-symbol-eplot { color: #8bdac0; border: 1px solid rgba(92,206,164,.34); background: rgba(58,169,128,.16); }
.comparison-card-head > div > span { color: #7f90a7; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.comparison-eplot .comparison-card-head > div > span { color: #8eb7ff; }
.comparison-card-head h3 { margin: 4px 0 0; color: #e1e7ef; font-size: 20px; font-weight: 800; }
.comparison-eplot .comparison-card-head h3 { color: #fff; }
.comparison-card-head h3 small { color: #a9c7f9; font-size: 12px; font-weight: 600; }
.recommended-badge { position: absolute; top: 14px; right: 14px; padding: 5px 9px; color: #d9e9ff; border: 1px solid rgba(108,161,255,.42); border-radius: 999px; background: rgba(36,107,254,.2); font-size: 10px; font-weight: 800; }
.comparison-item { min-height: 94px; padding: 13px 14px; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: start; gap: 10px; border-top: 1px solid rgba(255,255,255,.09); }
.comparison-item-copy { min-width: 0; }
.comparison-row-icon { width: 26px; height: 26px; margin-top: 1px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.comparison-row-icon .mud-icon-root { font-size: 16px; }
.comparison-row-icon-legacy { color: #ef9a95; border: 1px solid rgba(239,154,149,.28); background: rgba(176,75,71,.13); }
.comparison-row-icon-eplot { color: #78ddba; border: 1px solid rgba(120,221,186,.3); background: rgba(58,169,128,.15); }
.comparison-label { display: block; color: #c5ceda; font-size: 13px; font-weight: 800; }
.comparison-eplot .comparison-label { color: #b9d3ff; }
.comparison-item p { margin: 4px 0 0; color: #8594a8; font-size: 13px; line-height: 1.6; }
.comparison-eplot .comparison-item p { color: #c0cce0; }

/* Bento capabilities */
.features-section { background: linear-gradient(180deg,#f7f9fc 0%,#f1f6fc 100%); }
.capability-heading { max-width: 800px; margin-bottom: 38px; }
.capability-heading p { max-width: 680px; margin-inline: auto; }
.capability-path { margin: 23px auto 0; display: flex; align-items: center; justify-content: center; gap: 12px; }
.capability-path span { min-height: 36px; padding: 6px 12px 6px 7px; display: inline-flex; align-items: center; gap: 8px; color: #49627e; border: 1px solid #d8e4f2; border-radius: 999px; background: rgba(255,255,255,.84); box-shadow: 0 7px 18px rgba(32,68,111,.06); font-size: 12px; font-weight: 800; }
.capability-path span b { width: 23px; height: 23px; display: inline-flex; align-items: center; justify-content: center; color: #fff; border-radius: 50%; background: var(--home-blue); font-size: 9px; letter-spacing: .02em; }
.capability-path i { position: relative; width: 34px; height: 1px; background: #bed0e5; }
.capability-path i::after { content: ""; position: absolute; right: 0; top: -3px; width: 6px; height: 6px; border-top: 1px solid #8fa8c5; border-right: 1px solid #8fa8c5; transform: rotate(45deg); }
.bento-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.bento-card { position: relative; min-height: 236px; padding: 22px 22px 20px; display: grid; grid-template-rows: auto 1fr; border: 1px solid #dce5ef; border-radius: 20px; background: #fff; box-shadow: 0 9px 24px rgba(29,61,101,.045); overflow: hidden; transition: .22s ease; }
.bento-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,#246bfe,#57c5d8); opacity: .72; }
.bento-card:hover { box-shadow: 0 18px 38px rgba(25,57,96,.1); transform: translateY(-4px); }
.bento-top { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; }
.bento-identity { min-width: 0; }
.bento-number { align-self: start; color: #b9c9dc; font-size: 18px; font-weight: 900; line-height: 1; letter-spacing: -.04em; }
.bento-icon { width: 48px; height: 48px; padding: 10px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 48px; border: 1px solid #dbe6f4; border-radius: 14px; background: #f4f8fd; }
.bento-icon img { width: 100%; height: 100%; object-fit: contain; }
.bento-category { display: block; color: var(--home-blue); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.bento-card h3 { margin: 4px 0 0; color: #172f4c; font-size: 19px; font-weight: 850; line-height: 1.3; letter-spacing: -.025em; }
.bento-capabilities { margin: 18px 0 0; padding: 16px 0 0; display: grid; align-content: start; gap: 10px; border-top: 1px solid rgba(126,151,180,.2); list-style: none; }
.bento-capabilities li { position: relative; padding-left: 17px; color: #5f7187; font-size: 13px; font-weight: 600; line-height: 1.55; }
.bento-capabilities li::before { content: ""; position: absolute; left: 1px; top: .57em; width: 6px; height: 6px; border-radius: 50%; background: var(--home-blue); box-shadow: 0 0 0 4px rgba(36,107,254,.09); }
.bento-blue { border-color: #8db6fb; background: radial-gradient(circle at 94% 10%,rgba(255,255,255,.68),transparent 25%),linear-gradient(145deg,#d9e9ff,#edf5ff 68%); }
.bento-aqua { border-color: #9ddce6; background: radial-gradient(circle at 91% 9%,rgba(255,255,255,.82),transparent 29%),linear-gradient(145deg,#ddf5f8,#eef8ff 70%); }
.bento-aqua .bento-category { color: #0787a0; }
.bento-aqua .bento-number { color: #9bcbd5; }
.bento-aqua .bento-icon { border-color: #b8e1e8; background: rgba(255,255,255,.66); }
.bento-aqua .bento-capabilities { border-color: rgba(58,145,164,.2); }
.bento-aqua .bento-capabilities li::before { background: #17a3bb; box-shadow: 0 0 0 4px rgba(23,163,187,.1); }
.bento-white { background: #fff; }
.bento-mint { border-color: #bfe1da; background: linear-gradient(150deg,#ebf9f5,#fff); }
.bento-slate { border-color: #cad7e6; background: linear-gradient(90deg,rgba(255,255,255,.76),rgba(255,255,255,.3)),repeating-linear-gradient(90deg,#eaf0f7 0,#eaf0f7 48px,#e4ecf5 49px); }

/* Accessible native FAQ */
.faq-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(520px,1.28fr); align-items: start; gap: 88px; }
.faq-intro { position: sticky; top: 105px; }
.faq-intro > a { margin-top: 27px; display: inline-flex; align-items: center; gap: 7px; color: var(--home-blue) !important; font-size: 14px; font-weight: 800; text-decoration: none !important; }
.faq-intro > a .mud-icon-root { font-size: 18px; transition: transform .18s ease; }
.faq-intro > a:hover .mud-icon-root { transform: translateX(4px); }
.faq-list { border-top: 1px solid var(--home-line); }
.faq-item { border-bottom: 1px solid var(--home-line); }
.faq-item summary { min-height: 90px; padding: 21px 4px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: #1d3553; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:focus-visible { outline: 3px solid rgba(36,107,254,.28); outline-offset: 4px; border-radius: 8px; }
.faq-question { display: flex; align-items: center; gap: 13px; font-size: 16px; font-weight: 800; line-height: 1.55; }
.faq-q, .faq-a { width: 29px; height: 29px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 29px; border-radius: 8px; font-size: 12px; font-weight: 900; }
.faq-q { color: var(--home-blue); background: #eaf2ff; } .faq-a { color: #168ba5; background: #e8f8fb; }
.faq-toggle { width: 31px; height: 31px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 31px; color: #59708b; border: 1px solid #d5e0eb; border-radius: 50%; transition: .25s ease; }
.faq-toggle .mud-icon-root { font-size: 18px; }
.faq-item[open] .faq-toggle { color: #fff; border-color: var(--home-blue); background: var(--home-blue); transform: rotate(45deg); }
.faq-answer { animation: faq-reveal .28s ease both; }
.faq-answer > div { padding: 0 54px 25px 46px; display: flex; align-items: flex-start; gap: 13px; }
.faq-answer p { margin: 2px 0 0; color: #66778d; font-size: 14px; line-height: 1.9; }
@keyframes faq-reveal { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }

/* Final CTA, downloads and footer */
.download-section { padding: 92px 0 100px; color: #fff; background: radial-gradient(circle at 15% 5%,rgba(55,126,255,.28),transparent 28%),linear-gradient(145deg,#0e2139,#0a1728 68%); }
.download-cta { padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.13); }
.download-cta > div { max-width: 780px; }
.download-kicker { display: inline-flex; align-items: center; gap: 7px; color: #74abff; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.download-cta h2 { max-width: 700px; margin: 12px 0 0; color: #fff; font-size: clamp(33px,3.2vw,47px); font-weight: 900; line-height: 1.2; letter-spacing: -.045em; }
.download-cta p { margin: 14px 0 0; color: #99a9bd; font-size: 16px; }
.download-matrix-intro { padding-top: 30px; color: #a5b5c8; font-size: 12px; }
.download-matrix { padding-top: 15px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 14px; }
.download-card { min-height: 230px; padding: 23px 22px 21px; display: flex; flex-direction: column; border: 1px solid rgba(183,205,231,.18); border-radius: 15px; background: rgba(255,255,255,.055); transition: .2s ease; }
.download-card:hover { border-color: rgba(118,169,255,.5); background: rgba(255,255,255,.082); box-shadow: 0 18px 38px rgba(0,0,0,.14); }
.download-card-head { min-width: 0; display: flex; align-items: center; gap: 14px; }
.download-card-head img { width: 48px; height: 48px; padding: 7px; flex: 0 0 48px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.08); object-fit: contain; }
.download-card-head > div { min-width: 0; }
.download-card-head span { color: #7187a3; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.download-card h3 { margin: 4px 0 0; overflow: hidden; color: #edf4fc; font-size: 19px; font-weight: 850; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.download-card > p { min-height: 42px; margin: 17px 0 0; color: #8fa1b8; font-size: 12px; line-height: 1.7; }
.download-card > .dl-alternatives { margin-top: auto; padding-top: 21px; }
.dl-alternatives { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.download-route { min-width: 0; min-height: 46px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid transparent; border-radius: 8px; font-size: 12px; font-weight: 800; line-height: 1; text-decoration: none !important; white-space: nowrap; transition: .18s ease; }
.download-route .mud-icon-root { font-size: 18px; }
.download-route-regular { color: #d9e8f8 !important; border-color: rgba(151,183,222,.3); background: rgba(255,255,255,.055); }
.download-route-regular:hover { color: #fff !important; border-color: rgba(180,207,240,.58); background: rgba(255,255,255,.12); }
.download-route-fast { color: #fff !important; border-color: #3276d8; background: #245fb8; }
.download-route-fast .mud-icon-root { color: #9fd3ff; }
.download-route-fast:hover { color: #fff !important; border-color: #5a9af4; background: #2d73d5; }
.dl-alternatives .download-route:only-child { grid-column: 1/-1; }
.download-route:focus-visible { outline: 3px solid rgba(106,166,255,.42); outline-offset: 2px; }
.home-footer { color: #7e8da0; background: #091421; }
.footer-main { min-height: 112px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 26px; }
.footer-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff !important; text-decoration: none !important; }
.footer-brand img { width: 34px; height: 34px; border-radius: 8px; }
.footer-brand > span { display: flex; flex-direction: column; }
.footer-brand strong { font-size: 16px; } .footer-brand small { color: #60748c; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.footer-links, .footer-platforms { display: flex; align-items: center; gap: 18px; }
.footer-platforms { justify-self: end; gap: 13px; }
.footer-links a, .footer-platforms a { color: #8292a5 !important; font-size: 12px; text-decoration: none !important; }
.footer-links a:hover, .footer-platforms a:hover { color: #c8d8eb !important; }
.footer-platforms a { padding: 5px 7px; border: 1px solid #243346; border-radius: 6px; font-size: 10px; }
.footer-bottom { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #1d2a3a; font-size: 11px; }

/* Existing product notice */
.home-toolbox-notice { position: fixed; z-index: 1300; right: 24px; bottom: 20px; left: 24px; width: min(900px,calc(100% - 48px)); min-height: 72px; margin: 0 auto; padding: 13px 14px 13px 17px; display: flex; align-items: center; gap: 13px; color: #fff; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: linear-gradient(118deg,rgba(26,77,176,.98),rgba(36,107,254,.98) 64%,rgba(21,150,190,.98)); box-shadow: 0 20px 52px rgba(21,60,128,.35); backdrop-filter: blur(14px); }
.home-toolbox-notice-icon { width: 40px; height: 40px; flex: 0 0 40px; display: flex; align-items: center; justify-content: center; color: #fff; border-radius: 11px; background: rgba(255,255,255,.17); }
.home-toolbox-notice-copy { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 3px; }
.home-toolbox-notice-copy strong { color: #fff; font-size: 14px; } .home-toolbox-notice-copy span { color: rgba(255,255,255,.8); font-size: 12px; line-height: 1.55; }
.home-toolbox-notice-submit, .home-toolbox-notice-ack { min-height: 38px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; font: inherit; font-size: 13px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.home-toolbox-notice-submit { color: #184faa !important; border: 1px solid #fff; background: #fff; text-decoration: none; }
.home-toolbox-notice-submit:hover { color: #123d86 !important; background: #edf5ff; }
.home-toolbox-notice-ack { color: #fff; border: 1px solid rgba(255,255,255,.44); background: rgba(255,255,255,.1); }
.home-toolbox-notice-ack:hover { background: rgba(255,255,255,.18); }
.home-toolbox-notice-close { width: 34px; height: 34px; padding: 0; flex: 0 0 34px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.78); border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.home-toolbox-notice-close:hover { color: #fff; background: rgba(255,255,255,.14); } .home-toolbox-notice-close .mud-icon-root { font-size: 19px; }

@media (max-width: 1100px) {
    .home-shell, .home-header-container { width: min(100% - 40px,var(--home-shell)); }
    .home-nav-link { padding-inline: 7px; }
    .optional-link:nth-of-type(-n + 3) { display: none !important; }
    .hero-grid { grid-template-columns: minmax(0,1fr) minmax(390px,.86fr); gap: 38px; }
    .hero-copy h1 { font-size: clamp(43px,5vw,56px); }
    .why-showcase { padding: 40px; }
    .why-heading { gap: 38px; }
    .why-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .why-card { min-height: 315px; }
    .faq-layout { gap: 52px; }
    .download-card { min-height: 230px; }
    .footer-main { grid-template-columns: auto 1fr; }
    .footer-links { justify-self: end; }
    .footer-platforms { display: none; }
}

@media (max-width: 900px) {
    .bento-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bento-card { min-height: 226px; }
}

@media (max-width: 820px) {
    :root { --home-anchor-gap: 8px; }
    .home-section { padding: 82px 0; }
    .home-header-container { width: calc(100% - 30px); }
    .home-nav-link { display: none; }
    .user-center-link, .custom-service-link { display: inline-flex; }
    .hero-grid { grid-template-columns: 1fr; gap: 48px; }
    .home-hero { padding: 80px 0 76px; }
    .hero-copy { text-align: center; }
    .hero-copy h1, .hero-summary { margin-inline: auto; }
    .hero-badges, .hero-actions, .platform-support { justify-content: center; }
    .hero-visual { width: min(650px,calc(100% - 20px)); margin-inline: auto; }
    .comparison-grid { grid-template-columns: 1fr; gap: 24px; }
    .comparison-card { grid-template-rows: none; }
    .comparison-item { min-height: 0; }
    .why-heading { grid-template-columns: 1fr; gap: 24px; }
    .why-heading p { max-width: 620px; }
    .faq-layout { grid-template-columns: 1fr; gap: 42px; }
    .faq-intro { position: static; max-width: 620px; }
    .download-matrix { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
    :root { --home-header-height: 64px; --home-anchor-gap: 16px; }
    .home-shell { width: calc(100% - 32px); }
    .home-appbar, .home-header-container { height: 64px !important; }
    .home-header-container { width: calc(100% - 24px); }
    .brand-logo { width: 31px; height: 31px; }
    .brand-name { font-size: 17px !important; }
    .user-center-link { display: none; }
    .custom-service-link { margin-left: 0; padding: 8px 10px; font-size: 12px !important; }
    .home-hero { min-height: 0; padding: 63px 0; }
    .home-hero::before { background-size: 32px 32px; }
    .hero-kicker { margin-bottom: 17px; padding: 7px 10px; font-size: 10px; }
    .hero-copy h1 { font-size: clamp(34px,9.4vw,38px); line-height: 1.17; letter-spacing: -.055em; }
    .hero-summary { margin-top: 19px; font-size: 14px; line-height: 1.85; }
    .hero-badges { margin-top: 20px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; text-align: left; }
    .hero-badge { padding: 8px; font-size: 11px; }
    .hero-actions { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; }
    .home-button { min-height: 48px; padding-inline: 12px; font-size: 13px; }
    .hero-help-link { grid-column: 1/-1; justify-content: center; }
    .platform-support { margin-top: 21px; gap: 7px; font-size: 10px; }
    .platform-support .platform-label { width: 100%; }
    .hero-grid { gap: 28px; }
    .hero-visual { width: 100%; padding: 13px 0; }
    .hero-demo { border-radius: 10px; transform: none; }
    .home-section { padding: 68px 0; }
    .section-heading { margin-bottom: 31px; }
    .section-kicker { font-size: 10px; }
    .section-heading h2, .faq-intro h2 { margin-top: 9px; font-size: 31px; line-height: 1.25; }
    .section-heading p, .faq-intro > p { margin-top: 12px; font-size: 14px; }
    .why-showcase { padding: 28px 16px; border-radius: 24px; }
    .why-showcase::after { right: -18px; top: -25px; font-size: 130px; }
    .why-heading { margin-bottom: 27px; gap: 19px; }
    .why-heading h2 { font-size: 35px; }
    .why-lead { font-size: 19px; }
    .why-heading p { font-size: 13px; }
    .why-grid { grid-template-columns: 1fr; gap: 12px; }
    .why-card { min-height: 0; padding: 21px; }
    .why-number { font-size: 30px; }
    .why-category { margin-top: 20px; }
    .comparison-card { padding: 10px; border-radius: 15px; }
    .comparison-card-head { min-height: 94px; padding: 15px 12px 18px; }
    .comparison-card-head h3 { font-size: 17px; }
    .comparison-item { padding: 13px 12px; grid-template-columns: 26px minmax(0,1fr); gap: 9px; }
    .comparison-row-icon { width: 24px; height: 24px; }
    .comparison-item p { font-size: 12px; }
    .recommended-badge { right: 10px; top: 12px; }
    .capability-heading { margin-bottom: 30px; }
    .capability-path { margin-top: 21px; display: grid; grid-template-columns: 1fr; gap: 7px; }
    .capability-path span { justify-content: flex-start; }
    .capability-path i { display: none; }
    .bento-grid { grid-template-columns: 1fr; gap: 12px; }
    .bento-card { min-height: 0; padding: 20px; }
    .bento-icon { width: 46px; height: 46px; padding: 9px; flex-basis: 46px; }
    .bento-card h3 { font-size: 18px; }
    .bento-capabilities { margin-top: 16px; padding-top: 14px; gap: 9px; }
    .bento-capabilities li { font-size: 12px; }
    .faq-layout { gap: 31px; }
    .faq-item summary { min-height: 78px; padding: 18px 0; gap: 11px; }
    .faq-question { align-items: flex-start; gap: 9px; font-size: 14px; }
    .faq-q { margin-top: 1px; }
    .faq-answer > div { padding: 0 36px 21px 38px; gap: 9px; }
    .faq-answer p { font-size: 13px; }
    .download-section { padding: 66px 0 72px; }
    .download-cta { padding-bottom: 37px; }
    .download-cta h2 { font-size: 31px; }
    .download-cta p { font-size: 14px; line-height: 1.7; }
    .download-matrix-intro { padding-top: 27px; }
    .download-matrix { padding-top: 27px; grid-template-columns: 1fr; gap: 11px; }
    .download-card { min-height: 0; }
    .footer-main { padding: 31px 0 24px; display: flex; align-items: flex-start; flex-direction: column; }
    .footer-links { justify-content: flex-start; flex-wrap: wrap; gap: 12px 18px; }
    .footer-bottom { padding: 17px 0; align-items: flex-start; flex-direction: column; gap: 6px; line-height: 1.6; }
    .home-toolbox-notice { right: 12px; bottom: 12px; left: 12px; width: calc(100% - 24px); padding: 13px; align-items: flex-start; flex-wrap: wrap; }
    .home-toolbox-notice-copy { flex-basis: calc(100% - 56px); }
    .home-toolbox-notice-submit, .home-toolbox-notice-ack { flex: 1; }
    .home-toolbox-notice-close { position: absolute; top: 7px; right: 7px; }
}

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