
html{scroll-behavior:smooth}
body{font-family:Inter,sans-serif;background:#fff;color:#15171A}
h1,h2,h3,h4{font-family:Manrope,sans-serif}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1)}
.reveal-left{opacity:0;transform:translateX(-34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1)}
.reveal-right{opacity:0;transform:translateX(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1)}
.is-visible{opacity:1!important;transform:none!important}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}
/* .nav-scrolled and the mobile menu live in main.css (shared header/footer). */
.hero-grid{
 background-image:linear-gradient(rgba(23,43,93,.045) 1px,transparent 1px),
 linear-gradient(90deg,rgba(23,43,93,.045) 1px,transparent 1px);
 background-size:48px 48px;
}
.hero-glow{animation:heroGlow 6s ease-in-out infinite}
@keyframes heroGlow{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.08);opacity:.7}}
.float{animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.contact-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.contact-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(23,43,93,.10);border-color:rgba(239,43,36,.22)}
.form-field{transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.form-field:focus{outline:none;border-color:#EF2B24;box-shadow:0 0 0 4px rgba(239,43,36,.10);background:#fff}
.map-grid{
 background-color:#eef1f5;
 background-image:linear-gradient(rgba(23,43,93,.08) 1px,transparent 1px),
 linear-gradient(90deg,rgba(23,43,93,.08) 1px,transparent 1px);
 background-size:42px 42px;
}
.map-road{position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(23,43,93,.06);transform-origin:center}
.map-road.one{width:130%;height:14px;left:-15%;top:42%;transform:rotate(-18deg)}
.map-road.two{width:120%;height:10px;left:-10%;top:63%;transform:rotate(24deg)}
.map-road.three{width:12px;height:130%;left:57%;top:-15%;transform:rotate(19deg)}
.map-road.four{width:9px;height:120%;left:29%;top:-10%;transform:rotate(-34deg)}
.map-pin{animation:pinPulse 2.2s ease-in-out infinite}
@keyframes pinPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,43,36,.28)}50%{box-shadow:0 0 0 14px rgba(239,43,36,0)}}
.success-message{display:none}
.form-success .success-message{display:block}
.form-success .form-fields{display:none}
