/* Growvest — additive utilities (complement Agentra theme; does not override it) */
html,body{overflow-x:hidden}
.nx-form-card{background:var(--white);border:1px solid var(--color-border-7);border-radius:16px;padding:34px;max-width:560px;margin:0 auto;box-shadow:0 30px 60px rgba(0,0,0,.06)}
.nx-form-table{width:100%;border-collapse:collapse}
.nx-form-table td{padding:8px 0;vertical-align:middle}
.nx-form-table td.nx-label{width:190px;font-size:15px;font-weight:500;color:var(--color-title)}
.nx-input{width:100%;background:#f5f6f8;border:1px solid #e4e6eb;border-radius:10px;color:#111827;padding:12px 15px;font-size:15px;font-family:inherit}
.nx-input:focus{outline:none;border-color:var(--ai-startup-blue);box-shadow:0 0 0 3px rgba(92,87,231,.18)}
textarea.nx-input{resize:vertical;min-height:110px}
.nx-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;background:var(--ai-startup-gradient,#a291fe);color:#fff;border:0;border-radius:10px;padding:13px 26px;font-size:15px;font-weight:700;cursor:pointer}
.nx-btn:hover{filter:brightness(1.07);color:#fff}
.nx-msg-error{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:14px}
.nx-msg-ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:14px}
.nx-auth-title{font-size:34px;font-weight:700;letter-spacing:-.5px;color:var(--color-title)}
.nx-auth-sub{color:var(--color-paragraph);max-width:520px;margin-bottom:26px}
.nx-faq{max-width:840px;margin:0 auto}
.nx-faq-item{border:1px solid var(--color-border-7);border-radius:14px;padding:22px;margin-bottom:16px;background:var(--white)}
.nx-faq-item h3{margin-bottom:10px}

/* --- legal pages --- */
.nx-legal{max-width:900px;margin:0 auto}
.nx-legal h3{color:var(--color-title);margin:30px 0 12px}
.nx-legal h3:first-child{margin-top:0}
.nx-legal p{color:var(--color-paragraph);font-size:15px;line-height:1.8;margin-bottom:14px}
.nx-legal ul{color:var(--color-paragraph);padding-left:22px;margin-bottom:14px}
.nx-legal ul li{margin-bottom:8px;line-height:1.7}
.nx-legal a{color:var(--ai-startup-blue)}
/* --- why investors choose us (about) --- */
.nx-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nx-why-card{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--color-border-7);border-radius:16px;padding:20px 22px;box-shadow:0 20px 45px rgba(0,0,0,.05)}
.nx-why-icon{flex:none;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--ai-startup-gradient);color:#fff}
.nx-why-icon i{font-size:18px}
.nx-why-label{color:var(--color-title);font-weight:600;font-size:15.5px;line-height:1.4}
@media(max-width:991px){.nx-why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){.nx-why-grid{grid-template-columns:1fr}}
/* --- investment plan cards --- */
.nx-plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nx-plan{background:var(--white);border:1px solid var(--color-border-7);border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 45px rgba(0,0,0,.05)}
.nx-plan-featured{background:var(--ai-startup-gradient);border:0}
.nx-plan-name{font-size:22px;font-weight:700;color:var(--color-title);margin:0}
.nx-plan-range{color:var(--ai-startup-blue);font-weight:800;font-size:17px;margin:0}
.nx-plan-features{list-style:none;padding:0;margin:0}
.nx-plan-features li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--color-border-7);font-size:14px;color:var(--color-paragraph)}
.nx-plan-features li:last-child{border-bottom:0}
.nx-plan-features li b{color:var(--color-title)}
.nx-plan-desc{font-size:14px;color:var(--color-paragraph);margin:0}
.nx-plan .tf-btn{margin-top:6px}
.nx-plan-featured .nx-plan-name,.nx-plan-featured .nx-plan-range,.nx-plan-featured .nx-plan-features li,.nx-plan-featured .nx-plan-features li b,.nx-plan-featured .nx-plan-desc{color:#fff}
.nx-plan-featured .nx-plan-features li{border-color:rgba(255,255,255,.25)}
.nx-plan-featured .tf-btn{background:#fff;color:#5c57e7}
@media(max-width:960px){.nx-plans-grid{grid-template-columns:1fr}}
/* --- testimonials (one-at-a-time carousel, image on every card) --- */
.nx-tes-track .nx-tes-slide{display:none;max-width:100%!important}
.nx-tes-track .nx-tes-slide.is-active{display:flex}
.nx-tes-track .nx-tes-slide .image{height:450px;flex:none}
.nx-tes-track .nx-tes-slide .image img{width:100%;height:100%;object-fit:cover}
/* --- services image cards --- */
.nx-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nx-service-card{background:var(--white);border:1px solid var(--color-border-7);border-radius:18px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.05)}
.nx-service-card-img{height:200px;overflow:hidden}
.nx-service-card-img img{width:100%;height:100%;object-fit:cover}
.nx-service-card-name{font-size:19px;font-weight:700;color:var(--color-title);margin:16px 20px 6px}
.nx-service-card-desc{font-size:14px;color:var(--color-paragraph);margin:0 20px 20px}
@media(max-width:960px){.nx-services-grid{grid-template-columns:1fr}}
/* 3 pricing cards: fluid responsive grid — comfortable width, wraps when needed */
.section-pricing .list-pricing-item{flex-wrap:wrap;justify-content:center;gap:30px}
.section-pricing .list-pricing-item .pricing-item{flex:1 1 300px;max-width:455px;min-width:min(280px,100%);padding:40px 34px;display:flex;flex-direction:column}
.section-pricing .pricing-item .plan-feature{margin-bottom:30px}
.section-pricing .pricing-item .nx-plan-btn{margin-top:auto;margin-bottom:0}
@media(max-width:640px){.section-pricing .list-pricing-item .pricing-item{flex:1 1 100%;min-width:0;max-width:100%;padding:34px 24px}}
/* --- no-JS fallbacks (static/Smarty has no React JS) --- */
/* reveal animation elements start hidden via clip-path+opacity; force visible */
.tf-animate-1,.tf-animate-2,.tf-animate-3,.tf-animate-4{clip-path:none!important;opacity:1!important;transform:none!important}
/* make Swiper galleries natively scrollable */
.swiper{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.swiper-wrapper{transform:none!important;width:max-content;max-width:none}
.swiper-slide{width:auto!important;flex:0 0 auto;scroll-snap-align:start}
.swiper-slide img{max-width:none}
/* --- responsive typography: keep text readable (not cramped) on small screens --- */
@media(max-width:991px){
h1,h2,h3,h4,.h1,.h2,.h3,.h4{letter-spacing:-.01em!important}
.letter-space--2,.letter-space--3,.letter-space--4,.letter-space--5,.letter-space--7{letter-spacing:0!important}
.text-title-1,.text-title-2,.text-title-3,.text-body-1,.text-body-2{letter-spacing:0!important}
.lh-100{line-height:1.12!important}
}
@media(max-width:575px){
h1,.h1{font-size:36px!important;line-height:42px!important}
h2,.h2{font-size:28px!important;line-height:36px!important}
.text-title-3{font-size:24px!important;line-height:31px!important}
.marque-text-item span{font-size:28px!important}
}
