/* Goal builder: the cards, connectors and motion use the existing UGC Grow visual language. */
.goals{padding:104px 0 116px;background:radial-gradient(ellipse 65% 75% at 50% 53%,#f4f7fd 0%,#fbfcfe 58%,#fff 100%);overflow:hidden;text-align:center}
.goals .section-shell{width:min(1160px,calc(100% - 48px))}
.goals .eyebrow{color:#666d79}
.goals h2{max-width:900px;margin:19px auto 14px;color:#252628;font-size:clamp(40px,4.3vw,58px);font-weight:620;letter-spacing:-.055em;line-height:1.08}
.goals .section-shell>p{max-width:630px;margin:0 auto;color:#686c73;font-size:18px;line-height:1.48;letter-spacing:-.015em}
.goals .goal-tabs{position:relative;display:flex;width:max-content;max-width:100%;gap:3px;padding:5px;margin:34px auto 0;border:1px solid #eaedf2;border-radius:999px;background:#fff;box-shadow:0 8px 22px #2334500c}
.goals .goal-tabs button{position:relative;z-index:1;flex:none;padding:12px 21px;border:0;border-radius:999px;background:transparent;color:#777b82;font-size:14px;font-weight:590;white-space:nowrap;transition:color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease}
.goals .goal-tabs button:hover{color:#24262b;transform:translateY(-1px)}
.goals .goal-tabs button.active{background:#090a0c;color:#fff;box-shadow:inset 0 1px 5px #ffffff33,0 3px 7px #0003}
.goals .goal-tabs button:focus-visible{outline:2px solid #5a8bf2;outline-offset:3px}
.goal-flow{height:94px;width:100%;max-width:1152px;margin:0 auto;overflow:hidden}
.goal-flow svg{display:block;width:100%;height:100%;overflow:visible}
.goal-flow path{fill:none;stroke:#c8d4e4;stroke-width:1.15;vector-effect:non-scaling-stroke;stroke-dasharray:1500;stroke-dashoffset:1500;transition:stroke-dashoffset 1.55s cubic-bezier(.22,.72,.2,1)}
.goals.flow-visible .goal-flow path{stroke-dashoffset:0}
.goal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}
.goal-card{position:relative;min-height:289px;padding:28px 28px 24px;border:1px solid #dfe6ef;border-radius:23px;background:linear-gradient(155deg,#fff 20%,#f8fbff 100%);box-shadow:0 12px 28px #18335609;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.goal-card:hover{transform:translateY(-8px);border-color:#bcd0ec;box-shadow:0 22px 40px #284a7c1a}
.goal-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,#c5d9ff46,transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.goal-card:hover::before{opacity:1}
.goal-card h3{position:relative;margin:0;font-size:16px;font-weight:640;letter-spacing:-.015em;color:#292b2f}
.goal-plan-card ul{position:relative;display:grid;gap:20px;padding:0;margin:39px 0 0;list-style:none}
.goal-plan-card li{position:relative;padding-left:32px;color:#3d4149;font-size:14px;line-height:1.4;letter-spacing:-.01em}
.goal-plan-card li::before{content:"✓";position:absolute;left:1px;top:1px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#4387fa;color:#fff;font-size:10px;font-weight:700}
.goal-card-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}
.goal-card-heading>span{color:#8a9099;font-size:13px}
.goal-program-rows{position:relative;display:grid;gap:0;margin-top:37px}
.goal-program-rows>div{display:flex;align-items:center;justify-content:space-between;min-height:47px;gap:12px;color:#363a40;font-size:14px}
.goal-program-rows strong{font-size:17px;font-weight:620;color:#292b30}
.goal-program-card small,.goal-mix-card small{position:relative;display:block;color:#777f8b;font-size:12px;line-height:1.4}
.goal-program-card small{padding-top:15px;margin-top:8px;border-top:1px solid #e2e7ef}
.goal-mix-rows{position:relative;display:grid;gap:20px;margin-top:40px}
.goal-mix-row>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:#373b43}
.goal-mix-row strong{font-size:14px;font-weight:550}
.goal-mix-row i{display:block;position:relative;height:5px;margin-top:10px;border-radius:5px;background:#ecedf0;overflow:hidden}
.goal-mix-row i::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--share);border-radius:inherit;background:#4989fa;transform-origin:left;transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.78,.2,1)}
.goals.flow-visible .goal-mix-row i::before{transform:scaleX(1)}
.goal-mix-row:nth-child(2) i::before{transition-delay:.12s}
.goal-mix-row:nth-child(3) i::before{transition-delay:.24s}
.goal-mix-card small{margin-top:18px}
.goal-cards .goal-card{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.goals.flow-visible .goal-card{opacity:1;transform:translateY(0)}
.goals.flow-visible .goal-card:nth-child(2){transition-delay:.1s}
.goals.flow-visible .goal-card:nth-child(3){transition-delay:.2s}
.goals.flow-visible .goal-card:hover{transform:translateY(-8px)}
.goal-cards.goal-change .goal-card>*{animation:goal-card-swap .55s cubic-bezier(.2,.8,.2,1) both}
.goal-cards.goal-change .goal-card:nth-child(2)>*{animation-delay:.08s}
.goal-cards.goal-change .goal-card:nth-child(3)>*{animation-delay:.16s}
.goal-cards.goal-change .goal-mix-row i::before{transform:scaleX(0);animation:goal-bar-swap .75s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:.28s}
@keyframes goal-card-swap{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes goal-bar-swap{to{transform:scaleX(1)}}
@media(max-width:900px){.goal-cards{gap:12px}.goal-card{padding:23px 20px;min-height:305px}.goal-plan-card li{font-size:13px}.goal-flow{height:70px}}
@media(max-width:680px){.goals{padding:83px 0 96px}.goals .section-shell{width:calc(100% - 32px)}.goals h2{font-size:clamp(37px,9vw,47px)}.goals .section-shell>p{font-size:16px}.goals .goal-tabs{width:100%;overflow-x:auto;justify-content:space-between;scrollbar-width:none}.goals .goal-tabs button{flex:1;padding:11px 10px;font-size:12px;white-space:normal;line-height:1.15}.goal-flow{display:none}.goal-cards{grid-template-columns:1fr;gap:12px;margin-top:24px}.goal-card{min-height:0;padding:25px}.goal-plan-card ul{margin-top:24px}.goal-mix-rows,.goal-program-rows{margin-top:22px}.goals.flow-visible .goal-card:nth-child(n){transition-delay:0s}}
@media(prefers-reduced-motion:reduce){.goal-flow path{stroke-dashoffset:0}.goal-cards .goal-card{opacity:1;transform:none}.goal-mix-row i::before{transform:scaleX(1)}.goal-cards.goal-change .goal-card>*,.goal-cards.goal-change .goal-mix-row i::before{animation:none}}
