/* Cumplearia 1.2 — 21 diseños de cumpleaños con auditoría visual y de contraste */
.invitation-v4{--party-bg:#fff8f1;--party-paper:#fff;--party-ink:#2a2130;--party-accent:#ff6b57;--party-accent-2:#7d5cff;--party-line:rgba(42,33,48,.16);background:var(--party-bg);color:var(--party-ink)}
.birthday-hero-v4{position:relative;min-height:860px;padding:120px clamp(24px,6vw,90px) 70px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(35px,6vw,90px);overflow:hidden;color:var(--party-ink);background:var(--party-bg);isolation:isolate}
.birthday-hero-v4 .bh-visual{position:relative;min-width:0;height:640px}.birthday-hero-v4 figure{margin:0}.birthday-hero-v4 .bh-photo{position:absolute;inset:0;background:var(--hero) center/cover}.birthday-hero-v4 .bh-detail{position:absolute;width:34%;height:39%;right:-4%;bottom:-3%;border:10px solid var(--party-paper);background:var(--detail) center/cover;box-shadow:0 20px 55px rgba(37,24,44,.2)}.birthday-hero-v4 .bh-pattern{position:absolute;inset:0;pointer-events:none}.birthday-hero-v4 .bh-symbol{position:absolute;z-index:2;top:25px;left:25px;min-width:64px;min-height:64px;padding:12px;display:grid;place-items:center;color:var(--party-paper);background:var(--party-accent);border-radius:50%;font:900 14px/1 var(--sans);font-style:normal;letter-spacing:.04em}.birthday-hero-v4 .bh-age{position:absolute;z-index:3;right:-24px;top:55px;width:145px;height:145px;display:grid;place-items:center;align-content:center;color:var(--party-paper);background:var(--party-accent-2);border-radius:50%;box-shadow:0 18px 45px rgba(30,20,37,.22);transform:rotate(6deg)}.birthday-hero-v4 .bh-age span{font:900 70px/.75 var(--sans);letter-spacing:-.08em}.birthday-hero-v4 .bh-age small{margin-top:8px;font:800 8px var(--sans);letter-spacing:.18em;text-transform:uppercase}.birthday-hero-v4 .bh-copy{position:relative;z-index:4}.birthday-hero-v4 .bh-series,.birthday-hero-v4 .bh-invite{display:block;font:800 9px var(--sans);letter-spacing:.2em;text-transform:uppercase}.birthday-hero-v4 .bh-series{margin-bottom:26px;color:var(--party-accent)}.birthday-hero-v4 .bh-invite{color:inherit;opacity:.55}.birthday-hero-v4 h1{display:block!important;margin:13px 0 3px!important;font:900 clamp(68px,8vw,128px)/.72 var(--sans)!important;letter-spacing:-.085em;text-transform:none}.birthday-hero-v4 .bh-full-name{margin:14px 0 32px;font:700 10px var(--sans);letter-spacing:.15em;text-transform:uppercase;opacity:.64}.birthday-hero-v4 h2{max-width:590px;margin:0 0 18px;font:600 clamp(29px,3.2vw,49px)/1 var(--serif)}.birthday-hero-v4 .bh-when{max-width:570px;font-size:11px;font-weight:700;line-height:1.7;letter-spacing:.06em;text-transform:uppercase}.birthday-hero-v4 .bh-copy>a{display:inline-flex;align-items:center;gap:30px;margin-top:20px;padding:14px 17px;color:var(--party-paper);background:var(--party-ink);font:800 9px var(--sans);letter-spacing:.08em;text-transform:uppercase}.birthday-hero-v4 .bh-ticker{position:absolute;z-index:5;right:0;bottom:0;left:0;height:42px;display:flex;align-items:center;justify-content:space-around;gap:30px;overflow:hidden;color:var(--party-paper);background:var(--party-accent);font:900 9px var(--sans);letter-spacing:.16em;white-space:nowrap;text-transform:uppercase}

/* 01 Confeti Pop */
.design-mediterranea{--party-bg:#fff36f;--party-paper:#fffaf1;--party-ink:#39234e;--party-accent:#ff5c4d;--party-accent-2:#7458ee}.birthday-hero-mediterranea:before,.birthday-hero-mediterranea:after{content:"";position:absolute;z-index:-1;width:280px;height:280px;border-radius:50%;background:#ff8ec4}.birthday-hero-mediterranea:before{left:-100px;top:110px}.birthday-hero-mediterranea:after{right:-90px;bottom:90px;background:#67dbc5}.birthday-hero-mediterranea .bh-photo{border-radius:48% 52% 44% 56%/58% 44% 56% 42%;transform:rotate(-2deg)}.birthday-hero-mediterranea .bh-pattern{background:radial-gradient(circle,#fff 0 5px,transparent 6px) 0 0/72px 72px;opacity:.45}.birthday-hero-mediterranea h1{color:#ff5c4d!important}.birthday-hero-mediterranea .bh-copy>a{transform:rotate(-2deg)}

/* 02 After Dark */
.design-nocturna{--party-bg:#120f1c;--party-paper:#fff6ec;--party-ink:#fff6ec;--party-accent:#ff8d5b;--party-accent-2:#8c5cff}.birthday-hero-nocturna{grid-template-columns:.84fr 1.16fr;background:#120f1c}.birthday-hero-nocturna .bh-visual{grid-column:2;height:700px}.birthday-hero-nocturna .bh-photo{filter:saturate(.75) contrast(1.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.birthday-hero-nocturna .bh-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#120f1c 0,transparent 48%)}.birthday-hero-nocturna .bh-copy{grid-column:1;grid-row:1}.birthday-hero-nocturna .bh-detail{display:none}.birthday-hero-nocturna .bh-symbol{color:#120f1c;background:#ff8d5b}.birthday-hero-nocturna .bh-age{right:auto;left:-50px;top:auto;bottom:32px;color:#ff8d5b;background:transparent;border:1px solid #ff8d5b;box-shadow:none}.birthday-hero-nocturna h1{font-family:var(--serif)!important;font-style:italic!important;font-weight:500!important;letter-spacing:-.06em!important}.birthday-hero-nocturna .bh-copy>a{color:#120f1c;background:#ff8d5b}

/* 03 Superestrella */
.design-cine{--party-bg:#090909;--party-paper:#fff;--party-ink:#fff;--party-accent:#f13d36;--party-accent-2:#ffd447}.birthday-hero-cine{display:block;padding:0;min-height:900px;background:#090909}.birthday-hero-cine .bh-visual{height:900px}.birthday-hero-cine .bh-photo{filter:contrast(1.13) saturate(.7)}.birthday-hero-cine .bh-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.93) 0 36%,rgba(0,0,0,.08) 72%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 48%)}.birthday-hero-cine .bh-copy{position:absolute;z-index:5;left:7%;top:50%;width:min(540px,45%);transform:translateY(-50%)}.birthday-hero-cine .bh-detail{right:5%;bottom:7%;width:220px;height:155px;border:7px solid #fff;transform:rotate(5deg)}.birthday-hero-cine .bh-symbol{top:130px;left:auto;right:6%;border-radius:0;color:#fff;background:#f13d36}.birthday-hero-cine .bh-age{right:7%;top:160px;background:#ffd447;color:#090909}.birthday-hero-cine h1{text-transform:uppercase!important}.birthday-hero-cine h2{font-family:var(--sans);font-weight:800;text-transform:uppercase}.birthday-hero-cine .bh-copy>a{background:#f13d36}.birthday-hero-cine .bh-ticker{background:#f13d36}

/* 04 Tiny Dino */
.design-clasica{--party-bg:#e6f7d1;--party-paper:#fffdf2;--party-ink:#174b3b;--party-accent:#ff7a3d;--party-accent-2:#2eb89a}.birthday-hero-clasica{grid-template-columns:1.2fr .8fr;background:linear-gradient(150deg,#e8f9d4,#bfeedd)}.birthday-hero-clasica .bh-photo{border-radius:34px;box-shadow:12px 12px 0 #174b3b}.birthday-hero-clasica .bh-detail{display:none}.birthday-hero-clasica .bh-copy{padding:45px;border:3px solid #174b3b;border-radius:35px;background:#fffdf2;box-shadow:12px 12px 0 #ff7a3d}.birthday-hero-clasica .bh-symbol{top:-20px;left:28px;min-width:94px;border:3px solid #174b3b;border-radius:18px;transform:rotate(-6deg)}.birthday-hero-clasica .bh-age{right:18px;top:-35px;border:3px solid #174b3b}.birthday-hero-clasica h1{color:#ff7a3d!important}.birthday-hero-clasica h2{font-family:var(--sans);font-weight:900}.birthday-hero-clasica .bh-ticker{color:#174b3b;background:#ffe56d}

/* 05 Candy Cloud */
.design-romantica{--party-bg:#fff0f7;--party-paper:#fff;--party-ink:#6a315f;--party-accent:#ff72b6;--party-accent-2:#9b79ef}.birthday-hero-romantica{background:radial-gradient(circle at 12% 30%,#c8f6ef 0 13%,transparent 13.2%),radial-gradient(circle at 85% 15%,#ffe372 0 10%,transparent 10.2%),#fff0f7}.birthday-hero-romantica .bh-photo{inset:3% 6%;border:16px solid #fff;border-radius:50%;box-shadow:0 28px 70px rgba(159,91,136,.2)}.birthday-hero-romantica .bh-detail{width:180px;height:180px;border-radius:50%;right:-20px}.birthday-hero-romantica .bh-symbol{font-size:28px;background:#fff;border:2px solid #ff72b6}.birthday-hero-romantica .bh-age{background:#ff72b6}.birthday-hero-romantica h1{font-family:var(--serif)!important;font-style:italic!important;color:#9b79ef!important}.birthday-hero-romantica .bh-copy>a{border-radius:99px;background:#6a315f}.birthday-hero-romantica .bh-ticker{background:#9b79ef}

/* 06 Black Label */
.design-monograma{--party-bg:#0e0d0d;--party-paper:#f5ead7;--party-ink:#f5ead7;--party-accent:#d7aa5d;--party-accent-2:#7e1737}.birthday-hero-monograma{padding-left:8%;padding-right:8%;background:#0e0d0d}.birthday-hero-monograma:before{content:"";position:absolute;inset:32px;border:1px solid rgba(215,170,93,.45)}.birthday-hero-monograma .bh-visual{height:690px}.birthday-hero-monograma .bh-photo{filter:saturate(.72) contrast(1.05);clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.birthday-hero-monograma .bh-detail{display:none}.birthday-hero-monograma .bh-symbol{top:28px;left:50%;width:86px;height:86px;transform:translateX(-50%);color:#d7aa5d;background:#0e0d0d;border:1px solid #d7aa5d;font:500 34px var(--serif)}.birthday-hero-monograma .bh-age{right:18px;color:#0e0d0d;background:#d7aa5d}.birthday-hero-monograma h1{font-family:var(--serif)!important;font-weight:500!important;letter-spacing:-.05em!important}.birthday-hero-monograma .bh-copy>a{color:#0e0d0d;background:#d7aa5d}.birthday-hero-monograma .bh-ticker{color:#0e0d0d;background:#d7aa5d}

/* 07 Color Block */
.design-minimal{--party-bg:#f3efe8;--party-paper:#fff;--party-ink:#121212;--party-accent:#ff593d;--party-accent-2:#3e64ff}.birthday-hero-minimal{gap:0;padding:110px 5vw 70px;background:linear-gradient(90deg,#ffdf4d 0 50%,#f3efe8 50%)}.birthday-hero-minimal .bh-visual{height:650px;order:2}.birthday-hero-minimal .bh-photo{inset:8% 0 8% 8%;filter:grayscale(1);clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}.birthday-hero-minimal .bh-detail,.birthday-hero-minimal .bh-symbol{display:none}.birthday-hero-minimal .bh-age{right:auto;left:-55px;top:20px;width:180px;height:180px;border-radius:0;background:#3e64ff;transform:rotate(-5deg)}.birthday-hero-minimal .bh-copy{padding-right:50px}.birthday-hero-minimal h1{text-transform:uppercase!important}.birthday-hero-minimal h2{font-family:var(--sans);font-weight:900}.birthday-hero-minimal .bh-ticker{background:#121212}

/* 08 Birthday Zine */
.design-editorial{--party-bg:#eee9dd;--party-paper:#fff;--party-ink:#171717;--party-accent:#e63e36;--party-accent-2:#2d5dff}.birthday-hero-editorial{grid-template-columns:.85fr 1.15fr;background:#eee9dd}.birthday-hero-editorial:before{content:"CUMPLEARIA / REVISTA INDEPENDIENTE DE CUMPLEAÑOS";position:absolute;top:105px;left:5vw;font:900 9px var(--sans);letter-spacing:.2em}.birthday-hero-editorial .bh-visual{grid-column:2;height:700px}.birthday-hero-editorial .bh-photo{filter:grayscale(.4);clip-path:polygon(8% 0,100% 5%,94% 95%,0 100%)}.birthday-hero-editorial .bh-detail{left:-80px;right:auto;bottom:40px;transform:rotate(-7deg)}.birthday-hero-editorial .bh-copy{grid-column:1;grid-row:1}.birthday-hero-editorial .bh-symbol{left:auto;right:-25px;top:15px;border-radius:0;background:#e63e36;transform:rotate(8deg)}.birthday-hero-editorial .bh-age{right:5px;top:auto;bottom:30px;border-radius:0;background:#2d5dff;transform:none}.birthday-hero-editorial h1{text-transform:uppercase!important}.birthday-hero-editorial h2{font-family:var(--sans);font-weight:900}.birthday-hero-editorial .bh-copy>a{background:#e63e36}.birthday-hero-editorial .bh-ticker{background:#2d5dff}

/* 09 Disco Fever */
.design-artdeco{--party-bg:#1b062e;--party-paper:#fff;--party-ink:#fff;--party-accent:#ff48c4;--party-accent-2:#5c5cff}.birthday-hero-artdeco{display:grid;place-items:center;text-align:center;background:linear-gradient(rgba(17,2,35,.25),rgba(17,2,35,.72)),var(--hero) center/cover}.birthday-hero-artdeco .bh-visual{position:absolute;inset:0;height:auto}.birthday-hero-artdeco .bh-photo{display:none}.birthday-hero-artdeco .bh-detail{display:none}.birthday-hero-artdeco .bh-pattern{background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,255,255,.08) 0 5deg,transparent 5deg 15deg)}.birthday-hero-artdeco .bh-symbol{top:145px;left:50%;width:110px;height:110px;transform:translateX(-50%);background:rgba(255,255,255,.12);border:1px solid #ff48c4;box-shadow:0 0 45px #ff48c4;font-size:42px}.birthday-hero-artdeco .bh-age{right:8%;top:160px;box-shadow:0 0 55px rgba(92,92,255,.8)}.birthday-hero-artdeco .bh-copy{width:min(860px,92%);padding:155px 40px 80px;background:rgba(20,2,39,.55);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(7px)}.birthday-hero-artdeco h1{font-family:var(--serif)!important;font-style:italic!important;text-shadow:0 0 35px #ff48c4}.birthday-hero-artdeco h2{margin-left:auto;margin-right:auto}.birthday-hero-artdeco .bh-copy>a{background:#ff48c4}.birthday-hero-artdeco .bh-ticker{background:#5c5cff}

/* 10 Safari Party */
.design-botanica{--party-bg:#f5e7b0;--party-paper:#fff9e8;--party-ink:#244b35;--party-accent:#e66a35;--party-accent-2:#488d5a}.birthday-hero-botanica{background:linear-gradient(145deg,#f7e9b5,#d8e8a1)}.birthday-hero-botanica .bh-visual{height:670px}.birthday-hero-botanica .bh-photo{border-radius:48% 48% 12px 12px;outline:12px solid rgba(255,255,255,.45);outline-offset:-24px}.birthday-hero-botanica .bh-pattern{background:radial-gradient(ellipse at 8% 85%,#4d8a59 0 9%,transparent 9.5%),radial-gradient(ellipse at 90% 15%,#4d8a59 0 8%,transparent 8.5%)}.birthday-hero-botanica .bh-detail{display:none}.birthday-hero-botanica .bh-symbol{left:-18px;top:50%;border-radius:12px;transform:rotate(-8deg)}.birthday-hero-botanica .bh-age{background:#488d5a}.birthday-hero-botanica h1{color:#e66a35!important}.birthday-hero-botanica .bh-copy>a{background:#244b35}.birthday-hero-botanica .bh-ticker{background:#e66a35}

/* 11 Sunset Surf */
.design-boho{--party-bg:#ffe5ce;--party-paper:#fff7ed;--party-ink:#7f3142;--party-accent:#ec6b4f;--party-accent-2:#3a8fa1}.birthday-hero-boho{background:linear-gradient(#ffd8bd,#f8aa77 55%,#367d95 55% 58%,#ffe5ce 58%)}.birthday-hero-boho .bh-photo{inset:4%;border-radius:50% 50% 5px 5px;filter:saturate(.88)}.birthday-hero-boho .bh-detail{width:38%;height:31%;right:-5%;bottom:7%;transform:rotate(5deg)}.birthday-hero-boho .bh-symbol{background:#3a8fa1}.birthday-hero-boho .bh-age{background:#ec6b4f}.birthday-hero-boho h1{font-family:var(--serif)!important;font-style:italic!important;color:#7f3142!important}.birthday-hero-boho .bh-copy>a{border-radius:50px;background:#7f3142}.birthday-hero-boho .bh-ticker{background:#3a8fa1}

/* 12 Picnic Party */
.design-jardin{--party-bg:#fff8e8;--party-paper:#fff;--party-ink:#244a3b;--party-accent:#e95858;--party-accent-2:#e8a93d}.birthday-hero-jardin{background:repeating-conic-gradient(#fff8e8 0 25%,#f5d7d1 0 50%) 0 0/72px 72px}.birthday-hero-jardin .bh-photo{inset:5%;border:14px solid #fff;border-radius:50% 50% 8px 8px;box-shadow:0 25px 65px rgba(63,82,59,.2)}.birthday-hero-jardin .bh-detail{width:190px;height:190px;border-radius:50%;right:-15px;bottom:-15px}.birthday-hero-jardin .bh-symbol{background:#244a3b}.birthday-hero-jardin .bh-age{color:#244a3b;background:#f5cc50}.birthday-hero-jardin .bh-copy{padding:45px;background:rgba(255,255,255,.86);border-radius:30px;backdrop-filter:blur(8px)}.birthday-hero-jardin h1{font-family:var(--serif)!important;font-style:italic!important}.birthday-hero-jardin .bh-copy>a{border-radius:99px;background:#e95858}

/* 13 Pool Party */
.design-costa{--party-bg:#d9fbff;--party-paper:#fff;--party-ink:#043b67;--party-accent:#ff5b85;--party-accent-2:#00a8c6}.birthday-hero-costa{background:linear-gradient(180deg,#d9fbff,#74e0ef)}.birthday-hero-costa:after{content:"";position:absolute;z-index:-1;right:-10%;bottom:-25%;left:-10%;height:55%;border-radius:50% 50% 0 0;background:#009fc1}.birthday-hero-costa .bh-photo{clip-path:polygon(0 7%,100% 0,96% 92%,4% 100%);filter:saturate(1.2)}.birthday-hero-costa .bh-detail{border-radius:50%;right:-8%;bottom:4%}.birthday-hero-costa .bh-symbol{font-size:35px;background:#00a8c6}.birthday-hero-costa .bh-age{background:#ff5b85}.birthday-hero-costa h1{color:#ff5b85!important}.birthday-hero-costa h2{font-family:var(--sans);font-weight:900}.birthday-hero-costa .bh-copy>a{border-radius:99px;background:#043b67}.birthday-hero-costa .bh-ticker{background:#ff5b85}

/* 14 Level Up */
.design-pasaporte{--party-bg:#07051a;--party-paper:#ecfffe;--party-ink:#ecfffe;--party-accent:#ff3dbd;--party-accent-2:#00e5ff}.birthday-hero-pasaporte{background:#07051a}.birthday-hero-pasaporte:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(0,229,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.12) 1px,transparent 1px);background-size:42px 42px;transform:perspective(500px) rotateX(58deg) scale(1.6);transform-origin:bottom}.birthday-hero-pasaporte .bh-photo{border:3px solid #00e5ff;box-shadow:0 0 30px rgba(0,229,255,.65);clip-path:polygon(6% 0,94% 0,100% 8%,100% 92%,94% 100%,6% 100%,0 92%,0 8%)}.birthday-hero-pasaporte .bh-detail{border:3px solid #ff3dbd;box-shadow:0 0 25px #ff3dbd}.birthday-hero-pasaporte .bh-symbol{border-radius:5px;color:#07051a;background:#00e5ff;box-shadow:0 0 25px #00e5ff}.birthday-hero-pasaporte .bh-age{border-radius:6px;color:#07051a;background:#ff3dbd;box-shadow:0 0 30px #ff3dbd;transform:none}.birthday-hero-pasaporte h1{font-family:monospace!important;color:#00e5ff!important;text-transform:uppercase!important;text-shadow:3px 3px 0 #ff3dbd}.birthday-hero-pasaporte h2{font-family:monospace}.birthday-hero-pasaporte .bh-copy>a{color:#07051a;background:#00e5ff;box-shadow:5px 5px 0 #ff3dbd}.birthday-hero-pasaporte .bh-ticker{color:#07051a;background:#00e5ff}

/* 15 Fiesta Latina */
.design-hacienda{--party-bg:#fff1d2;--party-paper:#fff9ed;--party-ink:#4c194f;--party-accent:#ef4f4c;--party-accent-2:#8d3db0}.birthday-hero-hacienda{background:radial-gradient(circle at 10% 15%,#f8bd38 0 11%,transparent 11.3%),radial-gradient(circle at 92% 85%,#ef4f4c 0 13%,transparent 13.3%),#fff1d2}.birthday-hero-hacienda .bh-photo{border-radius:50%;outline:18px solid rgba(141,61,176,.2);outline-offset:10px}.birthday-hero-hacienda .bh-detail{right:4%;bottom:-7%;border:12px solid #f8bd38;transform:rotate(7deg)}.birthday-hero-hacienda .bh-symbol{background:#8d3db0}.birthday-hero-hacienda .bh-age{background:#ef4f4c}.birthday-hero-hacienda h1{font-family:var(--serif)!important;font-style:italic!important;color:#ef4f4c!important}.birthday-hero-hacienda .bh-copy>a{background:#4c194f}.birthday-hero-hacienda .bh-ticker{background:#8d3db0}

/* 16 Retro Diner */
.design-timeline{--party-bg:#fff2d7;--party-paper:#fffaf0;--party-ink:#183a49;--party-accent:#e73c3c;--party-accent-2:#3e9bab}.birthday-hero-timeline{background:repeating-linear-gradient(90deg,#fff2d7 0 48px,#f8e7c7 48px 96px)}.birthday-hero-timeline:after{content:"";position:absolute;right:0;bottom:42px;left:0;height:54px;background:repeating-conic-gradient(#173a49 0 25%,#fff 0 50%) 0 0/34px 34px}.birthday-hero-timeline .bh-photo{inset:4%;border:10px solid #fff;filter:saturate(.72) sepia(.12);box-shadow:12px 12px 0 #3e9bab}.birthday-hero-timeline .bh-detail{display:none}.birthday-hero-timeline .bh-symbol{border:3px solid #183a49;border-radius:50% 50% 45% 45%;background:#e73c3c}.birthday-hero-timeline .bh-age{border:3px solid #183a49;background:#3e9bab}.birthday-hero-timeline h1{font-family:var(--serif)!important;font-style:italic!important;color:#e73c3c!important;text-shadow:3px 3px 0 #fff}.birthday-hero-timeline .bh-copy>a{border-radius:99px;background:#183a49}.birthday-hero-timeline .bh-ticker{background:#e73c3c}

/* 17 Y2K Flash */
.design-polaroid{--party-bg:#e7e5ef;--party-paper:#fff;--party-ink:#1e1730;--party-accent:#8d57ff;--party-accent-2:#28d8db}.birthday-hero-polaroid{background:linear-gradient(135deg,#f4f3f7,#c8c6d1)}.birthday-hero-polaroid .bh-photo{clip-path:polygon(3% 7%,94% 0,100% 92%,8% 100%);filter:saturate(1.25) contrast(1.06);box-shadow:0 30px 80px rgba(48,37,74,.25)}.birthday-hero-polaroid .bh-detail{left:-35px;right:auto;bottom:-15px;transform:rotate(-8deg);border-bottom-width:35px}.birthday-hero-polaroid .bh-pattern{background:linear-gradient(115deg,transparent 0 45%,rgba(255,255,255,.72) 46% 49%,transparent 50%)}.birthday-hero-polaroid .bh-symbol{border-radius:6px;background:linear-gradient(135deg,#8d57ff,#28d8db)}.birthday-hero-polaroid .bh-age{border-radius:6px;color:#1e1730;background:#b9ff54;transform:rotate(4deg)}.birthday-hero-polaroid h1{font-family:var(--sans)!important;text-transform:lowercase!important;color:#8d57ff!important;text-shadow:3px 3px 0 #b9ff54}.birthday-hero-polaroid .bh-copy>a{color:#fff;background:#8d57ff}.birthday-hero-polaroid .bh-ticker{color:#1e1730;background:#b9ff54}

/* 18 Festival Pass */
.design-festival{--party-bg:#421e5d;--party-paper:#fff7e5;--party-ink:#fff7e5;--party-accent:#ff6f61;--party-accent-2:#ffd43b}.birthday-hero-festival{grid-template-columns:1.2fr .8fr;background:#421e5d}.birthday-hero-festival .bh-visual{height:700px}.birthday-hero-festival .bh-photo{clip-path:polygon(0 4%,96% 0,100% 94%,5% 100%);filter:saturate(1.15)}.birthday-hero-festival .bh-detail{display:none}.birthday-hero-festival .bh-symbol{left:auto;right:24px;border-radius:0;color:#421e5d;background:#ffd43b;transform:rotate(5deg)}.birthday-hero-festival .bh-age{right:-45px;top:auto;bottom:25px;color:#421e5d;background:#ffd43b}.birthday-hero-festival .bh-copy{padding:55px 45px;background:#ff6f61;clip-path:polygon(0 4%,100% 0,96% 96%,4% 100%)}.birthday-hero-festival h1{text-transform:uppercase!important}.birthday-hero-festival h2{font-family:var(--sans);font-weight:900}.birthday-hero-festival .bh-copy>a{color:#421e5d;background:#ffd43b}.birthday-hero-festival .bh-ticker{color:#421e5d;background:#ffd43b}

/* 19 Space Mission */
.design-aniversario-eterno{--party-bg:#081a40;--party-paper:#fff;--party-ink:#fff;--party-accent:#ff704f;--party-accent-2:#7d6dff}.birthday-hero-aniversario-eterno{background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.8) 0 2px,transparent 3px) 0 0/70px 70px,radial-gradient(circle at 70% 60%,rgba(255,255,255,.5) 0 1px,transparent 2px) 0 0/45px 45px,#081a40}.birthday-hero-aniversario-eterno .bh-photo{border-radius:48%;outline:2px solid rgba(255,255,255,.5);outline-offset:18px}.birthday-hero-aniversario-eterno .bh-detail{width:180px;height:180px;border-radius:50%;right:-20px;bottom:10px}.birthday-hero-aniversario-eterno .bh-symbol{font-size:29px;background:#ff704f}.birthday-hero-aniversario-eterno .bh-age{background:#7d6dff}.birthday-hero-aniversario-eterno h1{color:#72e6ff!important}.birthday-hero-aniversario-eterno h2{font-family:var(--sans);font-weight:900}.birthday-hero-aniversario-eterno .bh-copy>a{color:#081a40;background:#72e6ff}.birthday-hero-aniversario-eterno .bh-ticker{background:#ff704f}

/* 20 Sweet 18 */
.design-bodas-plata{--party-bg:#ffedf6;--party-paper:#fff;--party-ink:#471f46;--party-accent:#ff4f9a;--party-accent-2:#8a58ff}.birthday-hero-bodas-plata{background:linear-gradient(135deg,#ffedf6,#e8dcff)}.birthday-hero-bodas-plata .bh-photo{inset:4%;border-radius:220px 220px 18px 18px;box-shadow:0 30px 80px rgba(112,52,105,.24)}.birthday-hero-bodas-plata .bh-detail{right:-7%;bottom:1%;border-radius:50%}.birthday-hero-bodas-plata .bh-symbol{left:auto;right:22px;width:90px;height:90px;background:#ff4f9a;font-size:28px}.birthday-hero-bodas-plata .bh-age{right:auto;left:-30px;top:45px;width:190px;height:190px;background:linear-gradient(135deg,#ff4f9a,#8a58ff)}.birthday-hero-bodas-plata .bh-age span{font-size:95px}.birthday-hero-bodas-plata h1{font-family:var(--serif)!important;font-style:italic!important;color:#8a58ff!important}.birthday-hero-bodas-plata .bh-copy>a{border-radius:99px;background:#471f46}.birthday-hero-bodas-plata .bh-ticker{background:#ff4f9a}

/* 21 Golden Milestone */
.design-bodas-oro{--party-bg:#17120e;--party-paper:#fbf2df;--party-ink:#fbf2df;--party-accent:#d3a651;--party-accent-2:#8a392e}.birthday-hero-bodas-oro{display:block;min-height:920px;padding:0;background:#17120e}.birthday-hero-bodas-oro .bh-visual{height:920px}.birthday-hero-bodas-oro .bh-photo{filter:saturate(.72) contrast(1.05)}.birthday-hero-bodas-oro .bh-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,18,14,.9),rgba(23,18,14,.1) 70%),linear-gradient(0deg,rgba(23,18,14,.75),transparent 55%)}.birthday-hero-bodas-oro .bh-detail{display:none}.birthday-hero-bodas-oro .bh-copy{position:absolute;z-index:5;left:8%;top:50%;width:min(610px,46%);transform:translateY(-50%)}.birthday-hero-bodas-oro .bh-symbol{top:140px;left:auto;right:7%;width:110px;height:110px;color:#d3a651;background:transparent;border:1px solid #d3a651;font-size:13px}.birthday-hero-bodas-oro .bh-age{right:8%;top:auto;bottom:90px;color:#17120e;background:#d3a651}.birthday-hero-bodas-oro h1{font-family:var(--serif)!important;font-weight:500!important;font-style:italic!important;color:#d3a651!important}.birthday-hero-bodas-oro .bh-copy>a{color:#17120e;background:#d3a651}.birthday-hero-bodas-oro .bh-ticker{color:#17120e;background:#d3a651}

/* Sistema visual completo de cada invitación */
.invitation-v4 .c3-quote,.invitation-v4 .c3-story,.invitation-v4 .c3-locations,.invitation-v4 .c3-gallery,.invitation-v4 .c3-video,.invitation-v4 .c3-gifts,.invitation-v4 .c3-rsvp{background:var(--party-bg);color:var(--party-ink)}
.invitation-v4 .c3-story,.invitation-v4 .c3-video,.invitation-v4 .c3-gifts,.invitation-v4 .c3-rsvp{border-top:1px solid var(--party-line)}.invitation-v4 .c3-quote{color:var(--party-paper);background:var(--party-accent)}.invitation-v4 .c3-quote blockquote{color:inherit}.invitation-v4 .c3-story>div:last-child,.invitation-v4 .location-grid article,.invitation-v4 .c3-rsvp form{background:var(--party-paper);color:var(--party-ink)}.invitation-v4 .location-grid article,.invitation-v4 .c3-rsvp form{border-color:var(--party-line)}.invitation-v4 .c3-locations header small,.invitation-v4 .c3-gallery header small,.invitation-v4 .c3-story small,.invitation-v4 .c3-video small,.invitation-v4 .c3-gifts small,.invitation-v4 .c3-rsvp>div>small{color:var(--party-accent)}.invitation-v4 .location-grid a,.invitation-v4 .c3-gifts a,.invitation-v4 .c3-rsvp button{color:var(--party-paper);background:var(--party-ink);border-color:var(--party-ink)}.invitation-v4 .c3-footer{color:var(--party-paper);background:var(--party-ink)}
.design-clasica .c3-story>div:last-child,.design-romantica .c3-story>div:last-child,.design-botanica .c3-story>div:last-child,.design-jardin .c3-story>div:last-child,.design-aniversario-eterno .c3-story>div:last-child{border-radius:34px}.design-clasica .location-grid article,.design-romantica .location-grid article,.design-botanica .location-grid article,.design-jardin .location-grid article,.design-aniversario-eterno .location-grid article{border-radius:28px;box-shadow:8px 8px 0 var(--party-accent)}
.design-nocturna .c3-gallery,.design-monograma .c3-gallery,.design-artdeco .c3-gallery,.design-pasaporte .c3-gallery,.design-festival .c3-gallery,.design-bodas-oro .c3-gallery{color:var(--party-paper);background:var(--party-ink)}.design-nocturna .c3-video,.design-monograma .c3-video,.design-artdeco .c3-video,.design-pasaporte .c3-video,.design-bodas-oro .c3-video{color:var(--party-paper);background:#0c0a0f}.design-editorial .c3-story,.design-polaroid .c3-story{grid-template-columns:1.15fr .85fr}.design-editorial .c3-story figure,.design-polaroid .c3-story figure{transform:rotate(-2deg);box-shadow:15px 15px 0 var(--party-accent)}.design-minimal .c3-story,.design-festival .c3-story{grid-template-columns:.8fr 1.2fr}.design-timeline .c3-locations,.design-jardin .c3-locations{background-image:repeating-conic-gradient(rgba(255,255,255,.18) 0 25%,transparent 0 50%);background-size:54px 54px}.design-pasaporte .location-grid article{border:2px solid var(--party-accent-2);box-shadow:7px 7px 0 var(--party-accent)}.design-monograma .location-grid article,.design-bodas-oro .location-grid article{border:1px solid var(--party-accent);background:#17130f;color:var(--party-paper)}

/* Miniaturas nuevas: la portada ya comunica el concepto antes de abrirla */
.birthday-mockup{--mock-bg:#fff2df;--mock-ink:#2d2430;--mock-a:#ff6453;--mock-b:#6e58ef;color:var(--mock-ink)!important;background:var(--mock-bg)!important}.birthday-mockup .mock-photo{inset:0!important;background:var(--mock-image) center/cover!important;filter:none!important}.birthday-mockup .mock-pattern{position:absolute;z-index:1;inset:0;pointer-events:none}.birthday-mockup .mock-frame{inset:6%;border:1px solid currentColor}.birthday-mockup .mock-concept{position:absolute;z-index:4;top:6%;left:7%;font:900 7px var(--sans);letter-spacing:.18em;text-transform:uppercase}.birthday-mockup .mock-symbol{position:absolute;z-index:4;top:7%;right:7%;min-width:42px;height:42px;padding:7px;display:grid;place-items:center;color:#fff;background:var(--mock-a);font:900 9px var(--sans);font-style:normal}.birthday-mockup .mock-copy{inset:auto 0 0!important;min-height:48%;padding:9%!important;align-items:flex-start!important;justify-content:flex-end!important;text-align:left!important;background:linear-gradient(0deg,var(--mock-bg) 0 77%,transparent)!important}.birthday-mockup .mock-kicker,.birthday-mockup .mock-date,.birthday-mockup .mock-place{color:var(--mock-ink)!important;text-shadow:none!important}.birthday-mockup .mock-kicker{display:none}.birthday-mockup .mock-date{position:static!important;margin:0 0 7px!important;writing-mode:initial!important}.birthday-mockup .mock-names{align-items:flex-start!important;margin:5px 0 9px!important;color:var(--mock-ink)!important;font:900 clamp(31px,3.5vw,51px)/.75 var(--sans)!important;font-style:normal!important;text-shadow:none!important;text-transform:none!important;letter-spacing:-.06em!important}.birthday-mockup .mock-names i{position:absolute;right:8%;bottom:10%;min-width:56px;height:56px;margin:0!important;display:grid;place-items:center;color:#fff!important;background:var(--mock-b);border-radius:50%;font:900 22px var(--sans)!important}.birthday-mockup .mock-cta{display:none!important}.birthday-mockup:before,.birthday-mockup:after{display:none!important}
.birthday-mockup.mock-mediterranea{--mock-bg:#fff36f;--mock-ink:#3b2450;--mock-a:#ff5c4d;--mock-b:#7358ee}.birthday-mockup.mock-mediterranea .mock-photo{inset:6% 7% 38%!important;border-radius:50%}.birthday-mockup.mock-mediterranea .mock-pattern{background:radial-gradient(circle,#ff5c4d 0 3px,transparent 4px) 0 0/38px 38px}
.birthday-mockup.mock-nocturna{--mock-bg:#120f1c;--mock-ink:#fff4e9;--mock-a:#ff8d5b;--mock-b:#8c5cff}.birthday-mockup.mock-nocturna .mock-photo{filter:brightness(.6)!important}.birthday-mockup.mock-nocturna .mock-copy{background:linear-gradient(0deg,#120f1c 0 64%,transparent)!important}.birthday-mockup.mock-nocturna .mock-frame{border-color:#ff8d5b}
.birthday-mockup.mock-cine{--mock-bg:#090909;--mock-ink:#fff;--mock-a:#ed3b34;--mock-b:#ffd447}.birthday-mockup.mock-cine .mock-photo{filter:contrast(1.15)!important}.birthday-mockup.mock-cine .mock-copy{background:linear-gradient(90deg,#090909 0 62%,transparent)!important;inset:0 22% 0 0!important;min-height:100%}.birthday-mockup.mock-cine .mock-frame{display:none}.birthday-mockup.mock-cine .mock-names{text-transform:uppercase!important}
.birthday-mockup.mock-clasica{--mock-bg:#e5f6d0;--mock-ink:#174b3b;--mock-a:#ff7a3d;--mock-b:#2eb89a}.birthday-mockup.mock-clasica .mock-photo{inset:7% 7% 40%!important;border:3px solid #174b3b;border-radius:20px;box-shadow:7px 7px 0 #ff7a3d}.birthday-mockup.mock-clasica .mock-symbol{border-radius:12px}
.birthday-mockup.mock-romantica{--mock-bg:#fff0f7;--mock-ink:#69305f;--mock-a:#ff72b6;--mock-b:#9b79ef}.birthday-mockup.mock-romantica .mock-photo{inset:6% 12% 40%!important;border:8px solid #fff;border-radius:50%}.birthday-mockup.mock-romantica .mock-symbol{border-radius:50%;font-size:18px}
.birthday-mockup.mock-monograma{--mock-bg:#0e0d0d;--mock-ink:#f5ead7;--mock-a:#d7aa5d;--mock-b:#d7aa5d}.birthday-mockup.mock-monograma .mock-photo{inset:15% 9% 42%!important;filter:saturate(.7)!important}.birthday-mockup.mock-monograma .mock-frame{border-color:#d7aa5d}.birthday-mockup.mock-monograma .mock-symbol{color:#0e0d0d}.birthday-mockup.mock-monograma .mock-names{font-family:var(--serif)!important;font-weight:500!important}
.birthday-mockup.mock-minimal{--mock-bg:#ffdf4d;--mock-ink:#111;--mock-a:#ff593d;--mock-b:#3e64ff}.birthday-mockup.mock-minimal .mock-photo{left:48%!important;filter:grayscale(1)!important}.birthday-mockup.mock-minimal .mock-copy{right:45%!important;min-height:100%;background:#ffdf4d!important}.birthday-mockup.mock-minimal .mock-names{text-transform:uppercase!important}
.birthday-mockup.mock-editorial{--mock-bg:#eee9dd;--mock-ink:#171717;--mock-a:#e63e36;--mock-b:#2d5dff}.birthday-mockup.mock-editorial .mock-photo{left:38%!important;clip-path:polygon(8% 0,100% 4%,94% 96%,0 100%)}.birthday-mockup.mock-editorial .mock-copy{right:48%!important;min-height:100%;background:#eee9dd!important}.birthday-mockup.mock-editorial .mock-names{text-transform:uppercase!important}
.birthday-mockup.mock-artdeco{--mock-bg:#1b062e;--mock-ink:#fff;--mock-a:#ff48c4;--mock-b:#5c5cff}.birthday-mockup.mock-artdeco .mock-photo{filter:brightness(.55) saturate(1.3)!important}.birthday-mockup.mock-artdeco .mock-copy{align-items:center!important;text-align:center!important;background:linear-gradient(0deg,#1b062e 0 55%,transparent)!important}.birthday-mockup.mock-artdeco .mock-names{align-items:center!important;font-family:var(--serif)!important;font-style:italic!important;text-shadow:0 0 20px #ff48c4!important}
.birthday-mockup.mock-botanica{--mock-bg:#f5e7b0;--mock-ink:#244b35;--mock-a:#e66a35;--mock-b:#488d5a}.birthday-mockup.mock-botanica .mock-photo{inset:5% 8% 39%!important;border-radius:50% 50% 8px 8px}.birthday-mockup.mock-botanica .mock-symbol{border-radius:12px}
.birthday-mockup.mock-boho{--mock-bg:#ffe5ce;--mock-ink:#7f3142;--mock-a:#ec6b4f;--mock-b:#3a8fa1}.birthday-mockup.mock-boho .mock-photo{inset:5% 7% 38%!important;border-radius:50% 50% 5px 5px}.birthday-mockup.mock-boho .mock-names{font-family:var(--serif)!important;font-style:italic!important}
.birthday-mockup.mock-jardin{--mock-bg:#fff8e8;--mock-ink:#244a3b;--mock-a:#e95858;--mock-b:#e8a93d}.birthday-mockup.mock-jardin .mock-pattern{background:repeating-conic-gradient(rgba(233,88,88,.14) 0 25%,transparent 0 50%) 0 0/38px 38px}.birthday-mockup.mock-jardin .mock-photo{inset:7% 9% 40%!important;border:7px solid #fff;border-radius:50% 50% 5px 5px}.birthday-mockup.mock-jardin .mock-symbol{border-radius:50%}
.birthday-mockup.mock-costa{--mock-bg:#d9fbff;--mock-ink:#043b67;--mock-a:#ff5b85;--mock-b:#00a8c6}.birthday-mockup.mock-costa .mock-photo{inset:4% 5% 39%!important;clip-path:polygon(0 8%,100% 0,95% 92%,5% 100%)}.birthday-mockup.mock-costa .mock-names{color:#ff5b85!important}
.birthday-mockup.mock-pasaporte{--mock-bg:#07051a;--mock-ink:#ecfffe;--mock-a:#ff3dbd;--mock-b:#00e5ff}.birthday-mockup.mock-pasaporte .mock-photo{inset:7% 7% 41%!important;border:2px solid #00e5ff;box-shadow:0 0 20px #00e5ff}.birthday-mockup.mock-pasaporte .mock-pattern{background:linear-gradient(rgba(0,229,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.12) 1px,transparent 1px);background-size:25px 25px}.birthday-mockup.mock-pasaporte .mock-names{font-family:monospace!important;color:#00e5ff!important;text-transform:uppercase!important}.birthday-mockup.mock-pasaporte .mock-symbol{border-radius:3px}
.birthday-mockup.mock-hacienda{--mock-bg:#fff1d2;--mock-ink:#4c194f;--mock-a:#ef4f4c;--mock-b:#8d3db0}.birthday-mockup.mock-hacienda .mock-photo{inset:5% 10% 40%!important;border-radius:50%}.birthday-mockup.mock-hacienda .mock-names{font-family:var(--serif)!important;font-style:italic!important;color:#ef4f4c!important}
.birthday-mockup.mock-timeline{--mock-bg:#fff2d7;--mock-ink:#183a49;--mock-a:#e73c3c;--mock-b:#3e9bab}.birthday-mockup.mock-timeline .mock-photo{inset:6% 7% 42%!important;border:6px solid #fff;box-shadow:7px 7px 0 #3e9bab}.birthday-mockup.mock-timeline .mock-pattern{background:repeating-conic-gradient(rgba(24,58,73,.12) 0 25%,transparent 0 50%) 0 100%/28px 28px;background-repeat:repeat-x}.birthday-mockup.mock-timeline .mock-names{font-family:var(--serif)!important;font-style:italic!important;color:#e73c3c!important}
.birthday-mockup.mock-polaroid{--mock-bg:#e7e5ef;--mock-ink:#1e1730;--mock-a:#8d57ff;--mock-b:#28d8db}.birthday-mockup.mock-polaroid .mock-photo{inset:6% 7% 39%!important;clip-path:polygon(3% 7%,94% 0,100% 92%,8% 100%)}.birthday-mockup.mock-polaroid .mock-names{color:#8d57ff!important;text-transform:lowercase!important;text-shadow:2px 2px 0 #b9ff54!important}
.birthday-mockup.mock-festival{--mock-bg:#421e5d;--mock-ink:#fff7e5;--mock-a:#ff6f61;--mock-b:#ffd43b}.birthday-mockup.mock-festival .mock-photo{inset:4% 6% 43%!important;clip-path:polygon(0 5%,96% 0,100% 94%,5% 100%)}.birthday-mockup.mock-festival .mock-copy{margin:0 5% 5%;background:#ff6f61!important;clip-path:polygon(0 6%,100% 0,96% 94%,4% 100%)}.birthday-mockup.mock-festival .mock-names{text-transform:uppercase!important}.birthday-mockup.mock-festival .mock-names i{color:#421e5d!important;background:#ffd43b}
.birthday-mockup.mock-aniversario-eterno{--mock-bg:#081a40;--mock-ink:#fff;--mock-a:#ff704f;--mock-b:#7d6dff}.birthday-mockup.mock-aniversario-eterno .mock-photo{inset:6% 9% 39%!important;border-radius:48%}.birthday-mockup.mock-aniversario-eterno .mock-pattern{background:radial-gradient(circle,#fff 0 1px,transparent 2px) 0 0/29px 29px}.birthday-mockup.mock-aniversario-eterno .mock-names{color:#72e6ff!important}
.birthday-mockup.mock-bodas-plata{--mock-bg:#ffedf6;--mock-ink:#471f46;--mock-a:#ff4f9a;--mock-b:#8a58ff}.birthday-mockup.mock-bodas-plata .mock-photo{inset:5% 10% 40%!important;border-radius:50% 50% 8px 8px}.birthday-mockup.mock-bodas-plata .mock-names{font-family:var(--serif)!important;font-style:italic!important;color:#8a58ff!important}.birthday-mockup.mock-bodas-plata .mock-names i{background:linear-gradient(135deg,#ff4f9a,#8a58ff)}
.birthday-mockup.mock-bodas-oro{--mock-bg:#17120e;--mock-ink:#fbf2df;--mock-a:#d3a651;--mock-b:#d3a651}.birthday-mockup.mock-bodas-oro .mock-photo{filter:saturate(.72) brightness(.7)!important}.birthday-mockup.mock-bodas-oro .mock-copy{background:linear-gradient(0deg,#17120e 0 65%,transparent)!important}.birthday-mockup.mock-bodas-oro .mock-frame{border-color:#d3a651}.birthday-mockup.mock-bodas-oro .mock-names{font-family:var(--serif)!important;font-style:italic!important;color:#d3a651!important}.birthday-mockup.mock-bodas-oro .mock-names i{color:#17120e!important}

@media(max-width:980px){.birthday-hero-v4{min-height:0;grid-template-columns:1fr;padding-top:115px}.birthday-hero-v4 .bh-visual{height:620px}.birthday-hero-v4 .bh-copy{padding:20px 5vw 35px}.birthday-hero-cine,.birthday-hero-bodas-oro{display:block;padding:0}.birthday-hero-cine .bh-visual,.birthday-hero-bodas-oro .bh-visual{height:850px}.birthday-hero-cine .bh-copy,.birthday-hero-bodas-oro .bh-copy{left:8%;top:auto;bottom:85px;width:min(620px,78%);transform:none}.birthday-hero-nocturna .bh-visual,.birthday-hero-editorial .bh-visual{grid-column:1}.birthday-hero-nocturna .bh-copy,.birthday-hero-editorial .bh-copy{grid-column:1;grid-row:auto}.birthday-hero-artdeco{min-height:850px}.birthday-hero-minimal{background:linear-gradient(#ffdf4d 0 50%,#f3efe8 50%)}.birthday-hero-minimal .bh-visual{order:0}.birthday-hero-minimal .bh-photo{inset:0 8%}.birthday-hero-festival{grid-template-columns:1fr}.birthday-hero-festival .bh-copy{margin-top:-80px}.invitation-v4 .c3-story,.design-editorial .c3-story,.design-polaroid .c3-story,.design-minimal .c3-story,.design-festival .c3-story{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.birthday-hero-v4{padding:105px 18px 58px;gap:20px}.birthday-hero-v4 .bh-visual{height:470px}.birthday-hero-v4 .bh-detail{width:145px;height:145px;border-width:7px}.birthday-hero-v4 .bh-age{right:0;top:25px;width:105px;height:105px}.birthday-hero-v4 .bh-age span{font-size:50px}.birthday-hero-v4 .bh-copy{padding:25px 5px 40px}.birthday-hero-v4 h1{font-size:clamp(58px,20vw,88px)!important}.birthday-hero-v4 h2{font-size:31px}.birthday-hero-v4 .bh-when{font-size:9px}.birthday-hero-v4 .bh-ticker span:nth-child(n+2){display:none}.birthday-hero-nocturna .bh-age,.birthday-hero-editorial .bh-age,.birthday-hero-festival .bh-age{left:auto;right:0}.birthday-hero-cine .bh-visual,.birthday-hero-bodas-oro .bh-visual{height:800px}.birthday-hero-cine .bh-copy,.birthday-hero-bodas-oro .bh-copy{left:22px;right:22px;bottom:65px;width:auto;padding:0}.birthday-hero-cine .bh-symbol,.birthday-hero-bodas-oro .bh-symbol{top:120px;right:20px}.birthday-hero-cine .bh-age,.birthday-hero-bodas-oro .bh-age{right:20px;bottom:auto;top:205px}.birthday-hero-clasica .bh-copy,.birthday-hero-jardin .bh-copy{padding:27px}.birthday-hero-minimal .bh-age{left:0}.birthday-hero-artdeco .bh-copy{padding:140px 22px 70px}.birthday-hero-bodas-plata .bh-age{left:0;width:125px;height:125px}.birthday-hero-bodas-plata .bh-age span{font-size:65px}.invitation-v4 .c3-story,.design-editorial .c3-story,.design-polaroid .c3-story,.design-minimal .c3-story,.design-festival .c3-story{display:flex;flex-direction:column}.birthday-mockup .mock-names{font-size:43px!important}.birthday-mockup .mock-names i{width:60px;height:60px;font-size:23px!important}}

/* Cumplearia 1.2 — auditoría visual y de contraste de las 21 plantillas */
.invitation-v4{
  --party-card-bg:var(--party-paper);
  --party-card-ink:#2a2130;
  --party-card-muted:#68616a;
  --party-button-bg:var(--party-ink);
  --party-button-ink:var(--party-paper);
}

/* Los temas oscuros usan el acento como acción, evitando texto claro sobre botón claro. */
.design-nocturna,.design-cine,.design-monograma,.design-artdeco,
.design-pasaporte,.design-festival,.design-aniversario-eterno,.design-bodas-oro{
  --party-button-bg:var(--party-accent);
  --party-button-ink:#17121a;
}

/* Tipografía segura: los textos editables nunca rompen el lienzo. */
.invitation-v4 .birthday-hero-v4 h1,
.invitation-v4 .birthday-hero-v4 h2,
.invitation-v4 .c3-story h2,
.invitation-v4 .c3-locations h2,
.invitation-v4 .c3-gallery h2,
.invitation-v4 .c3-video h2,
.invitation-v4 .c3-gifts h2,
.invitation-v4 .c3-rsvp h2,
.invitation-v4 .location-grid h3{
  max-width:100%;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.invitation-v4 .birthday-hero-v4 h1{
  font-size:clamp(62px,7.2vw,112px)!important;
  line-height:.8!important;
}
.invitation-v4 .birthday-hero-v4 .bh-copy,
.invitation-v4 .birthday-hero-v4 .bh-visual,
.invitation-v4 .c3-story>*{
  min-width:0;
}

/* Encuadre consistente, sin deformar fotos subidas ni imágenes de demostración. */
.invitation-v4 .birthday-hero-v4 .bh-photo,
.invitation-v4 .birthday-hero-v4 .bh-detail,
.invitation-v4 .c3-story figure,
.invitation-v4 .location-card-image,
.invitation-v4 .c3-gallery figure,
.invitation-v4 .c3-gifts figure{
  overflow:hidden;
  background-position:center 36%;
  background-repeat:no-repeat;
}
.invitation-v4 .birthday-hero-v4 .bh-photo{background-position:center 34%}
.invitation-v4 .birthday-hero-v4 .bh-detail{background-position:center}
.invitation-v4 .location-card-image img,
.invitation-v4 .c3-gallery img,
.invitation-v4 .c3-gifts figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}
.invitation-v4 .location-card-image{height:220px;margin:-28px -28px 28px}
.invitation-v4 .c3-gifts figure{width:180px;height:180px;margin:0;border-radius:50%;border:8px solid var(--party-card-bg);box-shadow:0 18px 45px rgba(25,18,28,.18)}

/* Historia: tarjeta con respiración real y firma siempre dentro del marco. */
.invitation-v4 .c3-story{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:stretch;
  gap:clamp(28px,4vw,64px);
}
.invitation-v4 .c3-story figure{
  width:100%;
  height:auto;
  min-height:590px;
  background-size:cover;
  box-shadow:0 24px 65px rgba(31,22,34,.16);
}
.invitation-v4 .c3-story>div:last-child{
  min-width:0;
  padding:clamp(34px,5vw,72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:var(--party-card-ink);
  background:var(--party-card-bg);
  box-shadow:0 24px 65px rgba(31,22,34,.1);
}
.invitation-v4 .c3-story h2{margin:12px 0 24px;font-size:clamp(40px,5vw,68px);line-height:.96}
.invitation-v4 .c3-story p{margin:0;color:var(--party-card-muted);font-size:clamp(15px,1.35vw,17px);line-height:1.78}
.invitation-v4 .c3-story>div:last-child>i{margin-top:28px;color:var(--party-accent);font-size:clamp(23px,2.4vw,31px);line-height:1.2}

/* Tarjetas y formularios siempre usan su propio color de tinta, también en temas oscuros. */
.invitation-v4 .location-grid article,
.invitation-v4 .c3-rsvp form{
  color:var(--party-card-ink);
  background:var(--party-card-bg);
}
.invitation-v4 .location-grid article{padding:40px;overflow:hidden}
.invitation-v4 .location-grid p{color:var(--party-card-muted)}
.invitation-v4 .location-grid h3,
.invitation-v4 .c3-rsvp form h3,
.invitation-v4 .c3-rsvp form label,
.invitation-v4 .c3-rsvp form legend{color:var(--party-card-ink)}
.invitation-v4 .c3-rsvp input,
.invitation-v4 .c3-rsvp select,
.invitation-v4 .c3-rsvp textarea{
  color:var(--party-card-ink);
  background:#fff;
  border-color:#cfc8cf;
}
.invitation-v4 .c3-rsvp input::placeholder,
.invitation-v4 .c3-rsvp textarea::placeholder{color:#807781;opacity:1}
.invitation-v4 .c3-rsvp input:focus,
.invitation-v4 .c3-rsvp select:focus,
.invitation-v4 .c3-rsvp textarea:focus{
  outline:3px solid color-mix(in srgb,var(--party-accent) 28%,transparent);
  border-color:var(--party-accent);
}
.invitation-v4 .template-demo-form-note{color:#70400c;background:#fff4d7;border-color:#dca956}

/* Contraste de cada sección sobre el color real de su tema. */
.invitation-v4 .c3-rsvp>div{align-self:start;color:var(--party-ink)}
.invitation-v4 .c3-rsvp>div p,
.invitation-v4 .c3-video>div:first-child p,
.invitation-v4 .c3-gifts>div p{color:inherit;opacity:.76}
.invitation-v4 .c3-gallery>header,
.invitation-v4 .c3-locations>header,
.invitation-v4 .c3-video>div:first-child,
.invitation-v4 .c3-gifts>div{color:inherit}
.invitation-v4 .location-grid a,
.invitation-v4 .c3-gifts a,
.invitation-v4 .c3-rsvp form>button{
  color:var(--party-button-ink);
  background:var(--party-button-bg);
  border-color:var(--party-button-bg);
}
.invitation-v4 .c3-rsvp form>button{min-height:50px}
.invitation-v4 .c3-story small{color:var(--party-card-ink);opacity:.72}
.invitation-v4 .c3-locations>header small,
.invitation-v4 .c3-gallery>header small,
.invitation-v4 .c3-video>div:first-child small,
.invitation-v4 .c3-gifts>div small,
.invitation-v4 .c3-rsvp>div>small{color:inherit;opacity:.72}
.invitation-v4 .c3-quote{color:#09070a}
.design-clasica .c3-quote,
.design-romantica .c3-quote,
.design-monograma .c3-quote,
.design-costa .c3-quote,
.design-festival .c3-quote,
.design-bodas-plata .c3-quote,
.design-bodas-oro .c3-quote{color:#251b27}
.invitation-v4 .c3-quote blockquote{max-width:900px;margin:25px auto;color:inherit;overflow-wrap:break-word;text-wrap:balance}
.design-monograma .location-grid article,
.design-bodas-oro .location-grid article{color:var(--party-card-ink);background:var(--party-card-bg)}

@media(max-width:1040px){
  .invitation-v4 .c3-story,
  .design-editorial .c3-story,
  .design-polaroid .c3-story,
  .design-minimal .c3-story,
  .design-festival .c3-story{
    display:flex;
    flex-direction:column;
  }
  .invitation-v4 .c3-story figure{min-height:0;height:auto;aspect-ratio:16/10}
  .invitation-v4 .c3-story>div:last-child{min-height:0}
  .invitation-v4 .c3-rsvp{grid-template-columns:1fr;gap:38px}
  .invitation-v4 .c3-rsvp>div{max-width:720px}
}

@media(max-width:680px){
  .invitation-v4 .birthday-hero-v4 h1{font-size:clamp(48px,17vw,74px)!important;line-height:.84!important}
  .invitation-v4 .birthday-hero-v4 .bh-photo{background-position:center 30%}
  .invitation-v4 .c3-story figure{aspect-ratio:4/3;background-position:center 34%}
  .invitation-v4 .c3-story>div:last-child{padding:30px 24px}
  .invitation-v4 .c3-story h2,
  .invitation-v4 .c3-locations h2,
  .invitation-v4 .c3-gallery h2,
  .invitation-v4 .c3-video h2,
  .invitation-v4 .c3-gifts h2,
  .invitation-v4 .c3-rsvp h2{font-size:clamp(37px,12vw,50px);line-height:.98}
  .invitation-v4 .c3-rsvp form{padding:24px 18px}
  .invitation-v4 .c3-rsvp fieldset label{display:flex;align-items:center;gap:7px;margin:10px 0}
  .invitation-v4 .location-card-image{height:190px;margin:-22px -22px 24px}
  .invitation-v4 .location-grid article{padding:34px 22px}
  .invitation-v4 .c3-gifts figure{width:145px;height:145px}
}

/* Cumplearia 1.2.1 — textos decorativos íntegramente en español */
.birthday-hero-editorial:before{content:"CUMPLEARIA / REVISTA INDEPENDIENTE DE CUMPLEAÑOS"}
.birthday-hero-v4 .bh-ticker{justify-content:center;padding:0 18px;text-align:center}
.birthday-hero-v4 .bh-ticker span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:680px){
  .birthday-hero-v4 .bh-ticker{font-size:7px;letter-spacing:.08em}
}

/* Cumplearia 1.3 — sistemas interiores completos y movimiento por familia. */
@keyframes cumplearia-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes cumplearia-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes cumplearia-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@keyframes cumplearia-drift{0%{background-position:0 0}100%{background-position:80px 40px}}
.invitation-v4 .birthday-hero-v4 .bh-copy{animation:cumplearia-rise .8s cubic-bezier(.2,.75,.2,1) both}
.invitation-v4 .birthday-hero-v4 .bh-visual{animation:cumplearia-rise .9s .12s cubic-bezier(.2,.75,.2,1) both}
.family-kids .birthday-hero-v4 .bh-symbol,.family-pop .birthday-hero-v4 .bh-age{animation:cumplearia-float 4s ease-in-out infinite}
.family-night .birthday-hero-v4 .bh-symbol,.family-milestone .birthday-hero-v4 .bh-age{animation:cumplearia-pulse 3.8s ease-in-out infinite}

/* Pop: bloques gráficos, marcos inclinados y contraste alto. */
.family-pop .c3-story{gap:0;padding:clamp(65px,8vw,115px) 7vw}
.family-pop .c3-story figure{z-index:2;clip-path:polygon(6% 0,100% 4%,94% 100%,0 92%);transform:rotate(-2deg)}
.family-pop .c3-story>div:last-child{margin-left:-34px;padding:clamp(42px,5vw,78px);box-shadow:18px 18px 0 var(--party-accent);transform:rotate(1deg)}
.family-pop .c3-locations{background-image:radial-gradient(circle at 16px 16px,color-mix(in srgb,var(--party-accent) 22%,transparent) 0 4px,transparent 5px);background-size:44px 44px}
.family-pop .location-grid article{border:3px solid var(--party-ink);box-shadow:12px 12px 0 var(--party-accent)}
.family-pop .c3-gallery>div{gap:18px}.family-pop .c3-gallery figure{border:8px solid var(--party-paper);box-shadow:0 14px 32px rgba(30,22,34,.16)}
.family-pop .c3-gallery figure:nth-child(2n){transform:rotate(2deg)}.family-pop .c3-gallery figure:nth-child(3n){transform:rotate(-2deg)}
.family-pop .c3-rsvp form{border:3px solid var(--party-ink);box-shadow:16px 16px 0 var(--party-accent)}

/* Noche: fotografía cinematográfica, negro tinta y acentos metálicos. */
.family-night .c3-story{min-height:820px;padding:0;display:grid;grid-template-columns:1.35fr .65fr;gap:0;background:#0c0a0f}
.family-night .c3-story figure{height:100%;min-height:820px;filter:saturate(.82) contrast(1.08)}
.family-night .c3-story>div:last-child{height:calc(100% - 11vw);align-self:center;margin-left:-9vw;padding:clamp(48px,6vw,86px);border:1px solid color-mix(in srgb,var(--party-accent) 55%,transparent);background:rgba(14,11,16,.9);color:#f7efe7;box-shadow:0 32px 90px rgba(0,0,0,.48);backdrop-filter:blur(12px)}
.family-night .c3-story p,.family-night .c3-story small{color:#e8ddd5!important}.family-night .c3-story>div:last-child>i{color:var(--party-accent)}
.family-night .c3-locations,.family-night .c3-gallery{color:#f7efe7;background:#121016}
.family-night .location-grid article{color:#f7efe7;background:#211c24;border:1px solid color-mix(in srgb,var(--party-accent) 55%,transparent)}
.family-night .location-grid p{color:#c9bdc8}.family-night .c3-gallery>div{gap:2px;max-width:none}.family-night .c3-gallery figure{filter:grayscale(.7)}.family-night .c3-gallery figure:hover{filter:none}
.family-night .c3-rsvp{color:#f7efe7;background:#0c0a0f}.family-night .c3-rsvp form{border:1px solid var(--party-accent);box-shadow:0 35px 95px rgba(0,0,0,.44)}

/* Editorial: retícula de revista, composición asimétrica y tarjetas desplazadas. */
.family-editorial .c3-story{grid-template-columns:1.22fr .78fr;gap:0;padding:110px 7vw}
.family-editorial .c3-story figure{z-index:2;transform:rotate(-2.5deg);box-shadow:18px 18px 0 var(--party-accent)}
.family-editorial .c3-story>div:last-child{margin-left:-42px;padding:70px 56px 64px 82px;border-left:12px solid var(--party-accent)}
.family-editorial .c3-quote{text-align:left}.family-editorial .c3-quote blockquote{max-width:1050px;margin-left:0!important;font-style:normal}
.family-editorial .c3-locations>header,.family-editorial .c3-gallery>header{text-align:left;max-width:1250px;margin-left:auto;margin-right:auto}
.family-editorial .location-grid article{text-align:left;border:0;box-shadow:14px 14px 0 var(--party-accent)}
.family-editorial .c3-gallery>div{grid-template-columns:2fr 1fr 1fr;gap:14px}.family-editorial .c3-gallery figure{border:10px solid var(--party-paper);box-shadow:0 16px 34px rgba(30,22,34,.14)}
.family-editorial .c3-rsvp form{box-shadow:18px 18px 0 var(--party-accent)}

/* Infantil: formas blandas, tarjetas juguetonas y aire de cuento. */
.family-kids .c3-story{gap:36px;background-image:radial-gradient(circle at 10% 18%,color-mix(in srgb,var(--party-accent) 18%,transparent) 0 12px,transparent 13px),radial-gradient(circle at 90% 78%,color-mix(in srgb,var(--party-accent-2) 20%,transparent) 0 18px,transparent 19px)}
.family-kids .c3-story figure{border-radius:48% 52% 38% 62%/55% 42% 58% 45%;box-shadow:14px 18px 0 color-mix(in srgb,var(--party-accent) 70%,transparent)}
.family-kids .c3-story>div:last-child{border-radius:42px;box-shadow:0 20px 55px rgba(42,26,45,.14)}
.family-kids .location-grid article{border:0;border-radius:36px;box-shadow:10px 10px 0 var(--party-accent)}
.family-kids .location-card-image{border-radius:34px 34px 50% 50%}
.family-kids .c3-gallery figure{border-radius:32px}.family-kids .c3-gallery figure:nth-child(2),.family-kids .c3-gallery figure:nth-child(3){border-radius:50%}
.family-kids .c3-video-placeholder,.family-kids .c3-rsvp form{border-radius:34px}.family-kids .c3-rsvp form{box-shadow:10px 10px 0 var(--party-accent)}

/* Costa y jardín: arcos, curvas y una lectura más orgánica. */
.family-coastal .c3-story{gap:70px}.family-coastal .c3-story figure{border-radius:50% 50% 16px 16px;box-shadow:0 28px 60px rgba(30,22,34,.17)}
.family-coastal .c3-story>div:last-child{padding:35px 20px;background:transparent;border-top:1px solid var(--party-accent);border-bottom:1px solid var(--party-accent)}
.family-coastal .location-grid article{border:0;border-radius:240px 240px 24px 24px;box-shadow:0 22px 50px rgba(37,37,32,.14)}
.family-coastal .location-card-image{border-radius:210px 210px 0 0}
.family-coastal .c3-gallery>div{gap:20px}.family-coastal .c3-gallery figure{border-radius:180px 180px 16px 16px}
.family-coastal .c3-rsvp form{border-radius:42px;box-shadow:0 24px 65px rgba(35,27,34,.16)}

/* Retro: cuadrícula, bordes sólidos y efecto impreso. */
.family-retro .c3-story,.family-retro .c3-locations{background-image:linear-gradient(90deg,rgba(255,255,255,.12) 50%,transparent 50%),linear-gradient(rgba(255,255,255,.12) 50%,transparent 50%);background-size:44px 44px}
.family-retro .c3-story figure{border:10px solid var(--party-paper);box-shadow:14px 14px 0 var(--party-ink);transform:rotate(-1.5deg)}
.family-retro .c3-story>div:last-child,.family-retro .location-grid article,.family-retro .c3-rsvp form{border:3px solid var(--party-ink);box-shadow:12px 12px 0 var(--party-accent)}
.family-retro .c3-gallery figure{padding:9px 9px 34px;background:var(--party-paper);box-shadow:0 12px 28px rgba(30,20,26,.18);transform:rotate(-2deg)}
.family-retro .c3-gallery figure:nth-child(even){transform:rotate(2deg)}
.family-retro .c3-rsvp input,.family-retro .c3-rsvp select,.family-retro .c3-rsvp textarea{border-width:2px}

/* Arcade: paneles digitales, esquinas cortadas y resplandor controlado. */
.family-arcade .c3-story,.family-arcade .c3-locations,.family-arcade .c3-rsvp{color:#eefaff;background:#111025;background-image:linear-gradient(rgba(77,242,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(77,242,255,.055) 1px,transparent 1px);background-size:30px 30px}
.family-arcade .c3-story figure{clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);box-shadow:0 0 34px rgba(77,242,255,.28)}
.family-arcade .c3-story>div:last-child,.family-arcade .location-grid article,.family-arcade .c3-rsvp form{color:#101020;background:#f7fbff;border:2px solid var(--party-accent);box-shadow:8px 8px 0 var(--party-accent-2);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
.family-arcade .c3-gallery{background:#080811}.family-arcade .c3-gallery figure{border:3px solid var(--party-accent)}

/* Festival: cartel recortado, energía diagonal y grandes bandas de color. */
.family-festival .c3-story{grid-template-columns:.78fr 1.22fr;gap:0;background:linear-gradient(125deg,var(--party-accent) 0 28%,var(--party-bg) 28%)}
.family-festival .c3-story figure{clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);transform:rotate(2deg)}
.family-festival .c3-story>div:last-child{margin-left:-25px;padding:65px;box-shadow:-16px 16px 0 var(--party-accent-2)}
.family-festival .location-grid article{border:3px solid var(--party-ink);transform:rotate(-1deg);box-shadow:12px 12px 0 var(--party-accent)}
.family-festival .c3-gallery figure{clip-path:polygon(7% 0,100% 4%,93% 100%,0 96%)}
.family-festival .c3-rsvp form{border:3px solid var(--party-ink);box-shadow:16px 16px 0 var(--party-accent-2)}

/* Hitos: imagen panorámica y tarjeta ceremonial superpuesta. */
.family-milestone .c3-story{display:flex;flex-direction:column;gap:0;padding:100px 7vw}
.family-milestone .c3-story figure{width:100%;height:auto;aspect-ratio:16/8;background-position:center;box-shadow:0 30px 75px rgba(25,18,25,.2)}
.family-milestone .c3-story>div:last-child{z-index:2;width:min(760px,86%);min-height:0;margin:-95px auto 0;padding:65px;text-align:center;border:1px solid var(--party-accent);box-shadow:0 22px 60px rgba(25,18,25,.18)}
.family-milestone .c3-gallery>div{max-width:1420px;grid-template-columns:2fr 1fr 1fr}.family-milestone .c3-gallery figure{border:1px solid var(--party-accent)}
.family-milestone .location-grid article,.family-milestone .c3-rsvp form{border:1px solid var(--party-accent);box-shadow:0 22px 58px rgba(30,22,30,.16)}

@media(max-width:1040px){
  .family-night .c3-story,.family-editorial .c3-story,.family-festival .c3-story{display:flex;flex-direction:column;padding:72px 5vw;gap:28px}
  .family-night .c3-story figure{min-height:0;height:auto;aspect-ratio:16/10}
  .family-night .c3-story>div:last-child,.family-editorial .c3-story>div:last-child,.family-festival .c3-story>div:last-child{height:auto;margin:0;padding:48px}
  .family-pop .c3-story>div:last-child{margin-left:0}
}
@media(max-width:680px){
  .family-pop .c3-story>div:last-child,.family-editorial .c3-story>div:last-child,.family-festival .c3-story>div:last-child{padding:30px 24px;transform:none;box-shadow:8px 8px 0 var(--party-accent)}
  .family-night .c3-story{padding:70px 18px}.family-night .c3-story>div:last-child{padding:32px 24px}
  .family-milestone .c3-story{padding:70px 18px}.family-milestone .c3-story figure{aspect-ratio:4/3}.family-milestone .c3-story>div:last-child{width:92%;margin:-42px auto 0;padding:32px 22px}
  .family-editorial .c3-gallery>div,.family-milestone .c3-gallery>div{grid-template-columns:1fr 1fr}
  .family-coastal .c3-story>div:last-child{padding:30px 20px}
}
@media(prefers-reduced-motion:reduce){
  .invitation-v4 .birthday-hero-v4 .bh-copy,.invitation-v4 .birthday-hero-v4 .bh-visual,.family-kids .birthday-hero-v4 .bh-symbol,.family-pop .birthday-hero-v4 .bh-age,.family-night .birthday-hero-v4 .bh-symbol,.family-milestone .birthday-hero-v4 .bh-age{animation:none!important}
}
.invitation-v4 .birthday-hero-v4 .bh-photo{background-position:var(--hero-position,center center)}
.invitation-v4 .birthday-hero-v4 .bh-detail,.invitation-v4 .c3-story figure{background-position:var(--detail-position,center center)}
.invitation-v4 .birthday-hero-artdeco{background-position:center center,var(--hero-position,center center)}
