/* Cash stays grounded. Only two foreground props move, each with one quiet loop. */
.hero .campaign-float{animation:foreground-settle .9s .15s cubic-bezier(.16,1,.3,1) both;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform .55s ease-out;scale:1}
.hero .floating-note{animation-delay:.25s}
.hero .coin-one img{animation:coin-glide 12s ease-in-out infinite;filter:drop-shadow(0 12px 16px #00144540)}
.hero .floating-note img{animation:note-glide 14s -4s ease-in-out infinite;filter:drop-shadow(0 12px 15px #00144535)}
.hero-light{background:radial-gradient(ellipse at 72% 36%,#9bcfff35,transparent 52%);animation:hero-illumination 12s ease-in-out infinite}
.hero .campaign-backdrop img{animation:scene-arrive 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes foreground-settle{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes coin-glide{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes note-glide{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-4px) rotate(-1deg)}}
@keyframes hero-illumination{0%,100%{opacity:.4;transform:translateX(-1%)}50%{opacity:.85;transform:translateX(2%)}}
/* A result lives next to the input. The concept label travels with the concept number. */
.estimate-section{background:linear-gradient(145deg,#f4f7ff,#e7efff);padding:82px 0}
.condition-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
.condition-story{padding:0 0 18px;align-self:center}
.estimate-section .condition-story h2{font-size:clamp(36px,3.7vw,48px);line-height:1.3}
.condition-intro{font-size:15px;margin-top:25px}
.condition-art{position:static;inset:auto;width:150px;margin:0 0 24px;filter:drop-shadow(0 13px 15px #2351ae15)}
.condition-note{max-width:none;margin-top:22px;font-size:13px;line-height:2}
.condition-note strong{font-size:14px;color:#29466e}
.condition-form{padding:30px;border-radius:22px}
.condition-form h3{margin-bottom:20px;font-size:21px}
.condition-form .estimate-controls label{margin-top:14px}
.condition-form .amount-input input{font-size:25px;padding:11px 14px}
.settlement-preview{margin-top:25px;padding:23px 22px 20px;border-radius:15px;background:radial-gradient(ellipse at 100% 0,#5088ff,transparent 75%),#2459ef;color:white;overflow:hidden;position:relative}
.preview-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;line-height:1.7;color:#fff}
.preview-heading>span:last-child{font-size:13px;color:#d2e0ff}
.settlement-preview .request-display{margin-top:17px}
.settlement-preview #request-amount{color:#fff;font-size:clamp(39px,4.5vw,61px);gap:8px;line-height:1.15}
.settlement-preview .request-unit{font-size:23px;color:#d7e6ff}
#settlement-note{font-size:13px;line-height:1.8;color:#e0eaff;margin-top:14px}
.condition-form>.button{margin-top:20px}
.estimate-example{margin-top:14px}.estimate-example>summary{font-size:13px}
/* A readable two-card carousel with a glimpse of the next conversation. */
.reviews{padding:84px 0 78px;background:#f0f4fc;overflow:hidden}
.reviews .section-heading{margin-bottom:22px;align-items:center}
.reviews h2{font-size:46px;line-height:1.25}.reviews h2 span{color:#245cf6}
.review-disclosure{max-width:100%;margin:0 0 23px;font-size:13px;line-height:1.8;color:#70829d}
.review-carousel{position:relative}
.review-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
#review-position{font-size:15px;color:#526c94;font-variant-numeric:tabular-nums}
.review-navigation-buttons{display:flex;align-items:center;gap:9px}
.review-navigation button{height:42px;min-width:42px;border-radius:50%;background:#fff;color:#2158df;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.review-navigation button:hover{background:#dce8ff;transform:translateY(-2px)}
.review-navigation button:active{transform:translateY(0)}
.review-navigation button svg{width:18px;height:18px}
#review-prev svg{rotate:180deg}
#review-autoplay{border-radius:0;background:none;gap:7px;font-size:13px;padding:0 14px 0 0;color:#526c94}
#review-autoplay svg{width:13px;height:13px}
.review-window{overflow:hidden;touch-action:pan-y;outline-offset:5px;cursor:grab}
.review-window:active{cursor:grabbing}
.review-track{display:flex;gap:24px;align-items:stretch;will-change:transform}
.review-card{flex:0 0 calc((100% - 48px)/2.2);min-width:0;background:#fff;border-radius:21px;padding:33px;min-height:368px;display:flex;flex-direction:column;box-shadow:0 10px 30px #19417404}
.review-person{display:flex;align-items:center;gap:13px;margin-bottom:23px}
.review-person img{width:56px;height:56px;object-fit:cover;border-radius:19px;flex-shrink:0}
.review-person>div{display:flex;flex-direction:column;gap:4px}
.review-person strong{font-size:16px;color:#173358}
.review-person span{font-size:13px;color:#8190a6}
.review-card blockquote{margin:0 0 18px;font-size:24px;line-height:1.65;letter-spacing:-.045em;font-weight:700;color:#132e53;min-height:119px}
.review-card>p{font-size:13px;line-height:1.9;color:#657792;min-height:50px;margin-bottom:24px}
.review-card footer{margin-top:auto;font-size:12px;color:#8c9ab0}
.reviews .more-stories{margin-top:26px}
/* More density in explanatory sections, larger body text where it matters. */
.service-detail{padding-block:73px 52px}
.service-autoplay-control{display:flex;align-items:center;gap:7px;width:max-content;margin:10px 0 0 auto;padding:4px 0;border:0;border-bottom:1px solid #8db6f0;background:none;color:#c8dcfc;font-size:13px;font-weight:700;line-height:1.5;white-space:nowrap}
.service-autoplay-control:hover{color:#fff;border-color:#fff}
.service-autoplay-control svg{width:13px;height:13px;stroke-width:2}
.service-copy>p:not(.service-name){font-size:14px;line-height:1.9}
.service-copy dl>div{font-size:13px;line-height:1.85}
.service-copy dt{color:#9bb4d9}
.service-copy dd{color:#d2def3}
.service-name{font-size:14px}
.situations{padding:72px 0}.live-section{padding:75px 0}.faq{padding:74px 0}
.how .section-heading h2{font-size:40px}.live-section .section-heading h2{font-size:40px}
.film video{filter:saturate(.86) contrast(1.04)}
.film-shade{background:linear-gradient(180deg,#102c6050,transparent 42%,#0a265043)}
/* Reserve recurring light sweeps for the principal conversion actions. */
.button:after{animation:none;display:none}
.hero-actions .primary:after,.condition-form>.primary:after,.final-cta .button:after{display:block;animation:button-sheen 8s ease-in-out infinite}
@media(max-width:1100px){
 .condition-layout{gap:40px}.condition-form{padding:26px}
 .estimate-section .condition-story h2{font-size:36px}.condition-intro{font-size:14px}
 .settlement-preview{padding:21px 18px}.settlement-preview #request-amount{font-size:48px}
 .review-card{padding:27px;min-height:376px}.review-card blockquote{font-size:22px;min-height:145px}
}
@media(max-width:760px){
 .estimate-section{padding:59px 0 65px}.condition-layout{grid-template-columns:1fr;gap:25px}
 .condition-story{padding:0;position:relative}.estimate-section .condition-story h2{font-size:36px}
 .condition-intro{font-size:13px;margin-top:18px;max-width:80%}
 .condition-art{position:static;inset:auto;width:97px;margin:0 0 20px;opacity:.95}
 .condition-note{font-size:13px;margin-top:17px;max-width:none;line-height:1.9}
 .condition-note strong{font-size:13px}
 .condition-form{padding:27px}.settlement-preview{padding:22px}
 .settlement-preview #request-amount{font-size:59px}
 .review-card{flex-basis:calc((100% - 20px)/1.12);padding:30px;min-height:365px}
 .review-track{gap:18px}.review-card blockquote{font-size:25px;min-height:120px}
 .reviews{padding:62px 0}.reviews h2{font-size:37px}.review-disclosure{font-size:12px;margin-bottom:20px}
 .review-navigation{margin-bottom:20px}
 .service-detail{padding-block:62px 38px}.service-copy>p:not(.service-name){font-size:13px}
 .service-copy dl>div{font-size:13px}
 .situations,.live-section,.faq{padding-block:60px}
 .how .section-heading h2,.live-section .section-heading h2{font-size:34px}
}
@media(max-width:520px){
 .estimate-section .condition-story h2{font-size:31px}.condition-intro{font-size:13px;max-width:100%}
 .condition-form{padding:24px 20px}.condition-form h3{font-size:20px}
 .condition-art{width:84px}.condition-note{max-width:none}
 .condition-note strong{font-size:13px}.condition-note{font-size:12px;margin-top:20px}
 .settlement-preview{padding:20px 16px;border-radius:12px}.settlement-preview #request-amount{font-size:48px}
 .settlement-preview .request-unit{font-size:19px}.preview-heading{display:block;font-size:13px}.preview-heading>span:last-child{display:block;font-size:12px;margin-top:3px}
 #settlement-note{font-size:12px;margin-top:14px}
 .review-card{padding:25px;min-height:390px;flex-basis:calc((100% - 16px)/1.09)}
 .review-person{gap:11px;margin-bottom:23px}.review-person img{width:49px;height:49px;border-radius:16px}
 .review-person strong{font-size:15px}.review-person span{font-size:13px}
 .review-card blockquote{font-size:23px;min-height:152px;line-height:1.6}
 .review-card>p{font-size:13px;min-height:69px;margin-bottom:20px}
 .reviews h2{font-size:31px}.review-navigation button{height:38px;min-width:38px}
 .service-copy dl>div{font-size:13px}.service-copy>p:not(.service-name){font-size:13px}
}
@media(max-width:360px){
 .estimate-section .condition-story h2{font-size:27px}.condition-form{padding:22px 16px}
 .condition-intro{font-size:13px}.condition-art{width:70px}.condition-note{max-width:none}
 .settlement-preview{padding:19px 12px}.settlement-preview #request-amount{font-size:39px;gap:5px}.settlement-preview .request-unit{font-size:17px}
 .reviews h2{font-size:28px}.review-card{padding:21px;min-height:425px}.review-card blockquote{font-size:22px;min-height:176px}
 .review-person img{width:44px;height:44px;border-radius:14px}
 #review-autoplay{font-size:13px;padding-right:4px}
}
.effects-paused .hero .campaign-float,.effects-paused .hero .campaign-float img,.effects-paused .hero-light{animation:none;opacity:1;translate:none;transform:none}
@media(prefers-reduced-motion:reduce){
 .hero .campaign-float,.hero .campaign-float img,.hero-light{animation:none;opacity:1;translate:none;transform:none}
 .hero-actions .primary:after,.condition-form>.primary:after,.final-cta .button:after{animation:none;display:none}
 .review-navigation button{transition:none}.review-track{will-change:auto}
}

@media(max-width:1100px){.settlement-preview #request-amount.long-amount{font-size:38px}}
@media(max-width:760px){.settlement-preview #request-amount.long-amount{font-size:48px}}
@media(max-width:520px){.settlement-preview #request-amount.long-amount{font-size:41px}}
@media(max-width:360px){.settlement-preview #request-amount.long-amount{font-size:32px}}
/* All four cards share a row height; avoid padded-out gaps inside shorter stories. */
.review-card{min-height:330px}
.review-card blockquote{min-height:0}
.review-card>p{min-height:0;margin-top:auto}
@media(max-width:760px){.review-card{min-height:345px}}
@media(max-width:520px){.review-card{min-height:355px}}
@media(max-width:360px){.review-card{min-height:380px}}
