#services.promise-section{height:540svh;background:#f7f7f4!important;color:#20251f;--unfold:0;--cards:0;--progress:0}
.promise-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:#f7f7f4}
.promise-top{position:absolute;top:115px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em;color:#676e63;z-index:5}
.promise-title{position:absolute;left:0;right:0;top:calc(35% - var(--unfold)*20%);text-align:center;font:400 clamp(75px,12.5vw,190px)/1 'Inter Tight',Arial,sans-serif;letter-spacing:-.065em;margin:0;transform:scale(calc(1 - var(--unfold)*.55));transform-origin:center top;z-index:0;color:#252a23}
.promise-title em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.045em}
.promise-object{position:absolute;left:50%;top:49%;width:min(850px,75vw);transform:translate(calc(-50% - var(--unfold)*26vw),calc(-40% + var(--unfold)*11%)) scale(calc(1.15 - var(--unfold)*.44)) rotate(calc(-8deg + var(--unfold)*10deg));transform-origin:center;z-index:2;pointer-events:none;will-change:transform}
.promise-object img{width:100%;display:block;filter:drop-shadow(0 28px 24px #25332613)}
.promise-deck{position:absolute;inset:0;perspective:1200px;opacity:var(--cards);z-index:3;pointer-events:none}
.promise-card{position:absolute;left:64%;top:53%;width:clamp(320px,32vw,470px);padding:30px 34px;transform:translate(calc(-50% + var(--offset)*115%),-42%) translateZ(calc(var(--depth)*-270px)) rotateY(calc(var(--offset)*-19deg));opacity:clamp(0,calc(1 - var(--depth)*.75),1);filter:blur(calc(var(--depth)*2px));border:1px solid #78806d55;background:#f7f7f4de;text-align:left;pointer-events:none;box-shadow:0 16px 50px #1c311705;will-change:transform,opacity;min-height:365px}
.promise-card:before,.promise-card:after{content:'+';position:absolute;font-size:16px;color:#737d69;line-height:1}.promise-card:before{top:-8px;left:-5px}.promise-card:after{bottom:-8px;right:-5px}.promise-card.current{pointer-events:auto}
.promise-number{display:block;font-size:11px;color:#58674e;margin-bottom:24px}.promise-meta{display:block;font-size:11px;color:#74796f}.promise-card h3{font:400 clamp(31px,3vw,46px)/1.05 'Inter Tight',Arial,sans-serif;letter-spacing:-.04em;margin:16px 0 24px}.promise-card h3 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400}.promise-card p{font-size:16px;line-height:1.5;margin:0;color:#495044}.promise-good{font-size:11px;line-height:1.5;margin-top:24px;color:#727869}.promise-card a{display:flex;justify-content:space-between;font-size:13px;text-decoration:none;color:#2b3426;border-top:1px solid #7b866d40;padding-top:15px;margin-top:23px}
.promise-footer{position:absolute;bottom:40px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:5;font-size:11px;color:#747b6c}.promise-hint span{display:block;margin-top:7px}.promise-footer nav{display:flex;gap:13px;opacity:var(--cards)}.promise-footer button{font:inherit;background:transparent;border:1px solid #89947e70;color:#6b7561;border-radius:50%;width:37px;height:37px;cursor:pointer}.promise-footer button[aria-current=step]{background:#283527;color:#f7f7f4;border-color:#283527}.promise-progress{opacity:var(--cards)}body.promise-active .ssw{display:none!important}
@media(max-width:700px){#services.promise-section{height:570svh;padding:0!important}.promise-top{top:100px;font-size:9px}.promise-title{top:calc(36% - var(--unfold)*19%);font-size:22vw;transform:scale(calc(1 - var(--unfold)*.3))}.promise-object{width:110vw;top:calc(47% - var(--unfold)*12%);transform:translate(calc(-50% - var(--unfold)*32vw),-35%) scale(calc(1 - var(--unfold)*.55)) rotate(calc(-7deg + var(--unfold)*12deg));opacity:calc(1 - var(--unfold)*.32)}.promise-card{left:50%;top:49%;width:83vw;padding:24px;min-height:350px;transform:translate(calc(-50% + var(--offset)*112%),-25%) translateZ(calc(var(--depth)*-160px)) rotateY(calc(var(--offset)*-15deg))}.promise-card h3{font-size:34px}.promise-card p{font-size:14px}.promise-number{margin-bottom:18px}.promise-good{margin-top:18px;font-size:10px}.promise-footer{bottom:22px;font-size:9px}.promise-hint{max-width:130px}.promise-footer button{width:30px;height:30px}.promise-footer nav{gap:7px}}
@media(prefers-reduced-motion:reduce),(max-height:740px){#services.promise-section{height:auto}.promise-stage{position:relative;height:auto;padding:110px var(--gutter) 70px;overflow:visible}.promise-top{position:static;margin-bottom:35px}.promise-title{position:static;transform:none;font-size:clamp(60px,10vw,110px)}.promise-object{position:relative;left:auto;top:auto;transform:none;width:min(550px,100%);margin:0 auto;opacity:1}.promise-deck{position:relative;inset:auto;opacity:1;display:grid;gap:25px;perspective:none}.promise-card{position:relative;inset:auto;width:100%;transform:none;filter:none;opacity:1;pointer-events:auto;min-height:0}.promise-footer{position:static;margin-top:30px}.promise-footer nav,.promise-progress{display:none}.promise-hint{max-width:none}}
.promise-card.current{filter:none;opacity:1}.promise-card h3 em.it{font-family:'Instrument Serif',Georgia,serif!important;font-style:italic!important;text-decoration:none!important;background:none!important}

/* Simplified engagement cards and title grouping. */
.promise-subtitle{display:block;margin-top:22px;font:400 20px/1.4 'Inter Tight',Arial,sans-serif;letter-spacing:.025em;color:#747b6c;text-transform:uppercase}
.promise-card::before,.promise-card::after{display:none}
.promise-footer nav{position:absolute;left:50%;transform:translateX(-50%)}
@media(max-width:700px){.promise-subtitle{font-size:14px;margin-top:16px}.promise-footer nav{left:auto;right:0;transform:none}}
@media(prefers-reduced-motion:reduce),(max-height:740px){.promise-subtitle{font-size:11px}.promise-title{margin-bottom:24px}}

.promise-title{font-size:clamp(64px,10vw,160px);letter-spacing:-.035em}.promise-subtitle{text-transform:none;letter-spacing:-.015em;font-size:28px}
@media(max-width:700px){.promise-title{font-size:17vw}.promise-subtitle{font-size:20px}}
/* Larger title travels from the centre into a left-aligned composition. */
.promise-title{left:calc(5% * var(--unfold));right:0;top:calc(35% - var(--unfold)*19%);text-align:left;width:max-content;max-width:95%;font-size:clamp(72px,11vw,176px);transform:translateX(calc((1 - var(--unfold))* (50vw - 50%))) scale(calc(1 - var(--unfold)*.38));transform-origin:left top}
.promise-subtitle{text-align:left;font-size:30px;margin-top:24px}
.promise-card{border-radius:26px;overflow:hidden}
@media(max-width:700px){.promise-title{left:6%;right:auto;max-width:88%;width:88%;font-size:19vw;top:calc(31% - var(--unfold)*15%);transform:scale(calc(1 - var(--unfold)*.25))}.promise-subtitle{font-size:21px;margin-top:18px}.promise-card{border-radius:22px;top:52%}}
@media(prefers-reduced-motion:reduce),(max-height:740px){.promise-title{position:static;transform:none;max-width:100%;width:100%;font-size:clamp(64px,10vw,140px);text-align:left}.promise-subtitle{font-size:20px}.promise-card{top:auto}}
