.tools{background:var(--cpf-white);padding:72px 20px 80px}.tools__inner{max-width:1300px;margin-inline:auto}.tools__heading{margin:0 0 28px;font-family:var(--cpf-font-display);font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.08;letter-spacing:-.02em;color:var(--cpf-teal)}.tools__grid{display:grid;grid-template-columns:1fr;gap:16px;margin:0;padding:0;list-style:none}.tools__item{min-width:0}.tool{--stagger: calc(var(--i, 0) * 90ms);--tint: color-mix(in srgb, var(--accent) 9%, #ffffff);--tint-hover: color-mix(in srgb, var(--accent) 13%, #ffffff);--title: var(--cpf-teal);--copy: rgba(52, 52, 52, .82);--mark: var(--accent);--rule: rgba(4, 56, 69, .14);--note: rgba(52, 52, 52, .75);--sheet: #ffffff;--sheet-shadow: 0 10px 30px -12px color-mix(in srgb, var(--accent) 45%, transparent);--go-bg: var(--cpf-teal);--go-fg: #ffffff;--ease: cubic-bezier(.2, .7, .2, 1);position:relative;display:flex;flex-direction:column;height:100%;padding:22px 22px 24px;background:var(--tint);border-radius:24px;color:var(--cpf-ink);text-decoration:none;overflow:clip;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background-color .4s ease}.tool--dark{--tint: var(--cpf-teal);--tint-hover: #05414f;--title: #ffffff;--copy: rgba(255, 255, 255, .78);--mark: var(--cpf-mint);--rule: rgba(255, 255, 255, .2);--note: rgba(255, 255, 255, .6);--sheet: #ffffff;--sheet-shadow: 0 18px 40px -16px rgba(0, 0, 0, .55);--go-bg: var(--cpf-mint);--go-fg: var(--cpf-teal)}.tool--featured{--tint: color-mix(in srgb, var(--accent) 16%, #ffffff);--tint-hover: color-mix(in srgb, var(--accent) 21%, #ffffff);--go-bg: var(--accent);--go-fg: #ffffff;--glow: 0 0 0 1.5px var(--accent), 0 18px 48px -18px color-mix(in srgb, var(--accent) 60%, transparent);box-shadow:var(--glow)}.tool--featured .tool__title{color:color-mix(in srgb,var(--accent) 70%,var(--cpf-teal))}@media(hover:hover){.tool--featured:hover{box-shadow:0 0 0 1.5px var(--accent),0 34px 64px -26px color-mix(in srgb,var(--accent) 70%,transparent)}}@keyframes featured-breathe{0%,to{box-shadow:0 0 0 1.5px var(--accent),0 18px 48px -18px color-mix(in srgb,var(--accent) 60%,transparent)}50%{box-shadow:0 0 0 1.5px var(--accent),0 26px 60px -18px color-mix(in srgb,var(--accent) 85%,transparent)}}[data-tools-motion] .tool.tool--featured.is-in{animation:tool-rise .7s var(--ease) var(--stagger) backwards,featured-breathe 3.2s ease-in-out calc(var(--stagger) + 2.2s) 3}.tool__stage{position:relative;display:grid;place-items:center;height:196px;margin-bottom:18px}.tool--dark .tool__stage:before{content:"";position:absolute;inset:12% 8%;border-radius:50%;background:radial-gradient(closest-side,rgba(206,244,214,.22),transparent);filter:blur(6px)}.scene{position:relative;display:block;width:240px;height:150px}.tool__text{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.tool__title{display:block;font-family:var(--cpf-font-display);font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.012em;color:var(--title)}.tool__body{display:block;font-family:var(--cpf-font-body);font-size:16px;line-height:1.55;color:var(--copy)}.tool__points{display:flex;flex-direction:column;gap:7px;margin-top:4px}.tool__point{position:relative;display:block;padding-left:20px;font-family:var(--cpf-font-body);font-size:15px;line-height:1.45;color:var(--copy)}.tool__point:before{content:"";position:absolute;left:2px;top:.52em;width:7px;height:7px;border-radius:50%;background:var(--mark)}.tool__note{display:block;margin-top:14px;padding-top:13px;border-top:1px solid var(--rule);font-family:var(--cpf-font-body);font-size:14px;line-height:1.45;color:var(--note)}.tool__action{display:flex;align-items:center;gap:14px;margin-top:auto}.tool__cta{font-family:var(--cpf-font-display);font-size:16px;font-weight:600;letter-spacing:-.005em;color:var(--title)}.tool__go{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--go-bg);color:var(--go-fg);transition:transform .4s var(--ease),background-color .3s ease}.tool__go svg{width:22px;height:22px;transition:transform .4s var(--ease)}@media(hover:hover){.tool:hover{transform:translateY(-6px);background:var(--tint-hover);box-shadow:0 2px 6px #0438450d,0 32px 56px -28px #04384559}.tool:hover .tool__go{transform:translate(4px) scale(1.06)}.tool:hover .tool__go svg{transform:translate(2px)}}.tool:focus-visible{outline:var(--cpf-focus-ring);outline-offset:3px}.tool--dark:focus-visible{outline-color:var(--cpf-orange)}.scene-quote__sheet{position:absolute;left:34px;top:12px;width:172px;height:126px;padding:18px 18px 16px;border-radius:12px;background:var(--sheet);box-shadow:var(--sheet-shadow);display:flex;flex-direction:column;gap:10px}.scene-quote__head{display:block;width:58px;height:8px;border-radius:4px;background:var(--cpf-teal);margin-bottom:2px}.scene-quote__line{display:block;height:7px;border-radius:4px;background:#04384529;transform-origin:left center}.scene-quote__line--1{width:100%}.scene-quote__line--2{width:76%}.scene-quote__line--3{width:88%}.scene-quote__field{position:relative;display:block;margin-top:auto;height:22px;border-radius:6px;border:1.5px solid rgba(4,56,69,.18);background:#fff}.scene-quote__field:after{content:"";position:absolute;left:8px;top:7px;width:64px;height:6px;border-radius:3px;background:var(--accent);transform-origin:left center}.scene-quote__caret{position:absolute;left:76px;top:5px;width:1.5px;height:10px;background:var(--cpf-teal);opacity:0}.scene-quote__check{position:absolute;right:26px;bottom:8px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--cpf-mint);color:var(--cpf-teal);box-shadow:0 0 0 6px #cef4d638,0 12px 24px -10px #00000080}.scene-quote__check svg{width:26px;height:26px}.scene-quote__check path{stroke-dasharray:1;stroke-dashoffset:0}.scene-calc__panel{position:absolute;inset:10px 14px;padding:24px 20px 18px;border-radius:14px;background:var(--sheet);box-shadow:var(--sheet-shadow);display:flex;flex-direction:column;gap:22px}.scene-calc__track{position:relative;height:6px;border-radius:3px;background:#0438451a}.scene-calc__fill{position:absolute;inset:0 auto 0 0;width:64%;border-radius:3px;background:var(--accent)}.scene-calc__knob{position:absolute;top:50%;left:64%;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 4px 10px #0438452e;transform:translate(-50%,-50%)}.scene-calc__bar{display:flex;gap:3px;height:18px;border-radius:999px;overflow:hidden}.scene-calc__seg{display:block;height:100%;transform-origin:left center}.scene-calc__seg--pi{flex:0 0 56%;background:#0087a9}.scene-calc__seg--tax{flex:0 0 22%;background:#d9781f}.scene-calc__seg--mi{flex:0 0 12%;background:#b7457f}.scene-calc__seg--hoa{flex:1 1 auto;background:#5a9a3c}.scene-calc__legend{display:flex;gap:12px;margin-top:-6px}.scene-calc__key{position:relative;display:block;width:34px;height:6px;border-radius:3px;background:#0438451f}.scene-calc__key:before{content:"";position:absolute;left:-0;top:50%;width:6px;height:6px;border-radius:50%;transform:translateY(-50%)}.scene-calc__key--pi:before{background:#0087a9}.scene-calc__key--tax:before{background:#d9781f}.scene-calc__key--mi:before{background:#b7457f}.scene-calc__key--hoa:before{background:#5a9a3c}.scene-value__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.scene-value__grid{color:#0438451a}.scene-value__house{color:var(--cpf-teal);transform-box:fill-box;transform-origin:50% 100%}.scene-value__area{fill:var(--accent);fill-opacity:.14}.scene-value__line{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.scene-value__pin{fill:var(--accent);transform-box:fill-box;transform-origin:50% 50%}.scene-value__pulse{fill:none;stroke:var(--accent);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:50% 50%}.scene-digest__back,.scene-digest__front{position:absolute;left:40px;width:160px;border-radius:12px}.scene-digest__back{top:46px;height:96px;background:color-mix(in srgb,var(--accent) 70%,#1e3a1a)}.scene-digest{overflow:hidden}.scene-digest__back:before{content:"";position:absolute;left:0;right:0;top:-26px;height:28px;background:color-mix(in srgb,var(--accent) 55%,#1e3a1a);clip-path:polygon(0 100%,50% 0,100% 100%)}.scene-digest__front{top:90px;height:60px;border-top-left-radius:0;border-top-right-radius:0;background:var(--accent);clip-path:polygon(0 0,50% 46%,100% 0,100% 100%,0 100%);box-shadow:0 -6px 18px -10px #00000059}.scene-digest__sheet{position:absolute;left:56px;top:14px;width:128px;height:104px;padding:14px 14px 12px;border-radius:10px;background:var(--sheet);box-shadow:var(--sheet-shadow);display:flex;flex-direction:column;gap:10px}.scene-digest__title{display:block;width:48px;height:7px;border-radius:4px;background:var(--cpf-teal)}.scene-digest__chart{display:flex;align-items:flex-end;gap:6px;flex:1}.scene-digest__col{flex:1;height:var(--h);border-radius:3px 3px 0 0;background:color-mix(in srgb,var(--accent) 35%,#ffffff);transform-origin:bottom}.scene-digest__col--hot{background:var(--accent)}.scene-digest__badge{position:absolute;right:26px;top:30px;width:16px;height:16px;border-radius:50%;background:var(--cpf-orange);box-shadow:0 0 0 4px #fda65247}[data-tools-motion] .tool:not(.is-in){opacity:0}@keyframes tool-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}[data-tools-motion] .tool.is-in{animation:tool-rise .7s var(--ease) var(--stagger) backwards}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes caret-blink{0%,to{opacity:0}50%{opacity:1}}@keyframes ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}[data-tools-motion] .tool.is-play .scene-quote__line{animation:grow-x .45s var(--ease) both}[data-tools-motion] .tool.is-play .scene-quote__line--1{animation-delay:calc(var(--stagger) + .35s)}[data-tools-motion] .tool.is-play .scene-quote__line--2{animation-delay:calc(var(--stagger) + .55s)}[data-tools-motion] .tool.is-play .scene-quote__line--3{animation-delay:calc(var(--stagger) + .75s)}[data-tools-motion] .tool.is-play .scene-quote__field:after{animation:grow-x .5s var(--ease) calc(var(--stagger) + 1.05s) both}[data-tools-motion] .tool.is-play .scene-quote__caret{animation:caret-blink .7s steps(1) calc(var(--stagger) + .95s) 2}[data-tools-motion] .tool.is-play .scene-quote__check{animation:pop .55s var(--ease) calc(var(--stagger) + 1.6s) both}[data-tools-motion] .tool.is-play .scene-quote__check path{animation:draw .4s var(--ease) calc(var(--stagger) + 1.85s) both}@keyframes calc-slide{0%{left:28%}to{left:64%}}@keyframes calc-fill{0%{width:28%}to{width:64%}}[data-tools-motion] .tool.is-play .scene-calc__knob{animation:calc-slide .9s var(--ease) calc(var(--stagger) + .45s) both}[data-tools-motion] .tool.is-play .scene-calc__fill{animation:calc-fill .9s var(--ease) calc(var(--stagger) + .45s) both}[data-tools-motion] .tool.is-play .scene-calc__seg{animation:grow-x .55s var(--ease) both}[data-tools-motion] .tool.is-play .scene-calc__seg--pi{animation-delay:calc(var(--stagger) + .7s)}[data-tools-motion] .tool.is-play .scene-calc__seg--tax{animation-delay:calc(var(--stagger) + .85s)}[data-tools-motion] .tool.is-play .scene-calc__seg--mi{animation-delay:calc(var(--stagger) + 1s)}[data-tools-motion] .tool.is-play .scene-calc__seg--hoa{animation-delay:calc(var(--stagger) + 1.15s)}[data-tools-motion] .tool.is-play .scene-calc__key{animation:fade-in .4s ease both}[data-tools-motion] .tool.is-play .scene-calc__key--pi{animation-delay:calc(var(--stagger) + 1.2s)}[data-tools-motion] .tool.is-play .scene-calc__key--tax{animation-delay:calc(var(--stagger) + 1.3s)}[data-tools-motion] .tool.is-play .scene-calc__key--mi{animation-delay:calc(var(--stagger) + 1.4s)}[data-tools-motion] .tool.is-play .scene-calc__key--hoa{animation-delay:calc(var(--stagger) + 1.5s)}[data-tools-motion] .tool.is-play .scene-value__house{animation:pop .6s var(--ease) calc(var(--stagger) + .4s) both}[data-tools-motion] .tool.is-play .scene-value__line{animation:draw 1.1s cubic-bezier(.65,0,.35,1) calc(var(--stagger) + .6s) both}[data-tools-motion] .tool.is-play .scene-value__area{animation:fade-in .6s ease calc(var(--stagger) + 1.3s) both}[data-tools-motion] .tool.is-play .scene-value__pin{animation:pop .5s var(--ease) calc(var(--stagger) + 1.65s) both}[data-tools-motion] .tool.is-play .scene-value__pulse{animation:ring 1.1s ease-out calc(var(--stagger) + 2s) 2}@keyframes digest-out{0%{transform:translateY(70px)}to{transform:none}}[data-tools-motion] .tool.is-play .scene-digest__sheet{animation:digest-out .8s var(--ease) calc(var(--stagger) + .45s) both}[data-tools-motion] .tool.is-play .scene-digest__col{animation:grow-y .5s var(--ease) both}[data-tools-motion] .tool.is-play .scene-digest__col:nth-child(1){animation-delay:calc(var(--stagger) + 1.05s)}[data-tools-motion] .tool.is-play .scene-digest__col:nth-child(2){animation-delay:calc(var(--stagger) + 1.13s)}[data-tools-motion] .tool.is-play .scene-digest__col:nth-child(3){animation-delay:calc(var(--stagger) + 1.21s)}[data-tools-motion] .tool.is-play .scene-digest__col:nth-child(4){animation-delay:calc(var(--stagger) + 1.29s)}[data-tools-motion] .tool.is-play .scene-digest__col:nth-child(5){animation-delay:calc(var(--stagger) + 1.37s)}[data-tools-motion] .tool.is-play .scene-digest__col:nth-child(6){animation-delay:calc(var(--stagger) + 1.45s)}[data-tools-motion] .tool.is-play .scene-digest__badge{animation:pop .5s var(--ease) calc(var(--stagger) + 1.75s) both}@media(min-width:600px){.tools{padding-inline:30px}.tools__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media(min-width:992px){.tools{padding-block:104px 112px}.tools__heading{margin-bottom:40px}}@media(min-width:1100px){.tools__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.tool{padding:26px 26px 28px;min-height:460px}.tool__stage{height:210px}}@media(prefers-reduced-motion:reduce){.tool,.tool__go,.tool__go svg{transition:none}}
