:root {
    --ink: #07111f;
    --ink-soft: #0d1b2d;
    --line: rgba(151, 183, 214, .18);
    --muted: #9fb1c6;
    --paper: #f4f7fb;
    --cyan: #5ee7ff;
    --blue: #6d8cff;
    --lime: #d7ff72;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

main { display: flex; flex-direction: column; }

.news-section { display: none; }

/* Keep the homepage focused while keeping the company video visible in the main journey. */
.high-precision-equipment-section,
.scenes-section,
.tech-advantages-section,
.reviews-section,
.b2b-guide-section,
.faq-section { display: none !important; }

.carousel { order: 1; }
.home-proof { order: 2; }
.home-core-products { order: 3; }
.section-about { display: block !important; order: 4; }
.home-articles { order: 5; }
.contact-section { order: 6; }
.home-directory { display: none !important; }

.home-proof {
    padding: 78px 28px;
    background: linear-gradient(180deg, #0d2744 0%, #102f4e 100%);
    color: #fff;
}
.home-proof-inner { max-width: 1184px; margin: 0 auto; }
.home-proof-copy { max-width: 700px; }
.home-proof h2 { margin: 12px 0 16px; font-size: clamp(32px, 4vw, 54px); line-height: 1.04; letter-spacing: -.05em; }
.home-proof-copy p { max-width: 640px; margin: 0; color: #b7c9dc; font-size: 16px; line-height: 1.7; }
.home-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 36px; }
.home-proof-grid > div { padding: 20px; border: 1px solid rgba(151,183,214,.2); border-radius: 15px; background: rgba(255,255,255,.06); }
.home-proof-grid strong { display: block; margin-bottom: 8px; color: var(--cyan); font-size: 14px; }
.home-proof-grid span { display: block; color: #b7c9dc; font-size: 13px; line-height: 1.55; }

.home-articles { padding: 72px 28px; background: #07111f; color: #fff; }
.home-articles-inner { max-width: 1184px; margin: 0 auto; }
.home-articles-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.home-articles h2 { max-width: 650px; margin: 12px 0 0; font-size: clamp(30px, 3.8vw, 50px); line-height: 1.05; letter-spacing: -.05em; }
.home-articles-all { color: var(--cyan); font-size: 13px; font-weight: 800; white-space: nowrap; }
.home-articles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.home-article-card { min-height: 260px; padding: 24px; border: 1px solid rgba(151,183,214,.2); border-radius: 16px; background: rgba(255,255,255,.06); }
.home-article-card > span { color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.home-article-card h3 { margin: 28px 0 11px; font-size: 21px; line-height: 1.15; letter-spacing: -.03em; }
.home-article-card p { margin: 0; color: #a7b8cb; font-size: 13px; line-height: 1.6; }
.home-article-card a { display: inline-block; margin-top: 22px; color: #fff; font-size: 12px; font-weight: 800; }
.home-article-card a:hover { color: var(--cyan); }

.home-article-card { min-height: 0; padding: 18px; }
.home-article-card h3 { margin-top: 18px; font-size: 18px; }
.home-article-card p { display: none; }

.home-directory { padding: 64px 28px; background: linear-gradient(180deg, #102f4e 0%, #0d2744 100%); color: #fff; }
.home-directory-inner { max-width: 1184px; margin: 0 auto; display: flex; align-items: end; justify-content: space-between; gap: 38px; }
.home-directory h2 { max-width: 500px; margin: 12px 0 0; font-size: clamp(28px, 3.5vw, 46px); line-height: 1.04; letter-spacing: -.05em; }
.home-directory-links { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 10px; min-width: 420px; }
.home-directory-links a { display: flex; justify-content: space-between; gap: 20px; padding: 14px 16px; border: 1px solid rgba(151,183,214,.25); border-radius: 10px; background: rgba(255,255,255,.07); color: #dce9f5; font-size: 13px; font-weight: 700; }
.home-directory-links a:hover { border-color: var(--cyan); color: var(--cyan); background: rgba(94,231,255,.1); }
.home-directory-links span { color: var(--cyan); }

/* Focused B2B inquiry form: capture the fields that qualify a project. */
.contact-section { background: #07111f; padding: 72px 0; }
.contact-container { border: 1px solid rgba(151,183,214,.18); border-radius: 24px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.24); }
.contact-info { background: linear-gradient(145deg, #0d2744, #123b61); color: #fff; }
.contact-info h2, .contact-info h3 { color: #fff; }
.contact-info p, .contact-text p { color: #b7c9dc; }
.contact-form { background: #111d2c; color: #fff; }
.form-title { color: #fff; }
.contact-form form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.contact-form .form-group { margin-bottom: 16px; }
.contact-form .form-group.full, .contact-form .submit-btn { grid-column: 1 / -1; }
.form-group label { color: #dce9f5; }
.form-control { min-height: 48px; border: 1px solid #3d5067; border-radius: 9px; background: #202c3b; color: #fff; }
.form-control::placeholder { color: #8393a7; }
.form-control:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(94,231,255,.14); }
.contact-form select.form-control { color: #fff; }
.contact-form select.form-control option { color: #07111f; }
.submit-btn { background: linear-gradient(100deg, var(--cyan), #829dff); color: #06101d; border-radius: 9px; }

/* Keep the footer connected to the same dark product-led system. */
.footer { border-top-color: rgba(151,183,214,.16); background: #07111f; color: #9fb1c6; }
.footer-title { color: #fff; }
.footer-text, .footer-list a, .footer-list a:link, .footer-list a:visited, .footer-contact { color: #9fb1c6; }
.footer-list a:hover, .footer-bottom a:hover { color: var(--cyan); }
.social-icon { background-color: rgba(255,255,255,.08); }
.footer-separator { border-top-color: rgba(151,183,214,.18); }
.footer-bottom, .footer-bottom a { color: #71849a; }

/* Keep the navigation inside the same visual system as the product-led hero. */
.navbar {
    background: rgba(6, 16, 29, .86);
    border-bottom: 1px solid rgba(151, 183, 214, .16);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .18);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.nav-container { height: 90px; }
.nav-logo { position: relative; padding: 0; background: transparent; box-shadow: none; }
.nav-logo::before { content: ""; position: absolute; inset: 9px 3px 8px; border-radius: 50%; background: rgba(94,231,255,.12); filter: blur(10px); z-index: -1; }
.nav-logo img { width: 74px; max-width: 74px; max-height: 64px; filter: drop-shadow(0 1px 1px rgba(255,255,255,.72)) drop-shadow(0 0 8px rgba(94,231,255,.2)); }
.nav-list { gap: 3px; }
.nav-link {
    color: #c9d7e7;
    font-size: 14px;
    font-weight: 600;
    transition: color .25s ease, background .25s ease;
}
.nav-link:hover,
.nav-item:hover > .nav-link,
.nav-link.active { color: var(--cyan); }
.nav-item:last-child > .nav-link {
    margin-left: 8px;
    padding: 11px 17px;
    border: 1px solid rgba(94, 231, 255, .55);
    border-radius: 999px;
    color: #fff;
}
.nav-item:last-child > .nav-link:hover { background: rgba(94, 231, 255, .12); color: var(--cyan); }
.nav-toggle span { background-color: #c9d7e7; }
.dropdown-menu {
    background: rgba(7, 17, 31, .98);
    border: 1px solid rgba(151, 183, 214, .18);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
}
.dropdown-link,
.dropdown-link--product,
.dropdown-link--category { color: #c9d7e7; }
.dropdown-link:hover,
.dropdown-link--category:hover,
.dropdown-link--product:hover { background: #102941; color: var(--cyan); }
.section-about { background: linear-gradient(180deg, #07111f 0%, #0d2744 100%); color: #fff; }
.section-about .about-container { background: transparent; }
.section-about .about-title,
.section-about .about-body { background: transparent; color: #fff; }
.section-about .about-paragraph, .section-about .about-updated { color: #b7c9dc; }
.section-about .about-paragraph strong { color: #fff; }
.section-about .about-paragraph a { color: var(--cyan); }
.section-about .about-video-more-head, .section-about .about-video-more-head a { color: #b7c9dc; }
.section-about .about-video-more-trigger { background: #102941; border-color: rgba(151, 183, 214, .24); color: #fff; }
.section-about .about-video-more-panel { background: rgba(7, 17, 31, .52); border-color: rgba(151, 183, 214, .18); }
.section-about .about-video-more-item { background: #102941; color: #fff; }
.section-about .about-video-more-item span { color: #b7c9dc; }
.section-about .about-video-more-panel { display: block !important; padding: 0; background: transparent; border: 0; box-shadow: none; }
.section-about .about-video-more-list,
.section-about .about-video-more-trigger { display: none !important; }
.section-about .about-proof-points { display: grid; gap: 10px; margin-top: 24px; }
.section-about .about-proof-points > div { display: grid; gap: 3px; padding: 13px 15px; border: 1px solid rgba(151, 183, 214, .2); border-radius: 10px; background: rgba(255, 255, 255, .05); }
.section-about .about-proof-points strong { color: var(--cyan); font-size: 13px; }
.section-about .about-proof-points span { color: #b7c9dc; font-size: 12px; line-height: 1.45; }
.section-about .about-video-cta { display: inline-flex; margin-top: 22px; color: var(--cyan); font-size: 13px; font-weight: 800; }
.high-precision-equipment-section { position: relative; z-index: 2; margin-top: -28px; border-radius: 32px 32px 0 0; background: #f4f7fb; }
.scenes-section { position: relative; z-index: 1; background: linear-gradient(180deg, #f4f7fb 0%, #e8eef5 100%); }
.tech-advantages-section { background: #e8eef5; }

.carousel { order: -1; margin-top: 0; position: relative; overflow: hidden; background: linear-gradient(135deg, #06101d, #0b213b 58%, #07111f); }
.carousel .carousel-inner { min-height: 610px; }
.carousel .carousel-item { display: none; height: 610px; }
.carousel .carousel-item.active { display: block; }
.carousel .carousel-link { display: block; height: 100%; }
.tech-home-slide { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr); gap: 40px; align-items: center; max-width: 1184px; margin: 0 auto; padding: 90px 28px 72px; color: #fff; }
.tech-home-slide-copy { max-width: 620px; }
.tech-home-slide-kicker { color: var(--cyan); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.tech-home-slide h1 { margin: 18px 0; font-size: clamp(42px, 5.4vw, 76px); line-height: .98; letter-spacing: -.06em; }
.tech-home-slide h1 span { display: block; color: var(--cyan); }
.tech-home-slide p { max-width: 540px; margin: 0; color: #b7c9dc; font-size: 17px; line-height: 1.65; }
.tech-home-slide-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.tech-home-slide-actions a { display: inline-flex; align-items: center; min-height: 46px; padding: 0 18px; border-radius: 9px; font-size: 13px; font-weight: 800; }
.tech-home-slide-actions a:first-child { background: linear-gradient(100deg, var(--cyan), #829dff); color: #06101d; }
.tech-home-slide-actions a:last-child { border: 1px solid rgba(151,183,214,.3); color: #fff; }
.tech-home-slide-visual { height: 420px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(151,183,214,.2); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.025)); box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.tech-home-slide-visual img { width: 86%; height: 86%; object-fit: contain; filter: drop-shadow(0 25px 20px rgba(0,0,0,.46)); }
.tech-home-slide-meta { position: absolute; right: 30px; bottom: 24px; color: rgba(255,255,255,.5); font-size: 11px; letter-spacing: .16em; }
.carousel .carousel-indicators { bottom: 20px; }
.carousel .carousel-btn { z-index: 3; }

a { color: inherit; text-decoration: none; }

.tech-nav {
    position: absolute;
    inset: 0 0 auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1240px;
    height: 82px;
    margin: 0 auto;
    padding: 0 28px;
    color: #fff;
}

.tech-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.tech-logo img { width: 46px; height: 46px; object-fit: contain; }

.tech-nav-links { display: flex; align-items: center; gap: 26px; font-size: 13px; color: #c9d7e7; }
.tech-nav-links a:hover { color: var(--cyan); }
.tech-nav-cta { padding: 12px 17px; border: 1px solid rgba(94,231,255,.55); border-radius: 999px; color: #fff; }

.tech-hero {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 25%, rgba(78, 177, 255, .25), transparent 26%),
        radial-gradient(circle at 16% 80%, rgba(110, 83, 255, .2), transparent 28%),
        linear-gradient(135deg, #06101d 0%, #0a1b30 52%, #07111f 100%);
    color: #fff;
}

.tech-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(to bottom, black, transparent 75%);
}

.tech-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
    gap: 50px;
    align-items: center;
    max-width: 1240px;
    min-height: 760px;
    margin: 0 auto;
    padding: 128px 28px 74px;
}

.tech-eyebrow, .tech-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--cyan);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tech-eyebrow::before {
    content: "";
    width: 30px;
    height: 1px;
    background: var(--cyan);
}

.tech-hero h1 {
    max-width: 680px;
    margin: 22px 0 24px;
    font-size: clamp(48px, 6vw, 86px);
    line-height: .98;
    letter-spacing: -.06em;
}

.tech-hero h1 span {
    display: block;
    color: transparent;
    background: linear-gradient(100deg, var(--cyan), #b8c7ff 75%);
    background-clip: text;
    -webkit-background-clip: text;
}

.tech-hero-copy { max-width: 560px; margin: 0; color: #b7c9dc; font-size: 18px; line-height: 1.65; }
.tech-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.tech-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 21px; border-radius: 10px; font-size: 14px; font-weight: 800; }
.tech-button-primary { background: linear-gradient(100deg, var(--cyan), #7d9bff); color: #06101d; }
.tech-button-ghost { border: 1px solid var(--line); color: #fff; }
.tech-button-ghost:hover { border-color: var(--cyan); }

.tech-hero-art { position: relative; min-height: 510px; }
.tech-hero-orbit { position: absolute; inset: 8% 4%; border: 1px solid rgba(94,231,255,.24); border-radius: 50%; transform: rotate(-18deg); }
.tech-hero-orbit::before { content: ""; position: absolute; inset: 12% 13%; border: 1px solid rgba(109,140,255,.28); border-radius: 50%; }
.tech-hero-product {
    position: absolute;
    inset: 6% 8% 7% 12%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 36px;
    background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.025));
    box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.18);
    transform: rotate(4deg);
}
.tech-hero-product img { width: 74%; height: 74%; object-fit: contain; filter: drop-shadow(0 25px 20px rgba(0,0,0,.52)); }
.tech-hero-product::after { content: "WF—019"; position: absolute; right: 24px; bottom: 22px; color: rgba(255,255,255,.54); font-size: 11px; letter-spacing: .18em; }
.tech-signal { position: absolute; display: grid; gap: 3px; min-width: 144px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(6,16,29,.72); backdrop-filter: blur(10px); font-size: 11px; color: var(--muted); }
.tech-signal strong { color: #fff; font-size: 14px; }
.tech-signal-one { top: 7%; right: 0; }
.tech-signal-two { bottom: 8%; left: 0; }

.tech-strip { position: relative; z-index: 2; margin: -1px auto 0; padding: 0 28px; background: var(--ink); color: #fff; }
.tech-strip-inner { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1184px; margin: 0 auto; border-left: 1px solid var(--line); }
.tech-stat { padding: 20px 24px; border-right: 1px solid var(--line); }
.tech-stat strong { display: block; margin-bottom: 5px; font-size: 23px; }
.tech-stat span { color: var(--muted); font-size: 12px; }

.tech-section { max-width: 1184px; margin: 0 auto; padding: 112px 28px; }
.tech-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.tech-section h2 { max-width: 650px; margin: 13px 0 0; font-size: clamp(34px, 4vw, 58px); line-height: 1.02; letter-spacing: -.05em; }
.tech-section-intro { max-width: 420px; margin: 0; color: #66758a; line-height: 1.7; }

.tech-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tech-product-card { position: relative; min-height: 510px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; border-radius: 22px; background: #fff; box-shadow: 0 12px 40px rgba(7,17,31,.08); transition: transform .2s ease, box-shadow .2s ease; }
.tech-product-card:hover { transform: translateY(-7px); box-shadow: 0 22px 54px rgba(7,17,31,.14); }
.tech-product-card.featured { background: var(--ink-soft); color: #fff; }
.tech-product-meta { display: flex; justify-content: space-between; color: #6c7d92; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.featured .tech-product-meta { color: #9fb1c6; }
.tech-product-image { display: flex; align-items: center; justify-content: center; min-height: 245px; padding: 18px; }
.tech-product-image img { width: 100%; height: 230px; object-fit: contain; filter: drop-shadow(0 20px 20px rgba(7,17,31,.15)); }
.tech-product-card h3 { margin: 0 0 10px; font-size: 25px; line-height: 1.04; letter-spacing: -.04em; }
.tech-product-card p { min-height: 76px; margin: 0; color: #68788e; font-size: 14px; line-height: 1.6; }
.featured .tech-product-card p, .featured p { color: #a7b8cb; }
.tech-product-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: #365cf5; font-size: 13px; font-weight: 800; }
.featured .tech-product-link { color: var(--cyan); }

.tech-compare { padding-top: 0; }
.tech-compare-panel { overflow: hidden; border-radius: 22px; background: var(--ink); color: #fff; box-shadow: 0 18px 52px rgba(7,17,31,.16); }
.tech-compare table { width: 100%; border-collapse: collapse; }
.tech-compare th, .tech-compare td { padding: 19px 22px; border-bottom: 1px solid var(--line); text-align: left; font-size: 13px; }
.tech-compare th { color: var(--cyan); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.tech-compare td:first-child { color: var(--muted); }
.tech-compare tr:last-child td { border-bottom: 0; }

.tech-scenarios { background: #e8eef5; }
.tech-scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tech-scenario { min-height: 210px; padding: 28px; border-radius: 18px; background: rgba(255,255,255,.7); }
.tech-scenario span { color: #536bff; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.tech-scenario h3 { margin: 32px 0 10px; font-size: 24px; letter-spacing: -.03em; }
.tech-scenario p { margin: 0; color: #66758a; line-height: 1.6; }

.tech-proof { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.tech-proof h2 { margin-bottom: 22px; }
.tech-proof-copy { color: #66758a; line-height: 1.75; }
.tech-proof-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 28px; }
.tech-proof-item { padding: 16px; border: 1px solid #d9e1eb; border-radius: 12px; background: #fff; }
.tech-proof-item strong { display: block; margin-bottom: 4px; }
.tech-proof-item span { color: #66758a; font-size: 12px; }
.tech-proof-image { min-height: 420px; border-radius: 26px; background: linear-gradient(145deg, #172943, #08111e); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.tech-proof-image img { width: 100%; height: 100%; object-fit: cover; opacity: .82; }

.tech-content-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tech-content-card { min-height: 245px; padding: 25px; border: 1px solid #d9e1eb; border-radius: 18px; background: #fff; }
.tech-content-card small { color: #536bff; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tech-content-card h3 { margin: 27px 0 10px; font-size: 21px; line-height: 1.1; letter-spacing: -.03em; }
.tech-content-card p { margin: 0; color: #66758a; font-size: 13px; line-height: 1.65; }
.tech-content-card a { display: inline-block; margin-top: 20px; color: #365cf5; font-size: 12px; font-weight: 800; }
.tech-content-card a:hover { color: #1026ad; }

.tech-faq-section { background: #eef3f8; }
.tech-faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 36px; }
.tech-faq-item { padding: 20px 0; border-bottom: 1px solid #d3dde8; }
.tech-faq-item h3 { margin: 0 0 9px; font-size: 16px; }
.tech-faq-item p { margin: 0; color: #66758a; font-size: 13px; line-height: 1.65; }

.home-core-products {
    position: relative;
    overflow: hidden;
    padding: 78px 28px 84px;
    background: linear-gradient(135deg, #07111f, #0d2340 64%, #07111f);
    color: #fff;
}
.home-core-products::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(94,231,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(94,231,255,.13) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent); }
.home-core-products-inner { position: relative; z-index: 1; max-width: 1184px; margin: 0 auto; }
.home-core-products-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.home-core-products-kicker { color: var(--cyan); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.home-core-products h2 { max-width: 620px; margin: 12px 0 0; font-size: clamp(34px, 4vw, 58px); line-height: 1.02; letter-spacing: -.05em; }
.home-core-products-intro { max-width: 390px; margin: 0; color: #a7b8cb; line-height: 1.65; }
.home-core-products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.home-core-product { min-height: 430px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border: 1px solid rgba(151,183,214,.2); border-radius: 18px; background: rgba(255,255,255,.07); transition: transform .2s ease, background .2s ease; }
.home-core-product:hover { transform: translateY(-5px); background: rgba(255,255,255,.12); }
.home-core-product img { width: 100%; height: 170px; object-fit: contain; filter: drop-shadow(0 18px 16px rgba(0,0,0,.3)); }
.home-core-product h3 { margin: 18px 0 7px; font-size: 21px; letter-spacing: -.03em; }
.home-core-product p { margin: 0; color: #a7b8cb; font-size: 13px; line-height: 1.55; }
.home-core-product-details { display: grid; gap: 7px; margin: 17px 0 0; padding: 0 0 0 17px; color: #dce9f5; font-size: 12px; line-height: 1.45; }
.home-core-product-details li::marker { color: var(--cyan); }
.home-core-product a { display: inline-block; margin-top: 18px; color: var(--cyan); font-size: 12px; font-weight: 800; }

.tech-resource-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.tech-resource-bar a { padding: 11px 15px; border: 1px solid #d5deea; border-radius: 999px; background: #fff; color: #3d5878; font-size: 12px; font-weight: 700; }
.tech-resource-bar a:hover { border-color: #536bff; color: #365cf5; }

.tech-catalog { background: #fff; }
.tech-catalog-panel { padding: 28px; border: 1px solid #d9e1eb; border-radius: 20px; background: #f7f9fc; }
.tech-catalog-group + .tech-catalog-group { margin-top: 24px; }
.tech-catalog-group h3 { margin: 0 0 12px; font-size: 15px; }
.tech-catalog-links { display: flex; flex-wrap: wrap; gap: 8px; }
.tech-catalog-links a { padding: 9px 12px; border: 1px solid #d6dfeb; border-radius: 8px; background: #fff; color: #52647c; font-size: 12px; }
.tech-catalog-links a:hover { border-color: #536bff; color: #365cf5; }

.tech-contact { background: var(--ink); color: #fff; }
.tech-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: start; }
.tech-contact h2 { margin-bottom: 18px; }
.tech-contact-copy { color: #a7b8cb; line-height: 1.7; }
.tech-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.05); }
.tech-form-group { display: grid; gap: 7px; }
.tech-form-group.full { grid-column: 1 / -1; }
.tech-form label { color: #b7c9dc; font-size: 12px; }
.tech-form input, .tech-form select, .tech-form textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: rgba(255,255,255,.07); color: #fff; font: inherit; }
.tech-form option { color: #07111f; }
.tech-form textarea { min-height: 100px; resize: vertical; }
.tech-form input:focus, .tech-form select:focus, .tech-form textarea:focus { border-color: var(--cyan); }
.tech-form button { grid-column: 1 / -1; border: 0; cursor: pointer; }

.tech-footer { padding: 28px; background: #040a12; color: #8192a7; font-size: 12px; }
.tech-footer-inner { display: flex; justify-content: space-between; gap: 20px; max-width: 1184px; margin: 0 auto; }
.tech-footer a:hover { color: var(--cyan); }

@media (max-width: 860px) {
    .navbar { background: rgba(6, 16, 29, .94); }
    .nav-logo { padding: 0; }
    .nav-logo img { width: 72px; max-width: 72px; max-height: 62px; }
    .nav-list { background: #07111f; border-left: 1px solid rgba(151, 183, 214, .16); }
    .nav-item { border-bottom-color: rgba(151, 183, 214, .16); }
    .dropdown-menu { background: #0d1b2d; border: 0; }
    .dropdown-link:hover { background: #102941; }
    .tech-nav-links { display: none; }
    .home-proof-grid { grid-template-columns: 1fr; }
    .home-articles-grid { grid-template-columns: 1fr; }
    .home-articles-head { display: block; }
    .home-articles-all { display: inline-block; margin-top: 18px; }
    .home-directory-inner { display: block; }
    .home-directory-links { min-width: 0; margin-top: 24px; }
    .carousel.tech-home-carousel { height: 780px !important; min-height: 780px; margin-top: 0; }
    .carousel.tech-home-carousel .carousel-inner,
    .carousel.tech-home-carousel .carousel-item { min-height: 780px; height: 780px; }
    .tech-home-slide { grid-template-columns: 1fr; gap: 20px; padding: 118px 26px 54px; }
    .tech-home-slide h1 { font-size: clamp(42px, 11vw, 58px); }
    .tech-home-slide p { font-size: 15px; line-height: 1.55; }
    .tech-home-slide-visual { height: 250px; }
    .tech-hero-inner, .tech-proof, .tech-contact-grid { grid-template-columns: 1fr; }
    .tech-hero { min-height: auto; }
    .tech-hero-inner { min-height: auto; padding-top: 130px; }
    .tech-hero-art { min-height: 420px; }
    .tech-strip-inner { grid-template-columns: repeat(2, 1fr); }
    .tech-product-grid, .tech-scenario-grid { grid-template-columns: 1fr; }
    .home-core-products-grid { grid-template-columns: 1fr; }
    .home-core-products-head { display: block; }
    .home-core-products-intro { margin-top: 16px; }
    .tech-content-grid { grid-template-columns: 1fr; }
    .tech-faq-grid { grid-template-columns: 1fr; }
    .tech-section-head { display: block; }
    .tech-section-intro { margin-top: 18px; }
    .tech-proof-image { min-height: 300px; }
}

@media (max-width: 560px) {
    .tech-hero h1 { font-size: 48px; }
    .tech-hero-art { min-height: 330px; }
    .tech-signal { min-width: 122px; }
    .tech-strip { padding: 0 16px; }
    .tech-strip-inner { grid-template-columns: 1fr 1fr; }
    .tech-stat { padding: 16px 13px; }
    .tech-section { padding: 78px 18px; }
    .home-proof, .home-directory { padding-left: 18px; padding-right: 18px; }
    .home-articles { padding-left: 18px; padding-right: 18px; }
    .home-directory-links { grid-template-columns: 1fr; }
    .contact-form form { grid-template-columns: 1fr; }
    .contact-form .form-group.full, .contact-form .submit-btn { grid-column: auto; }
    .tech-form { grid-template-columns: 1fr; }
    .tech-form-group.full { grid-column: auto; }
    .tech-form button { grid-column: auto; }
    .tech-footer-inner { display: block; }
}

/* Homepage B2B visual reset: product photography stays on true white surfaces. */
:root {
    --ink: #171717;
    --ink-soft: #2b2b2b;
    --line: #e1e4e7;
    --muted: #687078;
    --paper: #ffffff;
    --cyan: #c9272c;
    --blue: #c9272c;
}

body { background: #fff; color: var(--ink); }

.navbar {
    height: 76px;
    background: #fff !important;
    border-bottom: 1px solid #e6e7e8;
    box-shadow: none !important;
}

.nav-container {
    max-width: 1280px;
    height: 76px;
    padding: 0 28px;
}

.nav-logo img { max-height: 58px; max-width: 76px; }
.nav-list { align-items: center; gap: 24px; }
.nav-item { display: flex; align-items: center; }
.nav-link {
    padding: 0;
    color: #252525;
    font-size: 14px;
    font-weight: 600;
    line-height: 76px;
}
.nav-link:hover,
.nav-item:hover > .nav-link,
.nav-link.active { color: #c9272c; }
.nav-item:last-child > .nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 20px;
    margin: 0;
    border-radius: 4px;
    background: #c9272c;
    color: #fff !important;
    line-height: 1;
}
.nav-item:last-child > .nav-link:hover { background: #a91f24; }
.dropdown-menu { top: calc(100% - 1px); border: 1px solid #e2e4e6; border-radius: 0; box-shadow: 0 14px 30px rgba(0,0,0,.08); }
.dropdown-link { color: #333; font-size: 14px; }
.dropdown-link:hover { background: #f7f7f7; color: #c9272c; }

.carousel { background: #fff !important; border-bottom: 1px solid #eceeef; }
.tech-home-slide { color: #171717; }
.tech-home-slide-kicker { color: #c9272c; }
.tech-home-slide h1 { color: #171717; letter-spacing: -.035em; }
.tech-home-slide h1 span { color: #c9272c; }
.tech-home-slide p { color: #5f666d; }
.tech-home-slide-actions a:first-child { background: #c9272c; color: #fff; }
.tech-home-slide-actions a:first-child:hover { background: #a91f24; }
.tech-home-slide-actions a:last-child { border-color: #252525; color: #252525; }
.tech-home-slide-visual {
    border: 1px solid #e1e4e7;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(17, 24, 39, .08);
}
.tech-home-slide-visual img { filter: none; }
.tech-home-slide-meta { color: #858b91; }
.carousel .carousel-indicators .indicator.active { background: #c9272c; }

.home-core-products {
    background: #fff;
    color: #171717;
    border-bottom: 1px solid #e7e9eb;
}
.home-core-products::before { display: none; }
.home-core-products-kicker { color: #c9272c; }
.home-core-products h2 { color: #171717; letter-spacing: -.035em; }
.home-core-products-intro { color: #687078; }
.home-core-product {
    min-height: 390px;
    padding: 20px;
    border: 1px solid #e1e4e7;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17, 24, 39, .05);
}
.home-core-product:hover { transform: translateY(-3px); background: #fff; box-shadow: 0 14px 30px rgba(17, 24, 39, .09); }
.home-core-product img { filter: none; }
.home-core-product h3 { color: #171717; }
.home-core-product p { color: #687078; }
.home-core-product-details { color: #3f464c; }
.home-core-product-details li::marker { color: #c9272c; }
.home-core-product a { color: #c9272c; }
.home-core-product a:hover { color: #a91f24; }

.section-about {
    background: #f5f6f7;
    color: #171717;
    border-bottom: 1px solid #e5e7e9;
}
.section-about .about-container { background: transparent; }
.section-about .about-title,
.section-about .about-body { background: transparent; color: #171717; }
.section-about .about-title { letter-spacing: -.03em; }
.section-about .about-paragraph,
.section-about .about-updated { color: #5f666d; }
.section-about .about-paragraph strong { color: #171717; }
.section-about .about-paragraph a,
.section-about .about-video-more-head a,
.section-about .about-video-cta { color: #c9272c; }
.section-about .about-video-player { box-shadow: 0 12px 28px rgba(17,24,39,.13); }
.section-about .about-proof-points > div { border-color: #dfe2e5; background: #fff; }
.section-about .about-proof-points strong { color: #c9272c; }
.section-about .about-proof-points span { color: #687078; }

.home-proof { background: #fff; color: #171717; border-bottom: 1px solid #e7e9eb; }
.home-proof h2 { color: #171717; letter-spacing: -.035em; }
.home-proof-copy p { color: #687078; }
.home-proof-grid > div { border: 1px solid #e1e4e7; border-radius: 4px; background: #fff; }
.home-proof-grid strong { color: #c9272c; }
.home-proof-grid span { color: #687078; }

.home-articles { background: #f5f6f7; color: #171717; }
.home-articles h2 { color: #171717; letter-spacing: -.035em; }
.home-articles-all,
.home-article-card a { color: #c9272c; }
.home-article-card { border: 1px solid #e1e4e7; border-radius: 4px; background: #fff; }
.home-article-card > span { color: #c9272c; }
.home-article-card h3 { color: #171717; }

.contact-section { background: #fff; border-top: 1px solid #e7e9eb; }
.contact-container { max-width: 1184px; margin: 0 auto; border: 1px solid #e1e4e7; border-radius: 4px; box-shadow: none; }

@media (max-width: 958px) {
    .navbar { height: 68px; }
    .nav-container { height: 68px; padding: 0 18px; }
    .nav-logo img { max-height: 50px; max-width: 68px; }
    .nav-toggle { display: flex; }
    .nav-list { gap: 0; }
    .nav-link { line-height: 1.4; }
    .nav-item:last-child > .nav-link { min-height: 46px; margin: 12px 0 0; justify-content: center; }
    .nav-list { background: #fff; border-left: 1px solid #e1e4e7; }
    .nav-item { border-bottom-color: #e8eaec; }
    .dropdown-menu { border: 0; box-shadow: none; }
    .dropdown-link:hover { background: #f7f7f7; }
    .tech-home-slide { padding-top: 96px; }
    .home-core-product { min-height: 0; }
}

/* Last-in-file footer rules keep the homepage responsive footer identical. */
@media (max-width: 958px) {
    .footer-content { width: min(100% - 32px, 640px) !important; padding: 46px 0 32px !important; grid-template-columns: 1fr !important; gap: 30px !important; }
    .footer-col, .footer-col:first-child, .footer-col:nth-child(2), .footer-col:nth-child(3), .footer-col:nth-child(4), .footer-col:nth-child(5) { grid-column: auto !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
    .footer-title, .footer-col:nth-child(2) .footer-title, .footer-col:nth-child(3) .footer-title, .footer-col:nth-child(4) .footer-title { margin-bottom: 14px !important; font-size: 16px !important; line-height: 1.35 !important; }
    .footer-text { max-width: none !important; margin-bottom: 20px !important; }
    .footer-socials { justify-content: flex-start !important; gap: 9px !important; margin-top: 20px !important; }
    .social-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; background-size: 17px !important; }
    .footer-list, .footer-col:nth-child(3) .footer-list, .footer-col:nth-child(4) .footer-list { align-items: flex-start !important; text-align: left !important; gap: 8px !important; }
    .footer-list a, .footer-col:nth-child(3) .footer-list a, .footer-col:nth-child(4) .footer-list a { display: block !important; min-height: 0 !important; padding: 3px 0 !important; text-align: left !important; }
    .footer-contact { gap: 12px !important; text-align: left !important; }
    .footer-contact-item { align-items: flex-start !important; justify-content: flex-start !important; flex-direction: row !important; gap: 10px !important; text-align: left !important; }
    .footer-icon { flex: 0 0 24px !important; width: 24px !important; height: 24px !important; }
}

/* Final full-bleed homepage hero override. This is intentionally last so the
   legacy preview layers above cannot change slide geometry or readability. */
.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item,
.tech-home-carousel .tech-home-slide {
    min-height: calc(100svh - 76px) !important;
    height: calc(100svh - 76px) !important;
}
.tech-home-carousel { position: relative; overflow: hidden; background: #171717 !important; }
.tech-home-carousel .carousel-item {
    position: relative;
    overflow: hidden;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}
.tech-home-carousel .carousel-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(10,10,10,.58), rgba(10,10,10,.12) 58%, rgba(10,10,10,.24));
}
.tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(90deg, rgba(8,8,8,.72), rgba(8,8,8,.16) 62%, rgba(8,8,8,.08)), url('../images/webp/product-background.webp') !important; }
.tech-home-carousel .carousel-item:nth-child(2) { background-image: linear-gradient(90deg, rgba(8,8,8,.68), rgba(8,8,8,.18) 62%, rgba(8,8,8,.08)), url('../images/webp/work.webp') !important; }
.tech-home-carousel .carousel-item:nth-child(3) { background-image: linear-gradient(90deg, rgba(8,8,8,.62), rgba(8,8,8,.16) 62%, rgba(8,8,8,.08)), url('../images/webp/applicable.webp') !important; }
.tech-home-carousel .tech-home-slide {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 0 clamp(28px, 8vw, 150px);
    box-sizing: border-box;
}
.tech-home-carousel .tech-home-slide-copy {
    position: relative;
    z-index: 2;
    width: min(570px, 100%);
    padding: 40px 0 42px 34px;
    border-left: 1px solid rgba(255,255,255,.5);
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.tech-home-carousel .tech-home-slide-copy::after {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 72px;
    height: 1px;
    background: #c9272c;
    box-shadow: 0 176px 0 #c9272c;
}
.tech-home-carousel .tech-home-slide-kicker { margin-bottom: 20px; color: #f06a6e !important; font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.tech-home-carousel .tech-home-slide-copy :is(h1, h2) {
    max-width: 520px;
    margin: 0 0 22px;
    color: #fff !important;
    font-size: clamp(44px, 5.4vw, 78px);
    line-height: .96;
    letter-spacing: -.045em;
    text-shadow: 0 3px 24px rgba(0,0,0,.24);
}
.tech-home-carousel .tech-home-slide-copy h1 span { color: #f06a6e !important; }
.tech-home-carousel .tech-home-slide-copy p { max-width: 480px; margin: 0; color: rgba(255,255,255,.86) !important; font-size: 16px; line-height: 1.65; text-shadow: 0 2px 12px rgba(0,0,0,.3); }
.tech-home-carousel .tech-home-slide-actions { margin-top: 30px; }
.tech-home-carousel .tech-home-slide-actions a:first-child { background: #c9272c !important; color: #fff !important; box-shadow: 0 10px 24px rgba(169,31,36,.26); }
.tech-home-carousel .tech-home-slide-actions a:last-child { border-color: rgba(255,255,255,.62) !important; color: #fff !important; background: rgba(23,23,23,.18); }
.tech-home-carousel .tech-home-slide-meta { right: clamp(28px, 8vw, 150px); bottom: 34px; color: rgba(255,255,255,.72) !important; font-size: 10px; letter-spacing: .2em; }
.tech-home-carousel .carousel-indicators { z-index: 3; bottom: 28px !important; }
.tech-home-carousel .carousel-btn { z-index: 3; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.72); background: rgba(23,23,23,.16); color: #fff; backdrop-filter: blur(4px); }

@media (max-width: 958px) {
    body:has(.tech-home-carousel) .nav-list:not(.active) {
        display: none !important;
    }
    body:has(.tech-home-carousel) .nav-list.active {
        display: flex !important;
    }
    .tech-home-carousel,
    .tech-home-carousel .carousel-inner,
    .tech-home-carousel .carousel-item,
    .tech-home-carousel .tech-home-slide { min-height: calc(100svh - 68px) !important; height: calc(100svh - 68px) !important; }
    .tech-home-carousel .carousel-item::before { background: linear-gradient(180deg, rgba(10,10,10,.26), rgba(10,10,10,.68)); }
    .tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(180deg, rgba(8,8,8,.08), rgba(8,8,8,.62)), url('../images/webp/mobile/product-background.webp') !important; background-position: center !important; }
    .tech-home-carousel .tech-home-slide { align-items: flex-end; padding: 0 22px 78px; }
    .tech-home-carousel .tech-home-slide-copy { width: min(100%, 560px); padding: 28px 0 0 20px; }
    .tech-home-carousel .tech-home-slide-copy::after { height: 1px; box-shadow: none; }
    .tech-home-carousel .tech-home-slide-copy h1 { margin-bottom: 16px; font-size: clamp(38px, 11vw, 58px); }
    .tech-home-carousel .tech-home-slide-copy p { font-size: 14px; line-height: 1.55; }
    .tech-home-carousel .tech-home-slide-actions { margin-top: 22px; }
    .tech-home-carousel .tech-home-slide-actions a { min-height: 42px; padding-inline: 14px; font-size: 12px; }
    .tech-home-carousel .tech-home-slide-meta { right: 22px; bottom: 24px; font-size: 8px; }
    .tech-home-carousel .carousel-btn { top: 46%; width: 36px; height: 36px; }
}

@media (max-width: 958px) {
    .tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(180deg, rgba(8,8,8,.08), rgba(8,8,8,.62)), url('../images/webp/mobile/product-background.webp') !important; background-position: center !important; }
    .tech-home-carousel .carousel-item { background-size: 100% 100% !important; }
    .tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(180deg, rgba(8,8,8,.08), rgba(8,8,8,.62)), url('../images/webp/mobile/product-background.webp') !important; }
}

/* Viewport-cover correction: the hero owns the complete first viewport and
   the shared navigation becomes a translucent overlay above the image. */
.navbar {
    background: rgba(255, 255, 255, .68) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .5) !important;
    box-shadow: 0 8px 24px rgba(23, 23, 23, .08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(115%);
    backdrop-filter: blur(14px) saturate(115%);
}
.nav-logo {
    background: transparent !important;
    box-shadow: none !important;
}
.nav-logo::before { display: none !important; }
.nav-logo img { filter: drop-shadow(0 3px 8px rgba(23, 23, 23, .16)) !important; }
.nav-link { color: #171717 !important; }
.nav-link:hover,
.nav-item:hover > .nav-link,
.nav-link.active { color: #c9272c !important; }

.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item,
.tech-home-carousel .tech-home-slide {
    min-height: 100dvh !important;
    height: 100dvh !important;
}
.tech-home-carousel .tech-home-slide-copy {
    width: min(780px, 70vw) !important;
}
.tech-home-carousel .tech-home-slide-copy h1 {
    max-width: 780px !important;
    font-size: clamp(42px, 4.4vw, 70px) !important;
    line-height: .98 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
.tech-home-carousel .tech-home-slide-copy h1 span {
    display: block;
    white-space: nowrap;
}

@media (max-width: 958px) {
    .tech-home-carousel,
    .tech-home-carousel .carousel-inner,
    .tech-home-carousel .carousel-item,
    .tech-home-carousel .tech-home-slide {
        min-height: 100dvh !important;
        height: 100dvh !important;
    }
    .tech-home-carousel .tech-home-slide-copy {
        width: 100% !important;
    }
    .tech-home-carousel .tech-home-slide-copy h1 {
        max-width: 100% !important;
        font-size: clamp(36px, 10vw, 56px) !important;
    }
    .tech-home-carousel .tech-home-slide-copy h1 span {
        white-space: normal;
    }
}

/* Final full-bleed homepage hero: image first, copy layered like an industrial
   campaign cover. Keep the existing carousel markup and SEO text intact. */
.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item,
.tech-home-carousel .tech-home-slide {
    min-height: calc(100svh - 76px) !important;
    height: calc(100svh - 76px) !important;
}

.tech-home-carousel {
    position: relative;
    overflow: hidden;
    background: #171717 !important;
}

.tech-home-carousel .carousel-item {
    position: relative;
    overflow: hidden;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.tech-home-carousel .carousel-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(10, 10, 10, .58), rgba(10, 10, 10, .12) 58%, rgba(10, 10, 10, .24));
}

.tech-home-carousel .carousel-item:nth-child(1) {
    background-image: url('../images/webp/product-background.webp') !important;
}
.tech-home-carousel .carousel-item:nth-child(2) {
    background-image: url('../images/webp/work.webp') !important;
}
.tech-home-carousel .carousel-item:nth-child(3) {
    background-image: url('../images/webp/applicable.webp') !important;
}

.tech-home-carousel .tech-home-slide {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 0 clamp(28px, 8vw, 150px);
    box-sizing: border-box;
}

.tech-home-carousel .tech-home-slide-copy {
    position: relative;
    z-index: 2;
    width: min(570px, 100%);
    padding: 40px 0 42px 34px;
    border-left: 1px solid rgba(255, 255, 255, .5);
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.tech-home-carousel .tech-home-slide-copy::after {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 72px;
    height: 1px;
    background: #c9272c;
    box-shadow: 0 176px 0 #c9272c;
}

.tech-home-carousel .tech-home-slide-kicker {
    margin-bottom: 20px;
    color: #f06a6e !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.tech-home-carousel .tech-home-slide-copy h1 {
    max-width: 520px;
    margin: 0 0 22px;
    color: #fff !important;
    font-size: clamp(44px, 5.4vw, 78px);
    line-height: .96;
    letter-spacing: -.045em;
    text-shadow: 0 3px 24px rgba(0, 0, 0, .24);
}

.tech-home-carousel .tech-home-slide-copy h1 span {
    color: #f06a6e !important;
}

.tech-home-carousel .tech-home-slide-copy p {
    max-width: 480px;
    margin: 0;
    color: rgba(255, 255, 255, .86) !important;
    font-size: 16px;
    line-height: 1.65;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .3);
}

.tech-home-carousel .tech-home-slide-actions {
    margin-top: 30px;
}

.tech-home-carousel .tech-home-slide-actions a:first-child {
    background: #c9272c !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(169, 31, 36, .26);
}

.tech-home-carousel .tech-home-slide-actions a:last-child {
    border-color: rgba(255, 255, 255, .62) !important;
    color: #fff !important;
    background: rgba(23, 23, 23, .18);
}

.tech-home-carousel .tech-home-slide-meta {
    right: clamp(28px, 8vw, 150px);
    bottom: 34px;
    color: rgba(255, 255, 255, .72) !important;
    font-size: 10px;
    letter-spacing: .2em;
}

.tech-home-carousel .carousel-indicators {
    z-index: 3;
    bottom: 28px !important;
}

.tech-home-carousel .carousel-btn {
    z-index: 3;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .72);
    background: rgba(23, 23, 23, .16);
    color: #fff;
    backdrop-filter: blur(4px);
}

@media (max-width: 958px) {
    .tech-home-carousel,
    .tech-home-carousel .carousel-inner,
    .tech-home-carousel .carousel-item,
    .tech-home-carousel .tech-home-slide {
        min-height: calc(100svh - 68px) !important;
        height: calc(100svh - 68px) !important;
    }

    .tech-home-carousel .carousel-item::before {
        background: linear-gradient(180deg, rgba(10, 10, 10, .26), rgba(10, 10, 10, .68));
    }

    .tech-home-carousel .tech-home-slide {
        align-items: flex-end;
        padding: 0 22px 78px;
    }

    .tech-home-carousel .tech-home-slide-copy {
        width: min(100%, 560px);
        padding: 28px 0 0 20px;
    }

    .tech-home-carousel .tech-home-slide-copy::after {
        height: 1px;
        box-shadow: none;
    }

    .tech-home-carousel .tech-home-slide-copy h1 {
        margin-bottom: 16px;
        font-size: clamp(38px, 11vw, 58px);
    }

    .tech-home-carousel .tech-home-slide-copy p {
        font-size: 14px;
        line-height: 1.55;
    }

    .tech-home-carousel .tech-home-slide-actions {
        margin-top: 22px;
    }

    .tech-home-carousel .tech-home-slide-actions a {
        min-height: 42px;
        padding-inline: 14px;
        font-size: 12px;
    }

    .tech-home-carousel .tech-home-slide-meta {
        right: 22px;
        bottom: 24px;
        font-size: 8px;
    }

    .tech-home-carousel .carousel-btn {
        top: 46%;
        width: 36px;
        height: 36px;
    }
}

/* Final full-screen homepage hero cascade. */
.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item,
.tech-home-carousel .tech-home-slide {
    min-height: calc(100svh - 76px) !important;
    height: calc(100svh - 76px) !important;
}
.tech-home-carousel .carousel-item {
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}
.tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(90deg, rgba(8, 8, 8, .74), rgba(8, 8, 8, .08)), url('../images/webp/product-background.webp') !important; }
.tech-home-carousel .carousel-item:nth-child(2) { background-image: linear-gradient(90deg, rgba(8, 8, 8, .66), rgba(8, 8, 8, .16)), url('../images/webp/work.webp') !important; }
.tech-home-carousel .carousel-item:nth-child(3) { background-image: linear-gradient(90deg, rgba(8, 8, 8, .58), rgba(8, 8, 8, .12)), url('../images/webp/applicable.webp') !important; }
.tech-home-carousel .carousel-item { background-size: 100% 100% !important; background-repeat: no-repeat !important; background-position: center !important; }
.tech-home-carousel .tech-home-slide { display: flex; align-items: center; padding: 0 clamp(28px, 8vw, 150px); box-sizing: border-box; }
.tech-home-carousel .tech-home-slide-copy { z-index: 2; width: min(610px, 100%); padding: clamp(26px, 4vw, 52px) clamp(26px, 4vw, 56px); border-left: 3px solid #c9272c; background: rgba(8, 8, 8, .34); box-shadow: 0 24px 70px rgba(0, 0, 0, .22); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.tech-home-carousel .tech-home-slide-copy::before { display: none !important; }
.tech-home-carousel .tech-home-slide-copy h1, .tech-home-carousel .tech-home-slide-copy p, .tech-home-carousel .tech-home-slide-kicker { color: #fff !important; }
.tech-home-carousel .tech-home-slide-copy h1 span { color: #f06a6e !important; }
.tech-home-carousel .tech-home-slide-visual { display: none !important; }
.tech-home-carousel .tech-home-slide-meta { color: rgba(255, 255, 255, .72) !important; right: clamp(28px, 8vw, 150px); }
.tech-home-carousel .carousel-indicators { bottom: 28px !important; }

/* Keep the homepage on the same explicit desktop nav contract. */
@media (min-width: 959px) {
    .navbar .nav-container { line-height: normal !important; }
    .navbar .nav-list { margin: 0 !important; padding: 0 !important; gap: 24px !important; }
    .navbar .nav-item { align-items: center !important; }
    .navbar .nav-link { display: inline-flex !important; align-items: center !important; height: 76px !important; padding: 0 !important; line-height: 76px !important; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; font-weight: 600 !important; box-sizing: border-box !important; }
    .navbar .nav-item:last-child > .nav-link { height: 42px !important; width: 119px !important; padding: 0 20px !important; margin: 0 !important; justify-content: center !important; }
    .navbar .nav-item.dropdown > .nav-link::after { display: none !important; content: none !important; }
}

@media (max-width: 560px) {
    .tech-home-slide h1 { font-size: clamp(38px, 10vw, 54px); }
    .tech-home-slide-visual { height: 220px; }
    .home-core-products,
    .home-proof,
    .home-articles { padding-top: 54px; padding-bottom: 56px; }
    .section-about { padding: 48px 0; }
    .section-about .about-title { font-size: 1.8rem; }
}

/* Final WAFU brand palette guardrail.
   This page intentionally overrides legacy homepage gradients and utility colors
   without changing the shared styles used by product and article pages. */
:root {
    --ink: #171717;
    --ink-soft: #2b2b2b;
    --muted: #687078;
    --paper: #f5f6f7;
    --surface: #ffffff;
    --line: #e1e4e7;
    --cyan: #c9272c;
    --blue: #c9272c;
}

body { background: var(--surface); color: var(--ink); }

/* Match the tech-preview journey: core platforms lead into the proof section. */
.tech-home-carousel { order: 1; }
.section-about { order: 2; }
.home-core-products { order: 3; }
.home-proof { order: 4; }
.home-articles { order: 5; }
.contact-section { order: 6; }

.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item {
    background: var(--surface) !important;
}
.tech-home-carousel .carousel-item::after { display: none !important; }
.tech-home-carousel .carousel-item img { opacity: 1; filter: none; }
.tech-home-carousel .carousel-btn {
    background: var(--surface);
    border: 1px solid var(--line);
    color: var(--ink);
    box-shadow: 0 4px 14px rgba(23, 23, 23, .08);
}
.tech-home-carousel .carousel-btn:hover { background: var(--paper); color: var(--red, #c9272c); }

.home-directory {
    background: var(--ink) !important;
    color: var(--surface);
}
.home-directory h2 { color: var(--surface); }
.home-directory-links a {
    border-color: #4a4d50;
    background: transparent;
    color: var(--surface);
}
.home-directory-links a:hover {
    border-color: var(--cyan);
    background: #242424;
    color: var(--surface);
}
.home-directory-links span { color: var(--cyan); }

.section-about {
    background: var(--paper) !important;
    color: var(--ink);
}
.home-proof { background: var(--surface) !important; }
.home-articles { background: var(--paper) !important; }

.contact-section {
    background: var(--paper) !important;
    border-top: 1px solid var(--line);
}
.contact-container {
    background: var(--surface);
    border-color: var(--line);
}
.contact-info {
    background: var(--ink) !important;
    color: var(--surface);
}
.contact-info h2,
.contact-info h3,
.contact-info strong { color: var(--surface); }
.contact-info p,
.contact-info li { color: #c6c9cc; }
.form-control:focus {
    border-color: var(--cyan) !important;
    box-shadow: 0 0 0 3px rgba(201, 39, 44, .12) !important;
}
.submit-btn {
    background: var(--cyan) !important;
    color: var(--surface) !important;
    border-radius: 4px !important;
}
.submit-btn:hover { background: #a91f24 !important; }

.footer {
    background: var(--surface) !important;
    color: var(--muted);
    border-top: 1px solid var(--line);
}
.footer-title { color: var(--ink) !important; }
.footer-text,
.footer-list a,
.footer-list a:link,
.footer-list a:visited,
.footer-contact { color: var(--muted) !important; }
.footer-list a:hover,
.footer-bottom a:hover { color: var(--cyan) !important; }
.footer-separator { border-top-color: var(--line) !important; }
.footer-bottom,
.footer-bottom a { color: #8a9095 !important; }

/* Keep the homepage dropdown aligned with the shared translucent navigation. */
@media (min-width: 959px) {
    .nav-item.dropdown > .dropdown-menu {
        background: rgba(80, 80, 80, .3) !important;
        border-color: rgba(255, 255, 255, .48) !important;
        box-shadow: 0 18px 42px rgba(23, 23, 23, .16) !important;
        -webkit-backdrop-filter: blur(16px) saturate(120%);
        backdrop-filter: blur(16px) saturate(120%);
    }
    .nav-item.dropdown > .dropdown-menu::before {
        background: rgba(80, 80, 80, .3) !important;
        border-color: rgba(255, 255, 255, .48) !important;
    }
    .nav-item.dropdown > .dropdown-menu .dropdown-link {
        background: transparent !important;
        color: #171717 !important;
    }
    .nav-item.dropdown > .dropdown-menu .dropdown-link:hover,
    .nav-item.dropdown > .dropdown-menu .dropdown-link:focus-visible {
        background: rgba(255, 255, 255, .55) !important;
        border-color: rgba(201, 39, 44, .24) !important;
        color: #c9272c !important;
    }
}

.float-kefu .kefu-item,
.float-kefu .kefu-item.wechat,
.float-kefu .kefu-item.phone,
.float-kefu .kefu-item.email {
    background: var(--cyan) !important;
    border: 1px solid rgba(169, 31, 36, .28);
    box-shadow: 0 6px 16px rgba(23, 23, 23, .16);
}
.float-kefu .kefu-item:hover { background: #a91f24 !important; }
.back-top { border: 1px solid var(--line); }

@media (max-width: 860px) {
    .navbar { background: var(--surface) !important; }
    .nav-list { background: var(--surface) !important; }
}

/* Refined homepage treatment: make the brand mark, navigation and hero feel like
   one deliberate product system while keeping the inherited page contracts intact. */
.nav-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    min-height: 52px;
    padding: 5px 12px;
    border: 0;
    border-radius: 10px;
    background: #fff4f4;
    box-shadow: 0 8px 22px rgba(201, 39, 44, .09);
}
.nav-logo::before {
    display: none;
}
.nav-logo img { position: relative; z-index: 1; filter: none; }

@media (min-width: 959px) {
    .nav-link.active {
        position: relative;
    }
    .nav-link.active::after {
        content: "";
        position: absolute;
        right: 8px;
        bottom: 0;
        left: 8px;
        height: 3px;
        border-radius: 999px;
        background: #c9272c;
        box-shadow: 0 0 12px rgba(201,39,44,.22);
    }
}

/* Desktop mega-menu: a clear white selection surface instead of a dark text-on-dark list. */
@media (min-width: 959px) {
    .nav-item.dropdown > .dropdown-menu {
        top: calc(100% + 12px);
        left: 50%;
        width: 590px;
        min-width: 0;
        max-height: none;
        display: none;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px 8px;
        padding: 18px;
        overflow: visible;
        border: 1px solid #dfe3e7;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 20px 46px rgba(23, 23, 23, .14), 0 3px 10px rgba(23, 23, 23, .06);
        transform: translateX(-50%);
    }
    .nav-item.dropdown > .dropdown-menu::before {
        content: "";
        position: absolute;
        top: -7px;
        left: 50%;
        width: 12px;
        height: 12px;
        border-top: 1px solid #dfe3e7;
        border-left: 1px solid #dfe3e7;
        background: #fff;
        transform: translateX(-50%) rotate(45deg);
    }
    .nav-item.dropdown:hover > .dropdown-menu,
    .nav-item.dropdown.active > .dropdown-menu { display: grid !important; }
    .nav-item.dropdown > .dropdown-menu li { min-width: 0; }
    .nav-item.dropdown > .dropdown-menu .dropdown-link {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 12px;
        border: 1px solid transparent;
        border-radius: 5px;
        color: #34383c !important;
        background: #fff !important;
        font-size: 13px;
        line-height: 1.35;
        white-space: normal;
    }
    .nav-item.dropdown > .dropdown-menu .dropdown-link:hover,
    .nav-item.dropdown > .dropdown-menu .dropdown-link:focus-visible {
        border-color: rgba(201, 39, 44, .2);
        background: #fff3f3 !important;
        color: #c9272c !important;
        outline: none;
    }
    .nav-item.dropdown:nth-child(2) > .dropdown-menu { width: 680px; }
    .nav-item.dropdown:nth-child(3) > .dropdown-menu { width: 640px; }
    .nav-item.dropdown:nth-child(5) > .dropdown-menu { width: 420px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nav-item.dropdown:nth-child(7) > .dropdown-menu { width: 560px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Product-led hero: restrained red engineering grid, depth and motion on a light base. */
.tech-home-carousel {
    isolation: isolate;
    background: #101010 !important;
    border-bottom-color: #dfe3e7;
}
.tech-home-carousel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .72;
    background-image:
        linear-gradient(rgba(201,39,44,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201,39,44,.045) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to right, transparent 0, #000 22%, #000 78%, transparent 100%);
}
.tech-home-carousel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(circle at 78% 42%, rgba(201,39,44,.10), transparent 24%), linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,246,247,.86));
}
.tech-home-slide { position: relative; }
.tech-home-slide-copy { position: relative; }
.tech-home-slide-copy::before {
    content: "";
    position: absolute;
    top: 3px;
    left: -18px;
    width: 3px;
    height: 54px;
    border-radius: 3px;
    background: #c9272c;
    box-shadow: 0 0 18px rgba(201,39,44,.22);
}
.tech-home-slide-visual {
    position: relative;
    overflow: hidden;
    border-color: #d8dde1;
    background: rgba(255,255,255,.88);
    box-shadow: 0 22px 48px rgba(23,23,23,.09), 0 0 0 8px rgba(255,255,255,.4);
}
.tech-home-slide-visual::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px dashed rgba(201,39,44,.16);
    border-radius: 2px;
    pointer-events: none;
}
.tech-home-slide-visual::after {
    content: "WF / SYSTEM READY";
    position: absolute;
    top: 20px;
    right: 22px;
    color: rgba(201,39,44,.52);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
}
.tech-home-slide-visual img {
    position: relative;
    z-index: 1;
    animation: wafuProductFloat 5.5s ease-in-out infinite;
}

/* Full-viewport hero treatment: use real product and project imagery as the
   visual field, with the existing SEO copy retained as the readable layer. */
.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item,
.tech-home-carousel .tech-home-slide {
    min-height: calc(100svh - 76px) !important;
    height: calc(100svh - 76px) !important;
}
.tech-home-carousel .carousel-item {
    background-position: center !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
}
.tech-home-carousel .carousel-item:nth-child(1) {
    background-image: linear-gradient(90deg, rgba(8, 8, 8, .74), rgba(8, 8, 8, .08)), url('../images/webp/product-background.webp') !important;
}
.tech-home-carousel .carousel-item:nth-child(2) {
    background-image: linear-gradient(90deg, rgba(8, 8, 8, .66), rgba(8, 8, 8, .16)), url('../images/webp/work.webp') !important;
}
.tech-home-carousel .carousel-item:nth-child(3) {
    background-image: linear-gradient(90deg, rgba(8, 8, 8, .58), rgba(8, 8, 8, .12)), url('../images/webp/applicable.webp') !important;
}
.tech-home-carousel .tech-home-slide {
    display: flex;
    align-items: center;
    padding: 0 clamp(28px, 8vw, 150px);
    box-sizing: border-box;
}
.tech-home-carousel .tech-home-slide-copy {
    z-index: 2;
    width: min(610px, 100%);
    padding: clamp(26px, 4vw, 52px) clamp(26px, 4vw, 56px);
    border-left: 3px solid #c9272c;
    background: rgba(8, 8, 8, .68);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.tech-home-carousel .tech-home-slide-copy::before { display: none; }
.tech-home-carousel .tech-home-slide-copy h1,
.tech-home-carousel .tech-home-slide-copy p,
.tech-home-carousel .tech-home-slide-kicker { color: #fff !important; }
.tech-home-carousel .tech-home-slide-copy h1 span { color: #f06a6e !important; }
.tech-home-carousel .tech-home-slide-visual { display: none !important; }
.tech-home-carousel .tech-home-slide-meta { color: rgba(255, 255, 255, .72) !important; right: clamp(28px, 8vw, 150px); }
.tech-home-carousel .carousel-indicators { bottom: 28px; }
.tech-home-carousel .carousel-item.active .tech-home-slide-copy {
    animation: wafuHeroIn .65s cubic-bezier(.22,.8,.28,1) both;
}
.tech-home-carousel .carousel-item.active .tech-home-slide-visual {
    animation: wafuPanelIn .8s cubic-bezier(.22,.8,.28,1) both;
}
.tech-home-carousel .carousel-indicators .indicator {
    width: 7px;
    height: 7px;
    border: 1px solid #c9272c;
    background: transparent;
    transition: width .3s ease, background .3s ease, box-shadow .3s ease;
}
.tech-home-carousel .carousel-indicators .indicator.active {
    width: 28px;
    border-radius: 999px;
    background: #c9272c;
    box-shadow: 0 0 14px rgba(201,39,44,.25);
}

/* Final homepage brand lockup: red is the action accent, black and white
   carry the page hierarchy, while blue remains available for functional UI. */
:root {
    --wafu-red: #c9272c;
    --wafu-red-dark: #a91f24;
    --wafu-black: #171717;
    --wafu-white: #ffffff;
    --wafu-paper: #f5f6f7;
    --wafu-blue-functional: #2f6fb0;
    --blue: #2f6fb0;
}

.home-proof,
.home-articles {
    background: var(--wafu-black) !important;
    color: var(--wafu-white) !important;
}
.home-proof h2,
.home-articles h2,
.home-article-card h3 { color: var(--wafu-white) !important; }
.home-proof-copy p,
.home-proof-grid span,
.home-article-card p { color: #c5c9cd !important; }
.home-proof-grid > div,
.home-article-card {
    border-color: #3d3d3d !important;
    background: #222 !important;
}
.home-proof-grid strong,
.home-articles-all,
.home-article-card > span,
.home-article-card a { color: var(--wafu-red) !important; }
.home-article-card a:hover { color: #f06a6e !important; }

.contact-section {
    background: #f4f6f8 !important;
    color: var(--wafu-black) !important;
}
.contact-container { border-color: #e1e4e7 !important; }
.contact-info {
    background: #202b36 !important;
    color: var(--wafu-white) !important;
}
.contact-info p,
.contact-text p { color: #c5c9cd !important; }
.contact-form {
    background: #edf2f6 !important;
    color: var(--wafu-black) !important;
}
.contact-form .form-title,
.contact-form label { color: var(--wafu-black) !important; }
.contact-form .form-control {
    border-color: #cbd5df !important;
    background: #f8fafc !important;
    color: var(--wafu-black) !important;
}
.contact-form .form-control:focus {
    border-color: var(--wafu-blue-functional) !important;
    box-shadow: 0 0 0 3px rgba(47,111,176,.16) !important;
}
.contact-form .submit-btn {
    background: var(--wafu-red) !important;
    color: #fff !important;
}
.contact-form .submit-btn:hover { background: var(--wafu-red-dark) !important; }

.footer {
    background: var(--wafu-white) !important;
    color: #687078 !important;
    border-top-color: #e1e4e7 !important;
}
.footer-title { color: var(--wafu-black) !important; }
.footer-text,
.footer-list a,
.footer-list a:link,
.footer-list a:visited,
.footer-contact { color: #687078 !important; }
.footer-list a:hover,
.footer-bottom a:hover { color: var(--wafu-red) !important; }
.footer-separator { border-top-color: #e1e4e7 !important; }
.footer-bottom,
.footer-bottom a { color: #8a9095 !important; }

@keyframes wafuHeroIn {
    from { opacity: 0; transform: translate3d(-18px, 8px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes wafuPanelIn {
    from { opacity: 0; transform: translate3d(18px, 12px, 0) scale(.985); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes wafuProductFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
    .tech-home-slide-copy,
    .tech-home-slide-visual,
    .tech-home-slide-visual img { animation: none !important; }
}

@media (max-width: 958px) {
    .nav-logo { min-width: 68px; min-height: 46px; padding: 4px 9px; }
    .nav-logo::before { display: none; }
    .nav-list .nav-item.dropdown:hover > .dropdown-menu { display: none !important; }
    .nav-list .nav-item.dropdown.active > .dropdown-menu,
    .nav-list .dropdown-menu.active {
        display: grid !important;
        grid-template-columns: 1fr;
        width: calc(100% - 24px);
        max-height: none;
        margin: 8px 12px 12px;
        padding: 8px;
        border: 1px solid #dfe3e7;
        border-radius: 6px;
        background: #fff !important;
        box-shadow: 0 8px 24px rgba(23,23,23,.08);
    }
    .nav-list .dropdown-link { color: #34383c !important; background: #fff !important; }
    .nav-list .dropdown-link:hover { color: #c9272c !important; background: #fff3f3 !important; }
    .tech-home-carousel::before { background-size: 36px 36px; opacity: .42; }
    .tech-home-slide-copy::before { left: -10px; height: 42px; }
    .tech-home-slide-visual::after { font-size: 8px; right: 16px; }
}

/* Match the shared dropdown opacity treatment on the homepage. */
@media (min-width: 959px) {
    .nav-item.dropdown > .dropdown-menu {
        top: calc(100% - 1px) !important;
    }
    .nav-item.dropdown > .dropdown-menu::after {
        content: "";
        position: absolute;
        top: -14px;
        right: 0;
        left: 0;
        height: 14px;
    }
    .nav-item.dropdown > .dropdown-menu,
    .nav-item.dropdown > .dropdown-menu::before {
        background: rgba(80, 80, 80, .7) !important;
    }
    .nav-item.dropdown > .dropdown-menu .dropdown-link {
        background: rgba(255, 255, 255, .7) !important;
    }
    .nav-item.dropdown > .dropdown-menu .dropdown-link:hover,
    .nav-item.dropdown > .dropdown-menu .dropdown-link:focus-visible {
        background: rgba(255, 255, 255, .3) !important;
    }
}

/* Brand-fit dropdown surface: paper white with a restrained red hover cue. */
@media (min-width: 959px) {
    .nav-item.dropdown > .dropdown-menu,
    .nav-item.dropdown > .dropdown-menu::before {
        background: rgba(245, 246, 247, .96) !important;
        border-color: rgba(201, 39, 44, .22) !important;
    }
    .nav-item.dropdown > .dropdown-menu {
        box-shadow: 0 18px 42px rgba(23, 23, 23, .12), 0 0 0 1px rgba(255, 255, 255, .8) !important;
        -webkit-backdrop-filter: blur(18px) saturate(115%);
        backdrop-filter: blur(18px) saturate(115%);
    }
    .nav-item.dropdown > .dropdown-menu .dropdown-link {
        background: rgba(255, 255, 255, .72) !important;
        border-color: rgba(225, 228, 231, .8) !important;
    }
    .nav-item.dropdown > .dropdown-menu .dropdown-link:hover,
    .nav-item.dropdown > .dropdown-menu .dropdown-link:focus-visible {
        background: rgba(201, 39, 44, .12) !important;
        border-color: rgba(201, 39, 44, .3) !important;
        color: #c9272c !important;
    }
}

/* Match the shared navigation geometry after homepage-specific rules. */
.navbar {
    height: 76px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

/* Homepage footer finish, matching the shared child-page footer treatment. */
.footer {
    background: #171717 !important;
    color: #b8bdc2 !important;
    border-top: 3px solid #c9272c !important;
}
.footer-content {
    width: min(1280px, calc(100% - 56px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 62px 0 48px !important;
    display: grid !important;
    grid-template-columns: 1.45fr 1fr 1fr 1fr 1.2fr !important;
    gap: 34px !important;
}
.footer-title { position: relative; margin: 0 0 22px !important; padding-left: 14px; color: #fff !important; font-size: 16px !important; font-weight: 750 !important; }
.footer-title::before { content: ""; position: absolute; top: 2px; bottom: 2px; left: 0; width: 3px; background: #c9272c; }
.footer-text { max-width: 300px; margin: 0 !important; color: #aeb5bb !important; font-size: 13px !important; line-height: 1.75 !important; }
.footer-list, .footer-contact { gap: 12px !important; }
.footer-list a, .footer-list a:link, .footer-list a:visited, .footer-contact { color: #aeb5bb !important; font-size: 13px !important; line-height: 1.45 !important; }
.footer-list a:hover, .footer-bottom a:hover { color: #f06a6e !important; }
.footer-contact-item { gap: 10px; align-items: flex-start; }
.footer-icon { flex: 0 0 24px; width: 24px !important; height: 24px !important; display: inline-grid; place-items: center; padding: 0; border-radius: 0; background: transparent !important; border: 0 !important; filter: none !important; color: transparent !important; font-size: 0 !important; box-sizing: border-box; }
.footer-icon::before { content: ""; display: block; width: 20px; height: 20px; background: #c9272c; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.footer-contact-item:nth-child(1) .footer-icon::before { -webkit-mask-image: url(../icons/Address.svg); mask-image: url(../icons/Address.svg); }
.footer-contact-item:nth-child(2) .footer-icon::before { -webkit-mask-image: url(../icons/icon-phone.svg); mask-image: url(../icons/icon-phone.svg); }
.footer-contact-item:nth-child(3) .footer-icon::before, .footer-contact-item:nth-child(4) .footer-icon::before { -webkit-mask-image: url(../icons/icon-email.svg); mask-image: url(../icons/icon-email.svg); }
.footer-contact-item:nth-child(5) .footer-icon::before { content: "◷"; width: auto; height: auto; background: none; color: #c9272c; font-size: 14px; line-height: 1; }
.footer-socials { gap: 10px !important; margin-top: 28px !important; }
.social-icon { width: 32px !important; height: 32px !important; border: 1px solid #c9272c !important; border-radius: 50%; background-color: #fff !important; background-size: 16px !important; }
.social-icon:hover, .social-icon:focus { border-color: #c9272c !important; background-color: #c9272c !important; }
.footer-separator { border-top-color: #3b3b3b !important; }
.footer-bottom-wrapper { width: min(1280px, calc(100% - 56px)) !important; max-width: none !important; margin: 0 auto !important; }
.footer-bottom { min-height: 58px; color: #858c92 !important; font-size: 12px !important; }
.footer-bottom a { color: #9aa1a7 !important; }
.custom-product-field[hidden] { display: none !important; }
.custom-product-field { grid-column: 1 / -1; margin-top: -2px; }
.custom-product-field label { color: #171717 !important; }
.custom-product-field .form-control { border-color: #cfd4d8 !important; background: #fff !important; color: #171717 !important; }
.custom-product-field .form-control:focus { border-color: #2f6fb0 !important; box-shadow: 0 0 0 3px rgba(47,111,176,.16) !important; }
@media (max-width: 958px) {
    .footer-content { width: min(100% - 36px, 640px) !important; padding: 48px 0 34px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px 24px !important; }
    .footer-col:first-child, .footer-col:last-child { grid-column: 1 / -1; }
    .footer-text { max-width: 520px; }
    .footer-bottom-wrapper { width: min(100% - 36px, 640px) !important; }
    .footer-bottom { gap: 12px; padding: 16px 0; flex-wrap: wrap; }
}
@media (max-width: 560px) {
    .footer-content { grid-template-columns: 1fr !important; gap: 30px !important; }
    .footer-col { grid-column: auto !important; }
}

/* Keep the homepage footer identical to the shared child-page footer on mobile. */
@media (max-width: 958px) {
    .footer-content { width: min(100% - 32px, 640px) !important; padding: 46px 0 32px !important; grid-template-columns: 1fr !important; gap: 30px !important; }
    .footer-col, .footer-col:first-child, .footer-col:nth-child(2), .footer-col:nth-child(3), .footer-col:nth-child(4), .footer-col:nth-child(5) { grid-column: auto !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
    .footer-title, .footer-col:nth-child(2) .footer-title, .footer-col:nth-child(3) .footer-title, .footer-col:nth-child(4) .footer-title { margin-bottom: 14px !important; font-size: 16px !important; line-height: 1.35 !important; }
    .footer-text { max-width: none !important; margin-bottom: 20px !important; }
    .footer-socials { justify-content: flex-start !important; gap: 9px !important; margin-top: 20px !important; }
    .social-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; background-size: 17px !important; }
    .footer-list, .footer-col:nth-child(3) .footer-list, .footer-col:nth-child(4) .footer-list { align-items: flex-start !important; text-align: left !important; gap: 8px !important; }
    .footer-list a, .footer-col:nth-child(3) .footer-list a, .footer-col:nth-child(4) .footer-list a { display: block !important; min-height: 0 !important; padding: 3px 0 !important; text-align: left !important; }
    .footer-contact { gap: 12px !important; text-align: left !important; }
    .footer-contact-item { align-items: flex-start !important; justify-content: flex-start !important; flex-direction: row !important; gap: 10px !important; text-align: left !important; }
    .footer-icon { flex: 0 0 24px !important; width: 24px !important; height: 24px !important; }
}
.nav-container {
    width: 100% !important;
    max-width: 1280px !important;
    height: 76px !important;
    padding: 0 28px !important;
    box-sizing: border-box !important;
}
.nav-logo {
    width: 100px !important;
    height: 76px !important;
    min-width: 88px !important;
    min-height: 60px !important;
    padding: 3px 8px !important;
    border: 0 !important;
    background: #fff4f4 !important;
    box-shadow: 0 8px 22px rgba(201, 39, 44, .09) !important;
    box-sizing: border-box !important;
}
.nav-logo img {
    width: 84px !important;
    height: 84px !important;
    max-width: 84px !important;
    max-height: 68px !important;
    object-fit: contain;
    filter: none !important;
    box-sizing: border-box !important;
}
.nav-list { align-items: center !important; gap: 24px !important; }
.nav-link { line-height: 76px !important; font-size: 14px !important; }
.nav-item:last-child > .nav-link {
    min-height: 42px !important;
    padding: 0 20px !important;
    line-height: 1 !important;
}

@media (max-width: 958px) {
    .navbar { height: 68px !important; }
    .nav-container { height: 68px !important; padding: 0 18px !important; }
    .nav-logo { width: 96px !important; height: 68px !important; min-width: 88px !important; min-height: 58px !important; padding: 2px 6px !important; }
    .nav-logo img { width: 82px !important; height: 82px !important; max-width: 82px !important; max-height: 64px !important; }
    .nav-list { gap: 0 !important; }
    .nav-link { line-height: 1.4 !important; }
    .nav-item:last-child > .nav-link { min-height: 46px !important; margin: 12px 0 0 !important; justify-content: center; }
}

/* Last-in-file footer rules keep the homepage mobile footer aligned. */
@media (max-width: 958px) {
    .footer-content { width: min(100% - 32px, 640px) !important; padding: 46px 0 32px !important; grid-template-columns: 1fr !important; gap: 30px !important; }
    .footer-col, .footer-col:first-child, .footer-col:nth-child(2), .footer-col:nth-child(3), .footer-col:nth-child(4), .footer-col:nth-child(5) { grid-column: auto !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
    .footer-title, .footer-col:nth-child(2) .footer-title, .footer-col:nth-child(3) .footer-title, .footer-col:nth-child(4) .footer-title { margin-bottom: 14px !important; font-size: 16px !important; line-height: 1.35 !important; }
    .footer-text { max-width: none !important; margin-bottom: 20px !important; }
    .footer-socials { justify-content: flex-start !important; gap: 9px !important; margin-top: 20px !important; }
    .social-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; background-size: 17px !important; }
    .footer-list, .footer-col:nth-child(3) .footer-list, .footer-col:nth-child(4) .footer-list { align-items: flex-start !important; text-align: left !important; gap: 8px !important; }
    .footer-list a, .footer-col:nth-child(3) .footer-list a, .footer-col:nth-child(4) .footer-list a { display: block !important; min-height: 0 !important; padding: 3px 0 !important; text-align: left !important; }
    .footer-contact { gap: 12px !important; text-align: left !important; }
    .footer-contact-item { align-items: flex-start !important; justify-content: flex-start !important; flex-direction: row !important; gap: 10px !important; text-align: left !important; }
    .footer-icon { flex: 0 0 24px !important; width: 24px !important; height: 24px !important; }
}

/* Absolute final hero cascade. */
.navbar {
    background: rgba(255, 255, 255, .68) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .5) !important;
    box-shadow: 0 8px 24px rgba(23, 23, 23, .08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(115%);
    backdrop-filter: blur(14px) saturate(115%);
}
.nav-logo { background: transparent !important; box-shadow: none !important; }
.nav-logo::before { display: none !important; }
.nav-logo img { filter: drop-shadow(0 3px 8px rgba(23, 23, 23, .16)) !important; }
.nav-link { color: #171717 !important; }
.nav-link:hover,
.nav-item:hover > .nav-link,
.nav-link.active { color: #c9272c !important; }
.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item,
.tech-home-carousel .tech-home-slide { min-height: 100dvh !important; height: 100dvh !important; }
.tech-home-carousel { position: relative; overflow: hidden; background: #171717 !important; }
.tech-home-carousel .carousel-item { position: relative; overflow: hidden; background-position: center !important; background-size: cover !important; background-repeat: no-repeat !important; }
.tech-home-carousel .carousel-item::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(10,10,10,.58), rgba(10,10,10,.12) 58%, rgba(10,10,10,.24)); }
.tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(90deg, rgba(8,8,8,.72), rgba(8,8,8,.16) 62%, rgba(8,8,8,.08)), url('../images/webp/product-background.webp') !important; }
.tech-home-carousel .carousel-item:nth-child(2) { background-image: linear-gradient(90deg, rgba(8,8,8,.68), rgba(8,8,8,.18) 62%, rgba(8,8,8,.08)), url('../images/webp/work.webp') !important; }
.tech-home-carousel .carousel-item:nth-child(3) { background-image: linear-gradient(90deg, rgba(8,8,8,.62), rgba(8,8,8,.16) 62%, rgba(8,8,8,.08)), url('../images/webp/applicable.webp') !important; }
.tech-home-carousel .tech-home-slide { position: relative; z-index: 1; display: flex; align-items: center; padding: 0 clamp(28px, 8vw, 150px); box-sizing: border-box; }
.tech-home-carousel .tech-home-slide-copy { position: relative; z-index: 2; width: min(980px,78vw); max-width: 980px !important; padding: 40px 0 42px 34px; border-left: 1px solid rgba(255,255,255,.5); background: transparent !important; box-shadow: none !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
.tech-home-carousel .tech-home-slide-copy::after { content: ""; position: absolute; top: 0; left: -1px; width: 72px; height: 1px; background: #c9272c; box-shadow: 0 176px 0 #c9272c; }
.tech-home-carousel .tech-home-slide-kicker { margin-bottom: 20px; color: #f06a6e !important; font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.tech-home-carousel .tech-home-slide-copy h1 { max-width: 980px; margin: 0 0 22px; color: #fff !important; font-size: clamp(40px,4vw,64px); line-height: .98; letter-spacing: -.045em; word-break: normal; overflow-wrap: normal; text-shadow: 0 3px 24px rgba(0,0,0,.24); }
.tech-home-carousel .tech-home-slide-copy h1 span { display: block; white-space: nowrap; color: #f06a6e !important; }
.tech-home-carousel .tech-home-slide-copy p { max-width: 480px; margin: 0; color: rgba(255,255,255,.86) !important; font-size: 16px; line-height: 1.65; text-shadow: 0 2px 12px rgba(0,0,0,.3); }
.tech-home-carousel .tech-home-slide-actions { margin-top: 30px; }
.tech-home-carousel .tech-home-slide-actions a:first-child { background: #c9272c !important; color: #fff !important; box-shadow: 0 10px 24px rgba(169,31,36,.26); }
.tech-home-carousel .tech-home-slide-actions a:last-child { border-color: rgba(255,255,255,.62) !important; color: #fff !important; background: rgba(23,23,23,.18); }
.tech-home-carousel .tech-home-slide-meta { right: clamp(28px,8vw,150px); bottom: 34px; color: rgba(255,255,255,.72) !important; font-size: 10px; letter-spacing: .2em; }
.tech-home-carousel .carousel-indicators { z-index: 3; bottom: 28px !important; }
.tech-home-carousel .carousel-btn { z-index: 3; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.72); background: rgba(23,23,23,.16); color: #fff; backdrop-filter: blur(4px); }
@media (max-width: 958px) {
    .tech-home-carousel,
    .tech-home-carousel .carousel-inner,
    .tech-home-carousel .carousel-item,
    .tech-home-carousel .tech-home-slide { min-height: 100dvh !important; height: 100dvh !important; }
    .tech-home-carousel .carousel-item::before { background: linear-gradient(180deg, rgba(10,10,10,.26), rgba(10,10,10,.68)); }
    .tech-home-carousel .tech-home-slide { align-items: flex-end; padding: 0 22px 78px; }
    .tech-home-carousel .tech-home-slide-copy { width: 100%; max-width: 100%; box-sizing: border-box; padding: 28px 18px 0 20px; }
    .tech-home-carousel .tech-home-slide-copy::after { height: 1px; box-shadow: none; }
    .tech-home-carousel .tech-home-slide-copy h1 { max-width: 100%; margin-bottom: 16px; font-size: clamp(36px,10vw,56px); }
    .tech-home-carousel .tech-home-slide-copy h1 span { white-space: normal; }
    .tech-home-carousel .tech-home-slide-copy p { max-width: 100%; font-size: 14px; line-height: 1.55; }
    .tech-home-carousel .tech-home-slide-actions { margin-top: 22px; }
    .tech-home-carousel .tech-home-slide-actions a { min-height: 42px; padding-inline: 14px; font-size: 12px; }
    .tech-home-carousel .tech-home-slide-meta { right: 22px; bottom: 24px; font-size: 8px; }
    .tech-home-carousel .carousel-btn { top: 46%; width: 36px; height: 36px; }
}

@media (max-width: 958px) {
    .tech-home-carousel .carousel-item { background-size: 100% 100% !important; }
}


/* Final mobile hero image override. */
@media (max-width: 958px) {
    .tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(180deg, rgba(8,8,8,.08), rgba(8,8,8,.62)), url('../images/webp/mobile/product-background.webp') !important; }
    .tech-home-carousel .carousel-item { background-size: 100% 100% !important; }
}


/* Final mobile scene set: preserve image proportions and avoid stretched product collages. */
@media (max-width: 958px) {
    .tech-home-carousel .carousel-item:nth-child(1) { background-image: linear-gradient(180deg, rgba(8,8,8,.12), rgba(8,8,8,.68)), url('../images/webp/mobile/home.webp') !important; }
    .tech-home-carousel .carousel-item:nth-child(2) { background-image: linear-gradient(180deg, rgba(8,8,8,.12), rgba(8,8,8,.68)), url('../images/webp/mobile/officelock.webp') !important; }
    .tech-home-carousel .carousel-item:nth-child(3) { background-image: linear-gradient(180deg, rgba(8,8,8,.12), rgba(8,8,8,.68)), url('../images/webp/mobile/applicable.webp') !important; }
    .tech-home-carousel .carousel-item { background-size: cover !important; background-position: center !important; }
}


/* Final homepage overlay navigation and hero accent cleanup. */
body:has(.tech-home-carousel) { padding-top: 0 !important; }
body:has(.tech-home-carousel) .navbar { position: absolute !important; top: 0; left: 0; width: 100%; z-index: 20; background: rgba(232,232,232,.68) !important; border-bottom: 1px solid rgba(255,255,255,.42) !important; box-shadow: 0 8px 26px rgba(0,0,0,.12) !important; -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%); }
body:has(.tech-home-carousel) .tech-home-carousel { margin-top: 0 !important; }
.tech-home-carousel .tech-home-slide-copy::after { box-shadow: none !important; }
@media (max-width: 958px) {
    body:has(.tech-home-carousel) .navbar { position: absolute !important; }
}


/* Final homepage carousel system: every slide uses the same calm editorial
   layout, with copy and media separated so neither can obscure the other. */
.tech-home-carousel,
.tech-home-carousel .carousel-inner,
.tech-home-carousel .carousel-item,
.tech-home-carousel .tech-home-slide {
    height: 100svh !important;
    min-height: 100svh !important;
}
.tech-home-carousel {
    overflow: hidden;
    border-bottom: 1px solid #d8dadd;
    background-image: linear-gradient(180deg, transparent 87%, rgba(90,92,94,.08) 90%, rgba(255,255,255,.18) 94%, transparent 100%), linear-gradient(90deg, #191b1e 0%, #25282c 31%, #46494d 43%, #777a7d 50%, #bfc1c3 59%, #ededed 72%, #fff 100%) !important;
}
.tech-home-carousel .carousel-item {
    background-color: transparent !important;
    background-image: linear-gradient(180deg, transparent 87%, rgba(90,92,94,.08) 90%, rgba(255,255,255,.18) 94%, transparent 100%), linear-gradient(90deg, #191b1e 0%, #25282c 31%, #46494d 43%, #777a7d 50%, #bfc1c3 59%, #ededed 72%, #fff 100%) !important;
}
.tech-home-carousel .carousel-item:nth-child(1),
.tech-home-carousel .carousel-item:nth-child(2),
.tech-home-carousel .carousel-item:nth-child(3),
.tech-home-carousel .carousel-item:nth-child(4),
.tech-home-carousel .carousel-item:nth-child(5),
.tech-home-carousel .carousel-item:nth-child(6) {
    background-color: transparent !important;
    background-image: linear-gradient(180deg, transparent 87%, rgba(90,92,94,.08) 90%, rgba(255,255,255,.18) 94%, transparent 100%), linear-gradient(90deg, #191b1e 0%, #25282c 31%, #46494d 43%, #777a7d 50%, #bfc1c3 59%, #ededed 72%, #fff 100%) !important;
}
.tech-home-carousel .carousel-item::before { display: none !important; }
.tech-home-carousel .tech-home-slide {
    display: grid !important;
    width: 100%;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    align-items: center;
    gap: clamp(32px, 4vw, 64px);
    max-width: none;
    margin: 0 auto;
    padding: 112px clamp(42px, 8vw, 154px) 68px;
    box-sizing: border-box;
}
.tech-home-carousel .tech-home-slide-copy {
    position: relative;
    width: 100% !important;
    max-width: 540px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}
.tech-home-carousel .tech-home-slide-copy::before {
    content: "";
    position: absolute;
    display: block !important;
    top: -34px;
    bottom: -34px;
    left: -22px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.38) 18%, rgba(255,255,255,.38) 82%, transparent);
}
.tech-home-carousel .tech-home-slide-copy::after {
    content: "";
    position: absolute;
    display: block !important;
    top: -34px;
    left: -22px;
    width: 58px;
    height: 1px;
    background: #c9272c;
    box-shadow: 0 calc(100% + 67px) 0 rgba(201,39,44,.72);
}
.tech-home-carousel .tech-home-slide-kicker {
    margin: 0 0 18px;
    color: #ef6b70 !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
}
.tech-home-carousel .tech-home-slide-copy :is(h1, h2) {
    max-width: 540px !important;
    margin: 0 0 18px;
    color: #fff !important;
    font-size: clamp(36px, 3.1vw, 50px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}
.tech-home-carousel .tech-home-slide-copy :is(h1, h2) .headline-line {
    display: block;
    color: #d7dade !important;
    white-space: normal !important;
}
.tech-home-carousel .tech-home-slide-copy :is(h1, h2) .headline-line:first-child { color: #fff !important; }
.tech-home-carousel .tech-home-slide-copy :is(h1, h2) .headline-red {
    display: inline;
    color: #ef5b61 !important;
}
.tech-home-carousel .tech-home-slide-copy p {
    max-width: 520px;
    margin: 0;
    color: rgba(255,255,255,.86) !important;
    font-size: 15px;
    line-height: 1.6;
    text-shadow: none !important;
}
.tech-home-carousel .tech-home-slide-actions { margin-top: 28px; }
.tech-home-carousel .tech-home-slide-actions a {
    min-height: 44px;
    padding: 0 17px;
    border-radius: 4px;
}
.tech-home-carousel .tech-home-slide-actions a:first-child {
    border: 1px solid #c9272c;
    background: #c9272c !important;
    color: #fff !important;
    box-shadow: none;
}
.tech-home-carousel .tech-home-slide-actions a:first-child:hover { background: #a91f24 !important; }
.tech-home-carousel .tech-home-slide-actions a:last-child {
    border: 1px solid rgba(255,255,255,.72) !important;
    background: transparent !important;
    color: #fff !important;
}
.tech-home-carousel .tech-home-slide-visual {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 500px;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    mix-blend-mode: normal;
}
.tech-home-carousel .tech-home-slide-visual::before,
.tech-home-carousel .tech-home-slide-visual::after { display: none !important; }
.tech-home-carousel .tech-home-slide-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter: none !important;
    mix-blend-mode: normal;
}
.tech-home-carousel .tech-home-slide-visual--factory img,
.tech-home-carousel .tech-home-slide-visual--reception img {
    mix-blend-mode: normal;
    border-radius: 2px;
    box-shadow: 0 18px 38px rgba(30,24,20,.18);
}
.tech-home-carousel .tech-home-slide-visual--factory,
.tech-home-carousel .tech-home-slide-visual--reception { mix-blend-mode: normal; }
.tech-home-carousel .tech-home-slide-meta {
    right: 48px;
    bottom: 26px;
    color: #777 !important;
    font-size: 10px;
    letter-spacing: .16em;
}
.tech-home-carousel .carousel-btn {
    z-index: 4;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.72);
    background: rgba(42,38,35,.2);
    color: #fff;
    box-shadow: 0 5px 16px rgba(17,24,39,.08);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.tech-home-carousel .carousel-btn:hover { border-color: #fff; background: rgba(42,38,35,.34); color: #fff; }
.tech-home-carousel .carousel-indicators { bottom: 25px !important; }

.home-core-products-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-core-product { min-height: 410px; }

@media (max-width: 1120px) and (min-width: 959px) {
    .home-core-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 958px) {
    .tech-home-carousel,
    .tech-home-carousel .carousel-inner,
    .tech-home-carousel .carousel-item,
    .tech-home-carousel .tech-home-slide {
        height: 100svh !important;
        min-height: 100svh !important;
    }
    .tech-home-carousel .tech-home-slide {
        grid-template-columns: 1fr;
        grid-template-rows: auto 250px;
        align-content: center;
        gap: 24px;
        padding: 92px 44px 54px 22px;
    }
    .tech-home-carousel,
    .tech-home-carousel .carousel-item,
    .tech-home-carousel .carousel-item:nth-child(1),
    .tech-home-carousel .carousel-item:nth-child(2),
    .tech-home-carousel .carousel-item:nth-child(3),
    .tech-home-carousel .carousel-item:nth-child(4),
    .tech-home-carousel .carousel-item:nth-child(5),
    .tech-home-carousel .carousel-item:nth-child(6) {
        background-color: #191b1e !important;
        background-image: linear-gradient(180deg, #191b1e 0%, #25282c 44%, #46494d 53%, #777a7d 60%, #bfc1c3 67%, #ededed 77%, #fff 100%) !important;
    }
    .tech-home-carousel .tech-home-slide-copy :is(h1, h2) {
        max-width: 100% !important;
        margin-bottom: 14px;
        font-size: clamp(34px, 9.5vw, 46px) !important;
        line-height: 1.02 !important;
    }
    .tech-home-carousel .tech-home-slide-copy::before {
        top: -18px;
        bottom: -18px;
        left: -10px;
    }
    .tech-home-carousel .tech-home-slide-copy::after {
        top: -18px;
        left: -10px;
        width: 42px;
        box-shadow: 0 calc(100% + 35px) 0 rgba(201,39,44,.72);
    }
    .tech-home-carousel .tech-home-slide-kicker { margin-bottom: 12px; }
    .tech-home-carousel .tech-home-slide-copy p {
        font-size: 14px;
        line-height: 1.5;
    }
    .tech-home-carousel .tech-home-slide-actions { margin-top: 18px; }
    .tech-home-carousel .tech-home-slide-actions a {
        min-height: 40px;
        padding: 0 12px;
        font-size: 11px;
    }
    .tech-home-carousel .tech-home-slide-visual {
        height: 250px;
        min-height: 250px;
        padding: 0;
    }
    .tech-home-carousel .carousel-btn {
        top: 52%;
        width: 34px;
        height: 34px;
    }
    .tech-home-carousel .carousel-btn.prev { left: 8px; }
    .tech-home-carousel .carousel-btn.next { right: 8px; }
    .tech-home-carousel .carousel-indicators {
        left: 22px;
        bottom: 19px !important;
        width: auto;
        transform: none;
    }
    .tech-home-carousel .tech-home-slide-meta {
        display: none;
    }
    body:has(.tech-home-carousel) .float-kefu {
        top: auto;
        right: 10px;
        bottom: 14px;
        transform: none;
    }
    body:has(.tech-home-carousel) .float-kefu .kefu-item:not(:first-child) {
        display: none;
    }
    body:has(.tech-home-carousel) .float-kefu .kefu-popup {
        display: none !important;
    }
}

/* The product field accepts both a catalog suggestion and a customer-entered model. */
body:has(.tech-home-carousel) .form-help {
    display: block;
    margin-top: 7px;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    line-height: 1.4;
}
body:has(.tech-home-carousel) #product {
    padding-right: 42px;
}

/* Keep the mobile navigation drawer above the homepage hero. */
@media (max-width: 958px) {
    body:has(.tech-home-carousel) .navbar {
        z-index: 1200 !important;
    }
    body:has(.tech-home-carousel) .nav-toggle {
        position: relative;
        z-index: 2;
    }
    body:has(.tech-home-carousel) .nav-list {
        right: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        min-height: 100dvh;
        transform: translateX(100%);
        transition: transform .25s ease;
        z-index: 1;
    }
    body:has(.tech-home-carousel) .nav-list.active {
        transform: translateX(0);
    }
    body:has(.tech-home-carousel) .nav-list > .nav-item {
        display: block !important;
        width: 100% !important;
    }
    body:has(.tech-home-carousel) .nav-list > .nav-item > .nav-link {
        display: flex !important;
        width: 100% !important;
        min-height: 44px;
        align-items: center;
        box-sizing: border-box;
    }
    body:has(.tech-home-carousel) .nav-list > .nav-item:last-child {
        background: transparent !important;
    }
    body:has(.tech-home-carousel) .nav-list > .nav-item:last-child > .nav-link {
        width: fit-content !important;
    }
}
