/* Studio Steinmayer supplied visual assets */
.brand{display:block;width:140px;height:49px;overflow:hidden;filter:invert(1) sepia(.2) saturate(.5)}
.brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.portrait-panel{height:auto;min-height:430px;margin:0;padding:0;position:relative;align-self:stretch;overflow:hidden;background:var(--plum)}
.portrait-panel img{height:100%;object-position:35% center}
.portrait-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,10,10,.55),transparent 38%)}
.portrait-panel figcaption{position:absolute;z-index:1;bottom:18px;left:20px;color:var(--sand);font-size:12px;line-height:1.1}
.hero-image:after{display:none}
.hero,.site-header{color:#000}
.hero-copy .eyebrow{transform:translateX(6px)}
.site-header .brand{position:absolute;left:50%;transform:translateX(-50%)}
.site-header .site-nav{position:absolute;left:calc(50% + 100px);top:28px}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out;object-position:center}
.hero-slide.is-active{opacity:1}
.project-heading .project-intro{max-width:640px;margin:28px 0 0;font-size:clamp(17px,1.7vw,24px);line-height:1.3}
.contact-portrait{grid-column:1;margin:0;width:min(100%,440px);height:min(53vw,660px);align-self:center;overflow:hidden}.contact-portrait img{height:100%;object-position:center top}
.project-credit{max-width:1100px;margin:18px auto 0;font-size:11px;line-height:1.4}
.featured-image.feature-uncropped{height:auto}.featured-image.feature-uncropped img{height:auto;object-fit:contain}.gallery img:only-child{grid-column:1/-1;height:min(48vw,680px)}.gallery img.gallery-uncropped,.gallery img.gallery-uncropped:only-child{height:auto;max-height:none;object-fit:contain}.project-story{max-width:1100px;margin:130px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,80px);align-items:center}.project-story .story-image{width:100%;height:auto;object-fit:contain}.client-quote{margin:0;font-family:Georgia,serif;font-size:clamp(18px,2vw,28px);line-height:1.25;font-style:italic}.client-quote cite{display:block;margin-top:28px;font-family:"Plus Jakarta Sans",Arial,sans-serif;font-size:11px;line-height:1.4;font-style:normal}
.featured-image.feature-uncropped{height:auto}.featured-image.feature-uncropped img{height:auto;object-fit:contain}.gallery img:only-child{grid-column:1/-1;height:min(48vw,680px)}.gallery img.gallery-uncropped,.gallery img.gallery-uncropped:only-child{height:auto;max-height:none;object-fit:contain;width:78%;margin-left:auto}.project-story{max-width:1100px;margin:130px auto 0;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(26px,5vw,80px);align-items:center}.project-story .story-image{width:100%;height:auto;object-fit:contain}.project-story .story-portrait{width:87%;justify-self:start}.project-story .story-meeting{width:78%;justify-self:end}.project-story .story-wide{grid-column:1/-1;width:88%;justify-self:start}.project-story .story-detail:nth-of-type(4){width:72%;justify-self:end}.project-story .story-detail:nth-of-type(5){width:92%;justify-self:start}.client-quote{margin:0;font-family:Georgia,serif;font-size:clamp(18px,2vw,28px);line-height:1.25;font-style:italic}.client-quote cite{display:block;margin-top:28px;font-family:"Plus Jakarta Sans",Arial,sans-serif;font-size:11px;line-height:1.4;font-style:normal}
@media(min-width:721px){.service-card{min-height:560px}.service-card h3{min-height:88px;margin:44px 0 34px;font-size:clamp(27px,3vw,46px);line-height:.95;white-space:normal}.service-card p{max-width:none;flex:1;text-align:justify;hyphens:auto}}
@media(max-width:720px){.portrait-panel{height:360px}.brand{width:112px;height:40px}.site-header .site-nav{left:auto;top:57px}.project-story{margin-top:80px;grid-template-columns:1fr;gap:34px}.project-story .story-portrait{height:125vw}.project-story .story-meeting{height:125vw}.project-story .story-wide{height:70vw}.client-quote{font-size:28px}.contact-portrait{width:100%;height:110vw;margin:0 0 42px}.contact-portrait img{object-position:center top}}

.hero-next{position:absolute;z-index:2;right:28px;top:50%;transform:translateY(-50%);padding:10px;border:0;background:transparent;color:#000;font:400 36px/1 "Plus Jakarta Sans",Arial,sans-serif;cursor:pointer;transition:transform .2s ease}
.hero-next:hover{transform:translateY(-50%) translateX(3px)}
.hero-next:focus-visible{outline:2px solid #000;outline-offset:4px}
@media(max-width:720px){.hero-next{right:8px;font-size:32px}}
.social-links{display:flex;gap:28px;margin-top:32px;font-size:14px}.social-links a{border-bottom:1px solid transparent;padding-bottom:4px}.social-links a:hover{border-bottom-color:currentColor}.social-links span{margin-left:4px}
