:root{--primary-color:#056f82;--secondary-color:#f8fafc;--accent-color:#059669;--text-primary:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0;--white:#fff;--black:#000}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:var(--text-primary)}html{scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.5rem}p{color:var(--text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-block;padding:.75rem 1.5rem;text-decoration:none;border-radius:.5rem;font-weight:500;text-align:center;cursor:pointer;border:none;transition:all .3s ease}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-black{background-color:var(--black);color:var(--white)}.btn-primary:hover{background-color:#1e3a8a}.btn-secondary{background-color:transparent;color:var(--white);border:2px solid var(--white)}.btn-secondary:hover{background-color:var(--white);color:var(--primary-color)}.btn-outline{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:var(--white)}section{padding:4rem 0}.section-header{text-align:center;margin-bottom:4rem}.section-header p{font-size:1.25rem;margin-top:1rem}.hidden{display:none!important}.text-center{text-align:center}.header{position:fixed;top:0;left:0;right:0;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:1000}.header-content{justify-content:space-between;padding:1rem 0}.header-content,.logo{display:flex;align-items:center}.logo{gap:.75rem}.header .logo img{max-height:2.33rem;width:auto;display:block;object-fit:contain}.nav{display:flex;gap:2rem}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;transition:color .3s ease}.nav-link:hover{color:var(--primary-color)}.header .contact-info{display:flex;gap:1rem;align-items:center}.email,.phone{text-decoration:none;font-size:.875rem}.phone{color:var(--text-secondary)}.email{color:var(--primary-color);font-weight:500}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger{display:block;width:1.5rem;position:relative}.hamburger,.hamburger:after,.hamburger:before{height:2px;background-color:var(--text-secondary)}.hamburger:after,.hamburger:before{content:"";position:absolute;width:100%;transition:all .3s ease}.hamburger:before{top:-6px}.hamburger:after{bottom:-6px}.mobile-nav{display:none;flex-direction:column;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-color)}.mobile-nav .nav-link{padding:.5rem 0}.hero{min-height:100vh;background:linear-gradient(135deg,rgba(0,0,0,.75),rgba(0,0,0,.7)),url(/assets/trains-railroad-station.jpg) 50% /cover no-repeat;overflow:hidden}.hero,.hero-content{position:relative;display:flex;align-items:center}.hero-content{justify-content:space-between;margin-top:6rem;gap:2rem;width:100%;flex-wrap:wrap;z-index:2}.hero-text{text-align:center;margin-bottom:4rem}.hero-text h1{color:var(--white);margin-bottom:1.5rem}.hero-subtitle{font-size:1.5rem;margin-bottom:2rem;color:#bfdbfe}.hero-description{font-size:1.125rem;margin-bottom:3rem;color:#dbeafe;max-width:40rem;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-buttons .btn{padding:1rem 2rem;font-size:1.125rem}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2}.scroll-indicator a{color:hsla(0,0%,100%,.8);font-size:1.5rem;text-decoration:none;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.hero:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMDAnIGhlaWdodD0nMjAwJyB2aWV3Qm94PScwIDAgMjAwIDIwMCc+PGcgZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxJyBzdHJva2Utb3BhY2l0eT0nMC4wNyc+PGNpcmNsZSBjeD0nNTAnIGN5PSc1MCcgcj0nMjAnLz48bGluZSB4MT0nMzAnIHkxPSc1MCcgeDI9JzcwJyB5Mj0nNTAnLz48bGluZSB4MT0nNTAnIHkxPSczMCcgeDI9JzUwJyB5Mj0nNzAnLz48cmVjdCB4PScxMjAnIHk9JzMwJyB3aWR0aD0nNjAnIGhlaWdodD0nMTAnLz48bGluZSB4MT0nMTI1JyB5MT0nMzAnIHgyPScxMjUnIHkyPSc0MCcvPjxsaW5lIHgxPScxMzUnIHkxPSczMCcgeDI9JzEzNScgeTI9JzQwJy8+PGxpbmUgeDE9JzE0NScgeTE9JzMwJyB4Mj0nMTQ1JyB5Mj0nNDAnLz48bGluZSB4MT0nMTU1JyB5MT0nMzAnIHgyPScxNTUnIHkyPSc0MCcvPjxsaW5lIHgxPScxNjUnIHkxPSczMCcgeDI9JzE2NScgeTI9JzQwJy8+PGxpbmUgeDE9JzcwJyB5MT0nMTUwJyB4Mj0nOTAnIHkyPScxODAnLz48bGluZSB4MT0nMTEwJyB5MT0nMTUwJyB4Mj0nOTAnIHkyPScxODAnLz48Y2lyY2xlIGN4PSc5MCcgY3k9JzE1MCcgcj0nNScvPjxsaW5lIHgxPScwJyB5MT0nMTAwJyB4Mj0nMjAwJyB5Mj0nMTAwJy8+PGxpbmUgeDE9JzEwMCcgeTE9JzAnIHgyPScxMDAnIHkyPScyMDAnLz48L2c+PC9zdmc+");background-repeat:repeat;background-size:200px 200px;z-index:1;pointer-events:none;animation:blueprintScroll 60s linear infinite}@keyframes blueprintScroll{0%{background-position:0 0}to{background-position:-200px -200px}}.services{background-color:var(--secondary-color)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.service-card{background-color:var(--white);border-radius:.5rem;padding:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:box-shadow .3s ease}.service-card:hover{box-shadow:0 10px 25px rgba(0,0,0,.15)}.service-header{display:flex;gap:1rem;margin-bottom:1.5rem}.service-icon{width:4rem;height:4rem;background-color:rgba(30,64,175,.1);border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.service-text h3{margin-bottom:.75rem}.service-image{height:12rem;border-radius:.5rem;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover}.about{background-color:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.about-description{font-size:1.125rem;margin-bottom:2rem}.credentials{margin-bottom:2rem}.credentials h3{margin-bottom:1rem}.credentials-list{list-style:none}.credentials-list li{padding:.5rem 0;color:var(--text-secondary)}.about-buttons{display:flex;gap:1rem;flex-wrap:wrap}.about-image{position:relative}.about-image img{width:100%;height:24rem;object-fit:cover;border-radius:.5rem;box-shadow:0 10px 25px rgba(0,0,0,.15)}.badge{position:absolute;bottom:1rem;left:1rem;background-color:var(--white);padding:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);gap:.75rem}.badge,.badge-icon{border-radius:.5rem;display:flex;align-items:center}.badge-icon{width:3rem;height:3rem;background-color:var(--primary-color);justify-content:center;font-size:1.25rem}.badge-text p{margin:0}.badge-title{font-weight:600;color:var(--text-primary)}.badge-subtitle{font-size:.75rem}.contact{background-color:var(--secondary-color)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem}.contact-info h3{margin-bottom:1.5rem}.contact-items{margin-bottom:2rem}.contact-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.contact-icon{width:3rem;height:3rem;background-color:rgba(30,64,175,.1);border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.contact-item h4{margin-bottom:.25rem}.business-hours{background-color:var(--white);padding:1.5rem;border-radius:.5rem}.business-hours h4{margin-bottom:1rem}.hours{display:flex;flex-direction:column;gap:.5rem}.hour-row{display:flex;justify-content:space-between;font-size:.875rem}.hour-row span:first-child{color:var(--text-secondary)}.hour-row span:last-child{color:var(--text-primary)}.contact-form-container{background-color:var(--white);padding:2rem;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.contact-form-container h3,.success-message{margin-bottom:1.5rem}.success-message{background-color:#dcfce7;color:#166534;padding:1rem;border-radius:.5rem}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-group input,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(30,64,175,.1)}.submit-btn{width:100%;position:relative}.btn-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.footer{background-color:var(--black);color:var(--white);padding:3rem 0 1rem}.footer .footer-logo img{max-height:2.33rem;width:auto;display:block;object-fit:contain}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:2rem}.footer-section h4{color:var(--white);margin-bottom:1rem}.footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.footer-description{color:#9ca3af;line-height:1.6}.footer-contacts,.footer-hours{display:flex;flex-direction:column;gap:.75rem}.footer-contact{display:flex;align-items:center;gap:.5rem}.footer-contact a{color:#9ca3af;text-decoration:none;transition:color .3s ease}.footer-contact a:hover{color:var(--white)}.footer-bottom{border-top:1px solid #4b5563;padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{color:#9ca3af;margin:0}.footer-bottom a{color:#9ca3af;text-decoration:none;transition:color .3s ease}.footer-bottom a:hover{color:var(--white)}@media (max-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}section{padding:2rem 0}.section-header{margin-bottom:2rem}.desktop-nav,.header .contact-info{display:none}.mobile-menu-btn{display:block}.mobile-nav.mobileNavOpen{display:flex}.hero-text{max-width:100%;padding:0 1rem}.hero-buttons{flex-direction:column;align-items:center}.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.about-buttons{justify-content:center}}@media (max-width:480px){.services-grid{grid-template-columns:1fr}.service-header{flex-direction:column;text-align:center}.hero-buttons .btn{width:100%;max-width:280px}}