:root{--gold:#d7ae55;--gold2:#f3d58b;--black:#050505;--panel:#0c0c0c;--muted:#aaa;--white:#f7f4ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Montserrat,Arial,sans-serif}.nav{height:78px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:linear-gradient(#050505e8,#05050500);backdrop-filter:blur(3px)}.brand{font-weight:800;letter-spacing:3px;color:white;text-decoration:none;font-size:20px}.brand span{font-family:'Cormorant Garamond';font-size:29px;font-style:italic;color:var(--gold);letter-spacing:0}.nav nav{display:flex;gap:28px;align-items:center}.nav nav a{color:white;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.5px}.nav-cta{border:1px solid var(--gold);padding:11px 18px;color:var(--gold)!important}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{height:100svh;min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:url('https://imagenes.passline.com/eventos/daniel-agostini-caseros-547235-rec.jpg');background-repeat:no-repeat;background-size:min(700px,70vh);background-position:75% center;filter:saturate(.82)}.shade{position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,transparent 0 12%,#05050555 40%,#050505 78%),linear-gradient(90deg,#050505 20%,transparent 70%)}.hero-content{position:relative;z-index:2;margin-left:9vw;max-width:700px}.eyebrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:6px}.hero h1{font-size:clamp(64px,9vw,132px);line-height:.72;margin:25px 0 35px;letter-spacing:-5px}.hero h1 em{display:block;font-family:'Cormorant Garamond';font-weight:500;color:var(--gold2);font-size:.72em;margin-left:10%;letter-spacing:-2px}.anniversary{font-weight:700;letter-spacing:6px;font-size:15px}.lead{color:#c8c8c8;font-family:'Cormorant Garamond';font-size:23px;font-style:italic;margin:22px 0 35px}.btn{display:inline-block;text-decoration:none;padding:15px 27px;font-size:12px;font-weight:800;letter-spacing:2px}.gold{background:var(--gold);color:#090909}.outline{border:1px solid var(--gold);color:var(--gold)}.scroll{position:absolute;bottom:25px;left:50%;z-index:2;color:var(--gold);font-size:26px;text-decoration:none}.section{padding:100px 8vw}.section-head{text-align:center;margin-bottom:55px}.section-head p{font-size:11px;letter-spacing:5px;color:var(--gold);font-weight:700}.section-head h2{font-size:clamp(36px,5vw,62px);margin:10px 0}.section-head h2 span,.history h2 span{color:var(--gold);font-family:'Cormorant Garamond';font-style:italic}.line{width:55px;height:1px;background:var(--gold);margin:auto}.dates{max-width:1050px;margin:auto;border-top:1px solid #262626}.date{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:28px;padding:27px 10px;border-bottom:1px solid #262626;transition:.2s}.date:hover{background:#0b0b0b;padding-left:20px}.cal{text-align:center;border-right:1px solid #333}.cal strong{font-family:'Cormorant Garamond';font-size:38px;color:var(--gold);display:block;line-height:.9}.cal small{font-size:11px;letter-spacing:3px}.place h3{font-size:18px;margin:0 0 7px}.place p{margin:0;color:#8f8f8f;font-size:12px}.ticket{color:var(--gold);border:1px solid #5e4a24;text-decoration:none;padding:12px 17px;font-size:10px;font-weight:800;letter-spacing:1.5px}.history{min-height:650px;background:linear-gradient(120deg,#050505 0%,#0b0b0b 100%)}.history-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:center}.history-card{max-width:650px;border-left:1px solid var(--gold);padding:20px 0 20px 45px}.history-photo{margin:0;position:relative}.history-photo:before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid #5e4a24;z-index:0}.history-photo img{position:relative;z-index:1;display:block;width:100%;max-height:610px;object-fit:cover;object-position:center 56%;filter:saturate(.9) contrast(1.03)}.history h2{font-size:clamp(42px,5vw,65px);line-height:.9}.history h2 span{display:block}.history-card>p:not(.eyebrow){line-height:1.9;color:#aaa;font-size:14px}.social{background:#090909}.social-grid{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:15px}.social-grid a{position:relative;display:flex;flex-direction:column;padding:30px;border:1px solid #292929;color:white;text-decoration:none}.social-grid a:hover{border-color:var(--gold)}.social-grid b{font-size:18px}.social-grid small{color:#888;margin-top:7px}.social-grid i{position:absolute;right:25px;top:30px;color:var(--gold);font-style:normal}footer{border-top:1px solid #222;padding:40px 8vw;display:flex;justify-content:space-between;align-items:center;color:#777;font-size:11px}@media(max-width:700px){.nav{padding:0 5vw}.menu{display:block}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:#080808;padding:25px;flex-direction:column}.nav nav.open{display:flex}.hero{min-height:720px;align-items:flex-end;padding-bottom:110px}.hero-photo{background-size:520px;background-position:75% 25%;opacity:.72}.shade{background:linear-gradient(0deg,#050505 18%,#05050522 65%,#050505 100%)}.hero-content{margin:0 7vw}.hero h1{font-size:60px;letter-spacing:-3px}.anniversary{font-size:11px;letter-spacing:3px}.section{padding:75px 6vw}.date{grid-template-columns:72px 1fr;gap:15px}.cal strong{font-size:32px}.ticket{grid-column:2;width:max-content}.place h3{font-size:15px}.social-grid{grid-template-columns:1fr}.history-inner{grid-template-columns:1fr;gap:45px}.history-card{padding-left:25px}.history-photo{max-width:520px;margin:auto}.history-photo img{max-height:600px}footer{flex-direction:column;gap:10px;text-align:center}}
.spotify{background:linear-gradient(180deg,#050505 0%,#0a0a0a 100%)}.spotify-wrap{max-width:900px;margin:auto;text-align:center}.spotify-wrap iframe{display:block;background:#121212;box-shadow:0 24px 70px #0008}.spotify-btn{margin-top:28px}.spotify-btn:hover{background:var(--gold);color:#090909}
/* CONTACTO */
.contact-wrap{max-width:850px;margin:0 auto;text-align:center}.contact-wrap>p{max-width:650px;margin:0 auto 28px;color:#c8c8c8;line-height:1.7}.contact-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.contact-actions .btn{text-decoration:none;min-width:245px}.contact-actions .gold{color:#111}

/* FIX FOTO HISTORIA: imagen contenida dentro de su recuadro */
.history-photo{
  margin:0;
  position:relative;
  border:1px solid #5e4a24;
  padding:12px;
  overflow:hidden;
  background:#070707;
}
.history-photo:before{display:none}
.history-photo img{
  position:relative;
  display:block;
  width:100%;
  height:auto;
  max-height:610px;
  object-fit:contain;
  object-position:center;
  filter:saturate(.9) contrast(1.03);
}
@media(max-width:700px){
  .history-photo{padding:8px;max-width:520px;margin:auto}
  .history-photo img{max-height:none}
}

/* Redes v9: sin archivos externos; los símbolos viven en el HTML */
.social-icons{max-width:680px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap}
.social-icon{width:78px;height:78px;border:1px solid #3b3527;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0d0d0d;color:var(--gold);text-decoration:none;transition:transform .2s,border-color .2s,background .2s;overflow:hidden}
.social-icon:hover{transform:translateY(-4px);border-color:var(--gold);background:#17130b}
.social-icon span{display:block;color:var(--gold);font-family:Arial,Helvetica,sans-serif;font-weight:700;line-height:1;text-align:center}
.ig-mark{font-size:47px;font-weight:400!important;transform:translateY(-1px)}
.yt-mark{font-size:34px;transform:translateX(2px)}
.sp-mark{font-size:49px;font-weight:400!important;transform:rotate(-5deg) translateY(-3px)}
.fb-mark{font-size:49px;font-family:Arial Black,Arial,sans-serif!important;transform:translateY(7px)}
.tt-mark{font-size:43px;transform:translateY(-1px)}
@media(max-width:700px){
 .social-icons{gap:13px}
 .social-icon{width:60px;height:60px}
 .ig-mark{font-size:38px}.yt-mark{font-size:27px}.sp-mark{font-size:40px}.fb-mark{font-size:39px}.tt-mark{font-size:35px}
}

/* Sección de YouTube, adaptable a celulares */
.youtube-wrap{max-width:860px;margin:0 auto;text-align:center}
.youtube-frame{position:relative;width:100%;aspect-ratio:16/9;background:#111;border:1px solid #5e4a24;border-radius:12px;overflow:hidden}
.youtube-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.youtube-caption{font-size:13px;opacity:.72;margin:18px 0}
.youtube-wrap .btn{display:inline-block;max-width:100%;white-space:normal;text-align:center}
.contact-actions .btn{max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;text-align:center}
@media(max-width:700px){.youtube-wrap{width:100%}.contact-actions .btn{font-size:12px;padding-left:14px;padding-right:14px}}

/* Tres previews de YouTube: 3 columnas desktop, 1 columna móvil */
.youtube-wrap{max-width:1120px;margin:0 auto;text-align:center}
.youtube-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}
.video-card{min-width:0;background:#111;border:1px solid #5e4a24;border-radius:12px;overflow:hidden}
.video-preview{display:block;position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#151515;cursor:pointer;overflow:hidden}
.video-preview img{display:block;width:100%;height:100%;object-fit:cover}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:46px;border-radius:13px;background:#d7ae55;color:#101010;font-size:25px;box-shadow:0 3px 16px #0008;transition:transform .2s}
.video-preview:hover .video-play{transform:translate(-50%,-50%) scale(1.1)}
.video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.video-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 12px;flex-wrap:wrap;font-size:11px}
.video-card-bottom span{color:#d7ae55;font-weight:700;letter-spacing:.06em}
.video-card-bottom a{color:#f0f0f0;text-decoration:none}
.youtube-channel-btn{display:inline-block;margin-top:26px}
@media(max-width:850px){.youtube-gallery{grid-template-columns:1fr;max-width:540px;margin:auto}.video-card-bottom{font-size:12px}}

/* v15: marcas reconocibles incrustadas, sin dependencias de archivos ni fuentes externas */
.brand-socials{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px;max-width:760px;margin:0 auto}
.brand-social{width:90px;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#d7ae55;text-decoration:none;border:1px solid #594725;border-radius:12px;background:#121212;transition:transform .2s,border-color .2s}
.brand-social:hover{transform:translateY(-3px);border-color:#d7ae55}
.brand-social svg{display:block;width:37px;height:37px;flex:none;overflow:visible}
.brand-social-label{color:#e9e9e9;font-family:Montserrat,Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.02em}
@media(max-width:700px){.brand-socials{gap:10px}.brand-social{width:72px;min-height:82px;gap:8px}.brand-social svg{width:30px;height:30px}.brand-social-label{font-size:9px}}

/* Sección fin de semana: estilos compatibles con Safari y Chrome */
.dance-section{padding-top:45px;padding-bottom:55px}
.dance-section .section-head h2{font-size:clamp(25px,3.7vw,48px);line-height:1.18}
.dance-list,.dance-list li{list-style:none!important;list-style-type:none!important}
.dance-list{margin:22px auto 0!important;padding:0 18px!important;max-width:850px;width:100%;box-sizing:border-box}
.dance-list li{display:flex!important;align-items:baseline;gap:16px;margin:0!important;padding:10px 0!important;border-bottom:1px solid rgba(215,174,85,.17);font-size:clamp(14px,1.5vw,17px);line-height:1.55;color:#f2f2f2}
.dance-list li::marker{content:''}
.dance-list li::before{content:none!important;display:none!important}
.dance-day{display:inline-block!important;flex:0 0 74px;color:#d7ae55!important;font-weight:700;white-space:nowrap;font-size:13px;letter-spacing:.06em}
.dance-list li>span:last-child{display:block;min-width:0}
.dance-list small{font-size:inherit;color:#bcbcbc}
@media(max-width:600px){.dance-list{padding:0 18px!important}.dance-list li{gap:11px;padding:9px 0!important;font-size:14px}.dance-day{flex-basis:63px;font-size:12px}.dance-section .section-head h2{font-size:clamp(24px,7vw,34px)}}
