.robot{position:fixed;left:0;top:0;z-index:60;width:44px;height:53px;pointer-events:none;will-change:transform;transition:opacity .15s ease}.robot.is-camo{opacity:.3}.robot.is-hidden{opacity:0}.robot-svg{display:block;width:100%;height:100%;overflow:visible}.robot-line{stroke:var(--ink, #111111)}.robot-dot{fill:var(--ink, #111111);transition:opacity .3s ease}.robot-body{fill:var(--ink, #111111);transform-box:fill-box;transform-origin:center;transition:opacity .5s ease,transform .5s ease}.robot-body.dim{opacity:.8}.robot-body.off{opacity:0;transform:scale(.4)}.robot-eyes{transform-box:fill-box;transform-origin:center;transition:transform .14s ease,opacity .3s ease}.robot-eyes rect{fill:var(--paper, #ffffff)}.robot-eyes.is-link{transform:scaleY(1.25)}.robot-eyes.blink,.robot-eyes.sleep{transform:scaleY(.12)}.robot-eyes.off{opacity:0}.robot-piece{fill:var(--ink, #111111)}html.robot-cursor-on,html.robot-cursor-on *{cursor:none}html.robot-cursor-on input,html.robot-cursor-on textarea,html.robot-cursor-on select{cursor:text}.robot-toggle{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:inherit;cursor:pointer}.robot-switch{position:relative;width:40px;height:22px;border:1px solid var(--ink, #111111);border-radius:999px;background:var(--paper, #ffffff);transition:background .2s ease}.robot-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ink, #111111);transition:transform .2s ease,background .2s ease}.robot-switch[data-on=true]{background:var(--ink, #111111)}.robot-switch[data-on=true]:after{transform:translate(18px);background:var(--paper, #ffffff)}.robot.is-dark .robot-body,.robot.is-dark .robot-dot{fill:var(--paper, #ffffff)}.robot.is-dark .robot-line{stroke:var(--paper, #ffffff)}.robot.is-dark .robot-eyes rect{fill:var(--ink, #111111)}.brand-marquee{--brand-gap: 5vw;position:relative;overflow:hidden;padding:4vw 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f5f4f432}.brand-track{display:flex;width:max-content;animation:brand-scroll 30s linear infinite}.brand-group{display:flex;gap:var(--brand-gap);padding-right:var(--brand-gap)}.brand-tile{flex:0 0 clamp(180px,22vw,280px);aspect-ratio:1;margin:0;border-radius:30px;overflow:hidden;background:#126864}.brand-tile img{display:block;width:100%;height:100%;object-fit:cover}.brand-stat{display:flex;flex-direction:column;justify-content:flex-end;gap:.8vw;padding:5.5vw;color:var(--paper, #ffffff)}.brand-stat-number{font-size:clamp(40px,6vw,96px);font-weight:500;line-height:1;letter-spacing:-.04em}.brand-stat .mono-label{opacity:.8}@keyframes brand-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-marquee{overflow-x:auto}.brand-group[aria-hidden=true]{display:none}}:root{font-family:Manrope,Arial,sans-serif;color:#111;background:#f7f7f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f7f7f7;--white: #ffffff;--ink: #111111;--muted: #666666;--line: #d8d8d8;--mono: "DM Mono", "Courier New", monospace;--page-gutter: clamp(5vw, 6.2vw, 8vw);--section-gap: clamp(14vw, 17vw, 22vw)}*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--paper)}body{margin:0;background:var(--paper);font-size:1.05vw;line-height:1.55}body,button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}a{text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{color:var(--paper);background:var(--ink)}:focus-visible{outline:1px solid var(--ink);outline-offset:.35vw}.skip-link{position:fixed;z-index:100;top:1vw;left:1vw;padding:.75vw 1vw;color:var(--white);background:var(--ink);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.mono-label,.eyebrow{font-family:var(--mono);font-size:.66vw;line-height:1.5;font-weight:400;letter-spacing:.08em}.eyebrow{margin:0 0 1.6vw;color:var(--muted)}.hero-period,.muted-heading{color:#999}.section-wrap{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}.text-link{display:inline-flex;align-items:center;gap:.55vw;width:fit-content;padding:.15vw 0;border-bottom:1px solid var(--ink);font-family:var(--mono);font-size:.67vw;letter-spacing:.04em;transition:color .18s ease,background-color .18s ease}.text-link span,.live-link span{transition:transform .18s ease}.text-link:hover span,.live-link:hover span{transform:translate(.18vw,-.18vw)}.text-link:focus-visible{outline-offset:.5vw}.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;padding:3vw var(--page-gutter) 0}.header-inner{display:flex;align-items:center;min-height:3vw;border-bottom:3px solid var(--line);width:100%}.wordmark,.footer-wordmark{font-size:2.55vw;line-height:1;font-weight:900;letter-spacing:-.1em}.wordmark span,.footer-wordmark span{color:#999}.wordmark-logo img{display:block;height:2.9vw;width:auto;padding-right:.5vw}@media(max-width:640px){.wordmark-logo img{height:6vw}}.header-location{margin-left:2.2vw;color:var(--muted);font-family:var(--mono);font-size:.58vw;letter-spacing:.07em}.header-location span{color:var(--ink)}.desktop-nav{display:flex;align-items:center;gap:2.5vw;margin-left:auto}.nav-link{position:relative;padding:.8vw 0;color:#666;font-size:1.7vw;transition:color .18s ease}.nav-link:after{position:absolute;right:0;bottom:.55vw;left:0;height:1px;background:var(--ink);content:"";transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.nav-link:hover,.nav-link.is-active{color:var(--ink)}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1);transform-origin:left}.menu-toggle,.mobile-menu{display:none}.hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;padding:7.5vw var(--page-gutter) 4.5vw;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;padding-bottom:1vw;border-bottom:1px solid var(--line);color:var(--muted)}.meta-slash{padding:0 .3vw;color:#bbb}.hero-content{width:100%;padding:3vw 0 5vw}.hero-eyebrow{margin:0 0 1.2vw;color:var(--muted)}.hero-word{display:flex;flex-direction:column;margin:0;font-size:clamp(11vw,7.8vw,19.5vw);font-weight:600;letter-spacing:-.105em;line-height:.77}.hero-word>span{display:block;overflow:hidden;padding:0 .09em .08em 0}.hero-word>span:nth-child(2){padding-left:12.5vw}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin:3vw 0 0 12.5vw}.hero-intro{max-width:25vw;margin:0;font-size:1.16vw;line-height:1.55}.hero-work-link{margin:0 2.5vw 0 0}.scroll-cue{position:absolute;right:var(--page-gutter);bottom:4vw;display:flex;align-items:center;gap:.75vw;color:var(--muted)}.scroll-cue-mark{color:var(--ink);font-size:1.05vw}.hero-side-note{position:absolute;bottom:4.15vw;left:var(--page-gutter);color:#999;writing-mode:vertical-rl;transform:rotate(180deg)}.featured-section{padding-top:8vw}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3vw}.section-heading h2,.section-rule-heading h2{margin:0;font-size:3.6vw;font-weight:500;letter-spacing:-.075em;line-height:1.05}.section-heading .eyebrow{margin-bottom:1vw}.section-more-link{margin-bottom:.35vw}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5vw;row-gap:5.3vw}.work-grid-section .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1.25vw;row-gap:4.7vw}.project-card{min-width:0;transform-style:preserve-3d}.project-card-visual{position:relative;display:block;aspect-ratio:1.42;overflow:hidden;background:#d8d8d8}.project-card-visual img{width:100%;height:100%;object-fit:cover;filter:"none";transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}.project-card:hover .project-card-visual img{transform:scale(1.035);filter:grayscale(0) contrast(1.04)}.project-index{position:absolute;top:1vw;left:1vw;padding:.4vw .55vw;color:var(--ink);background:#f7f7f5e0}.project-visual-arrow{position:absolute;right:1vw;bottom:1vw;display:grid;width:2.4vw;height:2.4vw;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:var(--white);font-size:1vw;transition:color .2s ease,background-color .2s ease,transform .2s ease}.project-card:hover .project-visual-arrow{color:var(--ink);background:var(--white);transform:rotate(45deg)}.project-card-info{padding-top:1.15vw}.project-card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1vw}.project-category{margin:0 0 .45vw;color:var(--muted);text-transform:uppercase}.project-card h3{margin:0;font-size:1.42vw;font-weight:600;letter-spacing:-.055em;line-height:1.1}.project-card h3 a{position:relative;display:inline-block}.project-card h3 a:after{position:absolute;right:0;bottom:-.08em;left:0;height:1px;background:var(--ink);content:"";transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.project-card h3 a:hover:after{transform:scaleX(1);transform-origin:left}.live-link{display:inline-flex;flex-shrink:0;align-items:center;gap:.35vw;padding:.2vw 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.58vw;letter-spacing:.04em}.project-description{max-width:34vw;margin:.75vw 0 .9vw;color:#666;font-size:.85vw;line-height:1.65}.tag-list{display:flex;flex-wrap:wrap;gap:.4vw;margin:0;padding:0;list-style:none}.tag-list li{padding:.25vw .55vw;border:1px solid var(--line);color:#666;font-family:var(--mono);font-size:.57vw;line-height:1.35}.home-statement{display:grid;grid-template-columns:1fr 2.1fr 1fr;align-items:start;gap:2vw;margin-top:var(--section-gap);padding-top:2vw;padding-bottom:8vw;border-top:1px solid var(--line)}.home-statement .eyebrow{margin-top:.5vw}.statement-copy{max-width:45vw;margin:0;font-size:2.9vw;font-weight:500;letter-spacing:-.06em;line-height:1.15}.statement-copy em{font-weight:400}.home-statement .text-link{justify-self:end;margin-top:.5vw}.page-intro{padding-top:12vw;padding-bottom:3vw}.page-intro h1,.contact-hero h1,.not-found-page h1{margin:0;font-size:clamp(5.6vw,8.4vw,10vw);font-weight:500;letter-spacing:-.095em;line-height:.96}.page-intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:3vw;padding-top:1vw;border-top:1px solid var(--line)}.page-intro-bottom p{max-width:32vw;margin:0;color:#666;font-size:1.08vw}.page-intro-bottom .mono-label{color:var(--muted)}.work-grid-section{padding-top:3.4vw;padding-bottom:12vw}.work-grid-section .project-card:nth-child(3n+2){padding-top:3vw}.work-grid-section .project-card:nth-child(3n){padding-top:6vw}.detail-topline{display:flex;justify-content:space-between;padding-top:8.2vw;color:var(--muted)}.detail-topline .text-link{color:var(--ink)}.detail-heading{padding-top:5vw;padding-bottom:4vw}.detail-heading h1{margin:0;font-size:clamp(6.4vw,10vw,11.5vw);font-weight:500;letter-spacing:-.09em;line-height:.95}.detail-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:3vw;margin-top:2vw}.detail-summary p{max-width:37vw;margin:0;color:#666;font-size:1.15vw}.button-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2vw;min-width:13vw;padding:.9vw 1vw;border:1px solid var(--ink);font-family:var(--mono);font-size:.66vw;letter-spacing:.04em;transition:color .18s ease,background-color .18s ease}.button-link:hover{color:var(--white);background:var(--ink)}.detail-image-wrap{position:relative}.detail-image{width:100%;height:52vw;max-height:78vh;object-fit:cover;background:#d8d8d8}.image-caption{position:absolute;right:calc(var(--page-gutter) + 1.2vw);bottom:1.2vw;padding:.25vw .45vw;color:var(--white);background:#0000008c}.detail-information{display:grid;grid-template-columns:1fr 2fr;gap:5vw;padding-top:9vw;padding-bottom:9vw;border-bottom:1px solid var(--line)}.detail-info-label{display:flex;align-items:flex-start;justify-content:space-between;border-top:1px solid var(--line);padding-top:1vw}.detail-info-label .eyebrow{margin:0}.detail-info-number{color:#999}.detail-info-content h2{margin:0 0 1.5vw;font-size:3.6vw;font-weight:500;letter-spacing:-.075em;line-height:1.05}.detail-info-content>p{max-width:34vw;margin:0 0 3vw;color:#666;font-size:1vw}.detail-stack-block{margin-bottom:2.5vw;padding:1.4vw 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-stack-block .eyebrow{margin-bottom:1vw}.detail-tags{gap:.5vw}.next-project{display:flex;flex-direction:column;gap:1vw;padding-top:3vw;padding-bottom:4vw}.next-project>span:first-child{color:var(--muted)}.next-project-name{display:flex;align-items:baseline;justify-content:space-between;font-size:5.3vw;letter-spacing:-.075em;transition:color .2s ease}.next-project-name span{font-size:2vw;transition:transform .2s ease}.next-project:hover .next-project-name{color:#666}.next-project:hover .next-project-name span{transform:translate(.35vw,-.35vw)}.about-lede{max-width:52vw;margin:0;font-size:2.9vw;font-weight:500;letter-spacing:-.06em;line-height:1.2}.about-body{max-width:38vw;margin:2vw 0 0;color:#666;font-size:1.08vw}.skills-section{padding-top:2vw;padding-bottom:10vw}.section-rule-heading{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:1.6vw;border-bottom:1px solid var(--line)}.section-rule-heading h2{font-size:3.4vw}.section-rule-heading>span{color:var(--muted)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2vw}.skill-group{padding-top:1.5vw}.skill-group-head{display:flex;align-items:center;gap:1vw;margin-bottom:1.1vw}.skill-group-head>span{color:var(--muted)}.skill-group h3{margin:0;font-size:1.3vw;font-weight:500;letter-spacing:-.04em}.skill-group ul{margin:0;padding:0;list-style:none}.skill-group li{display:flex;justify-content:space-between;padding:.8vw 0;border-top:1px solid var(--line);font-size:.95vw}.skill-group li span{color:#999;font-size:.68vw}.education-section{display:grid;grid-template-columns:1fr 2.05fr;gap:5vw;padding-top:2.5vw;padding-bottom:10vw;border-top:1px solid var(--line)}.education-row{display:flex;justify-content:space-between;align-items:flex-start}.education-row h2{margin:0;font-size:2.7vw;font-weight:500;letter-spacing:-.06em}.education-row p{margin:.5vw 0 0;color:var(--muted);font-size:1vw}.education-row>span{color:var(--muted)}.contact-hero{min-height:70vh;padding-top:13vw;padding-bottom:5vw}.contact-hero h1{font-size:clamp(6.5vw,10.5vw,12vw)}.contact-lede{max-width:31vw;margin:2.4vw 0 0 auto;color:#666;font-size:1.2vw}.contact-main{padding-top:2vw;padding-bottom:8vw}.contact-availability{display:flex;align-items:center;gap:.8vw;padding:1.1vw 0;border-top:1px solid var(--line);color:#666}.availability-dot{width:.55vw;height:.55vw;border-radius:50%;background:#666}.contact-row{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:2vw;padding:1.3vw 0;border-top:1px solid var(--line)}.contact-row>.mono-label{color:var(--muted)}.contact-row>a{display:flex;justify-content:space-between;font-size:1.55vw;letter-spacing:-.04em}.contact-row>a span{color:#999}.contact-placeholder{color:#999;font-size:.95vw}.contact-outro{display:flex;align-items:center;justify-content:space-between;padding-top:1.3vw;padding-bottom:6vw;border-top:1px solid var(--line);color:var(--muted)}.contact-outro p{margin:0}.contact-outro>span{color:var(--ink);font-size:2vw}.not-found-page{min-height:70vh;padding-top:18vw;padding-bottom:10vw}.not-found-page h1{margin-bottom:3vw}.site-footer{padding:3vw var(--page-gutter) 1.5vw;color:var(--paper);background:var(--ink)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;min-height:7vw}.footer-wordmark{color:var(--paper);font-size:2vw}.footer-top p{margin:0;color:#bbb;font-size:1vw;line-height:1.5}.back-to-top{justify-self:end;display:inline-flex;align-items:center;gap:.75vw;font-family:var(--mono);font-size:.64vw;letter-spacing:.05em}.back-to-top span{font-size:1vw}.footer-bottom{display:flex;justify-content:space-between;gap:2vw;padding-top:1vw;border-top:1px solid #333333;color:#999}.footer-bottom a{color:var(--paper)}.footer-bottom a span{color:#999}@media(min-width:1025px){body{font-size:1.05vw}}@media(min-width:641px)and (max-width:1024px){body{font-size:1.8vw}.mono-label,.eyebrow,.text-link{font-size:1vw}.header-location{font-size:.9vw}.nav-link{font-size:1.25vw}.project-card h3{font-size:2vw}.project-description{font-size:1.25vw}.live-link,.tag-list li{font-size:.9vw}.work-grid-section .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid-section .project-card:nth-child(n){padding-top:0}.hero-intro,.page-intro-bottom p,.detail-summary p,.about-body{font-size:1.7vw}.skill-group h3{font-size:2vw}.skill-group li{font-size:1.5vw}.contact-lede{font-size:1.8vw}.contact-placeholder{font-size:1.5vw}.button-link{font-size:.95vw}}@media(max-width:640px){:root{--page-gutter: 6vw;--section-gap: 20vw}body{font-size:3.8vw}.mono-label,.eyebrow{font-size:2.15vw}.eyebrow{margin-bottom:3.5vw}.section-wrap{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}.text-link{gap:1.5vw;font-size:2.1vw}.site-header{padding:4vw var(--page-gutter) 0}.header-inner{min-height:10vw}.wordmark{font-size:5.5vw}.header-location{margin-left:5vw;font-size:1.8vw}.desktop-nav{display:none}.menu-toggle{z-index:4;display:flex;align-items:center;gap:1.8vw;margin-left:auto;padding:2vw 0 2vw 3vw;border:0;background:transparent;font-family:var(--mono);font-size:2vw;letter-spacing:.06em;cursor:pointer}.mobile-menu{position:fixed;z-index:3;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:18vw var(--page-gutter) 10vw;color:var(--paper);background:var(--ink)}.mobile-menu-links{display:flex;flex-direction:column}.mobile-nav-link{display:flex;align-items:baseline;gap:3vw;padding:2.3vw 0;border-bottom:1px solid #333333;font-size:12vw;letter-spacing:-.075em}.mobile-nav-link .mono-label{color:#999}.mobile-nav-link>span:last-child{margin-left:auto;font-size:5vw;color:#999}.mobile-menu-note{margin-top:7vw;color:#999;font-size:3vw}.hero{min-height:auto;justify-content:flex-start;padding:23vw var(--page-gutter) 10vw}.hero-meta{gap:2vw;padding-bottom:3vw}.hero-meta .mono-label,.hero-meta{font-size:1.9vw}.hero-eyebrow{margin-bottom:4vw}.hero-word{font-size:20vw;line-height:.83}.hero-word>span:nth-child(2){padding-left:4vw}.hero-bottom{align-items:flex-start;flex-direction:column;gap:5vw;margin:8vw 0 0 4vw}.hero-intro{max-width:74vw;font-size:2.7vw}.hero-work-link{margin:0}.scroll-cue{right:var(--page-gutter);bottom:6vw;gap:2vw}.scroll-cue-mark{font-size:4vw}.hero-side-note{display:none}.featured-section{padding-top:17vw}.section-heading{align-items:flex-end;margin-bottom:7vw}.section-heading h2,.section-rule-heading h2{font-size:8vw}.section-heading .eyebrow{margin-bottom:2vw}.project-grid,.work-grid-section .project-grid{grid-template-columns:1fr;row-gap:10vw}.project-card-visual{aspect-ratio:1.23}.project-index{top:2.5vw;left:2.5vw;padding:1vw 1.6vw}.project-visual-arrow{right:2.5vw;bottom:2.5vw;width:8vw;height:8vw;font-size:3.2vw}.project-card-info{padding-top:3vw}.project-card-heading{align-items:flex-end;gap:2vw}.project-category{margin-bottom:1.5vw}.project-card h3{font-size:5.2vw}.live-link{gap:1vw;font-size:1.8vw}.project-description{max-width:none;margin:2.5vw 0 3vw;font-size:3.1vw}.tag-list{gap:1.3vw}.tag-list li{padding:1vw 1.7vw;font-size:1.9vw}.home-statement{grid-template-columns:1fr;gap:5vw;margin-top:var(--section-gap);padding-top:6vw;padding-bottom:16vw}.statement-copy{max-width:85vw;font-size:8vw}.home-statement .text-link{justify-self:start;margin-top:0}.page-intro{padding-top:31vw;padding-bottom:7vw}.page-intro h1,.contact-hero h1,.not-found-page h1{font-size:11vw}.page-intro-bottom{align-items:flex-start;gap:4vw;margin-top:7vw;padding-top:3vw}.page-intro-bottom p{max-width:60vw;font-size:3.2vw}.work-grid-section{padding-top:3vw;padding-bottom:18vw}.work-grid-section .project-card:nth-child(n){padding-top:0}.detail-topline{padding-top:24vw;font-size:2vw}.detail-heading{padding-top:12vw;padding-bottom:8vw}.detail-heading h1{font-size:14vw}.detail-summary{align-items:flex-start;flex-direction:column;gap:5vw;margin-top:5vw}.detail-summary p{max-width:83vw;font-size:3.5vw}.button-link{min-width:46vw;gap:6vw;padding:3vw;font-size:2vw}.detail-image{height:73vw;max-height:none}.image-caption{right:calc(var(--page-gutter) + 3vw);bottom:3vw}.detail-information{grid-template-columns:1fr;gap:7vw;padding-top:15vw;padding-bottom:15vw}.detail-info-label{padding-top:3vw}.detail-info-content h2{margin-bottom:4vw;font-size:9vw}.detail-info-content>p{max-width:none;margin-bottom:8vw;font-size:3.4vw}.detail-stack-block{margin-bottom:7vw;padding:4vw 0}.detail-stack-block .eyebrow{margin-bottom:3vw}.next-project{gap:3vw;padding-top:7vw;padding-bottom:10vw}.next-project-name{font-size:9vw}.next-project-name span{font-size:4vw}.about-lede{max-width:none;font-size:7.8vw}.about-body{max-width:78vw;margin-top:5vw;font-size:3.4vw}.skills-section{padding-top:2vw;padding-bottom:17vw}.section-rule-heading{align-items:flex-end;gap:3vw;padding-bottom:4vw}.section-rule-heading h2{font-size:7vw}.skills-grid{grid-template-columns:1fr;gap:5vw}.skill-group{padding-top:5vw}.skill-group-head{gap:3vw;margin-bottom:3vw}.skill-group h3{font-size:5vw}.skill-group li{padding:2.5vw 0;font-size:3.5vw}.skill-group li span{font-size:2.5vw}.education-section{grid-template-columns:1fr;gap:4vw;padding-top:6vw;padding-bottom:18vw}.education-row h2{font-size:7vw}.education-row p{margin-top:2vw;font-size:3.3vw}.contact-hero{min-height:48vh;padding-top:32vw;padding-bottom:7vw}.contact-hero h1{font-size:13vw}.contact-lede{max-width:74vw;margin:8vw 0 0 auto;font-size:3.7vw}.contact-main{padding-top:3vw;padding-bottom:18vw}.contact-availability{gap:2vw;padding:3vw 0}.availability-dot{width:1.6vw;height:1.6vw}.contact-row{grid-template-columns:1fr;gap:2vw;padding:4vw 0}.contact-row>a{font-size:5.5vw}.contact-placeholder{font-size:3.2vw}.contact-outro{padding-top:4vw;padding-bottom:15vw}.contact-outro>span{font-size:6vw}.not-found-page{min-height:70vh;padding-top:35vw}.not-found-page h1{margin-bottom:8vw}.site-footer{padding:8vw var(--page-gutter) 5vw}.footer-top{grid-template-columns:1fr 1fr;min-height:28vw}.footer-wordmark{font-size:7vw}.footer-top p{justify-self:end;font-size:3vw}.back-to-top{justify-self:start;gap:2vw;font-size:2vw}.back-to-top span{font-size:4vw}.footer-bottom{flex-wrap:wrap;gap:3vw;padding-top:3vw;font-size:1.7vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.contact-row a svg{width:clamp(28px,4vw,48px);height:clamp(28px,4vw,48px)}.route-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:var(--paper, #f7f7f7)}.route-loading img{width:min(30vw,160px);height:auto}.featured-section:has(.brand-marquee){padding-left:0;padding-right:0}.about-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2vw;padding-top:4vw;padding-bottom:4vw}.about-card{display:flex;flex-direction:column;gap:2vw;padding:2vw;min-height:26vw;background:var(--ink, #111111);color:var(--paper, #ffffff);border-radius:20px}.about-card-top{display:flex;flex-direction:column;gap:1.6vw}.about-card-top .mono-label{color:var(--paper, #ffffff);opacity:.6}.about-card-top h3{margin:0;font-size:clamp(22px,2.2vw,34px);font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--paper, #ffffff)}.about-card-bottom{margin-top:auto}.about-card-bottom p{margin:0;font-size:.95vw;line-height:1.5;opacity:.85}@media(max-width:640px){.about-cards{grid-template-columns:1fr}.about-card{min-height:auto;padding:6vw;border-radius:20px}.about-card-top h3{font-size:7vw}.about-card-bottom p{font-size:3.4vw}}.contact-hero{margin:8vw 2vw 0;border-radius:25px;background:var(--ink, #111111);color:var(--paper, #ffffff)}@media(max-width:640px){.contact-hero{margin:18vw 2vw 0}}.contact-hero .eyebrow,.contact-hero h1,.contact-hero .contact-lede{color:var(--paper, #ffffff)}.contact-hero .hero-period{color:#999}.hero{padding-bottom:6vw}.hero-content{position:relative;margin:2vw 0 0;padding:7vw 6vw;border-radius:25px;background:var(--ink, #111111);color:var(--paper, #ffffff)}.hero-content .hero-eyebrow,.hero-content .hero-word,.hero-content .hero-intro,.hero-content .text-link,.hero-content .scroll-cue,.hero-content .scroll-cue-mark{color:var(--paper, #ffffff)}.hero-content .text-link{border-bottom-color:var(--paper, #ffffff)}.hero-content .scroll-cue{position:static;justify-content:flex-end;margin-top:8vw}.hero-meta,.hero-meta .meta-slash{color:var(--muted);border-bottom-color:var(--line)}.scroll-cue{color:var(--muted)}.hero{padding-left:1.2vw;padding-right:1.2vw}.hero-content{margin:2vw 0 0}@media(max-width:640px){.hero{padding-left:2.5vw;padding-right:2.5vw}.hero-content{padding:9vw 7vw}}.site-header{position:sticky;top:0;z-index:30;background:var(--paper, #f7f7f7)}.menu-toggle{position:relative;z-index:4}.menu-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.menu-icon{position:relative;display:block;width:7vw;height:5vw;min-width:24px;min-height:18px}.menu-icon>span{position:absolute;left:0;width:100%;height:2px;background:var(--ink, #111111);transition:top .3s ease,transform .3s ease,background-color .3s ease}.menu-icon>span:first-child{top:30%;transform:translateY(-50%)}.menu-icon>span:last-child{top:70%;transform:translateY(-50%)}.menu-toggle.is-open .menu-icon>span{background:var(--paper, #f7f7f7)}.menu-toggle.is-open .menu-icon>span:first-child{top:50%;transform:translateY(-50%) rotate(45deg)}.menu-toggle.is-open .menu-icon>span:last-child{top:50%;transform:translateY(-50%) rotate(-45deg)}.menu-icon{display:none}@media(max-width:640px){.menu-icon{display:block}}.hero-word>.hero-roll{display:block;overflow:visible;padding:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hero-roll-stage{display:grid}.hero-roll-sizer{grid-area:1 / 1;display:grid;visibility:hidden}.hero-roll-sizer>.hero-roll-word,.hero-roll-stage>.hero-roll-word{grid-area:1 / 1}.hero-roll-word{display:block}.hero-roll-line{display:block;white-space:nowrap}.hero-roll-line.is-offset{padding-left:12.5vw}.roll-char{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .1em .12em;margin:-.08em -.1em -.12em}.roll-inner{display:inline-block}@media(max-width:640px){.hero-roll-line.is-offset{padding-left:4vw}.hero-roll-word.is-role{font-size:16vw}.hero{min-height:auto;justify-content:flex-start}}
