/* Editorial hero and refined spacing */
.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);align-items:center;gap:clamp(55px,8vw,135px);padding:clamp(105px,14vh,180px) var(--pad) clamp(120px,16vh,190px)}
.hero-copy{position:relative;z-index:1}.hero-name{margin:36px 0 0;color:#777c83;font:500 12px Manrope;letter-spacing:.12em;text-transform:uppercase}
.hero h1{font-size:clamp(56px,6.5vw,98px);line-height:.86;max-width:850px;margin:40px 0 48px;letter-spacing:-.07em}
.hero h1 i{display:inline-block;margin-top:22px;font:600 .27em Manrope,sans-serif;font-style:normal;color:var(--lime);letter-spacing:.16em;text-transform:uppercase}
.hero .lead{max-width:660px;line-height:1.65}.hero .actions{margin-top:46px}
.hero .social-link{margin-left:0}
.portrait{margin:0;align-self:stretch;min-height:610px;display:flex;flex-direction:column;justify-content:center;position:relative}
.portrait-frame{position:relative;overflow:hidden;aspect-ratio:3/4;max-height:650px;background:#171a1f}
.portrait-frame:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 80px rgba(0,0,0,.18);pointer-events:none}
.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 42%;transform:scale(1.02);filter:saturate(.82) contrast(1.04)}
.portrait figcaption{display:flex;justify-content:space-between;align-items:flex-start;margin-top:18px;color:var(--lime);font:600 10px/1.15 Manrope;letter-spacing:.12em}
.portrait figcaption strong{text-align:right}.section{padding-top:clamp(125px,16vw,220px);padding-bottom:clamp(125px,16vw,220px)}
.section h2{font-family:Manrope,sans-serif;font-weight:600;font-size:clamp(38px,4.7vw,66px);line-height:1.04;letter-spacing:-.05em}
.service-grid,.projects,.process ol{margin-top:clamp(78px,9vw,125px)}
.work .project{margin-bottom:18px}.project-info{padding-top:clamp(50px,6vw,90px);padding-bottom:clamp(50px,6vw,90px)}
@media(max-width:900px){.hero{grid-template-columns:1fr .72fr;gap:38px}.hero h1{font-size:clamp(50px,7.7vw,70px)}.portrait{min-height:480px}}
@media(max-width:700px){.hero{display:block;padding-top:90px}.hero h1{font-size:clamp(48px,13.5vw,68px);margin-bottom:38px}.portrait{min-height:0;margin-top:76px}.portrait-frame{aspect-ratio:4/5;max-height:none}.portrait img{object-position:50% 40%;transform:scale(1.02)}.section{padding-top:110px;padding-bottom:110px}}
