:root{--color-white: #ffffff;--color-black: #000000;--color-accent-brown: rgb(79, 18, 18);--color-accent-green: rgb(150, 159, 125);--color-accent-beige: rgb(248, 237, 222);--color-accent-pink: rgb(238, 166, 166);--color-bg: var(--color-white);--color-text: var(--color-black);--font-main: "Rubik", sans-serif;--font-logo: "Rubik Bubbles", sans-serif;--font-mono: "Fragment Mono", monospace;--fs-logo: clamp(40px, 12vw, 200px);--fs-h2: clamp(14px, 3.5vw, 36px);--fs-h3: clamp(24px, 5vw, 60px);--fs-body: clamp(11px, 1.5vw, 14px);--fs-card-title: clamp(18px, 2.5vw, 30px);--space-unit: 8px;--container-max: 1500px;--transition-base: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}.fade-in{opacity:0;visibility:hidden}.fonts-loaded .fade-in{animation:fadeIn .8s cubic-bezier(.4,0,.2,1) forwards;visibility:visible}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text);line-height:1.2;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}.page-wrapper{max-width:var(--container-max);margin:0 auto;width:100%;position:relative;z-index:1}.section-padding{padding:clamp(16px,8vw,112px) clamp(12px,3vw,24px) 0 clamp(12px,3vw,24px)}.header{display:flex;flex-direction:column;align-items:center;gap:clamp(16px,8vw,120px);text-align:center;position:relative;overflow:hidden;min-height:450px;justify-content:center;background-color:var(--color-white)}#particles-js canvas{position:absolute;top:-10%;left:-10%;width:120%!important;height:120%!important;z-index:0;mask-image:radial-gradient(70% 50% ellipse at center,black 20%,transparent 65%);-webkit-mask-image:radial-gradient(70% 50% ellipse at center,black 20%,transparent 65%);pointer-events:none}.header__logo,.header__info{position:relative;z-index:1;pointer-events:auto}.header__logo{font-family:var(--font-logo);font-size:var(--fs-logo);text-transform:uppercase;line-height:.9;letter-spacing:clamp(3px,3vw,40px)}.header__subtitle{font-family:var(--font-mono);font-size:var(--fs-h2);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.header__contacts{display:flex;gap:clamp(24px,8vw,120px);justify-content:center;align-items:center;margin-top:20px}.contact-link{color:var(--color-text);text-decoration:none;transition:var(--transition-base);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.8;gap:12px}.contact-link i{font-size:clamp(48px,12vw,120px)}.contact-link__label{font-family:var(--font-mono);font-size:clamp(10px,1.5vw,12px);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.contact-link:hover{transform:scale(1.05);opacity:1;color:var(--color-black)}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}@media(max-width:900px){.info-grid{grid-template-columns:1fr;gap:0}}.info-block{min-height:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(8px,4vw,24px);position:relative;text-align:center;overflow:visible;padding:clamp(24px,5vw,60px) clamp(12px,3vw,24px);overflow-wrap:break-word;word-break:normal}@media(max-width:900px){.info-block{padding:clamp(16px,4vw,32px) clamp(16px,4vw,24px)}}.info-block--border:after{content:"";position:absolute;inset:0;border-left:.5px solid var(--color-black);border-right:.5px solid var(--color-black);pointer-events:none}.info-block--first.info-block--border:after{display:none}@media(max-width:900px){.info-block--first.info-block--border:after{display:block;border-left:none;border-right:none;border-top:.5px solid var(--color-black);border-bottom:.5px solid var(--color-black)}}@media(max-width:900px){.info-block--border:after{border-left:none;border-right:none;border-top:.5px solid var(--color-black);border-bottom:.5px solid var(--color-black)}}.info-block__title{font-family:var(--font-mono);font-size:var(--fs-body);text-transform:none;margin:0}.info-block__text{font-family:var(--font-main);font-weight:700;font-size:var(--fs-h2);text-transform:uppercase;line-height:1.1;letter-spacing:-.02em;margin:0;overflow-wrap:break-word;hyphens:auto}.content-grid{display:flex;flex-wrap:wrap;width:100%;gap:6px}.card{flex:1 0 360px;height:400px;position:relative;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.165,.84,.44,1);background:var(--color-black);transform-style:preserve-3d;perspective:1000px}.card__skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#1a1a1a 25%,#2a2a2a,#1a1a1a 75%);background-size:200% 100%;animation:skeletonLoading 1.5s infinite linear;z-index:1}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.card__img{width:100%;height:100%;object-fit:cover;object-position:top;position:absolute;inset:0;opacity:0;transition:opacity .5s ease,transform .5s ease;filter:grayscale(20%);transform:translateZ(0);z-index:2}.card__img.is-loaded{opacity:.4}@media(hover:hover)and (pointer:fine){.card:not(.card--no-hover):hover .card__img.is-loaded{opacity:1;filter:grayscale(0%);transform:scale(1.02) translateZ(10px)}.card:not(.card--no-hover):hover{transform:rotateX(20deg) rotateY(-4deg);z-index:2}.card:not(.card--no-hover):hover .card__overlay{background:linear-gradient(to top,rgba(0,0,0,.4) 0%,transparent 100%)}.card:not(.card--no-hover):hover:before{opacity:1;animation:borderRotate 2s linear infinite}.card:not(.card--no-hover):hover .card__title{transform:translateY(-5px)}}.card.is-active:not(.card--no-hover):not(.is-clicked){transform:rotateX(20deg) rotateY(-4deg);z-index:2}.card.is-active:not(.card--no-hover):not(.is-clicked) .card__img.is-loaded{opacity:1;filter:grayscale(0%);transform:scale(1.02) translateZ(10px)}.card.is-active:not(.card--no-hover):not(.is-clicked):before{opacity:1;animation:borderRotate 2s linear infinite}.card.is-active:not(.card--no-hover):not(.is-clicked) .card__title{transform:translateY(-5px)}.card__overlay{position:absolute;inset:0;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,#000c,#0003);color:#fff;z-index:3;transition:all .4s ease;transform:translateZ(20px);transform-style:preserve-3d}@media(hover:hover)and (pointer:fine){.card:not(.card--no-hover):hover .card__overlay{background:linear-gradient(to top,rgba(0,0,0,.4) 0%,transparent 100%)}}.card.is-active:not(.card--no-hover):not(.is-clicked) .card__overlay{background:linear-gradient(to top,rgba(0,0,0,.4) 0%,transparent 100%)}.card:before{content:"";position:absolute;inset:0;border:1.5px solid transparent;background:linear-gradient(90deg,var(--color-accent-pink),var(--color-white),var(--color-accent-pink)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.3;transition:opacity .4s ease;z-index:3}@keyframes borderRotate{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.card__title{font-family:var(--font-mono);font-size:var(--fs-card-title);margin-bottom:8px;text-shadow:0 2px 10px rgba(0,0,0,.5);transform:translateY(0);transition:transform .4s ease}.card__label{font-family:var(--font-mono);font-size:var(--fs-body);opacity:.7;text-transform:uppercase;letter-spacing:.1em}.bg-brown{background-color:#4f1212;color:#fff}.bg-green{background-color:#969f7d}.bg-beige{background-color:#d3c8ba}.bg-pink{background-color:#eea6a6}.bg-light-beige{background-color:#f8edde}.cta-banner{padding:112px 24px 0;text-align:center}.cta-banner__text{font-family:var(--font-main);font-weight:700;font-size:var(--fs-h3);letter-spacing:-.01em;max-width:1200px;margin:0 auto}.gallery-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:99999;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(15px);animation:overlayFade .3s ease-out}.gallery-content{position:relative;width:100%;height:100%;max-width:1400px;background:#000;overflow:hidden;display:flex;flex-direction:column;animation:contentSlide .5s cubic-bezier(.16,1,.3,1)}.gallery-close{position:absolute;top:20px;right:30px;background:#0009;border:1px solid rgba(255,255,255,.3);color:#fff;width:44px;height:44px;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:1010;font-size:20px;transition:all .3s ease;border-radius:50%;backdrop-filter:blur(5px)}.gallery-close:hover{background:#fff;color:#000;transform:rotate(90deg);border-color:#fff}.gallery-image-wrapper{width:100%;height:100%;overflow-y:scroll;padding:0;position:relative;z-index:1005;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;display:flex;flex-direction:column;align-items:center}.gallery-image-wrapper::-webkit-scrollbar{width:8px}.gallery-image-wrapper::-webkit-scrollbar-track{background:transparent}.gallery-image-wrapper::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:10px}.gallery-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1004;display:flex;flex-direction:column;align-items:center;gap:15px}.loader-spinner{width:40px;height:40px;border:2px solid rgba(255,255,255,.1);border-top:2px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.gallery-full-image{width:100%;height:auto;display:block;position:relative;z-index:1006;object-fit:contain;opacity:0;transform:translateY(10px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.gallery-full-image.is-loaded{opacity:1;transform:translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes contentSlide{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes imageFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.gallery-overlay{padding:0}.gallery-content{height:100vh;border:none}}.about-page .cta-banner{border-top:.5px solid var(--color-black);padding-top:60px}.nav{display:flex;justify-content:space-between;gap:24px;padding:clamp(10px,2vw,22px) clamp(12px,3vw,24px)}.nav__item{font-family:var(--font-main);font-size:clamp(15px,2vw,26px);font-weight:500;text-decoration:none;color:inherit;letter-spacing:-.04em;position:relative;overflow:hidden;display:inline-block;transition:color .3s ease}.nav__item:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--color-black);transform:scaleX(0);transform-origin:center;transition:transform .4s cubic-bezier(.65,0,.35,1)}.nav__item:hover:after{transform:scaleX(.5);transform-origin:center}.nav__link-container{display:inline-block;position:relative;animation:slideIn .5s cubic-bezier(.23,1,.32,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer{padding:88px 24px 40px}.footer__newsletter{display:flex;justify-content:center;align-items:center;gap:clamp(20px,4vw,40px);height:clamp(60px,10vw,112px);border-top:1px solid var(--color-black);border-bottom:1px solid var(--color-black);margin-bottom:80px;text-decoration:none;color:inherit;transition:var(--transition-base)}.footer__newsletter:hover{background-color:var(--color-black);color:var(--color-white)}.footer__newsletter:hover .footer__newsletter-arrow{filter:invert(1);transform:translate(10px)}.footer__newsletter-title{font-family:var(--font-main);font-weight:700;font-size:var(--fs-h2);text-transform:uppercase}.footer__newsletter-arrow{width:clamp(40px,8vw,60px);height:clamp(25px,5vw,40px);object-fit:fill;transition:var(--transition-base);display:block}.footer__main{display:flex;flex-direction:column;align-items:center;gap:40px}.footer__logo{font-family:var(--font-main);font-weight:900;font-size:clamp(46px,12vw,182px);text-transform:uppercase;letter-spacing:clamp(2px,2vw,33px);line-height:.8;margin-top:-10px}.footer__bottom{width:100%;display:flex;justify-content:space-between;margin-top:40px}.footer__copyright,.footer__social{font-family:var(--font-main);font-weight:800;font-size:clamp(13px,2vw,20px);text-transform:uppercase;letter-spacing:-.04em}body.loader-active{overflow:hidden!important;height:100vh!important;width:100%!important;position:fixed!important;top:0;left:0}.page-wrapper{transition:filter .6s cubic-bezier(.85,0,.15,1),transform .6s cubic-bezier(.85,0,.15,1)}body.loader-active .page-wrapper{filter:blur(15px);transform:scale(.97)}.global-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--color-white);transition:opacity .6s ease .8s}.global-loader--exit{opacity:0;pointer-events:none}.global-loader__content{text-align:center;z-index:10;transition:opacity .6s ease,transform .8s cubic-bezier(.85,0,.15,1)}.global-loader--exit .global-loader__content{opacity:0;transform:scale(.9) translateY(-20px)}.global-loader__logo{font-family:var(--font-logo);font-size:var(--fs-logo);text-transform:uppercase;letter-spacing:clamp(3px,3vw,40px);color:var(--color-black);margin-bottom:40px}.global-loader__progress{width:clamp(200px,40vw,600px);height:1px;background:#0000001a;position:relative;overflow:hidden;margin:0 auto}.global-loader__bar{position:absolute;inset:0;background:var(--color-black);animation:progressLoop 2s cubic-bezier(.65,0,.35,1) infinite}@keyframes progressLoop{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.global-loader__overlay{position:absolute;left:0;width:100%;height:50%;background:var(--color-black);transform:scaleY(0);transition:transform .8s cubic-bezier(.85,0,.15,1)}.global-loader__overlay--top{top:0;transform-origin:top}.global-loader__overlay--bottom{bottom:0;transform-origin:bottom}.global-loader--exit .global-loader__overlay{transform:scaleY(1)}.page-reveal-shutter{position:fixed;inset:0;z-index:9998;pointer-events:none}.shutter-part{position:absolute;left:0;width:100%;height:50%;background:var(--color-black);animation:shutterFade 1s cubic-bezier(.85,0,.15,1) .8s forwards}.shutter-part--top{top:0}.shutter-part--bottom{bottom:0}@keyframes shutterFade{0%{transform:translateY(0)}to{transform:translateY(var(--move));visibility:hidden}}.shutter-part--top{--move: -100%}.shutter-part--bottom{--move: 100%}@media(max-width:600px){.global-loader__content{gap:24px}.global-loader__progress{width:70vw}}.page-wrapper.is-revealed{filter:blur(0);transform:scale(1)}
