:root{--bone: #f7f3ec;--bone-deep: #efe7da;--ink: #3a342c;--ink-soft: #6b6256;--sage: #9aa884;--sage-deep: #7a886a;--rose: #d9b8aa;--damasco: #e8a87c;--damasco-deep: #d68f5f;--line: rgba(58, 52, 44, .14);--serif: "Fraunces", Georgia, serif;--sans: "Hanken Grotesk", system-ui, sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bone);color:var(--ink);line-height:1.65;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.wrap{max-width:1080px;margin:0 auto;padding:0 28px}h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.1;letter-spacing:-.01em}.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--sage-deep);font-weight:500}nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:center;gap:34px;padding:18px;background:#f7f3ecd1;backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .4s,padding .4s;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}nav.scrolled{border-color:var(--line);padding:13px 18px}nav a{color:var(--ink-soft);text-decoration:none;transition:color .3s}nav a:hover{color:var(--damasco-deep)}nav .mono{font-family:var(--serif);font-size:1rem;letter-spacing:.05em;text-transform:none;color:var(--ink)}@media(max-width:720px){nav a:not(.mono){display:none}}header{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:120px 24px 60px;overflow:hidden}header:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 70% 50% at 50% 18%,rgba(232,168,124,.18),transparent 60%),radial-gradient(ellipse 60% 45% at 15% 90%,rgba(154,168,132,.22),transparent 55%),radial-gradient(ellipse 55% 40% at 88% 80%,rgba(217,184,170,.2),transparent 55%)}.hero-eyebrow{opacity:0;animation:rise 1s .2s forwards}.hero-names{font-size:clamp(3.4rem,11vw,8.2rem);line-height:.92;margin:18px 0 6px;letter-spacing:-.02em;opacity:0;animation:rise 1.1s .45s forwards}.hero-names em{font-style:italic;color:var(--damasco-deep)}.amp{display:block;font-style:italic;font-size:.5em;color:var(--sage-deep);margin:2px 0}.hero-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.5vw,1.4rem);color:var(--ink-soft);opacity:0;animation:rise 1.1s .7s forwards}.hero-meta{margin-top:34px;display:flex;gap:26px;flex-wrap:wrap;justify-content:center;align-items:center;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);opacity:0;animation:rise 1.1s .95s forwards}.hero-meta span{position:relative}.hero-meta span:not(:last-child):after{content:"·";position:absolute;right:-15px;color:var(--damasco)}.hero-lugares{margin-top:14px;font-family:var(--serif);font-style:italic;font-size:clamp(.9rem,2vw,1.1rem);color:var(--ink-soft);opacity:0;animation:rise 1.1s 1.1s forwards;display:flex;gap:14px;align-items:center}.hero-lugares .sep{color:var(--damasco);font-style:normal}.scroll-hint{position:absolute;bottom:30px;left:50%;transform:translate(-50%);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);opacity:0;animation:rise 1.1s 1.3s forwards}.scroll-hint:after{content:"";display:block;width:1px;height:34px;background:var(--ink-soft);margin:10px auto 0;animation:pulse 2s infinite}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}section{padding:100px 0;position:relative}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}.sec-head{text-align:center;margin-bottom:54px}.sec-head h2{font-size:clamp(2.1rem,5vw,3.4rem);margin-top:14px}.sec-head h2 em{font-style:italic;color:var(--damasco-deep)}.historia{background:var(--bone-deep)}.hist-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.hist-grid p{font-size:1.05rem;color:var(--ink-soft);margin-bottom:16px}.hist-grid p:first-of-type{font-family:var(--serif);font-size:1.5rem;font-style:italic;color:var(--ink);line-height:1.4}.foto-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto;gap:10px}.foto-item{border-radius:4px;overflow:hidden;box-shadow:0 8px 24px -12px #3a342c59;background:var(--bone-deep)}.foto-item:nth-child(1){grid-row:span 2;aspect-ratio:2/3}.foto-item:nth-child(2){aspect-ratio:4/3}.foto-item:nth-child(3){aspect-ratio:4/3}.foto-item:nth-child(4){aspect-ratio:4/3}.foto-item:nth-child(5){grid-row:span 2;aspect-ratio:2/3}.foto-item:nth-child(6){aspect-ratio:4/3}.foto-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.foto-item:hover img{transform:scale(1.03)}.foto-placeholder{width:100%;height:100%;min-height:200px;background:linear-gradient(135deg,#9aa8844d,#d9b8aa59 50%,#e8a87c40);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-soft);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.foto-placeholder .foto-num{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:#3a342c4d}@media(max-width:720px){.hist-grid{grid-template-columns:1fr;gap:36px}.foto-grid{grid-template-columns:1fr 1fr}.foto-item:nth-child(1){grid-row:span 1;aspect-ratio:4/3}.foto-item:nth-child(5){grid-row:span 1;aspect-ratio:4/3}}.timeline{max-width:760px;margin:0 auto;position:relative}.timeline:before{content:"";position:absolute;left:88px;top:10px;bottom:10px;width:1px;background:var(--line)}.tl-item{display:grid;grid-template-columns:78px 1fr;gap:34px;margin-bottom:38px;position:relative}.tl-time{font-family:var(--serif);font-size:1.25rem;color:var(--damasco-deep);text-align:right;padding-top:2px}.tl-body{padding-bottom:8px}.tl-body:before{content:"";position:absolute;left:84px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--bone);border:1.5px solid var(--sage-deep)}.tl-body h3{font-size:1.3rem;margin-bottom:4px}.tl-body p{color:var(--ink-soft);font-size:.95rem}.tl-tag{display:inline-block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;background:#9aa8842e;color:var(--sage-deep);padding:3px 10px;border-radius:20px;margin-top:8px}@media(max-width:560px){.timeline:before,.tl-body:before{left:64px}.tl-item{grid-template-columns:54px 1fr;gap:22px}.tl-time{font-size:1rem}}.detalles{background:var(--bone-deep)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--bone);border:1px solid var(--line);border-radius:6px;padding:34px 28px;transition:transform .4s,box-shadow .4s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 40px -22px #3a342c66}.card .ic{font-size:1.6rem;margin-bottom:14px;display:block}.card h3{font-size:1.35rem;margin-bottom:8px}.card p{font-size:.92rem;color:var(--ink-soft)}@media(max-width:720px){.card-grid{grid-template-columns:1fr}}.gastro{text-align:center;background:linear-gradient(180deg,var(--bone),var(--bone-deep))}.gastro .menu{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 28px;margin-top:34px;max-width:760px;margin-left:auto;margin-right:auto}.gastro .menu span{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--ink)}.gastro .menu span:after{content:"·";margin-left:28px;color:var(--damasco)}.gastro .menu span:last-child:after{content:""}.baco-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center;background:var(--bone-deep)}.baco-bg{background:var(--bone-deep)}.baco-img{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--sage),var(--sage-deep));display:flex;align-items:center;justify-content:center;font-size:4rem;box-shadow:0 24px 50px -28px #3a342c80}.baco-wrap h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:14px}.baco-wrap h2 em{font-style:italic;color:var(--sage-deep)}.baco-wrap p{color:var(--ink-soft);font-size:1.02rem}@media(max-width:720px){.baco-wrap{grid-template-columns:1fr;text-align:center;gap:30px}.baco-img{max-width:220px;margin:0 auto}}.memorial{text-align:center;padding:120px 0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(232,168,124,.12),transparent 70%)}.memorial .mark{font-size:1.4rem;color:var(--damasco);margin-bottom:24px;letter-spacing:.5em}.memorial p{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3.2vw,1.9rem);max-width:620px;margin:0 auto;color:var(--ink);line-height:1.45;font-weight:300}.memorial small{display:block;margin-top:26px;font-family:var(--sans);font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.rsvp{background:var(--ink);color:var(--bone)}.rsvp .sec-head h2{color:var(--bone)}.rsvp .sec-head .eyebrow{color:var(--damasco)}.rsvp .sec-head p{color:#f7f3ec99;margin-top:10px}.rsvp-gate{max-width:480px;margin:0 auto;text-align:center}.rsvp-gate .gate-label{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#f7f3ec99;margin-bottom:20px;display:block}.gate-input-wrap{display:flex;gap:12px;margin-bottom:16px}.gate-input{flex:1;background:transparent;border:none;border-bottom:1px solid rgba(247,243,236,.35);color:var(--bone);font-family:var(--serif);font-size:1.4rem;letter-spacing:.3em;text-align:center;padding:12px 8px;transition:border-color .3s}.gate-input:focus{outline:none;border-color:var(--damasco)}.gate-input::placeholder{opacity:.3;letter-spacing:.2em;font-size:1rem}.gate-btn{padding:14px 28px;background:var(--damasco);color:var(--ink);border:none;border-radius:4px;font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .3s,transform .2s;white-space:nowrap}.gate-btn:hover{background:var(--damasco-deep);transform:translateY(-2px)}.gate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.gate-error{font-size:.84rem;color:var(--rose);margin-top:10px;min-height:20px}.gate-hint{font-size:.74rem;color:#f7f3ec59;margin-top:18px}.form{max-width:620px;margin:0 auto;display:none}.form.visible{display:block}.rsvp-notice{background:#9aa88426;border:1px solid rgba(154,168,132,.3);border-radius:4px;padding:14px 18px;margin-bottom:28px;font-size:.88rem;color:var(--sage);display:none}.rsvp-notice.visible{display:block}.field{margin-bottom:24px}.field label{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#f7f3ec99;margin-bottom:9px}.field input,.field select,.field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(247,243,236,.25);color:var(--bone);font-family:var(--sans);font-size:1rem;font-weight:300;padding:10px 2px;transition:border-color .3s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--damasco)}.field textarea{resize:vertical;min-height:60px}.field select option{background:var(--ink);color:var(--bone)}.field .hint{font-size:.78rem;color:#f7f3ec66;margin-top:6px;letter-spacing:0;text-transform:none}.field-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;pointer-events:none}.row2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.chip{padding:9px 18px;border:1px solid rgba(247,243,236,.25);border-radius:30px;cursor:pointer;font-size:.85rem;transition:all .25s;user-select:none}.chip.active{background:var(--damasco);border-color:var(--damasco);color:var(--ink)}.submit{width:100%;margin-top:14px;padding:17px;background:var(--damasco);color:var(--ink);border:none;border-radius:4px;font-family:var(--sans);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .3s,transform .2s}.submit:hover{background:var(--damasco-deep);transform:translateY(-2px)}.submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.ok{display:none;text-align:center;padding:50px 20px}.ok.show{display:block;animation:rise .7s forwards}.ok .big{font-family:var(--serif);font-style:italic;font-size:2.2rem;color:var(--damasco);margin-bottom:12px}.ok p{color:#f7f3ecb3}@media(max-width:560px){.row2{grid-template-columns:1fr}.gate-input-wrap{flex-direction:column}.gate-btn{width:100%}}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-box{border:1px solid var(--line);border-radius:6px;padding:32px}.info-box h3{font-size:1.4rem;margin-bottom:12px}.info-box h3 em{font-style:italic;color:var(--damasco-deep)}.info-box p,.info-box li{color:var(--ink-soft);font-size:.95rem}.info-box ul{list-style:none;margin-top:10px}.info-box li{padding-left:20px;position:relative;margin-bottom:7px}.info-box li:before{content:"—";position:absolute;left:0;color:var(--sage-deep)}.regalo-gated{display:none;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.regalo-gated.visible{display:block}.regalo-gated p{font-size:.88rem;margin-bottom:6px}@media(max-width:720px){.info-grid{grid-template-columns:1fr}}.faq-item{border-bottom:1px solid var(--line);padding:22px 0;cursor:pointer}.faq-q{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:1.2rem}.faq-q .plus{color:var(--damasco-deep);font-size:1.4rem;transition:transform .3s;flex-shrink:0;margin-left:16px}.faq-item.open .plus{transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s,padding .4s;color:var(--ink-soft);font-size:.95rem}.faq-item.open .faq-a{max-height:200px;padding-top:14px}footer{text-align:center;padding:70px 24px 50px;background:var(--bone-deep);border-top:1px solid var(--line)}footer .names{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--ink)}footer .names em{color:var(--damasco-deep)}footer .date{margin-top:8px;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}footer .heart{color:var(--damasco);margin:18px 0;font-size:1.1rem}footer small{display:block;font-size:.7rem;color:var(--ink-soft);opacity:.6;margin-top:14px}.hidden{display:none!important}
