:root{--navy:#0f2742;--teal:#0f766e;--green:#198754;--gold:#d4a94d;--light:#f5f7fa;--text:#1f2937;--muted:#64748b;--danger:#dc3545}*{box-sizing:border-box}body{font-family:Inter,"Segoe UI",sans-serif;color:var(--text);background:var(--light)}.navbar{background:rgba(15,39,66,.97);box-shadow:0 6px 24px rgba(15,39,66,.15)}.navbar-brand{display:flex;align-items:center;gap:.65rem}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--green))}.btn{border-radius:12px;font-weight:600;padding:.65rem 1rem}.btn-gold{background:var(--gold);color:#172331;border:0}.btn-teal{background:var(--teal);color:#fff;border:0}.btn-teal:hover,.btn-gold:hover{filter:brightness(.95);color:#fff}.hero{padding:9.5rem 0 6rem;background:radial-gradient(circle at 80% 20%,rgba(15,118,110,.45),transparent 35%),linear-gradient(135deg,#0f2742,#123a58);color:#fff;overflow:hidden}.hero h1{font-size:clamp(2.5rem,5vw,4.7rem);font-weight:800;line-height:1.05}.hero p{font-size:1.15rem;color:#dbe6ef;max-width:650px}.hero-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);border-radius:24px;padding:1.5rem;box-shadow:0 30px 70px rgba(0,0,0,.25)}.section{padding:5rem 0}.section-title{font-weight:800;color:var(--navy)}.eyebrow{color:var(--teal);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.card-soft{background:#fff;border:1px solid #e8edf2;border-radius:18px;box-shadow:0 10px 35px rgba(15,39,66,.07);height:100%;transition:.2s}.card-soft:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(15,39,66,.12)}.icon-box{width:52px;height:52px;display:grid;place-items:center;background:#e7f5f3;color:var(--teal);font-size:1.4rem;border-radius:15px}.badge-soft{background:#e7f5f3;color:var(--teal);border-radius:999px;padding:.45rem .75rem}.page-head{padding:8rem 0 3rem;background:linear-gradient(135deg,var(--navy),#164e63);color:#fff}.form-control,.form-select{border-radius:12px;padding:.75rem;border-color:#dbe3ea}.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .22rem rgba(15,118,110,.14)}footer{background:var(--navy);color:#fff;padding:3.5rem 0 2rem}footer a{color:#b9d7d4;text-decoration:none}.chat-shell{max-width:1000px;margin:7rem auto 3rem;background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(15,39,66,.15);overflow:hidden}.chat-head{background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.online-dot{width:9px;height:9px;background:#5ee89b;border-radius:50%;display:inline-block}.chat-body{height:58vh;min-height:430px;overflow-y:auto;padding:1.5rem;background:linear-gradient(#f8fafc,#eef4f6)}.message{display:flex;gap:.7rem;margin-bottom:1rem;max-width:82%}.message.user{margin-left:auto;flex-direction:row-reverse}.bubble{padding:.85rem 1rem;border-radius:17px 17px 17px 4px;background:#fff;box-shadow:0 3px 12px rgba(15,39,66,.07);white-space:pre-line}.user .bubble{background:var(--teal);color:#fff;border-radius:17px 17px 4px 17px}.avatar{flex:0 0 34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--navy);color:#fff}.user .avatar{background:var(--gold);color:#172331}.msg-time{font-size:.68rem;color:#94a3b8;margin-top:.35rem}.user .msg-time{color:#d5eeee}.quick{display:flex;gap:.5rem;overflow-x:auto;padding:.8rem 1.25rem;border-top:1px solid #eef1f4}.quick button,.suggestion{white-space:nowrap;border:1px solid #cde5e2;background:#fff;color:var(--teal);border-radius:999px;padding:.45rem .8rem}.chat-input{display:flex;gap:.7rem;padding:1rem 1.25rem;border-top:1px solid #e8edf2}.chat-input .form-control{border-radius:999px}.typing span{display:inline-block;width:7px;height:7px;background:#94a3b8;border-radius:50%;animation:pulse 1s infinite;margin:0 2px}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes pulse{50%{transform:translateY(-5px);opacity:.4}}@media(max-width:768px){.section{padding:3.5rem 0}.chat-shell{margin:5rem 0 0;border-radius:0;min-height:calc(100vh - 5rem)}.chat-body{height:calc(100vh - 260px)}.hero{padding-top:8rem}}
