:root{--plum:#2d0c3b;--plum2:#52225f;--rose:#d95370;--gold:#c89235;--cream:#fffaf5;--ink:#2b1532;--muted:#725f77;--glass:rgba(255,255,255,.82);--line:rgba(74,31,83,.15);--shadow:0 22px 70px rgba(40,11,48,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbf4f8;color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}button,input,select{font:inherit}.hidden{display:none!important}button{touch-action:manipulation}
.index-hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;background:#fff8ef}.index-collage,.index-shade{position:absolute;inset:0;width:100%;height:100%}.index-collage{object-fit:cover;object-position:center}.index-shade{background:linear-gradient(90deg,rgba(255,252,246,.54) 0%,rgba(255,249,240,.22) 34%,rgba(255,255,255,0) 55%)}.index-content{position:relative;z-index:2;width:min(560px,88vw);margin-left:clamp(24px,6vw,96px);padding:42px 0;color:var(--plum)}.official-logo{width:clamp(155px,17vw,225px);height:auto;display:block;margin-bottom:22px;filter:drop-shadow(0 10px 18px rgba(52,14,61,.1))}.index-kicker{max-width:510px;color:#a56d20;font-weight:700;letter-spacing:.018em}.index-content h1{font-family:"Playfair Display",serif;font-size:clamp(40px,5.2vw,70px);line-height:1.02;margin:15px 0}.index-intro{max-width:500px;line-height:1.65;color:#59485f}.entry-actions{display:grid;gap:12px;margin-top:26px;max-width:500px}.entry-button{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;border:1px solid rgba(75,27,84,.16);border-radius:18px;padding:16px 18px;text-align:left;color:var(--plum);background:rgba(255,255,255,.78);backdrop-filter:blur(14px);cursor:pointer;box-shadow:0 10px 28px rgba(60,24,61,.09);transition:.25s}.entry-button:hover{transform:translateY(-2px);background:#fff;border-color:rgba(211,75,104,.36)}.entry-button.primary{background:linear-gradient(135deg,#d75470,#bd455f);color:#fff;border-color:transparent}.entry-button strong,.entry-button small{display:block}.entry-button strong{font-size:16px}.entry-button small{margin-top:3px;color:#725f77}.entry-button.primary small{color:rgba(255,255,255,.82)}.prototype-note{display:block;margin-top:17px;color:#78667c}
.living-phrase{position:relative;isolation:isolate;display:grid;gap:3px;width:max-content;max-width:100%;margin:0 0 17px;padding:5px 1px 8px;font-family:"Playfair Display",serif;line-height:1.18}.phrase-line{display:block;opacity:0;filter:blur(9px);transform:translateY(18px) scale(.985);will-change:opacity,filter,transform}.phrase-first{color:#7e5a2b;font-size:clamp(17px,1.55vw,23px);animation:phrase-awaken 1.35s cubic-bezier(.2,.72,.2,1) .28s forwards}.phrase-second{color:var(--plum);font-size:clamp(20px,1.85vw,28px);font-weight:700;animation:phrase-awaken 1.55s cubic-bezier(.2,.72,.2,1) 1.05s forwards}.phrase-glow{position:absolute;z-index:-1;left:-8%;bottom:0;width:108%;height:56%;border-radius:50%;background:radial-gradient(ellipse,rgba(238,178,91,.27),rgba(225,115,136,.1) 48%,transparent 72%);opacity:0;filter:blur(15px);transform:scaleX(.55);animation:phrase-light 2s ease 1.15s forwards}@keyframes phrase-awaken{0%{opacity:0;filter:blur(9px);transform:translateY(18px) scale(.985)}65%{opacity:1;filter:blur(.5px)}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@keyframes phrase-light{0%{opacity:0;transform:scaleX(.55)}55%{opacity:.9}100%{opacity:.48;transform:scaleX(1)}}
/* v7: frase protagonista, palabra por palabra */
.living-phrase{gap:7px;width:min(620px,100%);margin-bottom:22px;line-height:1.08}
.phrase-line{display:flex;flex-wrap:wrap;column-gap:.25em;row-gap:.05em;opacity:1;filter:none;transform:none;animation:none}
.phrase-first{font-size:clamp(27px,2.45vw,38px);font-weight:600;color:#805521}
.phrase-second{font-size:clamp(34px,3.15vw,50px);font-weight:700;color:var(--plum)}
.phrase-word{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(20px) scale(.975);animation:word-awaken 1.3s cubic-bezier(.2,.72,.2,1) calc(.55s + var(--word)*.39s) forwards;will-change:opacity,filter,transform}
.phrase-glow{animation:phrase-light 2.4s ease 3.25s forwards}
.index-content h1{font-size:clamp(30px,3.6vw,47px);line-height:1.08;margin-top:18px}
@keyframes word-awaken{0%{opacity:0;filter:blur(10px);transform:translateY(20px) scale(.975)}70%{opacity:1;filter:blur(.7px)}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@media(max-width:760px){.phrase-first{font-size:clamp(24px,7vw,32px)}.phrase-second{font-size:clamp(29px,8.5vw,40px)}.index-content h1{font-size:clamp(27px,8vw,38px)}}
/* v8: aparición onírica y nuevo remate emocional */
.living-phrase{gap:9px;width:min(680px,100%);padding:14px 4px 18px;margin-left:-4px;overflow:visible}
.phrase-first{font-size:clamp(25px,2.2vw,35px);font-weight:500;color:#8b6740}
.phrase-second{align-items:baseline;font-size:clamp(31px,2.75vw,44px);font-weight:600;color:#4c2a57}
.phrase-emphasis{display:inline-flex;align-items:baseline;gap:.18em;white-space:nowrap;font-size:clamp(42px,4vw,64px);font-weight:700;line-height:.92;letter-spacing:.015em;color:#381244;text-shadow:0 8px 30px rgba(183,91,128,.16)}
.phrase-word{opacity:0;filter:blur(20px);transform:translate3d(calc((var(--word) - 4)*1px),12px,0) scale(.9);animation:dream-word 1.85s cubic-bezier(.16,.72,.24,1) calc(.5s + var(--word)*.43s) forwards}
.phrase-glow{height:70%;bottom:-4%;filter:blur(22px);animation:dream-glow 3.3s ease 2.65s forwards}
.phrase-mist{position:absolute;z-index:-1;left:-12%;top:12%;width:118%;height:82%;border-radius:50%;background:radial-gradient(ellipse at 48% 55%,rgba(255,255,255,.78),rgba(246,207,181,.24) 38%,rgba(225,153,189,.11) 58%,transparent 75%);opacity:0;filter:blur(24px);transform:translate3d(-3%,7px,0) scale(.88);animation:dream-mist 5.8s ease .15s forwards}
.index-content h1{font-size:clamp(24px,2.75vw,36px);font-weight:600;color:#806f85;letter-spacing:-.018em;margin-top:13px}
@keyframes dream-word{0%{opacity:0;filter:blur(20px);transform:translate3d(-5px,12px,0) scale(.9)}38%{opacity:.38;filter:blur(12px);transform:translate3d(3px,-2px,0) scale(1.025)}72%{opacity:.88;filter:blur(3px);transform:translate3d(-1px,1px,0) scale(.995)}100%{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}}
@keyframes dream-glow{0%{opacity:0;transform:scale(.68)}48%{opacity:.78;transform:scale(1.05)}100%{opacity:.38;transform:scale(1)}}
@keyframes dream-mist{0%{opacity:0;transform:translate3d(-3%,7px,0) scale(.88)}30%{opacity:.72}66%{opacity:.34;transform:translate3d(4%,-4px,0) scale(1.05)}100%{opacity:.08;transform:translate3d(7%,-8px,0) scale(1.12)}}
@media(max-width:760px){.living-phrase{gap:7px}.phrase-first{font-size:clamp(22px,6.4vw,29px)}.phrase-second{font-size:clamp(27px,7.8vw,36px)}.phrase-emphasis{font-size:clamp(35px,10.5vw,49px);gap:.14em}.index-content h1{font-size:clamp(22px,6.7vw,30px);color:#847589}}
/* v9: composición aprobada, centrada, con puertas de historia */
.index-hero{min-height:100svh;place-items:center;background:#fff7ef}
.index-collage{object-position:center center}
.index-shade{background:radial-gradient(ellipse at center,rgba(255,250,241,.2) 0%,rgba(255,250,241,.06) 48%,transparent 72%)}
.index-content{display:flex;flex-direction:column;align-items:center;width:min(1040px,92vw);margin:0 auto;padding:28px 0 24px;text-align:center;color:var(--plum)}
.official-logo{width:clamp(118px,10vw,158px);margin:0 auto 12px;filter:drop-shadow(0 10px 20px rgba(52,14,61,.1))}
.living-phrase{justify-items:center;width:min(760px,100%);margin:0 auto 13px;padding:4px 0 12px}
.phrase-line{justify-content:center;width:100%}
.phrase-first{font-size:clamp(24px,2vw,33px)}
.phrase-second{font-size:clamp(29px,2.5vw,40px)}
.phrase-emphasis{font-size:clamp(43px,4.4vw,70px);color:#c15b6c}
.phrase-mist{left:0;width:100%}
.index-content h1{font-size:clamp(22px,2vw,31px);margin:5px 0 7px;color:#4b2856;font-weight:600}
.index-intro{max-width:600px;margin:0 auto;color:#6e5d70;font-size:clamp(14px,1.2vw,17px)}
.entry-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(940px,100%);max-width:none;margin:24px auto 0}
.entry-button{position:relative;isolation:isolate;grid-template-columns:72px 1fr 22px;min-height:126px;gap:18px;padding:22px 27px;border:1px solid rgba(201,145,56,.5);border-radius:34px 52px 30px 48px/40px 30px 46px 34px;background:rgba(255,252,247,.82);color:var(--plum);box-shadow:0 15px 42px rgba(76,30,68,.1),inset 0 0 25px rgba(255,255,255,.75);backdrop-filter:blur(14px);overflow:hidden}
.entry-button:before{content:"";position:absolute;z-index:-1;inset:-1px;border-radius:inherit;background:radial-gradient(circle at 16% 50%,rgba(245,194,111,.18),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.55),transparent 55%)}
.entry-button:after{content:"→";align-self:center;color:#ce6575;font-size:28px;font-weight:400;grid-column:3;grid-row:1}
.entry-button>span:first-child{display:grid;place-items:center;grid-column:1;grid-row:1;width:68px;height:68px;border:1px solid rgba(198,139,49,.62);border-radius:50%;background:rgba(255,253,248,.8);box-shadow:0 8px 20px rgba(106,62,78,.12),inset 0 0 0 7px rgba(255,247,236,.72);font-size:27px}
.entry-button>span:nth-child(2){grid-column:2;grid-row:1;align-self:center;text-align:left}
.entry-button strong{font-family:"Playfair Display",serif;font-size:clamp(18px,1.45vw,23px);line-height:1.14}
.entry-button small{margin-top:7px;color:#736474;font-size:13px}
.entry-button.primary{border-color:rgba(218,86,115,.58);background:rgba(255,249,248,.84);color:var(--plum);box-shadow:0 16px 45px rgba(183,69,101,.13),inset 0 0 28px rgba(255,255,255,.82)}
.entry-button.primary:before{background:radial-gradient(circle at 17% 50%,rgba(232,116,142,.2),transparent 31%),linear-gradient(120deg,rgba(255,255,255,.68),transparent 58%)}
.entry-button.primary small{color:#736474}
.entry-button:hover{transform:translateY(-4px) scale(1.008);background:rgba(255,255,255,.93);box-shadow:0 20px 52px rgba(80,32,71,.16)}
.entry-button:focus-visible{outline:3px solid rgba(90,31,99,.3);outline-offset:4px}
.prototype-note{margin-top:18px;color:#7d6c78;background:rgba(255,252,248,.45);padding:6px 12px;border-radius:99px}
@media(max-width:820px){.index-hero{min-height:100svh}.index-collage{object-position:center}.index-shade{background:rgba(255,249,241,.6)}.index-content{width:min(92vw,650px);padding:25px 0}.official-logo{width:112px}.entry-actions{grid-template-columns:1fr;gap:12px;margin-top:19px}.entry-button{min-height:100px;grid-template-columns:58px 1fr 18px;padding:15px 18px}.entry-button>span:first-child{width:54px;height:54px;font-size:22px}.entry-button strong{font-size:18px}.entry-button small{font-size:12px}.prototype-note{font-size:10px}.phrase-emphasis{font-size:clamp(34px,10vw,52px)}}
.story-page{min-height:100vh;background:#f7edf4}.story-topbar{position:relative;z-index:20;height:78px;display:flex;align-items:center;justify-content:space-between;padding:8px clamp(18px,5vw,70px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}.mini-brand{border:0;background:transparent;display:flex;align-items:center;gap:13px;color:var(--plum);font-family:"Playfair Display",serif;font-size:17px;cursor:pointer}.mini-brand img{width:54px;height:54px;object-fit:contain}.quiet-exit{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:10px 14px}.story-canvas{position:relative;height:1560px;overflow:hidden;transition:height .7s ease}.visual-world{position:absolute;inset:0 0 auto;height:5700px;overflow:hidden;background:linear-gradient(#fff7f2,#f6eaf4)}.neutral-base{position:absolute;inset:0;background:radial-gradient(circle at 70% 10%,rgba(248,199,151,.35),transparent 25%),linear-gradient(160deg,#fffaf6,#f8edf6)}.visual-layer{position:absolute;display:block;opacity:0;transition:opacity .8s ease;pointer-events:none}.visual-layer.visible{opacity:1}.relation-background{inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.9)}.age-silhouette{z-index:2;top:760px;right:clamp(-80px,2vw,60px);width:min(57vw,720px);height:1900px;object-fit:contain;object-position:center top;filter:drop-shadow(0 24px 34px rgba(49,20,48,.15));opacity:0}.age-silhouette.visible{opacity:.63}.motive-layer{z-index:3;top:1320px;left:0;width:100%;height:2300px;object-fit:cover;mix-blend-mode:soft-light}.motive-layer.visible{opacity:.38}.emotion-layer{z-index:4;top:2050px;left:0;width:100%;height:2000px;object-fit:cover;mix-blend-mode:screen}.emotion-layer.visible{opacity:.42}.world-light{position:absolute;z-index:5;inset:0;background:linear-gradient(90deg,rgba(255,251,249,.22),rgba(255,255,255,.03)),linear-gradient(180deg,transparent 70%,rgba(255,249,250,.5));pointer-events:none}
.story-flow{position:relative;z-index:10;width:min(1120px,92vw);margin:auto}.story-opening{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px}.story-opening img{width:clamp(120px,16vw,190px);height:auto;mix-blend-mode:multiply}.story-opening>span{margin-top:13px;color:var(--rose);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.story-opening h2{font-family:"Playfair Display",serif;font-size:clamp(35px,5vw,61px);max-width:800px;line-height:1.08;margin:18px auto 14px}.story-opening p{color:var(--muted);font-size:17px}.story-question{min-height:690px;display:flex;align-items:center;padding:55px 0;opacity:0;visibility:hidden;transform:translateY(24px);transition:.65s ease}.story-question.revealed{opacity:1;visibility:visible;transform:none}.question-card{width:min(780px,100%);margin:0 auto;padding:clamp(24px,4vw,48px);border:1px solid rgba(255,255,255,.78);border-radius:30px;background:var(--glass);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.narrow-card{width:min(620px,100%)}.gentle-lead{margin:0 0 8px;color:var(--rose);font-size:13px;font-weight:700;letter-spacing:.045em}.question-card h2{font-family:"Playfair Display",serif;font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 23px}.question-help{margin:-13px 0 22px;color:var(--muted)}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.option{min-height:76px;border:1px solid var(--line);border-radius:16px;padding:13px 11px;background:rgba(255,255,255,.82);color:var(--ink);text-align:left;cursor:pointer;transition:.2s}.option:hover{transform:translateY(-2px);border-color:rgba(215,74,105,.5);box-shadow:0 9px 22px rgba(61,20,63,.08)}.option.selected{border:2px solid var(--rose);background:#fff1f3}.option:disabled{cursor:not-allowed;opacity:.43;filter:grayscale(.55);transform:none;box-shadow:none}.option-icon{display:block;font-size:22px;margin-bottom:5px}.option strong{font-size:14px}.option small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.age-options .option{text-align:center;min-height:62px}.recommended:after{content:"Sugerida";display:block;font-size:10px;color:var(--rose);margin-top:4px}.question-card label{display:block;font-weight:700;font-size:13px;margin:0 0 8px}.question-card select,.question-card input{width:100%;height:58px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.95);padding:0 16px;color:var(--ink);outline:none}.question-card select:focus,.question-card input:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(217,83,112,.12)}.soft-continue,.outline-button{min-height:52px;border-radius:15px;padding:13px 21px;font-weight:700;cursor:pointer}.soft-continue{display:block;margin-top:16px;border:0;background:linear-gradient(135deg,var(--rose),#c94b63);color:#fff;box-shadow:0 10px 24px rgba(206,71,96,.22)}.soft-continue:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.outline-button{border:1px solid var(--line);background:#fff;color:var(--ink)}.result-card{text-align:center}.result-mark{font-size:55px;color:var(--rose)}.result-card>p:not(.gentle-lead){color:var(--muted);line-height:1.6}.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:25px 0}.idea{padding:18px;text-align:left;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:17px}.idea span{font-size:27px}.idea h3{margin:9px 0 5px}.idea p{font-size:12px;margin:0}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.result-actions .soft-continue{margin:0}.result-card>small{display:block;margin-top:20px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(33,8,42,.53);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(590px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:27px;padding:34px;box-shadow:0 30px 100px rgba(24,6,30,.3)}.modal-card h2{font-family:"Playfair Display",serif;font-size:31px}.modal-close{position:absolute;right:17px;top:13px;border:0;background:transparent;font-size:29px;color:var(--muted);cursor:pointer}.modal-gender{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.modal-relations{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.modal-option{border:1px solid var(--line);background:var(--cream);border-radius:13px;padding:13px;cursor:pointer;color:var(--ink)}.toast{position:fixed;z-index:110;left:50%;bottom:25px;transform:translate(-50%,25px);opacity:0;background:var(--plum);color:#fff;border-radius:99px;padding:11px 18px;font-size:13px;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.index-shade{background:linear-gradient(180deg,rgba(255,250,242,.92) 0%,rgba(255,250,242,.76) 55%,rgba(255,255,255,.38))}.index-collage{object-position:58% center}.index-content{margin:auto;padding:35px 0}.story-topbar{height:68px}.mini-brand span{display:none}.mini-brand img{width:48px;height:48px}.story-flow{width:min(94vw,620px)}.story-opening{min-height:500px}.story-question{min-height:630px}.question-card{padding:24px 17px;border-radius:24px}.option-grid{grid-template-columns:repeat(2,1fr)}.age-silhouette{right:-24%;width:100vw;height:1700px;opacity:0}.age-silhouette.visible{opacity:.45}.idea-grid{grid-template-columns:1fr}.modal-gender{grid-template-columns:1fr}}
/* v5: lienzo natural, fondos sin estirar y personaje centrado en Edad */
.story-canvas{height:auto!important;min-height:100vh;overflow:hidden;transition:none}
.visual-world{inset:0;height:auto;bottom:0;background:linear-gradient(180deg,#fff7f2 0%,#f7edf5 52%,#fff9f5 100%)}
.relation-background{z-index:1;top:0;left:0;width:100%;height:1500px;object-fit:cover;object-position:center top;filter:saturate(.92);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
.age-silhouette{z-index:2;top:1220px;right:clamp(-40px,3vw,70px);width:min(52vw,680px);height:1040px;object-fit:contain;object-position:center center;filter:drop-shadow(0 22px 32px rgba(49,20,48,.16))}
.age-silhouette.visible{opacity:.58}
.motive-layer{top:2050px;height:1450px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent)}
.motive-layer.visible{opacity:.34}
.emotion-layer{top:2740px;height:1350px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent)}
.emotion-layer.visible{opacity:.4}
.story-question{display:none;visibility:visible;opacity:0;transform:translateY(24px);transition:none}
.story-question.revealed{display:flex;visibility:visible;opacity:1;transform:none;animation:reveal-question .55s ease both}
@keyframes reveal-question{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:760px){.relation-background{height:1350px;object-position:48% top}.age-silhouette{top:1100px;right:-18%;width:92vw;height:900px;object-position:center center}.age-silhouette.visible{opacity:.42}.motive-layer{top:1900px}.emotion-layer{top:2520px}}
/* v10: collage etéreo en escritorio, portal y escenario inicial DTH */
@media(min-width:821px){.index-collage{opacity:.7;filter:saturate(.9)}.index-shade{background:radial-gradient(ellipse at center,rgba(255,250,241,.3),rgba(255,250,241,.08) 52%,rgba(255,250,241,.12))}}
@media(max-width:820px){.index-collage{opacity:1;filter:none}}
.dth-entry-background{position:absolute;z-index:.5;top:0;left:0;width:100%;height:1450px;object-fit:cover;object-position:center top;opacity:0;transition:opacity 1.1s ease;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
.story-page.dth-route .dth-entry-background{opacity:.86}
.story-page.dth-route .neutral-base{background:linear-gradient(180deg,#f7eaf5,#fff9f3 36%,#f8edf6)}
.relation-background{top:620px;height:1500px}
.age-silhouette{top:1280px;transform:translate3d(0,var(--character-drift,0px),0);transition:opacity .8s ease,transform .22s linear;will-change:transform}
@media(max-width:760px){.dth-entry-background{height:1280px;object-position:center top}.relation-background{top:560px}.age-silhouette{top:1160px;transform:translate3d(0,var(--character-drift,0px),0)}}
.dream-portal{--portal-x:50vw;--portal-y:70vh;position:fixed;z-index:250;inset:0;visibility:hidden;opacity:0;overflow:hidden;pointer-events:none;background:transparent}
.dream-portal.active{visibility:visible;opacity:1;animation:portal-veil 2.35s ease both}
.portal-depth{position:absolute;left:var(--portal-x);top:var(--portal-y);width:180vmax;height:180vmax;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(242,207,230,.2) 24%,rgba(75,36,91,.74) 68%,#281032 100%),url("assets/dth/entrada-dth.png") center/cover;box-shadow:0 0 80px 30px rgba(255,232,209,.72);transform:translate(-50%,-50%) scale(.012);filter:blur(4px);animation:portal-depth 2.35s cubic-bezier(.18,.68,.16,1) both}
.portal-cloud{position:absolute;left:var(--portal-x);top:var(--portal-y);width:56vmax;height:25vmax;border-radius:50%;opacity:0;filter:blur(18px);background:radial-gradient(ellipse,rgba(255,255,255,.98),rgba(248,217,229,.72) 42%,transparent 72%)}
.dream-portal.active .cloud-one{animation:cloud-left 2.2s ease .12s both}.dream-portal.active .cloud-two{animation:cloud-right 2.25s ease .2s both}.dream-portal.active .cloud-three{animation:cloud-rise 2.1s ease .3s both}
.portal-light{position:absolute;inset:0;background:radial-gradient(circle at var(--portal-x) var(--portal-y),rgba(255,255,255,1),rgba(255,244,232,.72) 23%,transparent 58%);opacity:0;animation:portal-light 2.35s ease both}
.entry-button.portal-source{z-index:260;animation:source-door 1.25s cubic-bezier(.2,.72,.18,1) both;pointer-events:none}
body.portal-running{overflow:hidden}
@keyframes source-door{0%{transform:scale(1);filter:brightness(1)}32%{transform:scale(1.06);filter:brightness(1.15)}100%{transform:scale(5.5);filter:blur(14px) brightness(1.7);opacity:0}}
@keyframes portal-depth{0%{transform:translate(-50%,-50%) scale(.012);filter:blur(7px)}40%{filter:blur(2px)}78%,100%{transform:translate(-50%,-50%) scale(1);filter:blur(0)}}
@keyframes cloud-left{0%{opacity:0;transform:translate(-54%,-40%) scale(.2)}42%{opacity:.92}100%{opacity:.18;transform:translate(-115%,-48%) scale(1.85)}}
@keyframes cloud-right{0%{opacity:0;transform:translate(-46%,-55%) scale(.22)}45%{opacity:.95}100%{opacity:.16;transform:translate(18%,-52%) scale(1.9)}}
@keyframes cloud-rise{0%{opacity:0;transform:translate(-50%,-35%) scale(.15)}44%{opacity:.8}100%{opacity:.12;transform:translate(-50%,-112%) scale(2.1)}}
@keyframes portal-light{0%,20%{opacity:0}58%{opacity:.45}84%,100%{opacity:1}}
@keyframes portal-veil{0%{background:rgba(37,14,48,0)}55%{background:rgba(49,20,60,.2)}100%{background:#fff8f3}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.phrase-line,.phrase-word{opacity:1;filter:none;transform:none}.phrase-glow{opacity:.35;transform:none}.phrase-mist{opacity:.08;filter:blur(24px);transform:none}.dream-portal.active{visibility:visible;opacity:1;background:#fff8f3}.portal-depth,.portal-cloud,.portal-light{display:none}.entry-button.portal-source{opacity:1}.age-silhouette{transform:none}}
/* v11: personaje alineado con Edad y mayor acompañamiento vertical */
.age-silhouette{top:1450px;width:min(55vw,720px);height:1080px}
@media(max-width:760px){.age-silhouette{top:1320px;right:-14%;width:94vw;height:930px}}
/* v12: el personaje acompaña toda la serie y cabe completo en pantalla */
.age-silhouette{right:clamp(-20px,3vw,58px);width:min(48vw,620px);height:min(80vh,820px);object-fit:contain;object-position:center center;transition:opacity .8s ease,transform .12s linear}
@media(max-width:760px){.age-silhouette{right:-4%;width:70vw;height:min(68vh,600px);object-position:center center}.age-silhouette.visible{opacity:.48}}

/* v13: experiencia integral aprobada */
.official-logo{width:clamp(190px,15vw,230px);margin-bottom:14px}
.story-opening{min-height:450px;padding:32px 20px 18px}
.story-opening img{width:clamp(190px,18vw,235px)}
.story-opening h2{font-size:clamp(34px,4.6vw,58px);max-width:880px;margin-top:12px}
.story-opening p{margin:0 auto;max-width:720px}
.story-question[data-step="relationship"]{min-height:auto;padding:28px 0 66px}
.catalog-route .story-question[data-step="municipality"]{min-height:auto;padding:28px 0 70px}
.catalog-entry-background{position:absolute;z-index:.5;top:0;left:0;width:100%;height:1450px;object-fit:cover;object-position:center top;opacity:0;transition:opacity 1.1s ease;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%)}
.story-page.catalog-route .catalog-entry-background{opacity:.84}
.story-page.catalog-route .neutral-base{background:linear-gradient(180deg,#f8f0e5,#fffaf5 42%,#f7edf4)}
.story-page.catalog-route .world-light{background:linear-gradient(180deg,rgba(255,251,244,.06),rgba(255,249,242,.42))}

/* Puertas orgánicas y llamados alternados */
.entry-button{border-radius:38px 58px 34px 53px/46px 36px 52px 39px;min-height:132px;background:rgba(255,253,249,.88);overflow:visible}
.entry-button:before{inset:-3px;border-radius:44% 56% 48% 52%/54% 43% 57% 46%;filter:blur(.2px)}
.entry-button.primary{border:1.5px solid rgba(223,97,123,.66);box-shadow:0 14px 38px rgba(191,76,106,.15),0 0 22px rgba(238,145,163,.12),inset 0 0 30px rgba(255,255,255,.9)}
.entry-button:not(.primary){border:1.5px solid rgba(203,151,63,.68);box-shadow:0 14px 38px rgba(117,82,45,.12),0 0 22px rgba(221,180,101,.12),inset 0 0 30px rgba(255,255,255,.9)}
.entry-button>span:first-child{width:72px;height:72px;background:rgba(255,253,248,.94);box-shadow:0 8px 22px rgba(106,62,78,.13),inset 0 0 0 8px rgba(255,247,236,.75)}
.entry-button:nth-child(1):not(.portal-source){animation:door-invite 12s cubic-bezier(.24,.7,.3,1) 5.6s infinite}
.entry-button:nth-child(2):not(.portal-source){animation:door-invite 12s cubic-bezier(.24,.7,.3,1) 9.2s infinite}
.entry-button:hover,.entry-button:focus-visible{animation:none!important;transform:translateY(-4px) scale(1.008)}
@keyframes door-invite{0%,8%,20%,100%{transform:translateY(0)}11%{transform:translateY(-8px)}14%{transform:translateY(0)}17%{transform:translateY(-4px)}}

/* Zoom de cámara y destinos diferenciados */
.index-hero.portal-focus{transform-origin:var(--focus-x,50%) var(--focus-y,70%);animation:hero-journey var(--portal-speed,3200ms) cubic-bezier(.18,.7,.16,1) both;will-change:transform,filter}
.dream-portal.active,.dream-portal.active .portal-depth,.dream-portal.active .portal-light{animation-duration:var(--portal-speed,3200ms)}
.dream-portal.active .portal-cloud{animation-duration:var(--portal-speed,3200ms)}
.dream-portal.route-dth .portal-depth{background:radial-gradient(circle,rgba(255,255,255,.02),rgba(242,207,230,.12) 25%,rgba(75,36,91,.48) 68%,#281032 100%),url("assets/dth/entrada-dth.png") center/cover}
.dream-portal.route-catalog .portal-depth{background:radial-gradient(circle,rgba(255,255,255,.02),rgba(235,219,185,.1) 28%,rgba(81,65,52,.35) 70%,#3b2838 100%),url("assets/catalogo/entrada-se-lo-que-quiero.png") center/cover}
.dream-portal.route-catalog .portal-cloud{background:radial-gradient(ellipse,rgba(255,252,238,.94),rgba(186,171,127,.5) 40%,transparent 72%);height:15vmax;filter:blur(12px)}
.entry-button.portal-source{animation:source-door var(--portal-speed,3200ms) cubic-bezier(.18,.7,.16,1) both!important}
@keyframes hero-journey{0%,12%{transform:scale(1);filter:blur(0) brightness(1)}38%{transform:scale(1.13);filter:blur(.2px) brightness(1.04)}72%{transform:scale(1.72);filter:blur(3px) brightness(1.18)}100%{transform:scale(2.15);filter:blur(10px) brightness(1.45)}}
@keyframes source-door{0%,10%{transform:scale(1);filter:brightness(1);opacity:1}28%{transform:scale(.96);filter:brightness(1.08)}48%{transform:scale(1.12);filter:brightness(1.25);opacity:1}100%{transform:scale(7);filter:blur(16px) brightness(1.8);opacity:0}}
@keyframes portal-depth{0%,22%{transform:translate(-50%,-50%) scale(.008);filter:blur(14px);opacity:0}38%{opacity:.72}58%{filter:blur(3px)}100%{transform:translate(-50%,-50%) scale(1);filter:blur(0);opacity:1}}
@keyframes portal-light{0%,38%{opacity:0}67%{opacity:.25}92%,100%{opacity:.96}}
@keyframes portal-veil{0%,34%{background:rgba(37,14,48,0)}70%{background:rgba(49,20,60,.16)}100%{background:#fff8f3}}

/* Calendario Emotia siempre visible después de Municipio */
.emotia-calendar{margin-top:12px;padding:20px;border:1px solid rgba(91,42,92,.13);border-radius:24px;background:rgba(255,253,250,.88);box-shadow:0 15px 40px rgba(75,31,72,.09);backdrop-filter:blur(12px)}
.calendar-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:15px}.calendar-header h3{margin:0;text-align:center;font-family:"Playfair Display",serif;font-size:24px;color:var(--plum)}
.calendar-nav{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--plum);font-size:27px;cursor:pointer}.calendar-nav:hover:not(:disabled){border-color:var(--rose);background:#fff4f5}.calendar-nav:disabled{opacity:.28;cursor:not-allowed}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:#8a778c;font-size:11px;font-weight:700;text-transform:uppercase}
.calendar-day,.calendar-empty{aspect-ratio:1;min-width:0}.calendar-day{position:relative;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.74);color:var(--ink);font-weight:600;cursor:pointer;transition:.18s}.calendar-day:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(213,83,112,.42);box-shadow:0 6px 14px rgba(73,29,69,.09)}.calendar-day.available:after,.calendar-day.special:after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;transform:translateX(-50%)}.calendar-day.available:after{background:#69a56f}.calendar-day.special{background:#fff9ed}.calendar-day.special:after{background:#d19a3c}.calendar-day.past,.calendar-day.unavailable{opacity:.3;cursor:not-allowed}.calendar-day.unavailable{text-decoration:line-through}.calendar-day.selected{border-color:var(--rose);background:linear-gradient(135deg,#e35f78,#c74765);color:#fff;box-shadow:0 8px 20px rgba(205,71,99,.23)}.calendar-day.selected:after{background:#fff}
.calendar-legend{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:14px;color:#79687c;font-size:10px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:8px;height:8px;border-radius:50%}.legend-available{background:#69a56f}.legend-special{background:#d19a3c}.legend-unavailable{background:#b9afb9}.calendar-selection{min-height:22px;margin:14px 0 0;text-align:center;color:#5d4963;font-size:13px;line-height:1.45}
.gentle-cancel{display:block;margin:15px auto 0;border:0;background:transparent;color:#806e83;text-decoration:underline;text-decoration-color:rgba(128,110,131,.3);text-underline-offset:4px;cursor:pointer}.gentle-cancel:hover{color:var(--rose)}

@media(max-width:820px){
 .official-logo{width:clamp(150px,43vw,175px)}.story-opening{min-height:390px;padding:22px 16px 10px}.story-opening img{width:clamp(155px,44vw,185px)}.story-opening h2{font-size:clamp(31px,9vw,43px)}
 .story-question[data-step="relationship"],.catalog-route .story-question[data-step="municipality"]{padding-top:18px}
 .catalog-entry-background{height:1280px;object-position:center top}.entry-button{min-height:106px;border-radius:31px 44px 29px 42px/38px 30px 43px 33px}.entry-button>span:first-child{width:56px;height:56px}
 .emotia-calendar{padding:14px 10px;border-radius:20px}.calendar-header{grid-template-columns:38px 1fr 38px}.calendar-header h3{font-size:21px}.calendar-nav{width:36px;height:36px}.calendar-weekdays,.calendar-days{gap:4px}.calendar-day{border-radius:9px;font-size:12px}.calendar-legend{gap:8px}
}

/* v13.1: ajuste específico por dispositivo */
@media(min-width:821px){
 .official-logo{width:clamp(290px,24vw,360px)}
}
@media(max-width:760px){
 .question-card{background:rgba(255,255,255,.56);border-color:rgba(255,255,255,.64);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 20px 55px rgba(40,11,48,.12)}
 .option{background:rgba(255,255,255,.84)}
}

/* v13.2: identidad comercial y collage adaptable con centro protegido */
.store-identity{display:flex;flex-direction:column;align-items:center;margin:0 auto 14px;color:var(--plum);opacity:0;filter:blur(5px);transform:translateY(8px);animation:store-identity-awaken 1.15s ease .18s forwards}
.store-identity strong{font-family:"Playfair Display",serif;font-size:clamp(15px,1.32vw,20px);line-height:1.25;letter-spacing:.015em}
.store-identity span{margin-top:4px;color:#6e5d70;font-size:clamp(12px,1vw,15px);line-height:1.4}
.store-identity i{display:flex;align-items:center;gap:10px;margin-top:7px;color:var(--gold);font-style:normal;font-size:13px}
.store-identity i:before,.store-identity i:after{content:"";width:54px;height:1px;background:linear-gradient(90deg,transparent,rgba(200,146,53,.7))}.store-identity i:after{transform:scaleX(-1)}
.phrase-word{animation-delay:calc(1.15s + var(--word)*.39s)}
.phrase-glow{animation-delay:3.85s}
@keyframes store-identity-awaken{to{opacity:1;filter:blur(0);transform:none}}

@media(min-width:821px){
 .index-hero{isolation:isolate;background:#fff7ef url("assets/index/fondo-index-collage-emotia.png") center/cover no-repeat}
 .index-hero:before{content:"";position:absolute;z-index:0;inset:-24px;background:rgba(255,248,240,.74);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);pointer-events:none}
 .index-collage{z-index:1;inset-block:0;left:50%;right:auto;width:max(100%,1120px);height:100%;transform:translateX(-50%);object-fit:contain;object-position:center;opacity:.9;filter:saturate(.98) contrast(1.02)}
 .index-shade{z-index:1;background:radial-gradient(ellipse 390px 72% at center,rgba(255,250,242,.86) 0%,rgba(255,250,242,.79) 57%,rgba(255,250,242,.34) 82%,transparent 100%)}
 .index-content{z-index:2}
}
@media(max-width:820px){
 .store-identity{width:min(92vw,480px);margin-bottom:18px;padding:0 8px}
 .store-identity strong{font-size:clamp(14px,4.1vw,17px)}
 .store-identity span{font-size:clamp(11px,3.35vw,14px)}
}

/* v14: nueva portada narrativa de Emotia */
.index-hero{
 min-height:100svh;
 place-items:center;
 isolation:isolate;
 overflow:hidden;
 background:#fff7ef;
}
.index-hero:before{content:none}
.index-picture{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%}
.index-collage{
 position:absolute;
 inset:0;
 width:100%;
 min-width:0;
 max-width:none;
 height:100%;
 object-fit:cover;
 object-position:center;
 opacity:1;
 filter:none;
 transform:none;
}
.index-shade{
 z-index:1;
 background:radial-gradient(ellipse 36% 69% at 50% 49%,rgba(255,251,244,.46) 0%,rgba(255,249,240,.2) 60%,transparent 100%);
 pointer-events:none;
}
.index-content{
 z-index:2;
 display:flex;
 flex-direction:column;
 align-items:center;
 width:min(610px,50vw);
 margin:0 auto;
 padding:30px 0 34px;
 text-align:center;
 color:var(--plum);
}
.index-content>.official-logo{
 width:clamp(205px,15.5vw,245px);
 height:auto;
 margin:0 auto 13px;
 filter:drop-shadow(0 9px 20px rgba(52,14,61,.1));
}
.index-kicker{
 max-width:none;
 margin:0 0 22px;
 color:#75446b;
 font-size:clamp(11px,.88vw,14px);
 font-weight:700;
 letter-spacing:.19em;
 line-height:1.45;
 text-transform:uppercase;
 opacity:0;
 filter:blur(5px);
 transform:translateY(7px);
 animation:hero-detail-awaken 1s ease .12s forwards;
}
.index-content .hero-message{
 display:grid;
 gap:0;
 width:max-content;
 max-width:100%;
 margin:0;
 color:#3c0b4c;
 font-family:"Playfair Display",serif;
 font-size:clamp(40px,3.65vw,58px);
 font-weight:600;
 letter-spacing:-.035em;
 line-height:1.03;
 text-wrap:balance;
}
.hero-fragment{
 display:block;
 opacity:0;
 filter:blur(14px);
 transform:translateY(15px) scale(.975);
 will-change:opacity,filter,transform;
 animation:hero-dream-awaken 1.45s cubic-bezier(.16,.72,.24,1) forwards;
}
.hero-fragment-one{animation-delay:.34s}
.hero-fragment-two{animation-delay:1.02s}
.hero-fragment-three{
 color:#d75a76;
 font-size:1.13em;
 line-height:1.08;
 animation-delay:1.68s;
 text-shadow:0 10px 32px rgba(183,91,128,.12);
}
.hero-closing{
 max-width:550px;
 margin:23px auto 0;
 color:#655768;
 font-size:clamp(14px,1.02vw,17px);
 line-height:1.55;
 text-wrap:balance;
 opacity:0;
 transform:translateY(11px);
 animation:hero-detail-awaken .85s ease 2.55s forwards;
}
.index-content .entry-actions{
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
 width:min(600px,100%);
 max-width:none;
 margin:29px auto 0;
 opacity:0;
 transform:translateY(11px);
 animation:hero-actions-awaken .85s ease 2.82s forwards;
}
.index-content .entry-button{
 position:relative;
 isolation:isolate;
 display:grid;
 grid-template-columns:48px minmax(0,1fr) 20px;
 align-items:center;
 gap:11px;
 min-height:78px;
 padding:12px 15px;
 overflow:hidden;
 border:1px solid rgba(200,144,57,.5);
 border-radius:28px 35px 27px 33px/31px 27px 34px 29px;
 color:#3c0b4c;
 background:rgba(255,253,249,.87);
 box-shadow:0 15px 36px rgba(69,31,60,.11),inset 0 0 28px rgba(255,255,255,.66);
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);
}
.index-content .entry-button:before{
 content:"";
 position:absolute;
 z-index:-1;
 inset:-2px;
 border-radius:inherit;
 background:linear-gradient(120deg,rgba(255,255,255,.55),transparent 58%);
}
.index-content .entry-button:after{
 content:"→";
 grid-column:3;
 grid-row:1;
 color:#d75a76;
 font-size:23px;
 line-height:1;
}
.index-content .entry-button.primary{
 border-color:rgba(255,255,255,.18);
 color:#fff;
 background:linear-gradient(135deg,#581260,#350e40);
 box-shadow:0 17px 39px rgba(61,13,72,.23),inset 0 0 22px rgba(255,255,255,.05);
}
.index-content .entry-button.primary:before{background:linear-gradient(120deg,rgba(255,255,255,.1),transparent 58%)}
.index-content .entry-button.primary:after{color:#f2a7b7}
.index-content .entry-button>span:first-child{
 grid-column:1;
 grid-row:1;
 display:grid;
 place-items:center;
 width:46px;
 height:46px;
 border:1px solid rgba(200,144,57,.5);
 border-radius:50%;
 color:#d75a76;
 background:rgba(255,255,255,.75);
 box-shadow:0 7px 16px rgba(77,31,72,.08);
 font-size:21px;
}
.index-content .entry-button.primary>span:first-child{
 border-color:rgba(244,191,104,.48);
 color:#f4bf68;
 background:rgba(255,255,255,.1);
}
.index-content .entry-button>span:nth-child(2){grid-column:2;grid-row:1;text-align:left}
.index-content .entry-button strong{
 display:block;
 font-family:"Playfair Display",serif;
 font-size:clamp(16px,1.15vw,19px);
 line-height:1.12;
}
.search-icon{position:relative}
.search-icon:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-radius:50%}
.search-icon:after{content:"";position:absolute;width:9px;height:2px;background:currentColor;transform:translate(7px,7px) rotate(45deg);border-radius:99px}
.index-content .entry-button:hover,.index-content .entry-button:focus-visible{animation:none!important;transform:translateY(-4px) scale(1.008)}
.index-content .entry-button:hover,.index-content .entry-button:focus-visible{background:rgba(255,255,255,.95)}
.index-content .entry-button.primary:hover,.index-content .entry-button.primary:focus-visible{background:linear-gradient(135deg,#65176e,#3a0f46)}

@keyframes hero-dream-awaken{
 0%{opacity:0;filter:blur(14px);transform:translateY(15px) scale(.975)}
 40%{opacity:.38;filter:blur(9px);transform:translateY(2px) scale(1.015)}
 75%{opacity:.92;filter:blur(2px)}
 100%{opacity:1;filter:blur(0);transform:none}
}
@keyframes hero-detail-awaken{to{opacity:1;filter:blur(0);transform:none}}
@keyframes hero-actions-awaken{to{opacity:1;transform:none}}

@media(min-width:821px) and (max-aspect-ratio:6/5){
 .index-collage{left:0;right:0;width:100%;min-width:0;transform:none;object-fit:cover;object-position:center}
 .index-shade{background:radial-gradient(ellipse 42% 66% at 50% 49%,rgba(255,251,244,.56) 0%,rgba(255,249,240,.28) 62%,transparent 100%)}
 .index-content{width:min(540px,55vw)}
 .index-content>.official-logo{width:clamp(205px,21vw,235px)}
 .index-content .hero-message{font-size:clamp(40px,4.15vw,50px)}
 .hero-closing{max-width:500px}
}

@media(max-width:820px){
 .index-hero{min-height:100svh;overflow:hidden}
 .index-picture,.index-collage{height:100%}
 .index-collage{object-position:center center}
 .index-shade{background:radial-gradient(ellipse 80% 66% at 50% 43%,rgba(255,250,243,.52) 0%,rgba(255,249,241,.25) 66%,transparent 100%)}
 .index-content{
  width:min(92vw,440px);
  min-height:100svh;
  justify-content:flex-start;
  padding:clamp(22px,4.5svh,42px) 0 26px;
 }
 .index-content>.official-logo{width:clamp(140px,39vw,172px);margin-bottom:10px}
 .index-kicker{margin-bottom:14px;padding:0 6px;font-size:clamp(9px,2.8vw,11px);letter-spacing:.14em}
 .index-content .hero-message{gap:1px;font-size:clamp(29px,8.3vw,38px);line-height:1.02;letter-spacing:-.03em}
 .hero-fragment-three{font-size:1.16em}
 .hero-closing{max-width:390px;margin-top:17px;padding:0 8px;font-size:clamp(11px,3vw,13px);line-height:1.48}
 .index-content .entry-actions{grid-template-columns:1fr;gap:11px;width:min(92%,360px);margin-top:20px}
 .index-content .entry-button{min-height:70px;grid-template-columns:44px minmax(0,1fr) 18px;padding:10px 14px;border-radius:24px 31px 23px 29px/28px 24px 31px 25px}
 .index-content .entry-button>span:first-child{width:42px;height:42px;font-size:19px}
 .index-content .entry-button strong{font-size:clamp(16px,4.7vw,19px)}
 .index-content .entry-button:after{font-size:22px}
}

@media(max-width:380px), (max-height:690px){
 .index-content{padding-top:14px}
 .index-content>.official-logo{width:124px;margin-bottom:5px}
 .index-kicker{margin-bottom:9px;font-size:9px}
 .index-content .hero-message{font-size:clamp(25px,7.7vw,30px)}
 .hero-closing{margin-top:11px;font-size:11px;line-height:1.4}
 .index-content .entry-actions{gap:8px;margin-top:13px}
 .index-content .entry-button{min-height:60px}
}

@media(prefers-reduced-motion:reduce){
 .index-kicker,.hero-fragment,.hero-closing,.index-content .entry-actions{opacity:1;filter:none;transform:none;animation:none}
}

/* CAES — Crear Algo ESpecial */
.caes-page{
 position:relative;
 min-height:100svh;
 overflow:hidden;
 color:#3c1648;
 background:#f8eadb;
}
.caes-background{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 object-fit:contain;
 object-position:center;
 background:#f7e9da;
}
.caes-light{
 position:absolute;
 inset:0;
 background:radial-gradient(ellipse 52% 82% at 50% 49%,rgba(255,250,242,.57) 0%,rgba(255,248,238,.24) 64%,transparent 100%);
 pointer-events:none;
}
.caes-back{
 position:absolute;
 z-index:3;
 top:clamp(18px,3.2vh,36px);
 left:clamp(18px,3.6vw,58px);
 padding:9px 13px;
 border:0;
 border-radius:999px;
 color:#48174f;
 background:rgba(255,251,245,.58);
 box-shadow:0 5px 18px rgba(79,42,59,.07);
 backdrop-filter:blur(8px);
 -webkit-backdrop-filter:blur(8px);
 font:600 16px "DM Sans",sans-serif;
 cursor:pointer;
}
.caes-back:hover,.caes-back:focus-visible{background:rgba(255,252,248,.92);transform:translateX(-3px)}
.caes-content{
 position:relative;
 z-index:2;
 display:flex;
 flex-direction:column;
 align-items:center;
 width:min(1000px,72vw);
 min-height:100svh;
 margin:0 auto;
 padding:clamp(25px,4.2vh,48px) 0 clamp(28px,4vh,44px);
}
.caes-logo{width:clamp(145px,12vw,195px);height:auto;margin-bottom:clamp(7px,1.2vh,13px)}
.caes-heading{text-align:center;text-wrap:balance}
.caes-heading h1{
 margin:0;
 color:#45114e;
 font-family:"Playfair Display",serif;
 font-size:clamp(38px,4.1vw,62px);
 line-height:1.05;
 letter-spacing:-.03em;
}
.caes-options{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:clamp(14px,1.5vw,22px);
 width:100%;
 margin-top:clamp(24px,3.8vh,42px);
}
.caes-card{
 display:flex;
 flex-direction:column;
 align-items:center;
 min-width:0;
 min-height:360px;
 padding:clamp(22px,2.1vw,31px) clamp(18px,1.7vw,26px) 22px;
 border:1px solid rgba(202,154,86,.62);
 border-radius:27px;
 color:#42154b;
 background:rgba(255,251,246,.86);
 box-shadow:0 16px 38px rgba(75,39,55,.12),inset 0 0 36px rgba(255,255,255,.5);
 backdrop-filter:blur(13px);
 -webkit-backdrop-filter:blur(13px);
 text-align:center;
 cursor:pointer;
 transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
 animation:caes-gentle-jump 5.4s ease-in-out infinite;
}
.caes-card:nth-child(2){animation-delay:-3.6s}
.caes-card:nth-child(3){animation-delay:-1.8s}
.caes-card:hover,.caes-card:focus-visible{animation-play-state:paused;transform:translateY(-7px);background:rgba(255,253,250,.96);box-shadow:0 23px 48px rgba(73,31,67,.18)}
.caes-card:focus-visible{outline:3px solid rgba(218,90,119,.38);outline-offset:4px}
.caes-icon{display:grid;place-items:center;width:92px;height:92px;margin-bottom:17px;color:#b77a2e}
.caes-icon svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.caes-icon .caes-fill{fill:#6a246f;stroke:#6a246f}
.caes-icon .caes-ribbon{stroke:#d56c86;stroke-width:3}
.caes-icon .caes-spark{stroke:#d49a3f;stroke-width:2.2}
.caes-card strong{font-family:"Playfair Display",serif;font-size:clamp(22px,1.65vw,27px);line-height:1.12}
.caes-copy{display:block;margin-top:14px;color:#685967;font-size:15px;line-height:1.5}
.caes-action{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:20px;color:#681c64;font-size:16px;font-weight:700}
.caes-action b{color:#d25877;font-size:22px;line-height:1}
@keyframes caes-gentle-jump{
 0%,13%,100%{transform:translateY(0)}
 5%{transform:translateY(-6px)}
 9%{transform:translateY(-2px)}
}

@media(max-width:980px){
 .caes-page{overflow:auto}
 .caes-content{width:min(92vw,740px);padding-top:32px}
 .caes-logo{width:150px}
 .caes-heading h1{font-size:clamp(36px,6vw,49px)}
 .caes-options{gap:12px}
 .caes-card{min-height:340px;padding:20px 14px}
 .caes-icon{width:76px;height:76px}
 .caes-card strong{font-size:21px}
 .caes-copy{font-size:14px}
}
@media(max-width:700px){
 .caes-page{overflow:auto}
 .caes-background{position:absolute;inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;opacity:1}
 .caes-light{position:absolute;background:linear-gradient(to bottom,transparent 0,rgba(248,236,224,.12) 48vw,#f8ece0 63vw,#f8ece0 100%)}
 .caes-back{position:absolute;top:13px;left:12px;font-size:14px}
 .caes-content{width:min(90vw,440px);padding:calc(56.25vw - 12px) 0 34px}
 .caes-logo{position:absolute;top:calc(28.125vw - 54px);left:50%;width:clamp(112px,34vw,140px);margin:0;transform:translateX(-50%);filter:drop-shadow(0 5px 13px rgba(74,29,64,.13))}
 .caes-heading h1{font-size:clamp(32px,9.5vw,42px)}
 .caes-options{grid-template-columns:1fr;gap:13px;margin-top:22px}
 .caes-card{display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto auto auto;align-items:center;min-height:0;padding:18px;text-align:left}
 .caes-icon{grid-column:1;grid-row:1/4;width:60px;height:60px;margin:0}
 .caes-card strong{grid-column:2;font-size:21px}
 .caes-copy{grid-column:2;margin-top:6px;font-size:13px}
 .caes-action{grid-column:2;margin-top:8px;padding:0;font-size:14px}
}

@media(prefers-reduced-motion:reduce){.caes-card{animation:none}}


/* v15.3.2 — fondo narrativo responsive y tarjetas de proceso */
.how-link{
 position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:14px;
 width:min(430px,88%);margin:18px auto 0;padding:12px 16px 12px 18px;
 border:1px solid rgba(120,73,107,.15);border-radius:18px;color:#4b2451;
 background:rgba(255,252,247,.76);box-shadow:0 10px 26px rgba(67,26,63,.07);
 backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;text-align:left;
 opacity:0;transform:translateY(8px);animation:hero-detail-awaken .8s ease 3.08s forwards;
 transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.how-link:hover,.how-link:focus-visible{background:rgba(255,255,255,.94);border-color:rgba(215,90,118,.3);box-shadow:0 14px 31px rgba(67,26,63,.11);transform:translateY(-2px)}
.how-link-copy{display:grid;gap:2px;min-width:0}.how-link-copy small{color:#806f83;font-size:11px;font-weight:600;line-height:1.25}.how-link-copy strong{font-family:"Playfair Display",serif;color:#48174f;font-size:17px;font-weight:600;line-height:1.2}
.how-link-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#d75a76;background:#fff2ed;font-size:17px;transition:transform .22s ease}.how-link:hover .how-link-arrow,.how-link:focus-visible .how-link-arrow{transform:translateX(3px)}

.how-page{position:relative;isolation:isolate;min-height:100svh;padding:74px 24px 54px;overflow:hidden;color:#3c1648;background:#f6eadf}
.how-picture,.how-background,.how-veil{position:absolute;inset:0;width:100%;height:100%}
.how-picture{z-index:-3}.how-background{display:block;object-fit:cover;object-position:center center}
.how-veil{z-index:-2;background:linear-gradient(180deg,rgba(255,249,241,.46) 0%,rgba(255,248,239,.22) 38%,rgba(250,237,226,.42) 100%);pointer-events:none}
.how-page:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 50% 24% at 50% 6%,rgba(255,255,255,.78),transparent 76%);pointer-events:none}
.how-back{position:fixed;z-index:4;top:20px;left:clamp(18px,4vw,58px);padding:10px 14px;border:1px solid rgba(75,25,80,.14);border-radius:999px;background:rgba(255,255,255,.78);color:#4a174f;box-shadow:0 8px 24px rgba(61,27,55,.1);cursor:pointer;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.how-shell{position:relative;z-index:1;width:min(1320px,96vw);margin:auto;text-align:center}
.how-logo{width:clamp(145px,14vw,205px);height:auto;margin-bottom:8px;filter:drop-shadow(0 8px 20px rgba(55,20,51,.1))}
.how-heading{max-width:760px;margin:0 auto}.how-heading p{margin:0 0 8px;color:#a73f60;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.how-heading h1{margin:0;font:600 clamp(38px,5vw,64px)/1.04 "Playfair Display",serif;color:#3c0b4c;text-shadow:0 2px 20px rgba(255,255,255,.75)}.how-heading span{display:block;max-width:650px;margin:12px auto 33px;color:#59465d;font-size:16px;font-weight:500;line-height:1.55;text-shadow:0 1px 10px rgba(255,255,255,.86)}
.how-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;text-align:center}
.how-step{position:relative;display:grid;grid-template-rows:auto 1fr;gap:12px;min-height:300px;padding:42px 22px 25px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(255,250,245,.61);box-shadow:0 18px 44px rgba(59,27,52,.12),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(13px) saturate(.9);-webkit-backdrop-filter:blur(13px) saturate(.9)}
.how-step>b{position:absolute;top:-22px;left:50%;display:grid;place-items:center;width:48px;height:48px;border:2px solid rgba(255,255,255,.88);border-radius:50%;color:#fff;background:linear-gradient(135deg,#e55c79,#c84261);box-shadow:0 8px 20px rgba(150,48,77,.2);font:600 23px "Playfair Display",serif;transform:translateX(-50%)}
.how-step>div{align-self:center}.how-step h2{margin:0 0 12px;font:600 clamp(20px,1.55vw,24px)/1.15 "Playfair Display",serif;color:#3c1648;text-wrap:balance}.how-step h2:after{content:"♥";display:block;margin:9px auto 0;color:#df627d;font:400 11px/1 sans-serif}.how-step p{margin:0;color:#55495a;font-size:14px;line-height:1.62;text-wrap:balance}
.how-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.how-actions button{min-height:52px;padding:13px 22px;border-radius:16px;font-weight:700;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.how-primary{border:0;background:linear-gradient(135deg,#581260,#350e40);color:#fff;box-shadow:0 13px 28px rgba(61,13,72,.22)}.how-whatsapp{border:1px solid rgba(72,23,79,.2);background:rgba(255,255,255,.76);color:#48174f}.how-note{display:block;max-width:560px;margin:13px auto 0;color:#5f5263;font-size:11px;line-height:1.5;text-shadow:0 1px 8px rgba(255,255,255,.9)}

/* La portada anima una sola vez por sesión. */
.skip-hero-intro .index-kicker,.skip-hero-intro .hero-fragment,.skip-hero-intro .hero-closing,.skip-hero-intro .index-content .entry-actions,.skip-hero-intro .how-link{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}

@media(max-width:1100px) and (min-width:821px){.how-shell{width:min(980px,95vw)}.how-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}.how-step{min-height:240px}}
@media(max-width:820px){
 .how-link{width:min(360px,90%);margin-top:13px;padding:10px 13px 10px 15px;border-radius:16px}.how-link-copy small{font-size:10px}.how-link-copy strong{font-size:15px}
 .how-page{padding:82px 14px 42px;overflow:visible;background:#f7eadf}.how-background{object-fit:cover;object-position:center top}.how-veil{position:fixed;background:linear-gradient(180deg,rgba(255,248,238,.38),rgba(255,247,237,.18) 48%,rgba(247,232,220,.42))}.how-page:after{position:fixed;background:linear-gradient(180deg,rgba(255,252,247,.74) 0,rgba(255,252,247,.18) 20%,transparent 42%)}
 .how-shell{width:min(430px,96vw)}.how-logo{width:clamp(138px,42vw,172px)}.how-heading h1{font-size:clamp(38px,11vw,52px)}.how-heading span{margin-bottom:42px;padding:0 8px;font-size:14px}
 .how-steps{grid-template-columns:1fr;gap:36px;text-align:left}.how-step{grid-template-rows:none;grid-template-columns:1fr;min-height:245px;padding:34px 22px 24px;border-radius:22px;background:rgba(255,250,245,.64);backdrop-filter:blur(11px) saturate(.9);-webkit-backdrop-filter:blur(11px) saturate(.9)}.how-step>b{top:-20px;width:44px;height:44px;font-size:21px}.how-step>div{align-self:center}.how-step h2{text-align:center;font-size:22px}.how-step p{text-align:center;font-size:14px;line-height:1.58}
 .how-actions{display:grid;grid-template-columns:1fr;width:min(360px,100%);margin:25px auto 0}
}
@media(max-width:390px){.how-page{padding-inline:10px}.how-heading span{font-size:13px}.how-step{min-height:225px;padding-inline:17px}.how-step h2{font-size:20px}.how-step p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.how-link{opacity:1;transform:none;animation:none}}


/* v15.3.3 — jerarquía visual inspirada en la composición aprobada */
.how-steps{gap:26px;padding-top:46px}
.how-step{
  grid-template-rows:auto 1fr;min-height:350px;padding:92px 24px 28px;
  overflow:visible;border-radius:27px;background:rgba(255,250,245,.62);
  border:1px solid rgba(255,255,255,.82);box-shadow:0 20px 48px rgba(59,27,52,.13),inset 0 1px 0 rgba(255,255,255,.9)
}
.how-number{
  position:absolute;z-index:3;top:-27px;left:50%;display:grid;place-items:center;
  width:53px;height:53px;border:2px solid rgba(255,255,255,.92);border-radius:50%;
  color:#fff;background:linear-gradient(145deg,#ef6a85,#cf405f);box-shadow:0 9px 22px rgba(150,48,77,.24);
  font:600 25px/1 "Playfair Display",serif;transform:translateX(-50%)
}
.how-icon{
  position:absolute;z-index:2;top:4px;left:50%;display:grid;place-items:center;width:108px;height:108px;
  border:1px solid rgba(255,255,255,.88);border-radius:50%;background:rgba(255,251,247,.86);
  box-shadow:0 14px 32px rgba(69,30,61,.12),inset 0 1px 0 #fff;transform:translateX(-50%);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.how-icon svg{width:58px;height:58px;fill:none;stroke:#4b174f;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.how-step>b{display:none}
.how-step-copy{align-self:center;display:flex;flex-direction:column;align-items:center}
.how-step h2{margin:0;font:600 clamp(23px,1.65vw,28px)/1.12 "Playfair Display",serif;color:#3b1247;letter-spacing:-.01em;text-wrap:balance}
.how-step h2:after{display:none}
.how-divider{display:flex;align-items:center;justify-content:center;width:104px;margin:15px auto 16px;color:#e15f7b;font-size:11px;line-height:1}
.how-divider:before,.how-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(216,88,117,.52))}
.how-divider:after{background:linear-gradient(90deg,rgba(216,88,117,.52),transparent)}
.how-divider:before{margin-right:8px}.how-divider:after{margin-left:8px}
.how-step p{max-width:250px;margin:0;color:#4f4353;font-size:13.5px;line-height:1.68;text-wrap:balance}

@media(max-width:1100px) and (min-width:821px){
  .how-steps{gap:54px 24px;padding-top:46px}.how-step{min-height:310px;padding-top:90px}
}
@media(max-width:820px){
  .how-steps{gap:58px;padding-top:40px}.how-step{min-height:300px;padding:86px 22px 26px;text-align:center}
  .how-number{top:-24px;width:48px;height:48px;font-size:23px}.how-icon{top:4px;width:96px;height:96px}.how-icon svg{width:51px;height:51px}
  .how-step h2{font-size:25px}.how-step p{max-width:290px;font-size:13.5px;line-height:1.64}.how-divider{margin-top:13px;margin-bottom:14px}
}
@media(max-width:390px){.how-step{min-height:285px;padding-top:82px}.how-step h2{font-size:23px}.how-step p{font-size:13px}.how-icon{width:91px;height:91px}.how-icon svg{width:48px;height:48px}}

/* v15.3.4 — centrado de acceso, mayor transparencia y separación segura */
.how-link{
  grid-template-columns:1fr;
  justify-items:center;
  gap:8px;
  text-align:center;
  padding:14px 18px;
}
.how-link-copy{
  justify-items:center;
  text-align:center;
}
.how-link-arrow{
  width:25px;
  height:25px;
  font-size:15px;
}
.how-link:hover .how-link-arrow,
.how-link:focus-visible .how-link-arrow{
  transform:translateY(2px);
}

.how-step{
  min-height:350px;
  padding:122px 24px 28px;
  background:rgba(255,250,245,.34);
  border-color:rgba(255,255,255,.68);
  box-shadow:0 16px 38px rgba(59,27,52,.09),inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(3px) saturate(.98);
  -webkit-backdrop-filter:blur(3px) saturate(.98);
}
.how-icon{
  top:11px;
  background:rgba(255,251,247,.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.how-step-copy{
  align-self:start;
  justify-self:stretch;
}

@media(max-width:1100px) and (min-width:821px){
  .how-step{min-height:330px;padding-top:118px}
}
@media(max-width:820px){
  .how-link{padding:13px 16px}
  .how-step{
    min-height:310px;
    padding:112px 22px 26px;
    background:rgba(255,250,245,.30);
    backdrop-filter:blur(2px) saturate(.98);
    -webkit-backdrop-filter:blur(2px) saturate(.98);
  }
  .how-icon{top:9px;background:rgba(255,251,247,.68)}
}
@media(max-width:390px){
  .how-step{min-height:300px;padding-top:108px}
}

/* v15.3.5 — reserva real para iconos, sin superposición de títulos */
.how-step{
  min-height:370px;
  padding-top:148px;
}
.how-step-copy{
  position:relative;
  z-index:1;
  align-self:start;
}
.how-step h2{
  margin-top:0;
}

@media(max-width:1100px) and (min-width:821px){
  .how-step{
    min-height:350px;
    padding-top:144px;
  }
}

@media(max-width:820px){
  .how-step{
    min-height:330px;
    padding-top:132px;
  }
}

@media(max-width:390px){
  .how-step{
    min-height:315px;
    padding-top:128px;
  }
}

/* v15.3.6 — corrección específica para móvil: separación real entre icono y título */
@media(max-width:820px){
  .how-step{
    min-height:360px;
    padding-top:166px;
  }
  .how-step-copy{
    margin-top:0;
  }
  .how-step h2{
    position:relative;
    z-index:2;
    margin-top:0;
  }
}

@media(max-width:390px){
  .how-step{
    min-height:345px;
    padding-top:160px;
  }
}
