@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#4f5d58;background:#f5f1ea;--ivory: #f8f4ee;--sage: #dfe7df;--sage-2: #cfdccf;--dusty-blue: #dbe7ef;--blush: #f0dfe0;--sand: #eadfce;--green: #70877d;--green-dark: #50675e;--ink: #48564f;--muted: #7b8983;--line: rgba(80, 103, 94, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 3%,rgba(240,223,224,.72),transparent 24rem),radial-gradient(circle at 90% 34%,rgba(219,231,239,.64),transparent 25rem),#f5f1ea}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.intro{min-height:100svh;position:relative;display:grid;align-items:end;padding:24px;overflow:hidden;background:url(/images/casamiento4.png) center 28% / cover no-repeat}.intro-shade{position:absolute;inset:0;background:linear-gradient(180deg,#1c221f0d,#1c221f14 38%,#2f3a34b8)}.intro-card{width:min(100%,520px);position:relative;z-index:2;margin:0 auto 18px;padding:32px 24px 27px;text-align:center;border:1px solid rgba(255,255,255,.45);border-radius:30px;background:#f8f4eed4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 70px #24302a33}.intro-card h1,.hero h1,.section h2,.soft-card h2,.closing-copy h2,.gift-modal h2{font-family:Playfair Display,Georgia,serif}.intro-card h1{margin:0;font-size:clamp(3.9rem,17vw,6.7rem);line-height:.86;color:var(--green-dark)}.intro-card h1 span,.hero h1 span,.closing-copy h2 span{display:inline-block;font-style:italic;color:#a98388;margin:0 .08em}.intro-title{margin:16px 0 22px;font-family:Playfair Display,Georgia,serif;font-size:1.8rem;color:#69776f}.mini-label{margin:0 0 12px;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:700;color:#86988f}.center{text-align:center}.intro-date{display:flex;gap:8px;align-items:center;justify-content:center;margin-bottom:22px;color:#6b7a73;font-size:.88rem}.tiny-note{margin:16px 0 0;color:#87928d;font-size:.78rem}.primary-button,.secondary-button{min-height:52px;border-radius:999px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;cursor:pointer;transition:.18s ease}.primary-button{border:0;color:#fff;background:linear-gradient(135deg,#7f968b,#667e73);box-shadow:0 12px 30px #667e7338}.secondary-button{color:var(--green-dark);border:1px solid rgba(80,103,94,.24);background:#f8f4eec2}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.full{width:100%}.page{overflow:hidden}.music-toggle{position:fixed;top:16px;right:16px;z-index:150;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.62);background:#5a7066cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px #32463d33;cursor:pointer}.hero{min-height:100svh;position:relative;display:grid;align-items:end;padding:30px 22px 52px}.hero-photo-wrap{position:absolute;inset:0}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 22%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#232d2805,#232d2814 38%,#f5f1ead6 80%,#f5f1ea)}.hero-copy-wrap{position:relative;z-index:2;width:min(100%,720px);margin:0 auto;text-align:center}.hero h1{margin:0;font-size:clamp(4.6rem,19vw,8.8rem);line-height:.82;color:var(--green-dark);text-shadow:0 3px 14px rgba(255,255,255,.35)}.hero h1 span{display:block;margin:.08em 0;font-size:.6em}.hero-rule{display:flex;align-items:center;justify-content:center;gap:12px;color:#a98388;margin:20px 0}.hero-rule:before,.hero-rule:after{content:"";width:72px;height:1px;background:#70877d57}.hero-message{max-width:590px;margin:0 auto;color:#5f6f67;line-height:1.7}.section{width:min(100%,930px);margin:0 auto;padding:70px 20px}.section h2{margin:0;font-size:clamp(2.5rem,10vw,4rem);line-height:.98;color:#53655c}.section-heading{margin-bottom:28px}.subcopy{color:var(--muted);line-height:1.7}.story-section{padding-top:44px}.story-grid{display:grid;gap:22px;align-items:center}.story-copy p:not(.mini-label){color:var(--muted);line-height:1.8}.story-photo{margin:0;overflow:hidden;min-height:430px;border-radius:30px;border:1px solid var(--line);box-shadow:0 18px 50px #41524a14}.story-photo img{width:100%;height:100%;min-height:430px;display:block;object-fit:cover;object-position:center 40%}.event-section{padding-top:36px}.event-main-card{padding:22px;display:grid;gap:14px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,#dfe7dfb8,#f8f4eee6)}.event-top{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:15px;border-radius:20px;background:#ffffff7a}.event-top svg{color:var(--green);margin-top:3px}.event-top div{display:grid;gap:4px}.event-top span{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;color:#87968f}.event-top strong{color:#53645c}.event-top small{color:#88938e}.timeline-section{text-align:center;padding-top:48px}.timeline{margin-top:30px;display:grid;gap:12px}.timeline article{display:grid;grid-template-columns:58px 42px 1fr;gap:12px;align-items:center;text-align:left;padding:18px;border-radius:22px;border:1px solid var(--line);background:#f8f4eec7}.timeline article:nth-child(2){background:#dbe7ef8c}.timeline article:nth-child(3){background:#f0dfe07a}.timeline span{font-family:Playfair Display,Georgia,serif;font-size:1.35rem;color:var(--green-dark)}.timeline svg{color:#a98388}.timeline strong{color:#56675f}.timeline p{margin:3px 0 0;color:var(--muted);line-height:1.5;font-size:.88rem}.countdown-section{text-align:center;padding-top:44px}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:26px}.countdown-card{min-height:108px;border-radius:22px;border:1px solid var(--line);display:grid;place-items:center;align-content:center;background:linear-gradient(180deg,#dfe7dfb3,#f8f4eeeb)}.countdown-card:nth-child(2){background:linear-gradient(180deg,#dbe7efbd,#f8f4eeeb)}.countdown-card:nth-child(3){background:linear-gradient(180deg,#f0dfe0b3,#f8f4eeeb)}.countdown-card:nth-child(4){background:linear-gradient(180deg,#eadfcec2,#f8f4eeeb)}.countdown-card strong{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,9vw,3.2rem);font-weight:500;color:#5c6f65}.countdown-card span{margin-top:6px;font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;color:#8a9891}.dress-section{padding-top:34px}.soft-card{text-align:center;padding:42px 24px;border-radius:30px;border:1px solid var(--line);background:#f8f4eed1;box-shadow:0 18px 50px #41524a0f}.dress-card{background:linear-gradient(145deg,#dbe7ef94,#f8f4eee6)}.soft-card svg{color:var(--green);margin-bottom:12px}.soft-card p{max-width:600px;margin:0 auto 22px;color:var(--muted);line-height:1.7}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery-item{margin:0;min-height:380px;overflow:hidden;border-radius:26px;border:1px solid var(--line)}.gallery-item img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}.form-section,.song-section{padding-top:44px}.soft-form{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:28px;background:#f8f4eed1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:8px;color:#5f7067;font-weight:600;font-size:.86rem}input,select,textarea{width:100%;color:#516159;background:#ffffffc2;border:1px solid rgba(80,103,94,.18);border-radius:15px;outline:none;padding:14px}input:focus,select:focus,textarea:focus{border-color:#70877d85;box-shadow:0 0 0 3px #70877d1a}textarea{resize:vertical}.form-message{margin:0;color:#6f8178;font-size:.86rem;line-height:1.5}.extras-grid-section{padding-top:34px}.extras-grid{display:grid;gap:14px}.gift-card{background:linear-gradient(145deg,#eadfcea3,#f8f4eeeb)}.photos-card{background:linear-gradient(145deg,#dfe7dfa3,#f8f4eeeb)}.closing-section{min-height:100svh;position:relative;display:grid;place-items:end center;overflow:hidden}.closing-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}.closing-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#1f28230f,#1f28231f 38%,#1f2823b8)}.closing-copy{position:relative;z-index:2;width:100%;padding:42px 22px 54px;text-align:center;color:#fff}.closing-copy p{margin:10px 0 5px;font-size:1rem}.closing-copy h2{margin:0;font-size:clamp(4rem,18vw,7rem);line-height:.88}.closing-copy small{display:inline-block;margin-top:14px;letter-spacing:.18em}.modal-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:#414f4866;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gift-modal{width:min(100%,430px);position:relative;padding:34px 22px 22px;border-radius:28px;border:1px solid rgba(255,255,255,.72);background:#f8f4ee;box-shadow:0 28px 90px #3a4b423d;text-align:center}.gift-modal h2{margin:0 0 22px;font-size:2.2rem;color:#53645c}.modal-close{position:absolute;top:13px;right:13px;width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;color:#5b6c63;background:#dfe7df9e;cursor:pointer}.gift-data{display:grid;gap:6px;padding:15px;margin-bottom:12px;border-radius:16px;border:1px solid var(--line);background:#dfe7df57}.gift-data span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#87968f}.gift-data strong{color:#4f6258}footer{padding:20px 20px 32px;text-align:center;color:#8f9a95;font-size:.74rem}@media(min-width:760px){.hero{min-height:920px}.story-grid{grid-template-columns:.9fr 1.1fr;gap:34px}.extras-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.countdown-grid{gap:7px}.countdown-card{min-height:95px;border-radius:18px}.countdown-card strong{font-size:2.1rem}.form-row{grid-template-columns:1fr}.timeline article{grid-template-columns:52px 34px 1fr;padding:15px}.gallery{grid-template-columns:1fr}.gallery-item,.gallery-item img{min-height:460px}}@media(max-width:520px){.intro{background-position:80% 26%}.hero-photo{object-position:80% 22%}}
