:root{--ink:#243658;--muted:#647087;--blue:#3c5ea4;--brand-light:#71a5d4;--line:#dce4f0;--light:#f3f6fb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #3c5ea4;outline-offset:5px}img{display:block;max-width:100%}.container{width:min(1160px,calc(100% - 80px));margin:auto}header{position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:10}.header{height:88px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:800;letter-spacing:.5px;line-height:1.25}.logo b{color:var(--blue)}.logo small{display:block;color:var(--muted);font-size:8px;letter-spacing:2px;margin-top:6px}.logo-icon{border:2px solid var(--blue);color:var(--blue);border-radius:7px;padding:7px 5px;font-size:21px;letter-spacing:-1px}.header nav{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:600}.header nav a:hover{color:var(--blue)}.nav-contact{background:var(--light);padding:12px 18px;border-radius:6px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:70px 0 60px}.label{font-size:10px;font-weight:700;letter-spacing:1.9px;color:var(--blue);margin-bottom:22px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.2vw,61px);line-height:1.12;letter-spacing:-2.4px;margin-bottom:27px}h1 span{color:var(--blue)}.hero p{max-width:440px;font-size:15px;color:var(--muted);line-height:1.8}.actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--blue);color:#fff;font-size:12px;font-weight:700;padding:15px 22px;border-radius:6px;transition:background .2s}.button:hover{background:#2e4b89}.secondary{font-size:12px;font-weight:600}.hero-image{margin:0;position:relative}.hero-image img{width:100%;height:450px;object-fit:cover;border-radius:12px;object-position:55% center}.hero-image figcaption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:14px 2px 0}.highlights{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.highlights>div{padding-left:40px;border-left:1px solid var(--line)}.highlights>div:first-child{border:0;padding-left:0}.highlights strong{display:block;font-size:17px;letter-spacing:-.3px}.highlights span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.section{padding:85px 0}.heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}.heading .label{margin-bottom:12px}h2{font-size:38px;letter-spacing:-1.3px;line-height:1.2;margin-bottom:24px}.heading h2{margin-bottom:0}.heading>p{margin:0;color:var(--muted);font-size:13px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.services article,.service-cta{border:1px solid var(--line);border-radius:10px;padding:26px;min-height:255px}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.service-top>span{font-size:11px;color:#88969e}.service-top svg{width:37px;height:37px;fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h3{font-size:19px;line-height:1.3;letter-spacing:-.3px;margin-bottom:12px}.services p{color:var(--muted);font-size:12px;line-height:1.8;min-height:44px;margin-bottom:23px}.tag{font-size:8px;font-weight:600;letter-spacing:1px;color:var(--blue)}.service-cta{background:var(--ink);color:white;border-color:var(--ink);display:flex;flex-direction:column;align-items:start;justify-content:space-between}.service-cta>span:first-child{font-size:9px;letter-spacing:1.2px;color:#c1d1db}.service-cta h3{font-size:25px;margin:20px 0}.round-arrow{width:36px;height:36px;border-radius:50%;border:1px solid #ffffff65;text-align:center;line-height:34px}.service-cta:hover{background:#2e4b89}.about-bg{background:var(--light)}.about{display:grid;grid-template-columns:1fr 1fr;gap:110px}.about p{font-size:13px;color:var(--muted)}.about .intro{font-size:16px;color:var(--ink);margin-bottom:22px}.milestones{padding-top:12px}.milestones>div{display:grid;grid-template-columns:80px 1fr;gap:18px;border-bottom:1px solid #d8e2f0;padding:24px 0}.milestones>div:first-child{padding-top:0}.milestones>div:last-child{border:0}.milestones>div>span{font-size:16px;font-weight:700;color:var(--blue)}.milestones h3{font-size:15px;margin-bottom:7px}.milestones p{font-size:12px;margin-bottom:0}.references{padding:38px 0;border-bottom:1px solid var(--line)}.references .label{font-size:9px;color:var(--muted);margin-bottom:22px}.references>div:last-child{display:flex;gap:30px;justify-content:space-between;align-items:center}.references>div:last-child>span{font-size:24px;font-weight:700;letter-spacing:-.7px;color:#556583}.references small{font-size:12px;font-weight:400;letter-spacing:0;margin-left:4px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery button{border:0;padding:0;background:none;text-align:left;cursor:pointer}.gallery img{width:100%;height:310px;object-fit:cover;border-radius:9px}.gallery button>span{display:flex;justify-content:space-between;padding:15px 0;font-size:12px;font-weight:600}.gallery b{color:var(--blue);font-size:18px}.credit{font-size:10px;color:var(--muted);margin:12px 0 0}.contact-bg{background:#edf3fb}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact p{font-size:14px;color:var(--muted);max-width:440px;margin-bottom:28px}.contact h2{font-size:45px}.contact-card{background:#fff;border-radius:12px;padding:32px 38px;border:1px solid #dce4f0}.contact-card>div{padding:20px 0;border-bottom:1px solid var(--line)}.contact-card>div:first-child{padding-top:0}.contact-card>div:last-child{border:0;padding-bottom:0}.contact-card>div>span{display:block;font-size:9px;letter-spacing:1.2px;color:var(--muted);margin-bottom:8px}.contact-card a{font-size:21px;font-weight:600;letter-spacing:-.5px}.contact-card a:hover{color:var(--blue)}address{font-style:normal;font-size:14px}.contact-card .map{display:inline-block;font-size:11px;letter-spacing:0;color:var(--blue);margin-top:12px}footer{padding:32px 0;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}footer strong{font-size:12px;color:var(--ink)}footer p{margin:8px 0 0;line-height:1.9}footer>div:last-child{display:flex;flex-direction:column;align-items:end;justify-content:space-between}footer a{font-weight:600;color:var(--ink)}dialog{width:1000px;max-width:90vw;max-height:90vh;border:0;border-radius:10px;padding:45px 20px 15px;background:#fff}dialog::backdrop{background:#172443d9}dialog img{width:100%;max-height:70vh;object-fit:contain}dialog p{font-size:11px;margin:14px 0 0}.close{position:absolute;top:0;right:14px;border:0;background:none;font-size:32px;cursor:pointer}.skip{position:fixed;top:-100px;left:15px;z-index:20;background:var(--ink);color:white;padding:10px}.skip:focus{top:10px}@media(max-width:1000px){.container{width:calc(100% - 48px)}.hero{gap:30px}.hero-image img{height:400px}.header nav{gap:20px}.hero h1{font-size:45px}.about{gap:50px}.contact{gap:40px}.actions{gap:18px;flex-wrap:wrap}.services article,.service-cta{padding:21px}.references>div:last-child>span{font-size:21px}}@media(max-width:720px){html{scroll-padding-top:80px}.container{width:calc(100% - 40px)}.header{height:74px}.logo{font-size:14px}.logo small{font-size:7px;letter-spacing:1.4px}.logo-icon{font-size:18px}.menu{display:block;background:white;border:1px solid var(--line);border-radius:5px;padding:7px 11px;font-size:11px}.menu span{margin-left:7px}.header nav{display:none;position:absolute;top:74px;left:0;right:0;background:white;padding:22px;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}.header nav a{padding:8px}.hero{grid-template-columns:1fr;padding:42px 0 30px;gap:30px}.hero h1{font-size:45px;letter-spacing:-1.8px}.hero p{font-size:14px}.label{font-size:9px;margin-bottom:17px}.hero-image img{height:300px}.highlights{grid-template-columns:1fr;gap:18px;padding:25px 0}.highlights>div{padding:0;border:0;display:flex;justify-content:space-between;gap:20px;align-items:center}.highlights strong{font-size:13px}.highlights span{font-size:10px;margin:0;text-align:right}.section{padding:56px 0}.heading{display:block;margin-bottom:27px}.heading>p{font-size:12px;margin-top:18px}h2{font-size:32px}.services{grid-template-columns:1fr 1fr;gap:12px}.services article,.service-cta{padding:18px;min-height:230px}.services h3{font-size:17px}.services p{font-size:11px}.service-top{margin-bottom:20px}.tag{font-size:7px;letter-spacing:.6px}.service-cta h3{font-size:22px}.about,.contact{grid-template-columns:1fr;gap:28px}.milestones>div{grid-template-columns:70px 1fr;gap:12px}.references{padding:28px 0}.references>div:last-child{flex-wrap:wrap;justify-content:start;gap:20px 35px}.references>div:last-child>span{font-size:20px}.references small{display:block;margin:0;font-size:10px}.gallery{grid-template-columns:1fr;gap:18px}.gallery img{height:280px}.contact h2{font-size:36px}.contact-card{padding:26px}.contact-card a{font-size:20px}footer{flex-direction:column;padding:25px 0}footer>div:last-child{flex-direction:row;align-items:center}}@media(max-width:380px){.services{grid-template-columns:1fr}.hero h1{font-size:39px}.highlights>div{display:block}.highlights span{text-align:left;margin-top:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Official corporate identity */
.logo-icon{display:block;width:50px;height:50px;object-fit:contain;border:0;border-radius:0;padding:0;flex-shrink:0}.footer-company{display:flex;gap:16px;align-items:flex-start}.footer-company>img{object-fit:contain;flex-shrink:0}.service-top svg{stroke:var(--brand-light)}.service-cta{background:var(--blue);border-color:var(--blue)}.label{color:var(--blue)}.nav-contact{background:#edf3fb}.hero h1 span{color:var(--blue)}.milestones>div>span{color:var(--blue)}@media(max-width:720px){.logo-icon{width:42px;height:42px}.footer-company>img{width:44px;height:44px}}

/* Interview next to the company story */
.interview{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:65px 0 35px}.interview-preview{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#172443}.interview-preview>img{width:100%;height:100%;object-fit:cover}.youtube-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;line-height:0;filter:drop-shadow(0 2px 7px #0004);transition:transform .2s}.youtube-play svg{width:100%}.interview-preview:hover .youtube-play{transform:translate(-50%,-50%) scale(1.08)}.video-caption{position:absolute;bottom:0;left:0;right:0;padding:25px 18px 12px;color:white;font-size:11px;background:linear-gradient(transparent,#000b)}.interview-text h2{font-size:32px;max-width:390px}.interview-text p{font-size:14px;color:var(--muted);max-width:410px}.interview-text .label{margin-bottom:14px}.interview-text .button{margin-top:10px}@media(max-width:720px){.interview{grid-template-columns:1fr;gap:25px;padding:48px 0 24px}.interview-text h2{font-size:28px}.interview-text p{font-size:13px}}

/* Service text over the photographs, with contrast concentrated behind the copy. */
.services .service-photo{position:relative;isolation:isolate;display:flex;min-height:320px;padding:0;background:#172443;color:#fff;border-color:#334966;overflow:hidden}
.service-photo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#172443;z-index:-2}
.services .service-machining .service-photo-image{object-position:58% center}
.services .service-welding .service-photo-image{object-position:65% center}
.services .service-photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,17,29,.12) 0%,rgba(8,17,29,.18) 30%,rgba(8,17,29,.72) 58%,rgba(8,17,29,.95) 100%)}
.service-photo-copy{display:flex;flex-direction:column;width:100%;padding:26px}
.services .service-photo .service-top{margin-bottom:auto;padding-bottom:42px}
.services .service-photo .service-top>span{color:#fff;text-shadow:0 1px 5px #000}
.services .service-photo .service-top svg{stroke:#fff;filter:drop-shadow(0 1px 3px #0008)}
.services .service-photo h3{color:#fff;text-shadow:0 2px 5px #0006}
.services .service-photo p{color:#f0f4fa;min-height:0;margin-bottom:20px;text-shadow:0 1px 4px #0008}
.services .service-photo .tag{color:#d0e6fa}
@media(max-width:720px){.services .service-photo{min-height:340px}.service-photo-copy{padding:18px}.services .service-photo .service-top{padding-bottom:48px}}
/* Branded loading state, hidden without JavaScript */
.page-loader{display:none;position:fixed;inset:0;z-index:1000;background:#3c5ea4;color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:18px}.js-loading .page-loader{display:flex;animation:loader-safety 0s 5s forwards}.js-loading body{overflow:hidden}.loader-brand{display:flex;flex-direction:column;align-items:center;gap:14px}.loader-brand img{border-radius:9px;background:white;padding:4px;width:80px;height:80px}.loader-brand strong{font-size:18px;letter-spacing:1.8px}.loader-gears{width:240px;height:150px;margin-top:6px}.loader-gears polygon{fill:#b2bac5;stroke:#e2e6eb;stroke-width:1.4;stroke-linejoin:round}.loader-gears circle{fill:#3c5ea4;stroke:#e2e6eb;stroke-width:3}.gear-small{transform-origin:58px 75px;animation:gear-turn 1.5s linear infinite}.gear-large{transform-origin:151px 75px;animation:gear-turn 3s linear infinite reverse}.page-loader p{font-size:14px;letter-spacing:1.4px;margin:0}@keyframes gear-turn{to{transform:rotate(360deg)}}@keyframes loader-safety{to{visibility:hidden;pointer-events:none}}@media(max-width:720px){.service-photo-copy{padding:18px}.loader-gears{width:210px}}@media(prefers-reduced-motion:reduce){.gear-small,.gear-large{animation:none}}

/* One rotating gear and a smooth reveal of the page */
.page-loader{display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .75s ease,visibility 0s .75s}.js-loading .page-loader{opacity:1;visibility:visible;pointer-events:auto;transition:none;animation:none}.loader-gears{width:150px;height:150px}.gear-large{animation:gear-turn 3s linear infinite;transform-origin:151px 75px}.js-loading header,.js-loading main,.js-loading footer{opacity:0;transform:translateY(10px)}header,main,footer{transition:opacity .75s ease,transform .75s ease}.loader-dismissed header,.loader-dismissed main,.loader-dismissed footer{opacity:1;transform:translateY(0)}@media(max-width:720px){.loader-gears{width:140px;height:140px}}@media(prefers-reduced-motion:reduce){.gear-large{animation:none}.page-loader,header,main,footer{transition:none}.js-loading header,.js-loading main,.js-loading footer{transform:none}}

/* Restore the two meshing gears, keeping the smooth page transition. */
.loader-gears{width:240px;height:150px}.gear-small{transform-origin:58px 75px;animation:gear-turn 1.5s linear infinite}.gear-large{transform-origin:151px 75px;animation:gear-turn 3s linear infinite reverse}@media(max-width:720px){.loader-gears{width:220px;height:140px}}@media(prefers-reduced-motion:reduce){.gear-small,.gear-large{animation:none}}

/* Unframed transparent KU logo on a pale brand background for contrast. */
.page-loader{background:#edf3fb;color:var(--ink)}.loader-brand img{background:transparent;border:0;border-radius:0;padding:0;width:90px;height:90px;object-fit:contain}.loader-gears circle{fill:#edf3fb;stroke:#858f9e}.loader-gears polygon{fill:#a6afbb;stroke:#788597}

/* Photo background and machined, polished steel gears. */
.page-loader{background:#172443;color:#fff;isolation:isolate}.page-loader::before{content:"";position:absolute;inset:-8px;z-index:-2;background:url("assets/loading-background.png") center/cover no-repeat;filter:blur(2px);transform:scale(1.02)}.page-loader::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(8,17,29,.62)}.loader-brand strong,.page-loader p{text-shadow:0 2px 8px #0009}.loader-brand img{filter:drop-shadow(0 2px 8px #0008)}.loader-gears{filter:drop-shadow(0 5px 5px #0009)}.loader-gears .steel-teeth{fill:url(#steel);stroke:#e3e9ed;stroke-width:.8}.loader-gears .steel-rim{fill:url(#steel-face);stroke:#ecf0f3;stroke-width:.9}.loader-gears .steel-face{fill:url(#steel);stroke:#657583;stroke-width:.7}.loader-gears .steel-hole{fill:#18212d;stroke:#dce4eb;stroke-width:1}.loader-gears .steel-hub{fill:url(#steel);stroke:#ecf0f3;stroke-width:1.4}.loader-gears .steel-bore{fill:#111c29;stroke:#9ba9b6;stroke-width:1.1}

/* Full-width chapter backgrounds make the page easier to scan. */
.services-bg{background:#f3f6fb;border-top:1px solid #dce4f0;border-bottom:1px solid #dce4f0;margin-top:45px}
.services-bg .services article:not(.service-photo){background:#fff}
.about-bg{background:#dfeaf7;border-bottom:1px solid #c7d8ed}
.about-bg .milestones>div{border-color:#bdcfe6}
.interview{padding-top:75px;padding-bottom:65px}
.references{padding:32px 0;margin-bottom:0;border-bottom:0}
.gallery-bg{background:#edf3fb;border-top:1px solid #dce4f0;border-bottom:1px solid #dce4f0;margin-top:35px}
.contact-bg{background:#243d6b;color:#fff}
.contact-bg .label{color:#b8d9f7}
.contact-bg .contact p{color:#dce7f6}
.contact-bg .contact>.contact-card{color:var(--ink);border:0;box-shadow:0 16px 40px #0c1e3c35}
.contact-bg .contact>div:first-child .button{background:#fff;color:#243d6b}
.contact-bg .contact>div:first-child .button:hover{background:#dfeaf7}
@media(max-width:720px){.services-bg{margin-top:28px}.interview{padding-top:50px;padding-bottom:35px}.gallery-bg{margin-top:24px}}

/* Stronger colour separation between the main chapters. */
.services-bg{background:#cbdff3;border-color:#a8c5e4}
.about-bg{background:#3c5ea4;color:#fff;border-color:#3c5ea4}
.about-bg .label{color:#d7eaff}
.about-bg .about p{color:#e6eefb}
.about-bg .about .intro{color:#fff}
.about-bg .milestones>div{border-color:#ffffff40}
.about-bg .milestones>div>span{color:#d1e7ff}
.gallery-bg{background:#aecbe6;border-color:#8bb0d4}
.gallery-bg .heading>p,.gallery-bg .credit{color:#344f70}
.contact-bg{background:#1e3155}

/* Company promo video and the supplied machining photograph. */
.hero-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:12px;background:#172443}
.services .service-machining .service-photo-image{object-position:50% center}

/* Interview belongs to the company chapter. */
.about-bg .interview{border-top:1px solid #ffffff40;padding-top:50px;padding-bottom:65px}
.about-bg .interview-text p{color:#e6eefb}
.about-bg .interview .button{background:#fff;color:#243d6b}
.about-bg .interview .button:hover{background:#dfeaf7}
.history-source{display:inline-block;margin-top:10px;font-size:11px;color:#d1e7ff;text-decoration:underline;text-underline-offset:3px}
.history-source:hover{color:#fff}
.highlights>div{padding-right:18px}
@media(max-width:720px){.highlights>div{padding-right:0}.highlights span{max-width:58%}.about-bg .interview{padding-top:35px;padding-bottom:45px}}

/* Reference links with a clear affordance and keyboard feedback. */
.references{padding-top:42px;padding-bottom:20px}
.references-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.references-heading .label{margin:0;color:var(--blue)}
.references-heading p{margin:0;font-size:11px;color:var(--muted)}
.references>.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reference-link{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px;border:1px solid #c6d6e9;border-radius:8px;background:#f3f6fb;color:#243d6b;font-size:20px;font-weight:700;transition:background .2s,border-color .2s,transform .2s}
.reference-link>span:first-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.reference-arrow{font-size:23px;color:var(--blue)}
.reference-link:hover,.reference-link:focus-visible{background:#dfeaf7;border-color:#3c5ea4;transform:translateY(-2px)}
@media(max-width:720px){.references-heading{align-items:flex-start;flex-direction:column;gap:8px}.references>.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-link{padding:17px;font-size:16px}.reference-arrow{font-size:20px}}
@media(max-width:380px){.references>.reference-grid{grid-template-columns:1fr}}

/* Original company logos, consistently sized without altering their colours. */
.references>.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.reference-link{min-height:128px;background:#fff;padding:24px;position:relative}
.reference-link>.reference-brand{display:flex;align-items:center;justify-content:center;width:100%;height:74px;text-decoration:none}
.reference-brand img{width:100%;max-width:205px;height:66px;object-fit:contain}
.reference-link .reference-arrow{flex-shrink:0}
.reference-link:hover,.reference-link:focus-visible{background:#edf3fb}
@media(max-width:720px){.references>.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-link{min-height:108px;padding:18px 12px}.reference-brand img{max-width:160px;height:52px}.reference-link>.reference-brand{height:62px}}
@media(max-width:380px){.references>.reference-grid{grid-template-columns:1fr}}

.reference-link[href="https://www.everllence.com/"]{background:#172443;border-color:#172443}
.reference-link[href="https://www.everllence.com/"] .reference-arrow{color:#fff}
.reference-link[href="https://www.everllence.com/"]:hover{background:#243d6b}

/* Show the actual website behind a translucent loading overlay. */
.page-loader{background:rgba(15,28,49,.40);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;transition:opacity .75s ease,visibility 0s .75s}
.page-loader::before,.page-loader::after{content:none;background:none;filter:none}
.js-loading header,.js-loading main,.js-loading footer{opacity:1;transform:none}
.loader-dismissed header,.loader-dismissed main,.loader-dismissed footer{opacity:1;transform:none}
.loader-brand img{filter:drop-shadow(0 1px 1px #ffffffb3) drop-shadow(0 3px 10px #0005)}
@supports not ((backdrop-filter:blur(6px)) or (-webkit-backdrop-filter:blur(6px))){
 .js-loading header,.js-loading main,.js-loading footer{filter:blur(6px)}
 header,main,footer{transition:filter .75s ease}
 .loader-dismissed header,.loader-dismissed main,.loader-dismissed footer{filter:none}
}
@media(prefers-reduced-motion:reduce){.page-loader,header,main,footer{transition:none}}

/* A single Czech contact list without artificial separators. */
.contact-people{padding-bottom:75px}
.contact-people h2{font-size:32px;margin-bottom:28px}
.people-table-wrap{background:#fff;border-radius:12px;overflow:hidden;color:var(--ink)}
.people-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.6}
.people-table thead{background:#dfeaf7;color:#243d6b}
.people-table th,.people-table td{padding:18px 20px;border-bottom:1px solid #dce4f0;vertical-align:top}
.people-table tbody th{font-weight:600;width:22%}
.people-table tbody td:nth-child(2){width:28%}
.people-table tbody tr:last-child th,.people-table tbody tr:last-child td{border-bottom:0}
.people-table a{color:#3c5ea4;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.people-table a:hover{color:#172443}
@media(max-width:1000px){.people-table th,.people-table td{padding:15px 12px;font-size:11px}}
@media(max-width:720px){.contact-people{padding-bottom:50px}.contact-people h2{font-size:28px}.people-table thead{display:none}.people-table,.people-table tbody{display:block}.people-table tbody tr{display:block;padding:18px 20px;border-bottom:1px solid #dce4f0}.people-table tbody tr:last-child{border:0}.people-table tbody th,.people-table tbody td{display:block;width:100%;padding:3px 0;border:0;font-size:12px}.people-table tbody th{font-size:15px;margin-bottom:5px}.people-table tbody td:nth-child(2){width:100%;color:var(--muted);margin-bottom:6px}.people-table a{white-space:normal;overflow-wrap:anywhere}}

/* Management stays visible; other departments open on request. */
.other-contacts{margin-top:18px;border:1px solid #ffffff50;border-radius:10px;overflow:hidden}
.other-contacts>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;cursor:pointer;list-style:none;font-size:16px;font-weight:600;background:#ffffff0d;transition:background .2s}
.other-contacts>summary::-webkit-details-marker{display:none}
.other-contacts>summary:hover{background:#ffffff20}
.other-contacts>summary:focus-visible{outline:3px solid #b8d9f7;outline-offset:-4px}
.contacts-expand{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:25px;line-height:1;transition:transform .2s}
.other-contacts[open] .contacts-expand{transform:rotate(45deg)}
.other-contacts-content{padding:0 16px 16px}
@media(max-width:720px){.other-contacts>summary{padding:17px 20px;font-size:15px}.other-contacts-content{padding:0 10px 10px}}

/* Pop-up inquiry form with visible, prefilled recipients. */
button.button{border:0;cursor:pointer}
.inquiry-dialog{width:680px;padding:40px;max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 20px 80px #0004}
.inquiry-dialog h2{font-size:30px;margin-bottom:25px}
.inquiry-dialog .label{margin-bottom:12px}
.inquiry-dialog label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;margin-bottom:17px}
.inquiry-dialog input,.inquiry-dialog textarea{width:100%;padding:11px 12px;border:1px solid #bdcde1;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-weight:400;line-height:1.5}
.inquiry-dialog input:focus,.inquiry-dialog textarea:focus{outline:2px solid var(--blue);outline-offset:2px}
.inquiry-dialog input[readonly]{background:#edf3fb;color:#405575}
.inquiry-dialog textarea{resize:vertical}
.inquiry-routing,.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.inquiry-dialog .inquiry-help{font-size:12px;color:var(--muted);margin:0 0 20px}
.inquiry-dialog .inquiry-status{font-size:12px;color:#405575;margin:16px 0 0}
.inquiry-dialog .inquiry-status:empty{display:none}
@media(max-width:720px){.inquiry-dialog{padding:35px 22px 25px;max-width:94vw}.inquiry-dialog h2{font-size:26px}.inquiry-routing,.inquiry-fields{grid-template-columns:1fr}}

.inquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.inquiry-dialog button:disabled{opacity:.65;cursor:wait}

/* Addresses for both branches, with map links alongside them. */
.branch-address{display:flex;align-items:center;justify-content:space-between;gap:20px}
.contact-card .branch-address .map{margin-top:0;white-space:nowrap;background:#edf3fb;padding:10px 13px;border-radius:6px;font-size:12px}
.contact-card .branch-address .map:hover{background:#dfeaf7}
@media(max-width:380px){.branch-address{flex-direction:column;align-items:flex-start;gap:12px}}

.services .service-measuring .service-photo-image{object-position:24% center}

/* Shared accessible windows and service details. */
html.modal-visible{overflow:hidden}
header,main,footer{transition:filter .28s ease}
html.modal-visible header,html.modal-visible main,html.modal-visible footer{filter:blur(6px)}
dialog{opacity:0;transform:translateY(14px) scale(.97);transition:opacity .28s ease,transform .28s ease;max-width:94vw;border:0;border-radius:14px}
dialog.window-visible{opacity:1;transform:translateY(0) scale(1)}
dialog::backdrop{background:rgba(15,28,49,0);transition:background .28s ease}
dialog.window-visible::backdrop{background:rgba(15,28,49,.48)}
dialog .close{position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;border-radius:50%;background:#edf3fb;color:#243658;font-size:28px;line-height:1;cursor:pointer;z-index:2}
.service-more{display:inline-flex;gap:22px;align-items:center;background:transparent;border:0;border-bottom:1px solid currentColor;padding:5px 0;font-size:12px;font-weight:700;color:var(--blue);cursor:pointer}
.service-photo .service-more{color:#fff}.service-more:hover{opacity:.75}
.service-dialog{width:1040px;padding:46px;max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 20px 80px #0004}
.service-dialog h2{margin:0 35px 12px 0}.service-dialog .label{margin-bottom:12px}
.service-subtitle{font-size:20px;color:var(--blue);line-height:1.5;margin-bottom:32px}
.service-detail-layout{display:grid;gap:32px}.service-detail-layout.with-photo{grid-template-columns:1.1fr 1fr;align-items:start}
.service-detail-layout p{font-size:15px;line-height:1.85;margin-bottom:18px}.service-detail-photo{margin:0}.service-detail-photo img{width:100%;height:auto;border-radius:10px;max-height:540px;object-fit:contain;background:#edf3fb}
.inquiry-dialog input[type=file]{padding:12px;background:#f3f6fb}.inquiry-dialog input[type=file]::file-selector-button{background:var(--blue);color:#fff;border:0;border-radius:4px;padding:9px 12px;margin-right:12px;cursor:pointer}
@media(max-width:720px){.service-dialog{padding:45px 22px 25px}.service-dialog h2{font-size:29px}.service-subtitle{font-size:17px;margin-bottom:22px}.service-detail-layout.with-photo{grid-template-columns:1fr}.service-detail-photo{order:-1}.service-detail-photo img{max-height:300px}}
@media(prefers-reduced-motion:reduce){dialog{transform:none}}

/* One accessible button covers each tile, including its photo and text. */
.services article{position:relative;transition:transform .24s ease,box-shadow .24s ease;cursor:pointer}
.service-more::after{content:"";position:absolute;inset:0;border-radius:10px;z-index:3}
.services article:focus-within{outline:3px solid var(--blue);outline-offset:4px}
.services article:focus-within,.service-cta:focus-visible{transform:scale(1.025)}
button.service-cta{font:inherit;text-align:left;cursor:pointer;transition:transform .24s ease,box-shadow .24s ease}
.services .service-pressing .service-photo-image{object-position:72% center}
.services .service-surface .service-photo-image{object-position:50% center}
.services .service-welding .service-photo-image{object-position:55% center}
@media(hover:hover){.services article:hover,.service-cta:hover{transform:scale(1.025);box-shadow:0 12px 30px #24365826;z-index:1}}

/* Certifications separate the introduction from the service tiles. */
.certifications{padding-top:65px;padding-bottom:15px}.certifications>.label{margin-bottom:12px}.certifications>h2{margin-bottom:30px}
.certification-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.certification-grid article{border:1px solid #c9d9ec;border-radius:12px;padding:27px;background:#f3f7fc}
.certification-mark{display:inline-flex;justify-content:center;align-items:center;width:34px;height:34px;border-radius:50%;background:#dceaf7;color:var(--blue);font-weight:bold;margin-bottom:18px}
.certification-grid h3{font-size:27px;margin-bottom:10px}.certification-grid h4{font-size:15px;line-height:1.5;margin:0 0 16px}.certification-grid p{font-size:13px;color:var(--muted);margin:0;line-height:1.8}
.header{gap:22px}.header .logo{flex-shrink:0;order:0}.header nav{order:1;gap:22px;margin-left:auto}.language-switch{display:flex;align-items:center;gap:3px;order:2;flex-shrink:0;border:1px solid #c9d9ec;padding:3px;border-radius:7px;background:#f3f7fc}
.language-switch a{font-size:11px;font-weight:bold;padding:7px 8px;border-radius:4px;line-height:1.3}.language-switch a[aria-current=page]{color:#fff;background:var(--blue)}.language-switch a:hover{background:#dceaf7}.language-switch a[aria-current=page]:hover{background:#2e4b89}.header .menu{order:3}
@media(max-width:1100px){.header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:22px 30px;margin:0;flex-direction:column;gap:18px;align-items:stretch}.header nav.open{display:flex}.header .menu{display:block;border:0;background:transparent;padding:6px;cursor:pointer}.language-switch{margin-left:auto}}
@media(max-width:720px){.certifications{padding-top:45px}.certification-grid{grid-template-columns:1fr;gap:14px}.certification-grid article{padding:24px}.header{gap:10px}.header .menu{font-size:0}.header .menu span{font-size:24px}.language-switch a{padding:7px 6px;font-size:10px}.header nav{top:88px}}
@media(max-width:400px){.header .logo{gap:6px;font-size:14px}.header .logo small{font-size:6px;letter-spacing:1px}.header .logo-icon{width:34px;height:34px}.header{gap:6px}.language-switch a{padding:7px 5px}}

.header nav .nav-contact{border:0;font:inherit;font-weight:600;text-align:left;cursor:pointer;color:var(--ink)}.header nav .nav-contact:hover{color:var(--blue);background:#dceaf7}
.header-facebook{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;order:2;color:var(--blue);border-radius:50%;transition:background .2s,transform .2s}.header-facebook:hover{background:#edf3fb;transform:translateY(-1px)}.language-switch{order:3}.header .menu{order:4}
@media(max-width:1100px){.header-facebook{margin-left:auto}.language-switch{margin-left:0}}
@media(max-width:400px){.header-facebook{width:26px;height:32px}.header-facebook svg{width:21px;height:21px}.header .logo small{letter-spacing:.5px}.header{gap:4px}.language-switch a{padding:7px 4px}}

/* Keep a consistent 4:3 crop while retaining the original photographs. */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}.gallery button{min-width:0}
#lightbox{width:min(1000px,94vw,calc(120vh - 110px))}#lightbox>img{height:auto;aspect-ratio:4/3;max-height:none;object-fit:cover}
@media(max-width:950px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gallery{grid-template-columns:1fr}}

/* Extruded steel gear bodies, bevelled faces and recessed bores. */
.loader-gears{width:270px;height:180px;overflow:visible;transform:perspective(650px) rotateX(24deg) rotateY(-12deg);filter:drop-shadow(7px 13px 7px #0009)}
.loader-gears .gear-sidewall{fill:url(#steel-depth);stroke:#172430;stroke-width:1.3;stroke-linejoin:round}
.loader-gears .steel-teeth{stroke:url(#steel-bevel);stroke-width:1.7}
.loader-gears .steel-rim{stroke:url(#steel-bevel);stroke-width:2.2}
.loader-gears .steel-face{stroke:#3b4e5d;stroke-width:1.2}
.loader-gears .steel-hole{fill:url(#steel-inset);stroke:url(#steel-bevel);stroke-width:1.6}
.loader-gears .steel-hub{stroke:url(#steel-bevel);stroke-width:2.7;filter:drop-shadow(1px 2px 1px #10202b99)}
.loader-gears .steel-bore{fill:url(#steel-inset);stroke:url(#steel-bevel);stroke-width:1.8}
@media(max-width:720px){.loader-gears{width:245px;height:163px}}

.attachment-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.attachment-actions button{border:1px solid #b3c7e1;background:#edf3fb;border-radius:6px;padding:10px 16px;font-size:12px;font-weight:600;cursor:pointer}.attachment-actions .attachment-choose{background:var(--blue);color:#fff;border-color:var(--blue)}.attachment-actions button:hover{filter:brightness(.95)}
.attachment-list{list-style:none;padding:0;margin:0 0 10px}.attachment-list li{display:flex;gap:14px;align-items:center;justify-content:space-between;background:#f3f6fb;border:1px solid #dce4f0;border-radius:6px;padding:9px 12px;margin:6px 0;font-size:12px}.attachment-list li>span{overflow-wrap:anywhere;min-width:0}.attachment-list li>button{border:0;background:#e2eaf5;border-radius:50%;width:30px;height:30px;font-size:20px;cursor:pointer;flex-shrink:0}.attachment-count{font-size:12px;color:var(--muted);margin:0 0 12px}.attachment-count:empty{display:none}
