:root{--bg:#080808;--panel:#111;--panel2:#171717;--gold:#d6b25e;--gold2:#f1d58a;--text:#f7f4ec;--muted:#b7b1a5;--line:#2a2926}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Montserrat,Arial,sans-serif;line-height:1.6}.topbar{position:fixed;z-index:30;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(5,5,5,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(214,178,94,.17)}.brand{font-family:Cinzel,serif;color:#fff;text-decoration:none;font-weight:700;letter-spacing:.08em}.brand span{color:var(--gold)}.nav{display:flex;gap:24px;align-items:center}.nav a{color:#eee;text-decoration:none;font-size:.86rem}.nav a:hover{color:var(--gold2)}.nav-cta{border:1px solid var(--gold);padding:9px 14px}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.6rem}.hero{min-height:100vh;display:grid;place-items:center;position:relative;padding:130px 7vw 80px;background-image:linear-gradient(135deg,rgba(5,5,5,.68),rgba(10,10,10,.58)),url('images/cloud-dance.png');background-size:cover;background-position:center;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,#000,transparent)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25))}.hero-content{position:relative;z-index:2;max-width:900px;text-align:center}.eyebrow{color:var(--gold);letter-spacing:.22em;font-size:.75rem;font-weight:700}.hero h1,.section h2,.split h2,.music-card h2,.feature-copy h3{font-family:Cinzel,serif;line-height:1.08;margin:.25em 0}.hero h1{font-size:clamp(3rem,7vw,6.5rem)}.hero h1 span{color:var(--gold2)}.hero-copy{max-width:760px;margin:22px auto;color:#e1ddd5;font-size:1.08rem}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;border:1px solid var(--gold);padding:13px 23px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.78rem;cursor:pointer;font-family:inherit}.gold{background:linear-gradient(135deg,#b68d39,#ebd07a);color:#090909}.outline{color:var(--gold2);background:transparent}.btn:hover{transform:translateY(-2px)}.small{padding:10px 16px}.hero-badge{position:absolute;right:5vw;bottom:5vw;z-index:2;border:1px solid rgba(214,178,94,.5);padding:16px;text-align:center;color:#cfc6b2;font-size:.7rem;letter-spacing:.12em;background:rgba(10,10,10,.45)}.hero-badge strong{color:var(--gold2)}.section{padding:100px 7vw}.intro{text-align:center;max-width:920px;margin:auto}.intro h2,.section-head h2{font-size:clamp(2rem,4vw,3.8rem)}.intro p:last-child,.section-head p:last-child{color:var(--muted)}.section-head{text-align:center;max-width:780px;margin:0 auto 48px}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(4,1fr)}.card{background:linear-gradient(180deg,#141414,#0e0e0e);padding:28px;border:1px solid var(--line);min-height:210px}.card:hover{border-color:rgba(214,178,94,.65);transform:translateY(-4px)}.icon{font-size:2rem}.card h3{font-family:Cinzel,serif;margin:.7em 0 .4em}.card p{color:var(--muted);font-size:.9rem}.split{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px;background:#0e0e0e}.reverse{grid-template-columns:.9fr 1.1fr}.reverse .split-photo{order:2}.split-photo{position:relative;background-size:cover;background-position:center}.split-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.05),rgba(0,0,0,.38))}.wedding-photo{background-image:url('images/fountain-couple.png')}.quince-photo{background-image:url('images/quince-blue.png')}.wedding-photo:after,.quince-photo:after{content:"WEDDING EXPERIENCE";position:absolute;inset:auto 0 30px 0;display:grid;place-items:center;font-family:Cinzel,serif;letter-spacing:.2em;color:rgba(255,255,255,.82);text-shadow:0 2px 16px rgba(0,0,0,.75);font-size:clamp(1.2rem,3vw,2.3rem)}.quince-photo:after{content:"QUINCEAÑERA EXPERIENCE"}.split-copy{padding:80px 8vw;display:flex;flex-direction:column;justify-content:center}.split-copy h2{font-size:clamp(2rem,4vw,4rem)}.split-copy p{color:var(--muted)}.text-link{color:var(--gold2);text-decoration:none;font-weight:700;margin-top:12px}.gallery{background:#0a0a0a}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;max-width:1400px;margin:0 auto}.gallery-item{margin:0;grid-column:span 4;border:1px solid rgba(214,178,94,.14);background:#111;overflow:hidden;border-radius:2px}.gallery-item.large{grid-column:span 8;grid-row:span 2}.gallery-item.tall{grid-row:span 2}.gallery-item img,.feature-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item img{min-height:280px}.gallery-item:hover img,.feature-card:hover img{transform:scale(1.04)}.feature-strip{padding-top:0;display:grid;gap:24px}.feature-card{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:#101010;border:1px solid rgba(214,178,94,.18);overflow:hidden}.reverse-card{grid-template-columns:.9fr 1.1fr}.reverse-card .feature-photo{order:2}.feature-photo{min-height:380px}.feature-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}.feature-copy h3{font-size:clamp(1.6rem,3vw,2.8rem)}.feature-copy p:last-child{color:var(--muted)}.packages{background:#0b0b0b}.package-grid{grid-template-columns:repeat(3,1fr);max-width:1100px;margin:auto}.package{border:1px solid var(--line);padding:34px;background:#111}.package.featured{border-color:var(--gold);transform:scale(1.03);background:linear-gradient(180deg,#17140d,#111)}.pkg-tag{font-size:.68rem;color:var(--gold);letter-spacing:.16em}.package h3{font-family:Cinzel,serif;font-size:2rem;margin:.35em 0}.pkg-lead{color:var(--muted)}.package ul{padding-left:20px;color:#d5d0c8;min-height:170px}.music-request{padding:110px 7vw;background:radial-gradient(circle at center,rgba(214,178,94,.12),transparent 38%),#080808}.music-card{max-width:900px;margin:auto;border:1px solid rgba(214,178,94,.45);padding:clamp(28px,5vw,60px);text-align:center;background:rgba(16,16,16,.82)}.music-card h2{font-size:clamp(2.2rem,5vw,4rem)}form{display:grid;gap:14px;margin-top:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,select,textarea{width:100%;background:#0a0a0a;color:#fff;border:1px solid #333;padding:14px;font:inherit}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}.form-status{min-height:1.4em;color:var(--gold2);margin:0}.booking-form{max-width:900px;margin:auto}footer{padding:54px 7vw;border-top:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;color:var(--muted);font-size:.88rem}.footer-brand{font-size:1.05rem;color:#fff;margin-bottom:10px}.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1180px){.gallery-grid{grid-template-columns:repeat(6,1fr)}.gallery-item,.gallery-item.large{grid-column:span 3}.gallery-item.large,.gallery-item.tall{grid-row:span 1}.feature-card,.reverse-card{grid-template-columns:1fr}}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;background:#080808;padding:24px;border-bottom:1px solid #222}.nav.open{display:flex}.menu-btn{display:block}.split,.reverse{grid-template-columns:1fr}.reverse .split-photo{order:0}.split-photo{min-height:400px}.package-grid{grid-template-columns:1fr}.package.featured{transform:none}footer{grid-template-columns:1fr 1fr}.feature-copy{padding:34px}}
@media(max-width:620px){.topbar{padding:0 18px}.brand{font-size:.8rem}.section{padding:78px 20px}.hero{padding-left:20px;padding-right:20px}.hero-badge{display:none}.cards{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.split-copy{padding:65px 22px}.music-request{padding:78px 20px}footer{grid-template-columns:1fr;padding:42px 20px}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item.large,.gallery-item.tall{grid-column:span 1}.feature-photo{min-height:280px}}

.phone-link,footer a{color:var(--gold2);text-decoration:none;font-weight:700}.phone-link:hover,footer a:hover{text-decoration:underline}

.contact-social{background:#0d0d0d}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1050px;margin:0 auto}.contact-card{min-height:180px;padding:28px;border:1px solid rgba(214,178,94,.28);background:linear-gradient(180deg,#151515,#0d0d0d);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none;color:var(--text);transition:.25s ease}.contact-card:hover{border-color:var(--gold);transform:translateY(-4px)}.contact-icon{font-size:2rem;color:var(--gold2)}.contact-card strong{font-family:Cinzel,serif;font-size:1.15rem}.contact-card span:last-child{color:var(--muted)}footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--gold2)}
@media(max-width:780px){.contact-grid{grid-template-columns:1fr}}

.reviews{scroll-margin-top:76px;border-top:1px solid var(--line);background:#0b0b0b}.review-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-card{padding:28px;background:#151518;border:1px solid rgba(214,178,94,.32);border-radius:12px}.review-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.review-heading h3{color:var(--gold2);margin:0;font-size:1.25rem}.review-heading span{color:var(--muted);font-size:.9rem}.review-stars{color:var(--gold);letter-spacing:.12em;margin:8px 0;font-size:1.3rem}.review-card blockquote{margin:0;font-size:1rem;overflow-wrap:anywhere}.review-compose{max-width:850px;margin:48px auto 0;padding:30px;border:1px solid var(--line);background:#111}.review-compose h3{font-family:Cinzel,serif;font-size:1.5rem;margin:0}.review-compose p{color:var(--muted)}.review-compose label{font-size:1rem;display:grid;gap:8px}.review-compose .review-consent{display:flex;align-items:flex-start;gap:12px}.review-consent input{width:20px;height:20px;flex-shrink:0;margin-top:4px;accent-color:var(--gold)}.review-compose .btn{font-size:.9rem;white-space:normal}.review-compose .form-status{color:var(--gold2)}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-card{padding:22px}.review-compose{padding:22px}}

.videos{scroll-margin-top:76px;background:linear-gradient(180deg,#111,#080808);border-top:1px solid var(--line)}.wedding-film{max-width:1000px;margin:0 auto;border:1px solid rgba(214,178,94,.4);background:#111;overflow:hidden;border-radius:12px}.wedding-film video{display:block;width:100%;height:auto;aspect-ratio:910/512;background:#000;object-fit:contain}.wedding-film figcaption{padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px}.wedding-film h3{font-family:Cinzel,serif;font-size:1.6rem;margin:4px 0}.wedding-film figcaption p{margin:4px 0;color:var(--muted)}.wedding-film figcaption .eyebrow{color:var(--gold)}@media(max-width:1180px) and (min-width:981px){.nav{gap:14px}.nav a{font-size:.8rem}}@media(max-width:620px){.wedding-film figcaption{padding:20px;align-items:flex-start;flex-direction:column}}

.wedding-film + .wedding-film{margin-top:36px}
