:root{--ink:#553c43;--muted:#917a7e;--rose:#a85d73;--cream:#fcf7f2;--line:#eadbd4;--gold:#ad8b58}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,.button{display:inline-block;border:1px solid var(--rose);background:var(--rose);color:white;border-radius:5px;padding:13px 24px;font-size:13px;font-weight:600;cursor:pointer;text-align:center}button:hover,.button:hover{filter:brightness(.93)}.outline{background:transparent;color:var(--rose)}.small{padding:7px 12px;font-size:12px}.brand{font:28px Georgia,serif;color:var(--rose);display:flex;align-items:center;gap:15px}.brand span{font:9px Arial,sans-serif;letter-spacing:2px;max-width:130px}.invite-nav,.top{display:flex;justify-content:space-between;align-items:center;padding:24px 7%;border-bottom:1px solid var(--line);font-size:12px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:600}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.2}h1{font-size:44px}h2{font-size:38px;margin:16px 0 24px}h3{font-size:25px}.hero{min-height:780px;text-align:center;padding:85px 24px 60px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 2% 70%,#edced0aa,transparent 45%),radial-gradient(ellipse at 98% 5%,#eed6c3aa,transparent 45%),#fcf7f2}.hero:before{content:'';position:absolute;inset:23px;border:1px solid #b69a6d55;border-radius:47% 47% 2px 2px;pointer-events:none}.hero h1{font-size:clamp(64px,10vw,120px);margin:12px 0 15px;font-style:italic;color:#94566b;position:relative}.script{font:italic 28px Georgia,serif}.intro{margin:20px 0 5px}.xv{letter-spacing:5px;font-size:12px}.xv span{font:50px Georgia,serif;letter-spacing:0;margin:0 15px;color:var(--gold)}.dedication{max-width:480px;margin:25px auto;color:var(--muted);font-size:15px}.date-line{display:flex;align-items:center;justify-content:center;gap:35px;font-size:14px;letter-spacing:4px;margin:25px 0 30px}.date-line span{color:var(--gold);font-size:25px}.tiny{font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:22px}.ornament{position:absolute;color:#b99a60;font-size:60px}.o1{top:16%;left:15%}.o2{right:15%;bottom:20%;font-size:34px}.flower{position:absolute;font:250px Georgia,serif;color:#bd788a22;pointer-events:none}.f1{left:-40px;bottom:10px;transform:rotate(25deg)}.f2{right:-60px;top:35px;font-size:320px}.details-section{text-align:center;padding:85px 7%}.event-grid{max-width:1050px;margin:40px auto;display:grid;grid-template-columns:repeat(3,1fr)}.event-grid article{padding:15px 35px;border-right:1px solid var(--line)}.event-grid article:last-child{border:0}.event-grid p{color:var(--muted);font-size:14px}.event-grid a{color:var(--rose);text-decoration:underline}.icon{font-size:33px;color:var(--gold)}.rsvp-section{text-align:center;background:#f2e5e3;padding:75px 25px}.rsvp-section>p{max-width:540px;margin:20px auto}.rsvp-form{max-width:430px;margin:30px auto;text-align:left}.rsvp-form button{width:100%;margin-top:10px}.guest{font-size:35px}footer{text-align:center;padding:50px 20px}footer span{font-size:9px;letter-spacing:3px;color:var(--gold)}label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:15px}input,select,textarea{display:block;width:100%;padding:12px 14px;margin-top:7px;border:1px solid var(--line);border-radius:4px;background:#fffdfa;color:var(--ink);font:14px Arial,sans-serif}input:focus,select:focus,textarea:focus{outline:2px solid #c18d9a}form{margin:0}.dashboard{max-width:1240px;margin:auto;padding:45px 30px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.heading h1{margin:12px 0}.heading p{color:var(--muted)}.card{background:#fffdfa;border:1px solid var(--line);border-radius:10px;padding:30px;margin-bottom:25px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}.stats article{border:1px solid var(--line);padding:23px;border-radius:8px;background:#fffdfa}.stats span{font-size:12px;color:var(--muted)}.stats strong{display:block;font:40px Georgia,serif;margin-top:10px}.add{display:grid;grid-template-columns:2fr .6fr 1fr 1.2fr;gap:15px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:25px}.add button{margin-bottom:15px}.search{max-width:320px;margin-top:25px}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}td,th{padding:18px 10px;border-bottom:1px solid var(--line)}.badge{border-radius:20px;padding:5px 10px;white-space:nowrap;background:#f3ebdd;color:#927341;font-size:11px}.yes{background:#e6eee5;color:#507653}.no{background:#f1e2e3;color:#a45766}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions a{font-size:11px}.delete{background:transparent;border:0;padding:0;color:var(--muted);font-size:10px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.alert{padding:15px;background:#f5dfe0;border-radius:5px}.success{background:#e1ebdf}.empty{text-align:center;padding:40px;color:var(--muted)}.login{max-width:470px;margin:40px auto}.login h1{font-size:45px}.login p{color:var(--muted)}.login button{width:100%}summary{cursor:pointer}@media(max-width:750px){.hero{min-height:730px;padding-top:75px}.hero:before{inset:12px}.hero h1{font-size:68px}.flower{font-size:180px;opacity:.6}.f2{font-size:220px}.o1{left:9%;top:12%;font-size:35px}.o2{right:8%}.eyebrow{font-size:9px;letter-spacing:2px}.invite-nav{padding:18px}.invite-nav .brand span{display:none}.event-grid{grid-template-columns:1fr;margin:25px auto}.event-grid article{border:0;border-bottom:1px solid var(--line);padding:25px}.details-section{padding:60px 20px}h2{font-size:32px}.dashboard{padding:25px 15px}.heading{display:block}.heading h1{font-size:34px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:15px}.card{padding:20px}.add,.fields{grid-template-columns:1fr}.top{padding:15px}.top>span{display:none}.date-line{gap:15px;letter-spacing:2px}.hero .dedication{max-width:300px}}

[hidden]{display:none!important}.invitation-cover{min-height:100svh;padding:65px 24px 45px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at 10% 80%,#ebcccf88,transparent 55%),radial-gradient(ellipse at 95% 0%,#ecd2af66,transparent 45%),var(--cream);overflow:hidden}.invitation-cover>h1{font-size:clamp(34px,5vw,58px);margin:24px 0 8px;font-style:italic}.invitation-cover>p{color:var(--muted);margin:8px 0 20px}.envelope{position:relative;display:block;width:330px;height:215px;margin:65px 0 45px;perspective:1000px;filter:drop-shadow(0 18px 24px #7b4d5325);transition:transform .6s}.envelope:hover{transform:translateY(-5px)}.envelope-front{position:absolute;inset:0;background:#dfb1b9;clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);z-index:3;border-radius:0 0 6px 6px}.envelope:before{content:'';position:absolute;inset:0;background:#c996a2;border-radius:6px}.envelope-flap{position:absolute;inset:0;background:#e8c3c7;clip-path:polygon(0 0,100% 0,50% 56%);z-index:4;transform-origin:top;transition:transform .6s}.envelope-letter{position:absolute;inset:12px 18px;background:#fffaf2;padding:25px 12px;display:flex;flex-direction:column;gap:10px;border:1px solid #b9986055;transition:transform .7s .25s;z-index:2}.letter-name{font:italic 25px Georgia,serif}.envelope-letter>span:last-child{font:14px Georgia,serif;color:var(--gold)}.wax-seal{position:absolute;z-index:5;left:calc(50% - 27px);top:90px;width:54px;height:54px;border-radius:50%;background:#aa6e7d;color:#f7e6ce;display:grid;place-items:center;font:20px Georgia,serif;box-shadow:0 3px 8px #75414c44,inset 0 0 0 4px #b97f8c;transition:opacity .3s}.cover-hint{font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:24px}.invitation-cover.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.invitation-cover.opening .wax-seal{opacity:0}.invitation-cover.opening .envelope-letter{transform:translateY(-95px)}.invitation-cover.opening{animation:cover-fade .45s .9s forwards}@keyframes cover-fade{to{opacity:0}}.cover-family{font:italic 21px Georgia,serif!important;color:var(--ink)!important}@media(max-width:450px){.invitation-cover{padding:40px 20px}.envelope{width:290px;height:190px;margin-top:60px}.wax-seal{top:76px}.invitation-cover>h1{font-size:36px}}@media(prefers-reduced-motion:reduce){.invitation-cover,.envelope,.envelope-flap,.envelope-letter,.wax-seal{animation:none!important;transition:none!important}}

.invitation-cover{background:linear-gradient(180deg,rgba(252,247,242,.92),rgba(252,247,242,.82) 50%,rgba(252,247,242,.94)),url('assets/celebracion-rosa.webp') center/cover no-repeat}.celebration-photo{max-width:1100px;margin:65px auto 0;padding:0 28px;position:relative;text-align:center}.celebration-photo img{display:block;width:100%;height:420px;object-fit:cover;border-radius:180px 180px 8px 8px}.celebration-photo figcaption{font:italic 24px Georgia,serif;color:var(--rose);padding:25px 10px 0}@media(max-width:750px){.celebration-photo{padding:0 20px;margin-top:40px}.celebration-photo img{height:330px;object-position:65% center;border-radius:150px 150px 6px 6px}.celebration-photo figcaption{font-size:21px;line-height:1.5}}
