:root{--bg:#fbf7f4;--panel:#fffdfb;--text:#352b2a;--muted:#7c706a;--line:#eadfd8;--accent:#8a2f45;--accent2:#b56a7b;--deep:#6e2335;--shadow:0 12px 34px rgba(70,45,45,.08);--container:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:18px/1.55 "Cormorant Garamond",Georgia,serif}.container{width:min(var(--container),92vw);margin:auto}.topbar{position:sticky;top:0;z-index:20;background:rgba(251,247,244,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(9px)}.topbar-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar a{text-decoration:none;color:var(--accent);font-weight:600}.brand{font:31px "Great Vibes",cursive!important;color:var(--deep)!important}.hero{text-align:center;padding:66px 0 52px;background:radial-gradient(circle at 50% 0,rgba(220,194,189,.32),transparent 44%),linear-gradient(180deg,#fffdfb,#fbf7f4)}.hero h1{font:64px/1 "Great Vibes",cursive;color:var(--deep);margin:12px 0 18px}.hero p{max-width:700px;margin:0 auto 20px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--muted)}.section{padding:44px 0 70px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:999px;padding:12px 20px;font:700 16px Arial,sans-serif;cursor:pointer}.primary{background:var(--accent);color:#fff}.secondary{background:#f4e9e5;color:var(--accent)}.upload-form{max-width:720px;margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.upload-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-weight:600}.upload-form input,.upload-form textarea{font:inherit;padding:12px;border:1px solid #d8cbc5;border-radius:11px;background:#fff}.hint{color:var(--muted);font-size:14px}.hp{position:absolute;left:-9999px}.empty,.result-card{max-width:720px;margin:20px auto;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}.masonry{columns:1;column-gap:15px}.photo-card{display:inline-block;width:100%;margin:0 0 15px;background:var(--panel);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow);break-inside:avoid}.photo-open{display:block;width:100%;padding:0;border:0;background:#eee;cursor:zoom-in}.photo-open img{display:block;width:100%;height:auto}.photo-info{padding:14px}.guest{font-weight:600;margin:0 0 5px;color:var(--deep)}.caption{margin:0 0 12px;color:var(--muted)}.like-button{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(138,47,69,.2);background:#fff;color:var(--accent);border-radius:999px;padding:8px 12px;cursor:pointer}.like-button.liked{background:#f8e9ed}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(24,19,19,.94)}.lightbox[open]{display:grid;place-items:center}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.close{position:fixed;right:18px;top:18px;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:34px;cursor:pointer}.result-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}@media(min-width:660px){.masonry{columns:2}}@media(min-width:980px){.masonry{columns:3}}@media(max-width:600px){.hero{padding:50px 0 40px}.hero h1{font-size:50px}.brand{font-size:26px!important}}
/* Identidad tipográfica homologada */
.brand{font-family:inherit!important}
.names-logo{display:inline-flex;align-items:baseline;justify-content:center;gap:.16em;white-space:nowrap;font-family:"Great Vibes",cursive;font-weight:400;line-height:1}
.names-logo__name{color:var(--deep)}
.names-logo__amp{color:#c89a4b;font-family:"Cormorant Garamond",serif;font-size:.50em;font-weight:600;transform:translateY(-.08em)}
.initial-flourish{display:inline-block;font-family:"Alex Brush",cursive;font-size:1.42em;line-height:.65;margin-right:-.08em;transform:translateY(.10em)}
.brand .names-logo{font-size:32px}@media(max-width:600px){.brand .names-logo{font-size:27px}}
