:root{
--primary:#234E52;
--secondary:#C76640;
--accent:#FF6B57;
--bg:#FAFAF8;
--text:#2D3748;
--white:#FFFFFF;
--personal-gradient:linear-gradient(135deg,#e4f0df 0%,#a1c293 100%);
--business-gradient:linear-gradient(135deg,#53799d 0%,#233e60 100%);
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:var(--bg);
color:var(--text);
line-height:1.7;
}

.container{
width:min(1100px,92%);
margin:auto;
}

section{
padding:90px 0;
}

h2{
font-family:'Playfair Display',serif;
font-size:clamp(2rem,5vw,3rem);
text-align:center;
color:var(--primary);
margin-bottom:20px;
}

.subtitle{
text-align:center;
max-width:800px;
margin:0 auto 50px;
color:#5f6b7a;
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:16px 30px;
border-radius:999px;
text-decoration:none;
font-weight:600;
transition:.3s;
min-height:48px;
}

.btn-primary{
background:var(--accent);
color:white;
}

.btn-primary:hover{
transform:translateY(-2px);
}

.btn-secondary{
background:white;
color:var(--primary);
margin-left:10px;
}

.hero{

min-height:85svh;

display:flex;
justify-content:center;
align-items:center;

text-align:center;

color:white;

background:
linear-gradient(
135deg,
#234E52 0%,
#2d6367 50%,
#D87C5A 100%
);

padding:20px;
}

.hero-content{
max-width:850px;
}

.badge{

display:inline-block;

padding:10px 18px;

border-radius:999px;

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

backdrop-filter:blur(10px);

margin-bottom:25px;
}

.hero h1{

font-family:'Playfair Display',serif;

font-size:clamp(3rem,8vw,5.5rem);

line-height:1;

margin-bottom:25px;
}

.hero p{
font-size:1.1rem;
max-width:700px;
margin:auto auto 35px;
}

nav{

position:sticky;
top:0;

background:white;

z-index:999;

box-shadow:0 5px 20px rgba(0,0,0,.06);
}

nav ul{

list-style:none;

display:flex;
justify-content:center;
flex-wrap:wrap;
}

nav a{

display:block;

padding:18px 15px;

text-decoration:none;

color:var(--primary);

font-weight:600;
}

.features{
margin-top:-50px;
position:relative;
z-index:2;
}

.features-grid{

display:grid;

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

gap:25px;
}

.feature{

background:white;

padding:30px;

border-radius:20px;

text-align:center;

box-shadow:0 10px 25px rgba(0,0,0,.07);
}

.feature h3{
color:var(--primary);
margin-bottom:10px;
}

.visual{

height:220px;

border-radius:30px;

display:flex;
align-items:center;
justify-content:center;

margin-bottom:50px;

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:white;
}

.visual span{

font-family:'Playfair Display',serif;

font-size:2rem;

letter-spacing:2px;
}

.grid{

display:grid;

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

gap:25px;
}

.card{

background:white;

padding:30px;

border-radius:20px;

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

transition:.3s;
}

.card:hover{
transform:translateY(-4px);
}

.card h3{
color:var(--secondary);
margin-bottom:10px;
}

.business{
background:#f4f7f8;
}

.cta{

background:var(--personal-gradient);

color:var(--primary);

text-align:center;
}

.cta h2{
color:inherit;
}

.cta .btn-primary{background:var(--primary);color:white;}
#event-content[data-category="empresas"] .cta{background:var(--business-gradient);color:#fffaf1;}
#event-content[data-category="empresas"] .cta .btn-primary{background:#fffaf1;color:#233e60;}

.cta p{

max-width:700px;

margin:0 auto 30px;
}

.contact-card{

background:white;

padding:35px;

border-radius:20px;

margin-bottom:35px;

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

text-align:center;
}

.contact-card a{
color:var(--primary);
text-decoration:none;
}

form{
max-width:700px;
margin:auto;
}

label{

display:block;

font-weight:600;

margin-bottom:8px;
}

input,
textarea{

width:100%;

padding:16px;

border:1px solid #ddd;

border-radius:12px;

margin-bottom:15px;

font-size:16px;

font-family:Poppins;
}

input:focus,
textarea:focus,
button:focus,
a:focus{

outline:3px solid var(--accent);
outline-offset:3px;
}

button{

width:100%;

padding:16px;

background:var(--accent);

border:none;

color:white;

font-size:16px;

font-weight:600;

border-radius:999px;

cursor:pointer;
}

footer{

background:#17383B;

color:white;

text-align:center;

padding:40px 20px;
}

.whatsapp{

position:fixed;

bottom:15px;
right:15px;

width:60px;
height:60px;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

background:#25D366;

color:white;

text-decoration:none;

font-size:28px;

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

@media(max-width:768px){

section{
padding:70px 0;
}

nav ul{
flex-direction:column;
}

nav a{
text-align:center;
padding:14px;
}

.hero-buttons{

display:flex;
flex-direction:column;
gap:12px;
align-items:center;
}

.btn-secondary{
margin-left:0;
}

.visual{
height:170px;
}

.visual span{
font-size:1.5rem;
}

}


.celebrations-divider{height:3px;border:0;border-radius:999px;margin:0 0 40px;background:linear-gradient(90deg,#e4f0df,#a1c293);}

.business-divider{height:3px;border:0;border-radius:999px;margin:0 0 40px;background:linear-gradient(90deg,#53799d,#233e60);}

/* Colores de contacto y pie según la categoría seleccionada */
#event-content{
--contact-bg:#f1f6ed;
--contact-ink:#234e52;
--contact-border:#a1c293;
--contact-focus:#47704a;
--footer-bg:var(--personal-gradient);
--footer-ink:#234e52;
}
#event-content[data-category="empresas"]{
--contact-bg:#eef3f8;
--contact-ink:#233e60;
--contact-border:#9cb3c9;
--contact-focus:#53799d;
--footer-bg:var(--business-gradient);
--footer-ink:#fffaf1;
}
#contacto{background:var(--contact-bg);color:var(--contact-ink);}
#contacto h2,#contacto .contact-card a{color:var(--contact-ink);}
#contacto .contact-card{border:1px solid var(--contact-border);box-shadow:0 8px 20px rgba(35,62,60,.05);}
#contacto input,#contacto textarea{border-color:var(--contact-border);color:var(--contact-ink);background:#fff;}
#contacto button{background:var(--contact-ink);color:#fffaf1;transition:transform .2s,filter .2s;}
#contacto button:hover{filter:brightness(1.12);transform:translateY(-2px);}
#contacto :focus{outline-color:var(--contact-focus);}
#event-content footer{background:var(--footer-bg);color:var(--footer-ink);}

/* Entrada principal y selección de eventos */
[hidden]{display:none !important;}
.entry{min-height:100svh;padding:44px 0 28px;display:flex;align-items:center;background:#f7f4ee;}
.entry-brand{color:var(--primary);font-weight:600;letter-spacing:.24em;font-size:.85rem;}
.entry-heading{max-width:760px;margin:35px 0 18px;font-family:'Playfair Display',serif;font-size:clamp(2.6rem,6vw,4.5rem);line-height:1.12;color:var(--primary);}
.entry-intro{max-width:620px;color:#566465;margin-bottom:32px;}
.event-choices{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.event-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:35px;min-height:285px;text-decoration:none;border-radius:4px;color:#fffaf1;background:var(--business-gradient);overflow:hidden;transition:transform .25s;}
.event-choice::after{content:'';position:absolute;width:220px;height:220px;border:1px solid #ffffff26;border-radius:50%;right:-85px;top:-95px;pointer-events:none;}
.event-choice-personal{background:var(--personal-gradient);color:#234E52;}
.event-choice-personal::after{border-color:#234e5226;}
.event-choice:hover{transform:translateY(-4px);}
.choice-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;}
.event-choice h2{font-size:clamp(2rem,4vw,3rem);text-align:left;color:inherit;margin:12px 0 8px;}
.event-choice p{max-width:370px;font-size:.92rem;}
.choice-action{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:25px;font-size:.85rem;font-weight:600;}
.choice-action span{font-size:1.4rem;line-height:1;}
.entry-contact{margin-top:32px;padding-top:22px;border-top:1px solid #234e5226;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.9rem;}
.entry-contact p{color:var(--primary);font-weight:500;}
.entry-contact-links{display:flex;gap:10px 26px;flex-wrap:wrap;}
.entry-contact a{color:var(--primary);text-underline-offset:4px;overflow-wrap:anywhere;}
section[id]{scroll-margin-top:85px;}
#event-content .features{margin-top:0;}
@media(max-width:768px){
.entry{padding:30px 0;}
.entry-heading{margin-top:25px;}
.event-choices{grid-template-columns:1fr;gap:16px;}
.event-choice{min-height:235px;padding:26px;}
.entry-contact{align-items:flex-start;flex-direction:column;}
.entry-contact-links{flex-direction:column;}
nav ul{flex-direction:row;}
nav a{padding:12px 10px;font-size:.8rem;}
section[id]{scroll-margin-top:110px;}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto;}
*,*::before,*::after{transition:none !important;}
}


nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;}
.page-intro{padding:64px 0;background:var(--personal-gradient);color:var(--primary);}
#event-content[data-category="empresas"] .page-intro{background:var(--business-gradient);color:#fffaf1;}
.page-intro h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,4rem);line-height:1.15;margin:12px 0 20px;}
.page-intro p{max-width:760px;}
.page-brand{font-size:.8rem;letter-spacing:.2em;text-decoration:none;color:inherit;}
.about-story{max-width:800px;}
.about-story h2{text-align:left;font-size:2rem;margin:32px 0 16px;color:var(--contact-ink);}
.about-story p{margin-bottom:22px;}
.about-story .btn{background:var(--contact-ink);color:#fffaf1;margin-top:12px;}

/* Fotografías reales de inspiración para cada tipo de evento. */
.event-photograph{margin:0 0 44px;}
.event-photograph img{display:block;width:100%;height:clamp(240px,38vw,460px);object-fit:cover;border-radius:20px;}
.event-photograph figcaption{margin-top:10px;font-size:.75rem;color:#5f6b7a;text-align:right;}
.event-photograph a{color:inherit;text-underline-offset:3px;}
@media(max-width:600px){
.event-photograph img{height:auto;aspect-ratio:3/2;border-radius:14px;}
.event-photograph figcaption{text-align:left;}
}
