/* Local preview only. Existing typography, opening, photographs and page structure are retained. */
body{
 background-color:var(--paper);
 background-image:linear-gradient(90deg,rgba(246,239,227,.35),rgba(255,253,248,0) 19%,rgba(255,253,248,0) 81%,rgba(246,239,227,.35));
}
.people-feature{
 background:linear-gradient(180deg,#fffdf8 0%,#f9f5ed 50%,#fffdf8 100%);
}
/* The full staff stays inside the existing home staff section. */
.people-feature-inner{display:block}
.people-feature-inner>div:first-child{max-width:680px;margin-bottom:42px}
.people-feature-photos{display:block}
.home-staff-group{margin-top:38px;padding-top:28px;border-top:1px solid #193e4920}
.home-staff-group:first-child{margin-top:0}
.home-staff-group-title{margin:0 0 28px}
.home-staff-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 24px;align-items:start}
.home-staff-grid .home-person{display:block;border:0;background:transparent;box-shadow:none;text-align:center;min-width:0;overflow:visible}
.home-staff-grid .home-person-image,
.home-staff-grid .home-person:nth-child(even) .home-person-image{
 width:170px;height:170px;max-width:100%;aspect-ratio:1;overflow:hidden;border-radius:50%;margin:0 auto;padding:0;background:#fff;
 box-shadow:0 0 0 5px #fffdf8,0 0 0 6px #193e4917;
}
.home-staff-grid .home-person-image img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;border-radius:50%}
.home-staff-grid .home-person-copy{background:transparent;padding:20px 0 0;border:0}
.home-staff-grid .home-person-copy h3{margin-top:0}
.home-staff-grid .home-person:hover .home-person-image{box-shadow:0 0 0 5px #fffdf8,0 0 0 6px #193e4970}
.home-staff-grid .home-person:focus-visible{outline:2px solid var(--ink);outline-offset:8px}
/* The team page retains every existing name, role, service and profile link. */
.team-section .portrait-link{display:block;width:190px;max-width:100%;margin-inline:auto}
.team-section .portrait{width:190px;height:190px;max-width:100%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 0 5px #fffdf8,0 0 0 6px #193e4917}
.team-section .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;border-radius:50%}
.team-section .portrait-link:hover .portrait{box-shadow:0 0 0 5px #fffdf8,0 0 0 6px #193e4970}
@media(max-width:1100px){
 .home-staff-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 23px}
 .home-staff-grid .home-person-image{width:160px;height:160px}
}
@media(max-width:800px){
 .home-staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
 .home-staff-grid .home-person-image{width:155px;height:155px}
 .people-feature-inner>div:first-child{margin-bottom:30px}
}
@media(max-width:550px){
 .home-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
 .home-staff-grid .home-person-image{width:136px;height:136px}
 .home-staff-group{margin-top:28px;padding-top:23px}
 .home-staff-grid .home-person-copy{padding-top:17px}
 .team-section .portrait-link{width:145px}
 .team-section .portrait{width:145px;height:145px}
}
@media(max-width:370px){
 .home-staff-grid{gap:26px 18px}
 .home-staff-grid .home-person-image{width:118px;height:118px}
 .team-section .portrait-link{width:118px}
 .team-section .portrait{width:118px;height:118px}
}

/* Compact, single clickable staff composition on the homepage. */
.people-feature-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}
.people-feature-inner>div:first-child{margin-bottom:0}
.staff-mosaic{display:block;padding:24px;border:1px solid #193e4920;border-radius:8px;background:#fffdf8;text-decoration:none;color:var(--ink)}
.staff-mosaic-faces{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.staff-mosaic-faces>span{display:block;aspect-ratio:1;overflow:hidden;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #f4efe5}
.staff-mosaic-faces img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;border-radius:50%}
.staff-mosaic-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:18px;border-top:1px solid #193e4920;font-size:16px}
.staff-mosaic:hover{border-color:#193e4970}
.staff-mosaic:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
@media(max-width:800px){.people-feature-inner{grid-template-columns:1fr;gap:30px}.staff-mosaic{max-width:500px;width:100%}}
@media(max-width:550px){.staff-mosaic{padding:18px}.staff-mosaic-faces{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.staff-mosaic-caption{font-size:15px}}

/* A community of portraits around the original vector logo. */
.staff-mosaic{padding:22px 24px 18px;background:transparent;border-color:transparent}
.staff-mosaic-faces{position:relative;display:block;width:100%;max-width:440px;aspect-ratio:1;margin-inline:auto;background:radial-gradient(circle,rgba(255,253,248,.9),rgba(249,245,237,.25) 62%,transparent 72%)}
.staff-mosaic-faces>span:not(.staff-circle-logo){position:absolute;width:12%;height:12%;left:var(--face-x);top:var(--face-y);transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fffdf8,0 0 0 4px #193e4914}
.staff-mosaic-faces>.staff-circle-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30%;height:auto;aspect-ratio:auto;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
.staff-mosaic-faces>.staff-circle-logo img{width:100%;height:auto;border-radius:0;object-fit:contain}
.staff-mosaic-caption{margin-top:10px}
.staff-mosaic:hover .staff-mosaic-caption{color:#984e3c}
@media(max-width:550px){.staff-mosaic{padding:12px 4px}.staff-mosaic-faces{display:block}.staff-mosaic-faces>span:not(.staff-circle-logo){box-shadow:0 0 0 2px #fffdf8,0 0 0 3px #193e4914}}
.staff-mosaic-faces>span:nth-child(2){--face-x:50.000%;--face-y:7.000%;}
.staff-mosaic-faces>span:nth-child(3){--face-x:67.490%;--face-y:10.718%;}
.staff-mosaic-faces>span:nth-child(4){--face-x:81.955%;--face-y:21.227%;}
.staff-mosaic-faces>span:nth-child(5){--face-x:90.895%;--face-y:36.712%;}
.staff-mosaic-faces>span:nth-child(6){--face-x:92.764%;--face-y:54.495%;}
.staff-mosaic-faces>span:nth-child(7){--face-x:87.239%;--face-y:71.500%;}
.staff-mosaic-faces>span:nth-child(8){--face-x:75.275%;--face-y:84.788%;}
.staff-mosaic-faces>span:nth-child(9){--face-x:58.940%;--face-y:92.060%;}
.staff-mosaic-faces>span:nth-child(10){--face-x:41.060%;--face-y:92.060%;}
.staff-mosaic-faces>span:nth-child(11){--face-x:24.725%;--face-y:84.788%;}
.staff-mosaic-faces>span:nth-child(12){--face-x:12.761%;--face-y:71.500%;}
.staff-mosaic-faces>span:nth-child(13){--face-x:7.236%;--face-y:54.495%;}
.staff-mosaic-faces>span:nth-child(14){--face-x:9.105%;--face-y:36.712%;}
.staff-mosaic-faces>span:nth-child(15){--face-x:18.045%;--face-y:21.227%;}
.staff-mosaic-faces>span:nth-child(16){--face-x:32.510%;--face-y:10.718%;}
.staff-mosaic-faces>span:nth-child(17){--face-x:50.000%;--face-y:25.000%;}
.staff-mosaic-faces>span:nth-child(18){--face-x:67.678%;--face-y:32.322%;}
.staff-mosaic-faces>span:nth-child(19){--face-x:75.000%;--face-y:50.000%;}
.staff-mosaic-faces>span:nth-child(20){--face-x:67.678%;--face-y:67.678%;}
.staff-mosaic-faces>span:nth-child(21){--face-x:50.000%;--face-y:75.000%;}
.staff-mosaic-faces>span:nth-child(22){--face-x:32.322%;--face-y:67.678%;}
.staff-mosaic-faces>span:nth-child(23){--face-x:25.000%;--face-y:50.000%;}
.staff-mosaic-faces>span:nth-child(24){--face-x:32.322%;--face-y:32.322%;}

/* Compact community section with more legible faces. */
.officine-home .people-feature{padding-block:30px}
.officine-home .people-feature-inner{gap:40px}
.officine-home .staff-mosaic{width:100%;max-width:376px;padding:8px;margin-inline:auto}
.officine-home .staff-mosaic-faces{max-width:360px}
.officine-home .staff-mosaic-faces>span:not(.staff-circle-logo){width:16%;height:16%}
.officine-home .staff-mosaic-caption{margin-top:8px;padding-top:12px}
@media(max-width:800px){.officine-home .people-feature-inner{gap:16px}.officine-home .people-feature{padding-block:28px}}
