.promise{--p-rose:#e596b8;--p-violet:#9664c9;--p-gold:#edc998;--p-coral:#df806f;position:relative;isolation:isolate;overflow:hidden;padding:clamp(6rem,10vw,9.5rem) 0 clamp(5.5rem,9vw,8rem);background:linear-gradient(138deg,#160a13 0%,#251020 38%,#1c1028 72%,#100a13 100%);color:#fff8f5}
.promise:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 6% 18%,rgba(223,128,111,.25),transparent 24%),radial-gradient(circle at 48% 4%,rgba(229,150,184,.18),transparent 31%),radial-gradient(circle at 93% 78%,rgba(150,100,201,.26),transparent 31%),linear-gradient(90deg,rgba(237,201,152,.035) 1px,transparent 1px);background-size:auto,auto,auto,92px 100%;animation:promiseWash 12s ease-in-out infinite alternate}
.promise:after{content:"R";position:absolute;z-index:-2;left:50%;top:46%;translate:-50% -50%;color:transparent;-webkit-text-stroke:1px rgba(237,201,152,.055);font-family:Italiana,serif;font-size:min(46vw,44rem);line-height:1;pointer-events:none;animation:promiseMonogram 10s ease-in-out infinite}
.promise-glow{position:absolute;right:-12rem;top:-12rem;width:34rem;height:34rem;border:1px solid rgba(237,201,152,.15);border-radius:50%;box-shadow:0 0 0 4rem rgba(229,150,184,.045),0 0 0 9rem rgba(150,100,201,.035);animation:promiseBreathe 8s ease-in-out infinite}
.promise-glow:after{content:"";position:absolute;left:-78vw;top:48%;width:95vw;height:1px;background:linear-gradient(90deg,transparent,var(--p-rose),var(--p-gold),transparent);opacity:.35;transform:rotate(-8deg);animation:promiseRay 7s ease-in-out infinite}
.promise-intro{text-align:center}.promise-kicker{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:0 0 1.2rem;color:var(--p-gold);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.promise-kicker i{width:42px;height:1px;background:linear-gradient(90deg,transparent,var(--p-coral))}.promise-kicker i:last-child{background:linear-gradient(90deg,var(--p-violet),transparent)}
.promise h2{max-width:900px;margin:0 auto;color:#fff8f5;font-family:Italiana,serif;font-size:clamp(3.1rem,6vw,6.4rem);font-weight:400;line-height:.98;letter-spacing:-.025em;text-wrap:balance}.promise h2 span{display:inline-block;background:linear-gradient(105deg,#fff8f5 15%,#f3c3d5 48%,#c6a7ee 76%,#f3d5ae);background-size:180% auto;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.22;filter:blur(4px);translate:0 18px;transition:opacity .72s ease,filter .72s ease,translate .72s ease;transition-delay:calc(var(--word-index)*75ms);animation:promiseHeadline 8s linear infinite}.promise.is-visible h2 span{opacity:1;filter:none;translate:0 0}
.promise-lead{max-width:610px;margin:1.5rem auto 0;color:#c8b1bd;font-size:.97rem;line-height:1.8}
.promise-stage{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:clamp(3.5rem,7vw,6rem)}
.promise-line{position:absolute;z-index:-1;left:8%;right:8%;top:48px;height:1px;background:rgba(237,201,152,.14);overflow:visible}.promise-line i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--p-coral),var(--p-rose),var(--p-violet),var(--p-gold));box-shadow:0 0 16px rgba(229,150,184,.7);transition:width 1.5s cubic-bezier(.2,.7,.2,1) .3s}.promise-line i:after{content:"";float:right;width:8px;height:8px;margin-top:-3px;border-radius:50%;background:#fff2dc;box-shadow:0 0 18px 5px rgba(229,150,184,.65);animation:promiseSpark 1.5s ease-in-out infinite}.promise.is-visible .promise-line i{width:100%}
.promise-card{--card-accent:var(--p-rose);position:relative;min-width:0;overflow:hidden;padding:1.35rem 1.25rem 1.5rem;border:1px solid color-mix(in srgb,var(--card-accent) 28%,transparent);border-radius:1.2rem;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 18px 50px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(9px);opacity:0;translate:0 28px;transition:opacity .65s ease,translate .65s ease,transform .35s ease,box-shadow .35s ease,border-color .35s ease;transition-delay:calc(.35s + var(--promise-index)*110ms)}
.promise-card:nth-of-type(1){--card-accent:var(--p-coral)}.promise-card:nth-of-type(2){--card-accent:var(--p-rose)}.promise-card:nth-of-type(3){--card-accent:var(--p-violet)}.promise-card:nth-of-type(4){--card-accent:var(--p-gold)}
.promise-card:before{content:"";position:absolute;left:-35%;right:-35%;bottom:-7rem;height:11rem;border-radius:50%;background:var(--card-accent);filter:blur(52px);opacity:.09;transition:opacity .35s,transform .5s}.promise-card:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.08) 45%,transparent 70%);transform:translateX(-130%);transition:transform .75s ease}.promise.is-visible .promise-card{opacity:1;translate:0 0;animation:promiseCardFloat 7s ease-in-out infinite;animation-delay:calc(var(--promise-index)*-.8s)}.promise-card:hover{transform:translateY(-10px) rotateX(1deg);border-color:color-mix(in srgb,var(--card-accent) 58%,transparent);box-shadow:0 30px 65px rgba(0,0,0,.32),0 0 28px color-mix(in srgb,var(--card-accent) 17%,transparent)}.promise-card:hover:before{opacity:.2;transform:translateY(-1rem)}.promise-card:hover:after{transform:translateX(130%)}
.promise-card>span{position:absolute;right:1rem;top:.9rem;color:color-mix(in srgb,var(--card-accent) 62%,#fff);font-family:Italiana,serif;font-size:.85rem}.promise-mark{position:relative;width:68px;height:68px;display:grid;place-items:center;margin-bottom:1.4rem;border:1px solid color-mix(in srgb,var(--card-accent) 42%,transparent);border-radius:50%;background:rgba(12,6,11,.43);box-shadow:inset 0 0 24px color-mix(in srgb,var(--card-accent) 10%,transparent);transition:transform .55s ease,background .3s ease,box-shadow .3s ease}.promise-mark:before,.promise-mark:after,.promise-mark i:before,.promise-mark i:after{content:"";position:absolute;width:14px;height:22px;border:1px solid var(--card-accent);border-radius:80% 20% 70% 30%;transform-origin:50% 100%}.promise-mark:before{transform:translateY(-9px)}.promise-mark:after{transform:rotate(180deg) translateY(-9px)}.promise-mark i:before{transform:rotate(90deg) translateY(-9px)}.promise-mark i:after{transform:rotate(270deg) translateY(-9px)}.promise-card:hover .promise-mark{transform:rotate(45deg) scale(1.09);background:color-mix(in srgb,var(--card-accent) 12%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--card-accent) 22%,transparent)}
.promise-card h3{position:relative;margin:0;color:#fff3f1;font-family:Italiana,serif;font-size:1.35rem;font-weight:400}.promise-card p{position:relative;max-height:0;overflow:hidden;margin:.65rem 0 0;color:#c6b2bc;font-size:.78rem;line-height:1.65;opacity:0;transition:max-height .45s ease,opacity .35s ease}.promise-card:hover p,.promise-card:focus-within p{max-height:9rem;opacity:1}
.promise-next{width:max-content;display:flex;align-items:center;gap:1rem;margin:3rem auto 0;color:var(--p-gold);text-decoration:none;font-size:.71rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.promise-next i{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(237,201,152,.35);border-radius:50%;font-style:normal;box-shadow:0 0 0 rgba(229,150,184,0);animation:promiseNudge 2.2s ease-in-out infinite;transition:background .25s,color .25s}.promise-next:hover i{background:linear-gradient(135deg,#9c315c,#76509f);color:#fff}
@keyframes promiseWash{to{filter:hue-rotate(8deg) saturate(1.12)}}@keyframes promiseBreathe{50%{transform:scale(1.07);opacity:.72}}@keyframes promiseMonogram{50%{opacity:.5;transform:scale(1.025)}}@keyframes promiseRay{50%{transform:translateX(8vw) rotate(-8deg);opacity:.6}}@keyframes promiseHeadline{to{background-position:180% center}}@keyframes promiseSpark{50%{scale:1.45;opacity:.7}}@keyframes promiseCardFloat{50%{translate:0 -5px}}@keyframes promiseNudge{50%{translate:0 7px;box-shadow:0 0 22px rgba(229,150,184,.3)}}
@media(max-width:850px){.promise-stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.85rem;margin-left:14px;margin-right:0;padding-right:30px;padding-bottom:1.5rem;scrollbar-width:none}.promise-stage::-webkit-scrollbar{display:none}.promise-card{flex:0 0 min(78vw,310px);scroll-snap-align:center;opacity:1;translate:none;animation:promiseCardFloat 7s ease-in-out infinite}.promise-line{display:none}.promise-card p{max-height:9rem;opacity:1}.promise h2{font-size:clamp(3rem,12vw,5rem)}}
@media(max-width:520px){.promise{padding-top:5.5rem}.promise-intro{width:min(100% - 28px,1180px)}.promise h2{font-size:clamp(2.85rem,13vw,4.2rem)}.promise-lead{font-size:.94rem}.promise-stage{width:auto}.promise-card{flex-basis:82vw}}
@media(prefers-reduced-motion:reduce){.promise:before,.promise:after,.promise-glow,.promise-glow:after,.promise h2,.promise-line i:after,.promise-card,.promise-next i{animation:none!important}.promise h2 span,.promise-card,.promise-line i,.promise-mark,.promise-next i{transition:none!important}.promise h2 span,.promise-card{opacity:1!important;filter:none!important;translate:none!important}}
