.skip-link[data-astro-cid-3ef6ksr2]{position:fixed;top:-100%;left:var(--space-md);z-index:1100;padding:.75rem 1.5rem;background:var(--color-secondary);color:var(--color-primary);font-weight:700;font-size:.875rem;transition:top .2s ease}.skip-link[data-astro-cid-3ef6ksr2]:focus{top:var(--space-sm)}.header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.header[data-astro-cid-3ef6ksr2].scrolled{background-color:#fffffffa;border-bottom-color:var(--color-gray-200);box-shadow:0 1px 12px #0000000f}.header__inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:80px}.header__logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.75rem;transition:opacity var(--transition-fast)}.header__logo[data-astro-cid-3ef6ksr2]:hover{opacity:.85}.header__logo-svg[data-astro-cid-3ef6ksr2]{flex-shrink:0}.header__logo-text[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;line-height:1.1}.header__logo-name[data-astro-cid-3ef6ksr2]{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-primary);letter-spacing:1px}.header__logo-tagline[data-astro-cid-3ef6ksr2]{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-gray-500);font-weight:500}.header__nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:2rem}.header__nav-link[data-astro-cid-3ef6ksr2]{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-gray-600);transition:color var(--transition-fast);position:relative;padding:.25rem 0}.header__nav-link[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--color-secondary);transition:width var(--transition-base)}.header__nav-link[data-astro-cid-3ef6ksr2]:hover,.header__nav-link--active[data-astro-cid-3ef6ksr2]{color:var(--color-primary)}.header__nav-link[data-astro-cid-3ef6ksr2]:hover:after,.header__nav-link--active[data-astro-cid-3ef6ksr2]:after{width:100%}.header__cta[data-astro-cid-3ef6ksr2]{font-size:.75rem;padding:.625rem 1.5rem}.header__mobile-toggle[data-astro-cid-3ef6ksr2]{display:none;background:none;border:none;cursor:pointer;padding:8px;-webkit-tap-highlight-color:transparent}.header__hamburger[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:5px;width:24px}.header__hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;width:100%;height:2px;background-color:var(--color-primary);transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.header__mobile-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .header__hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(7px) rotate(45deg)}.header__mobile-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .header__hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0;transform:scaleX(0)}.header__mobile-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .header__hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header__mobile-menu[data-astro-cid-3ef6ksr2]{position:fixed;inset:80px 0 0;background:#fffffffa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--space-2xl) var(--space-lg);transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1),visibility .35s;visibility:hidden;overflow-y:auto}.header__mobile-menu[data-astro-cid-3ef6ksr2].active{transform:translate(0);visibility:visible}.header__mobile-nav[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:0}.header__mobile-link[data-astro-cid-3ef6ksr2]{font-size:1.25rem;font-weight:600;color:var(--color-gray-600);padding:var(--space-md) 0;border-bottom:1px solid var(--color-gray-200);transition:color var(--transition-fast)}.header__mobile-link[data-astro-cid-3ef6ksr2]:hover,.header__mobile-link--active[data-astro-cid-3ef6ksr2]{color:var(--color-primary)}.header__mobile-link--active[data-astro-cid-3ef6ksr2]{color:var(--color-secondary)}.header__mobile-cta[data-astro-cid-3ef6ksr2]{margin-top:var(--space-xl);width:100%;justify-content:center;text-align:center}@media(max-width:768px){.header__nav[data-astro-cid-3ef6ksr2],.header__cta[data-astro-cid-3ef6ksr2]{display:none}.header__mobile-toggle[data-astro-cid-3ef6ksr2]{display:block}}.icon[data-astro-cid-patnjmll]{display:inline-block;vertical-align:middle;flex-shrink:0}.footer[data-astro-cid-sz7xmlte]{background-color:var(--color-primary);color:#ffffffb3}.footer__top[data-astro-cid-sz7xmlte]{padding:var(--space-4xl) 0}.footer__grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:var(--space-3xl)}.footer__logo[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--space-lg)}.footer__logo-icon[data-astro-cid-sz7xmlte]{font-size:1.5rem;color:var(--color-secondary)}.footer__logo-name[data-astro-cid-sz7xmlte]{display:block;font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--color-white);letter-spacing:1px}.footer__logo-tagline[data-astro-cid-sz7xmlte]{font-size:.65rem;text-transform:uppercase;letter-spacing:2px;color:#fff6}.footer__description[data-astro-cid-sz7xmlte]{font-size:.9375rem;line-height:1.7;color:#fff9;margin-bottom:var(--space-lg)}.footer__social[data-astro-cid-sz7xmlte]{display:flex;gap:.75rem;margin-bottom:var(--space-lg)}.footer__social-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff9;transition:all var(--transition-fast)}.footer__social-link[data-astro-cid-sz7xmlte]:hover{border-color:var(--color-secondary);color:var(--color-secondary);background:#c9a84c1a}.footer__license[data-astro-cid-sz7xmlte]{font-size:.8125rem;color:#ffffff59}.footer__links[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte],.footer__contact[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte]{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-white);margin-bottom:var(--space-lg)}.footer__links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:block;font-size:.9375rem;color:#fff9;padding:var(--space-xs) 0;transition:color var(--transition-fast)}.footer__links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-secondary)}.footer__contact[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte],.footer__contact[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.9375rem;color:#fff9;margin-bottom:0;line-height:1.6}.footer__contact[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-secondary)}.footer__contact[data-astro-cid-sz7xmlte] strong[data-astro-cid-sz7xmlte]{display:block;color:#ffffffd9;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.footer__contact-item[data-astro-cid-sz7xmlte]{display:flex;gap:.75rem;margin-bottom:var(--space-lg);color:#fff6;align-items:flex-start;padding-top:2px}.footer__contact-item[data-astro-cid-sz7xmlte]:last-child{margin-bottom:0}.footer__bottom[data-astro-cid-sz7xmlte]{border-top:1px solid rgba(255,255,255,.08);padding:var(--space-lg) 0}.footer__bottom-inner[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center}.footer__bottom[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{font-size:.8125rem;color:#fff6;margin:0}@media(max-width:768px){.footer__grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--space-2xl)}.footer__bottom-inner[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--space-sm);text-align:center}}:root{--color-primary: #1a1a2e;--color-secondary: #c9a84c;--color-accent: #d4a843;--color-dark: #0f0f1a;--color-light: #f8f6f0;--color-white: #ffffff;--color-gray-100: #f5f5f5;--color-gray-200: #e8e8e8;--color-gray-300: #d1d1d1;--color-gray-400: #9e9e9e;--color-gray-500: #6b6b6b;--color-gray-600: #4a4a4a;--color-gray-700: #333333;--color-text: #2c2c2c;--color-text-light: #6b6b6b;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 5rem;--space-5xl: 6rem;--container-max: 1200px;--container-wide: 1400px;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 30px rgba(0,0,0,.12);--shadow-xl: 0 20px 60px rgba(0,0,0,.15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-text);line-height:1.6;background-color:var(--color-white)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;font-weight:700;color:var(--color-primary)}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2vw,1.5rem)}p{margin-bottom:var(--space-md);color:var(--color-text-light)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.container--wide{max-width:var(--container-wide)}.section{padding:var(--space-4xl) 0}.section--dark{background-color:var(--color-primary);color:var(--color-white)}.section--dark h2,.section--dark h3,.section--dark h4{color:var(--color-white)}.section--dark p{color:#ffffffb3}.section--light{background-color:var(--color-light)}.text-center{text-align:center}.text-accent{color:var(--color-secondary)}.section-label{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:3px;color:var(--color-secondary);margin-bottom:var(--space-md);display:block}.section-title{margin-bottom:var(--space-lg)}.section-subtitle{font-family:var(--font-body);font-size:1.125rem;color:var(--color-text-light);max-width:600px;line-height:1.7}.text-center .section-subtitle{margin:0 auto}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.875rem 2rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;letter-spacing:.5px;border:none;border-radius:0;cursor:pointer;transition:all var(--transition-base);text-transform:uppercase}.btn--primary{background-color:var(--color-secondary);color:var(--color-primary)}.btn--primary:hover{background-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--outline{background-color:transparent;color:var(--color-white);border:2px solid var(--color-white)}.btn--outline:hover{background-color:var(--color-white);color:var(--color-primary)}.btn--dark{background-color:var(--color-primary);color:var(--color-white)}.btn--dark:hover{background-color:var(--color-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.grid{display:grid;gap:var(--space-xl)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-in-up{animation:fadeInUp .6s ease forwards}.fade-in{animation:fadeIn .8s ease forwards}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}[data-reveal].revealed{opacity:1;transform:translateY(0)}@keyframes revealFallback{to{opacity:1;transform:translateY(0)}}[data-reveal]:not(.revealed){animation:revealFallback 0s 3s forwards}::selection{background-color:var(--color-secondary);color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}#main-content{outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-gray-600)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--color-gray-300);border-radius:0;font-family:var(--font-body);font-size:1rem;color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background-color:var(--color-white);-webkit-appearance:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #c9a84c26}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-gray-400)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%236b6b6b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-success{text-align:center;padding:3rem 1.5rem}.form-success__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--color-secondary);color:var(--color-primary);font-size:1.5rem;font-weight:700;border-radius:50%;margin-bottom:1.5rem}.form-success h3{margin-bottom:.75rem;font-size:1.5rem}.form-success p{max-width:400px;margin:0 auto}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.portfolio-filters{display:flex;gap:.625rem;flex-wrap:wrap;margin-bottom:1rem}.portfolio-count{font-size:.875rem;color:var(--color-gray-500);margin-bottom:2rem}.filter-btn{padding:.5rem 1.25rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;background:none;border:2px solid var(--color-gray-300);color:var(--color-gray-500);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-gray-500);color:var(--color-gray-700)}.filter-btn--active{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-gray-100)}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-xl)}.project-card{display:block;overflow:hidden;transition:transform var(--transition-base);animation:cardIn .5s ease both}.project-card:hover{transform:translateY(-4px)}.project-card__image{position:relative;aspect-ratio:4 / 3;overflow:hidden;background-color:var(--color-gray-200)}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}.project-card:hover .project-card__image img{transform:scale(1.05)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,15,26,.6) 0%,transparent 50%);display:flex;align-items:flex-end;padding:1.5rem;opacity:0;transition:opacity var(--transition-base)}.project-card:hover .project-card__overlay{opacity:1}.project-card__view{color:var(--color-white);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:2px}.project-card__info{padding:1.25rem 0 .5rem}.project-card__category{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-secondary);margin-bottom:.25rem;display:block}.project-card__title{font-size:1.25rem;margin-bottom:.375rem}.project-card__meta{display:flex;gap:1rem;font-size:.8125rem;color:var(--color-gray-500)}.project-card__meta span{position:relative}.project-card__meta span+span:before{content:"·";position:absolute;left:-.625rem;color:var(--color-gray-400)}.project-card__location{font-size:.875rem;color:var(--color-gray-500)}@media(max-width:768px){.project-grid{grid-template-columns:1fr}}
