:root {
  --ink:#09090b; --ink-deep:#050506; --ink-mid:#0e0e12; --ink-soft:#141418; --ink-muted:#1c1c22;
  --wire:rgba(255,255,255,0.07); --wire-md:rgba(255,255,255,0.12); --wire-hi:rgba(255,255,255,0.20);
  --chalk:#f0f0ee; --chalk-dim:#8a8a9a; --chalk-mute:#4a4a5a;
  --gold:#c9a96e; --gold-pale:#e8d4a8; --gold-deep:#8a6e3e;
  --go:#6ec98a;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--ink);color:var(--chalk);font-family:'DM Sans',sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;cursor:none;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
::selection{background:rgba(201,169,110,0.25);color:var(--chalk);}
::-webkit-scrollbar{width:3px;}::-webkit-scrollbar-track{background:var(--ink);}::-webkit-scrollbar-thumb{background:var(--chalk-mute);}::-webkit-scrollbar-thumb:hover{background:var(--gold);}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");opacity:.02;pointer-events:none;z-index:9990;}

/* CURSOR */
.cur-dot{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .08s ease,background .3s;}
.cur-ring{position:fixed;width:32px;height:32px;border:1px solid rgba(201,169,110,.45);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;}
body.hov .cur-dot{transform:translate(-50%,-50%) scale(2.4);background:var(--gold-pale);}
body.hov .cur-ring{width:52px;height:52px;border-color:rgba(201,169,110,.2);}

/* LAYOUT */
.container{max-width:1320px;margin:0 auto;padding:0 60px;}
.section{padding:140px 0;}
.section-alt{background:var(--ink-mid);border-top:1px solid var(--wire);border-bottom:1px solid var(--wire);}

/* TYPE */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.eyebrow::after{content:'';display:block;width:32px;height:1px;background:var(--gold);opacity:.5;}
.title{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,5vw,72px);letter-spacing:.04em;line-height:.95;color:var(--chalk);}
.serif-i{font-family:'Instrument Serif',serif;font-style:italic;color:var(--gold);}
.body-lg{font-size:17px;line-height:1.9;color:var(--chalk-dim);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.23,1,.32,1),transform .9s cubic-bezier(.23,1,.32,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.rl{opacity:0;transform:translateX(-40px);transition:opacity .9s cubic-bezier(.23,1,.32,1),transform .9s cubic-bezier(.23,1,.32,1);}
.rl.visible{opacity:1;transform:translateX(0);}

/* TAGS */
.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-mute);border:1px solid var(--wire-md);padding:5px 13px;transition:all .25s;}
.tag:hover{color:var(--gold);border-color:rgba(201,169,110,.35);background:rgba(201,169,110,.04);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:15px 34px;transition:all .3s;position:relative;overflow:hidden;}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold::before{content:'';position:absolute;inset:0;background:var(--gold-pale);transform:translateX(-101%);transition:transform .35s cubic-bezier(.23,1,.32,1);}
.btn-gold:hover::before{transform:translateX(0);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(201,169,110,.25);}
.btn-gold span,.btn-gold svg{position:relative;z-index:1;}
.btn-ghost{background:transparent;color:var(--chalk);border:1px solid var(--wire-hi);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;height:76px;z-index:1000;display:flex;align-items:center;transition:background .4s;}
nav.scrolled{background:rgba(9,9,11,.92);backdrop-filter:blur(24px);border-bottom:1px solid var(--wire);}
.nav-inner{max-width:1320px;margin:0 auto;padding:0 60px;width:100%;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.06em;color:var(--chalk);}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;gap:44px;}
.nav-links a{font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);position:relative;transition:color .3s;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .35s cubic-bezier(.23,1,.32,1);}
.nav-links a:hover,.nav-links a.active{color:var(--chalk);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-hire{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:10px 24px;transition:background .3s,transform .2s;}
.nav-hire:hover{background:var(--gold-pale);transform:translateY(-1px);}
.mob-tog{display:none;background:none;border:none;cursor:none;padding:8px;color:var(--chalk);}
.mob-menu{display:none;position:fixed;top:76px;left:0;right:0;background:rgba(9,9,11,.97);backdrop-filter:blur(24px);border-bottom:1px solid var(--wire);flex-direction:column;padding:32px 60px;gap:24px;z-index:999;}
.mob-menu.open{display:flex;}
.mob-menu a{font-size:14px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);transition:color .3s;padding:8px 0;border-bottom:1px solid var(--wire);}
.mob-menu a:hover{color:var(--gold);}

/* HERO */
#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.5;}
.hero-left{display:flex;flex-direction:column;justify-content:flex-end;padding:140px 80px 80px 60px;position:relative;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:36px;opacity:0;animation:sUp .8s .3s cubic-bezier(.23,1,.32,1) forwards;}
.bdot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pgold 2s infinite;}
@keyframes pgold{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(201,169,110,.4);}50%{opacity:.8;box-shadow:0 0 0 6px rgba(201,169,110,0);}}
.hero-name{font-family:'Bebas Neue',sans-serif;font-size:clamp(64px,8.2vw,128px);letter-spacing:.025em;line-height:.88;color:var(--chalk);margin-bottom:28px;opacity:0;animation:sUp .9s .5s cubic-bezier(.23,1,.32,1) forwards;}
.hero-name .out{-webkit-text-stroke:1.5px rgba(240,240,238,.22);color:transparent;display:block;}
.hero-role{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(19px,2.2vw,27px);color:var(--gold);margin-bottom:22px;opacity:0;animation:sUp .9s .7s cubic-bezier(.23,1,.32,1) forwards;}
.hero-desc{font-size:15px;font-weight:300;line-height:1.85;color:var(--chalk-dim);max-width:400px;margin-bottom:48px;opacity:0;animation:sUp .9s .9s cubic-bezier(.23,1,.32,1) forwards;}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;opacity:0;animation:sUp .9s 1.1s cubic-bezier(.23,1,.32,1) forwards;}
.hero-scroll{position:absolute;bottom:48px;left:60px;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--chalk-mute);opacity:0;animation:fIn 1s 1.5s forwards;}
.scroll-bar{width:1px;height:50px;background:linear-gradient(to bottom,transparent,var(--chalk-mute));animation:spulse 2s ease-in-out infinite;}
.hero-right{position:relative;overflow:hidden;}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(20%) brightness(.65);transition:transform 8s ease;}
.hero-right:hover .hero-photo{transform:scale(1.03);}
.h-ovl{position:absolute;inset:0;background:linear-gradient(to right,var(--ink) 0%,rgba(9,9,11,.5) 30%,transparent 60%);}
.h-ovb{position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,var(--ink),transparent);}
.hero-stats{position:absolute;bottom:48px;right:0;display:flex;background:rgba(9,9,11,.88);backdrop-filter:blur(16px);border-top:1px solid var(--wire);border-left:1px solid var(--wire);opacity:0;animation:sLeft .9s 1.2s cubic-bezier(.23,1,.32,1) forwards;}
.hstat{padding:22px 34px;border-right:1px solid var(--wire);text-align:center;}
.hstat:last-child{border-right:none;}
.snum{font-family:'Bebas Neue',sans-serif;font-size:38px;letter-spacing:.04em;color:var(--chalk);line-height:1;}
.snum sup{font-size:18px;color:var(--gold);vertical-align:super;}
.slabel{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--chalk-mute);margin-top:7px;}

@keyframes sUp{from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:translateY(0);}}
@keyframes sLeft{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:translateX(0);}}
@keyframes fIn{from{opacity:0;}to{opacity:1;}}
@keyframes spulse{0%{transform:scaleY(0);transform-origin:top;}49%{transform:scaleY(1);transform-origin:top;}50%{transform:scaleY(1);transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* MARQUEE */
.marquee{background:var(--ink-muted);border-top:1px solid var(--wire);border-bottom:1px solid var(--wire);padding:15px 0;overflow:hidden;white-space:nowrap;}
.mtrack{display:inline-flex;gap:56px;animation:mq 26s linear infinite;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--chalk-mute);align-items:center;}
.msep{color:var(--gold);opacity:.5;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:64px;}
.about-photo-wrap{position:relative;overflow:hidden;min-height:560px;}
.about-photo{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center top;filter:brightness(.75) saturate(.7);transition:transform .7s ease;}
.about-photo-wrap:hover .about-photo{transform:scale(1.04);}
.aphoto-cap{position:absolute;bottom:28px;left:28px;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.about-content{background:var(--ink-soft);border:1px solid var(--wire);padding:64px 60px;display:flex;flex-direction:column;justify-content:center;}
.atext{font-size:16px;font-weight:300;line-height:1.9;color:var(--chalk-dim);margin-bottom:20px;}
.atext strong{color:var(--chalk);font-weight:500;}
.ainfo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:48px;border-top:1px solid var(--wire);}
.ainfo-item{padding:20px 0;border-bottom:1px solid var(--wire);}
.ainfo-item:nth-child(odd){padding-right:24px;border-right:1px solid var(--wire);}
.ainfo-item:nth-child(even){padding-left:24px;}
.ailabel{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--chalk-mute);margin-bottom:5px;}
.aival{font-size:14px;font-weight:400;color:var(--chalk);}
.status-live{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--go);}
.status-live::before{content:'';width:7px;height:7px;background:var(--go);border-radius:50%;animation:pgold 2s infinite;}

/* SKILLS */
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:72px;}
.skill-card{background:var(--ink-soft);border:1px solid var(--wire);padding:40px;transition:border-color .3s,transform .4s;position:relative;overflow:hidden;background-size:cover;background-position:center;}
.skill-card::before{content:'';position:absolute;inset:0;background:linear-gradient(155deg,rgba(9,9,11,.8) 0%,rgba(9,9,11,.68) 45%,rgba(9,9,11,.52) 100%);z-index:0;transition:background .4s;}
.skill-card:hover::before{background:linear-gradient(155deg,rgba(9,9,11,.72) 0%,rgba(9,9,11,.58) 45%,rgba(9,9,11,.4) 100%);}
.skill-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--gold),var(--gold-deep));transform:scaleX(0);transform-origin:left;transition:transform .4s;z-index:2;}
.skill-card:hover{border-color:var(--wire-md);transform:translateY(-5px);}
.skill-card:hover::after{transform:scaleX(1);}
.skill-card[data-sk="frontend"]{background-image:url('../images/skills/frontend.svg');}
.skill-card[data-sk="backend"]{background-image:url('../images/skills/backend.svg');}
.skill-card[data-sk="mobile"]{background-image:url('../images/skills/mobile.svg');}
.skill-card[data-sk="databases"]{background-image:url('../images/skills/databases.svg');}
.skill-card[data-sk="devops"]{background-image:url('../images/skills/devops.svg');}
.skill-card[data-sk="soft-skills"]{background-image:url('../images/skills/soft-skills.svg');}
.skicon{width:46px;height:46px;border:1px solid var(--wire-md);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:24px;position:relative;z-index:1;}
.skname{font-family:'Bebas Neue',sans-serif;font-size:19px;letter-spacing:.06em;color:var(--chalk);margin-bottom:24px;line-height:1;position:relative;z-index:1;}
.sktags{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1;}
.stag{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--chalk-mute);background:var(--ink-muted);border:1px solid var(--wire);padding:5px 12px;transition:all .25s;}
.stag:hover{color:var(--gold);border-color:rgba(201,169,110,.3);background:rgba(201,169,110,.04);}

/* PROJECTS */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:72px;}
.project-card{background:var(--ink-soft);border:1px solid var(--wire);overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s,transform .4s;}
.project-card:hover{border-color:var(--wire-md);transform:translateY(-5px);}
.pthumb{width:100%;height:220px;overflow:hidden;position:relative;}
.pthumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(.7);transition:transform .7s cubic-bezier(.23,1,.32,1),filter .5s;}
.project-card:hover .pthumb img{transform:scale(1.06);filter:brightness(.75) saturate(.9);}
.pbadge{position:absolute;top:18px;left:18px;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);background:rgba(9,9,11,.75);backdrop-filter:blur(8px);padding:5px 12px;border:1px solid rgba(201,169,110,.3);}
.pnum{position:absolute;top:18px;right:18px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:.08em;color:rgba(255,255,255,.35);}
.pbody{padding:28px;flex:1;display:flex;flex-direction:column;}
.ptitle{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.05em;color:var(--chalk);margin-bottom:12px;line-height:1;transition:color .3s;}
.project-card:hover .ptitle{color:var(--gold);}
.pdesc{font-size:14px;font-weight:300;line-height:1.75;color:var(--chalk-mute);margin-bottom:20px;flex:1;}
.pstack{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;}
.pc{font-size:10px;font-weight:500;letter-spacing:.08em;color:var(--chalk-mute);background:var(--ink-muted);border:1px solid var(--wire);padding:4px 10px;}
.plinks{display:flex;gap:8px;flex-wrap:wrap;}
.plink{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-mute);border:1px solid var(--wire-md);padding:9px 18px;transition:all .25s;}
.plink:hover{border-color:var(--gold);color:var(--gold);}
.plink-p{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.plink-p:hover{background:var(--gold-pale);color:var(--ink);}
.projects-more{display:flex;justify-content:center;margin-top:48px;}

/* DOCUMENTS */
.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:72px;}
.doc-card{background:var(--ink-soft);border:1px solid var(--wire);padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;transition:border-color .3s,transform .4s;position:relative;overflow:hidden;}
.doc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.doc-card:hover{border-color:var(--wire-md);transform:translateY(-4px);}
.doc-card:hover::before{transform:scaleX(1);}
.docicon{width:52px;height:52px;border:1px solid var(--wire-md);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.doctitle{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:.06em;color:var(--chalk);margin:16px 0 10px;line-height:1;}
.docdesc{font-size:14px;font-weight:300;line-height:1.75;color:var(--chalk-mute);}
.doc-note{background:var(--ink-muted);border:1px solid var(--wire);padding:32px;margin-top:2px;}
.doc-note-label{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--chalk-mute);margin-bottom:12px;}
.doc-note-text{font-size:14px;font-weight:300;line-height:1.7;color:var(--chalk-dim);}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:72px;align-items:start;}
.clinks{display:flex;flex-direction:column;gap:2px;}
.clink{display:flex;align-items:center;gap:20px;background:var(--ink-soft);border:1px solid var(--wire);padding:24px 28px;transition:all .3s;position:relative;overflow:hidden;}
.clink::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(201,169,110,.06);transition:width .4s;}
.clink:hover::before{width:100%;}
.clink:hover{border-color:rgba(201,169,110,.25);}
.clink:hover .cla{transform:translate(4px,-4px);color:var(--gold);}
.clicon{width:44px;height:44px;border:1px solid var(--wire-md);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;position:relative;z-index:1;}
.clbody{flex:1;position:relative;z-index:1;}
.cllabel{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--chalk-mute);margin-bottom:4px;}
.clval{font-size:15px;font-weight:400;color:var(--chalk);}
.cla{color:var(--chalk-mute);transition:all .3s;}
.aside-wrap{display:flex;flex-direction:column;gap:2px;}
.aside-box{background:var(--ink-soft);border:1px solid var(--wire);padding:36px;}
.aside-label{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--chalk-mute);margin-bottom:12px;}
.aside-big{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:.04em;color:var(--chalk);line-height:1;}
.aside-big span{color:var(--gold);display:block;}

/* CHATBOT - FIXED VERSION */
.chat-wrap{position:fixed;bottom:28px;right:28px;z-index:2000;}
.chat-btn{width:58px;height:58px;background:var(--gold);border:none;cursor:none;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .3s;box-shadow:0 8px 28px rgba(201,169,110,.35);}
.chat-btn:hover{background:var(--gold-pale);transform:translateY(-2px);}
.chat-win{display:none;flex-direction:column;position:absolute;bottom:72px;right:0;width:360px;height:500px;background:var(--ink-soft);border:1px solid var(--wire-md);box-shadow:0 32px 80px rgba(0,0,0,.5);}
.chat-win.open{display:flex;}
.chat-head{background:var(--ink-muted);border-bottom:1px solid var(--wire);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.chat-head-l{display:flex;align-items:center;gap:12px;}
.chat-av{width:36px;height:36px;background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--ink);font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:.1em;}
.chat-nm{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:.08em;color:var(--chalk);}
.chat-sub{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.chat-close{background:none;border:none;cursor:none;color:var(--chalk-mute);transition:color .3s;padding:4px;}
.chat-close:hover{color:var(--chalk);}

/* FIX: Better chat messages container with proper spacing */
.chat-msgs{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--wire-md) transparent;max-height:calc(500px - 130px - 100px);}

/* FIX: Suggestions container with proper positioning */
.chat-sugs{display:flex;flex-wrap:wrap;gap:6px;padding:12px 20px;border-top:1px solid var(--wire);background:var(--ink-muted);flex-shrink:0;}

.msg{max-width:82%;font-size:13px;font-weight:300;line-height:1.65;padding:12px 16px;white-space:pre-line;word-wrap:break-word;}
.msg-bot{background:var(--ink-muted);border:1px solid var(--wire);color:var(--chalk-dim);align-self:flex-start;}
.msg-user{background:var(--gold);color:var(--ink);align-self:flex-end;font-weight:400;}
.tdots{display:flex;gap:5px;align-items:center;padding:4px 0;}
.tdot{width:5px;height:5px;background:var(--chalk-mute);border-radius:50%;animation:tb 1.2s infinite;}
.tdot:nth-child(2){animation-delay:.2s;}.tdot:nth-child(3){animation-delay:.4s;}
@keyframes tb{0%,60%,100%{transform:translateY(0);}30%{transform:translateY(-6px);}}

.sug{font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--chalk-mute);background:var(--ink-muted);border:1px solid var(--wire-md);padding:7px 14px;cursor:none;transition:all .25s;}
.sug:hover{color:var(--gold);border-color:rgba(201,169,110,.35);}

/* FIX: Input area properly separated */
.chat-iw{display:flex;border-top:1px solid var(--wire);background:var(--ink-muted);flex-shrink:0;}
.chat-in{flex:1;background:transparent;border:none;color:var(--chalk);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;padding:16px 18px;outline:none;}
.chat-in::placeholder{color:var(--chalk-mute);}
.chat-send{background:none;border:none;border-left:1px solid var(--wire);color:var(--chalk-mute);padding:0 18px;cursor:none;transition:color .3s;}
.chat-send:hover{color:var(--gold);}

/* FOOTER */
footer{background:var(--ink-deep);border-top:1px solid var(--wire);padding:60px;}
.foot-in{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;}
.flogo{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.06em;}
.flogo span{color:var(--gold);}
.fcopy{font-size:12px;color:var(--chalk-mute);letter-spacing:.05em;}
.fsocs{display:flex;gap:6px;}
.fsoc{width:40px;height:40px;border:1px solid var(--wire);display:flex;align-items:center;justify-content:center;color:var(--chalk-mute);transition:all .3s;}
.fsoc:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);}

/* RESPONSIVE */
@media(max-width:1100px){.container{padding:0 32px;}.hero-left{padding:130px 40px 80px 32px;}footer{padding:48px 32px;}.skills-grid{grid-template-columns:repeat(2,1fr);}.projects-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){#hero{grid-template-columns:1fr;min-height:auto;}.hero-right{height:420px;}.h-ovl{background:linear-gradient(to top,var(--ink) 10%,rgba(9,9,11,.4) 50%,transparent);}.hero-stats{display:none;}.about-grid{grid-template-columns:1fr;}.about-photo-wrap{min-height:360px;}.about-photo{min-height:360px;}.contact-grid{grid-template-columns:1fr;gap:48px;}.docs-grid{grid-template-columns:1fr;}.nav-links,.nav-hire{display:none;}.mob-tog{display:flex;}.hero-scroll{display:none;}}
@media(max-width:680px){.skills-grid{grid-template-columns:1fr;}.projects-grid{grid-template-columns:1fr;}.container{padding:0 20px;}.section{padding:90px 0;}.ainfo{grid-template-columns:1fr;}.ainfo-item:nth-child(odd){border-right:none;padding-right:0;}.ainfo-item:nth-child(even){padding-left:0;}.chat-win{width:calc(100vw - 40px);right:-8px;}footer{padding:40px 20px;}.foot-in{flex-direction:column;align-items:flex-start;gap:20px;}.mob-menu,.nav-inner{padding-left:20px;padding-right:20px;}}

/* FIX: Ensure chat window doesn't overflow on small screens */
@media(max-width:480px){
  .chat-win{width:calc(100vw - 40px);height:450px;}
  .chat-msgs{max-height:calc(450px - 130px - 100px);}
}
