html { scroll-behavior: smooth; }
body { font-family: 'General Sans', sans-serif; background: #f8fafc; color: #0f172a; }
h1,h2,h3,h4 { font-family: 'Cabinet Grotesk', sans-serif; }
.container-shell { max-width: 1200px; margin-inline: auto; padding-inline: 1.25rem; }
.section-space { padding-block: 5rem; }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; background:#0f766e; color:#fff; padding:.9rem 1.35rem; border-radius:9999px; font-weight:600; box-shadow:0 10px 30px rgba(15,118,110,.25); transition:.25s ease; }
.btn-primary:hover { background:#0d5d58; transform:translateY(-1px); }
.btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border:1px solid rgba(15,23,42,.12); background:#fff; color:#0f172a; padding:.9rem 1.35rem; border-radius:9999px; font-weight:600; transition:.25s ease; }
.btn-secondary:hover { border-color:#0f766e; color:#0f766e; }
.glass-card { background:rgba(255,255,255,.9); backdrop-filter: blur(10px); border:1px solid rgba(255,255,255,.7); }
.section-kicker { color:#0f766e; font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; }
.section-title { font-size:clamp(2rem,4vw,3.5rem); line-height:1.05; letter-spacing:-0.02em; }
.section-text { color:#475569; font-size:1.05rem; line-height:1.8; }
.card-ui { background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:1.5rem; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.input-ui { width:100%; border:1px solid rgba(15,23,42,.12); border-radius:1rem; padding:.95rem 1rem; background:#fff; color:#0f172a; }
.input-ui:focus { outline:none; border-color:#0f766e; box-shadow:0 0 0 4px rgba(15,118,110,.12); }
.nav-link { color:#334155; font-weight:500; }
.nav-link:hover, .nav-link.active { color:#0f766e; }
.hero-gradient { background: radial-gradient(circle at top left, rgba(15,118,110,.18), transparent 30%), radial-gradient(circle at bottom right, rgba(14,165,233,.12), transparent 25%), linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%); }
.flash-success {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}

.flash-error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.whatsapp-float {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9999;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #25d366;
    color: #ffffff;
    border-radius: 9999px;
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.35);
    text-decoration: none;
    transition: all 0.3s ease;
}

.whatsapp-float:hover {
    background: #1ebe5d;
    transform: translateY(-2px) scale(1.05);
}

.whatsapp-icon {
    width: 28px;
    height: 28px;
    display: block;
}

@media (max-width: 640px) {
    .whatsapp-float {
        width: 52px;
        height: 52px;
        right: 14px;
        bottom: 14px;
    }

    .whatsapp-icon {
        width: 24px;
        height: 24px;
    }
}