/* ==========================================================================
   sections.css - features, how it works, use cases, demos, FAQ, status,
   CTA and contact form
   ========================================================================== */

/* Cards + features bento grid */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:26px;transition:transform .2s,border-color .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);border-color:var(--green-dark);box-shadow:0 18px 36px rgba(16,24,40,.08)}
.card h3{font-size:1.12rem;margin:12px 0 8px;font-weight:700}
.card p{color:var(--muted);font-size:.93rem}
.ic{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--soft);font-size:1.2rem;color:var(--green-dark)}
.c2{grid-column:span 2}
.c3{grid-column:span 3}
.c4{grid-column:span 4}
.card.dark{background:var(--green);color:#fff;border-color:var(--green)}
.card.dark p{color:#b9ded8}
.card.dark .ic{background:rgba(255,255,255,.14);color:#fff}
.card.mid{background:var(--grad);color:#fff;border-color:transparent}
.card.mid p{color:#d4f1ec}
.card.mid .ic{background:rgba(255,255,255,.18);color:#fff}

/* How it works + code tabs */
.qs{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.qs .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.steps{list-style:none;counter-reset:s;display:grid;gap:14px}
.steps li{counter-increment:s;display:flex;gap:14px;background:var(--bg);border-radius:14px;padding:16px 18px;border:1px solid var(--border)}
.steps li::before{content:counter(s);flex:none;width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:700}
.steps b{display:block}
.steps span{color:var(--muted);font-size:.9rem}
.code{background:#0b2723;border-radius:var(--r);overflow:hidden;box-shadow:0 24px 50px rgba(7,94,84,.2)}
.tabs{display:flex;background:#0f3530}
.tabs button{background:none;border:0;color:#7f9993;padding:12px 18px;cursor:pointer;font:600 .85rem 'Poppins',sans-serif;border-bottom:3px solid transparent}
.tabs button[aria-selected=true]{color:#fff;border-color:var(--lime)}
.code pre{padding:20px;color:#bff5d3;font:.8rem/1.7 ui-monospace,Menlo,Consolas,monospace;overflow-x:auto;min-height:200px}
.copy{float:right;margin:12px;background:#14473f;color:#cfe;border:0;border-radius:8px;padding:6px 12px;cursor:pointer;font:500 .78rem 'Poppins',sans-serif}

/* Use cases */
.uc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* Demo cards */
.demos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dcard{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.dcard:hover{transform:translateY(-5px);box-shadow:0 22px 40px rgba(16,24,40,.1)}
.dcard img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--soft)}
.dcard div{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.dcard h3{font-size:1.1rem}
.dcard p{color:var(--muted);font-size:.9rem;flex:1}
.dcard a{font-weight:600;color:var(--green-dark)}
.tag{align-self:flex-start;background:#ecfdf3;color:#087443;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:99px}

/* FAQ */
.faq{background:#fff;border-top:1px solid var(--border)}
.faq .list{max-width:820px;display:grid;gap:12px}
details{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:0 20px}
summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary i{color:var(--green-dark);transition:transform .25s}
details[open] summary i{transform:rotate(45deg)}
details p{color:#475467;padding:0 0 18px;font-size:.95rem}

/* Status grid */
.status{background:var(--bg)}
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sgrid .card{text-align:center}
.sgrid .ic{margin:0 auto 10px}
.sgrid b{font-size:1.05rem;display:block;color:var(--green)}
.sgrid small{color:var(--muted)}

/* Call to action */
.cta{background:linear-gradient(135deg,var(--green),var(--ink));color:#fff;text-align:center;position:relative;overflow:hidden}
.cta::before,.cta::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(37,211,102,.13);animation:float 9s ease-in-out infinite}
.cta::before{left:-120px;top:-120px}
.cta::after{right:-120px;bottom:-160px;animation-delay:-4s}
@keyframes float{50%{transform:translate(30px,20px) scale(1.08)}}
.cta .wrap{position:relative}
.cta h2{font-size:clamp(1.9rem,4.2vw,3.1rem);font-weight:800;max-width:760px;margin:0 auto 16px}
.cta p{color:#bfe3da;max-width:560px;margin:0 auto 28px}
.cta .btn{margin:5px}

/* Contact */
.cgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
form .f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.full{grid-column:1/-1}
label{font-size:.82rem;font-weight:600;display:block;margin-bottom:5px}
input,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font:inherit;background:#fff}
input:focus,textarea:focus{outline:3px solid rgba(18,140,126,.25);border-color:var(--green-dark)}
.hint{font-size:.8rem;color:var(--muted);margin-top:8px}
.ci{display:grid;gap:18px;background:var(--green);color:#fff;border-radius:var(--r);padding:28px;align-content:start}
.ci>div{display:flex;gap:14px;align-items:flex-start}
.ci>div>i{margin-top:5px;color:#9af0c0;width:18px;text-align:center}
.ci a{color:#9af0c0}
.ci small{color:#9fcfc7;display:block}

/* "What is Notivo?" answer box */
.answer{padding:70px 0 0}
.answer-c{background:#fff;border:1px solid var(--border);border-left:5px solid var(--green-dark);border-radius:var(--r);padding:26px 30px;max-width:900px}
.answer-c h2{font-size:1.4rem;margin-bottom:8px}
.answer-c p{color:#475467}

/* Card links + "see all" row (features overview) */
.card-link{display:inline-block;margin-top:14px;font-weight:600;font-size:.9rem;color:var(--green-dark)}
.card.dark .card-link,.card.mid .card-link{color:#fff}
.card-link:hover{text-decoration:underline;text-underline-offset:3px}
.features-more{margin-top:28px}
