*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.7;color:#334155;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:#2563eb;text-decoration:none;transition:color .2s ease}a:hover{color:#0f2b4c}h1,h2,h3,h4,h5,h6{font-family:"Playfair Display","Georgia",serif;color:#0f2b4c;line-height:1.3;margin:0 0 1rem;font-weight:700}p{margin:0 0 1rem}ul,ol{padding-left:1.5rem}li{margin-bottom:.5rem}.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0;transition:box-shadow .2s ease}.site-header.scrolled{box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.05)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#0f2b4c}.brand-icon{flex-shrink:0}.brand-text{font-family:"Inter",sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.brand-accent{color:#3b82f6}.nav-menu{display:flex;align-items:center;gap:.25rem}.nav-link{display:inline-flex;align-items:center;padding:.5rem .9rem;font-size:.925rem;font-weight:500;color:#334155;text-decoration:none;border-radius:6px;transition:color .2s ease,background .2s ease}.nav-link:hover{color:#0f2b4c;background:#f8fafc}.nav-link.is-active{color:#2563eb;font-weight:600}.nav-cta{background:#0f2b4c;color:#fff !important;font-weight:600;margin-left:.5rem;border-radius:6px;padding:.5rem 1.25rem}.nav-cta:hover{background:#1e3a5f;color:#fff !important}.nav-toggle{display:none;background:none;border:1px solid #cbd5e1;border-radius:6px;padding:8px;cursor:pointer;position:relative;width:44px;height:44px}.hamburger,.hamburger::before,.hamburger::after{display:block;width:20px;height:2px;background:#0f2b4c;border-radius:2px;transition:transform .2s ease,opacity .2s ease;position:absolute;left:50%;transform:translateX(-50%)}.hamburger{top:50%;margin-top:-1px}.hamburger::before{content:"";top:-6px;left:0;transform:none}.hamburger::after{content:"";top:6px;left:0;transform:none}.nav-toggle[aria-expanded=true] .hamburger{background:rgba(0,0,0,0)}.nav-toggle[aria-expanded=true] .hamburger::before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger::after{top:0;transform:rotate(-45deg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.75rem;font-family:"Inter",sans-serif;font-size:.95rem;font-weight:600;border-radius:8px;text-decoration:none;cursor:pointer;transition:all .2s ease;border:2px solid rgba(0,0,0,0);line-height:1.4}.btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn-primary:hover{background:#0f2b4c;border-color:#0f2b4c;color:#fff;box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.05)}.btn-outline{background:#fff;color:#0f2b4c;border-color:#0f2b4c}.btn-outline:hover{background:#0f2b4c;color:#fff;box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.05)}.btn-white{background:#fff;color:#0f2b4c;border-color:#fff}.btn-white:hover{background:#f1f5f9;border-color:#f1f5f9;color:#0f2b4c}.btn-ghost-light{background:rgba(0,0,0,0);color:#fff;border-color:rgba(255,255,255,.45)}.btn-ghost-light:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.75);color:#fff}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.cta-center{justify-content:center}.hero{background:linear-gradient(135deg, #0f2b4c 0%, #1e3a5f 100%);color:#fff;padding:5rem 0 4.5rem;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;border-radius:50%;background:rgba(59,130,246,.08);pointer-events:none}.hero::after{content:"";position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;border-radius:50%;background:rgba(59,130,246,.06);pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:720px}.hero .eyebrow{display:inline-block;font-family:"Inter",sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#dbeafe;margin-bottom:1.25rem;padding:.35rem .9rem;background:rgba(59,130,246,.15);border-radius:100px}.hero h1{font-size:3rem;font-weight:700;color:#fff;margin-bottom:1.25rem;line-height:1.15}.hero .lead{font-size:1.2rem;line-height:1.7;color:rgba(255,255,255,.85);max-width:580px;margin-bottom:2rem}.section-light{padding:5rem 0;background:#fff}.section-gray{padding:5rem 0;background:#f8fafc}.section-navy{padding:5rem 0;background:#0f2b4c;color:#fff}.section-header{text-align:center;max-width:640px;margin:0 auto 3rem}.section-header h2{font-size:2rem;margin-bottom:.75rem}.section-header p{color:#64748b;font-size:1.05rem}.section-navy .section-header h2{color:#fff}.section-navy .section-header p{color:rgba(255,255,255,.7)}.services-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.5rem}.service-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;transition:all .2s ease;position:relative}.service-card:hover{border-color:#3b82f6;box-shadow:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.04);transform:translateY(-2px)}.service-icon{width:52px;height:52px;border-radius:12px;background:#eff6ff;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:#2563eb}.service-icon svg{width:26px;height:26px}.service-card h3{font-family:"Inter",sans-serif;font-size:1.15rem;font-weight:700;margin-bottom:.5rem}.service-card p{color:#64748b;font-size:.95rem;margin-bottom:1rem}.service-card .card-link{font-size:.9rem;font-weight:600;color:#2563eb;display:inline-flex;align-items:center;gap:.35rem}.service-card .card-link:hover{gap:.6rem}.section-gray .service-card{background:#fff}.stats-bar{display:grid;grid-template-columns:repeat(4, 1fr);gap:2rem;text-align:center;padding:3rem 0}.stat-item .stat-number{font-family:"Playfair Display",serif;font-size:2.5rem;font-weight:700;color:#3b82f6;display:block;line-height:1;margin-bottom:.35rem}.stat-item .stat-label{font-size:.9rem;color:rgba(255,255,255,.7)}.commit-strip{display:grid;grid-template-columns:repeat(4, 1fr);gap:2rem;text-align:center;padding:3rem 0}.commit-icon{width:52px;height:52px;border-radius:50%;background:rgba(59,130,246,.18);color:#93c5fd;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.commit-icon svg{width:26px;height:26px}.commit-item h3{font-family:"Inter",sans-serif;font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.5rem}.commit-item p{font-size:.92rem;color:rgba(255,255,255,.72);margin:0;line-height:1.65}.process-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:2rem}.process-step{text-align:center;padding:2rem 1.5rem}.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#2563eb;color:#fff;font-family:"Inter",sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:1.25rem}.process-step h3{font-family:"Inter",sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.process-step p{color:#64748b;font-size:.95rem}.testimonial-block{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.05);max-width:680px;margin:0 auto;text-align:center}.testimonial-block blockquote{font-family:"Playfair Display",serif;font-size:1.25rem;color:#0f2b4c;font-style:italic;line-height:1.6;margin:0 0 1.5rem;padding:0;border:none}.testimonial-block .testimonial-cite{font-family:"Inter",sans-serif;font-size:.9rem;color:#64748b}.cta-band{background:linear-gradient(135deg, #0f2b4c 0%, #1e3a5f 100%);border-radius:16px;padding:3.5rem 2.5rem;text-align:center;margin:0;position:relative;overflow:hidden}.cta-band::before{content:"";position:absolute;top:-40%;right:-15%;width:300px;height:300px;border-radius:50%;background:rgba(59,130,246,.1);pointer-events:none}.cta-band h2{color:#fff;font-size:1.8rem;margin-bottom:.75rem}.cta-band p{color:rgba(255,255,255,.8);font-size:1.05rem;max-width:500px;margin:0 auto 1.5rem}.features-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2, 1fr);gap:1.5rem}.feature-item{display:flex;gap:1rem;margin:0}.feature-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#eff6ff;display:flex;align-items:center;justify-content:center;color:#2563eb;margin-top:.15rem}.feature-icon svg{width:20px;height:20px}.feature-text strong{display:block;font-family:"Inter",sans-serif;color:#0f2b4c;margin-bottom:.25rem}.feature-text p,.feature-text span{color:#64748b;font-size:.95rem;margin:0}.page-hero{background:linear-gradient(135deg, #0f2b4c 0%, #1e3a5f 100%);padding:3.5rem 0 3rem;position:relative;overflow:hidden}.page-hero::before{content:"";position:absolute;top:-40%;right:-15%;width:400px;height:400px;border-radius:50%;background:rgba(59,130,246,.08);pointer-events:none}.page-title{color:#fff;font-size:2.5rem;margin-bottom:.5rem;position:relative;z-index:1}.page-subtitle{color:rgba(255,255,255,.75);font-size:1.1rem;max-width:600px;position:relative;z-index:1;margin:0}.page-content{padding:3.5rem 0 4rem}.content-wrapper{max-width:800px}.content-wrapper h2{font-size:1.6rem;margin:2.5rem 0 1rem;padding-top:1rem}.content-wrapper h3{font-family:"Inter",sans-serif;font-size:1.15rem;margin:1.5rem 0 .75rem}.content-wrapper p{margin-bottom:1rem}.content-wrapper ul{margin-bottom:1.5rem}.content-wrapper .lead{font-size:1.15rem;color:#334155;line-height:1.75;max-width:65ch;margin-bottom:2rem}.service-detail{border:1px solid #e2e8f0;border-radius:16px;padding:2rem;margin-bottom:1.5rem;background:#fff;transition:border-color .2s ease}.service-detail:hover{border-color:#3b82f6}.service-detail h2{margin-top:0;padding-top:0}.service-detail .detail-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.service-detail .detail-tag{display:inline-flex;align-items:center;padding:.3rem .8rem;background:#eff6ff;color:#2563eb;border-radius:100px;font-size:.85rem;font-weight:600}.service-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.service-nav a{padding:.4rem .9rem;border:1px solid #e2e8f0;border-radius:100px;font-size:.85rem;font-weight:500;color:#334155;transition:all .2s ease}.service-nav a:hover{border-color:#3b82f6;background:#eff6ff;color:#2563eb}.approach-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem;margin:2rem 0}.approach-card{border:1px solid #e2e8f0;border-radius:16px;padding:1.75rem;background:#f8fafc;text-align:center}.approach-card .step-number{margin-bottom:1rem}.approach-card h3{font-family:"Inter",sans-serif;font-size:1.05rem;margin-bottom:.5rem}.approach-card p{color:#64748b;font-size:.9rem;margin:0}#contact-form{max-width:40rem;margin:0;padding:2rem;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.05)}.form-status{margin:0 0 1.1rem;padding:.8rem 1rem;border-radius:8px;font-weight:600}.form-status:empty{display:none}.form-status-ok{background:#e6f6ec;border:1px solid #9adbb0;color:#0a5c2e}.form-status-err{background:#fdecec;border:1px solid #f3aeae;color:#a61b1b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field{margin-bottom:1.25rem}.form-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:#0f2b4c}.form-field .optional{font-weight:400;color:#94a3b8}.form-field input,.form-field textarea{display:block;width:100%;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit;color:#0f172a;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.form-field input::placeholder,.form-field textarea::placeholder{color:#94a3b8}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15)}.form-field textarea{resize:vertical;min-height:8rem}.button-send{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.85rem;background:#2563eb;color:#fff;font-family:"Inter",sans-serif;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease}.button-send:hover{background:#0f2b4c}.button-send:disabled{opacity:.65;cursor:wait}.form-note{margin:1rem 0 0;color:#64748b;font-size:.85rem}.form-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start}.contact-info h3{font-family:"Inter",sans-serif;font-size:1rem;margin-bottom:.5rem}.contact-info p{color:#64748b;margin-bottom:1.5rem}.contact-method{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.contact-method-icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#eff6ff;display:flex;align-items:center;justify-content:center;color:#2563eb}.contact-method-icon svg{width:22px;height:22px}.contact-method-text strong{display:block;color:#0f2b4c;font-size:.9rem;margin-bottom:.15rem}.contact-method-text a,.contact-method-text span{font-size:.9rem;color:#64748b}.error-page{padding:6rem 0;text-align:center}.error-content{max-width:480px;margin:0 auto}.error-code{font-family:"Playfair Display",serif;font-size:6rem;font-weight:700;color:#e2e8f0;line-height:1;display:block;margin-bottom:1rem}.error-content h1{font-size:2rem;margin-bottom:.75rem}.error-content p{color:#64748b;margin-bottom:2rem}.site-footer{background:#0f2b4c;color:rgba(255,255,255,.75);padding:4rem 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand .footer-logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff;margin-bottom:.75rem}.footer-brand .brand-text{font-size:1.2rem;color:#fff}.footer-tagline{color:rgba(255,255,255,.55);font-size:.9rem;max-width:260px;margin:0}.footer-links h4{font-family:"Inter",sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1rem}.footer-links a{display:block;color:rgba(255,255,255,.75);font-size:.9rem;padding:.25rem 0;transition:color .2s ease}.footer-links a:hover{color:#fff}.footer-bottom{padding:1.5rem 0;text-align:center}.footer-bottom p{margin:0;font-size:.85rem;color:rgba(255,255,255,.4)}a:focus-visible,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;background:#2563eb;color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 6px 0;font-weight:600}.skip-link:focus{left:0;color:#fff}@media (max-width: 1024px){.services-grid{grid-template-columns:repeat(2, 1fr)}.stats-bar{grid-template-columns:repeat(2, 1fr);gap:1.5rem}.commit-strip{grid-template-columns:repeat(2, 1fr);gap:2rem 1.5rem}.footer-grid{grid-template-columns:repeat(2, 1fr)}.contact-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width: 768px){.nav-toggle{display:block}.nav-menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.04);flex-direction:column;padding:.5rem 1.5rem 1rem;z-index:99}.nav-menu.is-open{display:flex}.nav-link{padding:.75rem .5rem;border-bottom:1px solid #f1f5f9;width:100%}.nav-cta{margin:.5rem 0 0;text-align:center;justify-content:center}.hero{padding:3.5rem 0 3rem}.hero h1{font-size:2.2rem}.hero .lead{font-size:1.05rem}.section-light,.section-gray,.section-navy{padding:3rem 0}.section-header h2{font-size:1.6rem}.services-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.approach-grid{grid-template-columns:1fr}.features-list{grid-template-columns:1fr}.stats-bar{grid-template-columns:repeat(2, 1fr)}.commit-strip{grid-template-columns:repeat(2, 1fr)}.form-row{grid-template-columns:1fr}.page-title{font-size:1.8rem}.page-hero{padding:2.5rem 0 2rem}.cta-band{padding:2.5rem 1.5rem}.cta-band h2{font-size:1.4rem}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.contact-grid{grid-template-columns:1fr}#contact-form{padding:1.5rem}}@media (max-width: 480px){.hero h1{font-size:1.8rem}.stats-bar{grid-template-columns:1fr 1fr}.stat-item .stat-number{font-size:2rem}.commit-strip{grid-template-columns:1fr;gap:1.75rem}.commit-strip .commit-icon{margin-bottom:.75rem}.cta-row{flex-direction:column}.cta-row .btn{width:100%}}