.home-hero { position: relative; margin-top: 8px; border-radius: var(--r-xl); overflow: hidden; background: linear-gradient(100deg, #FFE3E6 0%, #FFF1F2 60%, #FFE5E8 100%); border: 1px solid #FBDADD; padding: 52px 52px 44px; min-height: 380px; display: flex; align-items: center; }
.home-hero::before { content: ''; position: absolute; left: -90px; top: 20%; width: 150px; height: 300px; background: var(--red); border-radius: 0 150px 150px 0; opacity: .95; }
.home-hero::after { content: ''; position: absolute; right: -60px; bottom: -80px; width: 420px; height: 240px; background: var(--red); border-radius: 100% 0 0 0; transform: rotate(-8deg); }
.home-hero .hero-feats { gap: 14px; flex-wrap: nowrap; margin-top: 22px; } .home-hero .hero-feats div { font-size: 10.5px; gap: 6px; background: none; padding: 0; } .home-hero .hero-feats .ico { width: 26px; height: 26px; } .home-hero .copy { position: relative; z-index: 2; max-width: 560px; padding-left: 28px; } .home-hero h1 { font-size: clamp(32px, 4.6vw, 52px); letter-spacing: -.02em; } .home-hero h1 em { display: block; font-style: normal; color: var(--red); }
.home-hero .lead { margin-top: 14px; font-size: 15.5px; color: #3E4565; max-width: 470px; } .home-hero .cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.home-hero .mascot { position: absolute; right: 38px; bottom: 6px; width: min(46%, 470px); z-index: 2; animation: floaty 5s ease-in-out infinite; filter: drop-shadow(0 18px 20px rgba(160, 20, 35, .22)); }
.burst { position: absolute; z-index: 3; right: 40px; top: 28px; width: 112px; height: 112px; display: grid; place-items: center; text-align: center; color: #fff; font-family: var(--font-d); font-weight: 800; font-size: 15px; line-height: 1.05; background: var(--red); clip-path: polygon(50% 0, 61% 10%, 75% 6%, 80% 20%, 94% 24%, 90% 38%, 100% 50%, 90% 62%, 94% 76%, 80% 80%, 75% 94%, 61% 90%, 50% 100%, 39% 90%, 25% 94%, 20% 80%, 6% 76%, 10% 62%, 0 50%, 10% 38%, 6% 24%, 20% 20%, 25% 6%, 39% 10%); transform: rotate(10deg); }
.cat-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; } .cat-card { display: flex; flex-direction: column; gap: 10px; padding: 16px; border: 1px solid #F3E4E6; border-radius: 16px; background: linear-gradient(#fff, #FFFAFA); transition: transform .2s, box-shadow .2s, border-color .2s; } .cat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: #F5BFC4; }
.cat-card img { width: 52px; height: 52px; border-radius: 15px; } .cat-card b { font-size: 14.5px; } .cat-card small { color: var(--muted); font-size: 12px; display: block; margin-top: -8px; }
.how { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 6px; align-items: center; } .how li:not(.arrow) { position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: 16px; border: 1px solid #F3E4E6; background: #fff; height: 100%; } .how .arrow { color: #D9B9BD; } .how .n { position: absolute; top: -9px; left: -7px; width: 24px; height: 24px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 800; }
.how li > .ic { color: var(--red); margin-top: 2px; } .how b { font-family: var(--font-d); font-size: 16px; display: block; } .how p { font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .why > div { display: flex; gap: 14px; align-items: center; padding: 14px; border-radius: 16px; border: 1px solid #F3E4E6; } .why .ico { width: 50px; height: 50px; border-radius: 50%; } .why b { font-family: var(--font-d); font-size: 16px; display: block; } .why p { font-size: 12.5px; color: var(--muted); }
.testi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } .faq-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.faq-two .faq-q { border: 1px solid #F3E4E6; border-radius: 12px; padding: 0 14px; margin-bottom: 10px; background: #fff; } .faq-two .faq-q:last-child { border-bottom: 1px solid #F3E4E6; } .faq-two .faq-btn .num { display: none; }
@media (max-width: 1100px) { .cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .why { grid-template-columns: repeat(2, minmax(0, 1fr)); } .how { grid-template-columns: 1fr 1fr; } .how .arrow { display: none; } .testi-grid { grid-template-columns: 1fr 1fr; } .testi-grid > :nth-child(3) { display: none; } }
@media (max-width: 900px) { .home-hero { padding: 30px 22px 280px; min-height: 0; } .home-hero .copy { padding-left: 6px; } .home-hero .mascot { width: 280px; right: 50%; transform: translateX(50%); bottom: -4px; animation: none; } .home-hero::before { display: none; } .burst { top: auto; bottom: 170px; right: 10px; width: 88px; height: 88px; font-size: 12px; } .home-hero .hero-feats { display: none; } .faq-two { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .why { grid-template-columns: 1fr; } .how { grid-template-columns: 1fr; } .testi-grid { grid-template-columns: 1fr; } .testi-grid > :nth-child(3) { display: flex; } .home-hero .cta .btn { flex: 1; } .home-hero { border-radius: 22px; } }

.home-hero .hero-title { font-size: clamp(34px, 4.6vw, 56px); line-height: 1.06; letter-spacing: -.02em; max-width: 560px; margin-top: 14px; }
.home-hero .rot-line { margin-top: 10px; font-family: var(--font-d); font-size: clamp(20px, 2.4vw, 26px); font-weight: 700; color: var(--ink-h); }
.home-hero .rot-line .rotator { height: 1.35em; min-width: 6ch; }
