.author-profile{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:8vw;align-items:start}.portrait-wrap{position:relative;padding:0 0 2rem 2rem}.portrait-wrap:before{content:"";position:absolute;left:0;bottom:0;width:70%;height:70%;background:var(--paper);z-index:0}.portrait{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:saturate(.88) contrast(.98)}.author-profile h2,.methods h2,.approach-intro h2{font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:1;margin:.2em 0}.approach-section{padding:7vw 8vw;background:var(--navy);color:var(--paper)}.approach-intro{display:grid;grid-template-columns:1fr 1fr;gap:2rem 8vw;margin-bottom:4rem}.approach-intro .overline{grid-column:1/-1}.approach-intro h2,.approach-intro p{margin-top:0}.approach-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18)}.approach-steps article{padding:2rem;background:var(--navy)}.approach-steps span{color:#e0bb6c;font-size:.75rem}.approach-steps h3{font-size:1.45rem;line-height:1.1;margin:.6rem 0}.approach-steps p{font-size:.85rem}.methods{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:2rem}.contact-note{font-size:.75rem;color:#586475}@media(max-width:900px){.author-profile,.approach-intro,.methods{grid-template-columns:1fr}.approach-steps{grid-template-columns:1fr 1fr}}@media(max-width:600px){.approach-section{padding:4rem 6vw}.approach-steps{grid-template-columns:1fr}.portrait-wrap{padding:0 0 1rem 1rem}}
.page-hero.projects{background:#ece8de}.project-hub{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.project-panel{min-height:480px;padding:2.2rem;text-decoration:none;display:flex;flex-direction:column}.project-panel img{width:130px;height:130px;object-fit:cover;margin-bottom:auto}.project-panel h2{font-size:3.2rem;line-height:1;margin:.25rem 0}.project-panel span{font-size:.8rem;text-decoration:underline;text-underline-offset:5px}.rotte-panel{background:var(--navy);color:var(--paper)}.threads-panel{background:#e6e5dc}.threads-panel .overline{color:#856528}@media(max-width:700px){.project-hub{grid-template-columns:1fr}.project-panel{min-height:400px}}
.page-hero.rotte-hero{background:#dfe5e6}.coming-soon span{text-decoration:none;font-weight:650}.coming-soon{cursor:default}
