/* Component dimensions and interaction states from the reference, rather than generic defaults. */
:root{--ease:cubic-bezier(.44,0,.56,1);--spring:cubic-bezier(.22,.8,.25,1)}
body{overflow-x:clip}#header>.logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}#header.scrolled>.logo{position:static;transform:none}#header.scrolled{transition:background .35s var(--ease);height:47px;width:390px;padding:6px 20px}#header .icon{transition:color .3s var(--ease)}.menu-toggle span{transition:transform .35s var(--spring),width .35s var(--spring);transform-origin:left center}.menu-open .menu-toggle span:first-child{transform:translateY(-2px) rotate(45deg);width:21px}.menu-open .menu-toggle span:last-child{transform:translateY(3px) rotate(-45deg);width:21px}.menu-open #header{background:white;color:var(--blue)}#menu{overflow:hidden;z-index:29}.menu-open #header .count{background:var(--blue)!important;color:white!important}.floating-links a{display:block;position:relative;overflow:hidden;line-height:24px;height:24px;white-space:nowrap}.floating-links a span{display:block;transition:transform .4s var(--spring)}.floating-links a:hover span{transform:translateY(-100%)}.floating-links a span:nth-child(2){position:absolute;top:100%;left:0}
.button{transition:background-color .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}.button:hover{background:white;color:var(--blue);border-color:var(--blue)}.button.outline:hover{background:var(--blue);color:white}.hero .button:hover{border-color:white}.product-card img{transition:transform .4s var(--spring)}.product-card:hover img{transform:none}.product-card:hover h3{opacity:.75}.product-card h3{transition:opacity .25s var(--ease)}
.about main{overflow:clip}.about .mission{padding:128px 128px 64px;min-height:100svh;background-attachment:fixed;background-color:#182634;justify-content:flex-start}.mission h1{font-size:64px;line-height:1.2}.mission p{max-width:550px;font-size:25px;line-height:1.4}.about .story,.about .team-section{max-width:none;background:white;color:var(--blue);padding:64px 128px}.about-row{display:flex;align-items:center;gap:50px;padding:128px 0;max-width:1500px;margin:auto}.about-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;will-change:transform}.about-copy h2{font-size:60px;line-height:1.2;margin:0;text-align:center}.about-copy p{font-size:20px;line-height:1.2;margin:0}.about .team-section .about-row{flex-direction:row-reverse}.about .team-section .about-copy h2{text-align:left}.carousel-window{position:relative;display:block;flex:0 0 40%;padding:0;overflow:hidden;scroll-snap-type:none;margin:0;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);touch-action:pan-y;cursor:grab}.carousel-window.dragging{cursor:grabbing}.carousel-rail{display:flex;gap:20px;padding:20px 66px;will-change:transform;height:100%}.carousel-window article{flex:0 0 var(--slide-width);width:var(--slide-width);min-width:0;height:100%;border-radius:24px;overflow:hidden;position:relative;scroll-snap-align:none;user-select:none}.carousel-window article img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;pointer-events:none}.slide-caption{position:absolute;inset:0;padding:20px;color:white;background:linear-gradient(#0005,transparent 50%,#0002)}.slide-caption h3{font-size:20px;line-height:1.1;margin:0;font-weight:700}.slide-caption p{font-size:16px;line-height:1.2;margin:0;opacity:1}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:#0003;border-radius:50%;color:white;font:35px/35px Arial;cursor:pointer;transition:background .25s var(--ease);z-index:2}.carousel-prev:hover,.carousel-next:hover{background:#0006}.carousel-prev{left:82px}.carousel-next{right:82px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.signatures{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;align-items:center;padding:0;overflow:visible;height:100px}.signature{height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0}.signature img{height:60px;width:100%;object-fit:contain;transition:transform .45s var(--spring)}.signature:hover img{transform:scale(1.06)}.signature span{font-size:12px;line-height:1.15;text-align:center;color:var(--blue);white-space:nowrap}.signature-zifum img{transform:rotate(19deg)}.signature-zifum:hover img{transform:rotate(19deg) scale(1.06)}.signatures .logo{font-size:48px;justify-self:center;transition:scale .45s var(--spring)}.signatures .logo:hover{scale:1.1}.socials{margin:25px 0 42px}.socials a{transition:scale .35s var(--spring),background-color .2s}.socials a:hover{scale:1.08;background-color:#465a73}.footer-links a{transition:color .2s var(--ease)}.footer-links a:hover{color:#8fafd6}.tagline{overflow:visible}#footer{overflow:clip}
.gallery{overflow:hidden;touch-action:pan-y;user-select:none}.gallery img{pointer-events:none}.gallery .outgoing-image{position:absolute;inset:0;z-index:1}.gallery>.prev,.gallery>.next{z-index:3}.gallery .dots{z-index:4;bottom:18px}.gallery .dots button{position:static;transform:none;display:block;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ffffff70}.gallery .dots button.active{background:white}.faq summary:after{transition:transform .35s var(--spring)}.faq details[open] summary:after{content:'+';transform:rotate(45deg)}.faq details{will-change:height}.product-copy .price{margin-bottom:20px}.product-copy .description{font-size:12px;line-height:24px}.product-copy .quantity{margin:24px 0 18px}dialog[open]{animation:cart-in .35s var(--spring)}dialog::backdrop{animation:backdrop-in .3s var(--ease)}@keyframes cart-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{from{background:transparent}to{background:#15202f99}}
@media(min-width:810px) and (max-width:1199px){.about .story,.about .team-section{padding:64px 48px}.about-row{gap:32px;padding:80px 0}.about-copy h2{font-size:50px}.carousel-window{flex-basis:44%}.signature span{display:none}.signatures{height:72px}.signature{height:72px}.signature img{height:60px}}
@media(max-width:809px){#header.scrolled{width:calc(100% - 32px);padding:6px 14px}.about .mission{padding:128px 24px 64px;background-attachment:scroll}.mission h1{font-size:40px}.mission p{font-size:20px}.about .story,.about .team-section{padding:40px 24px}.about-row,.about .team-section .about-row{flex-direction:column;gap:35px;padding:25px 0}.about-copy h2,.about .team-section .about-copy h2{font-size:36px;text-align:left}.about-copy p{font-size:18px;line-height:1.3}.carousel-window{flex:none;width:min(100%,400px);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.carousel-prev{left:35px}.carousel-next{right:35px}.slide-caption h3{font-size:20px}.signatures{display:flex;height:70px;justify-content:center}.signature{display:none}.signatures .logo{font-size:48px}.socials{margin:10px 0 30px}.product-copy .description{font-size:16px;line-height:1.6}.tagline{font-size:40px;padding:80px 24px}}
@media(prefers-reduced-motion:reduce){.carousel-rail{transition:none!important}.about-copy,.intro-content,.tagline span{transform:none!important;opacity:1!important}}
/* The reference footer stays behind the page and is uncovered by scrolling. */
#main{position:relative;z-index:1;background:white}#footer{overflow:visible;position:relative}.tagline{position:relative;z-index:1;background:white;max-width:none;padding-left:max(calc((100vw - 700px)/2),24px);padding-right:max(calc((100vw - 700px)/2),24px);overflow:hidden}.footer-details{position:fixed;bottom:0;left:0;right:0;height:270px;z-index:0;background:white;display:flex;flex-direction:column;justify-content:flex-end}.footer-window{height:270px;pointer-events:none}.footer-details .signatures{height:110px}.footer-details .socials{margin:20px 0 38px}.footer-details .footer-links{padding-bottom:30px}body:has(dialog[open]) .footer-details{pointer-events:none}.home .split>div,.tagline span{transition:none}
@media(max-width:809px){.footer-window,.footer-details{height:200px}.footer-details .signatures{height:65px}.footer-details .socials{margin:5px 0 25px}.footer-details .footer-links{padding-bottom:20px}}
.home #header.scrolled,.home #header{position:absolute;top:0;left:0;transform:none;width:100%;height:68px;border:0;box-shadow:none;background:transparent;padding:10px 28px}