*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #0e0e0e;--paper: #f5f2ec;--accent: #c84b31;--accent2: #e8a87c;--muted: #7a7165;--border: rgba(14,14,14,.12);--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--ease-out: cubic-bezier(.16,1,.3,1)}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);overflow-x:hidden}.noise{pointer-events:none;position:fixed;inset:0;z-index:999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}em,.italic{font-style:italic;font-family:var(--font-display)}.reveal{opacity:0;transform:translateY(24px);animation:reveal .9s var(--ease-out) forwards;animation-delay:var(--d, 0s)}@keyframes reveal{to{opacity:1;transform:none}}.scroll-reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--di, 0s)}.scroll-reveal.visible{opacity:1;transform:none}.section{position:relative;max-width:1140px;margin:0 auto;padding:7rem 2.5rem}.section__label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:2.5rem;display:flex;align-items:center;gap:.75rem}.section__label:after{content:"";flex:1;max-width:80px;height:1px;background:var(--border)}.section__heading{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,5rem);line-height:1.1;font-weight:400;margin-bottom:3rem}.nav{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:2rem 3rem;z-index:10}.nav__logo{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.nav__logo em{color:var(--accent);font-style:normal}.nav__links{list-style:none;display:flex;gap:2.2rem}.nav__links a{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);text-decoration:none;opacity:.6;transition:opacity .2s}.nav__links a:hover{opacity:1}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;padding:0 3rem 4rem;overflow:hidden}.hero__bg{position:absolute;inset:0;z-index:0}.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:drift 14s ease-in-out infinite alternate}.orb--1{width:640px;height:640px;background:radial-gradient(circle,#e8c9a0 0%,transparent 70%);top:-15%;right:-10%;animation-duration:16s}.orb--2{width:420px;height:420px;background:radial-gradient(circle,#c84b3140 0%,transparent 70%);bottom:10%;left:-5%;animation-duration:20s;animation-delay:-5s}.orb--3{width:280px;height:280px;background:radial-gradient(circle,#b5c9a840 0%,transparent 70%);top:40%;left:38%;animation-duration:12s;animation-delay:-2s}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(40px,30px) scale(1.08)}}.hero__content{position:relative;z-index:2;max-width:1140px;width:100%;margin:0 auto}.hero__eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.hero__name{font-family:var(--font-display);font-size:clamp(4rem,12vw,10rem);font-weight:700;line-height:.95;letter-spacing:-.03em;margin-bottom:1.5rem}.hero__tagline{font-size:clamp(1rem,2vw,1.3rem);color:var(--muted);font-weight:300;margin-bottom:2.5rem}.hero__cta{display:inline-flex;align-items:center;gap:.6rem;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:.2rem;transition:gap .25s}.hero__cta:hover{gap:1.1rem}.hero__counter{position:relative;z-index:2;max-width:1140px;width:100%;margin:3rem auto 0;display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:.3rem .75rem;border-radius:99px}.about__grid{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start}.about__left{position:sticky;top:2rem}.avatar-placeholder{margin-top:2rem;width:180px;height:180px;border-radius:50%;border:1.5px solid var(--border);display:grid;place-items:center;color:var(--muted);background:#fff6;backdrop-filter:blur(4px)}.avatar-placeholder svg{width:64px;height:64px}.about__bio{font-size:1.15rem;line-height:1.8;color:#3a3530;margin-bottom:2rem;white-space:pre-line}.about__skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.tag{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;background:#c84b3114;color:var(--accent);border:1px solid rgba(200,75,49,.2);padding:.35rem .85rem;border-radius:4px}.btn{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 2rem;border-radius:3px;transition:background .2s,transform .2s}.btn:hover{background:var(--accent);transform:translateY(-2px)}.timeline{display:flex;flex-direction:column;gap:0}.timeline__item{display:grid;grid-template-columns:1px 1fr;gap:0 2.5rem;position:relative;padding-bottom:3.5rem}.timeline__item:last-child{padding-bottom:0}.timeline__line{background:var(--border);grid-row:1 / span 99;grid-column:1;width:1px;position:relative}.timeline__item:last-child .timeline__line{opacity:0}.timeline__dot{position:absolute;left:-4px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--accent)}.timeline__body{grid-column:2}.timeline__period{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.5rem}.timeline__role{font-family:var(--font-display);font-size:1.5rem;font-weight:400;line-height:1.2;margin-bottom:.25rem}.timeline__company{font-size:.88rem;color:var(--accent);font-weight:500;margin-bottom:.75rem}.timeline__desc{font-size:.95rem;line-height:1.7;color:var(--muted);max-width:52ch}.contact{text-align:center;padding:9rem 2.5rem;background:var(--ink);color:var(--paper);max-width:none;border-radius:2rem 2rem 0 0;margin-top:4rem}.contact__heading{font-family:var(--font-display);font-size:clamp(3rem,8vw,7rem);line-height:1.05;font-weight:400;margin-bottom:2.5rem;color:var(--paper)}.contact__heading em{color:var(--accent2)}.contact__email{font-size:clamp(1.1rem,3vw,1.8rem);color:var(--paper);text-decoration:none;border-bottom:1px solid rgba(245,242,236,.3);padding-bottom:.2rem;letter-spacing:-.01em;transition:color .2s,border-color .2s}.contact__email:hover{color:var(--accent2);border-color:var(--accent2)}.social-panel{background:#080808;color:#f0ece4;padding:2.5rem 3rem}.social-panel__inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.social-panel__name{font-family:var(--font-display);font-size:1.1rem;margin-right:auto;letter-spacing:-.01em;opacity:.5}.social-panel__links{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:.5rem;color:#f0ece4;text-decoration:none;padding:.55rem 1rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;transition:background .2s,border-color .2s,transform .18s}.social-link:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-2px)}.social-link__icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;opacity:.8}.social-link__icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.social-panel__copy{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.3;margin-left:auto}@media(max-width:768px){.hero{padding:0 1.5rem 3rem}.nav{padding:1.5rem}.nav__links{display:none}.about__grid{grid-template-columns:1fr;gap:2.5rem}.about__left{position:static}.section{padding:5rem 1.5rem}.social-panel{padding:2rem 1.5rem}.social-panel__inner{flex-direction:column;align-items:flex-start;gap:1.5rem}.social-panel__name,.social-panel__copy{margin:0}.contact{border-radius:1.2rem 1.2rem 0 0}}
