/* Structured service content. Loaded only on the 26 service detail pages. */
.service-preview-page .service-page-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}
.service-preview-page .service-page-hero-note{margin:16px 0 0!important;color:#657997;font-size:14px!important;line-height:1.5!important}
.service-preview-page .service-page-results{padding:48px 0 5px}
.service-preview-page .service-page-results-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}
.service-preview-page .service-page-results h2{margin:0;color:#102b52;font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.04em}
.service-preview-page .service-page-results-head p{max-width:490px;margin:0;color:#60738d;line-height:1.5}
.service-preview-page .service-page-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.service-preview-page .service-page-result{min-width:0;min-height:148px;padding:23px;border:1px solid #dce7f6;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(13,73,145,.045)}
.service-preview-page .service-page-result strong{display:block;color:#1664dd;font-size:clamp(27px,3vw,39px);line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}
.service-preview-page .service-page-result span{display:block;margin-top:11px;color:#5b6f89;font-size:14px;line-height:1.45}
.service-preview-page .service-preview-layout{
  align-items:start;
  gap:30px;
  padding-top:42px;
}
.service-preview-page .service-page-content{
  max-width:none;
  display:grid;
  gap:24px;
  font-size:16px;
  line-height:1.6;
}
.service-preview-page .service-page-section{
  min-width:0;
  padding:32px;
  border:1px solid #dce7f6;
  border-radius:28px;
  background:#fff;
  box-shadow:0 14px 42px rgba(13,73,145,.045);
  scroll-margin-top:110px;
}
.service-preview-page .service-page-section:nth-child(even){
  background:#f4f8ff;
}
.service-preview-page .service-page-section-head{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
.service-preview-page .service-page-section h2{
  min-width:0;
  margin:0;
  font-size:clamp(26px,2.5vw,35px);
  line-height:1.12;
  letter-spacing:-.035em;
  color:#102b52;
}
.service-preview-page .service-page-intro{
  max-width:72ch;
  margin-bottom:22px;
  color:#52657f;
}
.service-preview-page .service-page-intro p:last-child,
.service-preview-page .service-page-card p:last-child,
.service-preview-page .service-page-faq-answer p:last-child{
  margin-bottom:0;
}
.service-preview-page .service-page-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.service-preview-page .service-page-group-heading{grid-column:1/-1;margin:11px 0 0}
.service-preview-page .service-page-group-heading h3{
  margin:0;
  color:#1c4e92;
  font-size:19px;
  line-height:1.3;
}
.service-preview-page .service-page-card{
  min-width:0;
  padding:23px;
  border:1px solid #dce7f6;
  border-radius:21px;
  background:#fff;
  box-shadow:0 8px 25px rgba(13,73,145,.035);
}
.service-preview-page .service-page-card h3{
  margin:0 0 11px;
  color:#142e56;
  font-size:20px;
  line-height:1.24;
  letter-spacing:-.015em;
}
.service-preview-page .service-page-card p,
.service-preview-page .service-page-card li{
  color:#52657f;
  font-size:15px;
  line-height:1.58;
}
.service-preview-page .service-page-card ul,
.service-preview-page .service-page-card ol{
  padding-left:20px;
  margin:9px 0 0;
}
.service-preview-page .service-page-card li{margin-bottom:7px}
.service-preview-page .service-page-step{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:38px;
  height:38px;
  margin-bottom:16px;
  border-radius:12px;
  background:#1766e4;
  color:#fff;
  font-size:13px;
  font-weight:850;
}
.service-preview-page .service-page-tabs{display:grid;grid-template-columns:minmax(175px,.36fr) minmax(0,.64fr);gap:14px}
.service-preview-page .service-page-tab-list{align-content:start;align-self:start}
.service-preview-page .service-page-tab-button{width:100%;font-size:14px;line-height:1.35;text-align:left}
.service-preview-page .service-page-tab-panel{min-height:240px}
.service-preview-page .service-page-tab-panel[hidden]{display:none}
.service-preview-page .service-page-tab-panel h3{display:none}
.service-preview-page .service-page-cases h2,
.service-preview-page .service-page-team h2{margin:0 0 14px}
.service-preview-page .service-page-cases-intro{max-width:72ch;margin:0 0 20px;color:#61748c}
.service-preview-page .service-page-case{margin-top:10px;border:1px solid #dce7f6;border-radius:18px;background:#fff;overflow:hidden}
.service-preview-page .service-page-case summary{display:flex;align-items:center;gap:13px;padding:17px 20px;cursor:pointer;color:#17355e;font-size:18px;font-weight:800;line-height:1.35;list-style:none}
.service-preview-page .service-page-case summary::-webkit-details-marker{display:none}
.service-preview-page .service-page-case summary:after{content:'+';margin-left:auto;color:#1766e4;font-size:25px;font-weight:400}
.service-preview-page .service-page-case[open] summary:after{content:'−'}
.service-preview-page .service-page-case-number{display:inline-flex;align-items:center;justify-content:center;flex:none;width:35px;height:35px;border-radius:11px;background:#e8f1ff;color:#1766e4;font-size:12px;font-weight:850}
.service-preview-page .service-page-case-body{padding:0 22px 20px 68px;color:#52657f;font-size:15px;line-height:1.65}
.service-preview-page .service-page-case-body p:last-child{margin-bottom:0}
.service-preview-page .service-page-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.service-preview-page .service-page-team-card{display:flex;align-items:center;gap:17px;min-width:0;padding:13px;border:1px solid #dce7f6;border-radius:20px;background:#fff}
.service-preview-page .service-page-team-card img{width:92px;height:112px;flex:none;border-radius:14px;object-fit:cover;object-position:top}
.service-preview-page .service-page-team-card h3{margin:0 0 4px;color:#17355e;font-size:19px;line-height:1.18}
.service-preview-page .service-page-team-card b{display:block;color:#1766e4;font-size:12px;line-height:1.3}
.service-preview-page .service-page-team-card p{margin:9px 0 0;color:#60738d;font-size:13px;line-height:1.4}
.service-preview-page .service-page-team blockquote{margin:17px 0 0;padding:18px 22px;border-left:4px solid #1766e4;border-radius:0 17px 17px 0;background:#edf4ff;color:#385271;font-size:15px;line-height:1.55}
.service-preview-page .service-page-process .service-page-card{
  border-top:3px solid #1766e4;
}
.service-preview-page .service-page-documents .service-page-card{
  background:#f8fbff;
}
.service-preview-page .service-page-alert{
  border-color:#9fc3fc;
  background:linear-gradient(135deg,#eaf3ff,#f8fbff);
}
.service-preview-page .service-page-alert .service-page-intro{
  margin-bottom:0;
  color:#2e4c72;
}
.service-preview-page .service-page-faq-list{display:grid;gap:10px}
.service-preview-page .service-page-faq-item{
  padding:0 20px;
  border:1px solid #dce7f6;
  border-radius:17px;
  background:#fff;
}
.service-preview-page .service-page-faq-item summary{
  padding:18px 28px 18px 0;
  cursor:pointer;
  font-size:17px;
  font-weight:750;
  line-height:1.35;
  color:#142e56;
}
.service-preview-page .service-page-faq-item summary::marker{color:#1766e4}
.service-preview-page .service-page-faq-answer{
  padding:0 0 19px 19px;
  color:#52657f;
  font-size:15px;
  line-height:1.65;
}
.service-preview-page .service-page-aside{
  max-height:calc(100vh - 130px);
  overflow-y:auto;
  top:105px;
  padding:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(13,73,145,.055);
}
.service-preview-page .service-page-toc-title,
.service-preview-page .service-page-related-title{
  margin:0 0 14px;
  color:#142e56;
  font-size:17px;
  line-height:1.25;
  font-weight:800;
}
.service-preview-page .service-page-toc ul{
  margin:0;
  padding:0;
  list-style:none;
  color:#8da9d0;
}
.service-preview-page .service-page-toc li{margin:0 0 11px;padding-left:2px}
.service-preview-page .service-page-toc a{
  color:#355576;
  text-decoration:none;
  font-size:13px;
  line-height:1.4;
}
.service-preview-page .service-page-toc a:hover,
.service-preview-page .service-page-toc a:focus-visible{color:#125fe0;text-decoration:underline}
.service-preview-page .service-page-related-title{
  padding-top:18px;
  margin-top:18px;
  border-top:1px solid #e3ebf5;
}
.service-preview-page .service-page-aside>ul a{
  font-size:13px;
  line-height:1.4;
}
@media(max-width:900px){
  .service-preview-page .service-page-results-head{display:block}
  .service-preview-page .service-page-results-head p{margin-top:10px}
  .service-preview-page .service-page-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-preview-page .service-page-aside{position:static;max-height:none;overflow:visible;order:-1}
}
@media(max-width:640px){
  .service-preview-page .service-preview-hero-grid,
  .service-preview-page .service-preview-hero-grid>div{min-width:0}
  .service-preview-page .service-preview-hero h1{hyphens:none;overflow-wrap:anywhere}
  .service-preview-page .service-page-hero-actions .btn{width:100%;min-height:48px;text-align:center}
  .service-preview-page .service-page-results{padding:30px 0 4px}
  .service-preview-page .service-page-results-grid{gap:9px}
  .service-preview-page .service-page-result{min-height:0;padding:15px;border-radius:17px}
  .service-preview-page .service-page-result strong{font-size:27px}
  .service-preview-page .service-page-result span{font-size:12px}
  .service-preview-page .service-preview-layout{gap:20px;padding-top:24px;padding-bottom:55px}
  .service-preview-page .service-page-content{gap:15px}
  .service-preview-page .service-page-section{padding:22px 18px;border-radius:22px;scroll-margin-top:170px}
  .service-preview-page .service-page-section-head{gap:11px}
  .service-preview-page .service-page-section h2{font-size:26px;overflow-wrap:anywhere}
  .service-preview-page .service-page-card-grid{grid-template-columns:1fr}
  .service-preview-page .service-page-tabs{grid-template-columns:1fr}
  .service-preview-page .service-page-tab-list{display:flex;gap:8px;overflow-x:auto;padding:8px;border-radius:17px;scroll-snap-type:x proximity}
  .service-preview-page .service-page-tab-button{flex:0 0 min(235px,72vw);scroll-snap-align:start}
  .service-preview-page .service-page-card{padding:20px}
  .service-preview-page .service-page-tab-panel{min-height:0}
  .service-preview-page .service-page-team-grid{grid-template-columns:1fr}
  .service-preview-page .service-page-team-card img{width:76px;height:94px}
  .service-preview-page .service-page-case summary{padding:14px;font-size:16px}
  .service-preview-page .service-page-case-body{padding:0 17px 18px 17px}
  .service-preview-page .service-page-aside{padding:18px;border-radius:20px}
  .service-preview-page .service-page-aside>ul,
  .service-preview-page .service-page-related-title{display:none}
  .service-preview-page .service-page-toc ul{max-height:180px;overflow-y:auto}
}

/* Repeated blocks use the homepage components at the homepage content width. */
.service-preview-page .service-preview-layout{display:flex;flex-direction:column;gap:0;padding-top:18px}
.service-preview-page .service-page-content{display:block;width:100%;max-width:none}
.service-preview-page .service-page-content>.service-page-section{margin:24px 0}
.service-preview-page .service-page-content>.section{padding:64px 0;scroll-margin-top:105px}
.service-preview-page .service-page-content>.section .shell{width:100%;max-width:none}
.service-preview-page .service-page-content>.section .section-head h2{margin:0;font-size:clamp(36px,4.6vw,62px);line-height:1;letter-spacing:-.045em;color:var(--ink)}
.service-preview-page .service-page-content>.section .section-head p{margin:0}
.service-preview-page .service-page-content>.section .process h3,
.service-preview-page .service-page-content>.section .case-copy-v2 h3,
.service-preview-page .service-page-content>.section .team-mini-copy h3,
.service-preview-page .service-page-content>.section .person-info h3{margin:0}
.service-preview-page .service-page-content>.section .case-copy-v2 h3{font-size:30px}
.service-preview-page .service-page-content>.section.alt{position:relative;isolation:isolate}
.service-preview-page .service-page-content>.section.alt:before{content:"";position:absolute;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:#f0f5fc;z-index:-1}
.service-preview-page .service-page-results{padding:54px 0 36px}
.service-preview-page .service-page-results .section-head h2{font-size:clamp(36px,4.6vw,62px);line-height:1;letter-spacing:-.045em;color:var(--ink)}
.service-preview-page .service-page-process .process{position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.service-preview-page .service-page-process .process:before{content:"";position:absolute;left:7%;right:7%;top:41px;height:2px;background:linear-gradient(90deg,#b9d4ff,#1261e8,#b9d4ff);z-index:0}
.service-preview-page .service-page-process .step{position:relative;z-index:1;min-height:194px;padding:22px 20px 20px;border-color:#d6e4f5}
.service-preview-page .service-page-process .step-num{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid #1261e8;box-shadow:0 0 0 7px #edf5ff;color:#1261e8;margin-bottom:20px}
.service-preview-page .service-page-process .step:nth-child(2){background:linear-gradient(145deg,#0a2458,#1261e8);color:#fff;border-color:transparent;box-shadow:0 18px 42px rgba(18,97,232,.18)}
.service-preview-page .service-page-process .step:nth-child(2) .step-num{background:#fff;border-color:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.13)}
.service-preview-page .service-page-process .step:nth-child(2) h3,.service-preview-page .service-page-process .step:nth-child(2) p{color:#fff}
.service-preview-page .service-page-process .step h3{font-size:21px}
.service-preview-page .service-page-process .step p{font-size:13px;line-height:1.48}
.service-preview-page .service-page-reviews .reviews{align-items:start}
.service-preview-page .service-review-chats{display:grid;gap:12px}
.service-preview-page .service-page-reviews .review p{display:block;overflow:visible;-webkit-line-clamp:unset;white-space:pre-line}
.service-preview-page .service-page-reviews .review{height:auto;min-height:0}
.service-preview-page .service-page-reviews .review p{font-size:14px;line-height:1.55}
.service-preview-page .service-page-reviews .review b{font-size:12px}
.service-preview-page .service-page-reviews .review-thumb .bubble{font-size:11.5px;line-height:1.4}
.service-preview-page .service-page-aside{position:static;top:auto;max-height:none;overflow:visible;width:100%;margin-top:26px}
.service-preview-page .service-page-topnav{width:100%;margin:22px 0 0;padding:0 22px;border:1px solid #dce7f6;border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(13,73,145,.04)}
.service-preview-page .service-page-topnav summary{position:relative;cursor:pointer;list-style:none;padding:17px 28px 17px 0;color:#142e56;font-size:16px;font-weight:800}
.service-preview-page .service-page-topnav summary::-webkit-details-marker{display:none}
.service-preview-page .service-page-topnav summary:after{content:"+";position:absolute;right:0;top:13px;color:#1766e4;font-size:24px;font-weight:400}
.service-preview-page .service-page-topnav[open] summary:after{content:"−"}
.service-preview-page .service-page-topnav .service-page-toc{padding:0 0 18px}
.service-preview-page .service-page-toc ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 20px;max-height:none}
.service-preview-page .service-page-section-actions{display:flex;justify-content:flex-start;margin-top:24px}
.service-preview-page .service-page-section-actions .btn{min-height:48px}
@media(max-width:900px){
  .service-preview-page .service-page-process .process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-preview-page .service-page-process .process:before{display:none}
  .service-preview-page .service-page-toc ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .service-preview-page .service-page-content>.section{padding:44px 0}
  .service-preview-page .service-page-content>.section .section-head h2{font-size:38px}
  .service-preview-page .service-page-process .process,.service-preview-page .service-page-toc ul{grid-template-columns:1fr}
  .service-preview-page .service-page-section-actions .btn{width:100%}
  .service-preview-page .service-page-reviews .reviews{grid-template-columns:1fr}
}

/* Related services remain direct links in a readable card grid. */
.service-preview-page .service-related-services{position:static;align-self:stretch;width:100%;margin:36px 0 8px;padding:30px;border:1px solid #d9e6f6;border-radius:28px;background:#f0f5fc;box-shadow:none}
.service-preview-page .service-related-title{margin:0 0 20px;color:#102b52;font-size:clamp(27px,3vw,36px);line-height:1.12;letter-spacing:-.035em}
.service-preview-page .service-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.service-preview-page .service-related-card{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;min-height:105px;padding:20px;border:1px solid #d4e3f7;border-radius:19px;background:#fff;color:#143259;text-decoration:none;box-shadow:0 8px 20px rgba(15,66,128,.045);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.service-preview-page .service-related-card:hover{transform:translateY(-3px);border-color:#7aafea;box-shadow:0 14px 28px rgba(15,66,128,.12)}
.service-preview-page .service-related-card:focus-visible{outline:3px solid #1769e0;outline-offset:3px}
.service-preview-page .service-related-card-title{font-size:16px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.service-preview-page .service-related-card-arrow{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:10px;background:#eaf2ff;color:#1765d2;font-size:20px;line-height:1}
@media(max-width:1100px){.service-preview-page .service-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.service-preview-page .service-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .service-preview-page .service-related-services{margin:22px 0 4px;padding:19px;border-radius:22px}
  .service-preview-page .service-related-title{font-size:28px;margin-bottom:16px}
  .service-preview-page .service-related-grid{grid-template-columns:1fr;gap:9px}
  .service-preview-page .service-related-card{min-height:0;padding:16px}
  .service-preview-page .service-related-card-title{font-size:15px}
}
