/* Focused second revision of the existing KeyTech design. */
.navigation a[aria-current=true]:after{content:'';position:absolute;bottom:1px;left:0;width:18px;height:2px;background:var(--red)}
.brand-keeplock .brand-logo img{width:210px;clip-path:inset(20% 0)}
.brand-keepgo .brand-logo img{width:54px;height:54px;border-radius:11px}
.brand-logo .keepgo-wordmark{font-size:29px}
.brand-detail-logo img{width:280px;height:100px;max-height:none}
.brand-keeplock .brand-detail-logo img{width:235px;clip-path:inset(22% 0)}
.brand-keepgo .brand-detail-logo img{width:80px;height:80px}
.brand-detail .brand-overview-note{font-size:14px;margin-top:14px;max-width:540px}
.brand-back{display:inline-block;font-size:12px;color:var(--muted);text-decoration:none;margin-bottom:28px}
.brand-back:hover{color:var(--red)}
.brand-masthead>.wrap{display:grid;grid-template-columns:1.7fr .7fr;gap:75px;align-items:center}
.brand-masthead h1{font-size:clamp(36px,4vw,57px)}
.brand-masthead-logo{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line);padding-left:40px;min-height:150px}
.brand-masthead-logo img{width:285px;height:115px;object-fit:contain}
.brand-keeplock .brand-masthead-logo img{clip-path:inset(22% 0)}
.brand-keepgo .brand-masthead-logo img{width:105px;height:105px}
.brand-solutions{padding-top:70px;padding-bottom:75px}
.brand-solutions h2{font-size:35px;max-width:730px;margin:22px 0 38px}
.solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 70px}
.solution-area{border-top:1px solid var(--line);padding:29px 0 32px}
.solution-area h3{font-size:25px;max-width:450px}
.solution-area p{font-size:15px;color:var(--muted);line-height:1.9;margin-top:17px;max-width:500px}
.offer-section{padding:65px 0 70px;background:var(--soft);border-top:1px solid var(--line)}
.offer-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.offer-layout h2{font-size:36px;max-width:490px;margin:23px 0}
.offer-layout p{font-size:15px;line-height:1.9;color:var(--muted);max-width:530px}
.offer-layout h3{font-size:22px}
.offer-layout ul{padding-left:20px;margin:22px 0 28px;font-size:14px;line-height:2;color:#535d55}
.offer-layout .button{min-height:54px}
.brand-official{display:flex;width:max-content;margin-top:19px}
.history-section{padding-top:65px;padding-bottom:70px}
.history-section>h2{font-size:38px;max-width:700px;margin:24px 0 48px}
.company-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:55px}
.company-timeline li{position:relative;border-top:1px solid #abb6ad;padding-top:27px}
.company-timeline li:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--red)}
.company-timeline time{font-size:47px;letter-spacing:-.055em;font-weight:500;color:#3c4a40}
.company-timeline h3{font-size:21px;margin:13px 0}
.company-timeline p{font-size:14px;color:var(--muted);line-height:1.9;max-width:335px}
.research-section{padding:69px 0;background:var(--dark);color:#fff;scroll-margin-top:110px}
.research-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}
.research-layout .eyebrow{color:#c9d0cc}
.research-layout .eyebrow:before{background:#ee6571}
.research-layout h2{font-size:37px;margin-top:24px;max-width:470px}
.research-layout>div>p{font-size:16px;line-height:1.9;color:#d4dad6}
.research-layout>div>p+p{font-size:14px;margin-top:20px}
.about-proof{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-top:70px;padding-bottom:70px}
.about-proof h2{font-size:35px;margin:22px 0}
.about-proof>div>p{font-size:15px;color:var(--muted);line-height:1.9}
.about-proof .text-link{margin-top:19px}
.about-opening{padding-block:36px 0}
.about-opening>p{max-width:900px;font-size:17px;line-height:1.9;color:var(--muted)}
.about-editorial{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;align-items:start;padding-block:65px}
.about-editorial h2{font-size:36px;max-width:510px;margin-top:22px}
.about-prose>p{font-size:15px;line-height:1.95;color:var(--muted)}
.about-prose>p+p{margin-top:20px}
.about-prose>.eyebrow{font-size:11px;color:var(--ink)}
.about-prose .text-link{margin-top:22px}
.page-about .about-proof{border-top:1px solid var(--line)}
.about-production{background:var(--soft);border-top:1px solid var(--line)}
.about-brand-links{display:flex;flex-wrap:wrap;gap:15px 35px;margin-top:8px}
.about-cta>.wrap>div{max-width:760px}
.about-cta h2{max-width:710px;margin-block:20px}
.about-cta>.wrap>div>p:last-child{font-size:15px;line-height:1.9;color:#d4dad6;max-width:670px}
@media(max-width:800px){.about-editorial{grid-template-columns:1fr;gap:28px}.about-editorial h2{max-width:650px}.about-opening>p{font-size:15px}}
@media(max-width:600px){.about-editorial{padding-block:46px}.about-editorial h2{font-size:31px}.about-prose>p,.about-cta>.wrap>div>p:last-child{font-size:14px}.about-opening{padding-top:28px}.about-brand-links{gap:10px 25px}}
.technology-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:85px;align-items:start;padding-top:60px;padding-bottom:70px}
.technology-nav{position:sticky;top:122px;display:flex;flex-direction:column}
.technology-nav a{font-size:13px;line-height:1.7;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;color:#525d55}
.technology-nav a:hover{color:var(--red)}
.technology-section{padding:32px 0 36px;border-top:1px solid var(--line);scroll-margin-top:110px}
.technology-section:first-child{padding-top:0;border:0}
.technology-section h2{font-size:32px;margin-bottom:20px}
.technology-section p{font-size:15px;color:var(--muted);line-height:1.9;max-width:800px}
.technology-section ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px;font-size:13px;color:#4c5a50}
.technology-section li{padding-left:18px;position:relative}
.technology-section li:before{content:'+';position:absolute;left:0;color:var(--red);font-weight:600}
.related-engineering{background:var(--soft);padding:32px;margin-top:15px}
.related-engineering h2{font-size:26px;margin-bottom:16px}
.related-engineering p{font-size:14px;color:var(--muted);margin-bottom:20px}
.related-engineering .text-link{display:flex;width:fit-content;font-size:12px;line-height:1.7;margin-top:10px}
@media(max-width:1040px){.navigation a[aria-current=true]:after{display:none}.brand-masthead>.wrap{gap:45px}.brand-masthead-logo{padding-left:25px}.technology-layout{grid-template-columns:210px minmax(0,1fr);gap:45px}.solution-grid{gap:0 40px}.offer-layout,.research-layout{gap:60px}.about-proof{gap:45px}.company-timeline{gap:35px}}
@media(max-width:800px){.brand-masthead>.wrap{grid-template-columns:1fr}.brand-masthead-logo{border:0;padding:0;justify-content:flex-start;min-height:70px}.brand-masthead-logo img{width:250px;height:85px}.brand-keepgo .brand-masthead-logo img{width:75px;height:75px}.brand-masthead>.wrap{gap:15px}.brand-masthead .page-intro{max-width:660px}.offer-layout,.research-layout{grid-template-columns:1fr;gap:35px}.offer-layout h2,.research-layout h2{max-width:650px}.offer-layout p{max-width:660px}.technology-layout{grid-template-columns:1fr;gap:35px}.technology-nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.technology-nav a{font-size:12px}.company-timeline{gap:25px}.company-timeline time{font-size:41px}.company-timeline h3{font-size:19px}.about-proof{gap:30px}.about-proof h2{font-size:30px}}
@media(max-width:600px){.brand-solutions,.history-section,.about-proof,.technology-layout{padding-block:46px}.brand-back{margin-bottom:22px}.brand-masthead h1{font-size:36px}.brand-masthead-logo img{width:230px}.brand-keepgo .brand-masthead-logo img{width:65px;height:65px}.brand-solutions h2,.history-section>h2{font-size:31px;margin-bottom:30px}.solution-grid{grid-template-columns:1fr}.solution-area{padding:24px 0}.solution-area h3{font-size:23px}.solution-area p{font-size:14px;margin-top:14px}.offer-section,.research-section{padding:48px 0}.offer-layout h2,.research-layout h2{font-size:31px}.offer-layout h3{font-size:21px}.offer-layout p,.research-layout>div>p{font-size:14px}.company-timeline{grid-template-columns:1fr;gap:27px}.company-timeline li{padding-top:20px}.company-timeline time{font-size:39px}.company-timeline h3{margin:9px 0}.company-timeline p{max-width:100%}.about-proof{grid-template-columns:1fr}.about-proof h2{font-size:31px}.about-proof>div>p{font-size:14px}.technology-nav{gap:0 18px}.technology-section{padding:27px 0}.technology-section h2{font-size:27px}.technology-section p{font-size:14px}.technology-section ul{font-size:13px}.related-engineering{padding:25px}.related-engineering h2{font-size:25px}.brand-detail-logo{min-height:140px}.brand-keeplock .brand-detail-logo img{width:220px}.brand-keepgo .brand-detail-logo img{width:70px;height:70px}.brand-keepgo .brand-logo img{width:53px;height:53px}.page-home .section{padding-block:50px}.page-home .engineering{padding-bottom:0}.page-home .engineering-layout{padding-bottom:45px}.page-home .production{padding-block:53px}.page-home .brands{padding-top:0}.page-home .brands-inner{padding-top:43px}.page-home .section-intro{margin-bottom:28px;gap:18px}.page-home .about{padding-block:48px}.page-home .contact{padding-block:50px}.page-home .brand-card{min-height:245px;padding:23px 28px}.page-home .brand-logo{height:65px;margin-bottom:15px}.page-home .brand-card p{margin-bottom:14px}.page-home .application>p{font-size:13px}.page-home .engineering-copy>p{margin-block:18px}}
@media(max-width:360px){.brand-masthead h1{font-size:32px}.technology-nav{grid-template-columns:1fr}.brand-masthead-logo img{max-width:100%}}
/* Optional analytics preferences: shown only when a measurement ID is configured. */
.hardware-gallery{padding:44px 0 60px;border-top:1px solid var(--line)}
.hardware-gallery>h3{font-size:27px;letter-spacing:-.7px;margin:0 0 27px;max-width:700px}
.hardware-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.hardware-grid>article{display:flex;flex-direction:column;min-width:0}
.hardware-grid .hardware-figure{flex:1}
.hardware-grid .text-link{align-self:flex-start}
.hardware-figure{margin:0;background:var(--soft);border:1px solid var(--line)}
.hardware-photo{height:245px;padding:25px;display:flex;align-items:center;justify-content:center}
.hardware-photo img{display:block;width:100%;height:100%;object-fit:contain}
.photo-fmux-main img,.photo-fmux-ethernet img{transform:scale(1.12)}
/* Affine display correction measured from the original photo's PCB edges.
   The source photograph and its component/lettering pixels stay unchanged. */
.photo-fpga img{transform:matrix(1,.0132624,-.0203384,1,0,0);transform-origin:center}
.hardware-figure figcaption{font-size:12px;line-height:1.7;color:#59675e;padding:0 20px 20px}
.hardware-source{display:block;margin-top:5px;color:#727a74;font-size:11px}
.hardware-grid .text-link{margin-top:15px;font-size:12px}
.brand-hardware-figure{margin-bottom:36px}
.brand-hardware-figure .hardware-photo{height:385px;padding:35px}
.brand-hardware-figure img{max-width:860px}
.brand-hardware-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.brand-hardware-grid .hardware-photo{height:320px}
.technology-photo{margin-top:27px}
.technology-photo .hardware-photo{height:300px}
@media(max-width:600px){.hardware-gallery{padding:30px 0 40px}.hardware-gallery>h3{font-size:23px;margin-bottom:22px}.hardware-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.hardware-photo{height:155px;padding:14px}.hardware-figure figcaption{font-size:11px;padding:0 12px 14px}.hardware-grid .text-link{font-size:11px;gap:8px}.brand-hardware-figure .hardware-photo{height:260px;padding:20px}.technology-photo .hardware-photo{height:230px;padding:20px}}
@media(max-width:600px){.brand-hardware-grid{gap:14px}.brand-hardware-grid .hardware-photo{height:180px;padding:14px}}
@media(max-width:600px){.hardware-grid,.brand-hardware-grid{grid-template-columns:1fr}.hardware-photo,.brand-hardware-grid .hardware-photo{height:210px;padding:18px}.hardware-figure figcaption{font-size:12px;padding:0 18px 18px}.hardware-source{font-size:11px}.hardware-grid .text-link{font-size:12px}.brand-hardware-grid{gap:22px;margin-bottom:36px}.brand-hardware-grid .brand-hardware-figure{margin-bottom:0}}
[hidden] { display: none !important; }
#analytics-settings { color: inherit; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
#analytics-settings:hover { color: var(--red); }
.analytics-consent { position: fixed; z-index: 110; right: 24px; bottom: 24px; width: min(520px, calc(100% - 48px)); padding: 25px; border: 1px solid #dcded9; background: #fff; color: #272a28; box-shadow: 0 10px 50px #1d23251f; }
.analytics-consent h2 { font-size: 20px; line-height: 1.4; letter-spacing: -.4px; margin: 0 0 10px; }
.analytics-consent p { font-size: 13px; line-height: 1.75; margin: 0 0 18px; color: #686c6c; }
.analytics-consent p a { text-decoration: underline; text-underline-offset: 3px; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.analytics-actions button { padding: 11px 14px; border: 1px solid #c8cbc6; background: #fff; color: #282b29; font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
.analytics-actions button:hover { border-color: #b61224; color: #b61224; }
.analytics-actions button:focus-visible, #analytics-settings:focus-visible { outline: 2px solid #b61224; outline-offset: 4px; }
@media (max-width: 600px) { .analytics-consent { right: 14px; bottom: 14px; width: calc(100% - 28px); padding: 20px; max-height: calc(100dvh - 28px); overflow-y: auto; } }
