/* Scoped copy of the approved separate triangle study. */
#main #services.services-triangles{display:block;margin:0;padding:0;background:#1f1e1e;scroll-margin-top:0}
#main #services .service-study{--type-size:clamp(32px,5.1vw,76px);--row-height:calc(var(--type-size)*1.05 + 28px);--photo-height:calc(var(--row-height)*7 + 205px);position:relative;isolation:isolate;max-width:none;margin:0;background:#1f1e1e;overflow:hidden;color:#f4f3f1;padding:45px 0 40px}
#main #services .photograph{position:absolute;inset:0;z-index:-3;overflow:hidden}
#main #services .photograph img{display:block;position:absolute;inset:0 auto auto 0;width:100%;height:var(--photo-height);max-width:none;object-fit:cover;object-position:50% 0;filter:none;transform:none}
#main #services .center-wash{position:absolute;inset:0;z-index:-2;background:#1f1e1e;clip-path:polygon(41% 0,59% 0,100% 100%,0 100%);opacity:1;transition:opacity .55s cubic-bezier(.16,1,.3,1)}
#main #services .service-study:not([data-state=closed]) .center-wash{opacity:.74}
#main #services .center-rule{position:absolute;inset:0 auto 0 50%;width:1px;background:rgba(244,243,241,.14);z-index:-1;pointer-events:none}
#main #services .service-list{position:relative}
#main #services .service-row{border-top:1px solid rgba(244,243,241,.24);position:relative;text-align:center}
#main #services .service-row:last-child{border-bottom:1px solid rgba(244,243,241,.24)}
#main #services .service-row h2{margin:0;min-height:var(--row-height);display:flex;align-items:center;justify-content:center;font:300 var(--type-size)/1.05 'Roslindale Services',serif;text-transform:uppercase;letter-spacing:-.012em;color:#e3e0da}
#main #services .service-row button{min-height:var(--row-height);width:100%;display:block;padding:0 12px;background:none;border:0;border-radius:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}
#main #services .service-row button[aria-expanded=true]{color:#fffdf7}
#main #services .service-row button:focus-visible{outline:2px solid #dfc797;outline-offset:-8px}
#main #services .service-description{width:var(--description-width);max-width:470px;margin:0 auto;padding:0 0 29px}
#main #services .service-description[hidden]{display:none}
#main #services .service-description p{margin:0;max-width:none;color:#f4f3f1;font:400 16px/1.65 'Lora',serif;text-wrap:pretty}
#services .services-photo-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1600px){#main #services .service-study{--type-size:80px}}
@media(max-width:800px){#main #services .service-study{padding-top:30px;padding-bottom:28px;--row-height:calc(var(--type-size)*1.1 + 24px)}#main #services .service-description{padding-bottom:24px}#main #services .service-description p{font-size:14px}}
@media(max-width:440px){#main #services .service-study{--type-size:clamp(28px,8.1vw,35px)}#main #services .service-row h2{letter-spacing:-.018em}#main #services .service-description p{font-size:13px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){#main #services .center-wash{transition:none}}

/* Only lettering responds to desktop hover; row and center rules stay fixed. */
#main #services .service-name{display:inline-block;transform-origin:center;transition:color 200ms ease-out,transform 200ms ease-out}
#main #services .service-row button[aria-expanded=true] .service-name{color:#dfc797}
@media(hover:hover) and (pointer:fine){#main #services .service-row button:hover .service-name{transform:scale(1.03)}#main #services .service-study[data-state=closed] .service-row button:hover .service-name{color:#dfc797}}
@media(prefers-reduced-motion:reduce){#main #services .service-name{transition:none}#main #services .service-row button:hover .service-name{transform:none}}
