@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/dm-sans-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 500;font-display: swap;src: url('fonts/dm-sans-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 600;font-display: swap;src: url('fonts/dm-sans-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Instrument Serif';font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/instrument-serif-normal-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Instrument Serif';font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/instrument-serif-normal-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Instrument Serif';font-style: italic;font-weight: 400;font-display: swap;src: url('fonts/instrument-serif-italic-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Instrument Serif';font-style: italic;font-weight: 400;font-display: swap;src: url('fonts/instrument-serif-italic-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--dc-cyan: #50C9D2;--dc-teal: #1A8CB5;--dc-blue: #005A8C;--dc-navy: #00477A;--gradient-brand: linear-gradient(135deg,#50C9D2 0%,#1A8CB5 35%,#005A8C 65%,#00477A 100%);--gradient-subtle: linear-gradient(135deg,rgba(80,201,210,0.08) 0%,rgba(0,71,122,0.04) 100%);--gradient-hero: linear-gradient(160deg,#001E3C 0%,#00477A 40%,#005A8C 70%,#1A8CB5 100%);--n-50: #F0F8FB;--n-100: #EEF2F5;--n-200: #DCE3E8;--n-300: #B8C4CE;--n-400: #8A9BAA;--n-500: #5E7282;--n-600: #3D5161;--n-700: #2A3A47;--n-800: #1A2730;--n-900: #0E1920;--white: #FFFFFF;--text-primary: #1A2730;--text-secondary: #5E7282;--text-light: rgba(255,255,255,0.9);--text-muted: rgba(255,255,255,0.55);--section-pad: clamp(4rem,8vw,7rem);--content-width: 1200px;--radius: 12px;--radius-lg: 20px;--font-display: 'Instrument Serif',Georgia,serif;--font-body: 'DM Sans',system-ui,sans-serif}*,*::before,*::after{margin: 0;padding: 0;box-sizing: border-box}html{scroll-behavior: smooth;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;scroll-padding-top: 88px}body{font-family: var(--font-body);color: var(--text-primary);background: var(--white);line-height: 1.65;font-size: 16px;overflow-x: hidden}img{max-width: 100%;display: block}a{text-decoration: none;color: inherit}button{cursor: pointer;border: none;background: none;font-family: inherit}.container{max-width: var(--content-width);margin: 0 auto;padding: 0 clamp(1.25rem,4vw,2.5rem)}[data-lang="en"]{display: none !important}html[lang="en"] [data-lang="nl"]{display: none !important}html[lang="en"] [data-lang="en"]{display: revert !important}.skip-link{position: absolute;top: -100%;left: 0;background: var(--dc-teal);color: var(--white);padding: 0.75rem 1.5rem;z-index: 10001;font-weight: 600;transition: top 0.3s}.skip-link:focus-visible{top: 0}.nav{position: fixed;top: 0;left: 0;right: 0;z-index: 1000;padding: 1rem 0;transition: all 0.4s cubic-bezier(0.16,1,0.3,1)}.nav.scrolled{background: rgba(3,27,46,0.92);backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px);padding: 0.6rem 0;box-shadow: 0 4px 30px rgba(0,0,0,0.15)}.nav-inner{display: flex;align-items: center;justify-content: space-between;max-width: var(--content-width);margin: 0 auto;padding: 0 clamp(1.25rem,4vw,2.5rem)}.nav-logo{height: 56px;transition: transform 0.3s ease}.nav-logo:hover{transform: scale(1.03)}.nav-links{display: flex;align-items: center;gap: 2rem;list-style: none}.nav-links a{color: var(--text-light);font-size: 0.9rem;font-weight: 500;letter-spacing: 0.02em;position: relative;padding: 0.25rem 0;transition: color 0.3s}.nav-links a::after{content: '';position: absolute;bottom: 0;left: 0;width: 0;height: 2px;background: var(--dc-cyan);transition: width 0.3s cubic-bezier(0.16,1,0.3,1)}.nav-links a:hover{color: var(--dc-cyan)}.nav-links a:hover::after{width: 100%}.lang-toggle{display: flex;align-items: center;gap: 0.35rem;background: rgba(255,255,255,0.1);border: 1px solid rgba(255,255,255,0.15);border-radius: 100px;padding: 0.3rem;margin-left: 0.5rem}.lang-btn{padding: 0.25rem 0.65rem;border-radius: 100px;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.05em;color: var(--text-muted);transition: all 0.3s}.lang-btn.active{background: var(--dc-blue);color: var(--white)}.lang-switch{display: inline-flex;align-items: center;justify-content: center;padding: 0.35rem 0.85rem;margin-left: 0.5rem;border-radius: 100px;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.05em;color: var(--white);background: rgba(255,255,255,0.1);border: 1px solid rgba(255,255,255,0.15);text-decoration: none;transition: background 0.2s,border-color 0.2s}.lang-switch:hover,.lang-switch:focus-visible{background: rgba(255,255,255,0.2);border-color: var(--dc-cyan)}.mobile-toggle{display: none;flex-direction: column;gap: 5px;padding: 10px;min-width: 44px;min-height: 44px;justify-content: center;align-items: center}.mobile-toggle span{display: block;width: 24px;height: 2px;background: var(--white);border-radius: 2px;transition: all 0.3s}.hero{display: flex;align-items: flex-start;background: var(--gradient-hero);position: relative;overflow: hidden;padding-top: clamp(6rem,10vw,8rem);padding-bottom: clamp(3rem,6vw,5rem)}.hero::before{content: '';position: absolute;top: -40%;right: -20%;width: 80vw;height: 80vw;max-width: 900px;max-height: 900px;background: radial-gradient(circle,rgba(80,201,210,0.12) 0%,transparent 70%);pointer-events: none}.hero::after{content: '';position: absolute;bottom: -30%;left: -10%;width: 50vw;height: 50vw;max-width: 600px;max-height: 600px;background: radial-gradient(circle,rgba(0,71,122,0.2) 0%,transparent 70%);pointer-events: none}.hero-grid{position: absolute;inset: 0;background-image: linear-gradient(rgba(80,201,210,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(80,201,210,0.03) 1px,transparent 1px);background-size: 60px 60px;pointer-events: none}.hero-content{position: relative;z-index: 2}.hero-badge{display: inline-flex;align-items: center;gap: 0.5rem;background: rgba(80,201,210,0.1);border: 1px solid rgba(80,201,210,0.25);color: var(--dc-cyan);padding: 0.5rem 1rem;border-radius: 100px;font-size: 0.82rem;font-weight: 500;letter-spacing: 0.04em;margin-bottom: 2rem;animation: fadeInUp 0.8s ease both}.hero-badge::before{content: '';width: 6px;height: 6px;border-radius: 50%;background: var(--dc-cyan);animation: pulse 2s infinite}@keyframes pulse{0%,100%{opacity: 1}50%{opacity: 0.4}}.hero h1,.hero h2.hero-h1{font-family: var(--font-display);font-size: clamp(1.6rem,5vw,4rem);line-height: 1.1;color: var(--white);max-width: 840px;margin-bottom: 1.5rem;animation: fadeInUp 0.8s 0.15s ease both}.hero h1 em,.hero h2.hero-h1 em{font-style: italic;background: linear-gradient(135deg,#50C9D2 0%,#8EE0E6 50%,#FFFFFF 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text}.hero-sub{font-size: clamp(0.95rem,1.6vw,1.1rem);color: var(--n-300);max-width: 660px;line-height: 1.7;margin-bottom: 1.5rem;animation: fadeInUp 0.8s 0.3s ease both}.hero-actions{display: flex;gap: 1rem;flex-wrap: wrap;animation: fadeInUp 0.8s 0.45s ease both}.btn{display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.85rem 1.75rem;border-radius: 100px;font-weight: 600;font-size: 0.92rem;letter-spacing: 0.01em;transition: all 0.3s cubic-bezier(0.16,1,0.3,1)}.btn-primary{background: var(--gradient-brand);color: var(--white);box-shadow: 0 4px 20px rgba(80,201,210,0.3)}.btn-primary:hover{transform: translateY(-2px);box-shadow: 0 8px 30px rgba(80,201,210,0.4)}.btn-outline{border: 1.5px solid rgba(255,255,255,0.25);color: var(--white)}.btn-outline:hover{border-color: var(--dc-cyan);color: var(--dc-cyan);transform: translateY(-2px)}.btn-arrow{transition: transform 0.3s}.btn:hover .btn-arrow{transform: translateX(3px)}.nowrap{white-space: nowrap}.hero-trust{text-align: center;margin-top: 1.25rem;animation: fadeInUp 0.8s 0.6s ease both}.hero-trust-keywords{font-size: 0.9rem;font-weight: 500;color: var(--white);letter-spacing: 0.04em;margin-bottom: 0.5rem}.hero-trust-sub{font-size: 0.8rem;color: rgba(255,255,255,0.6);letter-spacing: 0.02em}@keyframes fadeInUp{from{opacity: 0;transform: translateY(30px)}to{opacity: 1;transform: translateY(0)}}.services{padding: var(--section-pad) 0;background: var(--n-50);position: relative}.section-label{display: inline-block;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: var(--dc-blue);margin-bottom: 1rem}.section-title{font-family: var(--font-display);font-size: clamp(2rem,4vw,3rem);line-height: 1.15;margin-bottom: 1rem;color: var(--n-900)}.section-desc{font-size: 1.05rem;color: var(--text-secondary);max-width: 560px;margin-bottom: 3rem}.services-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(320px,100%),1fr));gap: 1.5rem}.service-card{background: var(--white);border-radius: var(--radius-lg);padding: 2rem;border: 1px solid var(--n-200);transition: all 0.4s cubic-bezier(0.16,1,0.3,1);position: relative;overflow: hidden}.service-card::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 3px;background: var(--gradient-brand);opacity: 0;transition: opacity 0.4s}.service-card:hover{border-color: transparent;box-shadow: 0 12px 40px rgba(6,59,92,0.08);transform: translateY(-4px)}.service-card:hover::before{opacity: 1}.service-icon{width: 52px;height: 52px;border-radius: 14px;display: flex;align-items: center;justify-content: center;margin-bottom: 1.25rem;background: var(--gradient-subtle);color: var(--dc-blue);font-size: 1.5rem}.service-card h3{font-size: 1.15rem;font-weight: 600;margin-bottom: 0.75rem;color: var(--n-800)}.service-card p{color: var(--text-secondary);font-size: 0.93rem;line-height: 1.65}.about{padding: var(--section-pad) 0;background: var(--white)}.about-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: center}.about-image{border-radius: var(--radius-lg);overflow: hidden;position: relative;aspect-ratio: 4/3;background: var(--gradient-hero);display: flex;align-items: center;justify-content: center;padding: 3rem;box-shadow: 0 20px 60px rgba(0,71,122,0.25)}.about-image::after{content: '';position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 280px;height: 280px;border-radius: 50%;background: radial-gradient(circle,rgba(80,201,210,0.12) 0%,transparent 70%);pointer-events: none}.about-image-content{position: relative;z-index: 2;text-align: center}.about-image-content img{max-width: 70%;margin: 0 auto 2rem;filter: drop-shadow(0 2px 12px rgba(80,201,210,0.15))}.about-tagline{color: var(--n-300);font-size: 0.9rem;font-weight: 500;letter-spacing: 0.08em}.about-text h2{font-family: var(--font-display);font-size: clamp(1.8rem,3.5vw,2.6rem);line-height: 1.2;margin-bottom: 1.5rem}.about-text h2 em{font-style: italic;color: var(--dc-blue)}.about-text p{color: var(--text-secondary);margin-bottom: 1.25rem;font-size: 1rem}.about-features{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;margin-top: 2rem}.about-feature{display: flex;align-items: flex-start;gap: 0.75rem}.about-feature-icon{width: 32px;height: 32px;border-radius: 8px;background: var(--gradient-subtle);display: flex;align-items: center;justify-content: center;flex-shrink: 0;color: var(--dc-teal);font-size: 0.9rem}.about-feature span{font-size: 0.9rem;font-weight: 500;color: var(--n-700)}.approach{padding: var(--section-pad) 0;background: var(--gradient-hero);color: var(--white);position: relative;overflow: hidden}.approach::before{content: '';position: absolute;inset: 0;background-image: linear-gradient(rgba(80,201,210,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(80,201,210,0.04) 1px,transparent 1px);background-size: 80px 80px;pointer-events: none}.approach .section-label{color: var(--dc-cyan)}.approach .section-title{color: var(--white)}.approach .section-desc{color: var(--text-light)}.approach-steps{display: grid;grid-template-columns: repeat(3,1fr);gap: 2rem;position: relative;z-index: 1}.approach-step{text-align: center;padding: 2.5rem 2rem;border-radius: var(--radius-lg);background: rgba(255,255,255,0.04);border: 1px solid rgba(255,255,255,0.06);transition: all 0.3s}.approach-step:hover{background: rgba(255,255,255,0.07);transform: translateY(-4px)}.step-number{font-family: var(--font-display);font-size: 3rem;background: var(--gradient-brand);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;line-height: 1;margin-bottom: 1rem}.approach-step h3{font-size: 1.15rem;font-weight: 600;margin-bottom: 0.75rem}.approach-step p{color: var(--n-400);font-size: 0.92rem;line-height: 1.65}.step-deliverable{font-size: 0.83rem;font-weight: 500;color: var(--dc-teal);margin-top: 0.85rem;padding-top: 0.85rem;border-top: 1px solid rgba(255,255,255,0.08)}.projects{padding: var(--section-pad) 0;background: var(--n-50)}.projects-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(380px,100%),1fr));gap: 1.5rem;margin-top: 1.5rem}.project-card{background: var(--white);border: 1px solid var(--n-200);border-radius: var(--radius-lg);padding: 2rem;position: relative;overflow: hidden;box-shadow: 0 2px 8px rgba(6,59,92,0.04);transition: all 0.4s cubic-bezier(0.16,1,0.3,1)}.project-card::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 3px;background: var(--gradient-brand);opacity: 0.35;transition: opacity 0.4s}.project-card:hover{border-color: transparent;box-shadow: 0 12px 40px rgba(6,59,92,0.08);transform: translateY(-4px)}.project-card:hover::before{opacity: 1}.project-tag{display: inline-block;font-size: 0.75rem;font-weight: 600;color: var(--dc-blue);background: rgba(26,140,181,0.1);padding: 0.3rem 0.85rem;border-radius: 100px;margin-bottom: 1rem;letter-spacing: 0.02em}.project-card h3{font-size: 1.15rem;font-weight: 600;color: var(--dc-navy);margin-bottom: 0.35rem}.project-client{font-size: 0.85rem;color: var(--dc-teal);font-weight: 500;font-style: italic;margin-bottom: 1rem}.project-card p:last-of-type:not(.project-client){font-size: 0.93rem;color: var(--text-secondary);line-height: 1.65}.tech{padding: clamp(3rem,6vw,5rem) 0;background: var(--white)}.tech-logos{display: grid;grid-template-columns: repeat(3,1fr);gap: 1rem;margin-top: 1.5rem}.tech-item{display: flex;flex-direction: column;align-items: center;justify-content: flex-start;gap: 0.4rem;padding: 1.25rem 1rem;background: var(--n-50);border-radius: var(--radius);border: 1px solid var(--n-200);min-height: 140px;text-align: center;box-shadow: 0 1px 4px rgba(6,59,92,0.03);transition: all 0.3s}.tech-item:hover{border-color: transparent;box-shadow: 0 8px 24px rgba(6,59,92,0.06);transform: translateY(-3px)}.tech-item svg{width: 32px;height: 32px;flex-shrink: 0}.tech-item span{font-size: 0.82rem;font-weight: 600;color: var(--n-600);line-height: 1.3}.tech-outcome{font-size: 0.78rem;color: var(--dc-blue);font-weight: 500;text-align: center;margin: 0;line-height: 1.4}.careers{padding: clamp(2.25rem,6vw,5rem) 0;background: var(--gradient-hero);color: var(--white);position: relative;overflow: hidden}.careers::before{content: '';position: absolute;inset: 0;background-image: linear-gradient(rgba(80,201,210,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(80,201,210,0.04) 1px,transparent 1px);background-size: 80px 80px;pointer-events: none}.careers-inner{position: relative;z-index: 1;text-align: center;max-width: 640px;margin-inline: auto}.careers .section-label{color: var(--dc-cyan)}.careers .section-title{color: var(--white);margin-bottom: 1.25rem;font-size: clamp(1.65rem,4vw,3rem)}.careers .section-desc{color: var(--text-light);max-width: none;margin-inline: auto;margin-bottom: 2rem}.contact{padding: var(--section-pad) 0;background: var(--white)}.contact-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 3rem}.contact-info h2{font-family: var(--font-display);font-size: clamp(1.8rem,3.5vw,2.6rem);line-height: 1.2;margin-bottom: 1.5rem}.contact-info > p{color: var(--text-secondary);margin-bottom: 2rem}.contact-item{display: flex;align-items: flex-start;gap: 1rem;margin-bottom: 1.5rem}.contact-icon{width: 44px;height: 44px;border-radius: 12px;background: var(--gradient-subtle);display: flex;align-items: center;justify-content: center;flex-shrink: 0;color: var(--dc-teal)}.contact-item-text strong{display: block;font-size: 0.9rem;margin-bottom: 0.15rem}.contact-item-text span,.contact-item-text a{color: var(--text-secondary);font-size: 0.9rem}.contact-item-text a{text-decoration: underline}.contact-item-text a:hover{color: var(--dc-teal)}.contact-social{display: flex;gap: 0.75rem;margin-top: 2rem}.social-link{width: 44px;height: 44px;border-radius: 12px;background: var(--n-100);display: flex;align-items: center;justify-content: center;color: var(--n-600);transition: all 0.3s}.social-link:hover{background: var(--dc-teal);color: var(--white);transform: translateY(-2px)}.contact-form{background: var(--n-50);border-radius: var(--radius-lg);padding: 2.5rem;border: 1px solid var(--n-200)}.form-honeypot{position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden;opacity: 0;pointer-events: none}.form-group{margin-bottom: 1.25rem}.form-group label{display: block;font-size: 0.85rem;font-weight: 600;color: var(--n-700);margin-bottom: 0.4rem}.form-group input,.form-group select,.form-group textarea{width: 100%;padding: 0.75rem 1rem;border: 1.5px solid var(--n-200);border-radius: 10px;font-family: var(--font-body);font-size: 0.92rem;background: var(--white);transition: border-color 0.3s;color: var(--text-primary)}.form-group select{appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235E7282' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 1rem center;padding-right: 2.5rem;cursor: pointer}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{border-color: var(--dc-teal);outline: 2px solid var(--dc-teal);outline-offset: 2px}.form-group textarea{min-height: 120px;resize: vertical}.contact-form .btn-primary{width: 100%;justify-content: center}.form-required-note{font-size: 0.82rem;color: var(--text-secondary);margin-bottom: 1rem}.map-wrapper{margin-top: 3rem;border-radius: var(--radius-lg);overflow: hidden;border: 1px solid var(--n-200);height: 300px;max-width: 100%}.map-wrapper iframe{width: 100%;height: 100%;border: 0}.map-placeholder{width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 1rem;background: var(--n-100);color: var(--text-secondary);font-size: 0.9rem;text-align: center;padding: 2rem;cursor: pointer;border: none;font-family: inherit;transition: background 0.2s}.map-placeholder:hover{background: var(--n-200)}.map-placeholder svg{opacity: 0.4}.map-placeholder span{font-weight: 600;color: var(--dc-teal)}.map-placeholder small{font-size: 0.78rem;color: var(--text-secondary)}.map-wrapper--loaded .map-placeholder{display: none}.map-wrapper--loaded iframe{display: block}.footer{background: var(--n-900);color: var(--n-400);padding: 3.5rem 0 1.5rem}.footer-grid{display: grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap: 2rem;margin-bottom: 3rem}.footer-brand img{height: 44px;margin-bottom: 1rem}.footer-brand p{font-size: 0.88rem;line-height: 1.6;max-width: 300px}.footer h4{color: var(--white);font-size: 0.9rem;font-weight: 600;margin-bottom: 1rem}.footer-links{list-style: none}.footer-links li{margin-bottom: 0.5rem}.footer-links a{font-size: 0.88rem;padding-block: 2px;display: inline-block;transition: color 0.3s}.footer-links a:hover{color: var(--dc-cyan)}.footer-bottom{padding-top: 1.5rem;border-top: 1px solid rgba(255,255,255,0.06);display: flex;justify-content: space-between;align-items: center;font-size: 0.82rem}.footer-legal{display: flex;gap: 1.5rem}.footer-legal a{text-decoration: underline}.footer-legal a:hover{color: var(--dc-cyan)}.cookie-banner{position: fixed;bottom: 1.5rem;left: 50%;transform: translateX(-50%);background: var(--n-900);color: var(--n-300);padding: 1.25rem 2rem;border-radius: var(--radius);display: flex;align-items: center;gap: 1.5rem;max-width: 680px;width: 90%;z-index: 9999;box-shadow: 0 12px 40px rgba(0,0,0,0.3);animation: slideUp 0.5s ease}.cookie-banner.hidden{display: none}.cookie-banner:not(.hidden) ~ .sticky-cta{opacity: 0;visibility: hidden;pointer-events: none}.cookie-banner p{font-size: 0.88rem;flex: 1}.cookie-banner a{color: var(--dc-cyan);text-decoration: underline}.cookie-actions{display: flex;gap: 0.5rem;flex-shrink: 0}.cookie-btn{padding: 0.5rem 1rem;border-radius: 8px;font-size: 0.82rem;font-weight: 600}.cookie-accept{background: var(--dc-teal);color: var(--white)}.cookie-decline{background: rgba(255,255,255,0.1);color: var(--n-300)}@keyframes slideUp{from{opacity: 0;transform: translate(-50%,20px)}to{opacity: 1;transform: translate(-50%,0)}}.scroll-top{position: fixed;bottom: 2rem;right: 2rem;width: 44px;height: 44px;border-radius: 50%;background: var(--dc-teal);color: var(--white);display: flex;align-items: center;justify-content: center;z-index: 999;opacity: 0;transform: translateY(10px);transition: all 0.3s;box-shadow: 0 4px 16px rgba(27,164,189,0.3);visibility: hidden;pointer-events: none}.scroll-top.visible{opacity: 1;transform: translateY(0);visibility: visible;pointer-events: auto}.scroll-top:hover{background: var(--dc-blue);transform: translateY(-2px)}.sticky-cta{position: fixed;bottom: 2rem;right: 6rem;padding: 0.85rem 1.5rem;border-radius: 100px;background: linear-gradient(135deg,var(--dc-blue),var(--dc-teal));color: var(--white);font-weight: 600;font-size: 0.95rem;text-decoration: none;z-index: 998;opacity: 0;transform: translateY(10px);transition: all 0.3s;box-shadow: 0 4px 20px rgba(27,164,189,0.4);white-space: nowrap;visibility: hidden;pointer-events: none}.sticky-cta.visible{opacity: 1;transform: translateY(0);visibility: visible;pointer-events: auto}.sticky-cta:hover{transform: translateY(-2px);box-shadow: 0 6px 24px rgba(27,164,189,0.55)}.sticky-cta:focus-visible{outline: 3px solid var(--white);outline-offset: 3px}.page-hero{background: var(--gradient-hero);padding: 3rem 0 4rem;text-align: center;color: var(--white)}.page-hero h1,.page-hero .page-hero-h1{font-family: var(--font-display);font-size: clamp(2rem,5vw,3rem);font-weight: 400;margin-bottom: 0.5rem}.page-hero p{color: var(--text-muted);font-size: 0.95rem}.content-wrap{max-width: 760px;margin: 0 auto;padding: clamp(2.5rem,6vw,4rem) clamp(1.25rem,4vw,2.5rem)}.content-wrap h2{font-family: var(--font-display);font-size: 1.8rem;font-weight: 400;color: var(--n-800);margin-bottom: 1.5rem}.content-wrap h3{font-size: 1.05rem;font-weight: 600;color: var(--n-800);margin-top: 2rem;margin-bottom: 0.5rem}.content-wrap p{color: var(--text-secondary);margin-bottom: 0.75rem;line-height: 1.75}.content-meta{font-style: italic;font-size: 0.88rem;color: var(--text-secondary)}.content-wrap a{color: var(--dc-blue);text-decoration: underline}.content-wrap ul{color: var(--text-secondary);line-height: 1.75;margin-bottom: 1rem;padding-left: 1.5rem}.content-wrap li{margin-bottom: 0.35rem}.policy-table{width: 100%;border-collapse: collapse;margin: 1rem 0 1.25rem;font-size: 0.92rem}.policy-table th,.policy-table td{padding: 0.6rem 0.75rem;text-align: left;border-bottom: 1px solid var(--n-200);color: var(--text-secondary)}.policy-table th{color: var(--text-primary);font-weight: 600;background: var(--n-50)}.policy-table td strong{color: var(--text-primary)}@media (max-width: 620px){.policy-table{font-size: 0.82rem}.policy-table th,.policy-table td{padding: 0.5rem}}@media (max-width: 960px){.hero{flex-direction: column;align-items: stretch;padding-top: 4rem;padding-bottom: 2rem}.hero-sub{margin-bottom: 1.25rem}.hero-trust{margin-top: 1rem}.hero-trust-keywords{font-size: 0.82rem}.hero-trust-sub{display: none}.about-grid{grid-template-columns: 1fr;gap: 2rem}.about-image{order: -1}.approach-steps{grid-template-columns: 1fr}.contact-grid{grid-template-columns: 1fr}.footer-grid{grid-template-columns: 1fr 1fr 1fr;gap: 2rem}}@media (max-width: 768px){.nav-links{display: none;position: absolute;top: 100%;left: 0;right: 0;background: rgba(3,27,46,0.98);backdrop-filter: blur(20px);flex-direction: column;padding: 1.5rem 2rem;gap: 1rem}.nav-links.open{display: flex}.mobile-toggle{display: flex}.nav-logo{height: 40px}.services-grid{grid-template-columns: 1fr}.projects-grid{grid-template-columns: 1fr}.tech-logos{grid-template-columns: repeat(2,1fr)}.about-features{grid-template-columns: 1fr}.contact-grid{grid-template-columns: 1fr}.map-wrapper{height: 240px}.footer-grid{grid-template-columns: 1fr 1fr}.footer-bottom{flex-direction: column;gap: 1rem;text-align: center}.about-image{aspect-ratio: 16/9}.footer{padding-bottom: 3.5rem}.sticky-cta{bottom: 0;right: 0;width: 100%;border-radius: 0;text-align: center}.scroll-top{display: none}}@media (max-width: 620px){.cookie-banner{flex-direction: column;align-items: center;text-align: center;gap: 0.5rem;padding: 0.75rem 1.25rem;bottom: 0.75rem}.cookie-banner p{font-size: 0.82rem;line-height: 1.35}.cookie-btn{min-height: 44px;padding: 0.5rem 1.25rem;display: inline-flex;align-items: center;justify-content: center}body:has(.cookie-banner:not(.hidden)) .hero{min-height: calc(100vh - 8rem)}html:has(.cookie-banner:not(.hidden)){scroll-padding-bottom: 8rem}}@media (max-width: 480px){.footer-grid{grid-template-columns: 1fr}.map-wrapper{height: 220px}.tech-logos{grid-template-columns: 1fr}.tech-item{min-height: auto}}.cta-wrapper{text-align: center;margin-top: 3rem}.cta-wrapper--approach{text-align: center;margin-top: 3rem;position: relative;z-index: 1}.cta-wrapper--about{margin-top: 2rem}.gerard-section{margin-top: 3rem;padding-top: 2rem;border-top: 1px solid var(--n-200)}.gerard-name{font-size: 1.3rem;font-weight: 600;margin-bottom: 0.75rem;color: var(--n-800)}.gerard-title{font-size: 0.95rem;color: var(--text-secondary);margin-bottom: 0.5rem}.gerard-bio{font-size: 0.92rem;color: var(--text-secondary);line-height: 1.65}.gerard-linkedin{display: inline-flex;align-items: center;gap: 0.5rem;margin-top: 1rem;color: var(--dc-blue);font-weight: 500;font-size: 0.9rem;transition: color 0.3s;text-decoration: none}.gerard-linkedin:hover{color: var(--dc-teal);text-decoration-line: underline;text-underline-offset: 3px}.gerard-linkedin:focus-visible{outline: 2px solid var(--dc-blue);outline-offset: 3px;border-radius: 4px}.tech-header{text-align: center;margin-bottom: 3rem}.section-desc--centered{margin: 1rem auto 0}.tech .container{text-align: center}.contact-form-title{font-size: 1.15rem;margin-bottom: 1.5rem}.form-status{display: none;margin-bottom: 1rem;padding: 0.75rem 1rem;border-radius: 10px;font-size: 0.9rem}.form-status.status-visible{display: block}.form-status--success{background: rgba(56,217,169,0.12);color: #0d5c40}.form-status--error{background: rgba(224,96,80,0.12);color: #7d1810}:focus-visible{outline: 2px solid var(--dc-teal);outline-offset: 2px}.map-hidden{display: none}.btn-loading{opacity: 0.7}.animate-init{opacity: 0;transform: translateY(20px);transition: opacity 0.6s ease,transform 0.6s ease}.animate-visible{opacity: 1;transform: translateY(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}.animate-init,.animate-visible{opacity: 1 !important;transform: none !important;transition: none !important}}