:root{--bg: #fff7f3;--bg-soft: #fff1ec;--card: #ffffff;--coral: #ff7668;--coral-dark: #ef5576;--cream: #fffaf6;--mint: #dff5ee;--peach: #ffd8cb;--shadow: 0 24px 70px rgba(49, 28, 22, .12);--text: #262626;--text-soft: #746b70;}
*{box-sizing: border-box; margin: 0; padding: 0;}
html{font: 400 22px Inter, system-ui, Arial, sans-serif; line-height: 1.3; scroll-behavior: smooth; scroll-padding-top: 110px; width: 100%;}
body{background: var(--bg); color: var(--text); display: flex; flex-direction: column; min-height: 100vh; overflow-x: hidden; width: 100%;}

a{color: inherit; text-decoration: none;}

img{display: block; height: auto; max-width: 100%;}

.maincontent{margin: 0 auto; max-width: 1420px; width: 88%;}
.page-wrapper{display: flex; flex-direction: column; min-height: 100vh;}

h1,h2,h3{font-family: "Poppins", serif; font-weight: 400; line-height: 1;}
h1{font-size: clamp(2rem, 4.2vw, 3.8rem); letter-spacing: -.08rem;}
h1 span{color: var(--coral-dark);}
h2{font-size: clamp(1.5rem, 3.5vw, 2.5rem);}
h3{font-size: 1.25rem;}

p{color: var(--text-soft); font-size: .9rem; font-weight: 400; line-height: 1.4;}

.btn{align-items: center; border-radius: 999px; display: inline-flex; font-size: .75rem; font-weight: 600; justify-content: center; padding: .8rem 1.2rem; transition: transform .5s ease, box-shadow .5s ease;}
.btn:hover{transform: translateY(-2px);}
.btn-primary{background: #EF5576; box-shadow: 0 14px 30px rgba(36, 33, 36, .18); color: #fff;}
.btn-primary i{margin-left: 5px}

.site-header{background: rgba(255, 247, 243, .86); backdrop-filter: blur(18px); left: 0; position: sticky; right: 0; top: 0; z-index: 20;}
.header-inner{align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; padding: .7rem 0;}
.header-logo img{width: 180px;}
.header-nav{align-items: center; display: flex; gap: 1.35rem;}
.header-nav a{color: var(--text-soft); font-size: .75rem; font-weight: 700; transition: color .5s ease;}
.header-nav a:hover{color: var(--coral-dark);}
.header-actions{align-items: center; display: flex; gap: .9rem;}

.flags{align-items: center; display: flex; gap: .45rem;}
.flags img{border-radius: 50%; box-shadow: 0 8px 18px rgba(36, 33, 36, .12); height: 28px; object-fit: cover; width: 28px;}
main{display: block; flex: 1;}

.hero-section{background: radial-gradient(circle at 78% 20%, rgba(255, 216, 203, .9), transparent 32%), radial-gradient(circle at 8% 78%, rgba(223, 245, 238, .9), transparent 30%); overflow: hidden; padding: 3rem 0 4rem; position: relative;}
.hero-section:before{background-image: radial-gradient(rgba(239, 85, 118, .14) 1px, transparent 1px); background-size: 22px 22px; content: ""; inset: 0; opacity: .45; pointer-events: none; position: absolute;}
.hero-inner{display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); position: relative; z-index: 1;}
.hero-content{max-width: 720px;}

.eyebrow{background: #fff; border: 1px solid rgba(239, 85, 118, .13); border-radius: 999px; box-shadow: 0 14px 30px rgba(49, 28, 22, .08); color: var(--coral-dark); display: inline-flex; font-size: .8rem; font-weight: 600; margin-bottom: 1rem; padding: .5rem 1rem;}
.hero-text{font-size: .92rem; line-height: 1.4; margin-top: 1rem; max-width: 620px;}

.store-links{align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem;}
.store-links a{transition: transform .5s ease;}
.store-links a:hover{transform: translateY(-3px);}
.store-links img{width: 250px;}
.hero-proof{align-items: center; background: rgba(255, 255, 255, .72); border: 1px solid rgba(255, 255, 255, .8); border-radius: 24px; box-shadow: var(--shadow); display: flex; gap: .9rem; margin-top: 1.5rem; max-width: 500px; padding: .85rem;}
.hero-proof p{font-size: .75rem; line-height: 1.45; margin: 0;}
.hero-proof strong{color: var(--text);}
.proof-avatars{display: flex;}
.proof-avatars span{align-items: center; background: #fff; border: 3px solid var(--cream); border-radius: 50%; box-shadow: 0 10px 22px rgba(49, 28, 22, .1); display: flex; font-size: 1rem; height: 48px; justify-content: center; margin-left: -10px; width: 48px;}
.proof-avatars span:first-child{margin-left: 0;}
.hero-visual{background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(255, 241, 236, .9)); border: 1px solid rgba(255, 255, 255, .9); border-radius: 52px; box-shadow: var(--shadow); min-height: 620px; padding: 1rem; position: relative;}
.hero-visual > img{border-radius: 42px; height: 100%; min-height: 580px; object-fit: cover; width: 100%;}
.card-lucky{left: -24px; top: 22%;}
.card-mimi{bottom: 18%; right: -26px;}

.features-section{padding: 0 0 2.5rem;}
.features-grid{display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); margin-top: -2.2rem; position: relative; z-index: 2;}
.feature-card{background: var(--card); border: 1px solid rgba(239, 85, 118, .08); border-radius: 30px; box-shadow: 0 18px 45px rgba(49, 28, 22, .08); padding: 1.2rem; text-align: center; transition: transform .5s ease, box-shadow .5s ease;}
.feature-card:hover{box-shadow: var(--shadow); transform: translateY(-5px);}
.feature-icon{display: flex; justify-content: center; margin-bottom: 1rem; width: 100%;}
.feature-icon img{height: 100px; object-fit: contain; width: 100px;}
.feature-card h2{font-size: 1.15rem; margin-bottom: .35rem;}
.feature-card p{font-size: .8rem; margin: 0;}

.section-heading{margin: 0 auto 2rem; max-width: 760px; text-align: center;}
.section-heading p{margin-top: .65rem;}

.steps-section{padding: 2rem 0;}
.steps-grid{display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr);}
.step-card{background: var(--cream); border: 1px solid rgba(239, 85, 118, .08); border-radius: 34px; box-shadow: 0 18px 45px rgba(49, 28, 22, .07); overflow: hidden; padding: .7rem; position: relative;}
.step-card img{background: var(--peach); border-radius: 26px; height: 190px; object-fit: cover; width: 100%;}
.step-card h3{margin: .9rem .45rem .35rem;}
.step-card p{font-size: .8rem; margin: 0 .45rem .6rem;}
.step-number{align-items: center; background: var(--coral-dark); border: 4px solid #fff; border-radius: 50%; box-shadow: 0 12px 24px rgba(239, 85, 118, .22); color: #fff; display: flex; font-size: 1.1rem; font-weight: 700; height: 64px; justify-content: center; left: -.1rem; position: absolute; top: -.1rem; width: 64px; z-index: 2;}
.app-section{background: linear-gradient(180deg, var(--bg), #fff); padding: 2rem 0;}

.phone-mockups{align-items: center; display: flex; gap: 1.3rem; justify-content: center;}
.phone-mockups img{background: #fff; border: 2px solid #201d20; border-radius: 42px; box-shadow: var(--shadow); max-width: 300px; width: 30%;}
.phone-mockups img:nth-child(2){transform: translateY(-24px);}

.reviews-section{padding: 2rem 0;}
.reviews-grid{display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr);}
.review-card{background: #fff; border: 1px solid rgba(239, 85, 118, .08); border-radius: 32px; box-shadow: 0 18px 45px rgba(49, 28, 22, .07); padding: 1.25rem;}
.review-card p{color: var(--text); font-size: .78rem; margin: .7rem 0;}
.review-card strong{font-size: .72rem;}

.stars{color: var(--coral); font-size: .85rem; letter-spacing: .08rem;}
.stats-bar{background: var(--text); border-radius: 34px; box-shadow: var(--shadow); color: #fff; display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); margin-top: 1.4rem; padding: 1.2rem;}
.stats-bar i{color: #EF5576; font-size: 1.8rem;}
.stats-bar .stat{align-items: center; display: flex; gap: 1rem; justify-content: center; text-align: center;}
.stats-bar strong{display: block; font-size: 1.35rem; line-height: 1;}
.stats-bar span{color: rgba(255, 255, 255, .68); display: block; font-size: .75rem; font-weight: 500; margin-top: .3rem;}

.download-section{padding: 2rem 0;}
.download-inner{align-items: center; background: linear-gradient(135deg, #ffebe3, #ffffff 55%, #e5f8f1); border: 1px solid rgba(255, 255, 255, .9); border-radius: 46px; box-shadow: var(--shadow); display: grid; gap: 2rem; grid-template-columns: 1fr .8fr; overflow: hidden; padding: 2.2rem;}
.download-inner h2{max-width: 640px;}
.download-inner p{margin-top: .8rem; max-width: 560px;}
.download-inner > img{border-radius: 36px; height: 390px; object-fit: cover; width: 100%;}

.press-section{padding: 2rem 0 1rem;}
.press-logos{align-items: stretch; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin: 1.5rem auto 0; max-width: 1160px;}
.press-logo{align-items: center; background: #fff; border: 1px solid rgba(239,85,118,.08); border-radius: 24px; box-shadow: 0 12px 30px rgba(49,28,22,.06); display: flex; flex: 0 0 calc((100% - 3rem) / 4); height: 170px; justify-content: center; padding: 1rem 1.5rem; transition: box-shadow .35s ease, transform .35s ease;}
.press-logo:hover{box-shadow: 0 20px 40px rgba(49,28,22,.1); transform: translateY(-4px);}
.press-logo img{filter: grayscale(100%); max-height: 105px; max-width: 100%; opacity: .75; transition: filter .35s ease, opacity .35s ease;}
.press-logo:hover img{filter: grayscale(0); opacity: 1;}

.scroll-top{align-items: center; background: linear-gradient(135deg,#ff7668,#ef5576); border-radius: 50%; bottom: 25px; box-shadow: 0 10px 30px rgba(239,85,118,.35); display: flex; height: 56px; justify-content: center; opacity: 0; pointer-events: none; position: fixed; right: 25px; transform: translateY(15px); transition: all .3s ease; width: 56px; z-index: 999;}
.scroll-top.visible{opacity: 1; pointer-events: auto; transform: translateY(0);}
.scroll-top:hover{box-shadow: 0 15px 35px rgba(239,85,118,.45); transform: translateY(-3px);}
.scroll-top img{display: block; height: 34px; width: 34px;}
.scroll-top.visible img{animation: pawPulse 2s ease-in-out infinite;}

@keyframes pawPulse{
    0%,100%{transform: scale(1);}
    50%{transform: scale(1.08);}
}

.partners-section{background:#fff1ec; overflow:hidden; padding:2.4rem 0 3rem;}
.partners-carousel{margin: 0 auto; max-width: 1160px; position: relative;}
.partners-viewport{overflow: hidden; padding: .8rem 0 2rem;}
.partners-track{background: transparent; display: flex; gap: 1rem;}
.partner-card{flex: 0 0 calc((100% - 3rem) / 4); min-width: 0;}
.partner-card > a,.partner-card:not(.is-linked){align-items: center; background: #fff; border: 1px solid rgba(239,85,118,.08); border-radius: 30px; box-shadow: 0 18px 24px -14px rgba(49,28,22,.22); display: flex; flex-direction: column; justify-content: flex-start; min-height: 220px; padding: 1.3rem; position: relative; text-align: center; transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;}
.partner-card:not(.is-linked){height: 100%;}
.partner-card.is-linked > a{border-color: rgba(239,85,118,.18); cursor: pointer;}
.partner-card.is-linked > a:hover{border-color: rgba(239,85,118,.35); box-shadow: 0 22px 30px -14px rgba(49,28,22,.28); transform: translateY(-5px);}
.partner-card strong{align-items:center; color:var(--text); display:flex; flex:1; font-size:.86rem; font-weight:600; justify-content:center; line-height:1.3; margin:0 auto; max-width:210px; min-height:2.6em;}
.partner-initial{align-items: center; background: linear-gradient(135deg,var(--coral),var(--coral-dark)); border: 5px solid var(--cream); border-radius: 50%; box-shadow: 0 14px 30px rgba(239,85,118,.24); color: #fff; display: flex; flex-shrink: 0; font-family: "Poppins",serif; font-size: 1.8rem; height: 92px; justify-content: center; margin-bottom: .75rem; transition: transform .35s ease; width: 92px;}
.partner-card.is-linked > a:hover .partner-initial{transform: scale(1.06) translateY(-2px);}
.partner-link-icon{align-items: center; background: var(--bg-soft); border-radius: 50%; color: var(--coral-dark); display: flex; font-size: .52rem; height: 28px; justify-content: center; opacity: .45; position: absolute; right: .75rem; top: .75rem; transition: opacity .35s ease, transform .35s ease; width: 28px;}
.partner-card.is-linked > a:hover .partner-link-icon{opacity: 1; transform: translate(2px,-2px);}
.partners-arrow{align-items: center; background: #fff; border: 1px solid rgba(239,85,118,.15); border-radius: 50%; box-shadow: 0 12px 28px rgba(49,28,22,.14); color: var(--coral-dark); cursor: pointer; display: flex; font-size: .9rem; height: 48px; justify-content: center; opacity: 1; position: absolute; top: 50%; transform: translateY(-50%); transition: background .35s ease, box-shadow .35s ease, color .35s ease, opacity .35s ease; visibility: visible; width: 48px; z-index: 5;}
.partners-arrow-prev{left: -32px;}
.partners-arrow-next{right: -32px;}
.partners-arrow:hover:not(:disabled){background: var(--coral-dark); box-shadow: 0 16px 32px rgba(239,85,118,.28); color: #fff;}
.partners-arrow:disabled{cursor: default; opacity: .25;}

footer{background: #1f1b1f; color: #fff; flex-shrink: 0; padding: 2rem 0 1.5rem;}
.footer-top{align-items: center; display: flex; gap: 2rem; justify-content: space-between;}
.footer-brand img{margin-bottom: .5rem; width: 220px;}
.footer-brand p{color: rgba(255, 255, 255, .68); font-size: .68rem; margin: 0;}
footer .links{align-items: center; display: flex; flex-wrap: wrap; gap: .9rem; justify-content: flex-end;}
footer a{color: rgba(255, 255, 255, .76); font-size: .66rem; transition: color .5s ease;}
footer a:hover{color: #fff;}
footer i{color: var(--coral-dark); font-size: 1.15rem;}
footer .contact{border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .64); font-size: .82rem; margin-top: 1.2rem; padding-top: 1rem; text-align: center;}
footer .contact a{color: var(--coral); font-size: .88rem;}
footer .footer-text{color: rgba(255, 255, 255, .38); font-size: .65rem; line-height: 1.35; margin-top: 1.5rem; text-align: center;}
footer .footer-text h2{color: rgba(255, 255, 255, .55); font-family: Inter, system-ui, Arial, sans-serif; font-size: .8rem; margin-bottom: .25rem;}



@media screen and (max-width: 1250px){

	.maincontent{width: 92%;}
	.header-nav{display: none;}
	.hero-inner{grid-template-columns: 1fr; min-height: auto;}
	.hero-content{max-width: 100%; text-align: center;}
	.hero-text{margin-left: auto; margin-right: auto;}
	.store-links{justify-content: center;}
	.hero-proof{margin-left: auto; margin-right: auto;}
	.hero-visual{margin: 0 auto; max-width: 720px; min-height: 520px; width: 100%;}
	.hero-visual > img{min-height: 480px;}
	.features-grid,.steps-grid{grid-template-columns: repeat(2, 1fr);}
	.phone-mockups{flex-wrap: wrap;}
	.phone-mockups img{max-width: 260px; width: 31%;}
	.download-inner{grid-template-columns: 1fr; text-align: center;}
	.download-inner h2, .download-inner p{max-width: none}
	.download-inner .store-links{justify-content: center;}
	.stats-bar .stat{flex-direction: column;}
	.footer-brand{text-align: center}
	.footer-brand img{display: inline}
	.footer-top{align-items: center; flex-direction: column;}
	.press-logo{flex-basis: calc((100% - 2rem) / 3);}

	.partner-card{flex-basis: calc((100% - 2rem) / 3);}
	.partners-arrow-prev{left: -12px;}
	.partners-arrow-next{right: -12px;}

	footer .links{justify-content: center;}
}

@media screen and (max-width: 800px){

	html{font-size: 20px;}

	.header-logo img{width: 140px;}
	.header-actions .btn{display: none;}
	.hero-section{padding: 1.4rem 0 3rem;}
	.hero-inner{gap: 1.7rem;}
	.hero-visual{border-radius: 34px; min-height: 380px; padding: .65rem;}
	.hero-visual > img{border-radius: 28px; min-height: 360px;}
	 .step-card{text-align: center;}
	.floating-card{display: none;}
	.features-grid,.steps-grid,.reviews-grid,.stats-bar{grid-template-columns: 1fr;}
	.features-grid{margin-top: -1.4rem;}
	.phone-mockups{gap: .8rem;}
	.phone-mockups img{border-radius: 34px; max-width: 240px; width: 80%;}
	.phone-mockups img:nth-child(2){transform: none;}
	.download-inner{border-radius: 34px; padding: 1.3rem;}
	.download-inner > img{height: 280px;}
	.press-logo{flex-basis: calc((100% - 1rem) / 2);}
	.footer-top{gap: 1rem;}

	.hero-content{display: flex; flex-direction: column;}
    .store-links{order: -1; margin-bottom: 1rem; margin-top: 0;}

    .partners-track{gap: .8rem;}
	.partner-card{flex-basis: calc((100% - .8rem) / 2);}
	.partners-arrow{height: 42px; width: 42px;}
	.partners-arrow-prev{left: -10px;}
	.partners-arrow-next{right: -10px;}

	footer .links{flex-direction: column; gap: 1rem;}

}

@media screen and (max-width: 500px){

	.maincontent{width: 90%;}
	h1{font-size: 1.9rem;}
	.header-inner{padding: .55rem 0;}
	.flags img{height: 24px; width: 24px;}
	.proof-avatars{justify-content: center; width: 100%}
	.eyebrow{font-size: .7rem;}
	.store-links{flex-direction: column;}
	.store-links img{width: 185px;}
	.hero-proof{align-items: flex-start; border-radius: 20px; flex-direction: column; gap: .5rem}
	.proof-avatars span{height: 42px; width: 42px;}
	.feature-card,.review-card{border-radius: 24px;}
	.press-logo{flex-basis: 100%;}
	.step-card{border-radius: 26px;}
	.step-card img{height: 170px;}

	.partners-section{padding: 2rem 0 2.5rem;}
	.partner-card{flex-basis: 100%;}
	.partner-card > a,.partner-card:not(.is-linked){border-radius: 26px; min-height: 195px; padding: 1rem;}
	.partner-card strong{font-size: .8rem; min-height: 2.6em;}
	.partner-initial{height: 82px; width: 82px;}
	.partners-arrow{height: 40px; width: 40px;}

}