*{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}


body{

margin:0;

font-family:Georgia, serif;

color:#3b2a1f;

background:
linear-gradient(
rgba(246,234,211,.95),
rgba(246,234,211,.95)
),
url("https://www.transparenttextures.com/patterns/old-map.png");

}


/* =====================
HERO
===================== */

.hero{

background:
linear-gradient(
135deg,
#c96b3b,
#355834
);

color:white;

padding:70px 20px;

text-align:center;

position:relative;

overflow:hidden;

}


.hero h1{

font-size:48px;

margin:0 0 15px;

text-shadow:
0 3px 8px rgba(0,0,0,.3);

}


.hero p{

font-size:21px;

}


.hero small{

display:block;

margin-top:20px;

}


.hero:after{

content:"🌵 ☀️ 🏜️ 🇲🇽";

position:absolute;

bottom:5px;

left:0;

right:0;

font-size:45px;

opacity:.25;

}





/* =====================
LAYOUT
===================== */

.container{

max-width:950px;

margin:auto;

padding:30px 20px;

}





/* =====================
NAVIGATION
===================== */

.nav{

display:flex;

justify-content:center;

gap:12px;

flex-wrap:wrap;

margin-bottom:30px;

}


.nav button{

background:#355834;

color:white;

border:none;

padding:14px 22px;

border-radius:18px;

cursor:pointer;

font-size:16px;

box-shadow:
0 5px 12px rgba(0,0,0,.2);

}





/* =====================
CARDS
===================== */

.card,
.status,
.entry{

background:#fffaf0;

border-radius:25px;

padding:30px;

margin-bottom:30px;

box-shadow:
0 12px 25px rgba(80,40,10,.15);

border:
1px solid #d8b98b;

}





/* =====================
HOME
===================== */

.home-top{

display:flex;

gap:20px;

align-items:flex-start;

}


.home-main{

flex:1;

}


.countdown-box{

width:230px;

padding:15px;

font-size:14px;

}


.countdown-box h2{

font-size:18px;

margin-top:0;

color:#355834;

}


.countdown-item{

background:#f6ead3;

padding:10px;

margin-bottom:8px;

border-radius:12px;

text-align:center;

}


.countdown-item strong{

display:block;

font-size:18px;

color:#c96b3b;

}



@media(max-width:900px){

.home-top{

display:block;

}


.countdown-box{

width:100%;

}

}





/* =====================
MISSION CARD
===================== */


.status{

text-align:center;

}


.mission-title{

font-size:32px;

font-weight:bold;

color:#355834;

}


.counter{

font-size:42px;

font-weight:bold;

color:#c96b3b;

}





/* =====================
BUTTONS
===================== */

.button{

display:inline-block;

background:#355834;

color:white;

padding:12px 22px;

border-radius:18px;

text-decoration:none;

cursor:pointer;

border:none;

margin:5px;

font-size:15px;

}





/* =====================
LETTERS
===================== */

.entry{

border-left:
8px solid #8b5a2b;

background:#fff8e7;

}


.date{

color:#806b5a;

margin-bottom:20px;

}





/* =====================
PHOTOS
===================== */

.gallery{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(220px,1fr));

gap:18px;

}


.gallery img{

width:100%;

border-radius:18px;

box-shadow:
0 8px 18px rgba(0,0,0,.25);

border:
6px solid white;

}





/* =====================
MAP
===================== */


.map-container {

position:relative;

width:450px;

max-width:90%;

margin:20px auto;

background:white;

padding:15px;

border:5px solid #4b3a2a;

border-radius:20px;

box-shadow:
0 6px 20px rgba(0,0,0,.25);

}


#mapImage {

width:100%;

display:block;

border-radius:10px;

}



.pin {

position:absolute;

width:28px;

height:28px;

background:#d62828;

border-radius:50% 50% 50% 0;

transform:
translate(-50%,-100%)
rotate(-45deg);

z-index:5;

}



.pin::after {

content:"";

position:absolute;

width:10px;

height:10px;

background:white;

border-radius:50%;

top:9px;

left:9px;

}



.pulse {

position:absolute;

width:35px;

height:35px;

background:
rgba(214,40,40,.35);

border-radius:50%;

transform:
translate(-50%,-50%);

animation:pulse 1.5s infinite;

}



@keyframes pulse {


0%{

transform:
translate(-50%,-50%)
scale(.8);

opacity:.8;

}


100%{

transform:
translate(-50%,-50%)
scale(2.5);

opacity:0;

}

}
