@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#111411;--panel:#191d18;--text:#f2f4ed;--muted:#a6aca1;--accent:#c3f36b;--line:#343a30}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}header,main{max-width:1440px;margin:auto}header{padding:23px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:38px;letter-spacing:-3px;line-height:1}.logo span{color:var(--accent)}nav{display:flex;gap:36px;font-size:14px}nav a:hover,.nav-end:hover,.text-link:hover{color:var(--accent)}.nav-end{font-size:14px}.nav-end span{margin-left:15px}section,footer{padding:95px 6%}.hero{padding-top:48px;padding-bottom:24px}.eyebrow,.hero-foot,.kicker,.meta,.art-top,.art-bottom,.about-note>span,.footer-main>p{font-size:12px;letter-spacing:1.5px;font-weight:500}.eyebrow{display:flex;justify-content:space-between;color:var(--muted)}.eyebrow span:first-child{font-size:14px;letter-spacing:3px}.hero-title{display:flex;align-items:center;justify-content:space-between;margin:38px 0 32px}h1,h2,h3,p{margin:0}h1,h2,h3,.wordmark,.footer-main>a{font-family:'Space Grotesk',sans-serif}h1{font-size:clamp(64px,7.8vw,112px);line-height:1.02;letter-spacing:-6px;font-weight:500}h1 em{font-style:normal;color:var(--accent)}.signature{display:flex;align-items:center;gap:18px;transform:rotate(-9deg);margin-right:40px;color:var(--accent);font-family:'Space Grotesk',sans-serif;font-size:23px;line-height:1.1;letter-spacing:4px}.signature b{font-weight:500}.bracket{font-size:116px;font-weight:400;letter-spacing:0}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px}.hero-bottom p{color:var(--muted);max-width:530px;font-size:18px}.button{padding:17px 23px;background:var(--accent);color:#16200e;font-weight:600;display:flex;gap:44px;align-items:center;transition:background .2s,transform .2s}.button:hover{background:#d4ff90;transform:translateY(-3px)}.button span{font-size:24px}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:65px;padding-top:19px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:40px}.kicker{color:var(--accent);margin-bottom:25px}h2{font-size:clamp(32px,3.2vw,46px);line-height:1.2;font-weight:500;letter-spacing:-1.8px}h2 span{color:var(--muted)}.section-head>p{max-width:330px;color:var(--muted)}.featured{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);margin-bottom:28px}.project-art{min-height:310px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.lepoto{background:#d5c9f5;color:#301451}.wordmark{font-weight:600;font-size:72px;letter-spacing:-4px;line-height:1}.wordmark>span{margin-left:8px}.lepoto .wordmark>span{font-size:64px;font-weight:400}.art-top,.art-bottom{font-size:12px;letter-spacing:1px}.art-bottom{opacity:.8}.project-info{padding:34px;display:flex;flex-direction:column;align-items:flex-start;background:var(--panel)}.meta{display:flex;justify-content:space-between;width:100%;color:var(--muted);font-size:12px;letter-spacing:1px}h3{font-size:28px;line-height:1.3;font-weight:500;margin:20px 0 12px;letter-spacing:-.7px}.project-info>p,.card-copy>p{color:var(--muted);max-width:470px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{font-size:12px;border:1px solid #41483c;border-radius:4px;padding:4px 10px;color:#c7cdc1}.text-link{font-size:14px;margin-top:28px;display:flex;gap:26px;align-items:center}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{border:1px solid var(--line);background:var(--panel)}.project-card .project-art{min-height:280px}.onepad{background:#183b77;color:#edf3ff}.onepad .wordmark>span{color:#e0ea79;margin:0}.wordmark small{display:block;font-family:'DM Sans',sans-serif;font-size:16px;letter-spacing:0;font-weight:400;margin-top:15px;line-height:1.4}.vizitin{background:#becdbf;color:#1a3830}.vizitin .wordmark{font-size:62px}.card-copy{padding:27px}.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{font-size:clamp(38px,4vw,57px)}.about-copy p{color:var(--muted);margin-bottom:22px}.about-copy .lead{font-size:24px;line-height:1.5;color:var(--text)}.about-note{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:25px}.about-note>span{color:var(--accent)}.about-note p{font-size:14px;margin:0}.skill-row{border-top:1px solid var(--line);display:grid;grid-template-columns:65px 1fr 1.2fr;align-items:center;padding:24px 0;gap:15px}.skill-row:last-child{border-bottom:1px solid var(--line)}.skill-num{font-size:13px;color:var(--muted)}.skill-row h3{font-size:24px;margin:0}.skill-row p{color:var(--muted);font-size:15px}footer{padding-top:55px;padding-bottom:22px;background:var(--accent);color:#14200e}.footer-main>p{margin-bottom:22px}.footer-main>a{font-size:clamp(42px,6vw,80px);letter-spacing:-3px;line-height:1.12;display:block;width:fit-content}.footer-main>a:hover{opacity:.65}.footer-main>a span{display:inline-block;margin-left:45px}.footer-bottom{border-top:1px solid #8dae56;margin-top:60px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.footer-bottom .logo span{color:#14200e}.skip{position:fixed;top:-100px;left:15px;background:var(--accent);color:#111;padding:10px;z-index:10}.skip:focus{top:12px}::selection{background:var(--accent);color:#111}@media(min-width:1500px){body{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:1440px;margin:auto}}@media(max-width:850px){.signature{margin-right:0;font-size:16px;gap:9px}.bracket{font-size:80px}h1{letter-spacing:-4px}.hero-bottom{align-items:flex-start;flex-direction:column}.section-head{align-items:flex-start;flex-direction:column;gap:20px}.section-head>p{max-width:550px}.featured{grid-template-columns:1fr}.project-grid{gap:18px}.wordmark{font-size:55px}.vizitin .wordmark{font-size:45px}.about{gap:35px}.skill-row{grid-template-columns:30px 1fr}.skill-row p{grid-column:2}.hero-foot{margin-top:42px}}@media(max-width:560px){header{padding:21px 6%}nav{gap:18px;font-size:13px}.nav-end{display:none}section{padding:65px 6%}.hero{padding-top:30px}.eyebrow{font-size:10px;letter-spacing:1px}.eyebrow span:first-child{font-size:12px}.hero-title{position:relative;margin:35px 0 26px}h1{font-size:clamp(46px,11vw,64px);letter-spacing:-2.8px}.signature{display:none}.hero-bottom p{font-size:16px}.button{padding:14px 19px;font-size:14px}.hero-foot{font-size:9px;letter-spacing:.6px}.project-grid{grid-template-columns:1fr}.project-art,.project-card .project-art{min-height:255px;padding:23px}.wordmark{font-size:66px}.vizitin .wordmark{font-size:58px}.project-info,.card-copy{padding:24px}.about{grid-template-columns:1fr;gap:30px}.about-copy .lead{font-size:22px}.skill-row h3{font-size:21px}.skill-row p{font-size:14px}.footer-bottom{flex-wrap:wrap;justify-content:space-between}.footer-bottom .logo{width:40%}.footer-bottom span{font-size:12px}.footer-main>a{letter-spacing:-2px}.footer-main>a span{margin-left:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* The Solver | portrait edition */
.hero{position:relative;background-image:linear-gradient(#c3f36b05 1px,transparent 1px),linear-gradient(90deg,#c3f36b05 1px,transparent 1px);background-size:64px 64px}.hero-title{gap:40px;margin-top:40px}.hero h1{font-size:clamp(64px,7.2vw,104px);letter-spacing:-5px;position:relative;z-index:1}.hero h1 em{display:inline-block;position:relative}.hero h1 em:after{content:'';position:absolute;bottom:-9px;left:0;width:46%;height:3px;background:var(--accent);transform:rotate(-2deg)}.portrait{position:relative;width:30%;max-width:330px;flex-shrink:0;margin:0 14px 0 0;transform:rotate(3deg)}.portrait-frame{aspect-ratio:4/4.7;overflow:hidden;background:#363c30;border:1px solid #79876b}.portrait img{width:100%;height:100%;object-fit:cover;object-position:59% 20%;filter:grayscale(1);transform:scale(1.4);transform-origin:60% 20%;transition:filter .5s,transform .6s}.portrait:hover img{filter:grayscale(0);transform:scale(1.36)}.portrait figcaption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;padding:12px 0;color:var(--muted);gap:10px}.portrait-stamp{position:absolute;bottom:35px;left:-38px;background:var(--accent);color:#17210e;font-family:'Space Grotesk',sans-serif;font-size:21px;line-height:1.05;padding:16px 20px;transform:rotate(-8deg);box-shadow:5px 5px 0 #111411}.portrait-stamp b{font-weight:700}.hero-bottom{margin-top:42px}.hero-bottom p{font-size:16px;max-width:610px}.featured{border-radius:2px;overflow:hidden}.project-art{position:relative}.lepoto .wordmark{font-size:88px;letter-spacing:-6px}.project-card{transition:transform .25s,border-color .25s}.project-card:hover{transform:translateY(-6px);border-color:#77866a}.onepad .wordmark{transform:rotate(-5deg);padding:18px 0}.vizitin .wordmark{letter-spacing:-3px}.about{position:relative}.about h2 span{color:var(--accent)}.approach-line{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.approach-line span{border:1px solid var(--line);padding:7px 11px;font-size:12px}.ai-expertise{border:1px solid #53693a;background:linear-gradient(125deg,#242e1d,#171d15 70%);padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-bottom:38px;position:relative}.ai-expertise:before{content:'';position:absolute;left:-1px;top:25px;width:3px;height:65px;background:var(--accent)}.ai-expertise .kicker{font-size:11px}.ai-expertise h3{font-size:36px;letter-spacing:-1.2px;margin:18px 0}.ai-expertise p{font-size:15px;color:var(--muted)}.ai-details{display:flex;flex-direction:column;justify-content:center;gap:25px}.ai-details>div{display:flex;gap:18px}.ai-details>div>span{color:var(--accent);font-family:monospace;font-size:12px;padding-top:3px}.ai-details b{color:var(--text);font-weight:500;font-size:16px;display:inline-block;margin-bottom:4px}.skill-row{transition:padding .2s,background .2s}.skill-row:hover{padding-left:14px;background:#1c2417}.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:34px}.contact-links a{font-size:15px;border-bottom:1px solid #668337;padding-bottom:4px}.contact-links a:first-child{margin-right:auto;font-size:20px}.contact-links a:hover{border-color:#14200e}footer{position:relative;overflow:hidden}.footer-main{position:relative;z-index:1}.footer-main>p{font-size:11px}.footer-main>a{font-size:clamp(44px,6vw,78px)}
@media(max-width:850px){.hero h1{font-size:clamp(54px,8vw,78px);letter-spacing:-3.5px}.portrait{width:31%;margin-right:0}.portrait-stamp{font-size:16px;padding:11px 14px;left:-20px}.portrait figcaption{font-size:9px;flex-direction:column;gap:0}.ai-expertise{gap:30px;padding:26px}.ai-expertise h3{font-size:30px}}
@media(max-width:560px){.hero-title{align-items:flex-start;gap:16px;flex-direction:column}.hero h1{font-size:clamp(48px,11.5vw,66px);letter-spacing:-3px}.portrait{width:65%;max-width:260px;align-self:flex-end;margin-top:20px;margin-right:8px}.portrait-frame{aspect-ratio:1.15}.portrait figcaption{flex-direction:row;font-size:9px}.portrait-stamp{font-size:18px;left:-28px;bottom:35px}.hero-bottom{margin-top:24px}.hero-foot{font-size:9px}.ai-expertise{grid-template-columns:1fr;gap:25px;padding:24px}.ai-expertise h3{font-size:32px}.ai-expertise .kicker{font-size:10px}.contact-links{gap:20px}.contact-links a:first-child{width:100%;font-size:19px}.lepoto .wordmark{font-size:76px}.footer-main>p{font-size:10px;max-width:280px}}
.portrait img{object-position:42% 48%;transform:none}.portrait:hover img{transform:scale(1.025)}.education{border-top:1px solid var(--line)}.education-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.degree{background:var(--panel);padding:32px;border-top:3px solid var(--accent);align-self:start}.degree h3{font-size:32px;margin:28px 0 14px}.degree p{color:var(--muted)}.degree-date{display:block;font-size:14px;margin-top:45px;color:var(--accent)}.cert-heading{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;padding-bottom:18px}.cert-heading span{color:var(--muted)}.cert-item{display:flex;gap:18px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.cert-symbol{color:var(--accent);border:1px solid #607345;border-radius:50%;width:30px;height:30px;flex-shrink:0;text-align:center;line-height:28px}.cert-item h3{font-size:19px;margin:0 0 5px;letter-spacing:-.3px}.cert-item p{font-size:13px;color:var(--muted)}@media(max-width:750px){.education-grid{grid-template-columns:1fr;gap:30px}nav{gap:17px}.nav-end{display:none}}@media(max-width:400px){nav{gap:12px;font-size:12px}}
.portrait img{object-position:43% 50%;filter:grayscale(.6);transform:scale(1.1)}.portrait:hover img{filter:grayscale(0);transform:scale(1.12)}.selected-projects{display:grid;grid-template-columns:1fr 1fr;gap:30px}.work-card{border:1px solid var(--line);background:var(--panel);min-width:0;overflow:hidden}.project-shot{display:block;position:relative;overflow:hidden;background:#252d21;aspect-ratio:1.455}.project-shot img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s}.project-shot:hover img{transform:scale(1.035)}.enlarge{position:absolute;right:14px;bottom:14px;padding:6px 10px;background:#111e;color:#fff;font-size:12px;border:1px solid #ffffff40}.shot-caption{padding:8px 24px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.work-copy{padding:26px}.work-copy>p{color:var(--muted);font-size:16px}.work-copy .project-role{margin-top:17px;color:#e0e7d6;font-size:13px}.work-copy h3{font-size:32px}.work-copy .meta{font-size:11px}.other-projects{border-top:1px solid var(--line);margin-top:38px;padding-top:23px;display:flex;align-items:center;gap:30px}.other-projects>span{font-size:11px;color:var(--accent);letter-spacing:1px;flex-shrink:0}.other-projects p{font-size:14px;color:var(--muted)}@media(max-width:650px){.selected-projects{grid-template-columns:1fr;gap:25px}.work-copy{padding:22px}.other-projects{flex-direction:column;align-items:flex-start;gap:12px}.portrait-frame{aspect-ratio:4/4.7}.portrait{width:65%}.portrait img{object-position:43% 50%}} 
/* Quiet motion and signature identity */
.logo{display:inline-flex;align-items:center;letter-spacing:normal}.logo img{display:block;width:44px;height:44px}.portrait{isolation:isolate;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.portrait:before{content:'';position:absolute;z-index:-1;inset:-25% -30%;background:radial-gradient(ellipse,#c3f36b16 0%,transparent 65%);pointer-events:none}.portrait-frame{aspect-ratio:1;border:1px solid #8b9b7680;box-shadow:14px 17px 0 -1px #111411,14px 17px 0 0 #65744d70,0 30px 65px #0005}.portrait img{transform:none;object-position:center;object-fit:cover;filter:saturate(.85)}.portrait:hover img{transform:scale(1.025);filter:saturate(1)}.portrait:hover{transform:rotate(0deg) translateY(-5px)}.portrait-stamp{bottom:40px}.portrait figcaption{padding-top:28px}.hero h1 em{background:linear-gradient(105deg,#c3f36b 10%,#e5ffbe 45%,#b3e05f 70%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:light-pass 10s ease-in-out infinite}.hero{background-position:center center}.work-card{position:relative;transition:transform .25s ease,border-color .3s,box-shadow .3s;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:auto}.work-card:hover{border-color:#7d9060;box-shadow:0 18px 48px #0004}.work-card:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(400px circle at var(--shine-x,50%) var(--shine-y,30%),#c3f36b0c,transparent 75%)}.work-card:hover:after{opacity:1}.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 35%,#fff5 50%,transparent 65%);transform:translateX(-100%);transition:transform .7s}.button:hover:after{transform:translateX(100%)}nav a{position:relative;padding:5px 0}nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}.reveal-pending{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal-pending.is-visible{opacity:1;transform:translateY(0)}@keyframes light-pass{0%,100%{background-position:0% center}50%{background-position:100% center}}@media(max-width:650px){.portrait-frame{aspect-ratio:1}.portrait{width:72%;max-width:290px}.portrait-stamp{font-size:16px}.hero h1 em{animation:none}}@media(prefers-reduced-motion:reduce){.hero h1 em{animation:none}.reveal-pending{opacity:1;transform:none}.work-card,.portrait:hover,.portrait:hover img{transform:none!important}}@media(hover:none){.work-card{transform:none!important}.portrait img{filter:none}}
