.staff-page{padding:45px 0 75px}
.staff-intro{text-align:center;padding-bottom:46px;border-bottom:1px solid var(--line);margin-bottom:46px}
.staff-intro h1{display:flex;align-items:baseline;justify-content:center;gap:18px;font:400 38px/1.65 var(--serif);letter-spacing:.08em}
.staff-intro h1 span{font:400 17px/1.5 Georgia,"Times New Roman",serif;letter-spacing:.13em}
.staff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:36px;list-style:none;margin:0;padding:0}
.staff-member{min-width:0}
.staff-photo{position:relative;overflow:hidden;background:#e2e3dc}
.staff-photo::after{content:"";position:absolute;inset:0;background:#f4efdf;opacity:.045;pointer-events:none}
.staff-portrait{filter:sepia(var(--portrait-warmth,.025)) saturate(var(--portrait-saturation,.9)) brightness(var(--portrait-brightness,1.025)) contrast(.99);width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top;background:#e7e9e6}
.staff-portrait[src$="hiromu.jpg"]{--portrait-warmth:.045}
.staff-portrait[src$="yuki.jpg"]{--portrait-warmth:.015;--portrait-saturation:.86;--portrait-brightness:1.01}
.staff-portrait[src$="ryuga.jpg"]{--portrait-warmth:0;--portrait-saturation:.92;--portrait-brightness:1.055}
.staff-portrait[src$="ryuki.jpg"]{--portrait-warmth:.04;--portrait-saturation:.86;--portrait-brightness:1.015}
.staff-caption{padding-top:16px}
.staff-role{font-size:10px;line-height:1.8;letter-spacing:.03em;color:var(--muted)}
.staff-caption h2{margin-top:7px;font:400 19px/1.65 var(--serif);letter-spacing:.025em}
.staff-socials{display:flex;align-items:center;gap:0;margin-top:2px;margin-left:-12px}
.staff-social{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--muted);transition:color .15s}
.staff-social:hover{color:var(--accent)}
.staff-booking{border-top:1px solid var(--line);padding-top:35px;margin-top:64px}
.staff-booking .booking{margin-inline:auto}
@media(max-width:760px){
  .staff-page{padding:30px 0 55px}
  .staff-intro{padding-bottom:29px;margin-bottom:32px}
  .staff-intro h1{font-size:30px;gap:14px}
  .staff-intro h1 span{font-size:15px}
  .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:28px}
  .staff-caption{padding-top:12px}
  .staff-caption h2{font-size:17px;margin-top:4px}
  .staff-booking{padding-top:28px;margin-top:44px}
  .staff-booking .booking{width:100%}
}
