*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0d;--bg2: #161612;--bg3: #1c1c17;--text: #e8e4d9;--muted: #7a7668;--accent: #c9a96e;--accent2: #8fad9d;--border: rgba(201,169,110,.12);--serif: "Cormorant Garamond", serif;--sans: "DM Sans", sans-serif;--mono: "DM Mono", monospace}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;opacity:.5}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 3rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:border-color .3s,background .3s}nav.scrolled{background:#0f0f0deb;backdrop-filter:blur(12px);border-color:var(--border)}.nav-logo{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.02em;color:var(--accent)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:13px;color:var(--muted);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.nav-links a:hover{color:var(--text)}.hero{min-height:100vh;display:flex;align-items:center;padding:0 3rem;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 70% 50%,rgba(201,169,110,.06) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 20% 80%,rgba(143,173,157,.04) 0%,transparent 60%)}.hero-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,transparent,var(--border),transparent)}.hero-content{position:relative;max-width:700px}.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem;opacity:0;animation:fadeUp .8s .2s forwards}.hero-tag:before{content:"";width:24px;height:1px;background:var(--accent)}h1{font-family:var(--serif);font-size:clamp(52px,8vw,96px);font-weight:300;line-height:1.05;letter-spacing:-.02em;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .4s forwards}h1 em{font-style:italic;color:var(--accent)}.hero-desc{font-size:16px;color:var(--muted);max-width:440px;line-height:1.8;margin-bottom:2.5rem;opacity:0;animation:fadeUp .8s .6s forwards}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s forwards}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:13px;font-family:var(--sans);font-weight:400;letter-spacing:.05em;text-decoration:none;border-radius:4px;transition:all .2s;cursor:pointer;border:none}.btn-primary{background:var(--accent);color:#0f0f0d;border:1px solid var(--accent)}.btn-primary:hover{background:transparent;color:var(--accent)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.hero-scroll{position:absolute;bottom:2.5rem;left:3rem;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:0;animation:fadeUp .8s 1.2s forwards}.scroll-line{width:40px;height:1px;background:var(--muted);position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--accent);animation:scrollLine 2s 1.5s infinite}@keyframes scrollLine{to{left:100%}}section{padding:7rem 3rem;max-width:1100px;margin:0 auto}.section-label{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:3rem}.section-label:after{content:"";flex:1;height:1px;background:var(--border);max-width:80px}h2{font-family:var(--serif);font-size:clamp(36px,5vw,56px);font-weight:300;line-height:1.15;letter-spacing:-.01em;margin-bottom:1.5rem}h2 em{font-style:italic;color:var(--accent)}.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}.about-img-placeholder{width:100%;aspect-ratio:3/4;background:var(--bg3);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted);font-size:13px;overflow:hidden}.about-img-placeholder img{width:100%;height:100%;object-fit:cover}.about-img{position:relative}.about-img:after{content:"";position:absolute;bottom:-16px;right:-16px;width:60%;height:60%;border:1px solid var(--border);border-radius:4px;z-index:-1}.cert-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:8px 14px;font-size:12px;color:var(--accent);margin-top:1.5rem;font-family:var(--mono)}.about-text p{color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:1.2rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}.skill-card{background:var(--bg);padding:2rem;transition:background .2s}.skill-card:hover{background:var(--bg3)}.skill-icon{width:36px;height:36px;background:var(--bg3);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:1rem}.skill-card h3{font-size:14px;font-weight:500;color:var(--text);margin-bottom:6px;letter-spacing:.02em}.skill-card p{font-size:13px;color:var(--muted);line-height:1.6}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}.project-card{background:var(--bg);padding:2.5rem;transition:background .2s}.project-card:hover{background:var(--bg3)}.project-card.featured{grid-column:1 / -1}.project-num{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em;margin-bottom:1.5rem}.project-card h3{font-family:var(--serif);font-size:28px;font-weight:400;color:var(--text);margin-bottom:.75rem;line-height:1.2}.project-card p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:1.5rem}.project-tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;padding:3px 10px;border:1px solid var(--border);border-radius:20px;color:var(--muted);font-family:var(--mono)}.project-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent);text-decoration:none;letter-spacing:.05em;margin-top:1.5rem;transition:gap .2s}.project-link:hover{gap:10px}.contact-inner{border:1px solid var(--border);border-radius:4px;padding:4rem;background:var(--bg2);text-align:center}.contact-inner p{color:var(--muted);font-size:15px;margin-bottom:2.5rem}.social-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.social-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--muted);text-decoration:none;letter-spacing:.05em;font-family:var(--mono);transition:all .2s}.social-link:hover{border-color:var(--accent);color:var(--accent)}footer{border-top:1px solid var(--border);padding:2rem 3rem;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);font-family:var(--mono)}.divider{width:100%;height:1px;background:var(--border)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@media (max-width: 768px){nav{padding:1.25rem 1.5rem}.hero{padding:0 1.5rem}section{padding:5rem 1.5rem}.about-grid{grid-template-columns:1fr;gap:3rem}.projects-grid{grid-template-columns:1fr}.project-card.featured{grid-column:1}.contact-inner{padding:2.5rem 1.5rem}footer{padding:1.5rem;flex-direction:column;gap:8px;text-align:center}.nav-links{display:none}}
