@font-face{font-family:LoyaltyItalic;src:url('/assets/studio-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
/* A renewal is one moment: its extra time and its gift stay together. */
.cwk-loyalty{--reward-blue:#12abf8;--reward-ink:#3d4348;min-width:0;max-width:100%;margin:28px 0 0;padding:0 0 18px;color:var(--reward-ink);font:400 15px/1.6 SitePublicSans,Arial,sans-serif}
.cwk-loyalty,.cwk-loyalty *{box-sizing:border-box}
.cwk-loyalty [hidden]{display:none!important}
.cwk-loyalty :is(h3,h4,p){margin:0;max-width:100%;overflow-wrap:break-word}
.cwk-loyalty .reward-heading{display:flex;flex-wrap:wrap;container-type:inline-size;gap:24px 38px;align-items:center;margin-bottom:25px}
.cwk-loyalty .reward-heading h3{--reward-heading-size:clamp(28px,3.4vw,40px);font:400 min(var(--reward-heading-size),6.6cqi)/1.13 SiteYoungSerif,Georgia,serif;letter-spacing:-.025em;white-space:nowrap}
.cwk-loyalty .reward-heading>p{flex:1 1 30ch;min-width:0;max-width:56ch;color:#526066;font-size:15px;line-height:1.6}
.cwk-loyalty .reward-instruction{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 24px;margin-bottom:12px}
.cwk-loyalty .reward-instruction>p{font:600 16px/1.5 SiteHankenGrotesk,Arial,sans-serif}
.cwk-loyalty .reward-instruction>span{font-size:12px;color:#526066}
.cwk-loyalty .reward-tabs{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:8px;max-width:100%;margin-bottom:17px}
.cwk-loyalty .reward-tabs button{display:grid;place-items:center;min-width:0;min-height:46px;padding:8px 4px;border:1px solid #d9dfe2;border-radius:10px;background:#fff;color:#3d4348;font:600 17px/1.2 SiteOutfit,Arial,sans-serif;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}
.cwk-loyalty .reward-tabs button:hover{border-color:#12abf8}
.cwk-loyalty .reward-tabs button[aria-selected=true]{border-color:#12abf8;box-shadow:inset 0 -3px 0 #12abf8;background:#12abf812}
.cwk-loyalty .reward-tabs button:focus-visible{outline:3px solid #12abf8;outline-offset:3px}
.cwk-loyalty .reward-panel{display:grid;grid-template-columns:1.1fr 1fr;min-height:285px;overflow:hidden;border:1px solid #12abf84d;border-radius:18px;background:#fff;box-shadow:0 8px 28px #3d434808}
.cwk-loyalty .reward-time{position:relative;padding:27px 32px 28px;min-width:0;background:linear-gradient(125deg,#fff 50%,#12abf808)}
.cwk-loyalty .reward-renewal-label{font:500 14px/1.4 SiteOutfit,Arial,sans-serif;color:#526066}
.cwk-loyalty .reward-amount{display:flex;align-items:baseline;gap:12px;margin:10px 0 13px;color:#3d4348}
.cwk-loyalty .reward-amount>strong{font:500 81px/1 SiteOutfit,Arial,sans-serif;letter-spacing:-5px}
.cwk-loyalty .reward-amount>span{font:400 22px/1.2 SiteYoungSerif,Georgia,serif;letter-spacing:-.5px}
.cwk-loyalty .reward-time h4{font:600 20px/1.3 SiteHankenGrotesk,Arial,sans-serif;margin-top:0}
.cwk-loyalty .reward-time>p:last-child{max-width:34ch;margin-top:7px;color:#526066;font-size:14px;line-height:1.5}
.cwk-loyalty .reward-gift{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;min-width:0;padding:25px 32px;border-left:1px dashed #12abf866;background:radial-gradient(ellipse at 80% 5%,#12abf810,transparent 65%),#fff}
.cwk-loyalty .reward-brand-sticker{display:grid;place-items:center;width:140px;height:65px;transform:rotate(-6deg);filter:drop-shadow(0 4px 3px #3d43481a)}
.cwk-loyalty .reward-brand-sticker img{display:block;max-width:100%;width:140px;height:65px;object-fit:contain}
.cwk-loyalty .reward-eyebrow{color:#526066;font-size:13px;line-height:1.4;margin-bottom:7px}
.cwk-loyalty .reward-gift h4{font:400 clamp(23px,2.3vw,30px)/1.2 SiteYoungSerif,Georgia,serif;letter-spacing:-.6px;max-width:25ch}
.cwk-loyalty .reward-gift-copy>p:last-child{margin-top:10px;color:#526066;font-size:13px;line-height:1.5;max-width:42ch}
.cwk-loyalty .reward-starts{margin-top:15px;font-size:13px;color:#526066}
.cwk-loyalty .reward-terms{margin-top:5px}
.cwk-loyalty .reward-terms>summary{min-height:44px;width:fit-content;max-width:100%;padding:10px 0;font:500 14px/1.6 SiteOutfit,Arial,sans-serif;cursor:pointer}
.cwk-loyalty .reward-terms>div{display:grid;gap:8px;padding-top:5px;max-width:84ch;color:#526066;font-size:13px;line-height:1.6}
.cwk-loyalty .reward-next{margin-bottom:18px;font:600 16px/1.5 SiteHankenGrotesk,Arial,sans-serif}
.loyalty-benefit,.cwk-checkout .co-plan-content .loyalty-benefit,.cwk-checkout [data-checkout-summary] .loyalty-benefit,#coaching-portal-app .loyalty-benefit{min-width:0;max-width:100%;margin-top:12px;color:#3d4348;font:400 15px/1.6 SitePublicSans,Arial,sans-serif;white-space:normal;overflow-wrap:anywhere}
.loyalty-benefit:not(li){display:block}
@media(max-width:800px){.cwk-loyalty .reward-heading{flex-direction:column;align-items:flex-start;gap:13px}.cwk-loyalty .reward-heading h3{--reward-heading-size:30px}.cwk-loyalty .reward-heading>p{flex-basis:auto}.cwk-loyalty .reward-instruction>span{display:none}.cwk-loyalty .reward-tabs{gap:5px}.cwk-loyalty .reward-time,.cwk-loyalty .reward-gift{padding:23px}.cwk-loyalty .reward-amount>strong{font-size:68px}}
@media(max-width:600px){.cwk-loyalty{margin-top:22px}.cwk-loyalty .reward-heading{margin-bottom:19px}.cwk-loyalty .reward-heading h3{--reward-heading-size:28px}.cwk-loyalty .reward-heading>p{font-size:14px}.cwk-loyalty .reward-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:13px}.cwk-loyalty .reward-tabs button{min-height:44px;font-size:16px}.cwk-loyalty .reward-panel{grid-template-columns:1fr;min-height:0;border-radius:14px}.cwk-loyalty .reward-time{padding:22px}.cwk-loyalty .reward-amount{margin:7px 0 10px}.cwk-loyalty .reward-amount>strong{font-size:64px;letter-spacing:-4px}.cwk-loyalty .reward-amount>span{font-size:21px}.cwk-loyalty .reward-time h4{font-size:19px}.cwk-loyalty .reward-gift{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:16px;padding:20px 22px;border-left:0;border-top:1px dashed #12abf866}.cwk-loyalty .reward-gift[data-reward-gift=none]{display:block}.cwk-loyalty .reward-brand-sticker,.cwk-loyalty .reward-brand-sticker img{width:76px;height:64px}.cwk-loyalty .reward-gift h4{font-size:22px}.cwk-loyalty .reward-gift-copy>p:last-child{font-size:12px;margin-top:8px}.cwk-loyalty .reward-eyebrow{font-size:12px;margin-bottom:5px}.cwk-loyalty .reward-instruction>p{font-size:15px}}
@media(max-width:350px){.cwk-loyalty .reward-gift{grid-template-columns:1fr;gap:5px}.cwk-loyalty .reward-brand-sticker{display:none}}
@media(prefers-reduced-motion:reduce){.cwk-loyalty .reward-tabs button{transition:none}}
@media(forced-colors:active){.cwk-loyalty .reward-panel,.cwk-loyalty .reward-tabs button{border-color:CanvasText;background:Canvas;box-shadow:none}.cwk-loyalty .reward-tabs button[aria-selected=true]{outline:2px solid Highlight}.cwk-loyalty .reward-time,.cwk-loyalty .reward-gift{background:Canvas}}
/* On the package step, rewards are an open blue section, not a disclosure. */
:is(.cwk-booking,.cwk-checkout) .plan-rewards{margin:30px 0 0;padding:0;border:0}
:is(.cwk-booking,.cwk-checkout) .plan-rewards .cwk-loyalty{margin-top:0}
.cwk-loyalty[data-loyalty-context=plans]{margin-top:30px;padding:30px 32px 24px;border:0;border-radius:22px 22px 22px 6px;background:#12abf8;color:#fff;box-shadow:none}
.cwk-loyalty[data-loyalty-context=plans] .reward-heading{gap:20px 40px;margin-bottom:27px}
.cwk-loyalty[data-loyalty-context=plans] .reward-heading h3{color:#fff;--reward-heading-size:clamp(29px,3.3vw,41px);line-height:1.15}
.cwk-loyalty[data-loyalty-context=plans] .reward-heading>p{color:#fff;font-size:18px;line-height:1.55;font-weight:500}
.cwk-loyalty[data-loyalty-context=plans] .reward-instruction{margin-bottom:15px}
.cwk-loyalty[data-loyalty-context=plans] .reward-instruction>p{color:#fff;font-size:17px;font-weight:600}
.cwk-loyalty[data-loyalty-context=plans] .reward-tabs{gap:8px;margin-bottom:19px}
.cwk-loyalty[data-loyalty-context=plans] .reward-tabs button{min-height:48px;border-color:#ffffff9c;background:transparent;color:#fff;box-shadow:none;font-size:18px}
.cwk-loyalty[data-loyalty-context=plans] .reward-tabs button:hover{border-color:#fff;background:#ffffff1a}
.cwk-loyalty[data-loyalty-context=plans] .reward-tabs button[aria-selected=true]{background:#fff;color:#3d4348;border-color:#fff;box-shadow:0 3px 0 #ffffff60}
.cwk-loyalty[data-loyalty-context=plans] .reward-tabs button:focus-visible{outline-color:#fff}
.cwk-loyalty[data-loyalty-context=plans] .reward-panel{border:0;background:#fff;box-shadow:none}
.cwk-loyalty[data-loyalty-context=plans] .reward-time,.cwk-loyalty[data-loyalty-context=plans] .reward-gift{background:#fff;color:#3d4348}
.cwk-loyalty[data-loyalty-context=plans] .reward-time h4,.cwk-loyalty[data-loyalty-context=plans] .reward-gift h4{color:#3d4348}
.cwk-loyalty[data-loyalty-context=plans] .reward-starts{font-size:16px;font-weight:600;color:#fff;margin-top:20px}
.cwk-loyalty[data-loyalty-context=plans] .reward-terms-inline{margin:13px 0 0;padding:14px 17px;border-radius:10px;background:#fff;color:#526066;font-size:14px;line-height:1.6}
@media(max-width:800px){.cwk-loyalty[data-loyalty-context=plans]{padding:25px}.cwk-loyalty[data-loyalty-context=plans] .reward-heading{gap:13px}.cwk-loyalty[data-loyalty-context=plans] .reward-heading>p{font-size:17px}}
@media(max-width:600px){.cwk-loyalty[data-loyalty-context=plans]{padding:24px 18px 20px;border-radius:17px 17px 17px 5px}.cwk-loyalty[data-loyalty-context=plans] .reward-heading h3{--reward-heading-size:30px}.cwk-loyalty[data-loyalty-context=plans] .reward-heading>p{font-size:16px}.cwk-loyalty[data-loyalty-context=plans] .reward-instruction>p{font-size:16px}.cwk-loyalty[data-loyalty-context=plans] .reward-tabs{gap:6px}.cwk-loyalty[data-loyalty-context=plans] .reward-tabs button{min-height:44px;font-size:17px}.cwk-loyalty[data-loyalty-context=plans] .reward-starts{font-size:15px}.cwk-loyalty[data-loyalty-context=plans] .reward-terms-inline{font-size:13px;padding:13px 14px}}
@media(forced-colors:active){.cwk-loyalty[data-loyalty-context=plans]{background:Canvas;color:CanvasText;border:1px solid CanvasText}.cwk-loyalty[data-loyalty-context=plans] :is(.reward-heading h3,.reward-heading>p,.reward-instruction>p,.reward-starts){color:CanvasText}.cwk-loyalty[data-loyalty-context=plans] .reward-tabs button{background:Canvas;color:CanvasText;border-color:CanvasText}.cwk-loyalty[data-loyalty-context=plans] .reward-tabs button[aria-selected=true]{outline:2px solid Highlight;background:Highlight;color:HighlightText}}

/* Portal field resets must not turn the selected white renewal tab's number white. */
#coaching-portal-app .cwk-loyalty .reward-tabs button{color:var(--reward-ink)}
#coaching-portal-app .cwk-loyalty[data-loyalty-context=plans] .reward-tabs button{color:#fff}
#coaching-portal-app .cwk-loyalty[data-loyalty-context=plans] .reward-tabs button[aria-selected=true]{color:var(--reward-ink)}
@media(forced-colors:active){#coaching-portal-app .cwk-loyalty .reward-tabs button{color:CanvasText}#coaching-portal-app .cwk-loyalty[data-loyalty-context=plans] .reward-tabs button[aria-selected=true]{color:HighlightText}}
/* Personal renewal progress is backed by paid renewals, separate from the reward preview. */
#coaching-portal-app .cwk-loyalty .reward-account-progress{background:#fff;border-radius:16px;padding:24px;margin:20px 0 24px;color:#3d4348}
#coaching-portal-app .cwk-loyalty .reward-account-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #12abf833;margin-bottom:20px}
#coaching-portal-app .cwk-loyalty .reward-account-total>div{display:flex;align-items:center;gap:18px}
#coaching-portal-app .cwk-loyalty .reward-account-total span{font:600 16px/1.4 SiteHankenGrotesk,Arial,sans-serif;color:#3d4348}
#coaching-portal-app .cwk-loyalty .reward-account-total strong{font:600 42px/1 SiteOutfit,Arial,sans-serif;color:#3d4348}
#coaching-portal-app .cwk-loyalty .reward-account-total p{font:500 15px/1.5 SitePublicSans,Arial,sans-serif;color:#3d4348}
#coaching-portal-app .cwk-loyalty .reward-earned-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#coaching-portal-app .cwk-loyalty .reward-earned-step{display:grid;align-content:start;gap:8px;min-width:0;padding:17px;border:1px solid #d9dfe2;border-radius:12px;color:#3d4348;background:#fff}
#coaching-portal-app .cwk-loyalty .reward-earned-step.is-earned{border-color:#12abf8;background:#12abf808}
#coaching-portal-app .cwk-loyalty .reward-earned-step>span{font:600 23px/1 SiteOutfit,Arial,sans-serif;color:#12abf8}
#coaching-portal-app .cwk-loyalty .reward-earned-step strong{font:600 16px/1.4 SiteHankenGrotesk,Arial,sans-serif;color:#3d4348}
#coaching-portal-app .cwk-loyalty .reward-earned-step small{font:400 13px/1.4 SitePublicSans,Arial,sans-serif;color:#526066}
#coaching-portal-app .cwk-loyalty .reward-earned-history{display:grid;gap:0;margin-top:20px;max-height:280px;overflow:auto}
#coaching-portal-app .cwk-loyalty .reward-earned-history>div{display:grid;grid-template-columns:110px 1fr;gap:5px 18px;padding:14px 0;border-top:1px solid #12abf833;color:#3d4348}
#coaching-portal-app .cwk-loyalty .reward-earned-history strong{font:600 15px/1.5 SiteHankenGrotesk,Arial,sans-serif}
#coaching-portal-app .cwk-loyalty .reward-earned-history span,#coaching-portal-app .cwk-loyalty .reward-earned-history small{font:400 14px/1.5 SitePublicSans,Arial,sans-serif;color:#526066}
#coaching-portal-app .cwk-loyalty .reward-earned-history small{grid-column:2}
@media(max-width:600px){#coaching-portal-app .cwk-loyalty .reward-account-progress{padding:18px 15px}#coaching-portal-app .cwk-loyalty .reward-earned-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#coaching-portal-app .cwk-loyalty .reward-earned-step{padding:13px}#coaching-portal-app .cwk-loyalty .reward-account-total{align-items:flex-start;flex-direction:column;gap:12px}#coaching-portal-app .cwk-loyalty .reward-earned-history>div{grid-template-columns:1fr}#coaching-portal-app .cwk-loyalty .reward-earned-history small{grid-column:1}}
