/* Service detail pages: the Taylor editorial type and photographic rhythm. */
.service-editorial { --sv-rule:#c8cbca; --sv-muted:#626767; --sv-soft:#f1f2f0; --sv-ink:#171b1c; --sv-column-gap:clamp(32px,5vw,80px); }
.sv-main { width:min(100%,1600px); margin:var(--header-height,80px) auto 0; color:var(--sv-ink); background:#fff; }
.sv-main [hidden] { display:none!important; }
.sv-main :where(h1,h2,h3,p,figure,ol,ul) { margin:0; }
.sv-main :where(h1,h2,h3) { font-weight:400; text-wrap:balance; }
.sv-main h2 { font-size:clamp(33px,3.4vw,54px); line-height:1.09; letter-spacing:-.054em; }
.sv-main h3 { font-size:clamp(23px,2.1vw,30px); line-height:1.16; letter-spacing:-.04em; }
.sv-main p { font-size:15px; line-height:1.7; }
.sv-main [id] { scroll-margin-top:calc(var(--header-height,80px) + 26px); }
.sv-shell { padding-inline:var(--inset); }
.sv-section { padding-block:clamp(56px,6.3vw,96px); }
.sv-main .sv-kicker { font-size:10px; line-height:1.5; text-transform:uppercase; letter-spacing:.075em; color:var(--sv-muted); }
.sv-arrow { width:14px; height:14px; min-width:14px; flex:0 0 14px; }
.sv-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; max-width:100%; min-height:44px; font-size:12px; line-height:1.5; text-decoration:underline; text-underline-offset:6px; text-decoration-color:#a4a9a8; }
.sv-text-link:hover { text-decoration-color:currentColor; }
.sv-button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; max-width:100%; min-height:52px; padding:16px 23px; background:var(--sv-ink); color:#fff; font-size:12px; line-height:1.5; }
.sv-button:hover { background:#3e4647; }
.sv-breadcrumb { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; padding-block:25px 34px; font-size:10px; line-height:1.5; color:var(--sv-muted); }
.sv-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.sv-hero { background:#fff; padding-bottom:54px; }
.sv-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:7%; align-items:center; }
.sv-hero-copy { padding-block:20px; }
.sv-hero-copy .sv-kicker { margin-bottom:28px; }
.sv-hero h1 { max-width:16ch; font-size:clamp(42px,4.15vw,68px); line-height:1.035; letter-spacing:-.062em; }
.sv-hero-lead { max-width:48ch; margin-top:28px!important; color:var(--sv-muted); }
.sv-hero-copy .sv-button { margin-top:30px; }
.sv-hero-media { min-width:0; align-self:stretch; display:flex; flex-direction:column; }
.sv-hero-media img { width:100%; height:100%; min-height:480px; max-height:650px; aspect-ratio:5/6; object-fit:cover; object-position:center; }
.sv-hero-media figcaption { color:var(--sv-muted); font-size:9px; line-height:1.5; padding-top:12px; }
.sv-local-nav { display:flex; flex-wrap:wrap; align-items:center; gap:0 32px; padding-block:10px; border-block:1px solid var(--sv-rule); }
.sv-local-nav a { text-decoration:none; font-size:11px; }
.sv-local-nav a:hover { text-decoration:underline; }
.sv-local-nav svg { display:none; }
.sv-heading { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:var(--sv-column-gap); align-items:end; margin-bottom:46px; }
.sv-heading .sv-kicker, .sv-process .sv-kicker, .sv-contact .sv-kicker { margin-bottom:23px; }
.sv-heading > p { max-width:44ch; color:var(--sv-muted); }
.sv-situations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.sv-situations article { border-top:1px solid var(--sv-rule); padding-top:22px; }
.sv-index { display:block; font-size:11px; line-height:1.5; color:var(--sv-muted); }
.sv-situations h3 { margin-top:23px; }
.sv-situations p { font-size:14px; color:var(--sv-muted); margin-top:16px; }
.sv-work { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--sv-soft); }
.sv-work-media { min-width:0; }
.sv-work-media img { width:100%; height:100%; object-fit:cover; }
.sv-work-copy { padding:clamp(42px,4.5vw,72px) var(--inset); }
.sv-work-copy > .sv-kicker { margin-bottom:24px; }
.sv-work-copy h2 { font-size:clamp(32px,2.8vw,45px); }
.sv-work-copy > p:not(.sv-kicker) { color:var(--sv-muted); font-size:14px; margin-top:22px; }
.sv-responsibility { margin-top:35px; padding-top:25px; border-top:1px solid var(--sv-rule); }
.sv-responsibility h3 { font-size:24px; margin-top:15px; }
.sv-responsibility > p:not(.sv-kicker) { font-size:13px; color:var(--sv-muted); margin-top:16px; }
.sv-responsibility .sv-text-link { margin-top:14px; }
.sv-deliverables { background:#f7f7f5; }
.sv-document-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--sv-column-gap); align-items:start; }
.sv-document-tabs { display:flex; flex-direction:column; border-top:1px solid var(--sv-rule); }
.sv-document-tabs button { display:grid; grid-template-columns:22px minmax(0,1fr) 14px; gap:18px; align-items:start; border:0; border-bottom:1px solid var(--sv-rule); margin:0; padding:24px 18px; color:var(--sv-ink); background:transparent; text-align:left; font:400 22px/1.25 Inter,Arial,sans-serif; letter-spacing:-.03em; cursor:pointer; }
.sv-document-tabs button[aria-selected="true"] { background:var(--sv-ink); color:#fff; }
.sv-document-tabs button[aria-selected="true"] .sv-index { color:#d5dcdb; }
.sv-document-tabs button .sv-index, .sv-document-tabs button .sv-arrow { margin-top:4px; }
.sv-document-tabs small { display:block; margin-top:9px; font-size:12px; line-height:1.6; letter-spacing:0; }
.sv-document-tabs button:focus-visible { outline:2px solid #657777; outline-offset:4px; }
.sv-document-note { margin-top:24px!important; max-width:43ch; color:var(--sv-muted); font-size:12px!important; }
.sv-document { padding:38px; background:#fff; border:1px solid #cfd2d0; }
.sv-document + .sv-document { margin-top:25px; }
.sv-document-stage > .sv-document[role="tabpanel"] { margin-top:0; }
.sv-document header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; margin-bottom:36px; }
.sv-document header img { width:132px; height:auto; filter:brightness(0); }
.sv-document header > span { font-size:9px; line-height:1.5; letter-spacing:.06em; }
.sv-document h3 { font-size:clamp(26px,2.7vw,38px); margin-top:20px; }
.sv-document > p:not(.sv-kicker) { font-size:14px; color:var(--sv-muted); margin-top:17px; }
.sv-document ol { list-style:none; padding:0; margin-block:26px; }
.sv-document li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:16px; padding-block:17px; border-top:1px solid #d6d9d7; font-size:14px; line-height:1.6; }
.sv-document footer { font-size:11px; line-height:1.65; color:var(--sv-muted); border-top:1px solid #d6d9d7; padding-top:18px; }
.sv-document[role="tabpanel"]:focus-visible { outline:2px solid #657777; outline-offset:5px; }
.sv-process { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:var(--sv-column-gap); }
.sv-process h2 { max-width:17ch; }
.sv-steps { list-style:none; padding:0; }
.sv-steps li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:24px; padding-block:24px; border-top:1px solid var(--sv-rule); }
.sv-steps li:last-child { border-bottom:1px solid var(--sv-rule); }
.sv-steps .sv-index { padding-top:4px; }
.sv-steps h3 { font-size:23px; }
.sv-steps p { font-size:14px; line-height:1.65; color:var(--sv-muted); margin-top:12px; }
.sv-connections { padding-top:0; }
.sv-related { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px var(--sv-column-gap); }
.sv-related article { display:flex; flex-direction:column; min-width:0; padding-top:24px; border-top:1px solid var(--sv-rule); }
.sv-related p { font-size:14px; line-height:1.65; color:var(--sv-muted); margin-block:18px 12px; }
.sv-related h3 { max-width:23ch; }
.sv-related .sv-text-link, .sv-mandates .sv-text-link { align-self:flex-start; margin-top:auto; }
.sv-bridge { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px 40px; margin-top:44px; padding-block:25px; border-block:1px solid var(--sv-rule); }
.sv-bridge p { font-size:14px; max-width:52ch; }
.sv-contact { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:var(--sv-column-gap); align-items:end; padding-block:76px; background:var(--sv-ink); color:#fff; }
.sv-contact .sv-kicker { color:#c6cdcb; }
.sv-contact > div > p:not(.sv-kicker) { color:#c6cdcb; margin-bottom:24px; max-width:38ch; }
.sv-button--light { background:#fff; color:var(--sv-ink); }
.sv-button--light:hover { background:#dfe4e2; }
.sv-service-group + .sv-service-group { padding-top:0; }
.sv-group-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:var(--sv-column-gap); align-items:center; margin-bottom:44px; }
.sv-group-overview .sv-kicker { margin-bottom:24px; }
.sv-group-overview p:not(.sv-kicker) { margin-top:23px; max-width:43ch; color:var(--sv-muted); }
.sv-group-overview img { width:100%; height:auto; aspect-ratio:1.8; object-fit:cover; }
.sv-service-list article { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:var(--sv-column-gap); padding-block:27px; border-top:1px solid var(--sv-rule); }
.sv-service-list h3 { max-width:22ch; }
.sv-service-list p { color:var(--sv-muted); font-size:14px; margin-bottom:15px; }
.sv-service-inputs { font-size:12px!important; }
.sv-scope { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sv-column-gap); background:var(--sv-soft); }
.sv-scope .sv-kicker { margin-bottom:24px; }
.sv-scope p:not(.sv-kicker) { color:var(--sv-muted); margin-block:23px 16px; }
.sv-mandates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
.sv-mandates article { display:flex; flex-direction:column; min-width:0; }
.sv-mandates figure { margin-bottom:27px; }
.sv-mandates img { width:100%; height:auto; aspect-ratio:1.3; object-fit:cover; }
.sv-mandates .sv-kicker { margin-bottom:18px; }
.sv-mandates p:not(.sv-kicker) { color:var(--sv-muted); margin-block:18px 12px; }
.sv-faq details { border-top:1px solid var(--sv-rule); padding-block:23px; }
.sv-faq details:last-child { border-bottom:1px solid var(--sv-rule); }
.sv-faq summary { display:flex; gap:24px; align-items:baseline; justify-content:space-between; list-style:none; font-size:22px; line-height:1.35; cursor:pointer; }
.sv-faq summary::-webkit-details-marker { display:none; }
.sv-faq p { color:var(--sv-muted); margin-top:20px; }
@media (max-width:1099px) {
  .sv-hero-grid { gap:5%; }
  .sv-hero h1 { font-size:clamp(40px,4.5vw,52px); }
  .sv-work-copy { padding:42px 32px; }
  .sv-work-copy h2 { font-size:34px; }
  .sv-document-layout { gap:34px; }
  .sv-document-tabs button { font-size:20px; gap:13px; padding:22px 14px; }
  .sv-document { padding:28px; }
}
@media (max-width:900px) {
  .sv-hero-grid, .sv-work, .sv-document-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .sv-hero-copy { padding-block:8px 0; }
  .sv-hero h1 { font-size:clamp(42px,6vw,62px); max-width:20ch; }
  .sv-hero-lead { max-width:62ch; }
  .sv-hero-media img { height:auto; min-height:0; max-height:500px; aspect-ratio:1.55; }
  .sv-work { gap:0; }
  .sv-work-media img { height:auto; aspect-ratio:1.7; object-fit:cover; }
  .sv-work-copy { padding:42px var(--inset); }
  .sv-document-layout { gap:28px; }
  .sv-document-note { max-width:62ch; }
  .sv-situations { gap:22px; }
  .sv-situations h3 { font-size:23px; }
}
@media (max-width:760px) {
  .sv-hero { padding-bottom:34px; }
  .sv-breadcrumb { padding-block:22px 30px; font-size:9px; }
  .sv-hero-copy .sv-kicker { margin-bottom:20px; }
  .sv-hero h1 { font-size:clamp(39px,8.6vw,58px); letter-spacing:-.055em; }
  .sv-hero-lead { margin-top:24px!important; font-size:14px!important; }
  .sv-hero-copy .sv-button { margin-top:25px; }
  .sv-hero-media img { aspect-ratio:1.2; }
  .sv-local-nav { gap:0 23px; }
  .sv-local-nav a { font-size:10px; }
  .sv-heading { grid-template-columns:minmax(0,1fr); gap:24px; margin-bottom:32px; }
  .sv-situations, .sv-process, .sv-related, .sv-contact, .sv-group-overview, .sv-service-list article, .sv-scope, .sv-mandates { grid-template-columns:minmax(0,1fr); }
  .sv-situations { gap:28px; }
  .sv-situations h3 { margin-top:18px; font-size:26px; }
  .sv-work-media img { aspect-ratio:1.3; }
  .sv-process { gap:32px; }
  .sv-process h2 { max-width:22ch; }
  .sv-contact { gap:29px; padding-block:56px; }
  .sv-document-tabs button { font-size:21px; padding:22px 17px; }
  .sv-document header { margin-bottom:30px; }
  .sv-document h3 { font-size:30px; }
  .sv-steps li { gap:19px; }
  .sv-group-overview { gap:28px; margin-bottom:30px; }
  .sv-service-list article { gap:20px; }
  .sv-scope { gap:35px; }
  .sv-mandates { gap:42px; }
  .sv-mandates figure { margin-bottom:23px; }
}
@media (max-width:359px) {
  .sv-hero h1 { font-size:36px; }
  .sv-document { padding:24px 20px; }
  .sv-document h3 { font-size:27px; }
  .sv-document-tabs button { font-size:19px; padding-inline:12px; gap:10px; }
  .sv-button { padding-inline:20px; gap:23px; }
  .sv-related h3, .sv-service-list h3 { font-size:25px; }
}
