:root {
  --gold:        #B37E10;
  --gold-light:  #F8DD7B;
  --gold-mid:    #D4A843;
  --black:       #000000;
  --black-soft:  #0d0d0d;
  --black-card:  #111111;
  --blush:       #FDEDF0;
  --white:       #FFFFFF;
  --text-muted:  rgba(248,221,123,0.7);
  --border-gold: rgba(212,168,67,0.72);
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  background: var(--black);
  color: var(--white);
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  overflow-x: hidden
}



/* ── HERO ── */
.hero{
  min-height:100vh;
  display:grid;grid-template-columns:55% 45%;
  position:relative;overflow:hidden;
}
.hero-left{
  position:relative;overflow:hidden;
}
.hero-left img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;filter:brightness(0.75);
  animation:heroZoom 8s ease-out forwards;
}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-left-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right, transparent 40%, var(--black) 100%),
             linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 50%);
}
/* Gold floral decorative lines */
.hero-deco-top{
  position:absolute;top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(to right, transparent, var(--gold-mid), var(--gold-light), var(--gold-mid), transparent);
  opacity:.6;
}

.hero-right{
  background:var(--black);
  display:flex;flex-direction:column;justify-content:center;
  padding:8rem 4rem 4rem 3rem;
  position:relative;
}
.hero-right::before{
  content:'';
  position:absolute;top:0;bottom:0;left:-1px;width:1px;
  background:linear-gradient(to bottom, transparent, var(--gold-mid), transparent);
  opacity:.4;
}

/* Floating flower deco */
.floral-deco{
  position:absolute;
  opacity:.08;
  pointer-events:none;
}
.floral-deco svg{fill:none;stroke:var(--gold-light);stroke-width:0.8;}

.hero-eyebrow{
  font-size:0.9rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.5rem;
  opacity:0;animation:fadeUp .7s .3s forwards;
  display:flex;align-items:center;gap:.75rem;
}
.hero-eyebrow::before{
  content:'';width:30px;height:1px;background:var(--gold);opacity:.6;
}
.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,4.5vw,4.2rem);
  font-weight:300;line-height:1.05;
  color:var(--white);margin-bottom:.75rem;
  opacity:0;animation:fadeUp .7s .5s forwards;
}
.hero-title em{
  font-style:italic;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold-mid) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  display:block;
}
.hero-sub{
  font-size:1.05rem;color:rgba(255,255,255,0.82);
  letter-spacing:.08em;line-height:1.8;
  margin-bottom:2.5rem;
  opacity:0;animation:fadeUp .7s .65s forwards;
  border-left:2px solid var(--gold);padding-left:1rem;
}
.hero-ctas{
  display:flex;gap:1rem;flex-wrap:wrap;
  opacity:0;animation:fadeUp .7s .8s forwards;
  margin-bottom:3rem;
}
.btn-gold{
  padding:.8rem 2rem;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
  color:var(--black);font-size:1.0rem;letter-spacing:.25em;
  text-transform:uppercase;font-weight:600;
  text-decoration:none;border:none;cursor:pointer;
  font-family:'Montserrat',sans-serif;
  transition:all .3s;display:inline-block;
  position:relative;overflow:hidden;
}
.btn-gold::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  opacity:0;transition:opacity .3s;
}
.btn-gold:hover::after{opacity:1;}
.btn-gold span{position:relative;z-index:1;}
.btn-ghost{
  padding:.8rem 2rem;background:transparent;
  color:var(--gold-light);font-size:1.0rem;letter-spacing:.25em;
  text-transform:uppercase;font-weight:400;
  text-decoration:none;
  border:1px solid rgba(212,168,67,0.65);
  font-family:'Montserrat',sans-serif;
  transition:all .3s;display:inline-block;
}
.btn-ghost:hover{border-color:var(--gold-light);color:var(--white);}

.hero-stats{
  display:flex;gap:2.5rem;
  opacity:0;animation:fadeUp .7s 1s forwards;
  padding-top:2rem;
  border-top:1px solid var(--border-gold);
}
.stat-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem;font-weight:300;line-height:1;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.stat-label{
  font-size:0.88rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,0.88);margin-top:.2rem;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ── GOLD LINE SEPARATOR ── */
.gold-sep{
  width:100%;height:1px;
  background:linear-gradient(to right, transparent, var(--gold-mid), var(--gold-light), var(--gold-mid), transparent);
  opacity:.35;
}

/* ── MARQUEE ── */
.marquee-wrap{
  background:var(--black-soft);
  padding:.85rem 0;overflow:hidden;
  border-top:1px solid var(--border-gold);
  border-bottom:1px solid var(--border-gold);
  contain:layout paint;
}
.marquee-track{
  display:inline-flex;
  width:max-content;
  white-space:nowrap;
  animation:marquee 30s linear infinite;
  will-change:transform;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}
.marquee-item{
  font-size:0.98rem;letter-spacing:.35em;text-transform:uppercase;
  color:var(--gold-mid);padding:0 2rem;flex-shrink:0;
}
.marquee-star{color:var(--gold-light);margin:0 .5rem;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SECTIONS ── */
.section{padding:7rem 6rem;}
.section-blush{background:var(--blush);color:var(--black);}
.section-dark{background:var(--black-soft);}
.section-black{background:var(--black);}

.eyebrow{
  font-size:0.92rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
  display:flex;align-items:center;gap:.75rem;
}
.eyebrow::before{content:'✦';font-size:0.92rem;}
.eyebrow-dark{color:var(--gold)!important;}

.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.6rem,4vw,3.8rem);
  font-weight:300;line-height:1.1;margin-bottom:1rem;
}
.section-title em{font-style:italic;}
.section-title.light{color:var(--white);}
.section-title.light em{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.section-title.dark{color:var(--black);}
.section-title.dark em{color:var(--gold);}

.section-sub{
  font-size:1.0rem;line-height:1.9;
  letter-spacing:.03em;max-width:560px;
  margin-bottom:3.5rem;
}
.section-sub.light{color:rgba(255,255,255,0.7);}
.section-sub.dark{color:rgba(0,0,0,0.80);}

/* ── SERVICES ── */
.services-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:1px;background:var(--border-gold);
  border:1px solid var(--border-gold);
  max-width:1200px;margin:0 auto;
}
.svc-card{
  background:var(--black);
  padding:3rem 2rem;text-align:center;
  cursor:pointer;
  transition:background .3s;
  position:relative;overflow:hidden;
  text-decoration:none;
  display:block;
}
.svc-card::before{
  content:'';
  position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--gold),var(--gold-light));
  transform:scaleX(0);transition:transform .3s;
}
.svc-card:hover{background:var(--black-card);}
.svc-card:hover::before{transform:scaleX(1);}
.svc-icon{
  font-size:2.5rem;margin-bottom:1.5rem;opacity:.7;
  transition:opacity .3s,transform .3s;
}
.svc-card:hover .svc-icon{opacity:1;transform:scale(1.1);}
.svc-num{
  font-size:0.9rem;letter-spacing:.2em;
  color:var(--gold);margin-bottom:.5rem;
}
.svc-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;font-weight:400;
  color:var(--white);margin-bottom:.3rem;
}
.svc-sub{
  font-size:0.88rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(248,221,123,0.90);
}
.svc-arrow{
  font-size:1.0rem;letter-spacing:.2em;
  color:var(--gold);
  margin-top:1.25rem;
  opacity:0;transform:translateY(6px);
  transition:all .3s;
}
.svc-card:hover .svc-arrow{opacity:1;transform:translateY(0);}
@media(hover:none){
  .svc-arrow{opacity:1;transform:translateY(0);}
}
.svc-card-featured{
  background:rgba(179,126,16,0.04)!important;
  border-left:1px solid var(--border-gold);
}
.svc-card-featured .svc-num{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.svc-card-featured .svc-name{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.svc-card-featured:hover{background:rgba(179,126,16,0.09)!important;}

/* ── ABOUT ── */
.about-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:6rem;align-items:center;
  max-width:1200px;margin:0 auto;
}
.about-img-wrap{position:relative;}
.about-img-frame{
  position:absolute;top:-1.5rem;left:-1.5rem;right:1.5rem;bottom:1.5rem;
  border:1px solid var(--border-gold);
  z-index:0;
  pointer-events:none;
}
.about-img-wrap img{
  position:relative;z-index:1;
  width:100%;display:block;
  filter:sepia(.05) contrast(1.02);
}
.about-badge{
  position:absolute;bottom:-2rem;right:-2rem;z-index:2;
  background:var(--black);
  border:1px solid var(--border-gold);
  padding:1.5rem;text-align:center;
  min-width:160px;
}
.about-badge-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;font-style:italic;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:.2rem;
}
.about-badge-title{
  font-size:0.88rem;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(255,255,255,0.90);
}
.about-text{
  font-size:1.02rem;line-height:2;
  color:rgba(255,255,255,0.75);
  margin-bottom:1.25rem;
  letter-spacing:.02em;
}
.about-text strong{color:var(--gold-light);font-weight:400;}
.about-sig{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;font-style:italic;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin-top:2rem;
}
.about-sig-role{
  font-size:0.98rem;letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.72);margin-top:.2rem;
}
.about-values{
  display:grid;grid-template-columns:1fr 1fr;
  gap:.75rem;margin-top:2rem;
}
.about-val{
  border:1px solid var(--border-gold);
  padding:1rem;
  background:rgba(179,126,16,0.04);
  transition:background .2s;
}
.about-val:hover{background:rgba(179,126,16,0.08);}
.about-val-icon{font-size:1rem;margin-bottom:.4rem;}
.about-val-title{
  font-size:0.9rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold-light);
  font-weight:500;margin-bottom:.25rem;
}
.about-val-text{
  font-size:0.9rem;color:rgba(255,255,255,0.65);line-height:1.5;
}

/* ── PROCESS ── */
.process-wrap{max-width:1100px;margin:0 auto;}
.process-steps{
  display:grid;grid-template-columns:repeat(5,1fr);
  position:relative;gap:0;
}
.process-line{
  position:absolute;top:28px;left:10%;right:10%;
  height:1px;
  background:linear-gradient(to right,transparent,var(--gold-mid),var(--gold-light),var(--gold-mid),transparent);
  opacity:.3;
}
.p-step{text-align:center;padding:0 1.5rem;}
.p-num{
  width:56px;height:56px;border-radius:50%;
  border:1px solid var(--border-gold);
  background:var(--black);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  position:relative;z-index:1;
  transition:all .3s;
}
.p-step:hover .p-num{
  background:var(--black-card);
  border-color:var(--gold-light);
}
.p-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;color:var(--white);
  margin-bottom:.4rem;
}
.p-desc{
  font-size:0.88rem;color:rgba(255,255,255,0.78);
  line-height:1.7;
}

/* ── TEAM ── */
.team-section{
  padding:7rem 6rem;
  background:var(--black-soft);
  position:relative;
  overflow:hidden;
}
.team-section::before{
  content:'';
  position:absolute;inset:0;
  background-image:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(179,126,16,0.04) 0%, transparent 70%);
  pointer-events:none;
}
.team-header{
  max-width:800px;
  margin:0 auto 5rem;
  text-align:center;
}
.team-intro{
  font-size:1.02rem;line-height:2;
  color:rgba(255,255,255,0.8);
  letter-spacing:.03em;
  max-width:680px;
  margin:0 auto;
  font-style:italic;
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;
}
.team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  max-width:1100px;
  margin:0 auto;
  background:var(--border-gold);
  border:1px solid var(--border-gold);
}
.team-grid.row-2{
  grid-template-columns:repeat(2,1fr);
  max-width:734px;
  margin-top:2px;
  border-top:none;
}
.team-card{
  background:var(--black);
  padding:3rem 2.5rem;
  text-align:center;
  position:relative;
  transition:background .35s;
  overflow:hidden;
}
.team-card::after{
  content:'';
  position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,var(--gold-mid),transparent);
  opacity:0;transition:opacity .35s;
}
.team-card:hover{background:rgba(17,17,17,1);}
.team-card:hover::after{opacity:1;}
.team-monogram{
  width:52px;height:52px;
  border:1px solid var(--border-gold);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;
  background:rgba(179,126,16,0.04);
  transition:border-color .3s, background .3s;
}
.team-card:hover .team-monogram{
  border-color:var(--gold-mid);
  background:rgba(179,126,16,0.08);
}
.team-monogram span{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;font-weight:300;font-style:italic;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.team-name{
  font-size:0.92rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--white);
  font-weight:400;
  margin-bottom:.5rem;
}
.team-role{
  font-family:'Cormorant Garamond',serif;
  font-size:.95rem;
  font-style:italic;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  letter-spacing:.1em;
  margin-bottom:1.5rem;
}
.team-quote{
  font-size:0.9rem;
  color:rgba(255,255,255,0.75);
  line-height:1.85;
  letter-spacing:.03em;
  position:relative;
  padding-top:1.25rem;
}
.team-quote::before{
  content:'';
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:24px;height:1px;
  background:linear-gradient(to right,transparent,var(--gold-mid),transparent);
}
/* ── EVENTS ── */
.events-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.5rem;max-width:1200px;margin:0 auto;
}
.event-card{
  border:1px solid var(--border-gold);
  background:var(--black-card);
  overflow:hidden;
  transition:transform .3s,box-shadow .3s;
  cursor:pointer;
}
.event-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 40px rgba(179,126,16,0.15);
}
.event-img{
  aspect-ratio:16/9;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.event-img-cs{
  background:var(--black);
  padding:2rem;
}
.event-img-cs img{max-height:100px;width:auto;}
.event-tag{
  position:absolute;top:1rem;left:1rem;
  background:var(--gold);color:var(--black);
  font-size:0.84rem;letter-spacing:.15em;
  text-transform:uppercase;font-weight:600;
  padding:.3rem .9rem;
}
.event-body{padding:1.5rem;}
.event-date{
  font-size:0.88rem;letter-spacing:.15em;
  color:var(--gold);margin-bottom:.5rem;
  text-transform:uppercase;
}
.event-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;color:var(--white);
  margin-bottom:.5rem;line-height:1.2;
}
.event-desc{
  font-size:0.92rem;color:rgba(255,255,255,0.65);
  line-height:1.7;
}

/* ── TESTIMONIALS ── */
.test-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.5rem;max-width:1100px;margin:0 auto;
}
.test-card{
  border:1px solid var(--border-gold);
  padding:2rem;
  background:rgba(179,126,16,0.03);
  position:relative;
  transition:background .3s;
}
.test-card:hover{background:rgba(179,126,16,0.06);}
.test-quote{
  font-family:'Cormorant Garamond',serif;
  font-size:4rem;line-height:.4;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:1rem;opacity:.5;
}
.test-text{
  font-size:1.0rem;color:rgba(255,255,255,0.78);
  line-height:1.9;font-style:italic;
  margin-bottom:1.5rem;
}
.test-name{
  font-size:1.0rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-light);
}
.test-event{
  font-size:0.98rem;color:rgba(255,255,255,0.72);
  margin-top:.2rem;
}

/* ── INSTAGRAM ── */
.ig-section{padding:5rem 6rem;background:var(--black-soft);text-align:center;}
.ig-grid{
  display:grid;grid-template-columns:repeat(6,1fr);
  gap:4px;max-width:1100px;margin:2rem auto 0;
}
.ig-placeholder{
  aspect-ratio:1;
  background:var(--black-card);
  border:1px solid var(--border-gold);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;opacity:.3;
  transition:opacity .3s;
  cursor:pointer;
}
.ig-placeholder:hover{opacity:.7;}
.ig-cta{
  margin-top:2rem;
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:0.85rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;
  border-bottom:1px solid var(--border-gold);
  padding-bottom:.2rem;transition:color .2s;
}
.ig-cta:hover{color:var(--gold-light);}

/* ── CONTACT ── */
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:6rem;max-width:1200px;margin:0 auto;
  align-items:start;
}
.contact-detail{
  display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start;
}
.c-icon{
  width:44px;height:44px;
  border:1px solid var(--border-gold);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;flex-shrink:0;
  color:var(--gold);
}
.c-label{font-size:0.98rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem;}
.c-val{font-size:1.02rem;color:rgba(255,255,255,0.7);}
.form-label{
  display:block;font-size:0.98rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;
}
.form-input,.form-select,.form-textarea{
  width:100%;padding:.75rem 1rem;
  background:rgba(255,255,255,0.65);
  border:1px solid var(--border-gold);
  color:var(--white);font-family:'Montserrat',sans-serif;
  font-size:0.98rem;outline:none;
  transition:border-color .2s;appearance:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--gold);
}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,0.7);}
.form-select option{background:var(--black);}
.form-textarea{resize:none;height:100px;}
.form-row{margin-bottom:1rem;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-hint{display:block;font-size:.52rem;letter-spacing:.12em;color:rgba(248,221,123,.5);text-transform:uppercase;margin-top:.2rem;font-family:'Montserrat',sans-serif;font-weight:400;}
.form-error{display:block;font-size:.55rem;color:#e87a7a;margin-top:.3rem;min-height:1em;}
.form-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem .75rem;margin-top:.4rem;}
.form-check{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.68rem;letter-spacing:.06em;color:rgba(255,255,255,.8);font-family:'Montserrat',sans-serif;padding:.45rem .6rem;border:1px solid rgba(248,221,123,.15);transition:border-color .2s,color .2s,background .2s;}
.form-check:hover{border-color:rgba(248,221,123,.4);color:#fff;background:rgba(248,221,123,.04);}
.form-check input[type="checkbox"]{accent-color:var(--gold);width:15px;height:15px;flex-shrink:0;cursor:pointer;}
.form-check input[type="checkbox"]:checked ~ span{color:var(--gold);}
.btn-wa{
  width:100%;padding:1rem;
  background:linear-gradient(135deg,#25D366,#1db954);
  color:white;border:none;cursor:pointer;
  font-family:'Montserrat',sans-serif;
  font-size:1.02rem;letter-spacing:.25em;text-transform:uppercase;
  font-weight:500;display:flex;align-items:center;
  justify-content:center;gap:.6rem;
  transition:all .2s;margin-top:1rem;
}
.btn-wa:hover{opacity:.9;transform:translateY(-2px);}

/* ── FOOTER ── */
footer{
  background:var(--black);
  border-top:1px solid var(--border-gold);
  padding:4rem 6rem 2rem;
}
.footer-top{
  display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;
  gap:3rem;margin-bottom:3rem;
}
.footer-logo{height:50px;margin-bottom:1rem;}
.footer-tagline{
  font-size:0.92rem;color:rgba(255,255,255,0.75);
  line-height:1.8;letter-spacing:.03em;margin-bottom:1.5rem;
}
.footer-col-title{
  font-size:0.9rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:1rem;
}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:.6rem;}
.footer-links a{
  font-size:0.92rem;color:rgba(255,255,255,0.75);
  text-decoration:none;transition:color .2s;
  letter-spacing:.03em;
}
.footer-links a:hover{color:var(--gold-light);}

/* Footer contact items con icono WA */
.footer-contact-item{
  display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;
}
.footer-contact-item .footer-tel{
  flex:1;margin-bottom:0;
}
.footer-wa-icon{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;min-width:28px;
  background:#25D366;border-radius:50%;
  color:#fff;text-decoration:none;
  transition:transform .2s, box-shadow .2s;
  box-shadow:0 2px 8px rgba(37,211,102,.3);
}
.footer-wa-icon svg{width:14px;height:14px;}
.footer-wa-icon:hover{
  transform:scale(1.15);
  box-shadow:0 4px 14px rgba(37,211,102,.5);
  color:#fff;
}
.social-row{display:flex;gap:.75rem;}
.social-btn{
  width:36px;height:36px;
  border:1px solid var(--border-gold);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.75);font-size:0.95rem;
  text-decoration:none;transition:all .2s;
  font-style:normal;
}
.social-btn:hover{border-color:var(--gold);color:var(--gold-light);}
.footer-bottom{
  border-top:1px solid var(--border-gold);
  padding-top:2rem;
  display:flex;justify-content:space-between;align-items:center;
}
.footer-copy{font-size:1.0rem;color:rgba(255,255,255,0.65);letter-spacing:.1em;}
.footer-hash{font-size:1.0rem;color:var(--gold);letter-spacing:.15em;}

/* ── WA FLOAT ── */
.wa-float{
  position:fixed;bottom:2rem;right:2rem;
  width:58px;height:58px;
  background:linear-gradient(135deg,#25D366,#1db954);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;z-index:400;
  box-shadow:0 4px 25px rgba(37,211,102,0.35);
  text-decoration:none;
  animation:waPulse 3s infinite;
  transition:transform .2s;
}
.wa-float:hover{transform:scale(1.08);animation:none;}
@keyframes waPulse{
  0%,100%{box-shadow:0 4px 25px rgba(37,211,102,0.35);}
  50%{box-shadow:0 4px 45px rgba(37,211,102,0.6);}
}

/* ── FAV DRAWER ── */
.fav-drawer{
  position:fixed;bottom:0;left:50%;
  transform:translateX(-50%) translateY(100%);
  background:var(--black-card);
  border:1px solid var(--gold);
  border-bottom:none;
  padding:1rem 2.5rem;
  display:flex;align-items:center;gap:2rem;
  z-index:400;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1);
  min-width:380px;
}
.fav-drawer.visible{transform:translateX(-50%) translateY(0);}
.fav-count{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.fav-label{font-size:1.0rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,0.65);}
.fav-send{
  padding:.5rem 1.5rem;
  background:linear-gradient(135deg,#25D366,#1db954);
  color:white;border:none;font-size:0.98rem;
  letter-spacing:.2em;text-transform:uppercase;
  cursor:pointer;font-family:'Montserrat',sans-serif;
  transition:opacity .2s;font-weight:500;
}
.fav-send:hover{opacity:.85;}
.fav-clear{
  background:none;border:none;
  color:rgba(255,255,255,0.72);font-size:1.0rem;
  cursor:pointer;font-family:'Montserrat',sans-serif;
  letter-spacing:.1em;text-decoration:underline;
  transition:color .2s;
}
.fav-clear:hover{color:rgba(255,255,255,0.72);}



/* ── BRIDES TABS & TESTIMONIAL CARDS ── */
.brides-tabs{display:flex;gap:0;border-bottom:1px solid rgba(212,168,67,0.7);max-width:1100px;margin:0 auto 3rem;scrollbar-width:none;-ms-overflow-style:none;}
.brides-tabs::-webkit-scrollbar{display:none;}
.bride-tab{padding:.75rem 2.5rem;font-size:0.92rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:transparent;border:none;color:rgba(255,255,255,0.75);font-family:'Montserrat',sans-serif;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;}
.bride-tab.active{color:var(--gold-light);border-bottom-color:var(--gold);}
.bride-tab:hover{color:rgba(248,221,123,0.78);}
.test-panel{display:none;}
.test-panel.active{display:block;}
.test-card-photo{border:1px solid var(--border-gold);background:var(--black-card);overflow:hidden;transition:transform .3s,box-shadow .3s;}
.test-card-photo:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(179,126,16,.12);}
.test-photo-wrap{aspect-ratio:3/4;overflow:hidden;position:relative;}
.test-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s;}
.test-card-photo:hover .test-photo-wrap img{transform:scale(1.04);}
.test-photo-placeholder{width:100%;height:100%;background:linear-gradient(160deg,#111 0%,#1a1500 100%);display:flex;align-items:center;justify-content:center;font-size:3rem;opacity:.3;}
.test-photo-body{padding:1.25rem;}
.test-photo-quote{font-family:'Cormorant Garamond',serif;font-size:2.5rem;line-height:.4;color:var(--gold);opacity:.4;margin-bottom:.75rem;}
.test-photo-text{font-size:0.95rem;color:rgba(255,255,255,0.75);line-height:1.8;font-style:italic;margin-bottom:1rem;}
.test-photo-name{font-size:1.0rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);}
.test-photo-tag{display:inline-block;font-size:0.84rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .7rem;margin-top:.3rem;border:1px solid var(--border-gold);color:rgba(248,221,123,0.90);}
.quinces-tag{border-color:rgba(147,112,219,.4);color:rgba(147,112,219,.7);}
.bridal-tag{border-color:rgba(212,168,67,.4);color:rgba(212,168,67,.75);}
.test-empty{grid-column:1/-1;text-align:center;padding:3rem;color:rgba(255,255,255,0.7);font-size:0.95rem;letter-spacing:.1em;}

/* ══════════════════════════════════════════════
   RESPONSIVE — JARDÍN DE NOVIAS
   Tablet:      max-width 1024px
   Mobile:      max-width 768px
   Small:       max-width 480px
   Extra small: max-width 360px
══════════════════════════════════════════════ */

/* ── TABLET (max 1024px) ── */
@media(max-width:1024px){

  /* Services */
  .services-grid{grid-template-columns:repeat(3,1fr);}

  /* About */
  .about-grid{grid-template-columns:1fr;gap:3rem;}

  /* Process */
  .process-steps{grid-template-columns:repeat(2,1fr);gap:2rem;}
  .process-line{display:none;}

  /* Events */
  .events-grid{grid-template-columns:repeat(2,1fr);}

  /* Testimonials */
  .test-grid{grid-template-columns:repeat(2,1fr);}

  /* Blog / Prensa */
  #indexBlogGrid{grid-template-columns:repeat(2,1fr)!important;}
  #indexPrensaGrid{grid-template-columns:repeat(2,1fr)!important;}

  /* Contact */
  .contact-grid{grid-template-columns:1fr;gap:3rem;}

  /* Footer */
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem;}
  footer{padding:3rem 2rem 2rem;}

  /* IG */
  .ig-grid{grid-template-columns:repeat(4,1fr);}
  .ig-section{padding:4rem 2rem;}
}

/* ── MOBILE (max 768px) ── */
@media(max-width:768px){

  /* HERO */
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-left{height:65vw;min-height:260px;}
  .hero-right{padding:3rem 1.5rem 2.5rem;}
  .hero-eyebrow{font-size:.72rem;letter-spacing:.18em;}
  .hero-title{font-size:clamp(2.2rem,9vw,3.5rem);}
  .hero-sub{font-size:.78rem;letter-spacing:.04em;padding-left:.75rem;}
  .hero-ctas{flex-direction:column;gap:.75rem;align-items:flex-start;}
  .btn-gold,.btn-ghost{width:100%;max-width:320px;text-align:center;padding:.85rem 1.5rem;font-size:.82rem;}
  .hero-stats{gap:1.5rem;flex-wrap:wrap;}
  .stat-num{font-size:1.8rem;}
  .stat-label{font-size:.7rem;letter-spacing:.08em;}

  /* MARQUEE */
  .marquee-track{animation-duration:20s;}
  .marquee-item{font-size:.8rem;letter-spacing:.18em;padding:0 1.15rem;}

  /* SECTION PADDING */
  .section{padding:3.5rem 1.25rem;}
  .team-section{padding:3.5rem 1.25rem;}
  .section-header{margin-bottom:2rem;}

  /* SERVICES */
  .services-grid{grid-template-columns:1fr 1fr;}
  .svc-card{padding:1.5rem 1rem;}
  .svc-icon{font-size:1.6rem;margin-bottom:1rem;}
  .svc-name{font-size:1rem;}

  /* ABOUT */
  .about-grid{grid-template-columns:1fr;gap:4rem;}
  .about-img-wrap{
    height:auto;
    /* contener el frame decorativo para evitar overflow horizontal */
    overflow:hidden;
    padding:1.5rem 0 2rem 1.5rem;
  }
  .about-img-frame{
    top:0;left:0;right:auto;bottom:auto;
    width:calc(100% - 1.5rem);
    height:calc(100% - 2rem);
  }
  .about-badge{
    position:static;
    margin-top:1.25rem;
    display:inline-block;
    right:auto;bottom:auto;
  }
  .about-sig-role{font-size:.72rem;letter-spacing:.1em;}

  /* PROCESS */
  .process-steps{grid-template-columns:1fr;gap:1.5rem;}
  .process-line{display:none;}
  .p-step{padding:0 .5rem;}

  /* TEAM */
  .team-grid,.team-grid.row-2{grid-template-columns:repeat(2,1fr);max-width:100%;}
  .team-card{padding:2rem 1.25rem;}

  /* EVENTS */
  .events-grid{grid-template-columns:1fr;}

  /* TESTIMONIALS */
  .test-grid{grid-template-columns:1fr;}
  .brides-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .bride-tab{padding:.65rem 1.5rem;font-size:.72rem;white-space:nowrap;}

  /* IG */
  .ig-grid{grid-template-columns:repeat(3,1fr);}
  .ig-section{padding:3rem 1.25rem;}

  /* BLOG / PRENSA */
  #indexBlogGrid{grid-template-columns:1fr!important;}
  #indexPrensaGrid{grid-template-columns:1fr!important;}

  /* CONTACT */
  .contact-grid{grid-template-columns:1fr;gap:2rem;}
  .form-grid{grid-template-columns:1fr;}
  .form-checks{grid-template-columns:repeat(2,1fr);}

  /* FOOTER */
  .footer-top{grid-template-columns:1fr;}
  footer{padding:3rem 1.25rem 1.5rem;}
  .footer-bottom{flex-direction:column;gap:.5rem;text-align:center;}
  .footer-copy,.footer-hash{font-size:.72rem;letter-spacing:.06em;}
  .footer-links a{font-size:.82rem;}
  .footer-tagline{font-size:.78rem;}

  /* FAV DRAWER */
  .fav-drawer{min-width:90vw;padding:.85rem 1.25rem;gap:1rem;flex-wrap:wrap;justify-content:center;}
  .fav-label{font-size:.72rem;}
  .fav-send{font-size:.72rem;padding:.5rem 1rem;}

  /* WA FLOAT */
  .wa-float{width:50px;height:50px;font-size:1.2rem;bottom:1.25rem;right:1.25rem;}
}

/* ── SMALL MOBILE (max 480px) ── */
@media(max-width:480px){

  /* HERO */
  .hero-left{height:72vw;min-height:220px;}
  .hero-right{padding:2.5rem 1.25rem 2rem;}
  .hero-title{font-size:clamp(1.9rem,8vw,2.8rem);}
  .hero-sub{font-size:.72rem;}
  .btn-gold,.btn-ghost{max-width:100%;font-size:.76rem;}
  .hero-stats{gap:1rem;}
  .stat-num{font-size:1.6rem;}
  .stat-label{font-size:.62rem;}

  /* SECTION */
  .section{padding:3rem 1rem;}
  .team-section{padding:3rem 1rem;}
  .section-title{font-size:clamp(1.8rem,7vw,2.6rem);}
  .section-sub{font-size:.82rem;}

  /* SERVICES */
  .services-grid{grid-template-columns:1fr 1fr;}
  .svc-card{padding:1.25rem .75rem;}
  .svc-icon{font-size:1.4rem;}
  .svc-name{font-size:.88rem;}
  .svc-sub{font-size:.72rem;}

  /* TEAM */
  .team-grid,.team-grid.row-2{grid-template-columns:1fr;}
  .team-card{padding:1.75rem 1.25rem;}

  /* TESTIMONIALS */
  .bride-tab{padding:.6rem 1.1rem;font-size:.68rem;}

  /* IG */
  .ig-grid{grid-template-columns:repeat(2,1fr);}

  /* EVENTS */
  .event-body{padding:1rem;}
  .event-name{font-size:1.1rem;}

  /* FOOTER */
  footer{padding:2.5rem 1rem 1.25rem;}
  .footer-top{gap:2rem;}
  .footer-copy,.footer-hash{font-size:.68rem;}

  /* ABOUT */
  .about-val-title{font-size:.78rem;}
  .about-val-text{font-size:.78rem;}
  .about-sig{font-size:1.6rem;}

  /* PROCESS */
  .p-num{width:44px;height:44px;font-size:1rem;}
  .p-title{font-size:1rem;}
  .p-desc{font-size:.78rem;}
}

/* ── EXTRA SMALL (max 360px) ── */
@media(max-width:360px){

  /* HERO */
  .hero-left{height:78vw;}
  .hero-right{padding:2rem 1rem 1.75rem;}
  .hero-eyebrow{font-size:.62rem;letter-spacing:.12em;}
  .hero-title{font-size:1.75rem;}
  .hero-sub{font-size:.68rem;padding-left:.6rem;}
  .hero-stats{gap:.75rem;}
  .stat-num{font-size:1.4rem;}
  .stat-label{font-size:.58rem;}

  /* SECTION */
  .section{padding:2.5rem .9rem;}
  .team-section{padding:2.5rem .9rem;}
  .section-title{font-size:1.7rem;}

  /* SERVICES */
  .services-grid{grid-template-columns:1fr;}
  .svc-card{padding:1.1rem .9rem;}

  /* TESTIMONIALS */
  .brides-tabs{margin-bottom:1.75rem;}
  .bride-tab{padding:.55rem .9rem;font-size:.62rem;}

  /* FOOTER */
  footer{padding:2rem .9rem 1rem;}
  .social-btn{width:30px;height:30px;font-size:.75rem;}

  /* FAV DRAWER */
  .fav-drawer{min-width:96vw;padding:.7rem .9rem;gap:.6rem;}
  .fav-label{font-size:.65rem;}
  .fav-send,.fav-clear{font-size:.65rem;}
}

/* ══════════════════════════════════════════════
   YOUTUBE SECTION
══════════════════════════════════════════════ */
#videos{padding:5rem 2rem 4rem;background:#0a0a0a;}

.yt-header{text-align:center;max-width:600px;margin:0 auto 3rem;}
.yt-eyebrow{
  font-family:'Montserrat',sans-serif;font-size:.7rem;
  letter-spacing:.35em;color:var(--gold-mid);
  text-transform:uppercase;margin-bottom:1rem;
}
.yt-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,5vw,3.4rem);
  font-weight:300;color:#fff;line-height:1.15;margin-bottom:1rem;
}
.yt-title em{font-style:italic;color:var(--gold-mid);}
.yt-sub{
  font-family:'Montserrat',sans-serif;font-size:.82rem;
  color:rgba(255,255,255,.5);letter-spacing:.08em;line-height:1.7;
}

/* Grid 3 columnas */
.yt-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  max-width:1200px;
  margin:0 auto;
}
.yt-card{
  border:1px solid rgba(212,168,67,.15);
  overflow:hidden;
  transition:border-color .3s, transform .3s;
  background:#111;
}
.yt-card:hover{border-color:rgba(212,168,67,.45);transform:translateY(-3px);}

/* Embed 16:9 responsive */
.yt-embed-wrap{
  position:relative;
  padding-bottom:56.25%;
  height:0;overflow:hidden;
}
.yt-embed-wrap iframe{
  position:absolute;top:0;left:0;
  width:100%;height:100%;
  border:none;
}

/* CTA */
.yt-cta-wrap{text-align:center;margin-top:2.5rem;}
.yt-cta-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'Montserrat',sans-serif;font-size:.78rem;
  letter-spacing:.25em;text-transform:uppercase;
  color:#fff;text-decoration:none;
  border:1px solid rgba(212,168,67,.4);
  padding:.85rem 2rem;
  transition:all .25s;
}
.yt-cta-btn svg{width:18px;height:18px;color:#FF0000;}
.yt-cta-btn:hover{
  border-color:var(--gold-mid);
  color:var(--gold-light);
  background:rgba(179,126,16,.08);
}

/* Footer YT icon */
.social-btn-yt svg{width:16px;height:16px;}
.social-btn-yt:hover{border-color:#FF0000;color:#FF0000;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .yt-grid{grid-template-columns:1fr 1fr;}
  .yt-card:last-child{grid-column:1/-1;max-width:480px;margin:0 auto;width:100%;}
}
@media(max-width:600px){
  #videos{padding:3.5rem 1.25rem 3rem;}
  .yt-header{margin-bottom:2rem;}
  .yt-grid{grid-template-columns:1fr;gap:1rem;}
  .yt-card:last-child{grid-column:auto;max-width:100%;}
  .yt-cta-btn{width:100%;justify-content:center;max-width:320px;}
}
@media(max-width:360px){
  .yt-title{font-size:2rem;}
}

/* Video card label */
.yt-card-label{
  padding:.6rem .85rem .8rem;
  border-top:1px solid rgba(212,168,67,.1);
  background:#0d0d0d;
}
.yt-card-cat{
  display:block;font-family:'Montserrat',sans-serif;
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-mid);margin-bottom:.2rem;
}
.yt-card-titulo{
  display:block;font-family:'Cormorant Garamond',serif;
  font-size:1rem;color:rgba(255,255,255,.85);letter-spacing:.04em;
}
.yt-empty{
  grid-column:1/-1;text-align:center;
  padding:3rem;color:rgba(255,255,255,.3);
  font-family:'Montserrat',sans-serif;font-size:.8rem;letter-spacing:.1em;
}

/* ══════════════════════════════════════════════════════════
   MODAL AGENDAR CITA — WIZARD
══════════════════════════════════════════════════════════ */
.appt-overlay{
  position:fixed;inset:0;z-index:900;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;
  padding:1.5rem;
  opacity:0;pointer-events:none;
  transition:opacity .35s;
}
.appt-overlay.open{opacity:1;pointer-events:all;}

.appt-modal{
  background:#0e0e0e;
  border:1px solid rgba(212,168,67,.3);
  width:100%;max-width:680px;
  max-height:92vh;
  display:flex;flex-direction:column;
  transform:translateY(24px) scale(.98);
  transition:transform .38s cubic-bezier(.16,1,.3,1);
  overflow:hidden;
}
.appt-overlay.open .appt-modal{transform:translateY(0) scale(1);}

/* Header */
.appt-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 1.75rem 1.2rem;
  border-bottom:1px solid rgba(212,168,67,.14);
  flex-shrink:0;
}
.appt-header-inner{display:flex;align-items:center;gap:1rem;}
.appt-logo-mark{
  width:2.4rem;height:2.4rem;
  background:linear-gradient(135deg,var(--gold),rgba(212,168,67,.6));
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;color:#000;flex-shrink:0;
}
.appt-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;font-weight:400;color:#fff;letter-spacing:.04em;
}
.appt-subtitle{
  font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;
  color:rgba(248,221,123,.65);margin-top:.15rem;
}
.appt-close{
  width:2.2rem;height:2.2rem;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.7);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;transition:all .2s;flex-shrink:0;
}
.appt-close:hover{border-color:var(--gold);color:#fff;}

/* Progress bar */
.appt-progress{height:2px;background:rgba(255,255,255,.06);flex-shrink:0;}
.appt-progress-bar{
  height:100%;background:linear-gradient(90deg,var(--gold),rgba(212,168,67,.6));
  transition:width .4s ease;width:25%;
}

/* Body / Steps */
.appt-body{
  flex:1;overflow-y:auto;
  padding:2rem 1.75rem;
}
.appt-step{display:none;}
.appt-step.active{display:block;}

.appt-step-eyebrow{
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(248,221,123,.65);margin-bottom:.4rem;
}
.appt-step-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.4rem,3vw,1.9rem);font-weight:300;
  color:#fff;line-height:1.2;margin-bottom:.35rem;
}
.appt-step-title em{color:var(--gold);font-style:italic;}
.appt-step-hint{
  font-size:.65rem;color:rgba(255,255,255,.45);
  letter-spacing:.08em;margin-bottom:1.5rem;display:block;
}

/* Service cards grid */
.appt-service-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:.75rem;margin-top:1.2rem;
}
.appt-svc-card{
  border:1px solid rgba(212,168,67,.2);
  background:rgba(255,255,255,.03);
  padding:1.3rem .75rem 1.1rem;
  text-align:center;cursor:pointer;
  position:relative;
  transition:border-color .25s,background .25s,transform .2s;
}
.appt-svc-card:hover{
  border-color:rgba(212,168,67,.5);
  background:rgba(212,168,67,.05);
  transform:translateY(-2px);
}
.appt-svc-card.selected{
  border-color:var(--gold);
  background:rgba(179,126,16,.12);
}
.appt-svc-icon{font-size:1.8rem;margin-bottom:.5rem;display:block;}
.appt-svc-name{
  font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.8);line-height:1.4;
}
.appt-svc-card.selected .appt-svc-name{color:var(--gl);}
.appt-svc-check{
  position:absolute;top:.5rem;right:.5rem;
  width:1.1rem;height:1.1rem;
  background:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-size:.55rem;color:#000;font-weight:700;
  opacity:0;transform:scale(.5);
  transition:opacity .2s,transform .2s;
}
.appt-svc-card.selected .appt-svc-check{opacity:1;transform:scale(1);}

/* Branch cards */
.appt-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem;}
.appt-branch-card{
  border:1px solid rgba(212,168,67,.2);
  background:rgba(255,255,255,.03);
  padding:1.2rem 1rem;cursor:pointer;
  transition:border-color .25s,background .25s;
}
.appt-branch-card:hover{border-color:rgba(212,168,67,.5);background:rgba(212,168,67,.05);}
.appt-branch-card.selected{border-color:var(--gold);background:rgba(179,126,16,.12);}
.appt-branch-icon{font-size:1.2rem;margin-bottom:.35rem;}
.appt-branch-name{
  font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;margin-bottom:.2rem;
}
.appt-branch-card.selected .appt-branch-name{color:var(--gl);}
.appt-branch-hours{font-size:.62rem;color:rgba(255,255,255,.45);letter-spacing:.06em;}

/* Fields */
.appt-field-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem;}
.appt-two-col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.appt-label{
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.appt-optional{color:rgba(255,255,255,.3);text-transform:none;letter-spacing:0;font-size:.6rem;}
.appt-input{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(248,221,123,.2);
  color:#fff;
  font-family:'Montserrat',sans-serif;font-size:.75rem;
  padding:.7rem .9rem;outline:none;
  transition:border-color .2s,background .2s;
  width:100%;box-sizing:border-box;
}
.appt-input:focus{border-color:rgba(248,221,123,.55);background:rgba(255,255,255,.07);}
.appt-input::placeholder{color:rgba(255,255,255,.3);}
.appt-select{appearance:none;cursor:pointer;}
.appt-select option{background:#1a1a1a;color:#fff;}
.appt-textarea{resize:vertical;min-height:90px;}
.appt-field-hint{font-size:.6rem;color:rgba(248,221,123,.6);letter-spacing:.06em;}
.appt-field-error{font-size:.6rem;color:#ffb3b3;letter-spacing:.06em;display:none;}
.appt-field-error.show{display:block;}

/* Summary (step 4) */
.appt-summary{
  border:1px solid rgba(212,168,67,.2);
  background:rgba(255,255,255,.03);
  padding:1.4rem 1.5rem;
  display:flex;flex-direction:column;gap:.65rem;
  margin:1rem 0 1.25rem;
}
.appt-sum-row{display:flex;gap:.75rem;align-items:baseline;}
.appt-sum-key{
  font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(248,221,123,.65);flex-shrink:0;min-width:90px;
}
.appt-sum-val{font-size:.75rem;color:rgba(255,255,255,.88);line-height:1.5;}
.appt-sum-divider{height:1px;background:rgba(212,168,67,.1);margin:.1rem 0;}
.appt-wa-note{
  font-size:.65rem;color:rgba(255,255,255,.4);
  letter-spacing:.06em;line-height:1.7;text-align:center;
}

/* Footer nav */
.appt-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.75rem;
  border-top:1px solid rgba(212,168,67,.14);
  flex-shrink:0;
}
.appt-step-dots{display:flex;gap:.5rem;align-items:center;}
.appt-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.2);
  transition:background .3s,transform .3s;
}
.appt-dot.active{background:var(--gold);transform:scale(1.3);}
.appt-btn-back{
  font-family:'Montserrat',sans-serif;
  font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.5);background:transparent;
  border:1px solid rgba(255,255,255,.15);
  padding:.65rem 1.2rem;cursor:pointer;
  transition:all .2s;
}
.appt-btn-back:hover{border-color:rgba(255,255,255,.35);color:#fff;}
.appt-btn-next{
  font-family:'Montserrat',sans-serif;
  font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--gold),rgba(212,168,67,.75));
  color:#000;font-weight:600;
  border:none;padding:.75rem 1.8rem;cursor:pointer;
  transition:filter .2s,transform .2s;
}
.appt-btn-next:hover{filter:brightness(1.1);transform:translateY(-1px);}
.appt-btn-next.sending{opacity:.7;pointer-events:none;}

/* Responsive */
/* ── Modal responsive ─────────────────────────── */
@media(max-width:768px){
  .appt-overlay{padding:.75rem;}
  .appt-modal{max-height:96vh;}
  .appt-step-title{font-size:1.3rem;}
}

@media(max-width:640px){
  .appt-overlay{padding:0;}
  .appt-modal{
    max-width:100%;
    max-height:100dvh;
    height:100dvh;
    border-left:none;border-right:none;border-bottom:none;
    border-radius:0;
  }
  .appt-service-grid{grid-template-columns:repeat(2,1fr);gap:.55rem;}
  .appt-two-col{grid-template-columns:1fr;}
  .appt-body{padding:1.25rem 1rem;flex:1;overflow-y:auto;}
  .appt-header{padding:1rem 1.1rem;}
  .appt-footer{padding:.85rem 1.1rem;}
  .appt-title{font-size:1.1rem;}
  .appt-step-title{font-size:1.25rem;}
  .appt-btn-next{padding:.7rem 1.2rem;font-size:.6rem;}
  .appt-btn-back{padding:.6rem .9rem;font-size:.6rem;}
  .appt-branch-grid{gap:.55rem;}
  .appt-branch-card{padding:.9rem .75rem;}
  .appt-svc-card{padding:1rem .6rem .85rem;}
  .appt-svc-icon{font-size:1.5rem;}
  .appt-svc-name{font-size:.6rem;}
}

@media(max-width:480px){
  .appt-service-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;}
  .appt-branch-grid{grid-template-columns:1fr;}
  .appt-step-title{font-size:1.15rem;}
  .appt-logo-mark{width:2rem;height:2rem;font-size:.8rem;}
  .appt-title{font-size:1rem;}
  .appt-subtitle{font-size:.55rem;}
  .appt-input{font-size:.72rem;padding:.65rem .8rem;}
  .appt-step-dots{gap:.4rem;}
  .appt-dot{width:5px;height:5px;}
}

@media(max-width:380px){
  .appt-service-grid{grid-template-columns:1fr 1fr;}
  .appt-two-col{grid-template-columns:1fr;}
  .appt-svc-card{padding:.85rem .5rem .75rem;}
  .appt-svc-icon{font-size:1.3rem;}
  .appt-branch-card{padding:.8rem .7rem;}
}

/* Date input calendar icon — dorado */
.appt-date::-webkit-calendar-picker-indicator{
  filter:invert(75%) sepia(60%) saturate(400%) hue-rotate(5deg) brightness(95%);
  cursor:pointer;opacity:.85;
}
/* Botón siguiente deshabilitado */
.appt-btn-next:disabled{
  opacity:.35;pointer-events:none;cursor:not-allowed;
  filter:grayscale(.4);
}

/* ═══════════════════════════════════════════
   MODAL EVENTOS (index) — reutiliza estilos de eventos.css
═══════════════════════════════════════════ */
.ev-modal { position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;pointer-events:none;transition:opacity .35s; }
.ev-modal.open { opacity:1;pointer-events:all; }
.ev-modal-box { background:var(--black-card);border:1px solid rgba(212,168,67,.28);max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:55% 1fr;position:relative;transform:translateY(20px) scale(.98);transition:transform .35s; }
.ev-modal.open .ev-modal-box { transform:translateY(0) scale(1); }
.ev-modal-close { position:absolute;top:1.25rem;right:1.25rem;z-index:10;width:2.2rem;height:2.2rem;background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.92);font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:inherit; }
.ev-modal-close:hover { border-color:var(--gold-light);color:#fff; }
.ev-modal-gallery { position:relative;background:var(--black);min-height:480px;overflow:hidden; }
.ev-modal-gallery img { width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transition:opacity .5s; }
.ev-modal-gallery img.active { opacity:1; }
.ev-modal-gallery .ev-modal-gallery-ph { width:100%;height:100%;background:linear-gradient(135deg,#0d0d0d,#1a1300);display:flex;align-items:center;justify-content:center;font-size:5rem;min-height:480px; }
.ev-modal-thumbs { position:absolute;bottom:.75rem;left:0;right:0;display:flex;gap:.35rem;justify-content:center;padding:0 1rem; }
.ev-modal-thumb { width:44px;height:44px;object-fit:cover;cursor:pointer;opacity:.55;border:1px solid transparent;transition:all .2s;flex-shrink:0; }
.ev-modal-thumb.active,.ev-modal-thumb:hover { opacity:1;border-color:var(--gold-light); }
.ev-modal-nav { position:absolute;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;width:100%;padding:0 .75rem;pointer-events:none; }
.ev-modal-nav button { width:2.4rem;height:2.4rem;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.92);cursor:pointer;pointer-events:all;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:inherit; }
.ev-modal-nav button:hover { background:rgba(179,126,16,.45);border-color:var(--gold-mid); }
.ev-modal-content { padding:2.2rem 2rem;overflow-y:auto;display:flex;flex-direction:column;gap:.9rem; }
.ev-modal-tag { font-size:0.62rem;letter-spacing:.24em;text-transform:uppercase;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#000;padding:.3rem .9rem;font-weight:600;display:inline-block; }
.ev-modal-name { font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:300;color:#fff;line-height:1.15;margin-top:.15rem; }
.ev-modal-date { font-size:0.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,221,123,.75);display:flex;align-items:center;gap:.6rem;font-weight:400; }
.ev-modal-date::before { content:'';width:18px;height:1px;background:rgba(212,168,67,.55);flex-shrink:0; }
.ev-modal-sep { height:1px;background:rgba(212,168,67,.2); }
.ev-modal-desc { font-size:0.78rem;color:rgba(255,255,255,.78);line-height:1.9; }
.ev-modal-videos { display:flex;flex-direction:column;gap:.75rem; }
.ev-modal-video-label { font-size:0.62rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(212,168,67,.85);display:flex;align-items:center;gap:.5rem;font-weight:400; }
.ev-modal-video-label::before { content:'▶';font-size:.55rem; }
.ev-modal-video-list { display:flex;flex-direction:column;gap:.5rem; }
.ev-modal-video-link { display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:rgba(255,255,255,.04);border:1px solid rgba(212,168,67,.22);text-decoration:none;transition:all .25s; }
.ev-modal-video-link:hover { background:rgba(179,126,16,.1);border-color:rgba(212,168,67,.5); }
.ev-modal-video-link span:last-child { font-size:0.65rem;color:rgba(248,221,123,.92);letter-spacing:.05em; }
/* Estado badge dentro del modal */
.idx-ev-estado { display:inline-block;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;padding:.2rem .7rem;font-weight:500; }
.idx-ev-estado.proximo { background:linear-gradient(135deg,#B37E10,#F8DD7B);color:#000; }
.idx-ev-estado.pasado { background:rgba(255,255,255,.15);color:rgba(255,255,255,.8); }
/* Link a página de eventos */
.idx-ev-modal-link { display:inline-block;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(212,168,67,.3);padding-bottom:.15rem;transition:all .2s;margin-top:.5rem;align-self:flex-start; }
.idx-ev-modal-link:hover { color:#fff;border-color:rgba(255,255,255,.5); }
/* "Ver más" en card de eventos */
.event-card-more { display:inline-block;margin-top:.75rem;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-family:'Montserrat',sans-serif; }
.event-card:hover .event-card-more { color:#fff; }

/* Responsive modal index */
@media (max-width:1024px) {
  .ev-modal-box { grid-template-columns:1fr; }
  .ev-modal-gallery { min-height:320px; }
}
@media (max-width:768px) {
  .ev-modal { padding:0; align-items:flex-end; }
  .ev-modal-box { grid-template-columns:1fr;max-height:96vh;border-bottom:none; }
  .ev-modal-gallery { min-height:240px; }
  .ev-modal-content { padding:1.5rem; }
}
@media (max-width:480px) {
  .ev-modal-gallery { min-height:200px; }
  .ev-modal-name { font-size:1.3rem; }
}
