.hm-container{

max-width:1200px;

margin:auto;

padding:60px 20px;

}

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

.hm-hero{

position:relative;

overflow:hidden;

border-radius:18px;

min-height:600px;

margin-bottom:90px;

background:#194133;

}

.hm-hero-bg{

position:absolute;

inset:0;

overflow:hidden;

}

.hm-bg-image{

width:100%;

height:100%;

object-fit:cover;

filter:

blur(18px)

brightness(.35);

transform:scale(1.15);

}

.hm-hero-overlay{

position:relative;

display:grid;

grid-template-columns:

380px

1fr;

gap:70px;

align-items:center;

padding:70px;

z-index:2;

}

.hm-photo{

display:flex;

justify-content:center;

}

.hm-photo img{

width:320px;

height:420px;

border-radius:14px;

object-fit:cover;

box-shadow:

0 25px 60px rgba(0,0,0,.25);

border:5px solid rgba(255,255,255,.15);

}

.hm-info{

color:white;

}

.hm-subtitle{

display:block;

font-size:18px;

letter-spacing:3px;

text-transform:uppercase;

opacity:.8;

margin-bottom:15px;

}

.hm-info h1{

font-size:clamp(38px,5vw,60px);

font-family:"Cormorant Garamond",serif;

margin-bottom:20px;

line-height:1.15;

}

.hm-dates{

font-size:22px;

margin-bottom:15px;

}

.hm-city{

display:flex;

align-items:center;

gap:10px;

font-size:18px;

margin-bottom:30px;

}

.hm-info blockquote{

font-size:24px;

font-style:italic;

border-left:4px solid #d5b57c;

padding-left:20px;

margin-bottom:35px;

line-height:1.8;

color:#fff;

}




/* responsive hero tablet*/

@media (max-width:991px){

.hm-hero-overlay{

grid-template-columns:1fr;

text-align:center;

padding:50px;

gap:35px;

}

.hm-photo{

justify-content:center;

}

.hm-city{

justify-content:center;

}

.hm-info blockquote{

border:none;

padding-left:0;

}

}


/* responsive hero celular*/

@media (max-width:576px){

.hm-hero{

border-radius:0;

margin-left:-20px;

margin-right:-20px;

}

.hm-hero-overlay{

padding:30px 20px;

}

.hm-photo img{

width:220px;

height:290px;

}

.hm-info h1{

font-size:36px;

}

.hm-dates{

font-size:18px;

}

.hm-info blockquote{

font-size:18px;

line-height:1.6;

}

}


/* boitones de compartir */


/*=========================================
ACCIONES DEL HERO
=========================================*/

.hm-hero-actions{

display:flex;

gap:15px;

margin-top:40px;

flex-wrap:wrap;

}

.hm-action-link{

display:flex;

align-items:center;

gap:10px;

padding:14px 22px;

background:rgba(255,255,255,.12);

backdrop-filter:blur(10px);

border:1px solid rgba(255,255,255,.15);

border-radius:50px;

color:white;

text-decoration:none;

cursor:pointer;

transition:.3s;

font-size:15px;

}

.hm-action-link:hover{

background:white;

color:#194133;

transform:translateY(-3px);

}

.hm-action-link i{

font-size:18px;

}

/*responsive hero actions */
@media(max-width:768px){

.hm-hero-actions{

justify-content:center;

}

.hm-action-link{

width:100%;

justify-content:center;

}

}




/*==================================================
EVENTOS
==================================================*/

.hm-events{

display:grid;

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

gap:35px;

margin:80px 0;

}

.hm-card{

background:#fff;

border:1px solid #ebe5d8;

border-radius:12px;

padding:40px 35px;

display:flex;

flex-direction:column;

text-align:center;

transition:.30s;

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

}

.hm-card:hover{

transform:translateY(-8px);

box-shadow:0 18px 45px rgba(0,0,0,.10);

}

.hm-card-icon{

width:80px;

height:80px;

background:#194133;

border-radius:50%;

margin:auto;

display:flex;

justify-content:center;

align-items:center;

margin-bottom:25px;

}

.hm-card-icon i{

font-size:32px;

color:#fff;

}

.hm-card h3{

font-family:"Cormorant Garamond",serif;

font-size:32px;

color:#194133;

margin-bottom:15px;

}

.hm-card-line{

width:70px;

height:2px;

background:#c5a76d;

margin:0 auto 25px;

}

.hm-card-place{

line-height:1.8;

color:#555;

margin-bottom:25px;

min-height:70px;

}

.hm-card-date,

.hm-card-time{

display:flex;

justify-content:center;

align-items:center;

gap:10px;

margin-bottom:10px;

color:#666;

}

.hm-card-date i,

.hm-card-time i{

color:#c5a76d;

}

.hm-map-btn{

margin-top:auto;

display:inline-flex;

justify-content:center;

align-items:center;

gap:10px;

padding:12px 20px;

background:#194133;

color:#fff;

text-decoration:none;

border-radius:6px;

transition:.3s;

}

.hm-map-btn:hover{

background:#123125;

color:#fff;

}


/*==================================================
BIOGRAFÍA
==================================================*/

.hm-biography{

margin:90px 0;

text-align:center;

}

.hm-section-title{

display:flex;

align-items:center;

gap:20px;

margin-bottom:25px;

}

.hm-section-title span{

flex:1;

height:1px;

background:#d8c8a1;

}

.hm-section-title i{

font-size:22px;

color:#194133;

}

.hm-biography h2{

font-family:"Cormorant Garamond",serif;

font-size:46px;

color:#194133;

margin-bottom:45px;

}

.hm-biography-content{

max-width:850px;

margin:auto;

text-align:left;

font-size:18px;

line-height:2;

color:#555;

}

.hm-biography-content p{

margin-bottom:22px;

}

.hm-biography-content strong{

color:#194133;

}

.hm-biography-content ul{

margin:25px 0;

padding-left:25px;

}

.hm-biography-content li{

margin-bottom:12px;

}

.hm-biography{

padding-bottom:80px;

border-bottom:1px solid #ece7dc;

}


/*=============================
GALERÍA
=============================*/

.hm-gallery-section{

margin:100px 0;

position:relative;

}

.hm-gallery-slider{

padding:20px 70px 60px;

}

.swiper-slide{

height:auto;

}

.hm-gallery-image{

width:100%;

height:260px;

display:block;

object-fit:cover;

border-radius:12px;

transition:.35s;

}

.swiper-slide a{

display:block;

overflow:hidden;

border-radius:12px;

position:relative;

}

.swiper-slide a::after{

content:"";

position:absolute;

inset:0;

background:linear-gradient(

180deg,

transparent,

rgba(0,0,0,.35)

);

opacity:0;

transition:.35s;

}

.swiper-slide:hover a::after{

opacity:1;

}

.swiper-slide:hover img{

transform:scale(1.08);

}


.swiper-button-next,

.swiper-button-prev{

width:55px;

height:55px;

border-radius:50%;

background:white;

box-shadow:0 8px 20px rgba(0,0,0,.15);

color:#194133;

}

.swiper-button-next:after,

.swiper-button-prev:after{

font-size:20px;

font-weight:bold;

}


.swiper-pagination-bullet{

background:#194133;

opacity:.35;

}

.swiper-pagination-bullet-active{

opacity:1;

}

@media(max-width:991px){

.hm-gallery-slider{

padding:10px 50px 50px;

}

}

@media(max-width:768px){

.hm-gallery-slider{

padding:10px 20px 50px;

}

.hm-gallery-image{

height:220px;

}

.swiper-button-next,

.swiper-button-prev{

display:none;

}

}