/* Independent application portfolio: preserve the original black canvas and large typography. */
html{scroll-padding-top:7rem}body{animation:none}p{line-height:1.6;color:#b8b8b8}a{color:inherit}a:focus-visible{outline:2px solid #fff;outline-offset:6px}img{max-width:100%}h1{font-size:clamp(2.7rem,12.4vw,12rem);letter-spacing:-.055em}footer{margin-top:7rem;overflow:hidden}.footer-links{padding:0 5vw 3rem;flex-wrap:wrap;gap:1.5rem}.footer-links a{color:#b8b8b8;text-underline-offset:5px}.skip-link{position:fixed;top:-100px;left:1rem;background:white;color:black;padding:1rem;z-index:2000}.skip-link:focus{top:1rem}nav{top:0;background:rgba(0,0,0,.9);padding:1rem 0;margin-top:1rem;backdrop-filter:blur(10px)}nav ul{padding:0 5vw;margin:0;gap:1rem;align-items:center}nav a{display:inline-block;min-height:40px;padding:.55rem 1rem;transition:border-color .2s}.section-intro{margin-top:6rem;margin-bottom:7rem}.section-intro p:not(.eyebrow){font-size:clamp(1.15rem,1.65vw,1.5rem);line-height:1.55}.eyebrow,.section-label{font-size:.75rem!important;letter-spacing:.12em;color:#aaa!important;margin-bottom:1.5rem}.text-link{display:inline-block;font-size:1rem;text-underline-offset:6px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem 2rem}.project-description{height:auto;min-height:6rem}.project-description h2{font-size:clamp(1.2rem,1.7vw,1.7rem);font-weight:500;margin:0 0 .6rem;letter-spacing:-.025em}.project-description p{font-size:.875rem;margin:0 0 1.5rem}.project-description span{white-space:nowrap}.project-img{aspect-ratio:4/3;max-height:none}.project-img>a:first-child{width:100%;height:100%}.project-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-button{opacity:1;bottom:1rem;right:1rem;background:rgba(0,0,0,.72);border:1px solid #ffffff55;font-size:.9rem;min-height:44px}.project-summary{font-size:.95rem;max-width:36rem}.section-aboutme{margin-top:9rem;margin-bottom:6rem;gap:4rem}.aboutme-image{width:48%}.aboutme-text{max-width:none;flex:1}.section-aboutme p{line-height:1.7}.whatido-section,.contact-info{margin:6rem 5vw;gap:3rem}.whatido-title,.contact-info-title{width:40%}.whatido-list,.contact-info-text{width:auto;flex:1}.contact-button{position:static;font-size:1rem!important}.project-page-nav{padding:0}.project-page-nav nav{margin:0;padding:1rem 0}.project-hero{height:70vh;min-height:400px;max-height:760px}.project-hero img{height:100%;filter:brightness(.65)}.project-hero h1{top:auto;bottom:3rem;left:5vw;right:auto;font-size:clamp(2.6rem,6vw,6rem);max-width:85%;white-space:normal;letter-spacing:-.045em;text-shadow:0 2px 25px #0008}.project-info{margin:5rem 5vw;gap:4rem}.project-info-title{width:30%;flex-shrink:0}.project-text{max-width:46rem;flex:1;min-width:0}.project-text h2{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#aaa;margin:0 0 1rem}.project-text p{font-size:1.05rem;line-height:1.7;margin-bottom:2.5rem}.project-text p.project-text-problem-space{color:#b8b8b8}.project-list-text{padding:0}.project-list-text li{font-size:.95rem;line-height:1.5}.project-tags{padding:0;margin-top:2rem}.project-tag{font-size:.8rem}.project-actions{display:flex;flex-wrap:wrap;gap:1rem}.project-actions a{font-size:.95rem;text-underline-offset:5px}.project-process,.wrco-design-decision{width:calc(100% - 10vw);max-width:46rem;padding:3rem 0}.project-process h2{font-size:1.5rem;font-weight:500;letter-spacing:-.025em;margin:0 0 1rem}.project-process h2:not(:first-child){margin-top:2.5rem}.project-process p{font-size:1.05rem;line-height:1.75;margin:0 0 1.5rem}.project-img-center,.project-img-center-noborder,.project-img-center-landscape,.project-img-center-large{width:80%;max-width:1100px;height:auto;display:block;margin:0 auto 1.5rem}.image-caption{width:80%;max-width:900px;font-size:.875rem;line-height:1.6;margin:1rem auto 3rem}.project-card-subproject{width:100%;max-width:28rem;margin:4rem auto}.case-study .landing-project-section .project-grid{display:block}.case-study .project-description-subproject p{font-size:.8rem}.resume-content{max-width:1050px;margin:8rem auto 0;padding:0 5vw}.resume-content>h1{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.04em;margin-bottom:1rem}.resume-contact{margin-bottom:3rem}.resume-section{display:grid;grid-template-columns:150px 1fr;gap:2rem;padding:2rem 0;border-top:1px solid #333}.resume-section>h2{font-size:1.15rem;margin:0}.resume-section p{font-size:1rem;margin-top:0}.resume-section h3{font-size:1.15rem;margin-top:0}.resume-section li{font-size:1rem;line-height:1.65;color:#b8b8b8;margin:.7rem 0}.resume-project+.resume-project{margin-top:2.5rem}.resume-meta{color:#999!important;font-size:.875rem!important}.resume-section dl{margin:0}.resume-section dt{font-weight:600;margin-bottom:.4rem}.resume-section dd{margin:0 0 1.25rem;color:#b8b8b8;line-height:1.6}
@media(max-width:700px){nav ul{gap:.35rem;padding:0 1rem}nav a{font-size:.875rem;padding:.5rem .65rem}.section-intro{width:auto;margin:4rem 6vw 5rem}.sub-section{margin:0}.project-grid{grid-template-columns:1fr;gap:3rem}.landing-project-section{padding:0 6vw}.project-description{min-height:0}.section-aboutme{flex-direction:column;margin:5rem 0;padding:0 6vw;gap:2rem}.aboutme-image{width:100%}.aboutme-text{max-width:100%;width:100%}.whatido-section,.contact-info{flex-direction:column;margin:4rem 6vw;gap:1.5rem}.whatido-title,.whatido-list,.contact-info-title,.contact-info-text{width:100%}.whatido-list p{margin:0 0 1rem}.project-info{flex-direction:column;margin:3rem 6vw;gap:1.5rem}.project-info-title,.project-text{width:100%;max-width:none}.project-hero{height:60svh;min-height:360px}.project-hero h1{bottom:2rem;left:6vw}.project-process,.wrco-design-decision{width:88%;padding:2.25rem 0}.project-process p,.project-text p{font-size:1rem}.project-process h2{font-size:1.3rem}.project-img-center,.project-img-center-noborder,.project-img-center-landscape,.project-img-center-large{width:88%;max-width:88%}.image-caption{width:88%}.project-tag{font-size:.8rem}.resume-content{margin-top:6rem;padding:0 6vw}.resume-section{grid-template-columns:1fr;gap:1rem}.footer-links{padding:0 6vw 2rem}footer{margin-top:4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
