/* Contracting service body. Shared chrome uses its own styles. */
.ct-page {
  --ink: #0a2d47;
  --blue: #007eb9;
  --muted: #426279;
  --rule: #c8deea;
  color: var(--ink);
  background: #fff;
  color-scheme: light;
  line-height: 1.56;
}
.ct-page *, .ct-page *::before, .ct-page *::after {box-sizing: border-box}
.ct-page :is(h1,h2,h3,p,figure,ul,ol) {margin: 0}
.ct-page :is(h1,h2,h3) {font-weight: 600; letter-spacing: -.035em; line-height: 1.13}
.ct-page h1 {font-size: clamp(46px,5vw,72px)}
.ct-page h2 {font-size: clamp(29px,2.75vw,40px)}
.ct-page h3 {font-size: 22px}
.ct-page em {font-style: normal; color: var(--blue)}
.ct-page p {color: var(--muted); font-size: 15px}
.ct-page a {color: inherit; text-decoration: none}
.ct-page [hidden] {display: none !important}
.ct-page :is(a,button,input,summary,[tabindex]):focus-visible {outline: 3px solid #008dcc; outline-offset: 3px}
.ct-page .ct-wrap {width: min(1280px,calc(100% - 48px)); margin-inline: auto}
.ct-page .ct-section {padding-block: clamp(25px,2.4vw,38px); scroll-margin-top: 105px}
.ct-page .ct-label {color: var(--blue); font-size: 11px; font-weight: 600; letter-spacing: .1em; margin-bottom: 9px}
.ct-page .ct-icon {width: 28px; height: 28px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round}
.ct-page :is(.ct-primary,.ct-secondary) {display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 46px; padding: 10px 18px; border: 1px solid #0087be; border-radius: 4px; font-size: 14px; font-weight: 600}
.ct-page .ct-primary {background: linear-gradient(105deg,#008dcc,#006fba); color: white}
.ct-page .ct-primary:hover {background: #00699b}
.ct-page .ct-secondary {background: #fffffff0; color: var(--blue)}
.ct-page .ct-secondary:hover {background: #edf8fc}
.ct-page .ct-arrow {font-size: 18px; line-height: 1}
.ct-page .ct-entry {background: linear-gradient(113deg,#fff 12%,#eff8fd 64%,#d9effb); padding: 12px 0 16px}
.ct-page .ct-breadcrumb {display: flex; align-items: center; gap: 9px; font-size: 11px; color: #58788d}
.ct-page .ct-breadcrumb a:hover {color: var(--blue)}
.ct-page .ct-entry-grid {display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 30px}
.ct-page .ct-entry-grid>div {padding-block: 17px}
.ct-page .ct-lead {font-size: clamp(20px,2vw,26px); font-weight: 600; line-height: 1.25; margin: 13px 0 8px; color: var(--ink)}
.ct-page .ct-entry .ct-primary {margin-top: 18px}
.ct-page .ct-drawing {display: block; width: 100%; height: auto; stroke: none; overflow: visible}
.ct-page .ct-entry .ct-drawing {max-height: 278px}
.ct-page figcaption {color: #53758a; font-size: 11px; line-height: 1.5}
.ct-page .ct-entry figcaption {text-align: center}
.ct-page .ct-drawing-layer {opacity: .67; transition: opacity .22s}
.ct-page .ct-drawing-layer.is-current {opacity: 1}
.ct-page .ct-ink-trace {display: none}
.ct-page .is-current>.ct-ink-trace {display: inline}
.ct-page:not([data-ready]) [role=tablist] {display: none}
.ct-page .ct-atlas-question {font-size: 19px; margin: 0 0 12px}
.ct-page .ct-index {background: linear-gradient(#fff,#eff7fb); padding-block: 12px; border-bottom: 1px solid #deedf3}
.ct-page .ct-index>div {display: grid; grid-template-columns: repeat(4,1fr)}
.ct-page .ct-index a {display: flex; align-items: center; gap: 13px; min-height: 44px; font-size: 15px; font-weight: 600; padding-inline: 16px}
.ct-page .ct-index a+a {border-left: 1px solid var(--rule)}
.ct-page .ct-index a:first-child {padding-left: 0}
.ct-page .ct-index .ct-icon,.ct-page .ct-related .ct-icon {color: #009add}
.ct-page .ct-index a:hover,.ct-page .ct-related a:hover strong {color: var(--blue)}
.ct-page .ct-atlas {display: grid; grid-template-columns: 1.05fr 1.1fr .88fr; align-items: start; gap: clamp(16px,2.4vw,36px)}
.ct-page .ct-atlas>* {min-width: 0}
.ct-page .ct-study {margin-top: 17px}
.ct-page .ct-study img {display: block; width: 100%; aspect-ratio: 2.5; object-fit: cover; border-radius: 4px}
.ct-page .ct-study figcaption {margin-top: 4px}
.ct-page .ct-detail {margin-top: 8px; background: linear-gradient(130deg,#f6fbff,#fff)}
.ct-page .ct-detail figcaption {text-align: center; color: var(--blue); padding-bottom: 6px; font-size: 12px}
.ct-page .ct-selector [role=tablist] {display: grid; border-top: 1px solid var(--rule)}
.ct-page .ct-selector button {display: flex; align-items: center; gap: 12px; width: 100%; min-height: 58px; text-align: left; padding: 9px 8px; border: 0; border-bottom: 1px solid var(--rule); background: white; color: var(--ink); font: inherit; font-size: 17px; font-weight: 600; cursor: pointer}
.ct-page .ct-selector button span {background: #ebf6fc; color: var(--blue); padding: 7px 9px; border-radius: 4px; font-size: 13px}
.ct-page .ct-selector button b {margin-left: auto; color: var(--blue); font-weight: 400}
.ct-page .ct-selector button[aria-selected=true] {background: #eef8fe; box-shadow: inset 2px 0 #0099ce}
.ct-page .ct-selector [role=tabpanel] {padding: 18px 4px 0}
.ct-page .ct-selector [role=tabpanel] h3 {font-size: 20px; margin-bottom: 9px}
.ct-page .ct-note {border-left: 2px solid #49abd1; padding-left: 12px; margin-top: 15px; font-size: 13px}
.ct-page .ct-note strong {display: block; color: var(--ink); font-size: 12px}
.ct-page .ct-preparation {background: linear-gradient(135deg,#e7f4fc,#f8fcff); border-top: 3px solid #0098ce; padding: 19px; border-radius: 3px}
.ct-page .ct-preparation fieldset {margin: 12px 0 0; padding: 0; border: 0}
.ct-page .ct-preparation legend {font-size: 13px; color: var(--muted); margin-bottom: 6px}
.ct-page .ct-preparation label {display: flex; align-items: center; gap: 10px; min-height: 34px; padding-block: 5px; border-top: 1px solid var(--rule); font-size: 14px; cursor: pointer}
.ct-page .ct-preparation input {width: 16px; height: 16px; flex: none; accent-color: var(--blue)}
.ct-page .ct-preparation a {display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--rule); color: var(--blue); font-size: 14px; font-weight: 600}
.ct-page .ct-history {display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding: 16px 0 22px; border-top: 1px solid #deebf2}
.ct-page .ct-history p {font-size: 14px}
.ct-page .ct-process {background: linear-gradient(110deg,#edf8ff,#f7fcff)}
.ct-page .ct-split {display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 36px}
.ct-page .ct-split>p {border-left: 1px solid #a4d2e8; padding-left: 25px}
.ct-page .ct-steps {display: grid; grid-template-columns: repeat(3,1fr); list-style: none; padding: 0; margin: 22px 0 18px}
.ct-page .ct-steps li {position: relative; padding-right: 20px}
.ct-page .ct-steps li:not(:last-child)::before {content:''; position:absolute; top:16px; left:26px; right:-1px; border-top:1px solid #27a3dc}
.ct-page .ct-number {position: relative; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #129ed5; background: #fff; color: var(--blue); font-size: 14px; font-weight: 600}
.ct-page .ct-steps li>div {display: flex; align-items: start; gap: 12px; margin-top: 12px}
.ct-page .ct-steps .ct-icon {color: #008ccc}
.ct-page .ct-steps h3 {font-size: 21px}
.ct-page .ct-steps p {font-size: 14px; margin-top: 6px}
.ct-page .ct-process-note {border-top: 1px solid var(--rule); padding-top: 13px; display: flex; align-items: center; gap: 25px; justify-content: space-between}
.ct-page .ct-process-note p {font-size: 13px; max-width: 700px}
.ct-page .ct-process-note .ct-primary {flex: none}
.ct-page .ct-gallery {display: grid; grid-template-columns: .95fr 1fr 1fr 1.45fr; gap: 16px; align-items: start}
.ct-page .ct-gallery-intro p:last-child {font-size: 14px; margin-top: 13px}
.ct-page .ct-gallery figure img {display: block; width: 100%; height: clamp(150px,15vw,224px); object-fit: cover; border-radius: 4px}
.ct-page .ct-gallery figcaption {padding-top: 8px}
.ct-page .ct-gallery figcaption strong {display: block; font-size: 16px; color: var(--ink)}
.ct-page .ct-gallery figcaption span {font-size: 12px}
.ct-page .ct-faq-layout {display: grid; grid-template-columns: .85fr 1.4fr; gap: 36px; border-top: 1px solid #dae9f1; padding-top: 22px}
.ct-page .ct-questions {border: 1px solid var(--rule); border-radius: 4px}
.ct-page .ct-questions details+details {border-top: 1px solid var(--rule)}
.ct-page .ct-questions summary {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 16px; min-height: 46px; cursor: pointer; font-weight: 600; font-size: 16px; list-style: none}
.ct-page .ct-questions summary::-webkit-details-marker {display: none}
.ct-page .ct-questions summary span::after {content:'+'; color: var(--blue); font-size: 22px}
.ct-page .ct-questions [open] summary span::after {content:'−'}
.ct-page .ct-questions details p {padding: 0 16px 14px}
.ct-page .ct-related {margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--rule)}
.ct-page .ct-related ul {display: grid; grid-template-columns: repeat(4,1fr); list-style: none; padding: 0; margin-top: 15px}
.ct-page .ct-related li {padding-inline: 14px}
.ct-page .ct-related li:first-child {padding-left: 0}
.ct-page .ct-related li+li {border-left: 1px solid var(--rule)}
.ct-page .ct-related a {display: flex; align-items: start; gap: 12px}
.ct-page .ct-related p {font-size: 13px; margin-top: 5px}
.ct-page .ct-closing {padding-block: 28px; background: linear-gradient(95deg,#e8f6ff 42%,#edf8ffed 64%,#edf8ff22 84%),url('/images/services-premium/discovery-1440.webp') right center / auto 100% no-repeat,#e8f6ff}
.ct-page .ct-closing>div {display: grid; grid-template-columns: 1.15fr 1fr .75fr; align-items: center; gap: 30px}
.ct-page .ct-closing p:not(.ct-label) {margin-top: 12px}
.ct-page .ct-actions {display: grid; gap: 10px}
@media (max-width: 900px) {
  .ct-page .ct-atlas {grid-template-columns: 1fr 1fr}
  .ct-page .ct-preparation {grid-column: 1/-1}
  .ct-page .ct-preparation fieldset {display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px}
  .ct-page .ct-preparation label {min-height: 44px}
  .ct-page .ct-gallery {grid-template-columns: 1fr 1fr 1.4fr}
  .ct-page .ct-gallery-intro {grid-column: 1/-1}
  .ct-page .ct-index a {padding-inline: 9px; gap: 8px; font-size: 13px}
  .ct-page .ct-related ul {grid-template-columns: 1fr 1fr; row-gap: 20px}
  .ct-page .ct-related li:nth-child(3) {border-left: 0; padding-left: 0}
}
@media (max-width: 700px) {
  .ct-page .ct-wrap {width: calc(100% - 40px)}
  .ct-page .ct-entry-grid,.ct-page .ct-split,.ct-page .ct-history,.ct-page .ct-faq-layout {grid-template-columns: 1fr; gap: 15px}
  .ct-page .ct-entry-grid>div {padding-block: 18px 0}
  .ct-page .ct-entry .ct-drawing {max-height: 200px}
  .ct-page .ct-index>div {grid-template-columns: 1fr 1fr; row-gap: 8px}
  .ct-page .ct-index a:nth-child(3) {border-left: 0; padding-left: 0}
  .ct-page .ct-atlas {grid-template-columns: 1fr; gap: 14px}
  .ct-page .ct-atlas-intro,.ct-page .ct-selector {display: contents}
  .ct-page .ct-atlas-intro>.ct-label {margin: 0}
  .ct-page .ct-study {margin: 0}
  .ct-page .ct-selector>.ct-label {order: 1; margin: 5px 0 0}
  .ct-page .ct-atlas-question {order: 1; margin: 0}
  .ct-page .ct-selector [role=tablist] {order: 2}
  .ct-page .ct-detail {order: 3; margin: 0}
  .ct-page .ct-detail svg {max-height: 184px}
  .ct-page .ct-selector [role=tabpanel] {order: 4; padding: 0 0 7px}
  .ct-page .ct-preparation {order: 5}
  .ct-page .ct-preparation fieldset {display: block}
  .ct-page .ct-study img {aspect-ratio: 2.65}
  .ct-page .ct-section {scroll-margin-top: 85px}
  .ct-page .ct-history {padding-top: 12px; gap: 10px}
  .ct-page .ct-split>p {border: 0; padding: 0}
  .ct-page .ct-steps {display: grid; grid-template-columns: 1fr; margin: 14px 0}
  .ct-page .ct-steps li {display: grid; grid-template-columns: 35px 1fr; gap: 14px; padding: 10px 0}
  .ct-page .ct-steps li>div {margin: 0}
  .ct-page .ct-steps li:not(:last-child)::before {left: 16px; top: 38px; bottom: -10px; right: auto; border-left: 1px solid #27a3dc; border-top: 0}
  .ct-page .ct-process-note {display: grid; gap: 14px}
  .ct-page .ct-gallery {grid-template-columns: 1fr 1fr; gap: 16px 10px}
  .ct-page .ct-gallery figure img {height: auto; aspect-ratio: 4/3}
  .ct-page .ct-gallery figure:last-child {grid-column: 1/-1}
  .ct-page .ct-gallery figure:last-child img {aspect-ratio: 1.7}
  .ct-page .ct-related li {padding-inline: 9px}
  .ct-page .ct-related a {flex-direction: column; gap: 7px}
  .ct-page .ct-closing>div {grid-template-columns: 1fr; gap: 16px}
  .ct-page .ct-closing {background: linear-gradient(120deg,#e4f3fd,#f8fcff)}
  .ct-page .ct-closing::after {content:''; display: block; height: 100px; background: linear-gradient(90deg,#e6f4fc 2%,#e6f4fcad 30%,transparent 65%),url('/images/services-premium/discovery-768.webp') right 53% / cover; margin-top: 18px; mask-image: linear-gradient(to bottom,transparent,#000 26%)}
}
@media (prefers-reduced-motion: reduce) {
  .ct-page * {scroll-behavior: auto !important; transition: none !important}
}
