/* === tokens === */
.zp-capybara { --zp-ink:var(--zeya-ink,#272043); --zp-accent:#7934ad; --zp-pale:#f8f2fd; --zp-side:40px; --zp-max:1296px; color:var(--zp-ink); background:#fff; font-family:"Montserrat",sans-serif; font-size:20px; line-height:1.5; overflow-wrap:break-word; }
@media(max-width:1024px) { .zp-capybara { --zp-side:20px; } }
@media(max-width:767px) { .zp-capybara { --zp-side:24px; font-size:18px; } }
@media(max-width:360px) { .zp-capybara { --zp-side:16px; font-size:16px; } }
/* === components === */
.zp-capybara .zp-inner { max-width:var(--zp-max); margin-inline:auto; padding:64px var(--zp-side); box-sizing:content-box; }
.zp-capybara .zp-title { margin:0 auto 25px; font-size:clamp(33px,3.35vw,48px); line-height:1.14; font-weight:800; text-align:center; letter-spacing:-.035em; text-wrap:balance; }
.zp-capybara .zp-title::after { content:""; display:block; width:34%; max-width:380px; height:8px; background:url("assets/underline-gradient.svg") center/100% 100% no-repeat; margin:15px auto 0; }
.zp-capybara .zp-copy { margin:10px 0 0; }
.zp-capybara .zp-lead { margin:0 auto 24px; max-width:1060px; text-align:center; }
.zp-capybara .zp-ending { text-align:center; margin:28px auto 0; max-width:1100px; font-size:18px; }
.zp-capybara .zp-eyebrow { color:var(--zp-accent); font-size:16px; font-weight:800; margin:0 0 20px; text-align:center; }
.zp-capybara .zp-scene { display:block; width:100%; height:auto; margin:12px auto; }
.zp-capybara .zp-btn { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:60px; box-sizing:border-box; padding:16px 24px; border:0; border-radius:40px; background:var(--zeya-grad,linear-gradient(100deg,#cf90ff,#8eb7ff,#31d7ed)); color:#272043; font-family:inherit; font-size:18px; line-height:1.3; font-weight:800; text-decoration:none; cursor:pointer; }
.zp-capybara .zp-btn:focus-visible,.zp-capybara .zp-input:focus-visible { outline:3px solid #63318d; outline-offset:4px; }
.zp-capybara .zp-contact-title:focus-visible { outline:3px solid #63318d; outline-offset:5px; }
.zp-capybara .zp-btn:disabled { cursor:wait; background:#e5dced; }
.zp-capybara .zp-btn:active { transform:translateY(1px); }
@media(hover:hover) { .zp-capybara .zp-btn:hover { box-shadow:0 5px 16px #27204322; } }
.zp-capybara .zp-scenes,.zp-capybara .zp-economy-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:24px 0 0; list-style:none; }
.zp-capybara .zp-card { min-width:0; text-align:center; }
.zp-capybara .zp-card-title { margin:16px 0 8px; font-size:21px; line-height:1.3; font-weight:800; }
.zp-capybara .zp-card .zp-copy { font-size:18px; }
.zp-capybara .zp-crop { display:block; width:100%; height:auto; }
.zp-capybara .zp-crop-2-0 { aspect-ratio: 680 / 724; object-fit: cover; object-position: 0.000000% 50%; }
.zp-capybara .zp-crop-2-1 { aspect-ratio: 785 / 724; object-fit: cover; object-position: 49.026676% 50%; }
.zp-capybara .zp-crop-2-2 { aspect-ratio: 707 / 724; object-fit: cover; object-position: 100.000000% 50%; }
.zp-capybara .zp-crop-4-0 { aspect-ratio: 786 / 724; object-fit: cover; object-position: 0.000000% 50%; }
.zp-capybara .zp-crop-4-1 { aspect-ratio: 669 / 724; object-fit: cover; object-position: 52.295409% 50%; }
.zp-capybara .zp-crop-4-2 { aspect-ratio: 717 / 724; object-fit: cover; object-position: 100.000000% 50%; }
.zp-capybara .zp-crop-6-0 { aspect-ratio: 665 / 724; object-fit: cover; object-position: 0.000000% 50%; }
.zp-capybara .zp-crop-6-1 { aspect-ratio: 640 / 724; object-fit: cover; object-position: 43.407311% 50%; }
.zp-capybara .zp-crop-6-2 { aspect-ratio: 867 / 724; object-fit: cover; object-position: 100.000000% 50%; }
@media(max-width:767px) { .zp-capybara .zp-inner { padding-block:40px; } .zp-capybara .zp-scenes { grid-template-columns:minmax(0,1fr); gap:34px; } .zp-capybara .zp-card-title { font-size:20px; } .zp-capybara .zp-ending { font-size:16px; } .zp-capybara .zp-btn { padding:16px 20px; font-size:16px; } }
.zp-capybara .zp-arrow { display:block; width:22px; height:22px; flex-shrink:0; background:url("assets/arrow-ne.svg") center/contain no-repeat; }
.zp-capybara .zp-heading { max-width:500px; }
/* === section: zp-hero === */
.zp-capybara .zp-hero .zp-inner { display:grid; grid-template-columns:minmax(0,600px) minmax(0,620px); column-gap:clamp(32px,3.89vw,56px); padding-top:46px; padding-bottom:56px; align-items:start; }
.zp-capybara .zp-hero .zp-eyebrow { grid-column:1; text-align:left; margin:0 0 30px; }
.zp-capybara .zp-heading { grid-column:1; margin:0 0 28px; max-width:600px; font-size:clamp(44px,3.89vw,56px); line-height:1.16; font-weight:800; letter-spacing:0; white-space:normal; text-wrap:initial; }
.zp-capybara .zp-heading::after { content:""; display:block; width:480px; max-width:100%; height:24px; margin:14px 0 0; background:url("assets/underline-gradient.svg") left center/100% 100% no-repeat; }
.zp-capybara .zp-hero .zp-lead { grid-column:1; text-align:left; max-width:560px; margin:0 0 28px; font-size:21px; line-height:1.43; }
.zp-capybara .zp-hero-end { grid-column:1; font-size:19px; line-height:1.42; margin:0 0 30px; }
.zp-capybara .zp-actions { grid-column:1; }
.zp-capybara .zp-hero-cta { max-width:540px; }
.zp-capybara .zp-hero-note { grid-column:1; margin:12px 0 0 12px; font-size:16px; }
.zp-capybara .zp-hero-art { grid-column:2; grid-row:auto; width:100%; max-width:620px; margin-top:26px; }
.zp-capybara .zp-art-labels { display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; padding:0 12px; margin:0 0 18px; font-size:18px; font-weight:800; line-height:1.3; }
.zp-capybara .zp-art-labels li { background:#eed8fc; border-radius:30px; padding:7px 18px; text-align:center; }
.zp-capybara .zp-hero-image { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
@media(max-width:1099px) {
 .zp-capybara .zp-hero .zp-inner { grid-template-columns:minmax(0,1fr); max-width:720px; gap:0; padding-top:40px; padding-bottom:40px; }
 .zp-capybara .zp-hero-art { grid-column:1; grid-row:auto; margin:32px auto 0; max-width:620px; }
 .zp-capybara .zp-heading { font-size:48px; }
}
@media(max-width:719px) {
 .zp-capybara .zp-hero .zp-inner { padding-inline:24px; padding-top:32px; }
 .zp-capybara .zp-hero .zp-eyebrow { margin-bottom:22px; font-size:14px; }
 .zp-capybara .zp-heading { font-size:32px; line-height:1.22; margin-bottom:24px; }
 .zp-capybara .zp-heading::after { width:300px; margin-top:10px; height:15px; }
 .zp-capybara .zp-hero .zp-lead { font-size:18px; line-height:1.45; margin-bottom:22px; }
 .zp-capybara .zp-hero-end { font-size:16px; line-height:1.44; margin-bottom:24px; }
 .zp-capybara .zp-art-labels { font-size:13px; gap:10px; padding:0; margin-bottom:18px; }
 .zp-capybara .zp-art-labels li { padding:7px 10px; }
}
@media(max-width:360px) {
 .zp-capybara .zp-hero .zp-inner { padding-inline:16px; }
 .zp-capybara .zp-heading { font-size:28px; }
 .zp-capybara .zp-art-labels { font-size:12px; gap:8px; }
 .zp-capybara .zp-art-labels li { padding:7px 8px; }
}
/* === section: zp-story-2 === */
.zp-capybara .zp-story-2 { background:#fff; }
/* === section: zp-methods === */
.zp-capybara .zp-method-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0; margin:22px 0; list-style:none; }
.zp-capybara .zp-method { background:#eed8fc; border-radius:30px; padding:10px 12px; text-align:center; }
.zp-capybara .zp-method-title { font-size:17px; margin:0; }
.zp-capybara .zp-method-image { display:block; max-width:902px; width:100%; height:auto; margin:30px auto 0; }
@media(max-width:767px) { .zp-capybara .zp-method-list { grid-template-columns:minmax(0,1fr); gap:10px; } .zp-capybara .zp-method-title { font-size:16px; } }
/* === section: zp-story-4 === */
.zp-capybara .zp-story-4 { background:#fff; }
/* === section: zp-economy === */
.zp-capybara .zp-economy-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:767px) { .zp-capybara .zp-economy-list { grid-template-columns:minmax(0,1fr); gap:18px; } }
/* === section: zp-story-6 === */
.zp-capybara .zp-story-6 { background:#fff; }
/* === section: zp-app === */
.zp-capybara .zp-exclusive { text-align:center; background:#eed8fc; border-radius:30px; padding:10px 20px; font-weight:800; margin:22px 0 32px; }
.zp-capybara .zp-app-image { display:block; max-width:887px; width:100%; height:auto; margin:0 auto; }
.zp-capybara .zp-caption { text-align:center; color:#685b73; font-size:14px; margin:8px 0 22px; }
.zp-capybara .zp-app-end { text-align:center; font-weight:700; margin:22px 0 0; }
/* === section: zp-contact === */
.zp-capybara .zp-contact .zp-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 70px; }
.zp-capybara .zp-contact-intro { grid-column:1; }
.zp-capybara .zp-contact .zp-title,.zp-capybara .zp-contact .zp-lead { text-align:left; }
.zp-capybara .zp-contact .zp-title::after { display:none; }
.zp-capybara .zp-form-wrap { grid-column:2; grid-row:1 / 4; align-self:start; border:1px solid #d7cce0; border-radius:16px; padding:28px; box-shadow:0 5px 22px #27204308; }
.zp-capybara .zp-field { display:block; font-size:15px; font-weight:700; margin:0 0 8px; }
.zp-capybara .zp-input { box-sizing:border-box; width:100%; min-height:48px; border:1px solid #a99ab7; border-radius:7px; padding:12px 14px; color:var(--zp-ink); background:#fff; font-family:inherit; font-size:16px; line-height:1.5; }
.zp-capybara .zp-input::placeholder { color:#716577; opacity:1; }
.zp-capybara .zp-name-input { margin-bottom:18px; }
.zp-capybara .zp-textarea { min-height:130px; resize:vertical; }
.zp-capybara .zp-input[aria-invalid="true"] { border:2px solid #a2253c; }
.zp-capybara .zp-error { color:#a2253c; font-size:14px; margin:6px 0 18px; }
.zp-capybara .zp-captcha { min-height:65px; }
.zp-capybara .zp-submit { width:100%; }
.zp-capybara .zp-form-note { font-size:13px; color:#62546c; margin:12px 0 0; }
.zp-capybara .zp-form-status { font-size:16px; margin:14px 0 0; }
.zp-capybara .zp-success-title { margin:0 0 16px; font-size:26px; }
.zp-capybara .zp-success-copy { margin:0 0 12px; }
.zp-capybara .zp-contact-image { display:block; width:100%; height:auto; grid-column:1; grid-row:2; }
.zp-capybara .zp-contact-end { grid-column:1; grid-row:3; font-weight:700; margin:0; }
@media(max-width:900px) { .zp-capybara .zp-contact .zp-inner { grid-template-columns:minmax(0,1fr); gap:24px; } .zp-capybara .zp-contact-intro,.zp-capybara .zp-form-wrap,.zp-capybara .zp-contact-image,.zp-capybara .zp-contact-end { grid-column:1; grid-row:auto; } .zp-capybara .zp-form-wrap { padding:22px 18px; } }
@media(prefers-reduced-motion:reduce) { .zp-capybara .zp-btn { transition:none; } }
