:root{--color-bg-primary:#ffffff;--color-bg-secondary:#f5f5f5;--color-bg-dark:#1a1a1a;--color-bg-overlay:rgba(0,0,0,0.45);--color-text-primary:#4a4a4a;--color-text-heading:#2c2c2c;--color-text-muted:#a1a1a1;--color-text-white:#ffffff;--color-accent:#055e94;--color-accent-hover:#044a75;--color-accent-red:#d93127;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--font-heading:'Lato',sans-serif;--font-body:'Open Sans',sans-serif;--fw-light:300;--fw-regular:400;--fw-bold:700;--fs-hero:clamp(2.5rem,5vw,4.5rem);--fs-h1:clamp(2rem,4vw,3rem);--fs-h2:clamp(1.5rem,3vw,2.25rem);--fs-h3:clamp(1.25rem,2vw,1.5rem);--fs-h4:clamp(1.1rem,1.5vw,1.25rem);--fs-body:clamp(0.95rem,1.2vw,1.05rem);--fs-small:0.875rem;--fs-caption:0.75rem;--fs-nav:0.9rem;--lh-tight:1.2;--lh-normal:1.6;--lh-relaxed:1.8;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:8rem;--container-max:1400px;--container-narrow:900px;--container-padding:clamp(1.25rem,4vw,3rem);--grid-gap:clamp(1rem,2.5vw,2rem);--nav-height:80px;--nav-height-scrolled:64px;--ease-out:cubic-bezier(0.25,0.46,0.45,0.94);--ease-in-out:cubic-bezier(0.42,0,0.58,1);--transition-fast:0.2s var(--ease-out);--transition-medium:0.4s var(--ease-out);--transition-slow:0.6s var(--ease-out);--transition-carousel:2s var(--ease-in-out);--radius-sm:2px;--radius-md:4px;--shadow-subtle:0 1px 3px rgba(0,0,0,0.04);--shadow-card:0 2px 8px rgba(0,0,0,0.06);--shadow-card-hover:0 8px 24px rgba(0,0,0,0.1);--shadow-nav:0 1px 0 rgba(0,0,0,0.08);--z-base:1;--z-dropdown:100;--z-nav:1000;--z-overlay:1100;--z-whatsapp:1200;--z-modal:1300;--z-lightbox:1400;--z-page-transition:1500}[data-theme="dark"]{--color-bg-primary:#121212;--color-bg-secondary:#1e1e1e;--color-bg-dark:#0a0a0a;--color-bg-overlay:rgba(0,0,0,0.7);--color-text-primary:#d0d0d0;--color-text-heading:#e8e8e8;--color-text-muted:#888888;--color-text-white:#ffffff;--color-accent:#4da3d9;--color-accent-hover:#3b8fc5;--color-border:#2a2a2a;--color-border-light:#222222;--shadow-subtle:0 1px 3px rgba(0,0,0,0.2);--shadow-card:0 2px 8px rgba(0,0,0,0.3);--shadow-card-hover:0 8px 24px rgba(0,0,0,0.4);--shadow-nav:0 1px 0 rgba(255,255,255,0.05)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;font-weight:var(--fw-regular)}p{overflow-wrap:break-word}table{border-collapse:collapse;border-spacing:0}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}body{font-family:var(--font-body);font-weight:var(--fw-regular);font-size:var(--fs-body);color:var(--color-text-primary);background-color:var(--color-bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-heading);line-height:var(--lh-tight)}h1{font-size:var(--fs-h1);font-weight:var(--fw-light);letter-spacing:-0.02em}h2{font-size:var(--fs-h2);font-weight:var(--fw-light);letter-spacing:-0.01em}h3{font-size:var(--fs-h3);font-weight:var(--fw-regular)}h4{font-size:var(--fs-h4);font-weight:var(--fw-regular)}p{line-height:var(--lh-relaxed);margin-bottom:var(--space-sm)}p:last-child{margin-bottom:0}a{transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}::selection{background-color:var(--color-accent);color:var(--color-text-white)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}img{object-fit:cover}.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}.section{padding:var(--space-3xl) 0}.section--compact{padding:var(--space-2xl) 0}.section--dark{background-color:var(--color-bg-dark);color:var(--color-text-white)}.section--gray{background-color:var(--color-bg-secondary)}.section__title{margin-bottom:var(--space-md)}.section__subtitle{color:var(--color-text-muted);font-size:var(--fs-body);font-weight:var(--fw-light);max-width:600px;line-height:var(--lh-relaxed)}.section__header{margin-bottom:var(--space-2xl)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-center{text-align:center}.text-uppercase{text-transform:uppercase;letter-spacing:0.1em;font-size:var(--fs-small)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:1600px}.grid{display:grid;gap:var(--grid-gap)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.flex{display:flex}.flex--center{display:flex;align-items:center;justify-content:center}.flex--between{display:flex;align-items:center;justify-content:space-between}.flex--column{display:flex;flex-direction:column}.flex--wrap{flex-wrap:wrap}.flex--gap-sm{gap:var(--space-sm)}.flex--gap-md{gap:var(--space-md)}.flex--gap-lg{gap:var(--space-lg)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:start}.two-col--60-40{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-2xl);align-items:start}.two-col--40-60{display:grid;grid-template-columns:2fr 3fr;gap:var(--space-2xl);align-items:start}.page-hero{padding:calc(var(--nav-height)+var(--space-3xl)) 0 var(--space-2xl);background-color:var(--color-bg-secondary)}.page-hero__title{font-size:var(--fs-h1);font-weight:var(--fw-light);color:var(--color-text-heading)}.page-hero__breadcrumb{font-size:var(--fs-small);color:var(--color-text-muted);margin-top:var(--space-xs)}.page-hero__breadcrumb a:hover{color:var(--color-accent)}.full-width{width:100%}main{padding-top:var(--nav-height)}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-height);background-color:var(--color-bg-primary);z-index:var(--z-nav);transition:height var(--transition-medium),box-shadow var(--transition-medium),background-color var(--transition-medium)}.navbar--scrolled{height:var(--nav-height-scrolled);box-shadow:var(--shadow-nav)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.navbar__logo{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-heading);font-size:1.35rem;font-weight:var(--fw-bold);color:var(--color-text-heading);letter-spacing:0.05em;text-transform:uppercase;z-index:calc(var(--z-nav)+1)}.navbar__logo img{height:52px;width:auto;transition:filter var(--transition-fast),height var(--transition-medium)}.navbar--scrolled .navbar__logo img{height:42px}[data-theme="dark"] .navbar__logo img{filter:invert(1) brightness(2)}.navbar__logo span{font-weight:var(--fw-light);font-size:0.7em;color:var(--color-text-muted);display:block;letter-spacing:0.15em;text-transform:uppercase;margin-top:-2px}.navbar__menu{display:flex;align-items:center;gap:var(--space-lg)}.navbar__link{font-family:var(--font-heading);font-size:var(--fs-nav);font-weight:var(--fw-regular);color:var(--color-text-primary);letter-spacing:0.04em;text-transform:uppercase;position:relative;padding:var(--space-xs) 0}.navbar__link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-text-heading);transition:width var(--transition-medium)}.navbar__link:hover::after,.navbar__link--active::after{width:100%}.navbar__link:hover{color:var(--color-text-heading)}.navbar__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;z-index:calc(var(--z-nav)+1)}.navbar__toggle span{display:block;width:100%;height:1.5px;background-color:var(--color-text-heading);transition:transform var(--transition-medium),opacity var(--transition-fast)}body.nav-open .navbar__toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}body.nav-open .navbar__toggle span:nth-child(2){opacity:0}body.nav-open .navbar__toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-heading);font-size:var(--fs-small);font-weight:var(--fw-regular);letter-spacing:0.08em;text-transform:uppercase;padding:0.85em 2em;border:1px solid transparent;transition:all var(--transition-fast);cursor:pointer}.btn--primary{background-color:var(--color-text-heading);color:var(--color-text-white);border-color:var(--color-text-heading)}.btn--primary:hover{background-color:transparent;color:var(--color-text-heading)}.btn--outline{background-color:transparent;color:var(--color-text-heading);border-color:var(--color-text-heading)}.btn--outline:hover{background-color:var(--color-text-heading);color:var(--color-text-white)}.btn--white{background-color:var(--color-text-white);color:var(--color-text-heading);border-color:var(--color-text-white)}.btn--white:hover{background-color:transparent;color:var(--color-text-white)}.btn--link{padding:0;border:none;font-size:var(--fs-small);letter-spacing:0.08em;text-transform:uppercase;position:relative}.btn--link::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--transition-medium)}.btn--link:hover::after{transform:scaleX(1);transform-origin:left}.btn__arrow{width:16px;height:16px;transition:transform var(--transition-fast)}.btn:hover .btn__arrow{transform:translateX(4px)}.projects-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}.project-card{position:relative}.project-card__link{display:block;text-decoration:none;color:inherit}.project-card__image{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;margin-bottom:var(--space-sm)}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94);display:block}.project-card__overlay{display:none}.project-card__info{padding:0 2px}.project-card__category{display:block;font-size:var(--fs-caption);font-weight:var(--fw-regular);letter-spacing:0.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px}.project-card__title{font-family:var(--font-heading);font-size:1rem;font-weight:var(--fw-regular);color:var(--color-text-heading);line-height:1.3;transition:color 0.3s ease}.project-card__arrow{display:none}.project-card:hover .project-card__image img{transform:scale(1.04)}.project-card:hover .project-card__title{color:var(--color-accent)}@media (max-width:1024px){.projects-masonry{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}}@media (max-width:640px){.projects-masonry{grid-template-columns:1fr;gap:var(--space-lg)}.project-card__image{aspect-ratio:3 / 2}}.service-card{padding:var(--space-xl) var(--space-lg);background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-medium),transform var(--transition-medium)}.service-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.service-card__icon{width:48px;height:48px;margin-bottom:var(--space-md);color:var(--color-accent)}.service-card__title{font-family:var(--font-heading);font-size:var(--fs-h4);font-weight:var(--fw-regular);color:var(--color-text-heading);margin-bottom:var(--space-sm)}.service-card__text{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-relaxed)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-2xl)}.filter-btn{font-family:var(--font-heading);font-size:var(--fs-small);font-weight:var(--fw-regular);letter-spacing:0.06em;text-transform:uppercase;padding:0.6em 1.4em;color:var(--color-text-muted);border:1px solid var(--color-border);background:transparent;transition:all var(--transition-fast);cursor:pointer}.filter-btn:hover,.filter-btn--active{color:var(--color-text-heading);border-color:var(--color-text-heading)}.footer{background-color:var(--color-bg-dark);color:rgba(255,255,255,0.7);padding:var(--space-3xl) 0 var(--space-lg)}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer__brand{font-family:var(--font-heading);font-size:1.25rem;font-weight:var(--fw-bold);color:var(--color-text-white);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:var(--space-md)}.footer__brand span{display:block;font-size:0.65em;font-weight:var(--fw-light);letter-spacing:0.15em;color:rgba(255,255,255,0.5);margin-top:2px}.footer__desc{font-size:var(--fs-small);line-height:var(--lh-relaxed);max-width:320px}.footer__heading{font-family:var(--font-heading);font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--color-text-white);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--space-md)}.footer__links{display:flex;flex-direction:column;gap:var(--space-xs)}.footer__link{font-size:var(--fs-small);color:rgba(255,255,255,0.6);transition:color var(--transition-fast)}.footer__link:hover{color:var(--color-text-white)}.footer__contact-item{display:flex;align-items:flex-start;gap:var(--space-xs);font-size:var(--fs-small);margin-bottom:var(--space-sm)}.footer__contact-item svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;opacity:0.6}.footer__social{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.footer__social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,0.2);border-radius:50%;transition:all var(--transition-fast)}.footer__social a:hover{border-color:var(--color-text-white);background-color:rgba(255,255,255,0.1)}.footer__social svg{width:16px;height:16px;fill:rgba(255,255,255,0.7)}.footer__bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:var(--space-lg);display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-caption);color:rgba(255,255,255,0.4)}.footer__bottom a{color:rgba(255,255,255,0.4)}.footer__bottom a:hover{color:rgba(255,255,255,0.7)}.whatsapp-btn{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background-color:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(37,211,102,0.4);z-index:var(--z-whatsapp);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.whatsapp-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(37,211,102,0.5)}.whatsapp-btn svg{width:28px;height:28px;fill:#ffffff}.whatsapp-widget{position:fixed;bottom:90px;right:24px;width:320px;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,0.15);z-index:var(--z-whatsapp);transform:scale(0.8) translateY(20px);opacity:0;visibility:hidden;transition:all 0.3s ease;overflow:hidden}.whatsapp-widget.is-open{transform:scale(1) translateY(0);opacity:1;visibility:visible}.whatsapp-widget__header{background-color:#075e54;color:#fff;padding:16px;display:flex;align-items:center;gap:12px}.whatsapp-widget__avatar{width:40px;height:40px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.whatsapp-widget__avatar svg{width:22px;height:22px;fill:#fff}.whatsapp-widget__info h4{font-size:0.9rem;font-weight:600;margin-bottom:2px}.whatsapp-widget__info span{font-size:0.75rem;opacity:0.8}.whatsapp-widget__close{margin-left:auto;background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;opacity:0.7}.whatsapp-widget__close:hover{opacity:1}.whatsapp-widget__body{padding:16px;background:#e5ddd5}.whatsapp-widget__msg{background:#fff;padding:10px 14px;border-radius:0 8px 8px 8px;font-size:0.85rem;line-height:1.5;color:#333;max-width:85%;box-shadow:0 1px 2px rgba(0,0,0,0.1)}.whatsapp-widget__msg span{display:block;font-size:0.7rem;color:#999;margin-top:4px;text-align:right}.whatsapp-widget__footer{padding:12px 16px}.whatsapp-widget__send{display:block;width:100%;padding:10px;background:#25d366;color:#fff;border:none;border-radius:6px;font-size:0.85rem;font-family:var(--font-body);cursor:pointer;text-align:center;text-decoration:none;transition:background 0.2s}.whatsapp-widget__send:hover{background:#20bd5a;color:#fff}.cta-banner{background-color:var(--color-bg-dark);padding:var(--space-3xl) 0;text-align:center}.cta-banner__title{font-size:var(--fs-h2);font-weight:var(--fw-light);color:var(--color-text-white);margin-bottom:var(--space-md)}.cta-banner__text{color:rgba(255,255,255,0.6);margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-family:var(--font-heading);font-size:var(--fs-small);font-weight:var(--fw-regular);letter-spacing:0.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.form-input,.form-textarea{width:100%;padding:0.8em 1em;font-size:var(--fs-body);border:1px solid var(--color-border);background-color:var(--color-bg-primary);transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-text-heading)}.form-textarea{min-height:150px;resize:vertical}.form-error{font-size:var(--fs-caption);color:var(--color-accent-red);margin-top:var(--space-2xs);display:none}.form-group--error .form-input,.form-group--error .form-textarea{border-color:var(--color-accent-red)}.form-group--error .form-error{display:block}.spec-table{width:100%}.spec-table tr{border-bottom:1px solid var(--color-border-light)}.spec-table td{padding:var(--space-sm) 0;font-size:var(--fs-small)}.spec-table td:first-child{font-family:var(--font-heading);font-weight:var(--fw-regular);text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted);width:40%}.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center}.about-teaser__image{width:100%;aspect-ratio:4 / 3;overflow:hidden}.about-teaser__image img{width:100%;height:100%;object-fit:cover}.references-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-lg);margin-top:var(--space-xl)}.reference-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);background:var(--color-bg-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.reference-item:hover{border-color:var(--color-text-primary);box-shadow:0 4px 16px rgba(0,0,0,0.08)}.reference-item__icon{width:100%;height:48px;color:var(--color-text-secondary);transition:color var(--transition-fast)}.reference-item:hover .reference-item__icon{color:var(--color-text-primary)}.reference-item__name{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;letter-spacing:0.05em;text-transform:uppercase}@media (max-width:768px){.references-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:769px) and (max-width:1024px){.references-grid{grid-template-columns:repeat(3,1fr)}}.certs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);margin-top:var(--space-xl)}.cert-card{padding:var(--space-xl) var(--space-lg);border:1px solid var(--color-border);background:var(--color-bg-primary);text-align:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cert-card:hover{border-color:var(--color-text-primary);box-shadow:0 4px 20px rgba(0,0,0,0.08)}.cert-card__icon{width:56px;height:56px;margin:0 auto var(--space-md);color:var(--color-text-secondary)}.cert-card__icon svg{width:100%;height:100%}.cert-card:hover .cert-card__icon{color:var(--color-text-primary)}.cert-card__title{font-size:var(--font-size-sm);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:var(--space-sm)}.cert-card__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}@media (max-width:768px){.certs-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.certs-grid{grid-template-columns:1fr}}.whatsapp-widget__templates{display:flex;flex-direction:column;gap:8px;margin-top:12px}.whatsapp-template{display:block;padding:8px 12px;background:#f0f4f0;border:1px solid #d0e8d0;border-radius:18px;font-size:13px;color:#1a1a1a;text-decoration:none;transition:background 0.2s,border-color 0.2s}.whatsapp-template:hover{background:#dcf8c6;border-color:#25d366}[data-theme="dark"] .whatsapp-template{background:#2a3a2a;border-color:#3a5a3a;color:#e0e0e0}[data-theme="dark"] .whatsapp-template:hover{background:#1e3a1e;border-color:#25d366}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--color-text-primary);z-index:calc(var(--z-nav)+1);transition:width 0.1s linear;transform-origin:left}.project-share{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap}.project-share__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-secondary)}.project-share__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:var(--font-size-sm);border:1px solid var(--color-border);background:transparent;cursor:pointer;text-decoration:none;color:var(--color-text-primary);transition:background var(--transition-fast),border-color var(--transition-fast);font-family:inherit}.project-share__btn:hover{background:var(--color-bg-secondary)}.project-share__btn--whatsapp:hover{border-color:#25d366;color:#25d366}.thankyou-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease}.thankyou-overlay.is-visible{opacity:1}.thankyou-popup{background:var(--color-bg-primary);padding:var(--space-2xl);max-width:480px;width:90%;text-align:center;transform:translateY(20px);transition:transform 0.3s ease}.thankyou-overlay.is-visible .thankyou-popup{transform:translateY(0)}.thankyou-popup__icon{width:64px;height:64px;color:var(--color-text-primary);margin:0 auto var(--space-lg)}.thankyou-popup__title{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}.thankyou-popup__text{color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-xl)}.thankyou-popup__close{margin:0 auto}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.project-gallery__item{overflow:hidden;aspect-ratio:4/3;background:var(--color-surface)}.project-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease}.project-gallery__item:hover img{transform:scale(1.04)}.project-gallery__item:first-child{grid-column:1 / -1;aspect-ratio:16/9}@media (max-width:600px){.project-gallery{grid-template-columns:1fr}.project-gallery__item:first-child{grid-column:1}}.hero{position:relative;width:100%;height:100vh;min-height:500px;max-height:900px;overflow:hidden;margin-top:calc(-1 * var(--nav-height))}.hero-carousel{position:relative;width:100%;height:100%}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.2s ease-in-out,visibility 0s linear 1.2s;z-index:1}.hero-slide.is-active{opacity:1;visibility:visible;transition:opacity 1.2s ease-in-out,visibility 0s linear 0s;z-index:2}.hero__image{position:absolute;inset:0;width:100%;height:100%}.hero__image img,.hero__image video{width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:linear-gradient( to bottom,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0.6) 100% )}.hero__content{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3xl) var(--container-padding);max-width:var(--container-max);margin:0 auto;z-index:3}.hero__category{display:inline-block;font-family:var(--font-heading);font-size:var(--fs-caption);font-weight:var(--fw-regular);letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.7);margin-bottom:var(--space-sm)}.hero__title{font-family:var(--font-heading);font-size:var(--fs-hero);font-weight:var(--fw-light);color:var(--color-text-white);line-height:1.1;margin-bottom:var(--space-md);max-width:700px}.hero__cta{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-heading);font-size:var(--fs-small);font-weight:var(--fw-regular);letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-white);border-bottom:1px solid rgba(255,255,255,0.5);padding-bottom:4px;transition:border-color var(--transition-fast)}.hero__cta:hover{border-color:var(--color-text-white);color:var(--color-text-white)}.hero__cta svg{width:16px;height:16px;transition:transform var(--transition-fast)}.hero__cta:hover svg{transform:translateX(4px)}.hero-pagination{position:absolute;bottom:var(--space-lg);right:var(--container-padding);display:flex;gap:8px;z-index:4}.hero-dot{width:32px;height:2px;background:rgba(255,255,255,0.4);border:none;padding:0;cursor:pointer;transition:background var(--transition-medium),width var(--transition-medium)}.hero-dot:hover{background:rgba(255,255,255,0.7)}.hero-dot.is-active{background:var(--color-text-white);width:48px}.hero-dot:focus-visible{outline:2px solid var(--color-text-white);outline-offset:4px}.hero-page .navbar{background-color:transparent}.hero-page .navbar--scrolled{background-color:var(--color-bg-primary)}.hero-page .navbar:not(.navbar--scrolled) .navbar__logo,.hero-page .navbar:not(.navbar--scrolled) .navbar__link{color:var(--color-text-white)}.hero-page .navbar:not(.navbar--scrolled) .navbar__link::after{background-color:var(--color-text-white)}.hero-page .navbar:not(.navbar--scrolled) .navbar__toggle span{background-color:var(--color-text-white)}.hero-page .navbar:not(.navbar--scrolled) .lang-toggle{color:var(--color-text-white);border-color:rgba(255,255,255,0.5)}.hero-page .navbar:not(.navbar--scrolled) .navbar__logo img{filter:invert(1) brightness(2)}@media (max-width:767px){.navbar__toggle{display:flex}.navbar__menu{position:fixed;top:0;left:0;right:0;bottom:0;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-lg);background-color:var(--color-bg-primary);z-index:var(--z-nav);opacity:0;visibility:hidden;transition:opacity var(--transition-medium),visibility var(--transition-medium)}body.nav-open .navbar__menu{opacity:1;visibility:visible}body.nav-open{overflow:hidden}.navbar__link{font-size:1.25rem}.hero{max-height:600px}.hero__title{font-size:clamp(1.75rem,6vw,2.5rem)}.hero .splide__arrow{display:none}.hero .splide__pagination{right:auto;left:var(--container-padding)}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.grid--auto{grid-template-columns:1fr}.two-col,.two-col--60-40,.two-col--40-60{grid-template-columns:1fr;gap:var(--space-xl)}.about-teaser{grid-template-columns:1fr;gap:var(--space-xl)}.footer__grid{grid-template-columns:1fr;gap:var(--space-xl)}.footer__bottom{flex-direction:column;gap:var(--space-sm);text-align:center}.section{padding:var(--space-2xl) 0}.section--compact{padding:var(--space-xl) 0}.filter-bar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--space-xs)}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{white-space:nowrap;flex-shrink:0}.cta-banner{padding:var(--space-2xl) 0}.page-hero{padding:calc(var(--nav-height)+var(--space-xl)) 0 var(--space-xl)}}@media (min-width:768px) and (max-width:1023px){.navbar__toggle{display:flex}.navbar__menu{position:fixed;top:0;left:0;right:0;bottom:0;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-lg);background-color:var(--color-bg-primary);z-index:var(--z-nav);opacity:0;visibility:hidden;transition:opacity var(--transition-medium),visibility var(--transition-medium)}body.nav-open .navbar__menu{opacity:1;visibility:visible}body.nav-open{overflow:hidden}.navbar__link{font-size:1.15rem}.grid--3{grid-template-columns:repeat(2,1fr)}.grid--4{grid-template-columns:repeat(2,1fr)}.footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-xl)}}@media (min-width:1024px){.navbar__toggle{display:none}.navbar__menu{display:flex}}@media (min-width:1400px){.hero__content{left:50%;transform:translateX(-50%)}}@media (hover:none){.project-card:hover .project-card__image img{transform:none}.service-card:hover{box-shadow:none;transform:none}}