/* Base */
body { font-family: 'Inter', sans-serif; background-color:#0D1117; color:#C9D1D9; }
.gradient-text { background: linear-gradient(90deg,#22d3ee,#0ea5e9); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* CTA */
.cta-button { background: linear-gradient(90deg,#22d3ee,#0ea5e9); transition: all .3s ease; }
.cta-button:hover { transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(34,211,238,.3), 0 4px 6px -2px rgba(14,165,233,.2); }

/* Pricing cards */
.pricing-card { background:#161B22; border:1px solid #30363D; transition: all .3s ease; display:flex; flex-direction:column; }
.pricing-card:hover { border-color:#22d3ee; transform: translateY(-5px); }

/* FAQ accordion */
.faq-item.open .faq-answer { display:block; }
.faq-item.open .icon-plus { display:none; }
.faq-item.open .icon-minus { display:block; }

/* Pricing tabs */
.pricing-tab { color:#C9D1D9; }
.pricing-tab.active { background: linear-gradient(90deg,#22d3ee,#0ea5e9); color:#fff; font-weight:600; }
.pricing-panel { display:none; }
.pricing-panel.active { display:block; }

/* Modals */
.modal-overlay { transition: opacity .3s ease; }
.modal-content { transition: transform .3s ease; }

/* Background animation */
@keyframes scrollBackground { from{background-position:0 0;} to{background-position:0 -1024px;} }
.animated-bg { position:absolute; inset:0; background-image:url('https://www.transparenttextures.com/patterns/subtle-prism.png'); background-repeat:repeat; animation:scrollBackground 60s linear infinite; opacity:.05; z-index:0; }

/* Mobile menu */
.mobile-menu { transition: opacity .3s ease-in-out; }

/* Iframe */
.modal-iframe { width:100%; height:70vh; border:1px solid #374151; border-radius:.75rem; background:#0f131a; }

/* Form controls */
.input { width:100%; background:#1c2330; border:1px solid #374151; border-radius:.5rem; padding:.6rem .9rem; color:#e5e7eb; }
.input:focus { outline:none; box-shadow:0 0 0 3px rgba(34,211,238,.35); border-color:#22d3ee; }
.label { display:block; font-size:.85rem; color:#cbd5e1; margin-bottom:.35rem; }
.error { color:#fca5a5; font-size:.8rem; }
.help { color:#9ca3af; font-size:.75rem; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1rem; border-radius:.6rem; font-weight:600; }
.btn-primary { background: linear-gradient(90deg,#22d3ee,#0ea5e9); color:#fff; }
.btn-ghost { background:transparent; border:1px solid #374151; color:#cbd5e1; }

/* A11y helper */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Trial chooser buttons */
.trial-btn { transition: transform .2s ease, box-shadow .2s ease, background-position .3s ease, border-color .2s ease, color .2s ease; }
.trial-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(34,211,238,.28), 0 4px 6px -2px rgba(14,165,233,.18); }
.btn-primary.trial-btn { background-size: 200% 100%; }
.btn-primary.trial-btn:hover { background-position: 100% 0; }
.btn-ghost.trial-btn:hover { border-color: #22d3ee; background: rgba(34,211,238,.08); color: #e5faff; }

/* Trial radio tiles */
.trial-tile { border:1px solid #30363D; border-radius:.75rem; padding:1rem; cursor:pointer; transition:border-color .2s ease, background-color .2s ease, transform .2s ease; }
.trial-tile:hover { border-color:#22d3ee; transform: translateY(-2px); }
.trial-tile.selected { border-color:#22d3ee; background: rgba(34,211,238,.08); }

/* Stepper + layout helpers */
.stepper { display:flex; gap:.5rem; align-items:center; margin-bottom:.75rem;}
.step-dot{ width:.5rem; height:.5rem; border-radius:9999px; background:#334155; }
.step-dot.active{ background:#22d3ee; }
.step-title{ font-size:.85rem; color:#a3a3a3; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
@media (max-width: 640px){ .form-grid{ grid-template-columns:1fr; } }
.muted{ color:#9ca3af; }