/* Service information and client challenges; scoped to the homepage. */
.os-quote, .os-quote blockquote, .os-quote figcaption, .os-quote figcaption > div { text-align:left; }
.os-quote figcaption { display:grid; grid-template-columns:48px minmax(0,1fr); column-gap:16px; justify-content:start; width:100%; }
.os-quote figcaption img { display:block; width:48px; height:48px; min-width:48px; margin:0; }
.os-quote figcaption > div { margin:0; padding:0; font:400 14px/1.5 'Google Sans',sans-serif; }
.os-quote figcaption strong { margin:0 0 2px; }
.os-challenges { position:relative; isolation:isolate; background:#fff; }
.os-challenges::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(#18181812 1px,transparent 1px),linear-gradient(90deg,#18181812 1px,transparent 1px); background-size:72px 72px; opacity:.55; mask-image:radial-gradient(ellipse at 75% 42%,#000 0%,transparent 72%); -webkit-mask-image:radial-gradient(ellipse at 75% 42%,#000 0%,transparent 72%); }
.os-challenges .os-section-head { grid-template-columns:1.3fr 1fr; }
.os-challenges .os-section-head > p { max-width:420px; }
.os-pain-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.os-pain { border-top:1px solid #d9c8bd; padding-top:22px; }
.os-pain-number { font:500 14px/1.4 'Google Sans',sans-serif; color:var(--studio-orange); }
.os-pain h3 { font-size:25px; margin:17px 0; line-height:1.2; }
.os-pain p { font-size:16px; line-height:1.65; }
.os-pain .os-pain-direction { margin-top:18px; color:var(--studio-ink); font:500 16px/1.5 'Google Sans',sans-serif; }
.os-pain-footer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:35px; margin-top:40px; border-top:1px solid #d9c8bd; }
.os-pain-footer p { max-width:620px; }
.os-pain-footer .os-text-link { flex-shrink:0; margin:0; }
.os-services-intro { max-width:810px; margin:-20px 0 45px !important; font-size:18px; }
.os-service-copy p + p { margin-top:17px; }
.os-service > div:first-child h3 { scroll-margin-top:110px; }
.os-service-details { grid-column:1/-1; min-width:0; margin-top:-14px; }
.os-service-details > summary { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:52px; padding:13px 22px; border:1px solid #b9b4ae; border-radius:100px; color:#181818; background:#fff; font:500 16px/1.5 'Google Sans',sans-serif; cursor:pointer; list-style:none; }
.os-service-details > summary::-webkit-details-marker { display:none; }
.os-service-details > summary:hover { border-color:var(--studio-orange); background:#fff6f0; }
.os-service-details > summary::after { content:'+'; color:var(--studio-orange); font-size:24px; line-height:1; }
.os-service-details[open] > summary::after { content:'−'; }
.os-service-details[open] > summary { border-color:var(--studio-orange); }
.os-service-details .os-label-close { display:none; }
.os-service-details[open] .os-label-close { display:inline; }
.os-service-details[open] .os-label-open { display:none; }
.os-service-expanded { margin-top:28px; padding:40px; background:var(--studio-soft); border:1px solid var(--studio-line); border-radius:16px; }
.os-service-expanded h4 { font-size:clamp(24px,2.4vw,34px); font-weight:500; line-height:1.15; letter-spacing:-.025em; margin:0 0 18px; }
.os-service-expanded p { font-size:17px; line-height:1.7; }
.os-service-expanded h5 { font:500 20px/1.3 'Google Sans',sans-serif; letter-spacing:-.02em; color:var(--studio-ink); margin:12px 0; }
.os-detail-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:35px; align-items:start; }
.os-detail-intro .os-kicker { margin-bottom:18px; }
.os-detail-gallery { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.os-detail-gallery figure { margin:0; min-width:0; }
.os-detail-gallery img { display:block; width:100%; aspect-ratio:1.3; object-fit:cover; border-radius:10px; }
.os-detail-gallery figcaption { margin-top:10px; text-align:left; font:400 13px/1.5 'Google Sans',sans-serif; color:var(--studio-muted); }
.os-detail-gallery a { text-decoration:underline; text-underline-offset:3px; }
.os-detail-process { margin-top:40px; }
.os-detail-steps { list-style:none; padding:0; margin:25px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; counter-reset:service-step; }
.os-detail-steps li { counter-increment:service-step; border-top:1px solid #d4cec7; padding-top:18px; }
.os-detail-steps li::before { content:'0' counter(service-step); color:var(--studio-orange); font:500 14px/1.4 'Google Sans',sans-serif; }
.os-detail-steps p { font-size:16px; }
.os-detail-assurance { margin-top:38px; padding-top:30px; border-top:1px solid #d4cec7; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.os-detail-assurance h4 { font-size:24px; }
.os-detail-assurance ul { padding-left:20px; margin:0; color:var(--studio-muted); font-size:16px; line-height:1.65; }
.os-detail-assurance li + li { margin-top:10px; }
.os-detail-assurance li::marker { color:var(--studio-orange); }
.os-detail-next { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:32px; padding-top:28px; border-top:1px solid #d4cec7; }
.os-detail-next p { max-width:600px; font-size:16px; }
.os-detail-next .os-button { flex-shrink:0; font-size:16px; min-height:54px; }
@media(max-width:1100px) { .os-detail-steps { grid-template-columns:1fr 1fr; } .os-detail-intro { grid-template-columns:1fr; } .os-detail-gallery { max-width:720px; } }
@media(max-width:850px) { .os-pain-grid { grid-template-columns:1fr 1fr; } .os-challenges .os-section-head { grid-template-columns:1fr; } .os-challenges .os-section-head > p { justify-self:start; max-width:650px; } .os-pain-footer,.os-detail-next { align-items:flex-start; flex-direction:column; } }
@media(max-width:700px) {
  .os-pain-grid { grid-template-columns:1fr; gap:28px; }
  .os-pain h3 { font-size:24px; }
  .os-services-intro { margin:0 0 30px !important; font-size:17px; }
  .os-service-details { margin-top:0; }
  .os-service-details > summary { min-height:54px; }
  .os-service-expanded { padding:23px 19px; margin-top:22px; border-radius:12px; }
  .os-detail-steps,.os-detail-assurance { grid-template-columns:1fr; gap:24px; }
  .os-detail-assurance { margin-top:28px; }
  .os-detail-gallery { gap:14px; }
  .os-detail-gallery img { aspect-ratio:1; }
  .os-service-expanded p { font-size:16px; }
  .os-detail-next .os-button { width:100%; gap:15px; padding:15px 19px; }
}
@media(max-width:380px) { .os-detail-gallery { grid-template-columns:1fr; } }

.os-service { grid-template-columns:.85fr 1.4fr 200px; gap:32px; }
.os-service-actions { grid-column:1/-1; display:flow-root; }
.os-service-actions > .os-text-link { float:left; min-height:52px; margin:0 24px 0 0; }
.os-service-actions .os-service-details { margin:0; }
.os-service-expanded { clear:both; }
.os-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1100px) { .os-service { grid-template-columns:.8fr 1.2fr; } }
@media(max-width:700px) { .os-service { grid-template-columns:1fr; gap:22px; } .os-service-actions > .os-text-link { float:none; margin:0 0 16px; } }
