/* Owner-requested changes scoped to current partner page. */
.header nav a,.header nav a:last-child{border:0;padding-bottom:0}
.header nav a:first-child{display:block}
#experience .roster__names--mobile,#experience .roster__more{display:none}
@media(max-width:620px){
#experience .roster__names--desktop{display:none}
#experience .roster__columns>div:first-child>p.roster__names--mobile{display:inline}
#experience .roster__more{display:inline;margin-top:0}
#experience .roster__more[open] summary{margin-bottom:0}
#experience .roster__more[open] p{display:block;margin-top:0}
}

/* Owner-requested portrait background for contact; intro composition reused. */
.contact-background .split__photo{left:35%;mask-image:linear-gradient(90deg,transparent,#000 30%)}
.contact-background .split__photo img{object-fit:contain;object-position:right top;mask-image:linear-gradient(90deg,transparent 15%,#000 38%)}
@media(min-width:621px){.contact-background .split__photo img{object-fit:cover}}
.contact-background .contact__lead,.contact-background .contact__position{color:var(--paper)}
.contact-background h3{font-size:25px;font-weight:550;margin-bottom:6px}
.contact-background .button{background:var(--paper);color:var(--ink)}
.contact-background .contact__links a{border-color:rgba(245,242,237,.25)}
@media(max-width:620px){
.contact-background .split__photo{left:0;mask-image:none}
.contact-background .split__photo img{top:75px;height:calc(100% - 75px);object-position:center top;mask-image:linear-gradient(180deg,transparent,#000 60px,#000 25%,transparent 38%)}
.contact-background .contact__lead{margin-top:245px}
.contact-background h3{font-size:22px}
}
@media(max-width:360px){.contact-background .split__photo img{top:120px;height:calc(100% - 120px)}}

/* New owner photo: top focal point reused from formats/contact. */
@media(min-width:621px){#capabilities.photo-background .split__photo img{object-position:50% top}}

/* Owner requested mobile group framing: reduce ceiling, show full width. */
@media(max-width:620px){#capabilities.photo-background .split__photo img{object-fit:contain;object-position:right top;top:55px;height:auto;mask-image:linear-gradient(180deg,transparent,#000 60px,#000 60%,transparent 100%)}}
@media(max-width:380px){#capabilities.photo-background .split__photo img{top:65px}}
@media(max-width:360px){#capabilities.photo-background .split__photo img{top:75px}}

/* Bring the existing first-screen kicker closer to its title, using the roster kicker spacing. */
#about .kicker{margin-bottom:7px}

/* Owner-directed desktop reframing of the four opening images. */
@media(min-width:621px){
#about.photo-background .split__photo img{transform:translateX(4%) scale(1.08);transform-origin:left center}
#capabilities.photo-background .split__photo img{transform:translateX(4%) scale(1.1);transform-origin:left center}
#formats.photo-background .split__photo img{transform:translateX(4%) scale(1.15);transform-origin:left center}
#contact.contact-background .split__photo img{transform:translateX(7%);object-position:30% top;mask-image:linear-gradient(90deg,transparent 7%,#000 30%)}
#experience .roster__banner img{object-position:center 40%}
}

/* Owner-requested full-screen case photograph viewer. */
.photo-viewer{width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:16px;border:0;background:var(--ink);color:var(--paper);overflow:hidden}
.photo-viewer[open]{display:flex;align-items:center;justify-content:center}
.photo-viewer::backdrop{background:rgba(7,24,39,.96)}
.photo-viewer__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.photo-viewer__close{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:1;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(245,242,237,.35);border-radius:50%;background:rgba(7,24,39,.78);color:var(--paper);line-height:0;cursor:pointer}
.photo-viewer__close:hover{background:var(--ink)}
