:root{--paper:#f4f1eb;--paper-2:#e9e6df;--ink:#1e2421;--muted:#69706b;--line:#d3d2c9;--accent:#c26446;--accent-dark:#a24f35;--white:#fbfaf7;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace;--shadow:0 25px 60px rgba(30,36,33,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-shell{overflow:hidden}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 28px;border-bottom:1px solid transparent}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--ink);font-family:var(--serif);font-size:17px;font-style:italic;border-radius:50%}.desktop-nav{display:flex;gap:36px;margin-left:100px}.desktop-nav a,.resume-link{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--muted);transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active,.resume-link:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:20px}.icon-button,.menu-toggle{border:0;background:none;color:var(--ink);padding:5px;display:grid;place-items:center}.icon-button svg{width:17px;height:17px;stroke-width:1.5}.resume-link{display:flex;gap:6px;align-items:center;color:var(--ink)}.resume-link svg{width:13px}.menu-toggle{display:none}.section-pad{max-width:1240px;margin:0 auto;padding:120px 28px}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;padding-top:85px;padding-bottom:100px}.eyebrow{font-family:var(--mono);font-size:10px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 30px}.eyebrow-line{width:30px;height:1px;background:var(--accent);display:inline-block;vertical-align:middle;margin-right:9px}.hero h1,.section-heading h2,.skills-intro h2,.contact h2{font-size:clamp(44px,5.7vw,78px);line-height:1.05;letter-spacing:-.065em;margin:0;font-weight:700}.hero h1 em,.section-heading h2 em,.skills-intro h2 em,.contact h2 em{font-family:var(--serif);font-weight:600;letter-spacing:-.05em}.hero-intro{font-size:17px;color:var(--muted);max-width:455px;margin:31px 0 36px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;padding:14px 21px;font-size:12px;font-weight:800;letter-spacing:.01em;transition:transform .25s,background .25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:var(--white)}.button-primary:hover{background:var(--accent)}.button svg,.text-link svg{width:15px;height:15px}.text-link{font-size:12px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:5px;display:inline-flex;gap:9px}.availability{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:80px;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;background:#648d67;border-radius:50%;box-shadow:0 0 0 4px rgba(100,141,103,.12)}.availability-place{margin-left:16px;padding-left:16px;border-left:1px solid var(--line)}.hero-visual{position:relative;max-width:490px;justify-self:end;width:100%}.portrait-frame{height:590px;overflow:hidden;background:#bbc5a8}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.78)}.portrait-note{position:absolute;left:-40px;bottom:48px;background:var(--accent);color:var(--white);padding:18px 20px;display:flex;gap:22px;font-size:11px;line-height:1.4;box-shadow:var(--shadow)}.note-number{font-family:var(--mono);font-size:10px}.hero-stamp{position:absolute;right:-45px;top:35px;width:92px;height:92px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase;font-family:var(--mono);font-size:8px;line-height:1.5;text-align:center;letter-spacing:.08em}.hero-stamp svg{width:15px;margin-top:5px}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden;padding:14px 0;white-space:nowrap}.ticker-track{display:flex;justify-content:space-around;align-items:center;min-width:920px;font-family:var(--serif);font-style:italic;font-size:18px}.ticker b{font-family:var(--sans);color:var(--accent);font-size:17px}.section-tinted{max-width:none;background:var(--paper-2)}.section-tinted>*{max-width:1184px;margin-left:auto;margin-right:auto}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section-heading h2,.skills-intro h2,.contact h2{font-size:clamp(37px,4.4vw,58px)}.about-content{padding-top:48px;max-width:520px}.lead{font-size:21px;line-height:1.5;margin:0 0 24px;letter-spacing:-.025em}.about-content>p:not(.lead){color:var(--muted);font-size:14px}.about-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:50px;padding-top:21px;gap:20px}.meta-label{font-family:var(--mono);color:var(--accent);font-size:9px;text-transform:uppercase;display:block;margin-bottom:10px}.about-meta strong{font-size:12px;line-height:1.6}.skills{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.muted-copy{color:var(--muted);max-width:250px;font-size:13px;margin-top:32px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.skill-card{background:var(--white);min-height:335px;padding:22px 20px;position:relative;display:flex;flex-direction:column;border:1px solid transparent;transition:transform .25s,border .25s}.skill-card:hover{transform:translateY(-7px);border-color:var(--accent)}.skill-card>svg{width:28px;height:28px;stroke-width:1.2;color:var(--accent);margin:47px 0 26px}.skill-index{font-family:var(--mono);font-size:9px;color:var(--muted)}.skill-card h3{font-size:18px;line-height:1.15;letter-spacing:-.04em;margin:0 0 15px}.skill-card p{color:var(--muted);font-size:11px;line-height:1.65;margin:0}.skill-tags{margin-top:auto;display:flex;gap:5px;flex-wrap:wrap}.skill-tags span,.project-tags span{font-family:var(--mono);font-size:8px;border:1px solid var(--line);padding:4px 7px;color:var(--muted)}.split-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.heading-side-copy{max-width:220px;color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 3px}.timeline{margin-top:80px}.timeline-item{display:grid;grid-template-columns:145px 24px 1fr;gap:22px;padding-bottom:45px;position:relative}.timeline-item:not(:last-child):after{content:'';position:absolute;left:156px;top:15px;height:calc(100% - 15px);border-left:1px solid var(--line)}.timeline-date{font-family:var(--mono);font-size:10px;color:var(--muted);padding-top:4px}.timeline-marker{width:9px;height:9px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);z-index:1;margin-top:4px}.timeline-item.active .timeline-marker{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px rgba(194,100,70,.16)}.timeline-body{max-width:650px}.role-heading{display:flex;justify-content:space-between;gap:15px}.timeline h3{font-size:18px;letter-spacing:-.04em;margin:0}.timeline-body p{font-size:12px;color:var(--muted);margin:4px 0 17px}.role-type{font-family:var(--mono);font-size:9px;color:var(--accent)}.timeline-body>p{line-height:1.7;max-width:590px}.timeline ul{margin:0;padding-left:17px;color:var(--muted);font-size:11px;line-height:2}.filter-wrap{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:9px;color:var(--muted);margin-bottom:7px}.filter-wrap select{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:7px 24px 7px 0;color:var(--ink);font-size:11px;outline:0}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 18px;margin-top:75px}.project-card.featured{grid-column:span 2}.project-visual{height:330px;position:relative;overflow:hidden}.project-card.featured .project-visual{height:430px}.project-one{background:#263c43}.project-two{background:#d1b98d}.project-three{background:#cbcdca}.project-visual-label{position:absolute;top:18px;left:20px;font-family:var(--mono);font-size:9px;color:rgba(255,255,255,.75);z-index:2}.project-two .project-visual-label,.project-three .project-visual-label{color:rgba(30,36,33,.6)}.mock-window{position:absolute;width:68%;height:75%;background:#f6f5f0;left:16%;top:19%;box-shadow:10px 15px 35px rgba(0,0,0,.2);color:#273b3e}.mock-top{height:38px;padding:0 16px;display:flex;align-items:center;gap:5px;border-bottom:1px solid #dadbd4}.mock-top b{font-family:var(--serif);font-size:11px;margin-right:auto}.mock-top span{width:5px;height:5px;border-radius:50%;background:#bfc2b9}.mock-content{display:flex;height:calc(100% - 38px)}.mock-sidebar{width:23%;border-right:1px solid #e2e2dc}.mock-chart{flex:1;padding:19px}.mock-chart small{font-size:8px;color:#7e8581;display:block}.mock-chart strong{font-size:29px;display:block;margin-top:3px}.bars{height:76px;display:flex;align-items:end;gap:7px;border-bottom:1px solid #d9ddd5}.bars i{background:#c26446;width:11%;height:38%}.bars i:nth-child(2){height:54%}.bars i:nth-child(3){height:47%}.bars i:nth-child(4){height:82%}.bars i:nth-child(5){height:67%}.bars i:nth-child(6){height:92%}.bars i:nth-child(7){height:76%}.editorial-mark{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-family:var(--serif);font-size:128px;line-height:.75;color:#f8eedc}.editorial-mark small{font-family:var(--mono);font-size:8px;letter-spacing:.3em;margin-left:.3em}.orbital{position:absolute;width:190px;height:190px;left:calc(50% - 95px);top:calc(50% - 95px);border:1px solid #858d87;border-radius:50%;animation:spin 16s linear infinite}.orbital:before,.orbital:after,.orbital span{content:'';position:absolute;inset:16px;border:1px solid #858d87;border-radius:50%;transform:rotate(55deg)}.orbital:after{transform:rotate(120deg);inset:29px}.orbital span{background:#c26446;border:0;width:10px;height:10px;inset:auto;top:19px;left:35px}.orbital span:nth-child(2){top:auto;left:auto;right:25px;bottom:48px;background:#1e2421}.orbital span:nth-child(3){top:auto;left:53px;bottom:12px;background:#f4f1eb}.creative-word{position:absolute;bottom:20px;right:24px;text-align:right;font-family:var(--serif);font-size:25px;line-height:.85;color:#303a35}.project-info{padding:17px 0 0}.project-info h3{font-size:17px;letter-spacing:-.04em;margin:0}.project-info p{font-size:11px;color:var(--muted);margin:5px 0 18px}.project-bottom{display:flex;justify-content:space-between;align-items:end;gap:10px}.project-tags{display:flex;gap:5px;flex-wrap:wrap}.project-links{display:flex;gap:9px}.project-links a{width:28px;height:28px;border:1px solid var(--line);display:grid;place-items:center;transition:background .2s}.project-links a:hover{background:var(--accent);color:white;border-color:var(--accent)}.project-links svg{width:13px}.view-all{display:inline-flex;gap:10px;align-items:center;font-size:12px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:5px;margin-top:58px}.view-all svg{width:14px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:100px}.credentials-column .eyebrow{border-bottom:1px solid var(--line);padding-bottom:22px}.credential-row{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.credential-row>span{font-family:var(--mono);font-size:9px;color:var(--muted)}.credential-row h3{margin:0;font-size:14px;letter-spacing:-.025em}.credential-row p{margin:5px 0 0;color:var(--muted);font-size:11px}.contact{max-width:none;background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:130px}.contact>*{max-width:1184px}.contact .eyebrow{color:#e08361}.contact h2{color:var(--white)}.contact-intro>p:not(.eyebrow){color:#a8aea9;max-width:420px;font-size:14px;margin:28px 0 40px}.contact-details{border-top:1px solid #4c524f}.contact-details a{display:grid;grid-template-columns:75px 1fr auto;padding:14px 0;border-bottom:1px solid #4c524f;font-size:12px;align-items:center}.contact-details span{font-family:var(--mono);font-size:9px;color:#818984;text-transform:uppercase}.contact-details svg{width:14px;color:#e08361}.contact-form{background:var(--paper);color:var(--ink);padding:25px 28px;align-self:start}.form-heading{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.form-count{color:var(--accent)}.contact-form label{display:block;font-size:11px;font-weight:700;margin:17px 0}.contact-form input,.contact-form textarea{width:100%;display:block;border:0;border-bottom:1px solid var(--line);background:transparent;outline:0;padding:9px 0 11px;color:var(--ink);resize:vertical;font-size:12px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form .button{margin-top:9px}.form-status{font-size:11px;color:var(--accent);margin:14px 0 0;min-height:17px}.site-footer{max-width:1240px;margin:auto;padding:28px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;font-size:10px;color:var(--muted)}.site-footer .brand{color:var(--ink)}.site-footer p{text-align:center;margin:0}.footer-links{display:flex;gap:20px;justify-content:center}.footer-links a:hover{color:var(--accent)}.copyright{text-align:right;font-family:var(--mono);font-size:9px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.reveal-delay{transition-delay:.13s}@keyframes spin{to{transform:rotate(360deg)}}
body.dark{--paper:#202522;--paper-2:#2a302c;--ink:#eef0e9;--muted:#a4ada5;--line:#46504a;--white:#f0f2eb;--accent:#de805f;--accent-dark:#c76a4d}body.dark .portrait-frame{background:#64705f}body.dark .skill-card{background:#232a26}body.dark .hero-stamp{background:var(--paper)}body.dark .project-info{color:var(--ink)}body.dark .filter-wrap select{color:var(--ink)}body.dark .contact{background:#121614}body.dark .contact-form{background:#e9e7df;color:#1e2421}
@media(max-width:900px){.desktop-nav{gap:20px;margin-left:0}.hero{gap:35px}.portrait-frame{height:510px}.hero-stamp{right:-18px}.portrait-note{left:-15px}.skills{gap:45px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:260px}.skill-card>svg{margin-top:25px}.contact{gap:55px}}
@media(max-width:650px){.site-header{height:70px;padding:0 20px}.desktop-nav{display:none}.resume-link{display:none}.menu-toggle{display:grid}.menu-toggle.open{position:relative;z-index:3}.header-actions{gap:10px}.desktop-nav.mobile-open{display:flex;position:absolute;z-index:2;inset:0 0 auto 0;top:70px;background:var(--paper);padding:25px 20px 30px;flex-direction:column;gap:20px;border-bottom:1px solid var(--line)}.section-pad{padding:78px 20px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding-top:65px;gap:55px}.hero h1{font-size:clamp(42px,12vw,61px)}.hero-intro{font-size:15px;margin:24px 0 28px}.availability{margin-top:55px;flex-wrap:wrap}.availability-place{margin-left:0;padding-left:0;border-left:0;flex-basis:100%}.hero-visual{max-width:100%;padding:0 7px}.portrait-frame{height:420px}.portrait-note{left:-7px;bottom:24px}.hero-stamp{right:-3px;top:18px;width:75px;height:75px}.ticker-track{font-size:15px;gap:22px;justify-content:flex-start;min-width:850px}.about,.skills,.credentials,.contact{grid-template-columns:1fr;gap:40px}.about-content{padding-top:0}.about-meta{margin-top:35px}.section-heading h2,.skills-intro h2,.contact h2{font-size:clamp(36px,10vw,52px)}.skills{gap:38px}.skills-grid{grid-template-columns:1fr 1fr;gap:10px}.skill-card{min-height:310px;padding:17px 15px}.skill-card h3{font-size:16px}.skill-card p{font-size:10px}.split-heading{display:block}.heading-side-copy{margin-top:25px}.timeline{margin-top:55px}.timeline-item{grid-template-columns:66px 16px 1fr;gap:10px}.timeline-item:not(:last-child):after{left:74px}.timeline h3{font-size:15px}.timeline-body p,.timeline ul{font-size:10px}.role-heading{display:block}.role-type{display:block;margin-top:8px}.projects-grid{grid-template-columns:1fr;margin-top:50px;gap:38px}.project-card.featured{grid-column:auto}.project-visual,.project-card.featured .project-visual{height:290px}.mock-window{width:80%;left:10%}.filter-wrap{margin-top:28px}.credentials{gap:55px}.contact{gap:55px}.contact-details a{grid-template-columns:62px 1fr auto;font-size:10px}.contact-form{padding:22px 20px}.site-footer{grid-template-columns:1fr 1fr;gap:22px;padding:27px 20px}.site-footer p{display:none}.footer-links{justify-content:flex-start}.copyright{text-align:left;grid-column:span 2}.reveal{transform:translateY(14px)}}
