:root{--ink:#11120f;--paper:#f1f0e9;--acid:#dfff3f;--orange:#ff5c35;--line:rgba(17,18,15,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;opacity:.055;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{height:86px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{font-size:22px;font-weight:800;text-decoration:none;color:inherit}.brand span{font:10px DM Mono;vertical-align:top}.nav nav{display:flex;gap:34px}.nav nav a,.availability{font:500 11px DM Mono;text-decoration:none;color:inherit;letter-spacing:.06em}.nav nav a{position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:.35s}.nav nav a:hover:after{right:0}.availability{display:flex;align-items:center;gap:9px}.availability i{width:8px;height:8px;border-radius:50%;background:#4bce53;box-shadow:0 0 0 4px rgba(75,206,83,.15);animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(75,206,83,0)}}.hero{min-height:calc(100vh - 86px);padding:5vh 3vw 4vh;display:flex;flex-direction:column}.eyebrow,.section-tag,.mono{font:500 11px DM Mono;letter-spacing:.08em}.eyebrow{display:flex;gap:30px}.eyebrow span{opacity:.45}.hero h1{font-size:clamp(62px,12.6vw,190px);line-height:.77;letter-spacing:-.075em;margin:auto 0;font-weight:700}.hero h1 .line{display:block;overflow:hidden;padding-bottom:.08em}.hero h1 .line>span{display:block;transform:translateY(110%);animation:intro .9s cubic-bezier(.16,1,.3,1) forwards}.hero h1 .line:nth-child(2)>span{animation-delay:.1s}.hero h1 .line:nth-child(3)>span{animation-delay:.2s}@keyframes intro{to{transform:translateY(0)}}.hero h1 .outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.hero h1 .right{text-align:right}.asterisk{display:inline-block;color:var(--orange);-webkit-text-stroke:0;font-size:.46em;vertical-align:top;animation:spin 8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-foot{display:flex;justify-content:space-between;align-items:end}.hero-foot p{font-size:14px;line-height:1.5;margin:0}.round-link{width:64px;height:64px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;color:inherit;transition:.3s}.round-link:hover{background:var(--ink);color:var(--acid);transform:rotate(45deg)}.round-link svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.5}.ticker{background:var(--ink);color:var(--paper);overflow:hidden;transform:rotate(-1.5deg);width:102%;margin-left:-1%;padding:17px 0}.ticker-track{display:flex;width:max-content;align-items:center;animation:ticker 24s linear infinite;font-size:17px;font-weight:600;will-change:transform}.ticker-group{display:flex;flex-shrink:0;align-items:center;justify-content:space-around;gap:32px;min-width:100vw;padding-right:32px}.ticker b{color:var(--acid)}@keyframes ticker{to{transform:translateX(-50%)}}.section{padding:130px 3vw}.now{display:grid;grid-template-columns:25% 75%;min-height:78vh}.now-copy .lead{font-size:clamp(36px,5.3vw,78px);line-height:1.03;letter-spacing:-.055em;margin:0;max-width:1100px}.now-copy .lead em,.credentials h2 em{font-family:Georgia,serif;font-weight:400}.now-meta{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:100px 0 0 25%;font-size:14px;line-height:1.65}.section-head{display:flex;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--line)}.section-head>span{font:11px DM Mono}.project{position:relative;display:grid;grid-template-columns:8% 54% 38%;min-height:300px;padding:38px 0;border-bottom:1px solid var(--line);overflow:hidden;cursor:none}.project .num{font:12px DM Mono}.project h2{font-size:clamp(38px,5.3vw,78px);line-height:.93;letter-spacing:-.055em;margin:0;font-weight:600;transition:.45s}.project-meta{font:11px DM Mono;display:flex;justify-content:space-between;align-items:end;position:relative;z-index:2}.project:hover h2,.project:focus h2{transform:translateX(18px);color:var(--paper)}.project:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:.55s cubic-bezier(.16,1,.3,1);z-index:-1}.project:hover,.project:focus{color:var(--paper)}.project:hover:before,.project:focus:before{transform:none}.project-orb{position:absolute;width:180px;height:180px;right:25%;top:50%;transform:translateY(-50%) scale(0) rotate(-25deg);border-radius:50%;transition:.55s cubic-bezier(.16,1,.3,1);z-index:1}.project:hover .project-orb,.project:focus .project-orb{transform:translateY(-50%) scale(1) rotate(10deg)}.orb-one{background:linear-gradient(135deg,var(--acid),#15ad72);border-radius:50% 30% 60% 40%}.orb-two{background:repeating-linear-gradient(45deg,var(--orange),var(--orange) 7px,#fec6ab 7px,#fec6ab 14px)}.orb-three{background:radial-gradient(circle at 30% 30%,#fff,var(--acid) 25%,#5364ff 70%)}.orb-four{background:conic-gradient(var(--acid),var(--orange),#9066ff,var(--acid));border-radius:20%}.more-projects summary{list-style:none;margin-top:36px;padding:20px 0;display:flex;justify-content:center;align-items:center;gap:18px;font:12px DM Mono;cursor:pointer}.more-projects summary::-webkit-details-marker{display:none}.more-projects summary i,.more-projects summary i:after{width:14px;height:1px;background:var(--ink);display:block}.more-projects summary i:after{content:"";transform:rotate(90deg);transition:.3s}.more-projects[open] summary i:after{transform:rotate(0)}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.more-grid>div{background:var(--paper);padding:30px;min-height:170px}.more-grid b{font:11px DM Mono;color:var(--orange)}.more-grid h3{font-size:21px;line-height:1.1}.more-grid p{font:11px DM Mono}.about{background:var(--acid);padding-bottom:0}.skill-cloud{display:flex;flex-wrap:wrap;gap:12px;margin:55px 0 140px}.skill-cloud span{border:1px solid var(--ink);border-radius:50px;padding:13px 22px;font:12px DM Mono;transition:.25s}.skill-cloud span:hover{background:var(--ink);color:var(--acid);transform:translateY(-5px) rotate(-2deg)}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-bottom:120px}.credentials h2{font-size:clamp(50px,6.6vw,100px);line-height:.87;letter-spacing:-.06em;margin:0}.certs ul{list-style:none;padding:0;margin:30px 0}.certs li{border-top:1px solid rgba(17,18,15,.35);padding:18px 0;display:flex;justify-content:space-between;font-size:13px}.certs li b{font:11px DM Mono}.contact{background:var(--ink);color:var(--paper);padding-bottom:40px}.contact-link{font-size:clamp(70px,14.2vw,215px);line-height:1;text-decoration:none;color:inherit;font-weight:600;letter-spacing:-.075em;display:flex;justify-content:space-between;border-bottom:1px solid #555;margin:60px 0 130px;transition:.4s}.contact-link:hover{color:var(--acid)}.contact-link span{font-size:.35em;letter-spacing:0}.contact-bottom{display:flex;justify-content:space-between;font:11px DM Mono;line-height:1.5}.contact-bottom>div{display:flex;gap:35px;align-items:end}.contact-bottom a{color:inherit;text-decoration:none}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}.cursor{position:fixed;left:0;top:0;width:70px;height:70px;border-radius:50%;background:var(--acid);color:var(--ink);z-index:30;pointer-events:none;display:grid;place-items:center;transform:translate(-50%,-50%) scale(0);transition:transform .2s;mix-blend-mode:difference}.cursor span{font:10px DM Mono}.cursor.active{transform:translate(-50%,-50%) scale(1)}@media(max-width:800px){.nav nav{display:none}.availability{font-size:9px}.hero{min-height:780px}.hero h1{font-size:16.5vw;line-height:.84}.hero h1 .right{text-align:left}.now{grid-template-columns:1fr;gap:55px}.now-meta{margin:60px 0 0;grid-template-columns:1fr}.project{grid-template-columns:12% 88%;min-height:230px}.project-meta{grid-column:2;gap:20px}.project-orb{right:5%;width:110px;height:110px}.more-grid{grid-template-columns:1fr}.credentials{grid-template-columns:1fr}.section{padding:90px 5vw}.contact{padding-bottom:30px}.contact-link{margin-bottom:100px}.contact-bottom{gap:35px;flex-direction:column}.contact-bottom>div{justify-content:space-between}.cursor{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Data-driven profile, skills, DAF assessment, history and contact additions. */
.brand b{font:inherit}
.profile{display:grid;grid-template-columns:1fr minmax(360px,42%);padding-top:0;padding-bottom:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.profile-copy{padding:110px 7vw 110px 0;display:flex;flex-direction:column;justify-content:center}
.profile-copy h2{font-size:clamp(52px,7vw,105px);line-height:.87;letter-spacing:-.065em;margin:70px 0 35px}
.profile-copy>p{max-width:660px;font-size:18px;line-height:1.55}
.profile-actions{display:flex;gap:12px;margin-top:44px}
.button-dark,.button-line{padding:17px 25px;text-decoration:none;font:11px DM Mono;letter-spacing:.04em;border:1px solid var(--ink);transition:.25s}
.button-dark{background:var(--ink);color:var(--paper)}.button-line{color:var(--ink)}
.button-dark:hover,.button-line:hover{background:var(--acid);color:var(--ink);transform:translateY(-3px)}
.profile-photo{margin:0;min-height:760px;position:relative;overflow:hidden;background:#252724}
.profile-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.72) contrast(1.05);transition:filter .5s,transform 1s cubic-bezier(.16,1,.3,1)}
.profile-photo:hover img{filter:saturate(1);transform:scale(1.025)}
.profile-photo figcaption{position:absolute;right:22px;bottom:22px;max-width:260px;background:var(--paper);border:1px solid var(--ink);padding:16px;font:10px/1.5 DM Mono;text-transform:uppercase}
.skills-accordion{margin:50px 0 140px;border-top:1px solid var(--ink)}
.skill-item{border-bottom:1px solid rgba(17,18,15,.5)}
.skill-item summary{list-style:none;display:grid;grid-template-columns:8% 1fr auto;align-items:center;padding:25px 0;cursor:pointer}
.skill-item summary::-webkit-details-marker{display:none}.skill-index{font:11px DM Mono}
.skill-item h3{font-size:clamp(30px,4vw,62px);letter-spacing:-.045em;margin:0}.skill-toggle{font-size:30px;font-weight:300}
.skill-body{display:grid;grid-template-columns:40% 60%;gap:35px;padding:5px 0 35px 8%}.skill-body p{font-size:14px;line-height:1.6;margin:0;max-width:380px}
.tool-list{display:flex;flex-wrap:wrap;gap:8px}.tool-list span{background:var(--ink);color:var(--acid);border-radius:40px;padding:10px 17px;font:10px DM Mono}
.daf{background:var(--paper)}.daf-head{display:grid;grid-template-columns:2fr 1fr;gap:8vw;margin:55px 0 70px;align-items:end}
.daf-head h2{font-size:clamp(54px,7.5vw,115px);line-height:.92;letter-spacing:-.065em;margin:0}.daf-head p{font-size:14px;line-height:1.65}.daf-head a{color:inherit;font:10px DM Mono}
.daf-legend{display:flex;gap:28px;align-items:center;border:1px solid var(--ink);padding:16px 20px;font:10px DM Mono;margin-bottom:24px}.daf-legend span:last-child{margin-left:auto}.daf-legend b{font-size:16px;color:var(--orange)}
.daf-domains{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.daf-domain{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:25px}
.daf-domain-head{display:grid;grid-template-columns:45px 1fr auto;align-items:center;margin-bottom:25px}.daf-domain-head span,.daf-domain-head output{font:10px DM Mono}.daf-domain-head h3{font-size:26px;letter-spacing:-.03em;margin:0}.daf-domain-head output{color:var(--orange)}
.daf-practice{display:grid;grid-template-columns:1fr auto;gap:18px;min-height:62px;align-items:center;border-top:1px solid var(--line)}.daf-practice p{font-size:12px;line-height:1.35;margin:12px 0}
.daf-choices{display:flex}.daf-choices button{width:38px;height:34px;border:1px solid var(--ink);border-right:0;background:transparent;color:var(--ink);font:15px DM Mono;cursor:pointer;transition:.2s}.daf-choices button:last-child{border-right:1px solid var(--ink)}.daf-choices button:hover{background:#d8d7ce}.daf-choices button.selected{background:var(--ink);color:var(--acid)}
.daf-status{position:sticky;bottom:18px;margin:28px auto 0;max-width:520px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:17px 21px;font:10px DM Mono;z-index:5}.daf-status button{border:0;background:transparent;color:var(--acid);font:10px DM Mono;cursor:pointer}
.story{border-top:1px solid var(--ink)}.story-head{display:grid;grid-template-columns:2fr 1fr;gap:8vw;margin:60px 0 80px}.story-head h2{font-size:clamp(52px,7vw,105px);line-height:.9;letter-spacing:-.06em;margin:0}.story-head h2 em{font-family:Georgia,serif;font-weight:400}.story-head p{font-size:15px;line-height:1.6;align-self:end}
.timeline{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:12% 28% 1fr auto;gap:30px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}.timeline-item time,.timeline-item .chapter{font:10px DM Mono}.timeline-item h3{font-size:25px;letter-spacing:-.03em;margin:0}.timeline-item p{font-size:13px;line-height:1.55;max-width:620px;margin:0}.timeline-item .chapter{opacity:.55}
.contact-channels{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #555;border-bottom:1px solid #555;margin:-80px 0 90px}.contact-channels a{color:inherit;text-decoration:none;padding:28px 0;display:flex;flex-direction:column;gap:14px}.contact-channels a+ a{border-left:1px solid #555;padding-left:35px}.contact-channels small{font:10px DM Mono;opacity:.55}.contact-channels span{font-size:24px}.contact-channels a:hover span{color:var(--acid)}
@media(max-width:800px){.profile{grid-template-columns:1fr;padding:0}.profile-copy{padding:80px 5vw}.profile-photo{min-height:620px}.skill-body{grid-template-columns:1fr;padding-left:0}.daf-head,.story-head{grid-template-columns:1fr}.daf-domains{grid-template-columns:1fr}.daf-legend{align-items:flex-start;flex-wrap:wrap}.daf-legend span:last-child{width:100%;margin:0}.daf-domain{padding:18px}.timeline-item{grid-template-columns:25% 1fr}.timeline-item p{grid-column:2}.timeline-item .chapter{display:none}.contact-channels{grid-template-columns:1fr}.contact-channels a+ a{border-left:0;border-top:1px solid #555;padding-left:0}.contact-bottom>p:nth-child(2){order:3}}
