.fn-hero{border:1px solid var(--color-line);border-radius:1.5rem;padding:clamp(2rem,5vw,3.25rem);position:relative;overflow:hidden}.fn-hero:before,.fn-hero:after{content:"";z-index:0;filter:blur(40px);pointer-events:none;will-change:transform, opacity;border-radius:50%;position:absolute}.fn-hero:before{background:radial-gradient(circle,#00689e29,#0000 70%);width:24rem;height:24rem;animation:13s ease-in-out infinite fn-float-a;top:-8rem;right:-6rem}.fn-hero:after{background:radial-gradient(circle,#cdbfa638,#0000 70%);width:20rem;height:20rem;animation:17s ease-in-out infinite fn-float-b;bottom:-7rem;left:-5rem}@keyframes fn-float-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-3%,4%)scale(1.08)}}@keyframes fn-float-b{0%,to{transform:translate(0)scale(1)}50%{transform:translate(4%,-3%)scale(1.1)}}.fn-hero-body{z-index:1;position:relative}.fn-field{position:relative}.fn-field>.input-label{transition:transform .28s var(--ease-out-cubic), color .28s var(--ease-out-cubic);transform-origin:0;display:block}.fn-field:focus-within>.input-label{color:var(--color-accent);transform:translateY(-2px)scale(.97)}.fn-field .input-base{transition:border-color .25s var(--ease-out-cubic), box-shadow .25s var(--ease-out-cubic), transform .25s var(--ease-out-cubic)}.fn-field .input-base:focus{transform:translateY(-1px)}@keyframes fn-field-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.fn-stagger>*{opacity:0;animation:fn-field-in .6s var(--ease-out-expo) forwards}.fn-stagger>:first-child{animation-delay:40ms}.fn-stagger>:nth-child(2){animation-delay:.1s}.fn-stagger>:nth-child(3){animation-delay:.16s}.fn-stagger>:nth-child(4){animation-delay:.22s}.fn-stagger>:nth-child(5){animation-delay:.28s}.fn-stagger>:nth-child(6){animation-delay:.34s}.fn-stagger>:nth-child(7){animation-delay:.4s}.fn-stagger>:nth-child(8){animation-delay:.46s}.fn-stagger>:nth-child(n+9){animation-delay:.52s}@keyframes fn-pop-in{0%{opacity:0;transform:scale(.92)translateY(10px)}60%{opacity:1}to{opacity:1;transform:scale(1)translateY(0)}}.fn-pop{animation:fn-pop-in .55s var(--ease-out-expo) both}@keyframes fn-check-pulse{0%{opacity:0;transform:scale(.5)}55%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.fn-check{animation:fn-check-pulse .6s var(--ease-out-expo) both}@keyframes fn-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.fn-error{animation:fn-error-in .3s var(--ease-out-cubic) both}.fn-loading{animation:fn-error-in .35s var(--ease-out-cubic) both}@media (min-width:768px){.fn-sticky{position:sticky;top:clamp(5.5rem,12vh,7.5rem)}}@keyframes fn-value-in{0%{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}.fn-value{animation:fn-value-in .35s var(--ease-out-cubic) both}.fn-badge{animation:fn-error-in .4s var(--ease-out-cubic) both}.fn-pick{transition:transform .2s var(--ease-out-cubic), border-color .2s var(--ease-out-cubic), background-color .2s var(--ease-out-cubic)}.fn-pick:hover{transform:translateY(-2px)}@keyframes fn-pick-snap{0%{transform:scale(1)}45%{transform:scale(1.035)}to{transform:scale(1)}}.fn-pick-on{animation:fn-pick-snap .32s var(--ease-out-expo)}.fn-cal .cal-cell:not(.is-disabled):not(.is-blocked):not(.is-muted):hover{z-index:2;transform:translateY(-1px)scale(1.04)}@keyframes fn-day-fill{0%{transform:scale(.86)}60%{transform:scale(1.06)}to{transform:scale(1)}}.fn-cal .cal-cell.range-start,.fn-cal .cal-cell.range-end{animation:fn-day-fill .3s var(--ease-out-expo)}.fn-cal .cal-cell.is-blocked{transition:opacity .2s}@keyframes fn-month-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fn-month{animation:fn-month-in .4s var(--ease-out-cubic) both}.fn-nav-btn{transition:transform .15s var(--ease-out-cubic), border-color .2s ease}.fn-nav-btn:not(:disabled):hover{transform:scale(1.06)}.fn-nav-btn:not(:disabled):active{transform:scale(.92)}.fn-info-row{transition:transform .22s var(--ease-out-cubic)}.fn-info-row:hover{transform:translate(3px)}.fn-result-grid>*{opacity:0;animation:fn-field-in .5s var(--ease-out-expo) forwards}.fn-result-grid>:first-child{animation-delay:50ms}.fn-result-grid>:nth-child(2){animation-delay:.1s}.fn-result-grid>:nth-child(3){animation-delay:.15s}.fn-result-grid>:nth-child(4){animation-delay:.2s}.fn-result-grid>:nth-child(5){animation-delay:.25s}.fn-result-grid>:nth-child(6){animation-delay:.3s}.fn-result-grid>:nth-child(7){animation-delay:.35s}.fn-result-grid>:nth-child(n+8){animation-delay:.4s}.fn-aptgrid>*{animation:fn-fade-in .5s var(--ease-out-expo) both}@keyframes fn-fade-in{0%{opacity:0}to{opacity:1}}.fn-aptgrid>:first-child{animation-delay:40ms}.fn-aptgrid>:nth-child(2){animation-delay:.12s}.fn-aptgrid>:nth-child(3){animation-delay:.2s}.fn-aptgrid>:nth-child(4){animation-delay:.28s}.fn-aptgrid>:nth-child(n+5){animation-delay:.34s}.fn-aptcard{background:var(--color-line-soft);height:clamp(112px,13vh,144px);transition:transform .25s var(--ease-out-cubic), box-shadow .25s var(--ease-out-cubic), border-color .2s var(--ease-out-cubic);display:block;position:relative}.fn-aptcard:hover{box-shadow:var(--shadow-lift,0 18px 40px -18px #141e1940);transform:translateY(-3px)}.fn-aptcard.is-on{box-shadow:0 0 0 2px var(--color-accent) inset}.fn-aptcard-img{object-fit:cover;transition:transform .6s var(--ease-out-expo)}.fn-aptcard:hover .fn-aptcard-img{transform:scale(1.06)}.fn-aptcard-noimg{background:linear-gradient(135deg, var(--color-accent-soft), var(--color-line-soft));display:block;position:absolute;inset:0}.fn-aptcard-scrim{pointer-events:none;background:linear-gradient(#0f141200 34%,#0f141261 62%,#0f1412d1 100%);display:block;position:absolute;inset:0}.fn-aptcard-info{z-index:2;padding:.8rem .85rem;display:block;position:absolute;bottom:0;left:0;right:0}.fn-aptcheck{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;width:1.6rem;height:1.6rem;transition:transform .2s var(--ease-out-cubic), background-color .2s ease;background:#ffffff40;border:1px solid #ffffffd9;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:.6rem;right:.6rem}.fn-aptcheck.is-on{background:var(--color-accent);border-color:var(--color-accent);animation:fn-day-fill .3s var(--ease-out-expo)}.fn-stepper{margin:0;padding:0;list-style:none}.fn-step-node{border:1px solid var(--color-line);width:1.9rem;height:1.9rem;color:var(--color-muted);transition:background-color .3s var(--ease-out-cubic), color .3s ease, border-color .3s ease;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.fn-step-node.is-active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.fn-step-node.is-done{border-color:var(--color-ok);background:var(--color-ok);color:#fff}.fn-step-line{background:var(--color-line);height:2px;transition:background-color .4s var(--ease-out-cubic);border-radius:2px;flex:auto}.fn-step-line.is-done{background:var(--color-ok)}@media (prefers-reduced-motion:reduce){.fn-aptgrid>*,.fn-aptcard.is-on,.fn-aptcheck.is-on{opacity:1!important;animation:none!important;transform:none!important}.fn-aptcard:hover{box-shadow:none;transform:none}.fn-aptcard:hover .fn-aptcard-img{transform:none}.fn-hero:before,.fn-hero:after{animation:none!important}.fn-field>.input-label,.fn-field .input-base{transition:none!important}.fn-field:focus-within>.input-label,.fn-field .input-base:focus{transform:none}.fn-stagger>*,.fn-result-grid>*,.fn-pop,.fn-check,.fn-error,.fn-loading,.fn-value,.fn-badge,.fn-pick-on,.fn-month,.fn-cal .cal-cell.range-start,.fn-cal .cal-cell.range-end{opacity:1!important;animation:none!important;transform:none!important}.fn-pick:hover,.fn-info-row:hover,.fn-nav-btn:not(:disabled):hover,.fn-cal .cal-cell:not(.is-disabled):not(.is-blocked):not(.is-muted):hover{transform:none}}
