.heart-carousel{--navy-50:#e8f0fa;--navy-200:#8ab4e0;--navy-300:#5a8bc2;--brand-primary:#c9a55a;--motion-easing:cubic-bezier(.4, 0, .2, 1);--card-w:clamp(440px, 50vw, 640px);--card-h:calc(var(--card-w) * .6);isolation:isolate;color:var(--navy-50);background:0 0;flex-direction:column;align-items:center;padding:1rem 0 1.5rem;display:flex;position:relative;overflow:hidden}.heart-carousel:before,.heart-carousel:after{content:none}.el-intro,.heart-carousel .stage,.heart-carousel .controls,.el-outro{z-index:1;position:relative}.el-intro{width:100%;max-width:1160px}.el-eyebrow{font-family:var(--font-mono);letter-spacing:.34em;text-transform:uppercase;color:var(--brand-primary);align-items:center;gap:16px;margin:0 0 18px;font-size:11px;display:flex}.el-eyebrow:after{content:"";background:linear-gradient(90deg,#c9a55ab3,#0000);width:58px;height:1px}.el-title{letter-spacing:-.025em;color:#fff;margin:0 0 16px;font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1.04}.el-title em{background:linear-gradient(96deg, #f3dfa8 0%, var(--brand-primary) 46%, #b98a3f 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.el-lede{max-width:620px;color:var(--navy-200);margin:0;font-size:clamp(14px,1.15vw,16px);line-height:1.62}.heart-carousel .stage{perspective:2200px;perspective-origin:50% 48%;touch-action:pan-y;justify-content:center;align-items:center;width:100%;max-width:1160px;min-height:min(60vh,520px);margin:clamp(8px,2vh,22px) 0 clamp(14px,2.4vh,26px);display:flex}.heart-carousel .track{transform-style:preserve-3d;position:absolute;inset:0}.heart-carousel .slot{width:var(--card-w);height:var(--card-h);margin-left:calc(var(--card-w) / -2);margin-top:calc(var(--card-h) / -2);transform-style:preserve-3d;will-change:transform, opacity;cursor:pointer;position:absolute;top:50%;left:50%}.heart-carousel .slot.is-center{cursor:default}.heart-carousel .track.is-ready .slot{transition:transform var(--slide-ms,.54s) cubic-bezier(.22, .61, .36, 1), opacity calc(var(--slide-ms,.54s) * .8) ease}.heart-carousel .track.is-dragging .slot{transition:none}.heart-carousel .nav{z-index:200;-webkit-backdrop-filter:blur(8px);cursor:pointer;width:46px;height:46px;transition:background .18s var(--motion-easing), border-color .18s var(--motion-easing), opacity .18s var(--motion-easing), transform .18s var(--motion-easing);background:#0c14268c;border:1px solid #c9a55a38;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.heart-carousel .nav:hover{background:#c9a55a24;border-color:#c9a55a80}.heart-carousel .nav-prev{left:clamp(4px,2vw,26px)}.heart-carousel .nav-next{right:clamp(4px,2vw,26px)}.heart-carousel .nav i{border-bottom:1.6px solid #e7d3a3;border-right:1.6px solid #e7d3a3;width:11px;height:11px}.heart-carousel .nav-prev i{margin-left:3px;transform:rotate(135deg)}.heart-carousel .nav-next i{margin-right:3px;transform:rotate(-45deg)}.heart-carousel .controls{justify-content:center;align-items:center;gap:18px;margin-top:2px;display:flex}.heart-carousel .dots{align-items:center;gap:8px;display:flex}.heart-carousel .dot{cursor:pointer;width:7px;height:7px;transition:width .26s var(--motion-easing), background .26s var(--motion-easing);background:#96afdc47;border:0;border-radius:999px;padding:0}.heart-carousel .dot.is-on{background:linear-gradient(90deg, var(--brand-primary), #e7d3a3);width:22px}.heart-carousel .counter{font-family:var(--font-mono);letter-spacing:.12em;color:var(--navy-300);font-variant-numeric:tabular-nums;font-size:12px}.heart-carousel .counter b{color:#f0dca6;font-weight:500}.el-outro{text-align:center;max-width:620px;color:var(--navy-300);margin:clamp(16px,2.6vh,30px) auto 0;font-size:13.5px;line-height:1.6}.el-outro em{color:var(--brand-primary);font-style:normal}.el-quiet{z-index:1;text-align:center;font-family:var(--font-mono);letter-spacing:.14em;color:#c9a55a8c;margin:clamp(22px,3.2vh,38px) auto 0;font-size:12px;position:relative}.heart-carousel .pillar-card{--mx:.5;--my:.5;--rx:0deg;--ry:0deg;--lift:0px;--scl:1;--active:0;--hover:0;--gold-hue:42deg;--gold-range:1;--gold-sat:66%;--gold-light:60%;--gA:hsl(calc(var(--gold-hue) + 22deg * var(--gold-range)) calc(var(--gold-sat) * .8) calc(var(--gold-light) + 18%));--gB:hsl(calc(var(--gold-hue) + 6deg) var(--gold-sat) calc(var(--gold-light) + 5%));--gC:hsl(calc(var(--gold-hue) - 8deg * var(--gold-range)) calc(var(--gold-sat) * 1.05) calc(var(--gold-light) - 8%));--gD:hsl(calc(var(--gold-hue) - 20deg * var(--gold-range)) calc(var(--gold-sat) * .85) calc(var(--gold-light) - 12%));--gE:hsl(calc(var(--gold-hue) - 30deg * var(--gold-range)) calc(var(--gold-sat) * .7) calc(var(--gold-light) - 3%));--gF:hsl(calc(var(--gold-hue) + 10deg) var(--gold-sat) calc(var(--gold-light) + 11%));transform-style:preserve-3d;transform:translateZ(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--scl));will-change:transform;border-radius:20px;transition:transform 80ms linear;position:absolute;inset:0}.heart-carousel .pillar-ambient{pointer-events:none;z-index:-1;filter:blur(48px);transform:translateZ(-90px) scale(calc(var(--glow-size,112%) / 100));opacity:calc(var(--ambient,.8) * (.34 + .66 * var(--active)));mix-blend-mode:screen;background:radial-gradient(54% 54% at calc(var(--mx) * 100%) calc(var(--my) * 100%), hsl(var(--gold-hue) var(--gold-sat) calc(var(--gold-light) + 18%) / .85) 0%, hsl(calc(var(--gold-hue) - 16deg) calc(var(--gold-sat) * .92) calc(var(--gold-light) - 6%) / .36) 42%, transparent 74%);border-radius:50%;position:absolute;inset:-24%}.heart-carousel .pillar-face{transform-style:preserve-3d;isolation:isolate;background:linear-gradient(#101a30 0%,#0a1120 100%);border-radius:20px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,inset 0 0 0 1px #ffffff0b,0 34px 66px -22px #000000b8,0 14px 30px -14px #0009}.heart-carousel .pillar-base{background:linear-gradient(#96b4ff0d 0%,#0000 30%),radial-gradient(150% 135% at 50% -12%,#1b2b4e 0%,#13223f 40%,#0c1830 72%,#081120 100%);position:absolute;inset:0}.heart-carousel .pillar-holo{pointer-events:none;mix-blend-mode:screen;opacity:calc(var(--holo,.55) * (.5 + .5 * var(--active)));transition:opacity .22s var(--motion-easing);background:linear-gradient(calc(118deg + var(--mx) * 66deg), hsl(calc(var(--gold-hue) + 20deg * var(--gold-range)) calc(var(--gold-sat) * .82) calc(var(--gold-light) + 12%) / .62) 0%, hsl(calc(var(--gold-hue) + 2deg) var(--gold-sat) calc(var(--gold-light) + 1%) / .32) 44%, hsl(calc(var(--gold-hue) - 20deg * var(--gold-range)) calc(var(--gold-sat) * .88) calc(var(--gold-light) - 9%) / .5) 100%);position:absolute;inset:0}.heart-carousel .pillar-iris{pointer-events:none;mix-blend-mode:screen;opacity:calc(var(--iris-intensity,.7) * (.18 + .82 * var(--active)));transition:opacity .2s var(--motion-easing);background:conic-gradient(from calc(var(--iris-angle,40deg) + var(--mx) * 300deg) at calc(var(--mx) * 100%) calc(var(--my) * 100%), var(--gA), var(--gB), var(--gC), var(--gD), var(--gE), var(--gF), var(--gA));-webkit-mask-image:radial-gradient(var(--iris-spread,72%) var(--iris-spread,72%) at calc(var(--mx) * 100%) calc(var(--my) * 100%), #000000fa 0%, #0009 34%, #0000001f 66%, transparent 90%);-webkit-mask-image:radial-gradient(var(--iris-spread,72%) var(--iris-spread,72%) at calc(var(--mx) * 100%) calc(var(--my) * 100%), #000000fa 0%, #0009 34%, #0000001f 66%, transparent 90%);mask-image:radial-gradient(var(--iris-spread,72%) var(--iris-spread,72%) at calc(var(--mx) * 100%) calc(var(--my) * 100%), #000000fa 0%, #0009 34%, #0000001f 66%, transparent 90%);filter:saturate(112%)contrast(106%);position:absolute;inset:0}.heart-carousel .pillar-sheen{pointer-events:none;mix-blend-mode:screen;opacity:calc(var(--sheen,.32) * (.16 + .84 * var(--active)));transition:opacity .2s var(--motion-easing);background:linear-gradient(calc(102deg + var(--ry,0deg) * -2), transparent 0%, transparent calc(var(--my) * 100% - 15%), #f0e8cd0d calc(var(--my) * 100% - 9%), #fff6dc8c calc(var(--my) * 100%), #f0e8cd0d calc(var(--my) * 100% + 9%), transparent calc(var(--my) * 100% + 15%), transparent 100%);filter:blur(8px);position:absolute;inset:-10% -3%}.heart-carousel .pillar-specular{pointer-events:none;mix-blend-mode:screen;opacity:calc(var(--specular-intensity,.6) * var(--hover,0));transition:opacity .18s var(--motion-easing);background:radial-gradient(var(--specular-size,52%) var(--specular-size,52%) at calc(var(--mx) * 100%) calc(var(--my) * 100%), #fffaebd1 0%, #fff0cd47 22%, #fff0cd0d 46%, transparent 70%);position:absolute;inset:0}.heart-carousel .pillar-rim{pointer-events:none;opacity:calc(var(--rim-iris,.9) * (.5 + .5 * var(--active)));transition:opacity .2s var(--motion-easing);background:conic-gradient(from calc(var(--mx) * 300deg + var(--iris-angle,40deg)), hsl(calc(var(--gold-hue) + 20deg * var(--gold-range)) calc(var(--gold-sat) * .9) calc(var(--gold-light) + 26%)), hsl(calc(var(--gold-hue) - 6deg) var(--gold-sat) calc(var(--gold-light) + 14%)), hsl(calc(var(--gold-hue) - 24deg * var(--gold-range)) calc(var(--gold-sat) * .8) calc(var(--gold-light) + 6%)), hsl(calc(var(--gold-hue) + 8deg) var(--gold-sat) calc(var(--gold-light) + 22%)), hsl(calc(var(--gold-hue) - 14deg * var(--gold-range)) calc(var(--gold-sat) * .85) calc(var(--gold-light) + 10%)), hsl(calc(var(--gold-hue) + 20deg * var(--gold-range)) calc(var(--gold-sat) * .9) calc(var(--gold-light) + 26%)));-webkit-mask-composite:xor;border-radius:20px;padding:1.75px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.heart-carousel .pillar-noise{pointer-events:none;opacity:var(--noise-opacity,.1);mix-blend-mode:overlay;background-image:url(/noise.svg);background-size:calc(180px * var(--noise-scale,.9)) calc(180px * var(--noise-scale,.9));position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.heart-carousel .pillar-card,.heart-carousel .slot{transition:none!important}}.heart-carousel .heart-content{text-align:center;font-family:var(--font-sans);transform:translateZ(calc(var(--parallax,26px) * var(--depth,1) * var(--active)));flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2vh,18px);padding:clamp(26px,7%,40px) clamp(28px,7%,46px);transition:transform 80ms linear;display:flex;position:absolute;inset:0}.heart-carousel .heart-label{letter-spacing:-.02em;color:#fffffff7;text-wrap:balance;margin:0;font-size:clamp(22px,2.2vw,30px);font-weight:600;line-height:1.12}.heart-carousel .heart-rule{background:#c9a55a80;border:0;width:2.75rem;height:1px;margin:2px auto 4px}.heart-carousel .heart-body{color:#e2ecfadb;max-width:46ch;margin:0 auto;font-size:clamp(15px,1.5vw,18px);line-height:1.55}.heart-carousel .heart-body .rt-b{color:#f3e8d2;font-weight:600}.heart-carousel .heart-body .rt-i{font-style:italic}.heart-carousel .slot .pillar-card:after{content:"";pointer-events:none;z-index:3;border-radius:22px;animation:3.4s ease-in-out infinite heartPulse;position:absolute;inset:-2px;box-shadow:0 0 #c9a55a00}@keyframes heartPulse{0%,to{box-shadow:0 0 #c9a55a00}50%{box-shadow:0 0 34px 2px #c9a55a38}}@media (prefers-reduced-motion:reduce){.heart-carousel .slot .pillar-card:after{animation:none}}
