/* ——— Te regalo medio siglo de experiencia ——— */
.hdr-gift{background:none;border:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:11px 0;border-bottom:1px solid transparent;transition:border-color .3s}
.hdr-gift:hover{border-bottom-color:currentColor}
.rg{position:fixed;inset:0;z-index:90;color:var(--gm-cal);font-family:var(--font-brand);overflow:hidden}
.rg-bg{position:absolute;inset:0;background:#100e0d;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rg-cv{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.rg-serif,.rg-card,.rg-t .s,.rg-p2,.rg-p3,.ch-p,.rg-sig{font-family:'Instrument Serif',Georgia,serif;font-weight:400}

.rg-x{position:absolute;top:max(18px,env(safe-area-inset-top));right:clamp(16px,4vw,56px);z-index:8;display:flex;align-items:center;gap:12px;height:44px;padding:0 18px;background:rgba(20,17,15,.72);color:var(--gm-cal);border:1px solid rgba(238,236,232,.22);font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .3s,border-color .3s,color .3s}
.rg-x i{position:relative;width:12px;height:12px}
.rg-x i::before,.rg-x i::after{content:"";position:absolute;left:50%;top:50%;width:15px;height:1.5px;margin:-.75px 0 0 -7.5px;background:currentColor;transform:rotate(45deg)}
.rg-x i::after{transform:rotate(-45deg)}
.rg-x:hover{background:var(--gm-magma);border-color:var(--gm-magma);color:var(--gm-onix)}
.rg-skip{position:absolute;left:clamp(20px,4vw,56px);bottom:max(24px,env(safe-area-inset-bottom));z-index:8;background:none;border:0;border-bottom:1px solid currentColor;font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:rgba(238,236,232,.72);cursor:pointer;padding:6px 0;opacity:0;pointer-events:none;transition:opacity .5s,color .3s}
.rg-skip.on{opacity:1;pointer-events:auto}
.rg-skip:hover{color:var(--gm-magma)}

/* tarjeta de regalo */
.rg-card{position:absolute;left:0;top:0;z-index:4;width:min(258px,70vw);padding:26px 22px 22px 22px;background:#efe9df;color:var(--gm-onix);box-shadow:0 34px 60px -20px rgba(0,0,0,.7),0 2px 0 rgba(255,255,255,.4) inset;transform-origin:22px 0;opacity:0;pointer-events:none;font-size:21px;line-height:1.16;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.rg-card::before{content:"";position:absolute;left:16px;top:12px;width:8px;height:8px;border-radius:50%;background:#100e0d;box-shadow:0 0 0 1.5px #c9bfae}
.rg-card p+p{margin-top:10px;font-style:italic;color:var(--gm-tierra-shade)}
.rg-cord{position:absolute;z-index:4;height:1px;background:linear-gradient(90deg,rgba(201,191,174,0),rgba(201,191,174,.75));transform-origin:100% 50%;opacity:0;pointer-events:none}

/* título sobre el mármol */
.rg-gift{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 20px;color:var(--gm-onix)}
.rg-t{font-weight:700;font-size:clamp(40px,7.2vw,136px);line-height:.94;letter-spacing:-.035em;max-width:14ch}
.rg-t .l{display:block}
.rg-t .s{font-style:italic;letter-spacing:-.01em;font-size:1.16em;line-height:.98;padding:0 .06em}
.rg-t .s .w{overflow:visible}
.rg-t .s .c{will-change:opacity,filter,transform}
.rg-go{pointer-events:auto;margin-top:clamp(28px,5vh,54px);display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:0 28px;background:var(--gm-onix);color:var(--gm-cal);border:0;font:inherit;font-weight:700;font-size:14px;letter-spacing:.06em;cursor:pointer;opacity:0;visibility:hidden;transition:background .3s,color .3s}
.rg-go span{display:inline-block;transition:transform .35s var(--ease)}
.rg-go:hover{background:var(--gm-magma);color:var(--gm-onix)}
.rg-go:hover span{transform:translateX(5px)}

/* lectura */
.rg-read{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;scrollbar-width:none}
.rg-read::-webkit-scrollbar{display:none}
.rg.reading .rg-read{overflow-y:auto;pointer-events:auto;overscroll-behavior:contain}
.rg-cnt{position:relative}
.rg-vein{position:absolute;left:0;top:0;z-index:4;pointer-events:none;overflow:visible;mix-blend-mode:difference}
.rg-vein path{fill:none;stroke:#eadfcf;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.rg-tip{position:absolute;left:0;top:0;z-index:6;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff6ea;box-shadow:0 0 12px 3px rgba(255,196,130,.6),0 0 46px 12px rgba(255,120,40,.16);opacity:0;pointer-events:none}

.rg-open{position:relative;height:100vh;height:100svh}
.rg-ph{position:absolute;left:0;right:0;top:13%;display:flex;flex-direction:column;align-items:center;gap:.25em;text-align:center;padding:0 24px}
.rg-p1{font-weight:700;font-size:clamp(24px,3.3vw,58px);letter-spacing:-.02em;line-height:1.05}
.rg-p2{font-style:italic;font-size:clamp(50px,8.6vw,164px);line-height:1;letter-spacing:-.015em}
.rg-p3{position:absolute;left:50%;top:77%;transform:translateX(-50%);width:min(30ch,88vw);text-align:center;font-size:clamp(20px,2vw,34px);line-height:1.18;color:#ddd3c6}
.rg-cue{position:absolute;left:50%;bottom:4.5%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--gm-arena);opacity:0}
.rg-cue i{width:1px;height:38px;background:rgba(238,236,232,.25);position:relative;overflow:hidden}
.rg-cue i::after{content:"";position:absolute;inset:0;background:var(--gm-magma);animation:rgdrop 1.8s var(--ease) infinite}
@keyframes rgdrop{from{transform:translateY(-100%)}to{transform:translateY(100%)}}
.rg-open .wd,.rg-open .c{display:inline-block}

.ch{position:relative}
.wd{display:inline-block;opacity:0;will-change:transform,opacity,filter}
.rg-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sc-bg{position:absolute;inset:0;opacity:0;visibility:hidden;overflow:hidden}
.sc-bg img{width:100%;height:100%;object-fit:cover;will-change:transform}
.sc-bg-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,14,13,.84),rgba(16,14,13,.52))}
.sc-bg-marble{background:#ece7df center/cover no-repeat}
.sc{position:absolute;inset:0;display:flex;align-items:center;padding:0 clamp(26px,8vw,140px);opacity:0;will-change:opacity,transform}
.sc-t{width:100%;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(30px,3.7vw,66px);line-height:1.14;letter-spacing:-.005em;color:#e8e0d4}
.sc[data-side="r"] .sc-t{text-align:right}
.ln{display:block;max-width:min(16em,100%)}
.sc[data-side="r"] .ln{margin-left:auto}
.em{display:inline-block;position:relative;font-family:var(--font-brand);font-weight:700;font-size:1.5em;line-height:1;letter-spacing:-.03em;color:var(--gm-cal);transform-origin:0 85%;background:linear-gradient(var(--gm-magma),var(--gm-magma)) no-repeat 0 92%/0 .16em}
.sc[data-side="r"] .em{transform-origin:100% 85%}
.cw{display:inline-block;white-space:nowrap}
.em .c,.g .c{display:inline-block;will-change:transform,opacity}
.fx-xl{font-size:2.3em}
.fx-strike{background-position:0 58%}
.fx-shake{color:var(--gm-magma)}
.fx-flip,.fx-squeeze{transform-origin:50% 55%!important}
.fx-aside{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:1.2em;letter-spacing:0;color:var(--gm-arena)}
.eco{position:absolute;left:0;right:0;top:0;opacity:0;color:var(--gm-arena);pointer-events:none}
.g{display:block;font-family:var(--font-brand);font-weight:700;text-transform:uppercase;letter-spacing:-.045em;line-height:.86;color:var(--gm-magma);margin:.05em 0 .1em}
.gi{display:inline-flex;flex-direction:column;align-items:flex-start;position:relative;transform-origin:0 50%}
.sc[data-side="r"] .gi{align-items:flex-end;transform-origin:100% 50%}
.gl{display:block;white-space:nowrap}
.fx-stack{font-size:1.45em;line-height:.98;margin:.03em 0;color:var(--gm-cal)}
.fx-num{font-size:clamp(84px,13vw,230px);line-height:.8;letter-spacing:-.05em;margin-bottom:.14em}
.fx-count{font-variant-numeric:tabular-nums}
.fx-zone{color:var(--gm-cal);margin:.35em 0}
.ring{position:absolute;left:-13%;top:-24%;width:126%;height:148%;overflow:visible}
.ring ellipse{fill:none;stroke:var(--gm-magma);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 8px rgba(255,140,60,.55))}
.sc-q .sc-t{font-size:clamp(22px,2.3vw,40px);line-height:1.25;color:#b5a796}
.sc-q .ln{max-width:24em}
.sc-lt .sc-t,.sc-lt .em,.sc-lt .fx-stack{color:var(--gm-onix)}
.sc-lt .g{color:var(--gm-tierra-shade)}
.sc-lt.sc-q .sc-t{color:#5e5650}
.rg-end{position:relative;height:100vh;height:100svh;display:flex;flex-direction:column;align-items:center;padding-top:50vh;gap:14px;text-align:center}
.rg-sig{font-style:italic;font-size:clamp(54px,6.4vw,118px);line-height:1;letter-spacing:-.01em}
.rg-sig-l{color:var(--gm-arena)}
.rg-back{margin-top:clamp(20px,4vh,40px);min-height:52px;padding:0 26px;background:none;border:1px solid rgba(238,236,232,.5);color:var(--gm-cal);font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.rg-back:hover{background:var(--gm-magma);border-color:var(--gm-magma);color:var(--gm-onix)}
.rg-hud{position:absolute;left:clamp(20px,4vw,56px);bottom:max(26px,env(safe-area-inset-bottom));z-index:7;display:flex;gap:12px;align-items:baseline;color:#eadfcf;mix-blend-mode:difference;opacity:0;pointer-events:none;transition:opacity .6s}
.rg-hud.on{opacity:.85}

@media(max-width:800px){
.rg-card{font-size:19px}
.fx-xl{font-size:1.9em}
}
/* movimiento reducido: lectura como artículo */
.rg.rm .ch{height:auto!important}
.rg.rm .sc{position:relative;inset:auto;min-height:60vh;padding:12vh clamp(26px,8vw,140px);opacity:1}
.rg.rm .sc-bg{opacity:1;visibility:visible}
.rg.rm .wd{opacity:1}
