@keyframes ribbonMove{0%{background-position:0 0}to{background-position:28px 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollLine{0%{opacity:0;transform:scaleY(0);transform-origin:top}30%,70%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0);transform-origin:bottom}}:root{--color-primary:#0a0a0a;--color-primary-light:#1a1a1a;--color-accent:#e85d04;--color-accent-dark:#c44d03;--color-accent-light:rgba(232, 93, 4, 0.12);--color-accent-glow:rgba(232, 93, 4, 0.3);--color-cream:#fafafa;--color-cream-dark:#f0f0f0;--color-concrete:#e0e0e0;--color-stone:#c0c0c0;--color-text:#0a0a0a;--color-text-muted:#4a4a4a;--color-text-light:#6a6a6a;--color-text-inverse:#ffffff;--font-display:'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;--font-body:'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1.125rem;--text-lg:1.25rem;--text-xl:1.375rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--text-6xl:4.5rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--container-max:1200px;--container-narrow:800px;--header-height:80px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--transition-bounce:400ms cubic-bezier(0.34, 1.56, 0.64, 1);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.08);--shadow-lg:0 8px 30px rgba(0, 0, 0, 0.12);--shadow-xl:0 20px 50px rgba(0, 0, 0, 0.15)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;line-height:1.7;color:var(--color-text);background-color:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}button{font-family:inherit;cursor:pointer;border:0;background:0 0}ol,ul{list-style:none}address{font-style:normal}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-lg);z-index:9999;border-radius:0 0 4px 4px}.skip-link:focus{top:0}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.1;color:var(--color-primary);letter-spacing:-.02em}.section-label{display:inline-block;font-size:var(--text-sm);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-md);padding-left:var(--space-lg);position:relative}.section-label::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:3px;background:var(--color-accent)}.section-title{font-size:var(--text-3xl);margin-bottom:var(--space-lg)}.section-description{font-size:var(--text-base);color:var(--color-text-muted);max-width:600px}.section-header{text-align:center;margin-bottom:var(--space-4xl)}.section-header .section-description{margin-left:auto;margin-right:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:0 0;padding-bottom:4px;transition:all var(--transition-base)}.site-header::after{content:"";position:absolute;top:100%;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--color-primary)0,var(--color-primary) 10px,var(--color-accent) 10px,var(--color-accent) 20px);box-shadow:0 2px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.2),inset 0-1px 0 rgba(0,0,0,.2);background-size:28px 28px;animation:ribbonMove 1.25s linear infinite}.site-header.scrolled{background:var(--color-primary);box-shadow:0 4px 30px rgba(0,0,0,.3)}.nav-container{justify-content:space-between;height:var(--header-height);max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}.logo,.nav-container{display:flex;align-items:center}.logo-img{height:70px;width:auto;transition:all var(--transition-base)}.logo:hover .logo-img{transform:scale(1.02)}.site-header.scrolled .logo-img{height:55px}.nav-menu{display:flex;align-items:center;gap:var(--space-2xl)}.nav-link{font-size:var(--text-base);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);position:relative;padding:var(--space-sm)0;transition:color var(--transition-fast)}.site-header.scrolled .nav-link,.site-header.scrolled .nav-link--cta{color:var(--color-text-inverse)}.nav-link::after{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--color-accent);transition:width var(--transition-base)}.nav-link:focus,.nav-link:hover{color:var(--color-accent)}.nav-link:focus::after,.nav-link:hover::after{width:100%}.nav-link--cta{background:var(--color-accent);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-xl);border-radius:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.nav-link--cta::after,.nav-link--lang::after{display:none}.nav-link--cta:focus,.nav-link--cta:hover{background:var(--color-text-inverse);color:var(--color-primary);box-shadow:0 4px 20px rgba(232,93,4,.4)}.nav-link--lang{font-size:var(--text-base);font-weight:700;letter-spacing:.05em;padding:var(--space-xs) var(--space-sm);border:2px solid var(--color-primary);border-radius:0;color:var(--color-primary);text-transform:uppercase}.site-header.scrolled .nav-link--lang{border-color:var(--color-text-inverse);color:var(--color-text-inverse)}.nav-link--lang:focus,.nav-link--lang:hover{border-color:var(--color-accent);background:0 0;color:var(--color-accent)}.site-header.scrolled .nav-link--lang:focus,.site-header.scrolled .nav-link--lang:hover{border-color:var(--color-accent)}.nav-toggle{display:none;flex-direction:column;gap:6px;padding:var(--space-sm);z-index:1001}.nav-toggle-bar{width:28px;height:3px;background:var(--color-primary);transition:transform var(--transition-base),opacity var(--transition-fast)}.nav-toggle[aria-expanded=true] .nav-toggle-bar,.site-header.scrolled .nav-toggle-bar{background:var(--color-text-inverse)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-5xl) var(--space-lg)}.hero-bg,.hero-texture{position:absolute;inset:0}.hero-bg{z-index:0}.hero-texture{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03}.hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50%at 80% 20%,var(--color-accent-light) 0%,transparent 50%),linear-gradient(180deg,var(--color-cream) 0%,var(--color-cream-dark) 100%)}.hero-content{position:relative;z-index:1;text-align:center;max-width:1000px}.hero-content::before{content:"";display:block;width:80px;height:4px;background:var(--color-accent);margin:0 auto var(--space-2xl);animation:fadeIn .8s ease .1s both}.hero-badge{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-sm) var(--space-lg);border:2px solid var(--color-primary);border-radius:0;margin-bottom:var(--space-2xl);animation:fadeInDown .8s ease both}.hero-title{font-size:var(--text-5xl);font-weight:700;line-height:1;letter-spacing:-.03em;margin-bottom:var(--space-md);animation:fadeInUp .8s ease .2s both}.hero-title-main{display:block;color:var(--color-primary)}.hero-title-accent{display:block;color:var(--color-accent);font-style:normal}.hero-tagline{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;font-style:normal;color:var(--color-text-muted);margin-bottom:var(--space-xl);animation:fadeInUp .8s ease .3s both}.hero-description{font-size:var(--text-base);color:var(--color-text-muted);max-width:650px;margin:0 auto var(--space-2xl);animation:fadeInUp .8s ease .4s both}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);animation:fadeInUp .8s ease .5s both}.hero-scroll{position:absolute;bottom:var(--space-2xl);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);animation:fadeIn .8s ease 1s both}.hero-scroll-text{font-size:var(--text-xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted)}.hero-scroll-line{width:3px;height:60px;background:linear-gradient(to bottom,var(--color-accent),transparent);animation:scrollLine 2s ease infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:var(--text-sm);font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:var(--space-md) var(--space-2xl);border-radius:0;transition:all var(--transition-base)}.btn svg{width:18px;height:18px;transition:transform var(--transition-base)}.btn--primary{background:var(--color-accent);color:var(--color-text-inverse);border:2px solid var(--color-accent)}.btn--primary:focus,.btn--primary:hover{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:0 8px 30px rgba(0,0,0,.2)}.btn--primary:focus svg,.btn--primary:hover svg{transform:translateX(4px)}.btn--outline{background:0 0;color:var(--color-primary);border:2px solid var(--color-primary)}.btn--outline:focus,.btn--outline:hover{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 8px 30px rgba(0,0,0,.2)}.btn--full{width:100%}.section{padding:var(--space-5xl)0}.section--about{background:var(--color-cream)}.about-grid{display:grid;gap:var(--space-4xl);align-items:center}.about-image{position:relative}.about-image-frame{position:relative;aspect-ratio:4/5;background:var(--color-concrete);border-radius:2px;overflow:hidden}.about-image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-stone)}.about-image-placeholder svg{width:60%;height:60%}.about-experience{display:inline-flex;align-items:baseline;gap:var(--space-sm);margin-top:var(--space-xl);padding:var(--space-md)0;border-top:3px solid var(--color-accent)}.about-experience-number{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;line-height:1;color:var(--color-accent)}.about-experience-text{font-size:var(--text-base);font-weight:600;color:var(--color-text-muted)}.about-content{max-width:600px}.about-text{margin-bottom:0}.about-text p{margin-bottom:var(--space-md);color:var(--color-text-muted)}.about-text a{text-decoration:underline;text-underline-offset:3px}.about-text a:hover{color:var(--color-accent-dark)}.section--services{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%)}.about-text a,.section--services .section-label{color:var(--color-accent)}.section--services,.section--services .section-title{color:var(--color-text-inverse)}.section--services .section-description{color:rgba(255,255,255,.7)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg)}.service-card{position:relative;border-radius:4px;overflow:hidden;min-height:350px;display:flex;align-items:flex-end;transition:transform var(--transition-base),box-shadow var(--transition-base)}.service-card::after{content:"";position:absolute;inset:0;background-image:var(--bg-image);background-size:cover;background-position:center;transition:transform var(--transition-slow);z-index:0}.service-card::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,26,.95)0,rgba(26,26,26,.7) 50%,rgba(26,26,26,.3) 100%);transition:all var(--transition-base);z-index:1}.portfolio-card:hover .portfolio-image img,.portfolio-card:hover .portfolio-placeholder,.service-card:hover::after{transform:scale(1.05)}.service-card:hover::before{background:linear-gradient(to top,rgba(26,26,26,.98)0,rgba(26,26,26,.8) 60%,rgba(26,26,26,.5) 100%)}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3)}.service-card-content{position:relative;z-index:2;padding:var(--space-xl);width:100%}.service-title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--color-text-inverse);margin-bottom:var(--space-sm);border-left:3px solid var(--color-accent);padding-left:var(--space-sm)}.service-description{font-size:var(--text-base);color:rgba(255,255,255,.75);line-height:1.6}.section--portfolio{background:var(--color-cream-dark)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}.portfolio-card{background:var(--color-cream);border-radius:2px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-base);border-bottom:3px solid transparent}.portfolio-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px);border-bottom-color:var(--color-accent)}.portfolio-image{aspect-ratio:4/3;overflow:hidden}.portfolio-image img,.portfolio-placeholder{width:100%;height:100%;transition:transform var(--transition-slow)}.portfolio-image img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(135deg,var(--color-concrete) 0%,var(--color-stone) 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-2xl);font-style:italic;color:var(--color-text-light)}.portfolio-content{padding:var(--space-xl)}.contact-item strong,.portfolio-title{font-size:var(--text-xl);margin-bottom:var(--space-xs)}.portfolio-meta{font-size:var(--text-sm);color:var(--color-accent);margin-bottom:var(--space-sm)}.portfolio-description,.testimonial-quote p{font-size:var(--text-base);color:var(--color-text-muted)}.section--testimonials{background:var(--color-cream)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-xl);max-width:1000px;margin:0 auto}.testimonial-card{background:var(--color-text-inverse);padding:var(--space-2xl);border-radius:0;border-left:4px solid var(--color-accent);box-shadow:0 8px 40px rgba(0,0,0,.08)}.testimonial-quote{margin-bottom:var(--space-xl)}.testimonial-icon{width:40px;height:40px;fill:var(--color-accent);opacity:.5;margin-bottom:var(--space-md)}.testimonial-quote p{font-size:var(--text-lg);font-weight:500;font-style:normal;line-height:1.8}.testimonial-author{display:flex;align-items:center;gap:var(--space-md)}.testimonial-avatar{width:52px;height:52px;border-radius:0;background:var(--color-primary);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm)}.testimonial-name{display:block;font-weight:700;color:var(--color-primary)}.testimonial-location{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.section--contact{background:var(--color-primary);color:var(--color-text-inverse);position:relative;overflow:hidden}.contact-form::before,.section--contact::before{content:"";position:absolute;top:0;background:var(--color-accent)}.section--contact::before{right:0;width:50%;height:100%;clip-path:polygon(15%0,100%0,100% 100%,0 100%);z-index:0}.section--contact .container{position:relative;z-index:1}.contact-item a:hover,.section--contact .section-label{color:var(--color-accent)}.section--contact .section-title{color:var(--color-text-inverse);font-size:var(--text-4xl)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:start}.contact-intro{font-size:var(--text-base);color:rgba(255,255,255,.8);margin-bottom:var(--space-2xl);max-width:480px;font-weight:500}.contact-details{display:flex;flex-direction:column;gap:var(--space-xl);margin-bottom:var(--space-2xl)}.contact-item{display:flex;gap:var(--space-lg);align-items:flex-start}.contact-icon{width:28px;height:28px;color:var(--color-accent);flex-shrink:0;margin-top:2px}.contact-item strong{display:block;font-size:var(--text-xs);letter-spacing:.15em}.contact-item a,.contact-item span{color:var(--color-text-inverse);font-size:var(--text-base);font-weight:600}.contact-social,.social-link{display:flex;align-items:center}.contact-social{gap:var(--space-md);margin-top:var(--space-xl)}.contact-item strong,.contact-social span{font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.5)}.contact-social span{font-size:var(--text-sm);letter-spacing:.1em}.social-link{width:50px;height:50px;justify-content:center;background:0 0;color:var(--color-text-inverse);border:2px solid rgba(255,255,255,.3);border-radius:0;transition:all var(--transition-base)}.social-link:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse);transform:translateY(-3px)}.social-link svg{width:22px;height:22px}.contact-form{background:var(--color-text-inverse);padding:var(--space-3xl);box-shadow:0 25px 80px rgba(0,0,0,.3);position:relative}.contact-form::before{left:0;width:100%;height:6px}.form-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-primary);margin-bottom:var(--space-sm)}.form-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2xl);font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-group{margin-bottom:var(--space-lg);position:relative}.form-label{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-sm)}.copyright a:hover,.footer-links a:hover,.form-label span{color:var(--color-accent)}.form-input,.form-textarea{width:100%;font-family:inherit;font-size:var(--text-base);font-weight:500;padding:var(--space-md) var(--space-lg);border:0;border-bottom:3px solid var(--color-concrete);border-radius:0;background:var(--color-cream-dark);color:var(--color-text);transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus{outline:0;border-bottom-color:var(--color-accent);background:var(--color-text-inverse);box-shadow:0 4px 20px rgba(0,0,0,.08)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-light);font-weight:400}.form-textarea{resize:vertical;min-height:140px}.form-submit-wrapper{margin-top:var(--space-xl)}.form-message{margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);font-size:var(--text-sm);font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:none;background:var(--color-cream-dark);border-left:4px solid var(--color-primary);color:var(--color-text)}.form-message.success{display:block;border-left-color:var(--color-accent);color:var(--color-accent-dark)}.form-message.error{display:block;border-left-color:var(--color-primary);color:var(--color-primary)}.site-footer{background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-xl)0;border-top:4px solid var(--color-accent)}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md)}.copyright{font-size:var(--text-sm);font-weight:600;color:rgba(255,255,255,.6);margin:0}.footer-links{display:flex;align-items:center}.footer-links a,.footer-links span:not(.footer-divider){font-size:var(--text-sm);font-weight:700;color:rgba(255,255,255,.8);transition:color var(--transition-fast)}.footer-divider{color:rgba(255,255,255,.3);margin:0 var(--space-sm)}.copyright a{color:rgba(255,255,255,.8);transition:color var(--transition-fast)}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .6s ease,transform .6s ease}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media (min-width:768px){:root{--text-5xl:4rem;--text-6xl:5rem}.about-grid{grid-template-columns:1fr 1.2fr}.footer-content{align-items:center}}@media (min-width:768px) and (max-width:1023px){.contact-grid{grid-template-columns:1fr;gap:var(--space-2xl)}.section--contact::before{display:none}.logo-img{height:60px}}@media (min-width:1024px){:root{--text-5xl:4.5rem}.section{padding:var(--space-5xl)0}.services-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1200px){:root{--text-5xl:5rem}}@media (max-width:767px){:root{--text-3xl:1.75rem;--text-4xl:2rem;--text-5xl:2.5rem;--header-height:70px}.nav-toggle{display:flex}.nav-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-primary);flex-direction:column;justify-content:center;align-items:center;gap:var(--space-xl);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.nav-menu.active{opacity:1;visibility:visible}.nav-menu .nav-link{font-size:var(--text-xl);color:var(--color-text-inverse)}.nav-menu .nav-link--lang{border-color:var(--color-text-inverse);color:var(--color-text-inverse)}.hero{padding:var(--space-4xl) var(--space-lg)}.hero-scroll,.section--contact::before{display:none}.about-experience{margin-top:var(--space-lg)}.form-row,.portfolio-grid,.testimonials-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center}.contact-grid{grid-template-columns:1fr;gap:var(--space-2xl)}.contact-form{padding:var(--space-xl)}.logo-img{height:55px}.site-header.scrolled .logo-img{height:45px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media print{.contact-form,.hero-scroll,.site-header,.social-link{display:none}.section{padding:var(--space-xl)0}body{font-size:12pt;color:#000;background:#fff}}