#scrollUp {
background-image: url(//www.marcodesign.pt/wp-content/plugins/simple-scroll-top-wp/img/top.png);
background-color: #22c55e;
background-repeat: no-repeat;
background-position: center;
background-size: 50%; bottom: 20px;
right: 16px;
width:  50px;
height: 50px;
text-indent: -9999px;
overflow: visible; display: block;
cursor: pointer;
} #sstt-ring-svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: visible; }.cmplz-video.cmplz-iframe-styles{background-color:transparent}.cmplz-video.cmplz-hidden{visibility:hidden !important}.cmplz-blocked-content-notice{display:none}.cmplz-placeholder-parent{height:inherit}.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optin .cmplz-wp-video .cmplz-blocked-content-notice,.cmplz-optout .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optout .cmplz-wp-video .cmplz-blocked-content-notice{display:block}.cmplz-blocked-content-container,.cmplz-wp-video{animation-name:cmplz-fadein;animation-duration:600ms;background:#FFF;border:0;border-radius:3px;box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15);display:flex;justify-content:center;align-items:center;background-repeat:no-repeat !important;background-size:cover !important;height:inherit;position:relative}.cmplz-blocked-content-container.gmw-map-cover,.cmplz-wp-video.gmw-map-cover{max-height:100%;position:absolute}.cmplz-blocked-content-container.cmplz-video-placeholder,.cmplz-wp-video.cmplz-video-placeholder{padding-bottom:initial}.cmplz-blocked-content-container iframe,.cmplz-wp-video iframe{visibility:hidden;max-height:100%;border:0 !important}.cmplz-blocked-content-container .cmplz-custom-accept-btn,.cmplz-wp-video .cmplz-custom-accept-btn{white-space:normal;text-transform:initial;cursor:pointer;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:200px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-custom-accept-btn:focus,.cmplz-wp-video .cmplz-custom-accept-btn:focus{border:1px dotted #cecece}.cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-wp-video .cmplz-blocked-content-notice{white-space:normal;text-transform:initial;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:300px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links{display:block;margin-bottom:10px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links a,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links a{color:#fff}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body{display:block}.cmplz-blocked-content-container div div{display:none}.cmplz-wp-video .cmplz-placeholder-element{width:100%;height:inherit}@keyframes cmplz-fadein{from{opacity:0}to{opacity:1}}div[id^="goog-gt-"],
div[class^="VIpgJd-"],
.goog-te-banner-frame,
#google_translate_element {
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
pointer-events: none !important;
}
body {
top: 0 !important;
}
/ *   C a c h e   b u s t   0 8 / 2 7 / 2 0 2 6   1 9 : 0 9 : 4 1   * /  
 / *   C a c h e   b u s t   0 8 / 2 7 / 2 0 2 6   2 1 : 1 4 : 0 0   * /  
 / *   C a c h e   b u s t   0 8 / 2 7 / 2 0 2 6   2 1 : 1 8 : 4 8   * /  
 / *   C a c h e   b u s t   0 8 / 2 7 / 2 0 2 6   2 1 : 2 2 : 0 0   * /  
 / *   C a c h e   b u s t   2   0 8 / 2 7 / 2 0 2 6   2 1 : 2 2 : 0 8   * /  
 / *   C a c h e   b u s t   3   0 8 / 2 7 / 2 0 2 6   2 1 : 4 5 : 3 8   * /  
 / *   C a c h e   b u s t   0 8 / 2 7 / 2 0 2 6   2 2 : 1 3 : 3 6   * /:root { --bg-dark: #0c0c0c;
--bg-darker: #0c0c0c;
--bg-surface: #0a0a0a;
--bg-card: #111111;
--text-main: #ffffff;
--text-muted: #999999; --glow-color: rgba(144, 238, 144, 0.25); --accent-color: #e0f878;
--accent-hover: #c4db5e;
--border-color: rgba(255, 255, 255, 0.1); --font-main: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; --container-width: 1400px;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scrollbar-width: thin;
scrollbar-color: #333333 #0a0a0a;
} ::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: #0a0a0a;
}
::-webkit-scrollbar-thumb {
background: #333333;
border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
background: #555555;
}
body, body.custom-background {
font-family: 'Inter', sans-serif;
background: radial-gradient(circle at 10% 10%, #202615 0%, #111414 40%, #080808 75%, #050505 100%) fixed !important;
color: var(--text-main);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
overflow-x: hidden; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");
} #page, .site {
background: transparent !important;
background-color: transparent !important;
}
a {
color: var(--text-main);
text-decoration: none;
transition: all 0.3s ease;
} img {
-webkit-user-drag: none;
-khtml-user-drag: none;
-moz-user-drag: none;
-o-user-drag: none;
user-drag: none;
-webkit-touch-callout: none;
} .container, .header-container, .hero-container-fluid {
width: 100%;
max-width: 1500px;
margin: 0 auto;
padding: 0 2rem;
}
.center { text-align: center; } .site-header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
transition: background-color 0.4s ease, border-bottom 0.4s ease;
background-color: transparent;
border-bottom: 1px solid transparent;
} .site-header.scrolled {
background-color: rgba(0, 0, 0, 0.9);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-bottom: 1px solid var(--border-color);
}
.header-container {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 20px;
padding-bottom: 20px;
transition: padding 0.4s ease;
}
.site-header.scrolled .header-container {
padding-top: 10px;
padding-bottom: 10px;
}
.site-logo {
height: 90px;
width: auto;
min-width: 40px;
object-fit: contain;
display: block;
transition: height 0.4s ease;
}
.site-header.scrolled .site-logo {
height: 55px;
}
.header-right {
display: flex;
align-items: center;
gap: 40px;
}
.nav-menu {
display: flex;
list-style: none;
gap: 30px;
}
.nav-menu a {
font-size: 0.75rem;
color: rgba(255, 255, 255, 0.85);
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.15em;
position: relative;
padding-bottom: 6px;
transition: color 0.3s ease;
}
.nav-menu a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0%;
height: 1px;
background-color: var(--accent-color);
transition: width 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.nav-menu a:hover {
color: var(--accent-color);
}
.nav-menu a:hover::after {
width: 100%;
} .nav-menu li.menu-item-has-children {
position: relative;
padding-right: 15px; }
.nav-menu li.menu-item-has-children > a::before {
content: '';
position: absolute;
top: 50%;
right: -15px;
transform: translateY(-50%);
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid var(--accent-color);
transition: all 0.3s ease;
}
.nav-menu li.menu-item-has-children:hover > a::before {
border-top-color: var(--accent-color);
transform: translateY(-50%) rotate(180deg);
}
.nav-menu .sub-menu {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%) translateY(15px);
background: rgba(15, 15, 15, 0.95);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 8px;
padding: 5px 0;
min-width: auto;
list-style: none;
opacity: 0;
visibility: hidden;
transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
box-shadow: 0 10px 30px rgba(0,0,0,0.5);
z-index: 100;
display: flex;
flex-direction: column;
gap: 0;
overflow: hidden;
}
.nav-menu li.menu-item-has-children:hover .sub-menu {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.nav-menu .sub-menu li {
width: 100%;
}
.nav-menu .sub-menu a {
display: block;
padding: 8px 16px;
font-size: 0.75rem;
color: rgba(255,255,255,0.7);
text-transform: uppercase;
letter-spacing: 0.15em;
font-weight: 400;
border-radius: 0;
transition: all 0.2s ease;
white-space: nowrap;
}
.nav-menu .sub-menu a::after {
display: none; }
.nav-menu .sub-menu a:hover {
color: #000;
background: var(--accent-color);
padding-left: 16px;
} .btn-outline-minimal {
border: 1px solid var(--border-color);
padding: 8px 24px;
border-radius: 4px;
font-size: 0.85rem;
color: var(--text-main);
}
.btn-outline-minimal:hover {
background: #fff;
color: #000;
}
.btn-primary-solid {
background-color: var(--accent-color);
color: #000;
border: 1px solid var(--accent-color);
padding: 14px 32px;
border-radius: 100px;
font-weight: 700;
display: inline-flex;
align-items: center;
gap: 12px;
transition: all 0.3s ease;
box-shadow: 0 10px 30px rgba(224, 248, 120, 0.25);
}
.btn-primary-solid:hover {
background-color: #ffffff;
color: #000000;
border-color: #ffffff;
box-shadow: 0 10px 30px rgba(255, 255, 255, 0.25);
transform: translateY(-3px);
}
.btn-primary-solid .arrow {
transition: transform 0.3s ease;
}
.btn-primary-solid:hover .arrow {
transform: translate(3px, -3px);
} .hero-section {
position: relative;
width: 100%;
min-height: 100vh;
padding-top: 150px;
display: flex;
align-items: center;
overflow: hidden;
background: transparent; } .hero-glow-bg {
display: none;
}
.hero-container-fluid {
display: flex;
justify-content: space-between;
align-items: center;
z-index: 2;
}
.hero-content {
flex: 0 0 65%;
max-width: 850px;
padding-bottom: 50px;
margin-left: 0; position: relative;
z-index: 10;
}
.hero-title {
font-size: clamp(2.2rem, 4vw, 4rem);
line-height: 1.2;
font-weight: 700;
margin-bottom: 1.5rem;
letter-spacing: -0.02em;
max-width: 800px;
}
.accent-text {
color: var(--accent-color);
font-style: italic;
font-family: 'Playfair Display', 'Georgia', serif;
font-weight: 500;
letter-spacing: 0.02em;
padding-right: 5px; text-shadow: 0 0 40px rgba(224, 248, 120, 0.4); }
.hero-subtitle {
font-size: 1.15rem;
color: var(--text-muted);
margin-bottom: 3rem;
max-width: 764px;
line-height: 1.7;
} #site-canvas {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 0;
pointer-events: none; filter: blur(1px); 
opacity: 0.8;
} .hero-image-absolute {
position: absolute;
right: 0;
bottom: 0; height: 85vh; max-height: 900px;
display: flex;
align-items: flex-end;
z-index: 2;
}
.profile-pic-edge {
height: 100%;
width: auto;
object-fit: contain;
object-position: right bottom;
-webkit-mask-image: linear-gradient(to right, transparent 0%, black 40%), linear-gradient(to top, transparent 0%, black 25%);
-webkit-mask-composite: source-in;
mask-image: linear-gradient(to right, transparent 0%, black 40%), linear-gradient(to top, transparent 0%, black 25%);
mask-composite: intersect;
}
.container-widescreen {
width: 100%;
max-width: 1750px;
margin: 0 auto;
padding: 0 4%;
} .projects-section {
padding-top: 120px;
padding-bottom: 120px;
position: relative;
z-index: 10;
background: transparent;
} .section-header-watermark {
margin-bottom: 60px;
position: relative;
display: flex;
align-items: center;
padding-top: 40px; }
.watermark-text {
position: absolute;
top: -20px;
left: -10px;
font-size: clamp(3rem, 11vw, 8rem); font-weight: 900;
text-transform: uppercase;
color: transparent;
-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.15); z-index: 0;
pointer-events: none;
line-height: 1;
white-space: nowrap;
user-select: none;
}
.section-title {
font-size: 3.2rem;
font-weight: 700;
letter-spacing: -0.02em;
color: #ffffff;
line-height: 1.1;
margin: 0;
position: relative;
z-index: 1;
}
.projects-premium-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
}
.project-card-premium {
background: #111111;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.05);
overflow: hidden;
display: flex;
flex-direction: column;
transition: transform 0.4s ease, border-color 0.4s ease;
}
.project-card-premium:hover {
transform: translateY(-10px);
border-color: rgba(255, 255, 255, 0.15);
}
.project-card-media {
width: 100%;
aspect-ratio: 16/10;
position: relative;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.project-brand-logo {
color: #fff;
font-size: 2rem;
font-weight: 800;
z-index: 2;
text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.project-card-content {
padding: 30px;
display: flex;
flex-direction: column;
flex: 1;
}
.project-meta {
display: flex;
align-items: center;
gap: 8px;
font-size: 0.85rem;
color: var(--text-muted);
margin-bottom: 15px;
}
.project-title {
font-size: 1.8rem;
font-weight: 700;
margin-bottom: 20px;
color: #fff;
}
.project-tags-premium {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 25px;
}
.project-tags-premium span {
border: 1px solid color-mix(in srgb, var(--card-accent, var(--accent-color)) 30%, transparent);
background: color-mix(in srgb, var(--card-accent, var(--accent-color)) 10%, transparent);
border-radius: 100px;
padding: 6px 14px;
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--card-accent, var(--accent-color));
}
.project-excerpt {
color: var(--text-muted);
font-size: 0.95rem;
line-height: 1.7;
margin-bottom: 40px;
flex: 1;
}
.project-action {
margin-top: auto;
}
.discover-btn {
display: flex;
align-items: center;
gap: 15px;
font-weight: 600;
font-size: 0.95rem;
color: #fff;
}
.discover-icon {
width: 36px;
height: 36px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.3s ease, background-color 0.3s ease;
background-color: var(--card-accent, #fff);
box-shadow: 0 4px 15px color-mix(in srgb, var(--card-accent, #fff) 30%, transparent);
}
.project-card-premium:hover .discover-icon {
transform: scale(1.1);
} .marquee-wrapper {
width: 100%;
overflow: hidden;
padding: 80px 0;
border-top: 1px solid var(--border-color);
border-bottom: 1px solid var(--border-color);
}
.marquee-content {
display: flex;
width: max-content;
animation: scrollMarquee 25s linear infinite;
}
.marquee-content span {
font-size: 4rem;
font-weight: 400;
white-space: nowrap;
padding-right: 2rem;
color: transparent;
-webkit-text-stroke: 1px var(--text-muted);
}
@keyframes scrollMarquee {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
} .services-carousel-section {
padding-top: 120px;
padding-bottom: 120px;
overflow: hidden; }
.services-marquee-wrapper {
width: 100%;
margin-top: 50px;
padding-top: 30px; padding-bottom: 30px;
overflow: hidden; position: relative;
}
.services-slider-container {
position: relative;
display: flex;
align-items: center;
width: 100%;
padding: 0 100px; }
.slider-btn-prev, .slider-btn-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 10;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
color: #fff;
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
backdrop-filter: blur(5px);
}
.slider-btn-prev:hover, .slider-btn-next:hover {
background: var(--accent-color);
color: #000;
border-color: var(--accent-color);
}
.slider-btn-prev {
left: 25px;
}
.slider-btn-next {
right: 25px;
}
@media (max-width: 768px) {
.slider-btn-prev, .slider-btn-next {
display: none !important;
}
.services-slider-container {
padding: 0 15px; }
.services-marquee-wrapper {
scroll-snap-type: x mandatory;
padding: 20px 0;
}
.service-carousel-card {
width: 85vw; max-width: 350px;
scroll-snap-align: center;
scroll-snap-stop: always;
}
}
.services-marquee-track {
display: flex;
gap: 30px;
width: max-content;
} .services-marquee-wrapper::-webkit-scrollbar {
display: none;
}
.services-marquee-wrapper {
-ms-overflow-style: none;
scrollbar-width: none;
overflow-x: auto;
scroll-behavior: smooth;
width: 100%;
padding: 30px 0; cursor: grab;
}
.services-marquee-wrapper:active {
cursor: grabbing;
}
.service-carousel-card {
width: 450px;
height: 500px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.01) 100%);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.03);
border-top: 1px solid rgba(255, 255, 255, 0.15);
border-left: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 20px;
padding: 40px;
display: flex;
flex-direction: column;
justify-content: space-between;
transition: transform 0.4s ease, border-color 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
cursor: pointer;
flex-shrink: 0; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), inset 0 0 20px rgba(255, 255, 255, 0.02);
}
.service-carousel-card:hover {
transform: translateY(-20px);
background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(224, 248, 120, 0.03) 100%);
border-top: 1px solid rgba(224, 248, 120, 0.4);
border-left: 1px solid rgba(224, 248, 120, 0.2);
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5), inset 0 0 30px rgba(224, 248, 120, 0.05);
}
.service-card-num {
font-size: 4.5rem;
font-weight: 800;
color: rgba(255, 255, 255, 0.08); margin-bottom: 20px;
transition: all 0.4s ease;
line-height: 1;
}
.service-carousel-card:hover .service-card-num {
color: var(--accent-color);
}
.service-carousel-card h3 {
font-size: 2.2rem;
color: #fff;
margin-bottom: 20px;
line-height: 1.1;
font-weight: 700;
word-break: normal;
}
.service-carousel-card p {
color: rgba(255, 255, 255, 0.65);
font-size: 1.1rem;
line-height: 1.6;
flex-grow: 1;
}
.service-card-icon {
align-self: flex-end;
width: 60px;
height: 60px;
border-radius: 50%;
background: rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1);
display: flex;
align-items: center;
justify-content: center;
color: var(--accent-color);
transition: all 0.4s ease;
}
.service-card-icon svg {
width: 28px !important;
height: 28px !important;
max-width: 100%;
max-height: 100%;
display: block;
fill: currentColor !important;
}
.service-carousel-card:hover .service-card-icon {
background: var(--accent-color);
color: #000;
border-color: var(--accent-color);
} .service-card-icon svg path,
.service-card-icon svg line,
.service-card-icon svg polyline,
.service-card-icon svg polygon,
.service-card-icon svg rect,
.service-card-icon svg circle {
stroke: currentColor !important;
} .service-card-icon svg:not([fill="none"]) path,
.service-card-icon svg:not([fill="none"]) polygon,
.service-card-icon svg:not([fill="none"]) rect,
.service-card-icon svg:not([fill="none"]) circle,
.service-card-icon svg:not([fill="none"]) polyline,
.service-card-icon svg:not([fill="none"]) line {
fill: currentColor !important;
}
.service-carousel-card:hover .service-card-icon {
background: var(--accent-color);
color: #000;
} .testimonials-clean {
padding-top: 150px;
padding-bottom: 150px;
}
.testimonials-flex {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 50px;
margin-top: 20px;
}
.testi-card {
background: #111111;
padding: 60px 50px;
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.05);
position: relative;
transition: transform 0.4s ease, border-color 0.4s ease;
}
.testi-card:hover {
transform: translateY(-5px);
border-color: rgba(255, 255, 255, 0.15);
}
.testi-card::before {
content: '\"';
position: absolute;
top: 20px;
right: 40px;
font-size: 8rem;
font-family: serif;
color: var(--accent-color);
opacity: 0.1;
line-height: 1;
}
.testi-card p {
font-size: 1.3rem;
line-height: 1.7;
margin-bottom: 40px;
color: #eeeeee;
font-family: 'Inter', sans-serif; font-weight: 300;
font-style: italic;
position: relative;
z-index: 1;
}
.testi-author {
display: flex;
align-items: stretch;
gap: 15px;
margin-top: 20px;
}
.testi-author::before {
content: '';
display: block;
width: 3px;
background: var(--accent-color);
border-radius: 3px;
}
.testi-author-info {
display: flex;
flex-direction: column;
}
.author-name {
font-size: 1.15rem;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.02em;
}
.author-role {
color: var(--accent-color);
font-weight: 500;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-top: 4px;
} .value-prop-section {
padding: 100px 0;
}
.value-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px;
margin-top: 60px;
}
.value-grid {
margin-top: 80px; }
.value-card {
background: radial-gradient(circle at top left, rgba(224, 248, 120, 0.05) 0%, rgba(15, 15, 15, 0.6) 80%);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.05);
border-top: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 16px;
padding: 50px 40px 40px 40px;
position: relative;
transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
display: flex;
flex-direction: column;
}
.value-card:hover {
transform: translateY(-10px);
border-color: rgba(224, 248, 120, 0.3);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), inset 0 0 20px rgba(224, 248, 120, 0.03);
}
.value-icon {
position: absolute;
top: -35px; left: 40px;
width: 70px;
height: 70px;
border-radius: 16px; background: rgba(10, 10, 10, 0.9);
backdrop-filter: blur(5px);
border: 2px solid var(--accent-color);
display: flex;
align-items: center;
justify-content: center;
color: var(--accent-color);
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: 0 15px 25px rgba(0, 0, 0, 0.5), inset 0 0 15px rgba(224, 248, 120, 0.1);
z-index: 2;
}
.value-icon svg {
width: 32px;
height: 32px;
stroke-width: 2;
}
.value-card:hover .value-icon {
transform: translateY(-10px) rotate(5deg);
background: var(--accent-color);
color: #000;
box-shadow: 0 15px 30px rgba(224, 248, 120, 0.3);
}
.value-card h4 {
font-size: 1.6rem;
margin-top: 10px;
margin-bottom: 20px;
color: #ffffff;
font-weight: 700;
line-height: 1.3;
}
.value-card h4::after {
display: none;
}
.value-card p {
color: rgba(255, 255, 255, 0.6);
font-size: 1.05rem;
line-height: 1.6;
}
.value-card p {
color: var(--text-muted);
line-height: 1.6;
font-size: 1.05rem;
position: relative;
z-index: 1;
} .faq-clean-section {
padding-top: 100px;
padding-bottom: 100px;
}
.faq-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
}
.faq-header-content {
position: sticky;
top: 120px;
}
.faq-intro-text {
margin-top: 40px;
color: var(--text-muted);
line-height: 1.8;
font-size: 1.15rem;
}
.faq-intro-text strong {
color: #ffffff;
font-weight: 600;
}
.faq-list {
display: flex;
flex-direction: column;
gap: 20px;
width: 100%;
}
.faq-item {
background: #111111;
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 12px;
overflow: hidden;
transition: background 0.3s ease, border-color 0.3s ease;
}
.faq-item:hover {
border-color: rgba(224, 248, 120, 0.3);
}
.faq-item[open] {
background: rgba(224, 248, 120, 0.02);
border-color: rgba(224, 248, 120, 0.5);
}
.faq-item summary {
padding: 30px;
font-size: 1.3rem;
cursor: pointer;
list-style: none;
position: relative;
font-weight: 500;
transition: color 0.3s ease;
}
.faq-item summary::-webkit-details-marker {
display: none;
}
.faq-item[open] summary {
color: var(--accent-color);
}
.faq-item summary::after {
content: '';
position: absolute;
right: 30px;
top: 50%;
transform: translateY(-50%);
width: 14px;
height: 14px;
border-right: 2px solid var(--text-muted);
border-bottom: 2px solid var(--text-muted);
transform: translateY(-50%) rotate(45deg);
transition: transform 0.4s ease, border-color 0.4s ease;
}
.faq-item[open] summary::after {
transform: translateY(-50%) rotate(-135deg);
border-color: var(--accent-color);
}
.faq-answer {
font-size: 1.05rem;
line-height: 1.7;
padding: 0 30px 30px 30px;
color: var(--text-muted);
animation: fadeInDown 0.4s ease forwards;
}
@keyframes fadeInDown {
from { opacity: 0; transform: translateY(-10px); }
to { opacity: 1; transform: translateY(0); }
} .bottom-cta-clean {
padding-top: 100px;
padding-bottom: 150px;
text-align: center;
}
.cta-banner h2 {
font-size: 3rem;
margin-bottom: 40px;
} .ftshopping-style-footer {
padding-top: 80px;
padding-bottom: 0;
background: #161616;
border-top: 1px solid var(--border-color);
} .footer-top-bar {
margin-bottom: 60px;
}
.contact-blocks {
display: flex;
justify-content: space-between;
gap: 20px;
border-bottom: 1px solid var(--border-color);
padding-bottom: 40px;
}
.c-block {
display: flex;
align-items: center;
gap: 15px;
flex: 1;
}
.c-block svg {
color: var(--accent-color);
}
.c-block div {
display: flex;
flex-direction: column;
}
.c-block strong {
font-size: 1.1rem;
font-weight: 600;
}
.c-block span {
font-size: 0.85rem;
color: var(--text-muted);
} .footer-main-area {
margin-bottom: 50px;
}
.footer-columns {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 40px;
}
.f-col-info {
padding-right: 20px;
}
.footer-logo {
height: 95px;
width: auto;
max-width: 200px;
margin-bottom: 20px;
display: block;
}
.footer-desc {
color: var(--text-muted);
font-size: 0.95rem;
max-width: 350px;
line-height: 1.7;
}
.f-col-links h3 {
font-size: 1.1rem;
margin-bottom: 20px;
font-weight: 600;
}
.f-col-links ul {
list-style: none;
}
.f-col-links ul li {
margin-bottom: 12px;
}
.f-col-links ul a {
color: var(--text-muted);
font-size: 0.9rem;
transition: color 0.3s ease;
}
.f-col-links ul a:hover {
color: var(--text-main);
} .footer-subfooter {
border-top: 1px solid rgba(255, 255, 255, 0.05);
background-color: #030303; padding: 25px 0;
margin-top: 30px;
}
.f-subfooter-flex {
display: flex;
justify-content: space-between;
align-items: center;
}
.f-gtranslate-wrapper {
display: flex;
align-items: center;
gap: 15px;
}
.f-lang-label {
font-size: 0.65rem;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--text-muted);
font-weight: 600;
}
.f-copyright-caps {
font-size: 0.65rem;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--text-muted);
font-weight: 600;
} .f-gtranslate-wrapper a.glink img {
vertical-align: middle;
display: inline;
border: 0;
padding: 0;
margin: 0;
opacity: 0.8;
margin-right: 10px;
}
.back-to-top {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
border: 2px solid #333;
color: #fff;
transition: all 0.3s ease;
background-color: transparent;
}
.back-to-top:hover {
background-color: #fff;
color: #000;
border-color: #fff;
transform: translateY(-3px);
} @media (max-width: 992px) {
.hero-title { font-size: 3.5rem; }
.hero-image-absolute { height: 50vh; position: relative; width: 100%; right: auto; margin-top: 40px; justify-content: flex-end; }
.hero-container-fluid { flex-direction: column; align-items: flex-start; } .hero-content { margin-left: 0; flex: none; max-width: 100%; width: 100%; } .profile-pic-edge { object-position: right bottom; border-radius: 12px; }
} .about-hero-section, .servico-hero-section {
position: relative;
z-index: 1;
padding: 175px 0 120px;
min-height: 50vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
overflow: hidden;
border-bottom: 1px solid var(--border-color);
}
.about-hero-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
.about-hero-image {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.25;
transform: scale(1.05);
}
.about-hero-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom, rgba(10,10,10,0.4) 0%, rgba(10,10,10,1) 100%);
}
.about-hero-content {
position: relative;
z-index: 2;
max-width: 800px;
}
.about-title {
font-size: 4rem;
font-weight: 800;
letter-spacing: -0.03em;
margin-bottom: 20px;
background: linear-gradient(135deg, #ffffff 0%, #888888 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.about-subtitle {
font-size: 0.95rem;
color: var(--accent-color);
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.1em;
}
.about-content-section {
padding: 100px 0;
}
.about-text-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
margin-bottom: 100px;
}
.about-text-block p {
margin-bottom: 25px;
font-size: 1.1rem;
color: var(--text-muted);
line-height: 1.8;
}
.about-text-block .lead-text {
font-size: 1.1rem;
color: var(--text-main);
font-family: 'Inter', sans-serif; font-weight: 300;
line-height: 1.6;
margin-bottom: 35px;
}
.about-ai-section {
margin-top: 50px;
border-top: 1px solid var(--border-color);
padding-top: 100px;
}
.ai-intro {
max-width: 700px;
margin-bottom: 60px;
font-size: 1.15rem;
color: var(--text-muted);
}
.ai-cards-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-bottom: 60px;
}
.ai-card {
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.05);
padding: 40px;
border-radius: 12px;
transition: transform 0.4s ease, border-color 0.4s ease, background 0.4s ease;
position: relative;
overflow: hidden;
}
.ai-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle at top right, rgba(224, 248, 120, 0.05) 0%, transparent 70%);
opacity: 0;
transition: opacity 0.4s ease;
}
.ai-card:hover {
transform: translateY(-10px);
border-color: rgba(224, 248, 120, 0.2);
background: rgba(255, 255, 255, 0.03);
}
.ai-card:hover::before {
opacity: 1;
}
.ai-card-icon {
width: 60px;
height: 60px;
background: rgba(224, 248, 120, 0.1);
color: var(--accent-color);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 25px;
transition: transform 0.4s ease;
}
.ai-card:hover .ai-card-icon {
transform: scale(1.1) rotate(5deg);
}
.ai-card h3 {
font-size: 1.4rem;
color: var(--text-main);
margin-bottom: 15px;
}
.ai-card p {
color: var(--text-muted);
font-size: 0.95rem;
line-height: 1.6;
}
.ai-conclusion {
background: rgba(224, 248, 120, 0.03);
border-left: 3px solid var(--accent-color);
padding: 40px;
max-width: 800px;
border-radius: 0 12px 12px 0;
}
.ai-conclusion p {
font-size: 1.15rem;
color: var(--text-main);
font-weight: 500;
line-height: 1.6;
margin: 0;
}
@media (max-width: 1024px) {
.projects-premium-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.container, .container-widescreen, .header-container, .hero-container-fluid { padding: 0 1.5rem; }
.header-container { padding-top: 15px; padding-bottom: 15px; }
.site-logo { height: 45px; } .nav-menu { display: none; }
.hero-section { padding-top: 120px; }
.hero-title { font-size: 2.5rem; line-height: 1.2; word-break: break-word; } .hero-subtitle { font-size: 1rem; }
.hero-image-absolute { height: 45vh; min-height: 300px; }
.marquee-content span { font-size: 2.5rem; }
.service-carousel-card {
height: auto;
padding: 30px;
}
.service-card-num { font-size: 3rem; }
.service-carousel-card h3 { font-size: 2rem; }
.projects-premium-grid { grid-template-columns: 1fr; }
.value-grid { grid-template-columns: 1fr; gap: 30px; }
.value-card { padding: 40px 30px; }
.faq-clean-section { padding-top: 40px; margin-top: 40px; }
.section-header-watermark { padding-top: 40px; }
.watermark-text { font-size: 13vw; top: 0; left: 0; width: 100%; text-align: left; }
.faq-layout { grid-template-columns: 1fr; gap: 40px; }
.faq-header-content { position: relative; top: 0; }
.bottom-cta-clean { padding-top: 80px !important; padding-bottom: 100px !important; }
.cta-banner h2 { font-size: 2.2rem; margin-bottom: 30px; }
.faq-header-content { position: relative; top: 0; }
.footer-columns { grid-template-columns: 1fr; gap: 30px; }
.f-bottom-flex { flex-direction: column; gap: 20px; text-align: center; }
.f-subfooter-flex { flex-direction: column; gap: 20px; text-align: center; }
.contact-blocks { flex-direction: column; gap: 30px; text-align: left; } .about-title { font-size: 2.5rem; }
.about-subtitle { font-size: 1rem; }
.about-hero-section { padding: 140px 0 80px; min-height: 40vh; }
.about-text-grid, .ai-cards-grid { grid-template-columns: 1fr; gap: 40px; }
.about-text-block .lead-text { font-size: 1.25rem; }
.ai-conclusion { padding: 30px 20px; }
.c-block { justify-content: flex-start; }
}
@media (max-width: 480px) {
.hero-title { font-size: 2.2rem; }
.section-title { font-size: 2rem; }
} .reveal {
opacity: 0;
transform: translateY(60px);
transition: opacity 1.2s cubic-bezier(0.2, 0.8, 0.2, 1), transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
will-change: transform, opacity;
}
.reveal.active {
opacity: 1;
transform: translateY(0);
}
.reveal.left { transform: translateX(-60px); }
.reveal.left.active { transform: translateX(0); }
.reveal.right { transform: translateX(60px); }
.reveal.right.active { transform: translateX(0); }
.reveal-delay-1 { transition-delay: 0.15s; }
.reveal-delay-2 { transition-delay: 0.3s; }
.reveal-delay-3 { transition-delay: 0.45s; } #cmplz-manage-consent .cmplz-manage-consent,
.cc-revoke,
.cmplz-manage-consent {
display: none !important;
} .archive-projetos {
padding-top: 150px;
padding-bottom: 100px;
min-height: 100vh;
}
.archive-projetos-header {
margin-bottom: 80px;
}
.archive-title {
font-size: clamp(2.5rem, 5vw, 4.5rem);
font-weight: 800;
margin-bottom: 40px;
letter-spacing: -0.02em;
color: #fff;
}
.archive-filters {
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;
margin-bottom: 60px;
}
.filter-group {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.filter-group label {
font-size: 0.95rem;
color: rgba(255,255,255,0.4);
font-weight: 400;
text-transform: none;
letter-spacing: 0;
margin-left: 10px;
}
.filter-btn-all {
background-color: var(--accent-color);
color: #000;
border: 1px solid var(--accent-color);
border-radius: 30px;
padding: 12px 25px;
font-size: 1rem;
font-family: var(--font-main);
font-weight: 700;
cursor: pointer;
min-width: 150px;
transition: all 0.3s ease;
}
.filter-btn-all:hover {
background-color: transparent;
color: var(--accent-color);
}
.custom-select {
appearance: none;
background-color: #111;
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 30px;
color: #fff;
padding: 12px 40px 12px 20px;
font-size: 1rem;
font-weight: 600;
font-family: var(--font-main);
cursor: pointer;
min-width: 220px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 15px center;
transition: all 0.3s ease;
}
.select-border-1 { border-color: #ffaa00; }
.select-border-2 { border-color: #ff3366; }
.select-border-3 { border-color: #3399ff; }
.custom-select:focus {
outline: none;
box-shadow: 0 0 10px rgba(255,255,255,0.1);
}
.custom-select option {
background-color: #111;
color: #fff;
}
.load-more-container {
margin-top: 80px;
}
.bottom-cta-darker {
background: transparent;
}
#projetos-grid {
transition: opacity 0.3s ease;
} .service-hero-section {
position: relative;
padding: 180px 20px 100px;
background: linear-gradient(135deg, #3a0088 0%, #200055 100%);
color: #fff;
text-align: center;
overflow: hidden;
}
.service-hero-bg {
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
background-image: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.05) 1px, transparent 1px), radial-gradient(circle at 80% 70%, rgba(255,255,255,0.05) 1px, transparent 1px);
background-size: 50px 50px;
z-index: 0;
}
.service-hero-content {
position: relative;
z-index: 1;
max-width: 900px;
}
.hero-pill {
display: inline-block;
background: rgba(0,0,0,0.4);
border: 1px solid rgba(255,255,255,0.1);
border-radius: 30px;
padding: 8px 24px;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 20px;
}
.service-hero-title {
font-size: clamp(3rem, 6vw, 4.5rem);
margin-bottom: 20px;
font-weight: 700;
}
.service-hero-subtitle {
font-size: 1.1rem;
line-height: 1.8;
color: rgba(255,255,255,0.8);
margin-bottom: 40px;
}
.btn-cyan {
background: #00e5ff;
color: #000;
padding: 12px 35px;
border-radius: 30px;
font-weight: 700;
text-transform: uppercase;
transition: all 0.3s ease;
display: inline-block;
}
.btn-cyan:hover {
background: #fff;
transform: translateY(-2px);
} .split-layout-section {
display: flex;
flex-wrap: wrap;
background: transparent;
color: #fff;
}
.split-layout-section.reversed {
flex-direction: row-reverse;
}
.split-content {
flex: 0 0 50%;
max-width: 50%;
padding: 80px 10%;
display: flex;
flex-direction: column;
justify-content: center;
}
.split-image {
flex: 0 0 50%;
max-width: 50%;
min-height: 400px;
}
.image-placeholder {
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
}
.bg-light { background-color: #111; }
.split-title {
color: #fff;
font-size: 2.5rem;
margin-bottom: 10px;
}
.split-subtitle {
color: var(--accent-color);
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 30px;
}
.split-desc {
font-size: 1.1rem;
line-height: 1.7;
margin-bottom: 40px;
color: #ddd;
}
.highlight-accent {
color: var(--accent-color);
font-weight: 600;
} .feature-icon-list {
list-style: none;
padding: 0;
margin: 0;
}
.feature-icon-list li {
display: flex;
align-items: flex-start;
gap: 20px;
margin-bottom: 30px;
}
.list-icon {
flex-shrink: 0;
width: 48px;
height: 48px;
background: rgba(224, 248, 120, 0.05); border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
}
.list-content {
font-size: 0.95rem;
line-height: 1.6;
color: #ccc;
}
@media (max-width: 992px) {
.split-content, .split-image {
flex: 1 1 100%;
max-width: 100%;
}
.split-content { padding: 50px 20px; }
.split-image { min-height: 300px; }
} .page-calculadora .calc-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 15px;
padding: 30px 20px;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
height: 100%;
display: flex;
flex-direction: column;
}
.page-calculadora .calc-card:hover {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(255, 255, 255, 0.2);
transform: translateY(-5px);
}
.page-calculadora .calc-card.active {
background: rgba(224, 248, 120, 0.05);
border-color: var(--accent-color);
}
.page-calculadora .calc-card.active::before {
content: "\2713"; position: absolute;
top: 15px;
right: 15px;
background: var(--accent-color);
color: #000;
width: 24px;
height: 24px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.8rem;
font-weight: bold;
}
.page-calculadora .calc-card h4 {
font-size: 1.1rem;
color: #fff;
margin-bottom: 15px;
padding-right: 25px; }
.page-calculadora .calc-card p {
font-size: 0.9rem;
color: var(--text-muted);
margin-bottom: 25px;
line-height: 1.5;
flex-grow: 1;
}
.page-calculadora .price-tag {
font-size: 1.2rem;
font-weight: 700;
color: var(--accent-color);
margin-top: auto;
}
#calc-summary-list li {
display: flex;
justify-content: space-between;
margin-bottom: 12px;
}
#calc-summary-list li span:last-child {
color: #fff;
font-weight: 500;
}
@media (max-width: 992px) {
.calculator-section .container {
flex-direction: column;
}
.calc-summary-col {
width: 100%;
position: static;
margin-top: 50px;
}
} .range-slider-wrapper input[type=range] {
-webkit-appearance: none;
appearance: none;
width: 100%;
background: transparent;
}
.range-slider-wrapper input[type=range]:focus {
outline: none;
} .range-slider-wrapper input[type=range]::-webkit-slider-runnable-track {
width: 100%;
height: 6px;
cursor: pointer;
background: rgba(255, 255, 255, 0.1);
border-radius: 3px;
}
.range-slider-wrapper input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
height: 28px;
width: 28px;
border-radius: 50%;
background: var(--accent-color);
cursor: pointer;
margin-top: -11px;
box-shadow: 0 0 15px rgba(224, 248, 120, 0.4);
border: 4px solid #111;
transition: transform 0.2s ease;
}
.range-slider-wrapper input[type=range]::-webkit-slider-thumb:hover {
transform: scale(1.1);
} .range-slider-wrapper input[type=range]::-moz-range-track {
width: 100%;
height: 6px;
cursor: pointer;
background: rgba(255, 255, 255, 0.1);
border-radius: 3px;
border: none;
}
.range-slider-wrapper input[type=range]::-moz-range-thumb {
height: 20px;
width: 20px;
border-radius: 50%;
background: var(--accent-color);
cursor: pointer;
box-shadow: 0 0 15px rgba(224, 248, 120, 0.4);
border: 4px solid #111;
transition: transform 0.2s ease;
}
.range-slider-wrapper input[type=range]::-moz-range-thumb:hover {
transform: scale(1.1);
} .btn-header {
background-color: var(--accent-color);
color: #000 !important;
padding: 10px 24px;
border-radius: 4px;
font-size: 0.95rem;
font-weight: 700;
transition: all 0.3s ease;
border: none;
display: inline-flex;
align-items: center;
justify-content: center;
}
.btn-header:hover {
background-color: #fff;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(224, 248, 120, 0.3);
} .mobile-menu-toggle {
display: none;
background: none;
border: none;
color: #fff;
cursor: pointer;
padding: 5px;
margin-left: 15px;
}
@media (max-width: 992px) {
.mobile-menu-toggle {
display: flex;
align-items: center;
justify-content: center;
}
.main-navigation {
position: fixed;
top: 80px; left: 0;
width: 100%;
height: calc(100vh - 80px); background: rgba(10, 10, 10, 0.98); backdrop-filter: blur(15px); border-bottom: 1px solid rgba(255,255,255,0.05);
display: flex;
flex-direction: column;
justify-content: center; align-items: center;
clip-path: circle(0% at top right);
transition: clip-path 0.5s cubic-bezier(0.86, 0, 0.07, 1);
z-index: 999;
}
.main-navigation.is-open {
clip-path: circle(150% at top right);
}
.main-navigation > div { width: 100%;
display: flex;
justify-content: center;
}
.main-navigation .nav-menu {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
margin-top: -60px !important;
height: auto !important;
gap: 15px !important;
}
.main-navigation .nav-menu li {
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
text-align: center !important;
list-style: none !important;
height: auto !important;
line-height: 1.2 !important;
}
.main-navigation .nav-menu li a {
font-size: 1.3rem !important;
font-weight: 600 !important;
display: inline-block !important;
padding: 5px 10px !important;
text-transform: none !important;
letter-spacing: 0px !important;
color: #fff !important;
} .main-navigation .nav-menu .sub-menu {
position: static !important;
display: none !important;
background: none !important;
border: none !important;
box-shadow: none !important;
width: 100% !important;
padding: 0 !important;
margin-top: 10px !important;
opacity: 1 !important;
visibility: visible !important;
transform: none !important;
left: auto !important;
top: auto !important;
}
.main-navigation .nav-menu li:hover .sub-menu, 
.main-navigation .nav-menu li.open .sub-menu {
display: block !important;
}
.main-navigation .nav-menu .sub-menu li a {
font-size: 1rem !important;
color: rgba(255,255,255,0.6) !important;
padding: 5px !important;
}
} @media (max-width: 992px) {
.split-layout-section {
flex-direction: column !important;
}
.split-content, .split-image {
flex: 0 0 100% !important;
max-width: 100% !important;
width: 100% !important;
padding: 40px 20px !important;
}
.split-image .image-placeholder {
min-height: 250px;
}
.main-navigation .nav-menu .sub-menu li a:hover,
.main-navigation .nav-menu .sub-menu li a:active {
color: #000 !important;
background: var(--accent-color) !important;
}
} @media (max-width: 992px) {
.header-right {
gap: 10px !important;
}
.header-action .btn-header {
padding: 6px 12px !important;
font-size: 0.85rem !important;
}
.site-logo {
min-width: 120px !important;
height: 35px !important;
}
.mobile-menu-toggle {
margin-left: 5px !important;
}
} @media (max-width: 992px) {
.mobile-menu-toggle {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
color: #fff !important;
z-index: 10000 !important;
}
.header-right {
flex-wrap: nowrap !important;
overflow: visible !important;
}
} @media (max-width: 500px) {
.site-logo {
min-width: unset !important;
max-width: 120px !important;
}
.header-action .btn-header {
padding: 5px 8px !important;
font-size: 0.75rem !important;
letter-spacing: 0 !important;
}
.header-right {
gap: 5px !important;
}
.header-container {
padding: 0 10px !important;
}
} .mobile-menu-toggle svg {
stroke: #ffffff !important;
width: 28px !important;
height: 28px !important;
display: block !important;
}
.site-header {
transform: translateZ(0);
-webkit-transform: translateZ(0);
}
.mobile-menu-toggle {
transform: translateZ(0);
-webkit-transform: translateZ(0);
pointer-events: auto !important;
} @media (max-width: 992px) {
.site-header {
position: fixed !important;
}
.header-container {
position: relative !important;
}
.mobile-menu-toggle {
position: absolute !important;
right: 15px !important;
top: 50% !important;
transform: translateY(-50%) !important;
-webkit-transform: translateY(-50%) !important;
margin: 0 !important;
background: rgba(0,0,0,0.5) !important; border-radius: 5px !important;
padding: 5px !important;
}
.header-right {
padding-right: 50px !important; }
} @media (min-width: 1400px) {
.hero-content {
margin-left: 30px;
}
}
@media (min-width: 1600px) {
.hero-content {
margin-left: 30px;
}
} .nav-menu .sub-menu a {
padding: 10px 20px !important;
font-family: 'Inter', sans-serif !important;
font-weight: 400 !important;
font-size: 0.75rem !important;
text-transform: uppercase !important;
letter-spacing: 0.15em !important;
line-height: 1.4 !important;
} .contact-hero {
background-image: linear-gradient(180deg, rgba(10, 10, 10, 0.4) 0%, rgba(10, 10, 10, 1) 100%);
}
.contact-info-wrapper h2 {
font-size: 2rem;
font-weight: 700;
margin-bottom: 40px;
}
.contact-form-wrapper {
background: #111;
border: 1px solid rgba(255, 255, 255, 0.05);
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}
.contact-form-wrapper input[type="text"],
.contact-form-wrapper input[type="email"],
.contact-form-wrapper textarea {
width: 100%;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 10px;
padding: 15px;
color: #fff;
margin-bottom: 5px;
font-family: 'Inter', sans-serif;
transition: all 0.3s ease;
}
.contact-form-wrapper input:focus,
.contact-form-wrapper textarea:focus {
border-color: var(--accent-color);
outline: none;
}
.contact-form-wrapper input[type="submit"],
.contact-form-wrapper button[type="submit"] {
background: var(--accent-color);
color: #0a0a0a;
font-weight: 700;
padding: 15px 30px;
border: none;
border-radius: 30px;
cursor: pointer;
transition: transform 0.3s ease, box-shadow 0.3s ease;
text-transform: uppercase;
font-size: 0.9rem;
}
.contact-form-wrapper input[type="submit"]:hover,
.contact-form-wrapper button[type="submit"]:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(224, 248, 120, 0.3);
}
@media (max-width: 992px) {
.contact-grid {
grid-template-columns: 1fr !important;
gap: 50px !important;
}
} .split-desc p {
margin-bottom: 20px;
}
.split-desc p:last-child {
margin-bottom: 0;
}
.split-desc ul, .split-desc ol {
margin-bottom: 20px;
padding-left: 20px;
}
.split-desc li {
margin-bottom: 10px;
} .project-single-main {
padding-top: 120px;
}
.project-header {
margin-bottom: 60px;
}
.project-header-top {
max-width: 1000px;
margin: 0 0 60px 0;
text-align: left;
}
.project-back-container {
margin-bottom: 40px;
}
.project-back-btn {
display: inline-flex;
align-items: center;
gap: 15px;
color: var(--text-muted, #a0a0a0);
text-decoration: none;
font-size: 0.9rem;
transition: color 0.3s;
}
.project-back-btn:hover {
color: #fff;
}
.back-icon-circle {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
background-color: #d1ff4c;
transition: transform 0.3s;
}
.project-back-btn:hover .back-icon-circle {
transform: translateX(-5px);
}
.project-header .project-title {
font-size: 6rem;
font-weight: 900;
font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
margin: 0 0 30px 0;
padding: 0;
text-align: left;
color: #ffffff;
line-height: 0.95;
text-transform: uppercase;
letter-spacing: -0.02em;
background: none;
-webkit-text-fill-color: initial;
}
.project-header .project-meta-bar {
display: flex;
justify-content: space-between;
align-items: flex-end;
border-top: none;
padding-top: 20px;
margin-bottom: 60px;
}
.meta-groups {
display: flex;
gap: 60px;
flex-wrap: wrap;
}
.meta-group {
display: flex;
flex-direction: column;
gap: 15px;
}
.meta-label {
font-size: 0.75rem;
color: #ffffff;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: 700;
}
.meta-pills {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.meta-pill {
font-size: 0.85rem;
padding: 6px 14px;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.2);
color: #ffffff;
background: transparent;
transition: all 0.3s ease;
}
.meta-pill:hover {
border-color: var(--accent-color);
color: var(--accent-color);
}
.project-visit-btn {
border-radius: 30px !important;
padding: 12px 30px !important;
display: inline-flex !important;
align-items: center;
gap: 10px;
font-size: 0.9rem !important;
}
.project-hero-image {
margin-bottom: 80px;
border-radius: 20px;
overflow: hidden;
}
.featured-hero-img {
width: 100%;
height: auto;
display: block;
border-radius: 20px;
}
.project-body-content { width: 100%;
font-size: 1.15rem;
line-height: 1.8;
color: #cccccc;
padding-bottom: 100px;
}
.project-body-content h2, 
.project-body-content h3 {
color: #ffffff;
margin-top: 60px;
margin-bottom: 30px;
font-weight: 700;
}
.project-body-content h2 {
font-size: 2.5rem;
}
.project-body-content h3 {
font-size: 1.8rem;
}
.project-body-content img {
max-width: 100%;
height: auto;
border-radius: 12px;
margin: 40px 0;
} .similar-projects-section {
padding-top: 80px;
border-top: 1px solid rgba(255, 255, 255, 0.05);
}
@media (max-width: 992px) {
.project-header .project-title {
font-size: 2.2rem;
}
.project-meta-bar {
flex-direction: column;
align-items: flex-start;
}
} .project-body-content .img-full-width {
width: 100%;
height: auto;
border-radius: 12px;
margin: 40px 0;
display: block;
}
.project-body-content .img-grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
margin: 40px 0;
}
.project-body-content .img-grid-2 img {
width: 100%;
height: auto;
border-radius: 12px;
margin: 0; }
.project-body-content .text-split {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
margin: 60px 0;
align-items: start;
}
.project-body-content .text-split-title {
font-size: 1.5rem;
font-weight: 700;
color: #fff;
margin: 0;
}
@media (max-width: 768px) {
.project-body-content .img-grid-2,
.project-body-content .text-split {
grid-template-columns: 1fr;
gap: 20px;
}
}  .project-body-content {
padding-top: 10px;
padding-bottom: 120px;
}
.project-body-content p, 
.project-body-content ul, 
.project-body-content ol {
max-width: 800px;
margin-left: auto !important;
margin-right: auto !important;
font-size: 1.15rem;
line-height: 1.8;
color: #a0a0a0;
font-weight: 300;
}
.project-body-content p {
margin-bottom: 2rem;
} .project-body-content h1,
.project-body-content h2, 
.project-body-content h3,
.project-body-content h4 {
max-width: 800px;
margin-left: auto !important;
margin-right: auto !important;
color: #ffffff;
text-align: left;
}
.project-body-content h2 {
font-size: 1.2rem;
margin-top: 100px;
margin-bottom: 30px;
text-transform: uppercase;
letter-spacing: 4px;
color: #e0f878; font-weight: 700;
}
.project-body-content h3 {
font-size: 2rem;
margin-top: 80px;
margin-bottom: 30px;
font-weight: 400;
letter-spacing: -1px;
} .project-body-content .wp-block-image,
.project-body-content figure {
max-width: 1200px;
margin: 80px auto;
text-align: center;
}
.project-body-content img {
border-radius: 20px;
box-shadow: 0 30px 60px rgba(0,0,0,0.6);
display: inline-block;
width: 100%;
max-width: 1200px;
height: auto;
} .project-body-content .wp-block-gallery,
.project-body-content .img-grid-2 {
max-width: 1200px;
margin: 80px auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
}
.project-body-content .wp-block-gallery img,
.project-body-content .img-grid-2 img {
margin: 0;
} .project-body-content blockquote,
.project-body-content .wp-block-quote {
max-width: 800px;
margin: 100px auto;
padding: 60px;
background: rgba(30, 30, 30, 0.4);
border-radius: 20px;
border: 1px solid rgba(255,255,255,0.05);
border-left: 4px solid #e0f878;
position: relative;
}
.project-body-content blockquote::before {
content: \"“\";
position: absolute;
top: -10px;
left: 20px;
font-size: 8rem;
color: rgba(224, 248, 120, 0.05);
font-family: Georgia, serif;
line-height: 1;
}
.project-body-content blockquote p {
font-size: 1.4rem;
font-style: italic;
color: #ffffff;
line-height: 1.6;
margin-bottom: 20px;
position: relative;
z-index: 2;
max-width: 100%;
}
.project-body-content blockquote cite {
font-size: 0.9rem;
color: #e0f878;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 700;
display: block;
margin-top: 30px;
position: relative;
z-index: 2;
} @media (max-width: 768px) {
.project-body-content .wp-block-gallery,
.project-body-content .img-grid-2 {
grid-template-columns: 1fr;
gap: 20px;
}
.project-body-content blockquote,
.project-body-content .wp-block-quote {
padding: 40px 30px;
}
}
@keyframes fadeInUpTheme { from { opacity: 0; transform: translateY(60px); } to { opacity: 1; transform: translateY(0); } } .page-content .pagelayer-wow { animation-name: fadeInUpTheme !important; }
.page-content .pagelayer-row-stretch-full { width: 100% !important; max-width: 100% !important; margin: 0 auto !important; left: 0 !important; right: 0 !important; }
.page-content .reveal { transform: translateY(60px) !important; } .page-content .reveal.active { transform: translateY(0) !important; }
.page-content .reveal.left, .page-content .reveal.right { transform: translateY(60px) !important; } .page-content .reveal.left.active, .page-content .reveal.right.active { transform: translateY(0) !important; }
.page-content * { animation: none !important; transition: none !important; transform: none !important; }.react-calculadora{display:flex;gap:60px;max-width:1350px;margin:0 auto;align-items:flex-start}.react-calculadora .calc-main{flex:1}.react-calculadora .calc-category{margin-bottom:50px}.react-calculadora .calc-category h3{font-size:1.75rem;margin-bottom:10px}.react-calculadora .calc-category .subtitle{color:#888;margin-bottom:20px}.react-calculadora .calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.react-calculadora .calc-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:15px;padding:25px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column}.react-calculadora .calc-card:hover{border-color:#e0f8784d;transform:translateY(-5px)}.react-calculadora .calc-card.active{border-color:#e0f878;background:#e0f8780d;box-shadow:0 10px 30px #e0f8781a}.react-calculadora .calc-card h4{font-size:1.2rem;margin-top:0;margin-bottom:15px}.react-calculadora .calc-card p{color:#888;font-size:.9rem;flex-grow:1}.react-calculadora .calc-card .footer-info{display:flex;justify-content:space-between;align-items:flex-end;margin-top:20px;font-size:.85rem}.react-calculadora .calc-card .footer-info .price-tag{color:#e0f878;font-weight:700;font-size:1rem}.react-calculadora .calc-slider{background:#ffffff05;padding:30px;border-radius:15px;border:1px solid rgba(255,255,255,.05);margin-bottom:50px}.react-calculadora .calc-slider .slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.react-calculadora .calc-slider .slider-header h3{margin:0}.react-calculadora .calc-slider .slider-header .slider-val{font-size:2.5rem;color:#e0f878;font-weight:700}.react-calculadora .calc-slider input[type=range]{width:100%;accent-color:#E0F878}.react-calculadora .calc-sidebar{flex:0 0 350px;position:sticky;top:120px}.react-calculadora .calc-sidebar .summary-box{background:#111;padding:30px;border-radius:20px;border:1px solid rgba(255,255,255,.05)}.react-calculadora .calc-sidebar .summary-box h3{margin-top:0;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:15px}.react-calculadora .calc-sidebar .summary-box ul{list-style:none;padding:0;margin:20px 0;color:#888;font-size:.95rem}.react-calculadora .calc-sidebar .summary-box ul li{display:flex;justify-content:space-between;margin-bottom:10px}.react-calculadora .calc-sidebar .summary-box ul li .price{color:#fff}.react-calculadora .calc-sidebar .summary-box .total-section{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-bottom:30px}.react-calculadora .calc-sidebar .summary-box .total-section .label{display:block;color:#888;font-size:.9rem}.react-calculadora .calc-sidebar .summary-box .total-section .total-price{font-size:2.5rem;color:#e0f878;font-weight:700;display:block;margin:5px 0 15px}.react-calculadora .calc-sidebar .summary-box .total-section .total-hours{color:#fff;font-size:.95rem;margin-bottom:15px}.react-calculadora .calc-sidebar .summary-box .total-section .total-hours span{color:#888}.react-calculadora .calc-sidebar .summary-box .total-section .disclaimer{font-size:.8rem;color:#fff6;line-height:1.5}.react-calculadora .calc-sidebar .summary-box .submit-btn{width:100%;background:#e0f878;color:#000;padding:15px;border-radius:30px;font-weight:700;text-transform:uppercase;border:none;cursor:pointer;transition:transform .2s}.react-calculadora .calc-sidebar .summary-box .submit-btn:hover{transform:translateY(-2px)}@media (max-width: 992px){.react-calculadora{flex-direction:column}.react-calculadora .calc-sidebar{width:100%;position:static;flex:none}}.react-contact-form form{display:flex;flex-direction:column;gap:20px}.react-contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.react-contact-form .form-group{display:flex;flex-direction:column;gap:8px}.react-contact-form .form-group label{color:#fff;font-size:.9rem;font-weight:500}.react-contact-form .form-group label .req{color:#e0f878}.react-contact-form .form-group input,.react-contact-form .form-group textarea{background:transparent;border:1px solid rgba(255,255,255,.1);padding:15px;border-radius:8px;color:#fff;font-family:inherit;transition:border-color .3s,box-shadow .3s}.react-contact-form .form-group input:focus,.react-contact-form .form-group textarea:focus{outline:none;border-color:#e0f878;box-shadow:0 0 0 2px #e0f87833}.react-contact-form .form-group input::placeholder,.react-contact-form .form-group textarea::placeholder{color:#ffffff4d}.react-contact-form .form-group input.has-error,.react-contact-form .form-group textarea.has-error{border-color:#ff4d4f;background:#ff4d4f0d}.react-contact-form .form-group textarea{resize:vertical}.react-contact-form .form-group .error-text{color:#ff4d4f;font-size:.8rem;margin-top:2px}.react-contact-form .form-submit{margin-top:10px}.react-contact-form .form-submit button{background:#e0f878;color:#000;border:none;padding:16px 32px;border-radius:30px;font-weight:700;text-transform:uppercase;font-size:.9rem;cursor:pointer;transition:transform .2s,opacity .2s}.react-contact-form .form-submit button:hover{transform:translateY(-2px)}.react-contact-form .form-submit button:disabled{opacity:.7;cursor:not-allowed;transform:none}.react-contact-form .status-message{padding:15px;border-radius:8px;margin-top:15px;font-size:.9rem}.react-contact-form .status-message.success{background:#e0f8781a;border:1px solid rgba(224,248,120,.2);color:#e0f878}.react-contact-form .status-message.error{background:#ff4d4f1a;border:1px solid rgba(255,77,79,.2);color:#ff4d4f}@media (max-width: 600px){.react-contact-form .form-row{grid-template-columns:1fr}}.react-portfolio .portfolio-filters-header{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:50px;justify-content:center;background:#ffffff05;padding:20px 30px;border-radius:15px;border:1px solid rgba(255,255,255,.05)}.react-portfolio .portfolio-filters-header .filter-group{display:flex;flex-direction:column;gap:8px;min-width:200px}.react-portfolio .portfolio-filters-header .filter-group label{font-size:.85rem;color:#888;text-transform:uppercase;letter-spacing:1px}.react-portfolio .portfolio-filters-header .filter-group select{background:transparent;border:1px solid rgba(255,255,255,.1);color:#fff;padding:12px 15px;border-radius:8px;font-family:inherit;cursor:pointer;transition:border-color .3s}.react-portfolio .portfolio-filters-header .filter-group select:focus{outline:none;border-color:#e0f878}.react-portfolio .portfolio-filters-header .filter-group select option{background:#111;color:#fff}.react-portfolio .portfolio-filters-header .filter-group button{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 20px;border-radius:8px;cursor:pointer;transition:all .3s}.react-portfolio .portfolio-filters-header .filter-group button:hover{background:#e0f8781a;border-color:#e0f878;color:#e0f878}.react-portfolio .portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:40px}.react-portfolio .portfolio-card{display:block;text-decoration:none;color:inherit;border-radius:20px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.05);transition:transform .3s ease,border-color .3s ease,box-shadow .3s}.react-portfolio .portfolio-card:hover{transform:translateY(-5px);border-color:#ffffff26;box-shadow:0 15px 30px #00000080}.react-portfolio .portfolio-card:hover .card-image img{transform:scale(1.05)}.react-portfolio .portfolio-card:hover .overlay{opacity:1}.react-portfolio .portfolio-card .card-image{position:relative;height:280px;overflow:hidden}.react-portfolio .portfolio-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.react-portfolio .portfolio-card .card-image .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.react-portfolio .portfolio-card .card-image .overlay span{padding:10px 20px;border-radius:30px;font-weight:600;font-size:.9rem;transform:translateY(10px);transition:transform .3s ease}.react-portfolio .portfolio-card:hover .overlay span{transform:translateY(0)}.react-portfolio .portfolio-card .card-content{padding:25px}.react-portfolio .portfolio-card .card-content .subtitle{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.react-portfolio .portfolio-card .card-content h3{margin:0;font-size:1.4rem;color:#fff}.react-portfolio .no-results{grid-column:1/-1;text-align:center;padding:50px;color:#888;background:#ffffff05;border-radius:12px}.react-portfolio .load-more-container{margin-top:50px;text-align:center}.react-portfolio .load-more-container .load-more-btn{background:transparent;color:#888;border:1px solid rgba(255,255,255,.2);padding:12px 30px;border-radius:30px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;cursor:pointer;transition:all .3s}.react-portfolio .load-more-container .load-more-btn:hover{color:#fff;border-color:#e0f878;background:#e0f8780d}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.react-portfolio .fade-in{animation:fadeIn .4s ease forwards}