{"id":1144,"date":"2026-06-17T17:02:15","date_gmt":"2026-06-17T17:02:15","guid":{"rendered":"https:\/\/bodafranyjose.com\/?page_id=1144"},"modified":"2026-06-17T18:19:38","modified_gmt":"2026-06-17T18:19:38","slug":"elementor-1144","status":"publish","type":"page","link":"https:\/\/bodafranyjose.com\/","title":{"rendered":"Elementor #1144"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1144\" class=\"elementor elementor-1144\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-36089aea elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"36089aea\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-413ff69d\" data-id=\"413ff69d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8f7ded3 elementor-widget elementor-widget-html\" data-id=\"8f7ded3\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"fjw-v6\" style=\"--hero-photo:url('https:\/\/bodafranyjose.com\/wp-content\/uploads\/2026\/06\/Proyecto-nuevo.webp');\">\n  <style>\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400;1,600&family=Cinzel:wght@400;500;600&family=Manrope:wght@300;400;500;600;700;800&family=Caveat:wght@500;600;700&display=swap');\n\n    #fjw-v6,\n    #fjw-v6 * { box-sizing: border-box; }\n\n    #fjw-v6 {\n      --black:#07080d;\n      --blue:#0d1830;\n      --blue2:#132442;\n      --blue3:#1a2f55;\n      --gold:#c8972a;\n      --gold2:#e8c76a;\n      --paper:#faf6ee;\n      --paper2:#efe2ca;\n      --ink:#18120e;\n      --cream:#fff7ea;\n      --muted:#d9c7aa;\n      --line:rgba(200,151,42,.28);\n      position:relative;\n      overflow:hidden;\n      background:var(--black);\n      color:var(--cream);\n      font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\n      line-height:1.55;\n      -webkit-font-smoothing:antialiased;\n    }\n    #fjw-v6 a{color:inherit;}\n    #fjw-v6 p{margin:0;color:var(--muted);}\n    #fjw-v6 h1,#fjw-v6 h2,#fjw-v6 h3,#fjw-v6 h4{margin:0;font-family:\"Playfair Display\",Georgia,serif;font-weight:400;line-height:.94;letter-spacing:-.045em;}\n    #fjw-v6 h1{font-size:clamp(58px,10.5vw,148px);}\n    #fjw-v6 h2{font-size:clamp(42px,6vw,84px);}\n    #fjw-v6 h3{font-size:clamp(28px,3.8vw,44px);}\n    #fjw-v6 .wrap{width:min(1120px,calc(100% - 34px));margin:0 auto;position:relative;z-index:3;}\n    #fjw-v6 .section{position:relative;padding:clamp(74px,8vw,118px) 0;overflow:hidden;}\n\n    #fjw-v6 .sparkle-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;opacity:.98;mix-blend-mode:screen;}\n    #fjw-v6 .ambient-glow{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;}\n    #fjw-v6 .ambient-glow span{position:absolute;width:clamp(140px,18vw,280px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(232,199,106,.13),rgba(232,199,106,.035) 44%,transparent 72%);filter:blur(4px);opacity:.58;animation:fjwGlowDrift 18s ease-in-out infinite alternate;}\n    #fjw-v6 .ambient-glow span:nth-child(1){left:6%;top:12%;animation-duration:21s;}\n    #fjw-v6 .ambient-glow span:nth-child(2){right:2%;top:38%;animation-duration:24s;animation-delay:-5s;}\n    #fjw-v6 .ambient-glow span:nth-child(3){left:22%;bottom:4%;animation-duration:27s;animation-delay:-9s;}\n    #fjw-v6 .grain{position:absolute;inset:0;pointer-events:none;opacity:.075;mix-blend-mode:soft-light;background-image:url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'\/%3E%3C\/svg%3E\");}\n    #fjw-v6 .deco-lines{position:absolute;inset:22px;z-index:2;border:1px solid rgba(232,199,106,.16);border-radius:30px;pointer-events:none;}\n    #fjw-v6 .deco-lines:before{content:\"\";position:absolute;inset:15px;border:1px solid rgba(232,199,106,.07);border-radius:20px;}\n    #fjw-v6 .kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--gold2);text-transform:uppercase;letter-spacing:.25em;font-size:11px;font-weight:800;}\n    #fjw-v6 .kicker:before,#fjw-v6 .kicker:after{content:\"\";width:40px;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);}\n    #fjw-v6 .script{font-family:Caveat,cursive;color:var(--gold2);font-size:clamp(36px,5vw,62px);line-height:.88;}\n\n    #fjw-v6 .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 24px;border-radius:999px;border:1px solid rgba(232,199,106,.48);text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,background .28s ease;isolation:isolate;}\n    #fjw-v6 .btn:before{content:\"\";position:absolute;inset:-70% auto -70% -80%;width:58%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);transition:left .8s ease;z-index:-1;}\n    #fjw-v6 .btn:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.24);}\n    #fjw-v6 .btn:hover:before{left:130%;}\n    #fjw-v6 .btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#14100c;}\n    #fjw-v6 .btn-ghost{background:rgba(255,255,255,.055);color:var(--cream);backdrop-filter:blur(10px);}\n    #fjw-v6 .btn-dark{background:var(--blue);color:var(--gold2);border-color:rgba(200,151,42,.42);}\n\n    \/* INTRO *\/\n    #fjw-v6 .intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(232,199,106,.19),transparent 28%),linear-gradient(145deg,#081020,#0d1830 52%,#05060a);transition:opacity .9s ease,visibility .9s ease;}\n    #fjw-v6 .intro.is-open{opacity:0;visibility:hidden;pointer-events:none;}\n    #fjw-v6 .intro-orbit{position:absolute;width:min(78vw,560px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(232,199,106,.23);box-shadow:0 0 110px rgba(232,199,106,.12);animation:fjwSpin 22s linear infinite;}\n    #fjw-v6 .intro-orbit:before,#fjw-v6 .intro-orbit:after{content:\"\";position:absolute;inset:9%;border-radius:inherit;border:1px solid rgba(255,255,255,.08);transform:rotate(18deg);}\n    #fjw-v6 .intro-orbit:after{inset:18%;transform:rotate(-24deg);border-color:rgba(232,199,106,.12);}\n    #fjw-v6 .seal{position:relative;z-index:2;width:198px;height:198px;border-radius:50%;border:1px solid rgba(232,199,106,.72);background:radial-gradient(circle at 34% 25%,rgba(255,255,255,.23),transparent 36%),rgba(255,255,255,.07);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;box-shadow:0 24px 90px rgba(0,0,0,.38),0 0 0 12px rgba(232,199,106,.055);backdrop-filter:blur(14px);transition:transform .35s ease,box-shadow .35s ease;}\n    #fjw-v6 .seal:hover{transform:scale(1.04);box-shadow:0 30px 120px rgba(0,0,0,.45),0 0 0 18px rgba(232,199,106,.075);}\n    #fjw-v6 .seal strong{font-family:\"Playfair Display\",Georgia,serif;font-size:52px;font-weight:400;letter-spacing:-.05em;color:var(--gold2);}\n    #fjw-v6 .seal span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.74);}\n    #fjw-v6 .intro-text{position:absolute;bottom:9vh;width:min(520px,86vw);text-align:center;font-family:\"Playfair Display\",Georgia,serif;font-style:italic;font-size:24px;color:rgba(255,255,255,.72);}\n\n    \/* HERO *\/\n    #fjw-v6 .hero{min-height:100svh;display:flex;align-items:center;padding:clamp(76px,8vw,116px) 0 clamp(88px,9vw,136px);isolation:isolate;background:#06080d;text-align:center;}\n    #fjw-v6 .hero-bg{position:absolute;inset:0;z-index:0;background-image:linear-gradient(180deg,rgba(6,8,13,.24) 0%,rgba(6,8,13,.18) 32%,rgba(6,8,13,.76) 70%,rgba(6,8,13,.97) 100%),radial-gradient(circle at 50% 24%,rgba(200,151,42,.16),transparent 34%),var(--hero-photo);background-size:cover;background-position:center 18%;filter:saturate(.9) contrast(1.05) brightness(.72);transform:scale(1.055);will-change:transform;}\n    #fjw-v6 .hero-bg:after{content:\"\";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.032) 0 1px,transparent 1px 18px),radial-gradient(circle at 84% 18%,rgba(16,36,61,.6),transparent 30%);mix-blend-mode:soft-light;opacity:.85;}\n    #fjw-v6 .hero-grid{display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;gap:clamp(28px,5vw,54px);}\n    #fjw-v6 .hero-copy{width:min(980px,100%);margin:0 auto;padding-top:clamp(170px,28vh,330px);}\n    #fjw-v6 .hero-photo-space{height:clamp(120px,22vh,280px);pointer-events:none;}\n    #fjw-v6 .hero h1{text-align:center;text-shadow:0 8px 48px rgba(0,0,0,.46),0 0 26px rgba(200,151,42,.18);}\n    #fjw-v6 .hero .kicker{justify-content:center;}\n    #fjw-v6 .hero-lead{text-align:center;margin-left:auto;margin-right:auto;}\n    #fjw-v6 .hero-actions{justify-content:center;}\n    #fjw-v6 .date-pill{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:10px 15px;border-radius:999px;border:1px solid rgba(232,199,106,.34);background:rgba(255,255,255,.055);color:rgba(255,247,234,.88);font-size:13px;backdrop-filter:blur(12px);}\n    #fjw-v6 .hero h1 em{color:var(--gold2);font-style:italic;font-size:.8em;}\n    #fjw-v6 .hero-lead{max-width:610px;margin-top:24px;color:#eadac0;font-size:clamp(18px,2vw,22px);}\n    #fjw-v6 .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}\n    #fjw-v6 .scroll-cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:6;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(232,199,106,.46);background:rgba(0,0,0,.16);backdrop-filter:blur(8px);cursor:pointer;animation:fjwFloatCue 2.4s ease-in-out infinite;}\n    #fjw-v6 .scroll-cue svg{width:20px;height:20px;fill:none;stroke:var(--gold2);stroke-width:1.7;}\n\n    #fjw-v6 .invite-visual{position:relative;min-height:390px;width:min(470px,100%);margin:0 auto;transform-style:preserve-3d;opacity:.96;}\n    #fjw-v6 .invite-card,#fjw-v6 .invite-tag,#fjw-v6 .invite-note{position:absolute;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.34);overflow:hidden;transform:translateZ(0);}\n    #fjw-v6 .invite-card{right:50%;bottom:0;width:min(285px,66vw);height:395px;background:linear-gradient(180deg,#ca8f3f,#bc7b2d);border:14px solid #14110f;animation:fjwCardFloat 7s ease-in-out infinite;transform:translateX(50%);}\n    #fjw-v6 .invite-card:before{content:\"\";position:absolute;inset:0;background:radial-gradient(circle at 18% 25%,rgba(255,255,255,.15) 0 1px,transparent 1.3px),radial-gradient(circle at 80% 20%,rgba(255,255,255,.10) 0 1px,transparent 1.3px),linear-gradient(180deg,rgba(255,255,255,.07),transparent 45%);background-size:36px 36px,44px 44px,auto;opacity:.8;}\n    #fjw-v6 .invite-card-inner{position:absolute;inset:20px 16px;z-index:2;border:1px solid rgba(25,18,14,.24);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:22px 12px;text-align:center;color:#15100c;}\n    #fjw-v6 .arch{width:150px;height:116px;border:4px double #15100c;border-bottom:0;border-radius:150px 150px 0 0;position:relative;}\n    #fjw-v6 .arch:before{content:\"19:00 h\";position:absolute;top:40px;left:50%;transform:translateX(-50%);font-family:\"Playfair Display\",serif;font-size:24px;white-space:nowrap;width:max-content;line-height:1;}\n    #fjw-v6 .card-names{font-family:\"Playfair Display\",serif;font-size:34px;line-height:.96;}\n    #fjw-v6 .card-date{font-size:12px;letter-spacing:.16em;text-transform:uppercase;}\n    #fjw-v6 .card-copy{font-size:13px;line-height:1.45;max-width:220px;color:rgba(25,18,14,.76);}\n    #fjw-v6 .invite-base{position:absolute;left:4%;bottom:58px;width:300px;height:225px;background:linear-gradient(180deg,#203865,#142544);border:14px solid #14110f;border-radius:10px;transform:rotate(-4deg);box-shadow:0 24px 70px rgba(0,0,0,.32);overflow:hidden;}\n    #fjw-v6 .invite-base:before{content:\"\";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(255,255,255,.05) 10%,transparent 10%),linear-gradient(-45deg,rgba(255,255,255,.04) 10%,transparent 10%);background-size:45px 45px;opacity:.5;}\n    #fjw-v6 .base-text{position:absolute;inset:28px 34px;z-index:1;font-family:\"Playfair Display\",serif;font-size:39px;line-height:.95;color:var(--cream);}\n    #fjw-v6 .base-text em{color:var(--gold2);font-style:italic;}\n    #fjw-v6 .invite-tag{left:24px;top:38px;width:210px;height:270px;background:linear-gradient(180deg,#d4a052,#bd7c2e);transform:rotate(-23deg);animation:fjwTagFloat 8s ease-in-out infinite;padding:22px;color:#20150a;}\n    #fjw-v6 .invite-tag .script{position:absolute;left:20px;top:18px;transform:rotate(90deg);transform-origin:left top;font-size:28px;color:#27180b;opacity:.85;}\n    #fjw-v6 .invite-tag strong{position:absolute;left:22px;bottom:26px;font-family:\"Playfair Display\",serif;font-size:32px;line-height:.95;}\n    #fjw-v6 .invite-note{right:30px;top:50px;width:184px;background:rgba(250,246,238,.98);color:#17110f;border:1px solid rgba(25,18,14,.12);padding:16px;transform:rotate(7deg);}\n    #fjw-v6 .invite-note:before{content:\"\";position:absolute;inset:9px;border:1px solid rgba(25,18,14,.12);border-radius:7px;pointer-events:none;}\n    #fjw-v6 .invite-note .script{font-size:30px;color:#17110f;line-height:.95;}\n    #fjw-v6 .invite-note span{display:block;font-size:12px;color:rgba(25,18,14,.68);margin-top:8px;line-height:1.38;}\n\n    \/* MESSAGE + COUNTDOWN *\/\n    #fjw-v6 .paper{background:linear-gradient(180deg,var(--paper),var(--paper2));color:var(--ink);}\n    #fjw-v6 .paper p{color:rgba(24,18,14,.68);}\n    #fjw-v6 .message{text-align:center;padding:clamp(58px,7vw,88px) 0 0;}\n    #fjw-v6 .message p{font-family:\"Playfair Display\",Georgia,serif;font-style:italic;font-size:clamp(24px,3vw,36px);line-height:1.55;max-width:780px;margin:0 auto;color:rgba(24,18,14,.58);}\n    #fjw-v6 .ornament{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:28px;color:var(--gold);}\n    #fjw-v6 .ornament:before,#fjw-v6 .ornament:after{content:\"\";width:98px;height:1px;background:linear-gradient(90deg,transparent,currentColor);opacity:.48;}\n    #fjw-v6 .ornament:after{background:linear-gradient(90deg,currentColor,transparent);}\n    #fjw-v6 .ornament i{width:9px;height:9px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 7px rgba(200,151,42,.055);}\n    #fjw-v6 .count-section{background:linear-gradient(180deg,var(--blue),var(--blue2));border-top:1px solid rgba(232,199,106,.16);border-bottom:1px solid rgba(232,199,106,.16);text-align:center;}\n    #fjw-v6 .count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:38px auto 0;max-width:760px;}\n    #fjw-v6 .count-box{border:1px solid rgba(232,199,106,.25);background:rgba(255,255,255,.045);border-radius:22px;padding:24px 12px;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}\n    #fjw-v6 .count-box:before{content:\"\";position:absolute;inset:11px;border:1px solid rgba(232,199,106,.07);border-radius:14px;}\n    #fjw-v6 .count-num{display:block;font-family:Cinzel,serif;font-size:clamp(40px,6vw,68px);font-weight:600;line-height:1;color:var(--gold2);transition:transform .25s ease;}\n    #fjw-v6 .count-label{display:block;margin-top:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,247,234,.58);}\n    #fjw-v6 .count-box.bump .count-num{transform:translateY(-3px) scale(1.05);}\n\n    \/* TIMING *\/\n    #fjw-v6 .section-head{text-align:center;max-width:780px;margin:0 auto 46px;}\n    #fjw-v6 .paper .kicker{color:#8d641f;}\n    #fjw-v6 .timeline{max-width:820px;margin:0 auto;position:relative;padding:8px 0;}\n    #fjw-v6 .timeline-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(200,151,42,.18);transform:translateX(-50%);overflow:hidden;}\n    #fjw-v6 .timeline-line span{display:block;width:100%;height:0;background:linear-gradient(180deg,transparent,var(--gold),var(--gold2),transparent);transition:height .4s ease;}\n    #fjw-v6 .tl-item{display:grid;grid-template-columns:1fr 94px 1fr;align-items:center;gap:22px;margin-bottom:50px;opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1);}\n    #fjw-v6 .tl-item.is-visible{opacity:1;transform:translateY(0);}\n    #fjw-v6 .tl-item:last-child{margin-bottom:0;}\n    #fjw-v6 .tl-left{text-align:right;}\n    #fjw-v6 .tl-right{text-align:left;}\n    #fjw-v6 .tl-empty{min-height:1px;}\n    #fjw-v6 .tl-time{font-family:Cinzel,serif;font-size:24px;font-weight:600;color:var(--gold);letter-spacing:.05em;margin-bottom:6px;}\n    #fjw-v6 .tl-title{font-family:\"Playfair Display\",serif;font-size:28px;line-height:1;color:#172442;margin-bottom:6px;}\n    #fjw-v6 .tl-desc{font-size:14px;color:rgba(24,18,14,.62);}\n    #fjw-v6 .tl-node{display:grid;place-items:center;position:relative;z-index:2;}\n    #fjw-v6 .tl-circle{width:76px;height:76px;border-radius:50%;border:1.5px solid var(--gold);background:var(--paper);display:grid;place-items:center;box-shadow:0 0 0 7px var(--paper),0 14px 34px rgba(24,18,14,.08);transition:transform .35s ease,box-shadow .35s ease,background .35s ease;}\n    #fjw-v6 .tl-item.is-visible .tl-circle{transform:scale(1.04);box-shadow:0 0 0 7px var(--paper),0 0 32px rgba(200,151,42,.22);}\n    #fjw-v6 .tl-circle svg{width:36px;height:36px;fill:none;stroke:var(--gold);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;}\n\n    \/* PLACE *\/\n    #fjw-v6 .place{background:linear-gradient(180deg,#090b12,var(--blue));}\n    #fjw-v6 .place-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;align-items:stretch;}\n    #fjw-v6 .place-card{border:1px solid rgba(232,199,106,.22);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border-radius:30px;padding:clamp(28px,4vw,46px);position:relative;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.2);}\n    #fjw-v6 .place-card:before{content:\"\";position:absolute;inset:14px;border:1px solid rgba(232,199,106,.08);border-radius:20px;pointer-events:none;}\n    #fjw-v6 .place-card p{margin-top:16px;}\n    #fjw-v6 .address{margin-top:24px;padding:16px 18px;border-radius:18px;border:1px solid rgba(232,199,106,.16);background:rgba(255,255,255,.035);font-size:14px;color:rgba(255,247,234,.74);}\n    #fjw-v6 .map-frame{border-radius:30px;overflow:hidden;min-height:470px;border:1px solid rgba(232,199,106,.22);box-shadow:0 24px 70px rgba(0,0,0,.24);background:#111;}\n    #fjw-v6 .map-frame iframe{width:100%;height:100%;min-height:470px;border:0;filter:grayscale(.86) contrast(1.05) brightness(.78);}\n\n    \/* RSVP *\/\n    #fjw-v6 .rsvp{text-align:center;background:linear-gradient(180deg,var(--blue),#080a10);}\n    #fjw-v6 .rsvp-card{width:min(760px,100%);margin:0 auto;border:1px solid rgba(232,199,106,.22);border-radius:30px;padding:clamp(34px,5vw,56px);background:rgba(255,255,255,.045);position:relative;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.2);}\n    #fjw-v6 .rsvp-card:before{content:\"\";position:absolute;inset:14px;border:1px solid rgba(232,199,106,.08);border-radius:20px;pointer-events:none;}\n    #fjw-v6 .rsvp-card p{max-width:560px;margin:18px auto 0;}\n    #fjw-v6 footer{padding:70px 0 88px;text-align:center;background:#07080d;border-top:1px solid rgba(232,199,106,.14);}\n    #fjw-v6 footer .script{display:block;margin-bottom:12px;}\n\n    \/* Reveal and motion *\/\n    #fjw-v6 [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1);will-change:opacity,transform;}\n    #fjw-v6 [data-reveal].is-visible{opacity:1;transform:none;}\n    #fjw-v6 [data-reveal=\"zoom\"]{transform:translateY(24px) scale(.96);}\n    #fjw-v6 [data-reveal=\"left\"]{transform:translateX(-34px);}\n    #fjw-v6 [data-reveal=\"right\"]{transform:translateX(34px);}\n    #fjw-v6 .shine-on{position:relative;overflow:hidden;}\n    #fjw-v6 .shine-on:after{content:\"\";position:absolute;top:-70%;bottom:-70%;left:-90%;width:45%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);opacity:0;}\n    #fjw-v6 .shine-on.is-visible:after{animation:fjwShine 1.15s ease .35s forwards;}\n\n    @keyframes fjwSpin{to{transform:rotate(360deg);}}\n    @keyframes fjwFloatCue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}\n    @keyframes fjwCardFloat{0%,100%{transform:translateY(0) rotate(.5deg)}50%{transform:translateY(-12px) rotate(-1deg)}}\n    @keyframes fjwTagFloat{0%,100%{transform:rotate(-23deg) translateY(0)}50%{transform:rotate(-23deg) translateY(-10px)}}\n    @keyframes fjwShine{0%{left:-90%;opacity:0}18%{opacity:1}100%{left:135%;opacity:0}}\n    @keyframes fjwGlowDrift{0%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(24px,-18px,0) scale(1.08);}100%{transform:translate3d(-18px,22px,0) scale(.96);}}\n    @keyframes fjwSoftPulse{0%,100%{opacity:.72;filter:drop-shadow(0 0 0 rgba(232,199,106,0));}50%{opacity:1;filter:drop-shadow(0 0 16px rgba(232,199,106,.35));}}\n\n    @media(max-width:960px){\n      #fjw-v6 .hero-grid,#fjw-v6 .place-grid{grid-template-columns:1fr;}\n      #fjw-v6 .invite-visual{margin:10px auto 0;min-height:500px;}\n      #fjw-v6 .place-card{text-align:center;}\n    }\n    @media(max-width:720px){\n      #fjw-v6 .deco-lines{inset:10px;border-radius:20px;}\n      #fjw-v6 .hero{min-height:100svh;padding-top:64px;}\n      #fjw-v6 .hero-copy{padding-top:clamp(150px,28vh,260px);}\n      #fjw-v6 .hero-photo-space{height:clamp(120px,21vh,220px);}\n      #fjw-v6 .hero-bg{background-position:center top;}\n      #fjw-v6 .count-grid{grid-template-columns:repeat(2,1fr);}\n      #fjw-v6 .timeline-line{left:38px;}\n      #fjw-v6 .tl-item{grid-template-columns:76px 1fr;gap:14px;margin-bottom:40px;}\n      #fjw-v6 .tl-item .tl-empty{display:none;}\n      #fjw-v6 .tl-node{grid-column:1;grid-row:1;}\n      #fjw-v6 .tl-left,#fjw-v6 .tl-right{text-align:left;grid-column:2;grid-row:1;}\n      #fjw-v6 .tl-circle{width:62px;height:62px;box-shadow:0 0 0 5px var(--paper);}\n      #fjw-v6 .tl-circle svg{width:30px;height:30px;}\n      #fjw-v6 .btn{width:100%;}\n      #fjw-v6 .hero-actions{width:100%;}\n      #fjw-v6 .map-frame,#fjw-v6 .map-frame iframe{min-height:360px;}\n    }\n    @media(max-width:560px){\n      #fjw-v6 .invite-visual{min-height:410px;}\n      #fjw-v6 .invite-base{width:78%;height:210px;bottom:58px;}\n      #fjw-v6 .invite-tag{width:54%;height:235px;left:4px;top:24px;}\n      #fjw-v6 .invite-card{width:68%;height:380px;border-width:12px;}\n      #fjw-v6 .invite-note{right:4px;top:38px;width:162px;}\n      #fjw-v6 .card-names{font-size:28px;}\n      #fjw-v6 .card-copy{font-size:12px;}\n      #fjw-v6 .arch{width:128px;height:96px;}\n      #fjw-v6 .arch:before{top:32px;font-size:21px;}\n      #fjw-v6 .count-box{padding:20px 8px;}\n      #fjw-v6 .tl-title{font-size:25px;}\n      #fjw-v6 .tl-time{font-size:21px;}\n    }\n\n\n    \/* V8 MOBILE REFINEMENT: m\u00e1s espacio para foto + collage sin cortes *\/\n    @media(max-width:720px){\n      #fjw-v6 .hero{\n        min-height:auto;\n        align-items:flex-start;\n        padding:0 0 82px;\n        overflow:hidden;\n      }\n      #fjw-v6 .hero:before{\n        content:\"\";\n        position:absolute;\n        left:0;right:0;bottom:0;\n        height:66%;\n        z-index:1;\n        pointer-events:none;\n        background:linear-gradient(180deg,rgba(6,8,13,0) 0%,rgba(6,8,13,.66) 30%,rgba(6,8,13,.94) 72%,#06080d 100%);\n      }\n      #fjw-v6 .hero-bg{\n        background-position:center top;\n        filter:saturate(.95) contrast(1.05) brightness(.66);\n        transform:scale(1.02);\n      }\n      #fjw-v6 .hero-grid{\n        gap:34px;\n      }\n      #fjw-v6 .hero-copy{\n        position:relative;\n        z-index:4;\n        width:min(100%,94vw);\n        padding-top:clamp(430px,58svh,570px);\n      }\n      #fjw-v6 .hero-photo-space{display:none;}\n      #fjw-v6 .date-pill{\n        max-width:100%;\n        justify-content:center;\n        margin-bottom:14px;\n        background:rgba(5,7,12,.34);\n      }\n      #fjw-v6 .hero h1{\n        font-size:clamp(54px,14vw,82px);\n        line-height:.9;\n      }\n      #fjw-v6 .hero-lead{\n        max-width:92%;\n        font-size:clamp(17px,4.2vw,20px);\n        line-height:1.48;\n        margin-top:18px;\n      }\n      #fjw-v6 .hero-actions{\n        margin-top:26px;\n      }\n      #fjw-v6 .invite-visual{\n        z-index:4;\n        width:min(370px,calc(100vw - 34px));\n        min-height:570px;\n        margin:18px auto 0;\n        overflow:visible;\n        transform:none!important;\n      }\n      #fjw-v6 .invite-card,\n      #fjw-v6 .invite-tag,\n      #fjw-v6 .invite-note,\n      #fjw-v6 .invite-base{\n        max-width:100%;\n        box-shadow:0 22px 56px rgba(0,0,0,.34);\n        will-change:transform;\n      }\n      #fjw-v6 .scroll-cue{bottom:22px;}\n    }\n\n    @media(max-width:560px){\n      #fjw-v6 .hero-copy{padding-top:clamp(430px,57svh,560px);}\n      #fjw-v6 .invite-visual{\n        width:min(350px,calc(100vw - 32px));\n        min-height:560px;\n      }\n      #fjw-v6 .invite-card{\n        left:50%;\n        right:auto;\n        top:0;\n        bottom:auto;\n        width:232px;\n        height:330px;\n        border-width:10px;\n        transform:translateX(-50%) rotate(-1.2deg)!important;\n        animation:fjwCardFloatMobile 7s ease-in-out infinite;\n        z-index:5;\n      }\n      #fjw-v6 .invite-card-inner{\n        inset:15px 12px;\n        padding:17px 9px;\n      }\n      #fjw-v6 .arch{width:118px;height:90px;border-width:3px;}\n      #fjw-v6 .arch:before{top:30px;font-size:19px;}\n      #fjw-v6 .card-names{font-size:25px;}\n      #fjw-v6 .card-date{font-size:10px;letter-spacing:.13em;}\n      #fjw-v6 .card-copy{font-size:11.5px;line-height:1.38;max-width:170px;}\n      #fjw-v6 .invite-card-inner .script{font-size:22px!important;}\n      #fjw-v6 .invite-base{\n        left:50%;\n        top:314px;\n        bottom:auto;\n        width:280px;\n        height:176px;\n        border-width:10px;\n        transform:translateX(-50%) rotate(-3deg)!important;\n        z-index:2;\n      }\n      #fjw-v6 .base-text{\n        inset:26px 28px;\n        font-size:31px;\n        line-height:.98;\n      }\n      #fjw-v6 .invite-tag{\n        left:calc(50% - 148px);\n        top:292px;\n        width:150px;\n        height:180px;\n        padding:14px;\n        transform:rotate(-13deg)!important;\n        animation:fjwTagFloatMobile 8s ease-in-out infinite;\n        z-index:4;\n      }\n      #fjw-v6 .invite-tag .script{font-size:20px;}\n      #fjw-v6 .invite-tag strong{\n        left:16px;\n        bottom:18px;\n        font-size:22px;\n        line-height:.98;\n      }\n      #fjw-v6 .invite-note{\n        right:calc(50% - 160px);\n        top:314px;\n        width:148px;\n        padding:12px;\n        transform:rotate(7deg)!important;\n        z-index:6;\n      }\n      #fjw-v6 .invite-note .script{font-size:23px;}\n      #fjw-v6 .invite-note span{font-size:10.5px;line-height:1.3;}\n    }\n\n    @media(max-width:390px){\n      #fjw-v6 .hero-copy{padding-top:clamp(398px,56svh,520px);}\n      #fjw-v6 .invite-visual{width:calc(100vw - 26px);min-height:535px;}\n      #fjw-v6 .invite-card{width:214px;height:310px;}\n      #fjw-v6 .invite-base{width:250px;height:160px;top:296px;}\n      #fjw-v6 .invite-tag{left:calc(50% - 132px);top:278px;width:132px;height:160px;}\n      #fjw-v6 .invite-note{right:calc(50% - 145px);top:292px;width:132px;}\n      #fjw-v6 .base-text{font-size:28px;}\n    }\n\n    @keyframes fjwCardFloatMobile{\n      0%,100%{transform:translateX(-50%) rotate(-1.2deg) translateY(0)!important;}\n      50%{transform:translateX(-50%) rotate(.4deg) translateY(-8px)!important;}\n    }\n    @keyframes fjwTagFloatMobile{\n      0%,100%{transform:rotate(-13deg) translateY(0)!important;}\n      50%{transform:rotate(-11deg) translateY(-7px)!important;}\n    }\n\n    @media(prefers-reduced-motion:reduce){\n      #fjw-v6 *,#fjw-v6 *:before,#fjw-v6 *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}\n      #fjw-v6 .sparkle-canvas{display:none;}\n      #fjw-v6 [data-reveal],#fjw-v6 .tl-item{opacity:1!important;transform:none!important;}\n      #fjw-v6 .intro{display:none;}\n    }\n\n\n    \/* V9: foto vertical definitiva + sonido al abrir *\/\n    #fjw-v6 .hero-bg{background-position:center top;}\n    @media(max-width:720px){\n      #fjw-v6 .hero-bg{background-position:center top;background-size:cover;}\n      #fjw-v6 .hero-copy{padding-top:clamp(500px,62svh,640px);}\n      #fjw-v6 .hero-lead{max-width:90%;}\n    }\n    @media(max-width:390px){\n      #fjw-v6 .hero-copy{padding-top:clamp(475px,60svh,610px);}\n      #fjw-v6 .hero h1{font-size:clamp(48px,13.2vw,70px);}\n    }\n\n  \n\n    \/* V10: hero m\u00f3vil m\u00e1s bajo + metadatos apilados + timing centrado *\/\n    #fjw-v6 .date-stack{\n      display:inline-flex;\n      flex-direction:column;\n      align-items:center;\n      justify-content:center;\n      gap:5px;\n      min-width:min(420px,92vw);\n      padding:12px 20px;\n      border-radius:24px;\n      text-align:center;\n      line-height:1.15;\n    }\n    #fjw-v6 .date-stack span{\n      display:block;\n      white-space:normal;\n    }\n    #fjw-v6 .date-stack span:nth-child(1){font-size:13px;letter-spacing:.14em;color:rgba(255,247,234,.92);}\n    #fjw-v6 .date-stack span:nth-child(2){font-size:13px;color:rgba(255,247,234,.82);}\n    #fjw-v6 .date-stack span:nth-child(3){margin-top:4px;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2);font-weight:800;}\n\n    #fjw-v6 #timing .section-title,\n    #fjw-v6 #timing .section-kicker{text-align:center;justify-content:center;margin-left:auto;margin-right:auto;}\n    #fjw-v6 .timeline{max-width:680px;}\n    #fjw-v6 .tl-item{\n      grid-template-columns:1fr;\n      justify-items:center;\n      text-align:center;\n      gap:14px;\n      margin-bottom:58px;\n      transform:translateY(42px) scale(.96);\n      transition:opacity .92s ease, transform 1.05s cubic-bezier(.16,1,.3,1);\n    }\n    #fjw-v6 .tl-item.is-visible{transform:translateY(0) scale(1);}\n    #fjw-v6 .tl-item:nth-child(2){transition-delay:.06s;}\n    #fjw-v6 .tl-item:nth-child(3){transition-delay:.12s;}\n    #fjw-v6 .tl-item:nth-child(4){transition-delay:.18s;}\n    #fjw-v6 .tl-item:nth-child(5){transition-delay:.24s;}\n    #fjw-v6 .tl-item .tl-empty{display:none!important;}\n    #fjw-v6 .tl-left,#fjw-v6 .tl-right{grid-column:1;text-align:center!important;max-width:360px;}\n    #fjw-v6 .tl-node{grid-column:1;grid-row:1;}\n    #fjw-v6 .tl-left,#fjw-v6 .tl-right{grid-row:2;}\n    #fjw-v6 .timeline-line{left:50%;opacity:.28;}\n    #fjw-v6 .tl-circle{transition:transform .7s cubic-bezier(.16,1,.3,1), box-shadow .7s ease;}\n    #fjw-v6 .tl-item.is-visible .tl-circle{transform:scale(1.03);box-shadow:0 0 0 7px var(--paper),0 0 30px rgba(200,151,42,.22);}\n\n    @media(max-width:720px){\n      #fjw-v6 .hero{\n        min-height:122svh;\n        padding-bottom:92px;\n      }\n      #fjw-v6 .hero:before{\n        height:74%;\n        background:linear-gradient(180deg,rgba(6,8,13,0) 0%,rgba(6,8,13,.42) 22%,rgba(6,8,13,.82) 56%,#06080d 100%);\n      }\n      #fjw-v6 .hero-copy{\n        padding-top:clamp(640px,76svh,790px)!important;\n      }\n      #fjw-v6 .date-stack{\n        min-width:min(360px,88vw);\n        margin-bottom:16px;\n        padding:12px 18px;\n        background:rgba(5,7,12,.40);\n      }\n      #fjw-v6 .hero h1{\n        font-size:clamp(50px,13.2vw,76px);\n        line-height:.9;\n      }\n      #fjw-v6 .hero-lead{\n        max-width:88%;\n        margin-top:16px;\n        font-size:clamp(16px,4vw,19px);\n      }\n      #fjw-v6 .hero-actions{margin-top:24px;}\n      #fjw-v6 .timeline{padding-top:12px;}\n      #fjw-v6 .timeline-line{left:50%;}\n      #fjw-v6 .tl-item{\n        display:grid;\n        grid-template-columns:1fr!important;\n        padding:0;\n        margin-bottom:44px;\n        justify-items:center;\n        text-align:center;\n      }\n      #fjw-v6 .tl-node{position:relative!important;left:auto!important;top:auto!important;width:auto!important;grid-column:1!important;grid-row:1!important;}\n      #fjw-v6 .tl-left,#fjw-v6 .tl-right{grid-column:1!important;grid-row:2!important;text-align:center!important;padding:0!important;width:100%;max-width:310px;}\n    }\n    @media(max-width:560px){\n      #fjw-v6 .hero{min-height:126svh;}\n      #fjw-v6 .hero-copy{padding-top:clamp(660px,78svh,820px)!important;}\n      #fjw-v6 .date-stack span:nth-child(1){font-size:12px;}\n      #fjw-v6 .date-stack span:nth-child(2){font-size:12px;}\n      #fjw-v6 .date-stack span:nth-child(3){font-size:10px;letter-spacing:.28em;}\n    }\n    @media(max-width:390px){\n      #fjw-v6 .hero{min-height:130svh;}\n      #fjw-v6 .hero-copy{padding-top:clamp(620px,77svh,780px)!important;}\n      #fjw-v6 .hero h1{font-size:clamp(46px,12.8vw,66px);}\n    }\n\n\n    \/* V11: hero m\u00f3vil m\u00e1s abajo + formulario + bloques finales *\/\n    #fjw-v6 .fj-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;text-align:left;position:relative;z-index:2;}\n    #fjw-v6 .fj-field{display:flex;flex-direction:column;gap:8px;}\n    #fjw-v6 .fj-field.full{grid-column:1\/-1;}\n    #fjw-v6 .fj-field label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold2);font-weight:800;}\n    #fjw-v6 .fj-field input,#fjw-v6 .fj-field select,#fjw-v6 .fj-field textarea{width:100%;border:1px solid rgba(232,199,106,.24);border-radius:16px;background:rgba(255,255,255,.075);color:#fff7ea;min-height:54px;padding:14px 16px;font-family:Manrope,system-ui,sans-serif;font-size:15px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}\n    #fjw-v6 .fj-field textarea{min-height:118px;resize:vertical;line-height:1.55;}\n    #fjw-v6 .fj-field input::placeholder,#fjw-v6 .fj-field textarea::placeholder{color:rgba(255,247,234,.45);}\n    #fjw-v6 .fj-field select option{background:#101725;color:#fff7ea;}\n    #fjw-v6 .fj-submit{grid-column:1\/-1;margin-top:6px;}\n    #fjw-v6 .fj-result{grid-column:1\/-1;margin-top:10px;padding:15px 18px;border-radius:16px;border:1px solid rgba(232,199,106,.22);background:rgba(232,199,106,.08);color:#fff7ea;text-align:center;font-size:14px;display:none;}\n    #fjw-v6 .fj-result.is-visible{display:block;}\n    #fjw-v6 .special-card{width:min(820px,100%);margin:0 auto;border:1px solid rgba(232,199,106,.24);border-radius:30px;padding:clamp(34px,5vw,58px);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));position:relative;overflow:hidden;box-shadow:0 28px 76px rgba(0,0,0,.22);text-align:center;}\n    #fjw-v6 .special-card:before{content:\"\";position:absolute;inset:14px;border:1px solid rgba(232,199,106,.08);border-radius:20px;pointer-events:none;}\n    #fjw-v6 .special-card p{max-width:620px;margin:16px auto 0;color:#dbc9ad;font-size:17px;line-height:1.75;}\n    #fjw-v6 .special-card .script{display:block;margin-bottom:8px;}\n    #fjw-v6 .final-blocks{background:linear-gradient(180deg,#080a10,var(--blue));}\n    #fjw-v6 .final-blocks .wrap{display:grid;gap:26px;}\n\n    @media(max-width:720px){\n      #fjw-v6 .hero{min-height:160svh!important;padding-bottom:100px!important;}\n      #fjw-v6 .hero:before{height:82%!important;background:linear-gradient(180deg,rgba(6,8,13,0) 0%,rgba(6,8,13,.25) 34%,rgba(6,8,13,.72) 68%,#06080d 100%)!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(790px,95svh,1040px)!important;}\n      #fjw-v6 .date-stack{margin-bottom:18px;}\n      #fjw-v6 .hero h1{font-size:clamp(48px,12.8vw,74px);}\n      #fjw-v6 .fj-form{grid-template-columns:1fr;}\n      #fjw-v6 .rsvp-card{padding:32px 20px;border-radius:24px;}\n    }\n    @media(max-width:560px){\n      #fjw-v6 .hero{min-height:166svh!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(835px,99svh,1080px)!important;}\n      #fjw-v6 .hero-lead{max-width:94%;}\n      #fjw-v6 .special-card{border-radius:24px;padding:32px 20px;}\n    }\n    @media(max-width:390px){\n      #fjw-v6 .hero{min-height:166svh!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(780px,98svh,1010px)!important;}\n      #fjw-v6 .hero h1{font-size:clamp(44px,12.4vw,64px);}\n    }\n\n\n    \/* V12: hero m\u00f3vil m\u00e1s abajo + integraci\u00f3n lista invitados + regalo *\/\n    #fjw-v6 .fj-result.is-error{display:block;border-color:rgba(255,120,120,.35);background:rgba(255,70,70,.10);color:#ffe2df;}\n    #fjw-v6 .fj-result.is-loading{display:block;}\n    #fjw-v6 .gift-card{width:min(820px,100%);margin:0 auto;border:1px solid rgba(232,199,106,.24);border-radius:30px;padding:clamp(34px,5vw,58px);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));position:relative;overflow:hidden;box-shadow:0 28px 76px rgba(0,0,0,.22);text-align:center;}\n    #fjw-v6 .gift-card:before{content:\"\";position:absolute;inset:14px;border:1px solid rgba(232,199,106,.08);border-radius:20px;pointer-events:none;}\n    #fjw-v6 .gift-card p{max-width:620px;margin:16px auto 0;color:#dbc9ad;font-size:17px;line-height:1.75;}\n    #fjw-v6 .iban-box{margin:28px auto 0;width:min(560px,100%);display:grid;gap:14px;}\n    #fjw-v6 .iban-code{display:block;padding:18px 16px;border-radius:18px;border:1px solid rgba(232,199,106,.26);background:rgba(0,0,0,.20);color:#fff7ea;font-family:Cinzel,serif;font-size:clamp(16px,2vw,22px);letter-spacing:.08em;word-break:break-word;}\n    #fjw-v6 .copy-note{display:none;margin-top:12px;color:var(--gold2);font-size:13px;letter-spacing:.04em;}\n    #fjw-v6 .copy-note.is-visible{display:block;}\n\n    \/* POST RSVP: bloques compactos y coherentes con la tarjeta de confirmaci\u00f3n *\/\n    #fjw-v6 .post-rsvp-panel{\n      margin-top:clamp(28px,4vw,42px);\n      padding-top:clamp(24px,3vw,34px);\n      border-top:1px solid rgba(232,199,106,.18);\n      display:grid;\n      grid-template-columns:repeat(3,minmax(0,1fr));\n      gap:14px;\n      text-align:left;\n      position:relative;\n      z-index:2;\n    }\n    #fjw-v6 .post-card{\n      position:relative;\n      overflow:hidden;\n      min-height:270px;\n      border-radius:24px;\n      border:1px solid rgba(232,199,106,.24);\n      background:\n        radial-gradient(circle at 24% 12%,rgba(232,199,106,.14),transparent 32%),\n        linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));\n      padding:24px 22px;\n      box-shadow:0 18px 42px rgba(0,0,0,.16);\n      display:flex;\n      flex-direction:column;\n      align-items:flex-start;\n      justify-content:space-between;\n      gap:18px;\n      transform:translateY(18px);\n      opacity:.92;\n      transition:transform .7s cubic-bezier(.16,1,.3,1), opacity .7s ease, border-color .3s ease;\n    }\n    #fjw-v6 .post-card:before{\n      content:\"\";\n      position:absolute;\n      inset:10px;\n      border:1px solid rgba(232,199,106,.09);\n      border-radius:16px;\n      pointer-events:none;\n    }\n    #fjw-v6 .post-card:after{\n      content:\"\";\n      position:absolute;\n      right:-34px;\n      top:-34px;\n      width:115px;\n      height:115px;\n      border-radius:50%;\n      border:1px solid rgba(232,199,106,.14);\n      opacity:.85;\n      pointer-events:none;\n    }\n    #fjw-v6 .rsvp-card.is-submitted .post-card,\n    #fjw-v6 .post-card.visible{\n      transform:none;\n      opacity:1;\n    }\n    #fjw-v6 .post-card:hover{\n      transform:translateY(-4px);\n      border-color:rgba(232,199,106,.42);\n    }\n    #fjw-v6 .post-card-top{position:relative;z-index:2;}\n    #fjw-v6 .post-card .script{\n      display:block;\n      font-size:clamp(34px,4vw,50px);\n      margin:0 0 8px;\n      color:var(--gold2);\n    }\n    #fjw-v6 .post-card .mini-label{\n      display:block;\n      color:rgba(232,199,106,.84);\n      text-transform:uppercase;\n      letter-spacing:.20em;\n      font-size:10px;\n      font-weight:800;\n      margin-bottom:14px;\n    }\n    #fjw-v6 .post-card h3{\n      font-size:clamp(25px,2.7vw,34px);\n      line-height:1;\n      letter-spacing:-.035em;\n      color:var(--cream);\n      margin-bottom:14px;\n    }\n    #fjw-v6 .post-card p{\n      margin:0;\n      color:#dbc9ad;\n      font-size:14px;\n      line-height:1.65;\n    }\n    #fjw-v6 .post-card .btn{\n      width:100%;\n      min-height:46px;\n      padding:12px 16px;\n      font-size:11px;\n      position:relative;\n      z-index:2;\n    }\n    #fjw-v6 .post-iban{\n      width:100%;\n      display:grid;\n      gap:12px;\n      position:relative;\n      z-index:2;\n    }\n    #fjw-v6 .post-iban .iban-code{\n      display:block;\n      width:100%;\n      padding:13px 12px;\n      border-radius:16px;\n      border:1px solid rgba(232,199,106,.26);\n      background:rgba(0,0,0,.18);\n      color:#fff7ea;\n      font-family:Cinzel,serif;\n      font-size:14px;\n      letter-spacing:.06em;\n      line-height:1.45;\n      text-align:center;\n      word-break:break-word;\n    }\n    #fjw-v6 .post-iban .copy-note{\n      display:none;\n      color:var(--gold2);\n      font-size:12px;\n      text-align:center;\n      margin-top:0;\n    }\n    #fjw-v6 .post-iban .copy-note.is-visible{display:block;}\n\n    @media(max-width:880px){\n      #fjw-v6 .post-rsvp-panel{grid-template-columns:1fr;gap:12px;margin-top:28px;padding-top:24px;}\n      #fjw-v6 .post-card{min-height:auto;padding:23px 20px;border-radius:22px;}\n      #fjw-v6 .post-card .btn{width:100%;}\n    }\n\n    @media(max-width:720px){\n      #fjw-v6 .hero{min-height:184svh!important;padding-bottom:108px!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(950px,112svh,1230px)!important;}\n      #fjw-v6 .hero:before{height:88%!important;background:linear-gradient(180deg,rgba(6,8,13,0) 0%,rgba(6,8,13,.14) 36%,rgba(6,8,13,.66) 72%,#06080d 100%)!important;}\n      #fjw-v6 .date-stack{margin-bottom:20px;}\n    }\n    @media(max-width:560px){\n      #fjw-v6 .hero{min-height:190svh!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(995px,118svh,1280px)!important;}\n      #fjw-v6 .hero-actions{margin-top:28px;}\n    }\n    @media(max-width:390px){\n      #fjw-v6 .hero{min-height:192svh!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(930px,116svh,1210px)!important;}\n    }\n\n  \n\n    \/* V14: hero m\u00e1s compacto, banner superior visible y flecha de scroll *\/\n    #fjw-v6 .hero{min-height:124svh!important;padding-top:0!important;padding-bottom:86px!important;}\n    #fjw-v6 .hero-top-banner{\n      position:absolute;\n      left:50%;\n      top:clamp(28px,5.5vh,72px);\n      transform:translateX(-50%);\n      z-index:8;\n      width:min(430px,calc(100% - 42px));\n      display:flex;\n      flex-direction:column;\n      align-items:center;\n      gap:12px;\n      pointer-events:auto;\n    }\n    #fjw-v6 .hero-top-banner .date-stack{\n      width:100%;\n      min-width:0;\n      margin:0;\n      padding:13px 20px;\n      border-radius:26px;\n      background:rgba(7,8,12,.38);\n      border-color:rgba(232,199,106,.38);\n      box-shadow:0 18px 48px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.05);\n    }\n    #fjw-v6 .hero-top-arrow{\n      width:38px;\n      height:38px;\n      border-radius:50%;\n      display:grid;\n      place-items:center;\n      text-decoration:none;\n      border:1px solid rgba(232,199,106,.46);\n      background:rgba(0,0,0,.16);\n      backdrop-filter:blur(10px);\n      animation:fjwFloatCue 2.2s ease-in-out infinite;\n    }\n    #fjw-v6 .hero-top-arrow svg{width:19px;height:19px;fill:none;stroke:var(--gold2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}\n    #fjw-v6 .hero-copy{padding-top:clamp(520px,64vh,760px)!important;}\n    #fjw-v6 .hero-photo-space{height:0!important;}\n    #fjw-v6 .scroll-cue{bottom:24px;}\n\n    @media(max-width:720px){\n      #fjw-v6 .hero{min-height:150svh!important;padding-bottom:86px!important;}\n      #fjw-v6 .hero-top-banner{top:calc(22px + env(safe-area-inset-top));width:min(390px,calc(100% - 34px));gap:11px;}\n      #fjw-v6 .hero-top-banner .date-stack{padding:12px 18px;border-radius:24px;}\n      #fjw-v6 .hero-copy{padding-top:clamp(700px,86svh,900px)!important;}\n      #fjw-v6 .hero h1{font-size:clamp(48px,12.8vw,74px);}\n      #fjw-v6 .hero-lead{max-width:94%;font-size:clamp(18px,4.6vw,22px);}\n      #fjw-v6 .hero-actions{margin-top:26px;}\n    }\n    @media(max-width:560px){\n      #fjw-v6 .hero{min-height:146svh!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(680px,84svh,860px)!important;}\n      #fjw-v6 .invite-visual{margin-top:20px;}\n    }\n    @media(max-width:390px){\n      #fjw-v6 .hero{min-height:148svh!important;}\n      #fjw-v6 .hero-copy{padding-top:clamp(630px,83svh,820px)!important;}\n      #fjw-v6 .hero h1{font-size:clamp(44px,12.4vw,64px);}\n    }\n\n\n\n    \/* V15: banner superior centrado en m\u00f3vil y flecha visible *\/\n    @keyframes fjwTopArrowFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}\n    #fjw-v6 .hero-top-banner,\n    #fjw-v6 .hero-top-banner.is-visible{\n      left:50%!important;\n      right:auto!important;\n      transform:translateX(-50%)!important;\n      opacity:1!important;\n      text-align:center!important;\n    }\n    #fjw-v6 .hero-top-arrow,\n    #fjw-v6 .hero-top-arrow.is-visible{\n      transform:none!important;\n      animation:fjwTopArrowFloat 2.1s ease-in-out infinite!important;\n    }\n    #fjw-v6 .hero-top-arrow{\n      box-shadow:0 12px 34px rgba(0,0,0,.28),0 0 18px rgba(232,199,106,.15);\n    }\n    @media(max-width:720px){\n      #fjw-v6 .hero-top-banner,\n      #fjw-v6 .hero-top-banner.is-visible{\n        top:calc(58px + env(safe-area-inset-top))!important;\n        width:min(340px,calc(100% - 54px))!important;\n        max-width:340px!important;\n        gap:12px!important;\n        z-index:30!important;\n      }\n      #fjw-v6 .hero-top-banner .date-stack{\n        width:100%!important;\n        min-width:0!important;\n        padding:13px 16px!important;\n        background:rgba(7,8,12,.62)!important;\n        border:1px solid rgba(232,199,106,.54)!important;\n        box-shadow:0 18px 46px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08)!important;\n      }\n      #fjw-v6 .hero-top-banner .date-stack span:nth-child(1){font-size:12px!important;letter-spacing:.18em!important;}\n      #fjw-v6 .hero-top-banner .date-stack span:nth-child(2){font-size:12px!important;}\n      #fjw-v6 .hero-top-banner .date-stack span:nth-child(3){font-size:10px!important;letter-spacing:.34em!important;}\n      #fjw-v6 .hero-top-arrow{\n        width:42px!important;\n        height:42px!important;\n        background:rgba(7,8,12,.58)!important;\n        border-color:rgba(232,199,106,.62)!important;\n      }\n      #fjw-v6 .hero-top-arrow svg{width:21px!important;height:21px!important;}\n    }\n    @media(max-width:390px){\n      #fjw-v6 .hero-top-banner,\n      #fjw-v6 .hero-top-banner.is-visible{\n        top:calc(54px + env(safe-area-inset-top))!important;\n        width:min(320px,calc(100% - 44px))!important;\n      }\n    }\n\n  <\/style>\n\n  <canvas class=\"sparkle-canvas\" aria-hidden=\"true\"><\/canvas>\n  <audio data-fjw-audio preload=\"auto\" loop playsinline src=\"https:\/\/bodafranyjose.com\/wp-content\/uploads\/2026\/06\/Quizas-quizas-quizas-Nat-King-Cole-rDGgUGBD-90.mp3\"><\/audio>\n  <div class=\"ambient-glow\" aria-hidden=\"true\"><span><\/span><span><\/span><span><\/span><\/div>\n\n  <div class=\"intro\" data-intro>\n    <div class=\"intro-orbit\"><\/div>\n    <button class=\"seal\" type=\"button\" data-open-invitation aria-label=\"Abrir invitaci\u00f3n\">\n      <strong>F&nbsp;&amp;&nbsp;J<\/strong>\n      <span>26 \u00b7 09 \u00b7 2026<\/span>\n    <\/button>\n    <div class=\"intro-text\">Toca el sello para abrir la invitaci\u00f3n<\/div>\n  <\/div>\n\n  <header class=\"section hero\" id=\"inicio\">\n    <div class=\"hero-bg\" data-parallax=\"0.16\"><\/div>\n    <div class=\"grain\"><\/div>\n    <div class=\"deco-lines\"><\/div>\n    <div class=\"hero-top-banner\" data-reveal=\"soft\">\n      <div class=\"date-pill date-stack\"><span>26 \u00b7 09 \u00b7 2026<\/span><span>Finca Torre Valdeflores<\/span><span>Nos casamos<\/span><\/div>\n      <a class=\"hero-top-arrow\" href=\"#hero-names\" aria-label=\"Bajar hasta los nombres\"><svg viewBox=\"0 0 24 24\"><path d=\"M6 9l6 6 6-6\"><\/path><\/svg><\/a>\n    <\/div>\n    <div class=\"wrap hero-grid\">\n      <div class=\"hero-copy\" id=\"hero-names\" data-reveal=\"zoom\">\n        <div class=\"hero-photo-space\"><\/div>\n        <h1>Fran <em>&amp;<\/em><br>Jos\u00e9 Manuel<\/h1>\n        <p class=\"hero-lead\">Nos casamos. Una noche elegante, con mucho brillo y muchas ganas de celebrarlo con vosotros.<\/p>\n        <div class=\"hero-actions\">\n          <a class=\"btn btn-gold\" href=\"#timing\">Ver timing<\/a>\n          <a class=\"btn btn-ghost\" href=\"#lugar\">C\u00f3mo llegar<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"invite-visual\" data-reveal=\"zoom\">\n        <div class=\"invite-base\"><div class=\"base-text\">\u00a1Nos <em>casamos<\/em>!<\/div><\/div>\n        <div class=\"invite-tag\"><span class=\"script\">celebr\u00e9moslo<\/span><strong>Fran &amp;<br>Jos\u00e9 Manuel<\/strong><\/div>\n        <div class=\"invite-note\"><span class=\"script\">la noche se pone seria\u2026<\/span><span>brillo \u00b7 amor \u00b7 m\u00fasica \u00b7 fiesta<\/span><\/div>\n        <div class=\"invite-card shine-on\" data-reveal=\"zoom\">\n          <div class=\"invite-card-inner\">\n            <div class=\"arch\"><\/div>\n            <div><div class=\"card-names\">Fran &amp;<br>Jos\u00e9 Manuel<\/div><div class=\"card-date\">26 \/ 09 \/ 2026<\/div><\/div>\n            <div class=\"card-copy\">Os esperamos para vivir una noche de amor, m\u00fasica y celebraci\u00f3n.<\/div>\n            <div class=\"script\" style=\"font-size:28px;color:#15100c;\">26 septiembre<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <a class=\"scroll-cue\" href=\"#cuenta\" aria-label=\"Bajar\"><svg viewBox=\"0 0 24 24\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/a>\n  <\/header>\n\n  <main>\n    <section class=\"message paper\">\n      <div class=\"wrap\" data-reveal>\n        <p>Hay d\u00edas que se celebran una vez, pero se recuerdan toda la vida.<\/p>\n        <div class=\"ornament\"><i><\/i><\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"section count-section\" id=\"cuenta\">\n      <div class=\"grain\"><\/div>\n      <div class=\"wrap\" data-reveal>\n        <div class=\"kicker\">Cuenta atr\u00e1s<\/div>\n        <h2>Falta poco para el gran d\u00eda<\/h2>\n        <div class=\"count-grid\" aria-label=\"Cuenta atr\u00e1s hasta la boda\">\n          <div class=\"count-box\"><span class=\"count-num\" data-days>000<\/span><span class=\"count-label\">D\u00edas<\/span><\/div>\n          <div class=\"count-box\"><span class=\"count-num\" data-hours>00<\/span><span class=\"count-label\">Horas<\/span><\/div>\n          <div class=\"count-box\"><span class=\"count-num\" data-minutes>00<\/span><span class=\"count-label\">Minutos<\/span><\/div>\n          <div class=\"count-box\"><span class=\"count-num\" data-seconds>00<\/span><span class=\"count-label\">Segundos<\/span><\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"section paper\" id=\"timing\">\n      <div class=\"grain\"><\/div>\n      <div class=\"wrap\">\n        <div class=\"section-head\" data-reveal>\n          <div class=\"kicker\">Timing<\/div>\n          <h2>El gran d\u00eda<\/h2>\n        <\/div>\n        <div class=\"timeline\">\n          <div class=\"timeline-line\"><span data-line-fill><\/span><\/div>\n\n          <div class=\"tl-item\" data-timeline-item>\n            <div class=\"tl-left\"><div class=\"tl-time\">19:00 h<\/div><div class=\"tl-title\">Llegada<\/div><div class=\"tl-desc\">Os esperamos en la finca.<\/div><\/div>\n            <div class=\"tl-node\"><div class=\"tl-circle\"><svg viewBox=\"0 0 36 36\"><path d=\"M18 32s10-8.4 10-17A10 10 0 1 0 8 15c0 8.6 10 17 10 17Z\"\/><circle cx=\"18\" cy=\"15\" r=\"4\"\/><\/svg><\/div><\/div>\n            <div class=\"tl-empty\"><\/div>\n          <\/div>\n\n          <div class=\"tl-item\" data-timeline-item>\n            <div class=\"tl-empty\"><\/div>\n            <div class=\"tl-node\"><div class=\"tl-circle\"><svg viewBox=\"0 0 36 36\"><circle cx=\"14\" cy=\"16\" r=\"7\"\/><circle cx=\"22\" cy=\"16\" r=\"7\"\/><path d=\"M18 9v18\" stroke-dasharray=\"2 2\"\/><path d=\"M8 28c4 2.5 7.3 2.5 10 1 2.7 1.5 6 1.5 10-1\"\/><\/svg><\/div><\/div>\n            <div class=\"tl-right\"><div class=\"tl-time\">19:30 h<\/div><div class=\"tl-title\">Ceremonia<\/div><div class=\"tl-desc\">El momento m\u00e1s especial.<\/div><\/div>\n          <\/div>\n\n          <div class=\"tl-item\" data-timeline-item>\n            <div class=\"tl-left\"><div class=\"tl-time\">20:30 h<\/div><div class=\"tl-title\">C\u00f3ctel<\/div><div class=\"tl-desc\">Brindis, aperitivos y primeras sorpresas.<\/div><\/div>\n            <div class=\"tl-node\"><div class=\"tl-circle\"><svg viewBox=\"0 0 36 36\"><path d=\"M8 8h20L18 21 8 8Z\"\/><path d=\"M18 21v8\"\/><path d=\"M12 29h12\"\/><path d=\"M10 12h16\"\/><circle cx=\"25\" cy=\"8\" r=\"3\"\/><\/svg><\/div><\/div>\n            <div class=\"tl-empty\"><\/div>\n          <\/div>\n\n          <div class=\"tl-item\" data-timeline-item>\n            <div class=\"tl-empty\"><\/div>\n            <div class=\"tl-node\"><div class=\"tl-circle\"><svg viewBox=\"0 0 36 36\"><path d=\"M11 7v11c0 4 3 7 7 7s7-3 7-7V7\"\/><path d=\"M18 25v6\"\/><path d=\"M12 31h12\"\/><path d=\"M8 7v12\"\/><path d=\"M28 7v24\"\/><\/svg><\/div><\/div>\n            <div class=\"tl-right\"><div class=\"tl-time\">22:00 h<\/div><div class=\"tl-title\">Cena<\/div><div class=\"tl-desc\">Cena y momentos para recordar.<\/div><\/div>\n          <\/div>\n\n          <div class=\"tl-item\" data-timeline-item>\n            <div class=\"tl-left\"><div class=\"tl-time\">00:00 h<\/div><div class=\"tl-title\">Fiesta<\/div><div class=\"tl-desc\">M\u00fasica, baile y barra libre.<\/div><\/div>\n            <div class=\"tl-node\"><div class=\"tl-circle\"><svg viewBox=\"0 0 36 36\"><path d=\"M24 8v14\"\/><path d=\"M16 11v14\"\/><path d=\"M24 8l-8 3\"\/><circle cx=\"24\" cy=\"25\" r=\"4\"\/><circle cx=\"16\" cy=\"28\" r=\"4\"\/><circle cx=\"8\" cy=\"18\" r=\"2\"\/><circle cx=\"29\" cy=\"12\" r=\"1.6\"\/><\/svg><\/div><\/div>\n            <div class=\"tl-empty\"><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"section place\" id=\"lugar\">\n      <div class=\"grain\"><\/div>\n      <div class=\"wrap place-grid\">\n        <div class=\"place-card\" data-reveal=\"left\">\n          <div class=\"kicker\">C\u00f3mo llegar<\/div>\n          <h2>Finca Torre Valdeflores<\/h2>\n          <p>La boda ser\u00e1 en Finca Torre Valdeflores, en El Siscar, Santomera.<\/p>\n          <div class=\"address\">Vereda de los Caralos, 21 \u00b7 30149 Santomera \u00b7 Murcia<\/div>\n          <div style=\"margin-top:26px;\"><a class=\"btn btn-gold\" href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=Finca+Torre+Valdeflores+Vereda+de+los+Caralos+21+Santomera+Murcia\" target=\"_blank\" rel=\"noopener\">Abrir en Google Maps<\/a><\/div>\n        <\/div>\n        <div class=\"map-frame shine-on\" data-reveal=\"right\">\n          <iframe title=\"Mapa Finca Torre Valdeflores\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\" src=\"https:\/\/www.google.com\/maps?q=Finca+Torre+Valdeflores+Vereda+de+los+Caralos+21+Santomera+Murcia&amp;output=embed\"><\/iframe>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"section rsvp\" id=\"confirmar\">\n      <div class=\"wrap\">\n        <div class=\"rsvp-card shine-on\" data-reveal=\"zoom\">\n          <div class=\"kicker\">Confirmaci\u00f3n<\/div>\n          <h2>\u00bfContamos contigo?<\/h2>\n          <p>Rellena el formulario para que podamos organizarlo todo con el cari\u00f1o que mereces.<\/p>\n\n          <form class=\"fj-form\" data-rsvp-form>\n            <div class=\"fj-field\">\n              <label for=\"fj-nombre\">Tu nombre<\/label>\n              <input id=\"fj-nombre\" name=\"nombre\" type=\"text\" placeholder=\"Nombre y apellidos\" required>\n            <\/div>\n            <div class=\"fj-field\">\n              <label for=\"fj-asistencia\">Asistencia<\/label>\n              <select id=\"fj-asistencia\" name=\"asistencia\" required>\n                <option value=\"\">Selecciona una opci\u00f3n<\/option>\n                <option>S\u00ed, asistir\u00e9<\/option>\n                <option>No podr\u00e9 asistir<\/option>\n              <\/select>\n            <\/div>\n            <div class=\"fj-field full\">\n              <label for=\"fj-acompanante\">Acompa\u00f1ante<\/label>\n              <input id=\"fj-acompanante\" name=\"acompanante\" type=\"text\" placeholder=\"Nombre del acompa\u00f1ante, si vienes acompa\u00f1ado\/a\">\n            <\/div>\n            <div class=\"fj-field full\">\n              <label for=\"fj-intolerancias\">\u00bfIntolerancias a tener en cuenta?<\/label>\n              <textarea id=\"fj-intolerancias\" name=\"intolerancias\" placeholder=\"Cu\u00e9ntanos si tienes alergias, intolerancias o alguna necesidad alimentaria\"><\/textarea>\n            <\/div>\n            <div class=\"fj-field full\">\n              <label for=\"fj-mensaje\">Mensaje para los novios<\/label>\n              <textarea id=\"fj-mensaje\" name=\"mensaje\" placeholder=\"D\u00e9janos un mensaje bonito, gracioso o lo que te apetezca\"><\/textarea>\n            <\/div>\n            <div class=\"fj-submit\"><button class=\"btn btn-gold\" type=\"submit\">Enviar confirmaci\u00f3n<\/button><\/div>\n            <div class=\"fj-result\" data-rsvp-result>Gracias. Hemos recibido tu confirmaci\u00f3n y ya queda registrada en nuestra lista de invitados.<\/div>\n          <\/form>\n\n          <div class=\"post-rsvp-panel\" data-post-rsvp-panel>\n            <article class=\"post-card shine-on\" data-reveal=\"zoom\">\n              <div class=\"post-card-top\">\n                <span class=\"script\">Sorpresas<\/span>\n                <span class=\"mini-label\">para los novios<\/span>\n                <h3>\u00bfTienes algo preparado?<\/h3>\n                <p>Si tienes alguna sorpresa que darnos, puedes escribir directamente a nuestra wedding, la hermana de uno de los novios.<\/p>\n              <\/div>\n              <a class=\"btn btn-gold\" href=\"https:\/\/wa.me\/34627625421?text=Hola%2C%20tengo%20una%20sorpresa%20para%20la%20boda%20de%20Fran%20y%20Jos%C3%A9%20Manuel\" target=\"_blank\" rel=\"noopener\">Contactar por WhatsApp<\/a>\n            <\/article>\n\n            <article class=\"post-card shine-on\" data-reveal=\"zoom\">\n              <div class=\"post-card-top\">\n                <span class=\"script\">M\u00fasica<\/span>\n                <span class=\"mini-label\">banda sonora<\/span>\n                <h3>Ay\u00fadanos a ponerle banda sonora<\/h3>\n                <p>Cuando hayas enviado tu confirmaci\u00f3n, puedes a\u00f1adir una canci\u00f3n a nuestra playlist para que tambi\u00e9n suene un poquito a ti durante la celebraci\u00f3n.<\/p>\n              <\/div>\n              <a class=\"btn btn-ghost\" href=\"https:\/\/open.spotify.com\/playlist\/4p9BH6ksDI16PFAb70PlQm?si=d1aba375918d401f&amp;pt=87cb13a759db62a3483182542280da6e\" target=\"_blank\" rel=\"noopener\">A\u00f1adir canci\u00f3n en Spotify<\/a>\n            <\/article>\n\n            <article class=\"post-card shine-on\" data-reveal=\"zoom\">\n              <div class=\"post-card-top\">\n                <span class=\"script\">Regalo<\/span>\n                <span class=\"mini-label\">con todo nuestro cari\u00f1o<\/span>\n                <h3>Si quer\u00e9is tener un detalle<\/h3>\n                <p>Vuestro mejor regalo es acompa\u00f1arnos. Pero si adem\u00e1s quer\u00e9is ayudarnos a empezar esta nueva etapa, os dejamos el n\u00famero de cuenta.<\/p>\n              <\/div>\n              <div class=\"post-iban\">\n                <span class=\"iban-code\" id=\"fjw-iban\">ES81 3058 0990 2427 6567 7886<\/span>\n                <button class=\"btn btn-gold\" type=\"button\" data-copy-iban>Copiar n\u00famero de cuenta<\/button>\n                <div class=\"copy-note\" data-copy-note>N\u00famero de cuenta copiado.<\/div>\n              <\/div>\n            <\/article>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n  <\/main>\n\n  <footer>\n    <div class=\"wrap\" data-reveal>\n      <span class=\"script\">nos vemos en la pista<\/span>\n      <h2>Fran &amp; Jos\u00e9 Manuel<\/h2>\n    <\/div>\n  <\/footer>\n\n  <script>\n    (function(){\n      var root=document.getElementById('fjw-v6');\n      if(!root) return;\n\n      var intro=root.querySelector('[data-intro]');\n      var openBtn=root.querySelector('[data-open-invitation]');\n      function openInvitation(){\n        if(intro) intro.classList.add('is-open');\n        var audioEl=root.querySelector('[data-fjw-audio]');\n        if(audioEl){\n          audioEl.volume=.72;\n          var playPromise=audioEl.play();\n          if(playPromise && typeof playPromise.catch==='function'){ playPromise.catch(function(){}); }\n        }\n        burst(window.innerWidth\/2, window.innerHeight\/2, 46);\n      }\n      if(openBtn) openBtn.addEventListener('click', openInvitation);\n\n      var canvas=root.querySelector('.sparkle-canvas');\n      var ctx=canvas.getContext('2d');\n      var w=0,h=0,dpr=1,scrollY=window.scrollY||0,lastScroll=scrollY;\n      var particles=[];\n      var mouse={x:null,y:null,active:false};\n      var prefersReduced=window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n      var isTouch=window.matchMedia('(hover: none), (pointer: coarse)').matches;\n\n      function resize(){\n        dpr=Math.min(window.devicePixelRatio||1,2);\n        w=window.innerWidth; h=window.innerHeight;\n        canvas.width=Math.round(w*dpr); canvas.height=Math.round(h*dpr);\n        canvas.style.width=w+'px'; canvas.style.height=h+'px';\n        ctx.setTransform(dpr,0,0,dpr,0,0);\n      }\n      resize(); window.addEventListener('resize', resize, {passive:true});\n\n      function rnd(a,b){ return a+Math.random()*(b-a); }\n      function addParticle(x,y,force,opts){\n        opts=opts||{};\n        var size=rnd(opts.minSize||.9, opts.maxSize||(force?3.1:2.2));\n        var life=rnd(opts.minLife||95, opts.maxLife||(force?160:145));\n        particles.push({\n          x:x, y:y,\n          ox:x, oy:y,\n          vx:(opts.vx!==undefined?opts.vx:rnd(-.20,.20))*(force?4.8:1),\n          vy:(opts.vy!==undefined?opts.vy:rnd(-.34,.10))*(force?4.2:1)-.08,\n          life:life,\n          max:life,\n          size:size,\n          rot:rnd(0,Math.PI),\n          vr:rnd(-.03,.03),\n          alpha:rnd(.34,.92),\n          type:opts.type || (Math.random()>.60?'diamond':'dot'),\n          hue:opts.hue || (Math.random()>.42?'gold':'cream'),\n          wave:rnd(.003,.012),\n          drift:rnd(.04,.22)\n        });\n        if(particles.length>(isTouch?230:260)) particles.splice(0,particles.length-(isTouch?230:260));\n      }\n      function burst(x,y,n){\n        if(prefersReduced) return;\n        for(var i=0;i<n;i++) addParticle(x+rnd(-34,34), y+rnd(-22,22), true, {minSize:1.1, maxSize:3.4, minLife:90, maxLife:170});\n      }\n      window.fjwBurst=burst;\n\n      function ambientEmit(){\n        if(prefersReduced) return;\n        var zones=[\n          {x:w*.16,y:h*.34,spread:w*.16},\n          {x:w*.84,y:h*.26,spread:w*.18},\n          {x:w*.52,y:h*.84,spread:w*.36}\n        ];\n        var z=zones[Math.floor(Math.random()*zones.length)];\n        addParticle(z.x+rnd(-z.spread,z.spread), z.y+rnd(-h*.08,h*.08), false, {\n          vx:rnd(-.10,.10), vy:rnd(-.46,-.08), minSize:.9, maxSize:isTouch?2.6:2.25, minLife:120, maxLife:210,\n          type:Math.random()>.72?'diamond':'dot'\n        });\n      }\n      function shootingStar(){\n        if(prefersReduced) return;\n        var startX=rnd(w*.12,w*.88), startY=rnd(h*.05,h*.42);\n        for(var i=0;i<12;i++){\n          addParticle(startX-i*10, startY+i*5, false, {vx:rnd(1.4,2.8), vy:rnd(-.15,.28), minSize:.7, maxSize:1.8, minLife:32+i*3, maxLife:54+i*4, type:'dot', hue:'gold'});\n        }\n      }\n\n      function drawParticle(p){\n        var t=p.life\/p.max;\n        var a=Math.sin(t*Math.PI)*p.alpha;\n        if(a<=0) return;\n        ctx.save();\n        ctx.globalAlpha=a;\n        ctx.translate(p.x,p.y);\n        ctx.rotate(p.rot);\n        var color=p.hue==='gold'?'232,199,106':'255,247,234';\n        ctx.shadowColor='rgba('+color+','+(a*.78)+')';\n        ctx.shadowBlur=p.type==='diamond'?12:16;\n        if(p.type==='diamond'){\n          ctx.fillStyle='rgba('+color+','+a+')';\n          ctx.beginPath();\n          ctx.moveTo(0,-p.size*1.75); ctx.lineTo(p.size*1.25,0); ctx.lineTo(0,p.size*1.75); ctx.lineTo(-p.size*1.25,0); ctx.closePath(); ctx.fill();\n        } else {\n          var g=ctx.createRadialGradient(0,0,0,0,0,p.size*3.4);\n          g.addColorStop(0,'rgba('+color+','+a+')');\n          g.addColorStop(.38,'rgba('+color+','+(a*.36)+')');\n          g.addColorStop(1,'rgba('+color+',0)');\n          ctx.fillStyle=g;\n          ctx.beginPath(); ctx.arc(0,0,p.size*3.4,0,Math.PI*2); ctx.fill();\n        }\n        ctx.restore();\n      }\n      var frame=0;\n      function animate(){\n        if(prefersReduced) return;\n        ctx.clearRect(0,0,w,h);\n        frame++;\n        var scrollDelta=(scrollY-lastScroll)*0.009;\n        lastScroll += (scrollY-lastScroll)*0.08;\n        var ambientRate=isTouch?3:5;\n        if(frame%ambientRate===0 && particles.length<(isTouch?210:230)) ambientEmit();\n        if(frame%(isTouch?150:190)===0) shootingStar();\n        for(var i=particles.length-1;i>=0;i--){\n          var p=particles[i];\n          p.x += p.vx + Math.sin((frame+p.oy)*p.wave)*p.drift;\n          p.y += p.vy - .10 - scrollDelta;\n          p.rot += p.vr;\n          p.life -= 1;\n          if(mouse.active){\n            var dx=p.x-mouse.x, dy=p.y-mouse.y, dist=Math.sqrt(dx*dx+dy*dy)||1;\n            if(dist<105){ p.x += dx\/dist*.22; p.y += dy\/dist*.22; }\n          }\n          drawParticle(p);\n          if(p.life<=0 || p.y<-90 || p.x<-100 || p.x>w+100) particles.splice(i,1);\n        }\n        requestAnimationFrame(animate);\n      }\n      if(!prefersReduced) {\n        for(var seed=0;seed<(isTouch?95:80);seed++) ambientEmit();\n        requestAnimationFrame(animate);\n      }\n      window.addEventListener('scroll', function(){ scrollY=window.scrollY||0; }, {passive:true});\n      window.addEventListener('mousemove', function(e){ mouse.x=e.clientX; mouse.y=e.clientY; mouse.active=true; if(Math.random()>.78) addParticle(e.clientX+rnd(-8,8),e.clientY+rnd(-8,8),false); }, {passive:true});\n      window.addEventListener('touchmove', function(e){ if(!e.touches||!e.touches[0]) return; var t=e.touches[0]; mouse.x=t.clientX; mouse.y=t.clientY; mouse.active=true; if(Math.random()>.80) addParticle(t.clientX+rnd(-10,10),t.clientY+rnd(-10,10),false,{minSize:1,maxSize:2.7}); }, {passive:true});\n      window.addEventListener('mouseleave', function(){ mouse.active=false; }, {passive:true});\n      window.addEventListener('touchend', function(){ mouse.active=false; }, {passive:true});\n\n      var reveals=root.querySelectorAll('[data-reveal], .tl-item');\n      var obs=new IntersectionObserver(function(entries){\n        entries.forEach(function(entry){\n          if(!entry.isIntersecting) return;\n          entry.target.classList.add('is-visible');\n          var r=entry.target.getBoundingClientRect();\n          if(entry.target.classList.contains('shine-on') || entry.target.classList.contains('tl-item')) burst(r.left+r.width\/2, Math.max(80,r.top+r.height*.35), entry.target.classList.contains('tl-item')?12:20);\n          obs.unobserve(entry.target);\n        });\n      }, {threshold:.22, rootMargin:'0px 0px -8% 0px'});\n      reveals.forEach(function(el){ obs.observe(el); });\n\n      var parallax=root.querySelectorAll('[data-parallax]');\n      function rafParallax(){\n        parallax.forEach(function(el){\n          var speed=parseFloat(el.getAttribute('data-parallax')||'0.1');\n          el.style.transform='scale(1.055) translateY('+(scrollY*speed)+'px)';\n        });\n        requestAnimationFrame(rafParallax);\n      }\n      if(!prefersReduced) requestAnimationFrame(rafParallax);\n\n      var lineFill=root.querySelector('[data-line-fill]');\n      var timeline=root.querySelector('.timeline');\n      function updateLine(){\n        if(!lineFill || !timeline) return;\n        var rect=timeline.getBoundingClientRect();\n        var progress=(window.innerHeight*.58-rect.top)\/Math.max(1,rect.height);\n        progress=Math.max(0,Math.min(1,progress));\n        lineFill.style.height=(progress*100)+'%';\n      }\n      updateLine(); window.addEventListener('scroll', updateLine, {passive:true}); window.addEventListener('resize', updateLine, {passive:true});\n\n      var target=new Date('2026-09-26T19:00:00+02:00').getTime();\n      var nums={days:root.querySelector('[data-days]'),hours:root.querySelector('[data-hours]'),minutes:root.querySelector('[data-minutes]'),seconds:root.querySelector('[data-seconds]')};\n      var prev={};\n      function pad(n,l){ return String(n).padStart(l,'0'); }\n      function setNum(key,val){ var el=nums[key]; if(!el) return; if(prev[key]!==val){ el.textContent=val; var box=el.closest('.count-box'); if(box && prev[key]){ box.classList.remove('bump'); void box.offsetWidth; box.classList.add('bump'); setTimeout(function(){box.classList.remove('bump');},260); } prev[key]=val; }}\n      function tick(){\n        var diff=Math.max(0,target-Date.now());\n        var d=Math.floor(diff\/86400000); diff-=d*86400000;\n        var ho=Math.floor(diff\/3600000); diff-=ho*3600000;\n        var m=Math.floor(diff\/60000); diff-=m*60000;\n        var s=Math.floor(diff\/1000);\n        setNum('days',pad(d,3)); setNum('hours',pad(ho,2)); setNum('minutes',pad(m,2)); setNum('seconds',pad(s,2));\n      }\n      tick(); setInterval(tick,1000);\n\n\n\n      var RSVP_JSON_URL = 'https:\/\/bodafranyjose.com\/wp-content\/uploads\/invitados\/invitados.json';\n      var RSVP_SAVE_URL = 'https:\/\/bodafranyjose.com\/wp-content\/uploads\/invitados\/guardar.php?key=bodafest2025KEY';\n\n      function normText(v){\n        return String(v||'').normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'').trim().toLowerCase();\n      }\n      function getFormValue(form, name){\n        var el=form.querySelector('[name=\"'+name+'\"]');\n        return el ? String(el.value||'').trim() : '';\n      }\n      async function fetchInvitados(){\n        try{\n          var res=await fetch(RSVP_JSON_URL+'?v='+Date.now(), {cache:'no-store'});\n          var data=await res.json();\n          return Array.isArray(data) ? data : [];\n        }catch(err){\n          return [];\n        }\n      }\n      async function saveInvitados(lista){\n        var res=await fetch(RSVP_SAVE_URL, {\n          method:'POST',\n          headers:{'Content-Type':'application\/json'},\n          body:JSON.stringify(lista)\n        });\n        if(!res.ok) throw new Error('Error HTTP '+res.status);\n        return res;\n      }\n      root.querySelectorAll('[data-rsvp-form]').forEach(function(form){\n        form.addEventListener('submit', async function(e){\n          e.preventDefault();\n          var result=form.querySelector('[data-rsvp-result]');\n          if(result){\n            result.className='fj-result is-loading';\n            result.textContent='Guardando tu confirmaci\u00f3n...';\n          }\n          try{\n            var nombre=getFormValue(form,'nombre');\n            var asistencia=getFormValue(form,'asistencia');\n            var acomp=getFormValue(form,'acompanante');\n            var intolerancias=getFormValue(form,'intolerancias');\n            var mensaje=getFormValue(form,'mensaje');\n            if(!nombre || !asistencia) throw new Error('Faltan campos obligatorios');\n            var viene=\/^s[i\u00ed]\/i.test(asistencia);\n            var notas=[];\n            notas.push('Asistencia: '+asistencia);\n            if(intolerancias) notas.push('Intolerancias: '+intolerancias);\n            if(mensaje) notas.push('Mensaje: '+mensaje);\n            var nuevo={\n              nombre:nombre,\n              confirmado:viene,\n              respondido:true,\n              noAsiste:!viene,\n              asistencia:asistencia,\n              acompanante:Boolean(viene && acomp),\n              acompananteNombre:viene ? acomp : '',\n              intolerancias:intolerancias,\n              mensaje:mensaje,\n              notas:notas.join(' | '),\n              origen:'formulario-web-boda',\n              fechaRespuesta:new Date().toISOString()\n            };\n            var lista=await fetchInvitados();\n            var n=normText(nombre);\n            var idx=lista.findIndex(function(inv){ return normText(inv && inv.nombre)===n; });\n            if(idx>=0){ lista[idx]=Object.assign({}, lista[idx], nuevo); }\n            else { lista.push(nuevo); }\n            await saveInvitados(lista);\n            form.reset();\n            if(result){\n              result.className='fj-result is-visible';\n              result.textContent='Gracias. Hemos recibido tu confirmaci\u00f3n y ya queda registrada en nuestra lista de invitados.';\n              var card=form.closest('.rsvp-card');\n              if(card) card.classList.add('is-submitted');\n              var panel=root.querySelector('[data-post-rsvp-panel]');\n              setTimeout(function(){\n                if(panel) panel.scrollIntoView({behavior:'smooth',block:'nearest'});\n                else result.scrollIntoView({behavior:'smooth',block:'center'});\n              }, 450);\n            }\n            if(typeof burst==='function') burst(window.innerWidth\/2, window.innerHeight*.55, 34);\n          }catch(err){\n            if(result){\n              result.className='fj-result is-error';\n              result.textContent='No se ha podido guardar la confirmaci\u00f3n. Prueba de nuevo o escr\u00edbenos por WhatsApp.';\n              result.scrollIntoView({behavior:'smooth',block:'center'});\n            }\n            console.error('Error guardando RSVP:', err);\n          }\n        });\n      });\n\n      root.querySelectorAll('[data-copy-iban]').forEach(function(btn){\n        btn.addEventListener('click', async function(){\n          var ibanEl=root.querySelector('#fjw-iban');\n          var note=root.querySelector('[data-copy-note]');\n          var value=ibanEl ? ibanEl.textContent.trim() : 'ES81 3058 0990 2427 6567 7886';\n          try{\n            if(navigator.clipboard && navigator.clipboard.writeText){ await navigator.clipboard.writeText(value); }\n            else {\n              var input=document.createElement('input'); input.value=value; document.body.appendChild(input); input.select(); document.execCommand('copy'); input.remove();\n            }\n            if(note){ note.classList.add('is-visible'); setTimeout(function(){note.classList.remove('is-visible');},2600); }\n            if(typeof burst==='function') burst(window.innerWidth\/2, window.innerHeight*.55, 18);\n          }catch(err){\n            if(note){ note.textContent='Copia manualmente el n\u00famero de cuenta.'; note.classList.add('is-visible'); }\n          }\n        });\n      });\n\n      root.querySelectorAll('a[href^=\"#\"]').forEach(function(a){\n        a.addEventListener('click', function(e){\n          var targetEl=root.querySelector(a.getAttribute('href'));\n          if(targetEl){ e.preventDefault(); targetEl.scrollIntoView({behavior:'smooth',block:'start'}); }\n        });\n      });\n    })();\n  <\/script>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>F&nbsp;&amp;&nbsp;J 26 \u00b7 09 \u00b7 2026 Toca el sello para abrir la invitaci\u00f3n 26 \u00b7 09 \u00b7 2026Finca Torre ValdefloresNos casamos Fran &amp;Jos\u00e9 Manuel Nos casamos. Una noche elegante, con mucho brillo y muchas ganas de celebrarlo con vosotros. Ver timing C\u00f3mo llegar \u00a1Nos casamos! celebr\u00e9mosloFran &amp;Jos\u00e9 Manuel la noche se pone seria\u2026brillo \u00b7 amor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-1144","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Elementor #1144 -<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elementor #1144 -\" \/>\n<meta property=\"og:description\" content=\"F&nbsp;&amp;&nbsp;J 26 \u00b7 09 \u00b7 2026 Toca el sello para abrir la invitaci\u00f3n 26 \u00b7 09 \u00b7 2026Finca Torre ValdefloresNos casamos Fran &amp;Jos\u00e9 Manuel Nos casamos. Una noche elegante, con mucho brillo y muchas ganas de celebrarlo con vosotros. Ver timing C\u00f3mo llegar \u00a1Nos casamos! celebr\u00e9mosloFran &amp;Jos\u00e9 Manuel la noche se pone seria\u2026brillo \u00b7 amor [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bodafranyjose.com\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-17T18:19:38+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bodafranyjose.com\\\/\",\"url\":\"https:\\\/\\\/bodafranyjose.com\\\/\",\"name\":\"Elementor #1144 -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bodafranyjose.com\\\/#website\"},\"datePublished\":\"2026-06-17T17:02:15+00:00\",\"dateModified\":\"2026-06-17T18:19:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bodafranyjose.com\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bodafranyjose.com\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bodafranyjose.com\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/bodafranyjose.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Elementor #1144\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bodafranyjose.com\\\/#website\",\"url\":\"https:\\\/\\\/bodafranyjose.com\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bodafranyjose.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Elementor #1144 -","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Elementor #1144 -","og_description":"F&nbsp;&amp;&nbsp;J 26 \u00b7 09 \u00b7 2026 Toca el sello para abrir la invitaci\u00f3n 26 \u00b7 09 \u00b7 2026Finca Torre ValdefloresNos casamos Fran &amp;Jos\u00e9 Manuel Nos casamos. Una noche elegante, con mucho brillo y muchas ganas de celebrarlo con vosotros. Ver timing C\u00f3mo llegar \u00a1Nos casamos! celebr\u00e9mosloFran &amp;Jos\u00e9 Manuel la noche se pone seria\u2026brillo \u00b7 amor [&hellip;]","og_url":"https:\/\/bodafranyjose.com\/","article_modified_time":"2026-06-17T18:19:38+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bodafranyjose.com\/","url":"https:\/\/bodafranyjose.com\/","name":"Elementor #1144 -","isPartOf":{"@id":"https:\/\/bodafranyjose.com\/#website"},"datePublished":"2026-06-17T17:02:15+00:00","dateModified":"2026-06-17T18:19:38+00:00","breadcrumb":{"@id":"https:\/\/bodafranyjose.com\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bodafranyjose.com\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/bodafranyjose.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/bodafranyjose.com\/"},{"@type":"ListItem","position":2,"name":"Elementor #1144"}]},{"@type":"WebSite","@id":"https:\/\/bodafranyjose.com\/#website","url":"https:\/\/bodafranyjose.com\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bodafranyjose.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"}]}},"_links":{"self":[{"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/pages\/1144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/comments?post=1144"}],"version-history":[{"count":25,"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/pages\/1144\/revisions"}],"predecessor-version":[{"id":1195,"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/pages\/1144\/revisions\/1195"}],"wp:attachment":[{"href":"https:\/\/bodafranyjose.com\/index.php\/wp-json\/wp\/v2\/media?parent=1144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}