:root{--font-primary:'Playfair Display', Georgia, 'Times New Roman', Times, serif;--font-secondary:'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--color-text:#3a3a3a;--color-primary:#1a1a1a;--color-background:#fdfdfd;--color-accent:#c2a077;--color-light:#ffffff;--color-portfolio-bg:#e9e9e9;--header-height:80px;--section-padding:6rem 0;--container-max-width:1200px;--container-padding:0 1rem}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;width:100%;overflow-x:hidden}body{font-family:var(--font-secondary);color:var(--color-text);background-color:var(--color-background);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;overflow-x:hidden}.container{width:90%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding:var(--container-padding)}#main-header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1rem 0;background-color:#fff0;transition:background-color 0.4s ease,box-shadow 0.4s ease}#main-header.scrolled{background-color:rgb(255 255 255 / .95);box-shadow:0 2px 15px rgb(0 0 0 / .08)}#main-header .container{display:flex;justify-content:space-between;align-items:center}#main-header .logo{font-family:var(--font-primary);font-size:1.8rem;font-weight:700;color:var(--color-light);text-decoration:none;transition:color 0.4s ease}#main-header.scrolled .logo{color:var(--color-primary)}#main-header nav ul{list-style:none;display:flex}#main-header nav ul li{margin-left:2.5rem}#main-header nav ul li a{text-decoration:none;color:var(--color-light);font-weight:500;font-size:.95rem;padding-bottom:5px;position:relative;transition:color 0.4s ease}#main-header nav ul li a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background-color:var(--color-accent);transition:width 0.3s ease}#main-header nav ul li a:hover::after,#main-header nav ul li a.active-link::after{width:100%}#main-header.scrolled nav ul li a{color:var(--color-text)}#main-header.scrolled nav ul li a:hover,#main-header.scrolled nav ul li a.active-link{color:var(--color-accent)}.nav-toggle{display:none;background:#fff0;border:none;cursor:pointer;padding:.5rem;z-index:1002;position:relative}.hamburger{display:block;position:relative;width:28px;height:3px;background:var(--color-light);transition:background-color 0.4s ease}.hamburger::before,.hamburger::after{content:'';position:absolute;left:0;width:100%;height:3px;background:var(--color-light);transition:transform 0.3s ease,top 0.3s ease,bottom 0.3s ease,background-color 0.4s ease}.hamburger::before{top:-8px}.hamburger::after{bottom:-8px}#main-header.scrolled .nav-toggle .hamburger,#main-header.scrolled .nav-toggle .hamburger::before,#main-header.scrolled .nav-toggle .hamburger::after{background:var(--color-primary)}#main-header nav.nav-open+.nav-toggle .hamburger{background:#fff0}#main-header nav.nav-open+.nav-toggle .hamburger::before{top:0;transform:rotate(45deg)}#main-header nav.nav-open+.nav-toggle .hamburger::after{bottom:0;transform:rotate(-45deg)}#main-header nav.nav-open+.nav-toggle .hamburger::before,#main-header nav.nav-open+.nav-toggle .hamburger::after{background:var(--color-primary)}#main-header:not(.scrolled) nav.nav-open+.nav-toggle .hamburger::before,#main-header:not(.scrolled) nav.nav-open+.nav-toggle .hamburger::after{background:var(--color-primary)}@media (max-width:900px){#main-header .container nav:not(.nav-open)>ul{display:none}.nav-toggle{display:block}#main-header nav{position:fixed;top:0;right:0;width:75%;max-width:320px;height:100vh;background-color:rgb(255 255 255 / .95);box-shadow:-2px 0 10px rgb(0 0 0 / .15);transform:translateX(100%);z-index:1001;padding-top:calc(var(--header-height) + 2rem);overflow-y:auto;transition:transform 0.35s cubic-bezier(.25,.46,.45,.94)}#main-header nav.nav-open{transform:translateX(0%)}#main-header .container nav.nav-open>ul{display:flex!important;flex-direction:column;align-items:flex-start;padding:1rem 2rem;width:100%}#main-header nav ul li{margin-left:0;margin-bottom:1.2rem;width:100%}#main-header nav ul li a{color:var(--color-text);font-size:1.1rem;padding:.75rem 0;width:100%;font-weight:500}#main-header nav ul li a::after{background-color:var(--color-accent);height:2px;bottom:-2px}#main-header nav ul li a:hover,#main-header nav ul li a.active-link{color:var(--color-accent)}}body.sidebar-open{overflow:hidden}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;color:var(--color-light);overflow:hidden}.hero-slideshow-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center center;opacity:0;transition:opacity 1.2s ease}.hero-slide.active{opacity:1;z-index:0;animation-duration:20s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes pan-animation-horizontal{0%{background-position:10% 50%}50%{background-position:90% 50%}100%{background-position:10% 50%}}@keyframes pan-animation-vertical{0%{background-position:50% 10%}50%{background-position:50% 90%}100%{background-position:50% 10%}}.hero-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .5);z-index:0}.hero-content{position:relative;z-index:1}.hero-content h1{font-family:var(--font-primary);font-size:clamp(2.5rem, 6vw, 5rem);font-weight:800;line-height:1.1;margin-bottom:1rem;letter-spacing:-1px;text-shadow:0 2px 10px rgb(0 0 0 / .3)}.hero-content .subtitle-hero{font-size:clamp(1rem, 2.5vw, 1.5rem);font-weight:300;margin-bottom:2.5rem;max-width:700px;margin-left:auto;margin-right:auto;text-shadow:0 1px 5px rgb(0 0 0 / .2)}.cta-button{display:inline-block;background-color:var(--color-accent);color:var(--color-light);padding:.9rem 2.2rem;text-decoration:none;border-radius:5px;font-weight:600;font-size:1rem;transition:background-color 0.3s ease,transform 0.3s ease;border:none;cursor:pointer;box-shadow:0 4px 15px rgb(0 0 0 / .1)}.cta-button:hover{background-color:#a88c65;transform:translateY(-3px)}.hero-content .animate-on-load{opacity:0;transform:translateY(30px);transition:opacity 0.8s cubic-bezier(.25,.46,.45,.94),transform 0.8s cubic-bezier(.25,.46,.45,.94)}.standard-section,.approach-section,.portfolio-section{padding:var(--section-padding)}.section-title{font-family:var(--font-primary);font-size:clamp(2rem, 5vw, 3.5rem);font-weight:700;color:var(--color-primary);text-align:center;margin-bottom:1rem;line-height:1.2}.section-subtitle{font-size:1.1rem;color:#666;text-align:center;margin-bottom:3.5rem;max-width:700px;margin-left:auto;margin-right:auto}.approach-section{background-color:var(--color-background)}.approach-section .section-title .highlight{color:var(--color-accent);display:inline-block}.approach-text-block{max-width:800px;margin:2rem auto 0;font-size:1.15rem;line-height:1.8}.approach-text-block p{margin-bottom:1.5rem}.scroll-animate-text{opacity:0!important;transform:translateY(40px);transition:opacity 0.8s cubic-bezier(.645,.045,.355,1),transform 0.8s cubic-bezier(.645,.045,.355,1);transition-delay:0s}.scroll-animate-text.is-visible{opacity:1!important;transform:translateY(0)}.portfolio-section{background-color:var(--color-portfolio-bg)}.portfolio-gallery-wrapper{overflow:hidden;padding:1rem 0;position:relative;width:100%;cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.portfolio-gallery-wrapper.is-dragging{cursor:grabbing}.portfolio-gallery{display:flex;flex-wrap:nowrap;will-change:transform}.portfolio-card{flex:0 0 auto;width:clamp(300px, 30vw, 420px);min-width:280px;height:auto;aspect-ratio:3 / 4;max-height:450px;background-color:var(--color-light);border-radius:12px;overflow:hidden;position:relative;transition:transform 0.35s cubic-bezier(.4,0,.2,1);margin-right:2rem}.portfolio-card:hover{transform:translateY(-8px) scale(1.03)}.portfolio-card img{width:100%;height:100%;object-fit:cover;display:block;background-color:#ddd}.card-caption{position:absolute;bottom:0;left:0;width:100%;padding:1.5rem 1.2rem 1rem;color:var(--color-text);background-color:#fff0;transition:opacity 0.3s ease,background-color 0.35s ease-out}.card-caption h3{font-family:var(--font-primary);font-size:1.4rem;margin-bottom:.3rem;font-weight:700;opacity:0;transform:translateY(15px);max-height:0;overflow:hidden;transition:opacity 0.35s ease-out,transform 0.35s ease-out,max-height 0.35s ease-out}.portfolio-card:hover .card-caption,.portfolio-card.title-active .card-caption{background-color:rgb(255 255 255 / .85)}.portfolio-card:hover .card-caption h3,.portfolio-card.title-active .card-caption h3{opacity:1;transform:translateY(0);max-height:3em}.card-caption p{display:none}.scroll-animate-item{opacity:0;transform:translateY(30px) scale(.95);transition:opacity 0.6s cubic-bezier(.645,.045,.355,1),transform 0.6s cubic-bezier(.645,.045,.355,1);transition-delay:0s}.scroll-animate-item.is-visible{opacity:1;transform:translateY(0) scale(1)}.services-section{background-color:var(--color-background);padding:0}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:2rem}.service-item{background-color:var(--color-light);padding:2.5rem 2rem;border-radius:8px;box-shadow:0 8px 25px rgb(0 0 0 / .06);text-align:left}.service-item h3{font-family:var(--font-primary);font-size:1.6rem;color:var(--color-accent);margin-bottom:1rem;font-weight:700}.contact-section{background-color:var(--color-primary);color:var(--color-light);padding:var(--section-padding);padding-bottom:8rem}.contact-section .section-title,.contact-section .section-subtitle{color:var(--color-light)}.contact-section .section-subtitle{opacity:.8}.contact-details{margin-top:2rem;font-size:1.1rem}.contact-details p{margin-bottom:1rem}.contact-details strong{font-weight:600}.contact-details p a{color:inherit;text-decoration:none;transition:color 0.3s ease,text-decoration 0.3s ease}.contact-details p a:hover,.contact-details p a:focus{color:var(--color-accent);text-decoration:underline}.contact-buttons-container{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2.5rem;text-align:center}.contact-buttons-container .cta-button{flex:1;white-space:nowrap}#main-footer{background-color:#111;color:#aaa;text-align:center;padding:2rem 0;font-size:.9rem}#main-footer p{margin-bottom:.3rem}@media (max-width:768px){:root{--header-height:70px}.portfolio-gallery{padding:0 1rem;gap:1.5rem}.portfolio-card{width:clamp(260px, 65vw, 380px);aspect-ratio:3 / 3.8;max-height:400px}.hero-content h1{font-size:2.2rem}.hero-content .subtitle-hero{font-size:1rem}.section-title{font-size:1.8rem}.section-subtitle{font-size:1rem;margin-bottom:2.5rem}.approach-text-block{font-size:1rem}.services-grid{grid-template-columns:1fr}.contact-buttons-container{flex-direction:column}.contact-buttons-container .cta-button{width:100%;margin-bottom:.5rem}.contact-buttons-container .cta-button:last-child{margin-bottom:0}.catalog-item:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 10px 20px rgb(0 0 0 / .1)}}.catalogs-section{background-color:var(--color-portfolio-bg)}.catalogs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.5rem;margin-top:2rem}.catalog-item{background-color:var(--color-light);border-radius:12px;box-shadow:0 10px 25px rgb(0 0 0 / .07);overflow:hidden;position:relative;text-decoration:none;display:block;transition:transform 0.35s ease}.catalog-item:hover{transform:translateY(-8px) scale(1.03)}.catalog-item img{width:100%;height:auto;aspect-ratio:210 / 297;object-fit:cover;display:block;background-color:#e0e0e0}.catalog-caption{padding:1rem 1.2rem;text-align:center;background-color:var(--color-light)}.catalog-caption h3{font-family:var(--font-primary);font-size:1.3rem;color:var(--color-primary);margin-bottom:.2rem;font-weight:700}.catalog-item a,.catalog-item a:visited{color:inherit;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-start}.categories-section{background-color:var(--color-background);padding-top:0;padding-bottom:4rem}.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.category-item{background-color:var(--color-light);padding:2rem 1rem;border-radius:8px;box-shadow:0 8px 20px rgb(0 0 0 / .05);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:120px;transition:transform 0.3s ease,box-shadow 0.3s ease}.category-item:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgb(0 0 0 / .08)}.category-item h3{font-family:var(--font-primary);font-size:1.3rem;color:var(--color-accent);margin-bottom:0;font-weight:700;line-height:1.3}@media (max-width:768px){.categories-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.category-item h3{font-size:1.2rem}.category-item{min-height:100px}}@media (max-width:480px){.categories-grid{grid-template-columns:1fr;gap:1rem}.category-item{padding:1.5rem .75rem;min-height:90px}.category-item h3{font-size:1.05rem}}