/* Final polish — glass refinements, breakpoints, print */

/* ══════════════════════════════════════════════
   FINAL POLISH — iOS 26 Liquid Glass Enhanced
══════════════════════════════════════════════ */

/* ── Nav specular top edge ── */
nav { border-radius: 32px; }
/* ── Chat timestamp ── */
.chat-ts {
  font-size:.65rem; color:var(--muted); font-weight:600;
  padding:0 .2rem;
  opacity:.7;
}
.chat-msg.user .chat-ts { text-align:right; }
.chat-msg.bot .chat-ts { text-align:left; }

/* ── Chat suggest chips (dynamic follow-ups) ── */
.chat-suggest-row {
  display:flex; flex-wrap:wrap; gap:.4rem;
  padding:.3rem .4rem; margin-top:.2rem;
  animation:msgIn .3s ease both;
}
.chat-suggest-chip {
  padding:.3rem .85rem; border-radius:var(--r-full);
  background:rgba(212,129,58,0.07); border:1px solid rgba(212,129,58,0.18);
  color:var(--green-dk); font-size:.72rem; font-weight:700;
  cursor:pointer; transition:all .2s ease; white-space:nowrap;
  font-family:'Sora',sans-serif;
}
.chat-suggest-chip:hover {
  background:var(--grad); color:white; border-color:transparent;
  transform:translateY(-1px); box-shadow:0 4px 12px rgba(212,129,58,0.28);
}

/* ── Chat bubble link style ── */
.chat-bubble a { color:var(--green-dk); font-weight:700; text-decoration:underline; }
.chat-msg.user .chat-bubble a { color:rgba(255,255,255,0.9); }

/* ── Chat unread badge ── */
.chat-unread {
  position:absolute; top:-5px; right:-5px;
  width:18px; height:18px; border-radius:50%;
  background:linear-gradient(135deg,#ef4444,#dc2626);
  color:white; font-size:.62rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--bg);
  opacity:0; transform:scale(0);
  transition:all .3s cubic-bezier(.34,1.5,.64,1);
  pointer-events:none;
}
.chat-unread.show { opacity:1; transform:scale(1); }

/* ── Nav AI btn needs relative position ── */
.nav-ai-btn { position:relative; }

/* ── Float chat button (overridden by later block) ── */
#floatChatBtn {
  position:fixed; bottom:5.5rem; right:2rem; z-index:7999;
}
@media(min-width:1025px){ #floatChatBtn { display:none; } }

/* ── Section progress dots (desktop only) ── */
.sp-wrap {
  position:fixed; right:1.4rem; top:50%; transform:translateY(-50%);
  z-index:500; display:flex; flex-direction:column; gap:.55rem;
  opacity:0; pointer-events:none; transition:opacity .4s ease;
}
.sp-wrap.vis { opacity:1; pointer-events:all; }
.sp-dot {
  width:9px; height:9px; border-radius:50%;
  background:rgba(212,129,58,0.2); border:1.5px solid rgba(212,129,58,0.25);
  cursor:pointer; transition:all .3s cubic-bezier(.34,1.4,.64,1); position:relative;
}
.sp-dot.on { background:var(--green); box-shadow:0 0 12px rgba(212,129,58,0.65); transform:scale(1.4); }
.sp-dot:hover { background:var(--green2); transform:scale(1.2); }
.sp-dot .sp-lbl {
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,0.94); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.9);
  padding:.22rem .65rem; border-radius:20px;
  font-size:.7rem; font-weight:700; color:var(--text); white-space:nowrap;
  opacity:0; pointer-events:none; transition:opacity .2s;
  box-shadow:0 4px 12px rgba(212,129,58,0.1);
}
.sp-dot:hover .sp-lbl { opacity:1; }
@media(max-width:1024px){ .sp-wrap { display:none !important; } }

/* ── Toast notifications ── */
#toastWrap {
  position:fixed; bottom:5.5rem; right:1.8rem; z-index:99999;
  display:flex; flex-direction:column; gap:.6rem; pointer-events:none;
}
.toast {
  display:flex; align-items:center; gap:.8rem;
  padding:.8rem 1.2rem; border-radius:16px;
  background:rgba(255,255,255,0.94); backdrop-filter:blur(40px) saturate(220%);
  border:1px solid rgba(255,255,255,0.98);
  box-shadow:0 10px 36px rgba(212,129,58,0.2),inset 0 1.5px 0 rgba(255,255,255,1);
  font-size:.82rem; font-weight:600; color:var(--text);
  pointer-events:all; min-width:220px; max-width:300px;
  animation:toastIn .38s cubic-bezier(.34,1.4,.64,1) both;
}
.toast.out { animation:toastOut .3s ease forwards; }
.toast-icon {
  width:30px; height:30px; border-radius:10px; background:var(--grad);
  display:flex; align-items:center; justify-content:center; color:white; font-size:.88rem; flex-shrink:0;
}
.toast-err .toast-icon { background:linear-gradient(135deg,#ef4444,#dc2626); }
@keyframes toastIn{from{opacity:0;transform:translateX(56px) scale(.92)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateX(56px) scale(.92)}}

/* ── Form validation ── */
.form-input.is-invalid,.form-textarea.is-invalid { border-color:rgba(239,68,68,0.45)!important; }
.form-input.is-valid,.form-textarea.is-valid { border-color:rgba(212,129,58,0.4)!important; }
.form-success-msg {
  display:none; margin-top:.7rem; padding:1rem 1.2rem; border-radius:var(--r-md);
  background:rgba(212,129,58,0.1); border:1px solid rgba(212,129,58,0.2);
  color:var(--green-dk); font-size:.88rem; font-weight:600;
  align-items:center; gap:.7rem;
}
.form-success-msg.show { display:flex; }

/* ── Quick WhatsApp / LinkedIn below form ── */
.contact-quick-btns {
  display:flex; gap:.7rem; margin-top:.9rem; flex-wrap:wrap;
}
.contact-quick-btns a {
  flex:1; min-width:120px; display:flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.7rem 1rem; border-radius:var(--r-full);
  font-size:.82rem; font-weight:700; text-decoration:none; color:white;
  transition:all .28s cubic-bezier(.34,1.3,.64,1);
}
.contact-quick-btns .wa-btn { background:linear-gradient(135deg,#25d366,#128c7e); box-shadow:0 4px 16px rgba(37,211,102,0.32); }
.contact-quick-btns .li-btn { background:linear-gradient(135deg,#0077b5,#005885); box-shadow:0 4px 16px rgba(0,119,181,0.3); }
.contact-quick-btns a:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.2); }

/* ── Availability badge in hero ── */
.avail-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.45rem 1.1rem; border-radius:var(--r-full);
  background:rgba(212,129,58,0.10); border:1.5px solid rgba(212,129,58,0.25);
  color:var(--green-dk); font-size:.78rem; font-weight:700;
  margin-bottom:.8rem;
}
.avail-dot {
  width:8px; height:8px; border-radius:50%; background:var(--green);
  box-shadow:0 0 8px rgba(212,129,58,0.8); animation:pulse 2.2s ease-in-out infinite;
}

/* ── Hero Professional Tagline ── */
.hero-pro-tag {
  display: inline-flex;
  align-items: center;
  gap: .58rem;
  padding: .5rem 1.35rem .5rem .95rem;
  border-radius: 999px;
  background: rgba(212,129,58,0.09);
  border: 1.5px solid rgba(212,129,58,0.26);
  color: var(--green-dk);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .3px;
  margin-bottom: 1.5rem;
  box-shadow:
    0 2px 14px rgba(212,129,58,0.10),
    inset 0 1.5px 0 rgba(255,255,255,0.85);
  backdrop-filter: blur(10px) saturate(180%);
  -webkit-backdrop-filter: blur(10px) saturate(180%);
  position: relative;
  overflow: visible;
  transition: box-shadow .3s ease, transform .3s cubic-bezier(.34,1.4,.64,1);
}
.hero-pro-tag:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(212,129,58,0.20), inset 0 1.5px 0 rgba(255,255,255,0.9);
}
.hero-pro-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 10px rgba(212,129,58,0.95), 0 0 20px rgba(212,129,58,0.4);
  animation: pulse 2.2s ease-in-out infinite;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .hero-pro-tag { font-size: .72rem; padding: .44rem 1rem .44rem .78rem; letter-spacing: 0; }
}

/* ── Body fade in ── */
body { animation:bFadeIn .4s ease both; }
@keyframes bFadeIn { from{opacity:0} to{opacity:1} }

/* ── Mobile: 16px font on inputs to prevent iOS zoom ── */
@media(max-width:768px){
  .form-input,.form-textarea,.aichat-input-field { font-size:16px !important; }
  /* scroll-top hidden */
  #aiChatOverlay { padding-top:4rem; padding-right:.8rem; padding-left:.8rem; justify-content:center; align-items:flex-end; }
  #aiChatPanel { width:100%; max-width:100%; height:clamp(460px,78vh,620px); border-radius:28px 28px 20px 20px; }
}

/* ── Responsive breakpoints (complete) ── */
@media(min-width:1920px){
  html{font-size:18px} .container{max-width:1720px;padding:0 4%}
  nav{max-width:1620px} section{padding:7rem 0}
}
@media(min-width:1440px) and (max-width:1919px){
  html{font-size:17px} .container{max-width:1380px;padding:0 4%}
  nav{max-width:1320px;width:calc(100% - 5rem)}
}
@media(min-width:1280px) and (max-width:1439px){
  html{font-size:16px} .container{max-width:1240px}
}
@media(min-width:1024px) and (max-width:1279px){
  html{font-size:15.5px} .container{max-width:980px;padding:0 2.5rem}
  nav{width:calc(100%-3rem)} 
}
@media(max-width:479px){
  html{font-size:14px} section{padding:3rem 0}
  .sec-title{font-size:clamp(1.8rem,6vw,2.4rem)}
  .hero-name{font-size:1.9rem} .hero-name-top{font-size:1.4rem}
  .cert-stats{grid-template-columns:1fr 1fr}
  .featured-proj{padding:1.5rem} .featured-proj-title{font-size:1.45rem}
}

/* ── Print ── */
@media print {
  .reading-progress,.sp-wrap,#cur,#cur-r,.particles,#floatChatBtn,
  #aiChatOverlay,.scroll-top,.wov,header,#toastWrap { display:none !important; }
  body { background:white !important; color:black !important; animation:none !important; }
  section { padding:2rem 0 !important; break-inside:avoid; }
}

header.scrolled nav { border-radius: 26px; }

/* ── Section title glow ── */
.sec-title { text-shadow: 0 0 40px rgba(212,129,58,0.10); }

/* ── About photo frame ── */
.about-photo-frame {
  width:100%; aspect-ratio:4/3; border-radius:var(--r-xl);
  overflow:hidden; position:relative; margin-bottom:1.8rem;
  background:var(--g2); backdrop-filter:var(--g-blur);
  border:1px solid rgba(255,255,255,0.75);
  box-shadow:var(--sh-lg),inset 0 1px 0 rgba(255,255,255,0.9);
}
.about-photo-frame img { width:100%;height:100%;object-fit:cover;object-position:center top;display:block; }
.about-photo-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 60%,rgba(212,129,58,0.10));
  pointer-events:none;
}
.about-photo-badge {
  position:absolute;bottom:1.2rem;left:1.2rem;
  display:flex;align-items:center;gap:.6rem;
  padding:.6rem 1rem;
  background:rgba(255,255,255,0.88);
  backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,0.95);
  border-radius:16px;
  box-shadow:0 4px 16px rgba(212,129,58,0.16),inset 0 1px 0 rgba(255,255,255,1);
  font-size:.82rem;font-weight:700;color:var(--green-dk);
}
.about-photo-badge i { color:var(--green);font-size:.9rem; }

/* ── Exp card shimmer ── */
.exp-card::after {
  content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);
  transition:left .7s ease;pointer-events:none;
}
.exp-card:hover::after { left:150%; }
.proj-card:hover { box-shadow:var(--sh-xl),0 0 0 2px rgba(212,129,58,0.18); }
.award-card:hover { border-color:rgba(245,158,11,0.2); box-shadow:0 24px 64px rgba(0,0,0,0.45),0 0 0 1px rgba(245,158,11,0.1); }
.form-input:focus,.form-textarea:focus { box-shadow:0 0 0 3px rgba(212,129,58,0.14),0 0 20px rgba(212,129,58,0.08); }
/* scroll-top hidden */
.reading-progress { height:2px;box-shadow:0 0 12px rgba(212,129,58,0.8),0 0 24px rgba(212,129,58,0.4); }
.footer-logo { letter-spacing:-1px; }
.skill-bar-fill { box-shadow:0 0 8px rgba(212,129,58,0.4),0 0 16px rgba(212,129,58,0.15); }
.tool-card:hover { transform:translateY(-5px);box-shadow:var(--sh-lg);background:rgba(255,255,255,0.88); }
.hero-floating-card { border-radius:18px;background:rgba(255,255,255,0.9);box-shadow:0 8px 32px rgba(212,129,58,0.14),0 2px 8px rgba(0,0,0,0.06),inset 0 1.5px 0 rgba(255,255,255,1); }

/* ══════════════════════════════════════
   HERO AVATAR — iOS 26 Orbital System
══════════════════════════════════════ */
.hero-avatar-wrap {
  position:relative; width:400px; height:400px;
  display:flex; align-items:center; justify-content:center;
}
/* Pulsing glow halo */
.hero-avatar-glow {
  position:absolute; inset:-20px; border-radius:50%;
  background:radial-gradient(circle, rgba(212,129,58,0.16) 0%, rgba(232,168,78,0.08) 40%, transparent 70%);
  animation:glowPulse 4s ease-in-out infinite;
  pointer-events:none; z-index:0;
}
@keyframes glowPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}

/* Ring 3 — wider pulsing */
.hero-avatar-ring-3 {
  position:absolute; inset:-28px; border-radius:50%;
  border:1px solid rgba(212,129,58,0.14);
  animation:spin 28s linear infinite;
}
/* Ring 4 — outermost faint */
.hero-avatar-ring-4 {
  position:absolute; inset:-50px; border-radius:50%;
  border:1px dashed rgba(232,168,78,0.09);
  animation:spin 48s linear infinite reverse;
}

/* Orbiting dots */
.hero-orbit-dot {
  position:absolute; border-radius:50%; z-index:3;
  top:50%; left:50%;
}
.orbit-green {
  width:13px; height:13px; margin:-6.5px 0 0 -6.5px;
  background:radial-gradient(circle, #F2CC8A, #D4813A);
  box-shadow:0 0 18px rgba(212,129,58,1), 0 0 36px rgba(212,129,58,0.5);
  animation:orbitA 11s linear infinite;
}
.orbit-gold {
  width:10px; height:10px; margin:-5px 0 0 -5px;
  background:radial-gradient(circle, #fde68a, #f59e0b);
  box-shadow:0 0 14px rgba(245,158,11,0.95), 0 0 28px rgba(245,158,11,0.4);
  animation:orbitB 17s linear infinite reverse;
}
.orbit-teal {
  width:8px; height:8px; margin:-4px 0 0 -4px;
  background:radial-gradient(circle, #FFF1D6, #E8A84E);
  box-shadow:0 0 12px rgba(232,168,78,0.95), 0 0 22px rgba(232,168,78,0.4);
  animation:orbitC 23s linear infinite;
}
@keyframes orbitA {
  from { transform:rotate(0deg) translateX(205px); }
  to   { transform:rotate(360deg) translateX(205px); }
}
@keyframes orbitB {
  from { transform:rotate(60deg) translateX(220px); }
  to   { transform:rotate(420deg) translateX(220px); }
}
@keyframes orbitC {
  from { transform:rotate(120deg) translateX(196px); }
  to   { transform:rotate(480deg) translateX(196px); }
}

/* Avatar image frame */
.hero-avatar-bg {
  width:320px; height:320px;
  border:2px solid rgba(255,255,255,0.92);
  box-shadow:
    0 0 0 7px rgba(212,129,58,0.07),
    0 0 0 14px rgba(212,129,58,0.04),
    0 40px 80px rgba(212,129,58,0.22),
    0 12px 32px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.98);
  position:relative; z-index:1;
}

/* Status badge on avatar */
.hero-avatar-status {
  position:absolute; bottom:-10px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:.5rem;
  padding:.45rem 1.1rem;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(24px) saturate(200%);
  border:1px solid rgba(255,255,255,0.98);
  border-radius:var(--r-full);
  font-size:.75rem; font-weight:700; color:var(--green-dk);
  box-shadow:0 6px 20px rgba(212,129,58,0.2), inset 0 1px 0 rgba(255,255,255,1);
  white-space:nowrap; z-index:4;
  letter-spacing:.3px;
}
.hero-avatar-status .has-dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--green);
  box-shadow:0 0 8px rgba(212,129,58,0.9);
  animation:pulse 2s infinite;
  flex-shrink:0;
}

/* ═══════════════════════════════════════════════════════
   AI CHATBOT — iOS 26 Liquid Glass Siri-style Interface
═══════════════════════════════════════════════════════ */
/* aiChatOverlay and aiChatPanel defined fully in the premium block below */

/* Chat header */
.chat-header {
  display:flex; align-items:center; gap:1rem;
  padding:1.2rem 1.4rem 1rem;
  border-bottom:1px solid rgba(255,255,255,0.5);
  flex-shrink:0; position:relative;
}
.chat-header-avatar {
  width:44px; height:44px; border-radius:var(--r-md);
  background:linear-gradient(145deg,#D4813A,#A85E22);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; flex-shrink:0;
  box-shadow:0 4px 16px rgba(212,129,58,0.4), inset 0 1px 0 rgba(255,255,255,0.25);
  position:relative;
}
.chat-header-avatar::after {
  content:''; position:absolute; bottom:-2px; right:-2px;
  width:11px; height:11px; border-radius:50%;
  background:var(--green);
  border:2.5px solid rgba(255,244,228,0.95);
  box-shadow:0 0 8px rgba(212,129,58,0.8);
  animation:aiPing 2s ease-in-out infinite;
}
.chat-header-info { flex:1; min-width:0; }
.chat-header-name {
  font-size:.95rem; font-weight:800; color:var(--text);
  letter-spacing:-.2px; display:block;
}
.chat-header-sub {
  font-size:.72rem; color:var(--green-dk); font-weight:600;
  letter-spacing:.5px; text-transform:uppercase;
  display:flex; align-items:center; gap:.35rem; margin-top:.1rem;
}
.chat-live-dot {
  width:5px; height:5px; border-radius:50%;
  background:var(--green);
  animation:pulse 2s infinite; flex-shrink:0;
}
.chat-close-btn {
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,0.55);
  border:1px solid rgba(255,255,255,0.88);
  color:var(--muted); font-size:.8rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .2s ease; flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}
.chat-close-btn:hover { background:rgba(255,255,255,0.85); color:var(--text); transform:scale(1.08); }

/* Quick suggestion chips */
.chat-chips {
  display:flex; gap:.5rem; overflow-x:auto; padding:.8rem 1.4rem .5rem;
  scrollbar-width:none; flex-shrink:0;
}
.chat-chips::-webkit-scrollbar { display:none; }
.chat-chip {
  padding:.35rem .9rem; border-radius:var(--r-full); white-space:nowrap;
  background:rgba(255,255,255,0.72); border:1px solid rgba(255,255,255,0.92);
  color:var(--green-dk); font-size:.72rem; font-weight:700; cursor:pointer;
  transition:all .2s ease; flex-shrink:0;
  box-shadow:0 2px 8px rgba(212,129,58,0.1), inset 0 1px 0 rgba(255,255,255,0.9);
  letter-spacing:.1px;
}
.chat-chip:hover {
  background:var(--grad); color:white; border-color:transparent;
  transform:translateY(-2px);
  box-shadow:0 5px 16px rgba(212,129,58,0.35);
}

/* Messages area */
.chat-messages {
  flex:1; overflow-y:auto; padding:1rem 1.4rem;
  display:flex; flex-direction:column; gap:1rem;
  scrollbar-width:thin; scrollbar-color:rgba(212,129,58,0.2) transparent;
}
.chat-messages::-webkit-scrollbar { width:4px; }
.chat-messages::-webkit-scrollbar-thumb { background:rgba(212,129,58,0.2); border-radius:4px; }

/* Message bubbles */
.chat-msg {
  display:flex; gap:.7rem; align-items:flex-end; max-width:92%;
  animation:msgIn .3s cubic-bezier(.34,1.3,.64,1) both;
}
@keyframes msgIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.chat-msg.user { flex-direction:row-reverse; margin-left:auto; }
.chat-msg-icon {
  width:28px; height:28px; border-radius:var(--r-sm);
  background:linear-gradient(145deg,#D4813A,#A85E22);
  display:flex; align-items:center; justify-content:center;
  font-size:.75rem; flex-shrink:0;
  box-shadow:0 3px 10px rgba(212,129,58,0.3);
}
.chat-msg.user .chat-msg-icon {
  background:rgba(255,255,255,0.72); border:1px solid rgba(255,255,255,0.9);
  color:var(--green-dk);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.9), 0 2px 6px rgba(0,0,0,0.06);
}
.chat-bubble {
  padding:.72rem 1rem; border-radius:18px;
  font-size:.875rem; line-height:1.65; font-weight:500;
  max-width:100%;
}
.chat-msg.bot .chat-bubble {
  background:rgba(255,255,255,0.82);
  border:1px solid rgba(255,255,255,0.92);
  border-bottom-left-radius:5px;
  color:var(--text);
  box-shadow:0 4px 16px rgba(212,129,58,0.1), inset 0 1px 0 rgba(255,255,255,0.95);
}
.chat-msg.user .chat-bubble {
  background:linear-gradient(145deg,#D4813A,#A85E22);
  border:1px solid rgba(212,129,58,0.2);
  border-bottom-right-radius:5px;
  color:white;
  box-shadow:0 4px 18px rgba(212,129,58,0.38), inset 0 1px 0 rgba(255,255,255,0.2);
}

/* Typing indicator */
.chat-typing {
  display:flex; gap:.7rem; align-items:flex-end;
  animation:msgIn .3s ease both;
}
.typing-bubble {
  padding:.7rem 1rem; border-radius:18px; border-bottom-left-radius:5px;
  background:rgba(255,255,255,0.82);
  border:1px solid rgba(255,255,255,0.92);
  display:flex; gap:.4rem; align-items:center;
  box-shadow:0 4px 16px rgba(212,129,58,0.1);
}
.typing-dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--green); opacity:.5;
  animation:typingDot 1.4s ease-in-out infinite;
}
.typing-dot:nth-child(2){animation-delay:.2s}
.typing-dot:nth-child(3){animation-delay:.4s}
@keyframes typingDot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}

/* Chat input bar */
.chat-input-bar {
  display:flex; gap:.6rem; align-items:flex-end;
  padding:.9rem 1.2rem 1.1rem;
  border-top:1px solid rgba(255,255,255,0.5);
  background:rgba(255,255,255,0.22);
  flex-shrink:0;
}
.chat-input {
  flex:1; padding:.65rem 1rem; border-radius:18px;
  background:rgba(255,255,255,0.75);
  border:1px solid rgba(255,255,255,0.95);
  color:var(--text); font-family:'Sora',sans-serif;
  font-size:.85rem; outline:none; resize:none;
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,0.9), 0 2px 8px rgba(212,129,58,0.08);
  transition:all .2s ease; max-height:100px; line-height:1.5;
  backdrop-filter:blur(12px);
}
.chat-input::placeholder { color:var(--muted); }
.chat-input:focus {
  border-color:rgba(212,129,58,0.4);
  background:rgba(255,255,255,0.92);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,1), 0 0 0 3px rgba(212,129,58,0.12);
}
.chat-send-btn {
  width:38px; height:38px; border-radius:14px; flex-shrink:0;
  background:linear-gradient(145deg,#D4813A,#A85E22);
  border:none; color:white; font-size:.9rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(212,129,58,0.45), inset 0 1px 0 rgba(255,255,255,0.25);
  transition:all .22s cubic-bezier(.34,1.3,.64,1);
}
.chat-send-btn:hover { transform:scale(1.1) translateY(-2px); box-shadow:0 8px 24px rgba(212,129,58,0.55); }
.chat-send-btn:active { transform:scale(.95); }

/* Responsive */
@media(max-width:768px){
  nav { border-radius:22px; }
  .hero-avatar-ring-3,.hero-avatar-ring-4,.hero-orbit-dot,.hero-avatar-glow,.hero-avatar-status { display:none; }
  .hero-avatar-wrap { width:220px; height:220px; }
  .hero-avatar-bg { width:190px; height:190px; }
  #aiChatOverlay { padding-top:4.5rem; padding-right:1rem; padding-left:1rem; justify-content:center; }
  #aiChatPanel { width:100%; max-width:100%; height:clamp(440px,75vh,580px); border-radius:26px; }
  .nav-actions { gap:.4rem; }
  .nav-cta { padding:.42rem 1rem; font-size:.76rem; }
}
@media(max-width:480px){
  nav { border-radius:18px; }
  .nav-cta { display:none; }
  #aiChatPanel { border-radius:20px; }
}
