@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
/* JK Experience pages: one brand system (navy / blue / green), calmer type, motion */
:root{--xp-navy:#132948;--xp-blue:#1E68B2;--xp-blue-d:#134A82;--xp-green:#4BC261;--xp-green-d:#2C8F3F;--xp-mist:#F4F7FB;--xp-slate:#52627A;--xp-line:#DDE5F0;--cs-indigo:#1E68B2;--cs-indigo-deep:#134A82;--cs-teal:#4BC261;--cs-ink:#132948;--cs-slate:#52627A;--pf-teal:#4BC261;--pf-accent:#1E68B2}
body{font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
#jkToTop{background:var(--xp-navy)}#jkToTop:hover{background:var(--xp-blue)}
.jk-modal-btn{background:var(--xp-blue)}.jk-modal-btn:hover{background:var(--xp-blue-d)}
.btn-xp{display:inline-block;background:var(--xp-blue);color:#fff;font-weight:700;padding:14px 28px;border-radius:999px;text-decoration:none;transition:background .25s,transform .25s}
.btn-xp:hover{background:var(--xp-blue-d);color:#fff;transform:translateY(-2px)}
/* motion */
.xp{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.xp.xp-in{opacity:1;transform:none}
.testimonial-card.xp-in:hover,.cs-stat.xp-in:hover{transform:translateY(-5px)}
@keyframes xpUp{from{opacity:0;transform:translateY(22px)}}
.hero-content>*{animation:xpUp .8s cubic-bezier(.2,.8,.2,1) both}.hero-content>:nth-child(2){animation-delay:.12s}.hero-content>:nth-child(3){animation-delay:.24s}
.hero-badges .badge-card{animation:xpUp .8s .3s cubic-bezier(.2,.8,.2,1) both}
/* portfolio */
.pf-hero{background:var(--xp-navy);min-height:460px}
.pf-hero h1{font-size:clamp(32px,5.4vw,56px);letter-spacing:-.02em}
.pf-hero-accent{color:var(--xp-green)}
.pf-hero p{font-size:clamp(16px,2vw,19px)}
.pf-filter button{border-radius:999px;padding:10px 22px;transition:background .25s,border-color .25s,transform .25s}
.pf-filter button:hover,.pf-filter button.active{background:var(--xp-blue);border-color:var(--xp-blue)}
.pf-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.pf-card{border-radius:16px;border-color:var(--xp-line);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.pf-card:hover{box-shadow:0 28px 50px -30px rgba(19,41,72,.45);border-color:#C5D3E6}
.pf-card-tag{background:rgba(19,41,72,.88);border-radius:999px;font-weight:600}
.pf-card-overlay{background:rgba(19,41,72,.7)}
.pf-view-btn:hover{background:var(--xp-green);color:var(--xp-navy)}
.pf-card-content h3{color:var(--xp-navy)}.pf-card-content p{color:var(--xp-slate);font-size:15px}
.pf-tech-badge{font-family:inherit;font-size:12px;background:var(--xp-mist);color:var(--xp-slate);border-radius:999px;padding:5px 12px}
/* case studies */
.cs-hero{height:auto;min-height:440px;padding:96px 0 80px;background:var(--xp-navy)}
.cs-hero-overlay{background:rgba(19,41,72,.86);backdrop-filter:none}
.cs-hero h1{font-size:clamp(34px,6vw,60px);letter-spacing:-.02em;text-shadow:none;margin-bottom:24px}
.cs-hero h1 .highlight{background:none;color:var(--xp-green);filter:none}
.cs-hero p{font-size:clamp(16px,2vw,19px);letter-spacing:0;text-shadow:none;line-height:1.7;margin-bottom:36px}
.cs-hero-cta{background:#fff;border:0}.cs-hero-cta:hover{background:var(--xp-green);color:var(--xp-navy);transform:translateY(-3px)}
.cs-tag{font-family:inherit;text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:var(--xp-blue)}
.cs-stack span,.floating-chip,.case-index{font-family:inherit}
.case-content h3,.cs-metric .num{letter-spacing:0}.case-content p.desc{letter-spacing:0;line-height:1.7}
.cs-cta-banner{background:var(--xp-navy)}.cs-cta-banner a:hover{background:var(--xp-green)}
.cs-empty-card{max-width:560px;margin:0 auto;padding:88px 24px 104px;text-align:center}
.cs-empty-card .ring{width:72px;height:72px;margin:0 auto 24px;border-radius:50%;display:grid;place-items:center;background:#E8F1FA;color:var(--xp-blue)}
.cs-empty-card h2{font-size:clamp(24px,3.6vw,32px);font-weight:700;color:var(--xp-navy);letter-spacing:-.01em;margin:0 0 12px}
.cs-empty-card p{color:var(--xp-slate);font-size:17px;line-height:1.7;margin:0 0 28px}
/* reviews */
body{background:var(--xp-mist)}
.testimonials-hero{background:var(--xp-navy);padding:96px 0 104px}
.hero-label,.section-label{text-transform:none;letter-spacing:0;font-size:15px;font-weight:700}
.hero-label{color:var(--xp-green)}.section-label{color:var(--xp-green-d)}
.section-label::before,.section-label::after{background:var(--xp-green)}
.hero-title{font-size:clamp(32px,5vw,52px);letter-spacing:-.02em}
.hero-btn{background:var(--xp-green);color:var(--xp-navy)}.hero-btn:hover{background:#6FD283;color:var(--xp-navy)}
.section-title{color:var(--xp-navy);font-size:clamp(26px,4vw,38px);letter-spacing:-.02em}.section-description{color:var(--xp-slate)}
.testimonial-card{border:1px solid var(--xp-line);border-radius:16px;box-shadow:0 20px 44px -34px rgba(19,41,72,.4);margin-bottom:28px}
.testimonial-card .testimonial-footer{border-top-color:var(--xp-line)}
.testimonial-card[class*="-footer"] .testimonial-footer{background:var(--xp-navy);border-radius:0 0 15px 15px}
.testimonial-text{font-size:16px;color:var(--xp-slate)}.author-info h4{color:var(--xp-navy)}
/* responsive */
@media(max-width:900px){.pf-hero{min-height:380px}.pf-hero-content{padding:0 20px}.pf-filter{gap:8px}.pf-filter button{padding:8px 16px;font-size:13px}.pf-grid-section{padding:48px 18px}.pf-card-img{height:200px}.cs-hero{min-height:0;padding:72px 0 64px}.cs-hero-content{padding:0 20px}.cs-empty-card{padding:56px 20px 72px}}
@media(max-width:768px){.testimonials-hero{padding:72px 0 80px}.hero-badges{gap:12px}.badge-card{padding:16px;max-width:none}.testimonial-card{padding:26px}.testimonial-card[class*="-footer"] .testimonial-footer{margin:0 -26px -26px;padding:20px 26px}.section-header{margin:56px 0 36px}}
@media(max-width:600px){#jkToTop{width:42px;height:42px;right:14px;bottom:16px}#jkToTop svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.xp{opacity:1;transform:none;transition:none}*{animation:none!important}}
