/* Hero Section */

#hero{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 40px 0px;
background: var(--hero-gradient);
}

#hero h1{
font-weight: 700;
font-size: 48px;
margin-bottom: 16px;
color: var(--text-light);
animation: onload 0.6s ease-in-out forwards !important;
}

#hero p{
max-width: 672px;
font-size: 20px;
color: var(--text-light);
animation: onload 0.6s ease-in-out forwards !important;
}

#body {
padding: 64px 20px;
background-color: #f7f5f2;
}

.grids-wrapper {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 40px;
}

#grid1 h2 {
font-size: 30px;
font-weight: 700;
margin-bottom: 32px;
color: var(--primary-color);
animation: onload 0.6s ease-in-out forwards !important;
}

.cards-container {
display: flex;
flex-direction: column;
gap: 20px;
}

.card:nth-child(1),
.card:nth-child(2) {
    animation: onload 0.6s ease-in-out forwards;
}

.card:hover:nth-child(1),
.card:hover:nth-child(2) {
    transform: scale(1.05) !important;
    box-shadow: 0 12px 32px hsla(165, 75%, 25%, 0.35) !important;
}

.card {
display: flex;
flex-direction: row;
justify-content: start;
gap: 15px;
align-items: center;
width: 100%;
padding: 24px;
background-color: #ffffff;
border-radius: 8px;
transition: transform 0.25s ease, box-shadow 0.25s ease;
transform: scale(1);
box-shadow: 0 6px 18px hsla(165, 75%, 25%, 0.25);
animation: appear ease-in-out;
animation-timeline: view();
animation-range: entry 0% cover 20%;
}

.card:hover{
    transform: scale(1.05);
    box-shadow: 0 12px 32px hsla(165, 75%, 25%, 0.35);
}

.card .icon{
padding: 12px;
background: var(--hero-gradient);
border-radius: 15px;
color: var(--text-light);
margin-bottom: auto;
}

.top{
font-weight: 600;
color: var(--primary-color);
margin-bottom: 4px;
}

.bottom{
color: var(--text-mute);
}

#grid2 h2 {
font-weight: 700;
font-size: 30px;
color: var(--primary-color);
margin-bottom: 20px;
animation: onload 0.6s ease-in-out forwards;
}

.contact-form {
display: flex;
flex-direction: column;
gap: 15px;
background-color: var(--background-light);
padding: 30px;
border-radius: 10px;
border: 0.1px solid #ccc;
animation: onload 0.6s ease-in-out forwards;
}

.form-group {
display: flex;
flex-direction: column;
}

.form-group label {
margin-bottom: 5px;
font-weight: 600;
animation: onload 0.7s ease-in-out forwards;
}

.form-group input,
.form-group select,
.form-group textarea {
padding: 10px 15px;
border: 1px solid #ccc;
border-radius: 11px;
font-size: 16px;
outline: none;
width: 100%;
box-sizing: border-box;
background-color: var(--background-low-light);
color: var(--text-muted);
animation: onload 0.7s ease-in-out forwards;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
color: var(--text-muted);
background-color: var(--background-low-light);
animation: onload 0.8s ease-in-out forwards;
}

button[type="submit"] {
padding: 12px 20px;
border: none;
border-radius: 6px;
background: var(--hero-gradient);
color: #fff;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s;
animation: onload 0.8s ease-in-out forwards;
}

button[type="submit"]:hover {
background: var(--hero-gradient-hover);
}

/* Map Section */

#map{
background-color: #ebe6e0;
padding: 64px 16px;
}

.map-box{
width: 100%;
height: 384px;
background-color: #d5dad2;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: hsl(160 10% 40%);
border-radius: 11px;
animation: appear ease-in-out;
animation-timeline: view();
animation-range: entry 0% cover 30%;
}

.map-box svg{
margin-bottom: 16px !important;
color: var(--primary-color) !important;
animation: appear ease-in-out;
animation-timeline: view();
animation-range: entry 0% cover 30%;
}

/* Media Query */

@media (max-width: 1024px) {
.grids-wrapper {
grid-template-columns: 1fr;
}
}
