/* Preserve the original palette and layout; add contrast and a branded chat panel. */
body { background:#0f172a; }
header.wrap { position:relative; }
.hero { padding-top:64px; padding-bottom:76px; }
h1 { max-width:650px; font-size:clamp(2.7rem,5.2vw,4.7rem); }
.hero p { line-height:1.75; }
.hero .price-line { line-height:1.7; }
.nav-cta { background:rgba(56,189,248,.12); border-color:rgba(56,189,248,.4); }
#features, #how-it-works, #referrals { background:#131f34; border-block:1px solid rgba(148,163,184,.09); }
#pricing { background:radial-gradient(ellipse at top right,rgba(56,189,248,.09),transparent 65%); }
.card { background:rgba(255,255,255,.035); border-color:rgba(148,163,184,.16); }
.card h3 { line-height:1.35; }
.demo-card { padding:30px; background:linear-gradient(145deg,#18344b,#152237); }
.availability { display:flex; align-items:center; gap:8px; color:#a7f3d0; font-size:.8rem; font-weight:700; margin-bottom:18px; }
.availability span { width:7px; height:7px; border-radius:50%; background:#6ee7b7; }
.contact.price-grid { background:#19283e; color:var(--text); border:1px solid #3d607b; padding:36px; box-shadow:0 14px 40px rgba(0,0,0,.15); }
.contact p { color:var(--muted); }
.price { color:#7dd3fc; }
#payment-terms { padding:16px; border-left:3px solid #38bdf8; background:rgba(56,189,248,.07); border-radius:0 8px 8px 0; }
.btn { min-height:48px; text-align:center; transition:background .15s,transform .15s; }
.btn:hover { transform:translateY(-2px); }
.highlight { background:linear-gradient(120deg,#183249,#152638); border-color:#31536e; }
.referral-examples { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:24px; }
.referral-examples>div { padding:18px 12px; border:1px solid #36516d; border-radius:12px; background:#17283e; }
.referral-examples>div:last-child { border-color:#38bdf8; background:#16364d; }
.referral-examples span { display:block; font-size:.82rem; color:#cbd5e1; }
.referral-examples strong { display:block; font-size:1.7rem; color:#7dd3fc; margin-top:8px; line-height:1.3; }
.referral-examples small { font-size:.75rem; font-weight:500; }
button,input { font:inherit; }
button { cursor:pointer; }
button:focus-visible,input:focus-visible { outline:3px solid #7dd3fc; outline-offset:3px; }
.chat-launcher { position:fixed; right:24px; bottom:24px; z-index:50; border:1px solid #7dd3fc; border-radius:999px; padding:14px 20px; background:#38bdf8; color:#082f49; font-weight:800; box-shadow:0 8px 24px #0005; min-height:48px; }
.chat-launcher span { margin-right:6px; }
.chat-panel { position:fixed; right:24px; bottom:90px; width:380px; max-width:calc(100vw - 32px); height:540px; max-height:calc(100dvh - 114px); z-index:60; background:#142238; border:1px solid #48647c; border-radius:20px; overflow:hidden; box-shadow:0 16px 60px #0007; display:flex; flex-direction:column; }
.chat-panel[hidden] { display:none; }
.chat-header { padding:16px 18px; display:flex; justify-content:space-between; align-items:center; background:#1b3049; border-bottom:1px solid #36516d; }
.chat-header strong { font-size:1.05rem; }
.chat-header strong span { color:#38bdf8; }
.chat-header p { font-size:.73rem; color:#cbd5e1; margin:3px 0 0; }
.chat-header button { color:#f8fafc; background:transparent; border:0; font-size:1.7rem; width:44px; height:44px; }
.chat-messages { flex:1; overflow-y:auto; padding:16px; min-height:80px; }
.chat-message { border-radius:12px; padding:12px 14px; background:#22354e; margin-bottom:12px; font-size:.9rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-message.user { background:#174a65; margin-left:24px; }
.chat-topics { padding:4px 16px 12px; display:flex; flex-wrap:wrap; gap:8px; }
.chat-topics button { border:1px solid #4a6d88; color:#e0f2fe; background:transparent; border-radius:999px; padding:8px 12px; font-size:.78rem; min-height:40px; }
.chat-actions { display:flex; gap:12px; flex-wrap:wrap; padding:0 16px 12px; font-size:.8rem; color:#7dd3fc; font-weight:700; }
#chat-form { border-top:1px solid #36516d; padding:12px 16px; }
.chat-compose { display:flex; gap:8px; }
.chat-compose input { min-width:0; width:100%; border:1px solid #48647c; border-radius:8px; background:#0f172a; color:#fff; padding:10px; font-size:16px; }
.chat-compose button { background:#38bdf8; color:#082f49; border:0; border-radius:8px; padding:10px 12px; font-weight:700; }
.chat-compose :disabled { opacity:.6; cursor:not-allowed; }
#chat-note { font-size:.72rem; color:#cbd5e1; margin:8px 0 0; }
#chat-note a { text-decoration:underline; }
.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; }
footer { padding-bottom:110px; }
@media(max-width:820px) { .hero { padding-top:32px;padding-bottom:42px; } .contact.price-grid,.demo-card { padding:24px; } .referral-examples { grid-template-columns:repeat(2,minmax(0,1fr)); } .referral-examples>div:last-child { grid-column:1 / -1; } }
@media(max-width:480px) { .chat-launcher { right:16px;bottom:16px; } .chat-panel { right:16px;bottom:80px;max-height:calc(100dvh - 96px); } .nav-links { font-size:.85rem;gap:12px; } .price-grid .btn { width:100%; } }
@media(prefers-reduced-motion:reduce) { .btn { transition:none; } .btn:hover { transform:none; } }
