/* Master service presentation. Loaded only on the IMS Master Service page template. */
/* Shared foundation for every page using the master service template.
   Content width, not monitor width, governs headings and media proportions. */
.ims-service {
  --ims-content-max: 1448px;
  --ims-page-gutter: clamp(24px, 4.4vw, 76px);
  --ims-layout-gap: clamp(28px, 4cqi, 64px);
  --ims-section-space: clamp(64px, 7vw, 120px);
  /* Match the existing header heights (including its border), without changing navigation. */
  --ims-service-header-space: 95px;
  --ims-hero-top-gap: clamp(20px, 2.2vw, 32px);
  background: var(--night);
}
.ims-service .container { width: calc(100% - 2 * var(--ims-page-gutter)); max-width: var(--ims-content-max); padding-inline: 0; container-type: inline-size; }
.ims-service :is(.ims-service__hero-grid, .ims-service__split, .ims-service__build-grid, .ims-service__seo, .ims-service__why, .ims-service__projects, .ims-service__project, .ims-service__build-list, .ims-service__values, .ims-service__process, .ims-service__device-notes) > * { min-width: 0; }
.ims-service img { max-width: 100%; height: auto; object-fit: contain; }
.ims-service section[id] { scroll-margin-top: 110px; }
.ims-service h2 { font-size: clamp(32px, calc(16px + 3cqi), 58px); line-height: 1.12; text-wrap: balance; }
.ims-service h3 { font-size: 20px; line-height: 1.25; letter-spacing: -.02em; }
.ims-service p { text-wrap: pretty; }
.ims-service__section { padding-block: var(--ims-section-space); }
.ims-service__lead { color: var(--soft); font-size: clamp(17px, 1.45vw, 21px); line-height: 1.7; margin-top: 25px; max-width: 620px; }
.ims-service__split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ims-layout-gap); align-items: start; }
.ims-service__text-link { display: inline-flex; align-items: center; gap: 22px; min-height: 44px; font-size: 12px; font-weight: 700; text-transform: uppercase; border-bottom: 1px solid var(--aqua); }
.ims-service__text-link:hover { color: var(--aqua); }
.ims-service__hero { position: relative; isolation: isolate; padding-top: calc(var(--ims-service-header-space) + var(--ims-hero-top-gap)); background: #061e2a; }
.ims-service__hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #03141ef2 8%, #03141eae 55%, #03141e85), url('../images/tampa-skyway-1600.webp') center 55% / cover; }
.ims-service__hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: -1; opacity: .22; background-image: linear-gradient(#7dd6d50f 1px, transparent 1px), linear-gradient(90deg, #7dd6d50f 1px, transparent 1px); background-size: 90px 90px; }
.ims-service__hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--ims-layout-gap); align-items: start; padding-bottom: clamp(32px, 4.5cqi, 65px); }
.ims-service__hero-copy { container-type: inline-size; }
.ims-service__hero h1 { max-width: 16ch; font-size: clamp(36px, 9cqi, 65px); line-height: 1.06; letter-spacing: -.045em; }
.ims-service__hero h1 > span { display: block; max-width: 13ch; color: var(--aqua); margin-top: 14px; }
.ims-service__hero .eyebrow { font-size: 10px; margin-bottom: 24px; }
.ims-service__hero .ims-service__lead { max-width: 570px; font-size: 17px; }
.ims-service__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 25px; margin-top: 32px; }
.ims-service__actions > * { max-width: 100%; }
.ims-service__actions .button { gap: 18px; }
.ims-service__hero-visual { position: relative; min-width: 0; width: 100%; max-width: 680px; justify-self: end; padding: 30px 0 0; }
.ims-service__hero-visual::before { content: ''; position: absolute; inset: -45px 0 -40px; z-index: -1; background: radial-gradient(ellipse, #1c879440, transparent 68%); }
.ims-service__visual-label { display: flex; justify-content: space-between; align-items: center; color: var(--aqua); font-size: 8px; letter-spacing: .14em; border-bottom: 1px solid var(--line); padding-bottom: 18px; margin-bottom: 25px; }
.ims-service__visual-label > span:last-child { font-size: 22px; font-weight: 400; }
.ims-service__hero-visual figcaption { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; padding-top: 25px; color: var(--soft); }
.ims-service__hero-visual figcaption a { color: var(--aqua); }
.ims-service__hero-foot { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding-block: 23px; border-top: 1px solid var(--line); color: #a7c9d1; font-size: 10px; letter-spacing: .04em; }
.ims-service__hero-foot a { color: var(--white); display: flex; gap: 25px; align-items: center; }
.ims-service__hero-foot a span { color: var(--aqua); font-size: 22px; }
.ims-service__intro-copy { color: var(--soft); margin-top: 28px; max-width: 570px; font-size: 18px; line-height: 1.75; }
.ims-service__intro-copy p + p { margin-top: 18px; }
.ims-service__reasons { list-style: none; padding: 0; margin: 0; }
.ims-service__reasons li { display: flex; gap: 24px; padding-block: 27px; border-top: 1px solid var(--line); }
.ims-service__number { font-size: 11px; color: var(--aqua); padding-top: 4px; font-weight: 600; }
.ims-service__reasons p { font-size: 16px; color: var(--soft); margin-top: 12px; }
.ims-service__build { position: relative; isolation: isolate; background: #05212d; border-block: 1px solid var(--line); }
.ims-service__stadium { position: absolute; inset: 0; z-index: -2; pointer-events: none; opacity: .3; overflow: hidden; }
.ims-service__stadium img { width: 100%; height: 100%; object-fit: cover; object-position: 58% 54%; filter: saturate(.25); }
.ims-service__build::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, #031a26ba, #062a3560 48%, #031a26ab), linear-gradient(0deg, #05212d, transparent 30%, transparent 75%, #05212d); }
.ims-service__build-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); gap: var(--ims-layout-gap); }
.ims-service__build-intro h2 { max-width: 500px; }
.ims-service__build-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; }
.ims-service__build-list article { display: flex; gap: 15px; border-top: 1px solid #85d9dd40; padding: 26px 0; }
.ims-service__build-list h3 { font-size: 18px; }
.ims-service__build-list h3 a { display: inline; transition: color .2s; }
.ims-service__build-list h3 a:hover { color: var(--aqua); }
.ims-service__build-list h3 a { text-decoration: underline; text-decoration-color: #6befd866; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.ims-service__build-list h3 a:focus-visible { outline: 2px solid var(--aqua); outline-offset: 5px; }
.ims-service__build-list p { font-size: 14px; line-height: 1.7; color: var(--soft); margin-top: 13px; }
.ims-service__section-heading { margin-bottom: clamp(36px, 4cqi, 60px); }
.ims-service__section-heading h2 { font-size: clamp(32px, calc(20px + 2cqi), 50px); }
.ims-service__process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; gap: 0; }
.ims-service__process li { position: relative; padding: 0 28px 0 0; display: flex; flex-direction: column; align-items: start; }
.ims-service__process li::before { content: ''; height: 1px; background: var(--line); position: absolute; top: 22px; left: 44px; right: 0; }
.ims-service__process li:last-child::before { display: none; }
.ims-service__step { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #6befd877; border-radius: 50%; color: var(--aqua); font-size: 12px; margin-bottom: 28px; background: #0b435540; }
.ims-service__process li:last-child .ims-service__step { color: var(--coral); border-color: #ff967e88; }
.ims-service__process p { color: var(--soft); font-size: 15px; margin: 18px 0 26px; flex: 1; }
.ims-service__process strong { font-size: 10px; line-height: 1.5; color: var(--aqua); font-weight: 500; border-top: 1px solid var(--line); padding-top: 14px; width: 100%; }
.ims-service__responsive { background: #092b38; }
.ims-service__responsive-visual { position: relative; padding: 55px 6% 40px; margin-top: 45px; background: radial-gradient(ellipse at 60% 30%, #14747d60, transparent 65%), linear-gradient(#78c8d00a 1px, transparent 1px), linear-gradient(90deg, #78c8d00a 1px, transparent 1px); background-size: auto, 55px 55px, 55px 55px; border: 1px solid var(--line); }
.ims-service__responsive-visual .ims-service__device { max-width: 1040px; margin-inline: auto; }
.ims-service__responsive-visual figcaption { font-size: 10px; color: var(--soft); margin-top: 22px; }
.ims-service__device-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 40px; }
.ims-service__device-notes > div { border-left: 1px solid #6befd870; padding-left: 22px; }
.ims-service__device-notes h3 { font-size: 16px; }
.ims-service__device-notes p { font-size: 14px; color: var(--soft); margin-top: 10px; }
.ims-service__seo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ims-layout-gap); padding: clamp(28px, 4cqi, 60px); border: 1px solid #6befd84d; border-radius: 22px 70px 22px 22px; background: linear-gradient(130deg,#0c3640aa,#05212b50); }
.ims-service__seo .ims-service__text-link { margin-top: 30px; }
.ims-service__seo-stack article { position: relative; padding-left: 38px; margin-bottom: 30px; }
.ims-service__seo-stack article:last-child { margin-bottom: 0; }
.ims-service__seo-stack article > span { position: absolute; left: 0; top: 4px; color: var(--aqua); font-size: 10px; }
.ims-service__seo-stack h3 { font-size: 18px; }
.ims-service__seo-stack p { color: var(--soft); font-size: 15px; margin-top: 12px; }
.ims-service__work { background: #071e2b; }
.ims-service__projects { margin-top: 48px; }
.ims-service__project { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ims-layout-gap); align-items: center; padding-block: 38px; border-top: 1px solid var(--line); }
.ims-service__project-copy { max-width: 480px; }
.ims-service__project .eyebrow { font-size: 9px; margin-bottom: 18px; }
.ims-service__project h3 { font-size: clamp(25px, 2.6vw, 38px); }
.ims-service__project-copy > p:not(.eyebrow) { font-size: 16px; color: var(--soft); margin-block: 20px; }
.ims-service__why { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--ims-layout-gap); }
.ims-service__values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin: 0; }
.ims-service__values > div { border-top: 1px solid var(--line); padding-top: 19px; }
.ims-service__values > div:first-child { grid-column: 1/-1; padding: 23px; border: 1px solid #6befd84d; background: #0c344066; }
.ims-service__values dt { font-weight: 700; font-size: 16px; }
.ims-service__values > div:first-child dt { color: var(--aqua); font-size: 24px; }
.ims-service__values dd { margin: 10px 0 0; color: var(--soft); font-size: 14px; }
.ims-service__faq { position: relative; isolation: isolate; background: radial-gradient(ellipse at 8% 35%, #0d526044, transparent 55%), #041b27; border-block: 1px solid var(--line); }
.ims-service__faq::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(#84d9d40a 1px, transparent 1px), linear-gradient(90deg, #84d9d40a 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, #000, transparent 80%); }
.ims-service__faq .ims-service__lead { max-width: 470px; color: #c5dfe5; }
.ims-service__faq-intro { position: relative; }
.ims-service__strategy-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 40px; padding-top: 22px; border-top: 1px solid #78d0d044; max-width: 470px; }
.ims-service__strategy-map span { color: #74dcd4; font-size: 9px; letter-spacing: .1em; }
.ims-service__strategy-map strong { display: block; margin-top: 8px; font-size: 12px; font-weight: 500; color: #c3e0e6; letter-spacing: 0; }
.ims-service__questions details { border: 1px solid #79d2d03b; border-radius: 6px; background: linear-gradient(130deg, #103644ad, #08232feb); margin-bottom: 12px; overflow: hidden; box-shadow: inset 0 1px 0 #adffed08, 0 5px 18px #00111b26; transition: border-color .2s, background .2s; }
.ims-service__questions summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; font-size: 16px; font-weight: 600; line-height: 1.5; padding: 22px; list-style: none; }
.ims-service__questions summary::-webkit-details-marker { display: none; }
.ims-service__questions summary > span { flex: 0 0 22px; color: var(--aqua); font-size: 26px; font-weight: 400; text-align: center; transition: transform .2s; }
.ims-service__questions summary:focus-visible { outline: 2px solid var(--aqua); outline-offset: -5px; }
.ims-service__questions details[open] { border-color: #6befd88c; background: linear-gradient(125deg, #104c55, #0a3440); box-shadow: inset 3px 0 0 var(--aqua); }
.ims-service__questions details[open] summary > span { transform: rotate(45deg); }
.ims-service__questions details > p { font-size: 15px; line-height: 1.75; color: #d4e9ed; padding: 0 22px 24px; }
.ims-service__questions details:hover { border-color: #6befd888; }
.ims-service__final { --ims-final-heading-size: clamp(36px, calc(24px + 3.75cqi), 78px); padding: 105px 0 180px; text-align: center; background: linear-gradient(#03141ec9,#03141ef5), url('../images/coastal-dusk-1600.webp') center 55%/cover; }
.ims-service__final h2 { max-width: 950px; margin-inline: auto; font-size: var(--ims-final-heading-size); }
.ims-service__final .ims-service__lead { margin: 26px auto 32px; }
.ims-service__contact { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; width: min(100%, calc(var(--ims-final-heading-size) * 8.15)); margin: 42px auto 0; font-size: clamp(19px, calc(var(--ims-final-heading-size) * .285), 23px); line-height: 1.4; }
.ims-service__contact .ims-contact-link { gap: 14px; text-align: left; min-height: 48px; }
.ims-service__contact .ims-contact-icon { width: 1.25em; height: 1.25em; flex-basis: 1.25em; }
.ims-service__contact a:first-child { color: var(--aqua); font-weight: 700; }
.ims-service__contact a:hover { text-decoration: underline; text-underline-offset: 5px; }
/* Straight-on real desktop/mobile captures; no tilt, skew or perspective. */
.ims-service__device { display: block; position: relative; width: 100%; max-width: 100%; min-width: 0; padding: 0 9% 5% 0; isolation: isolate; }
.ims-service__device::after { content: ''; position: absolute; left: 7%; right: 0; bottom: -2%; height: 18%; background: radial-gradient(ellipse, #6befd81c, transparent 70%); z-index: -1; }
.ims-service__device-desktop { display: block; border: 1px solid #81d9df99; border-radius: 9px; overflow: hidden; box-shadow: 0 4px 0 #0b2834, 0 25px 45px #0006; background: #03141e; }
.ims-service__device-desktop > img { width: 100%; height: auto; }
.ims-service__device-phone { display: block; position: absolute; right: 0; bottom: 0; width: 23%; border: 4px solid #0b1720; outline: 1px solid #98dce4; border-radius: 17px; overflow: hidden; box-shadow: -8px 15px 28px #0009; }
.ims-service__device-phone img { width: 100%; height: auto; }
.ims-service__device:hover .ims-service__device-desktop { border-color: var(--aqua); }
.ims-service__device:focus-visible { outline: 2px solid var(--aqua); outline-offset: 8px; border-radius: 9px; }
.ims-service__architecture { margin-top: 36px; }
.ims-service__architecture figcaption { margin-top: 14px; color: var(--soft); font-size: 12px; }
.ims-service__architecture figcaption a { display: flex; justify-content: space-between; }
.ims-service__projects--featured { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 42px; }
.ims-service__projects--featured .ims-service__project,
.ims-service__projects--supporting .ims-service__project { display: flex; flex-direction: column; align-items: stretch; gap: 30px; padding: 28px 0 0; }
.ims-service__projects--featured .ims-service__project-copy { max-width: none; }
.ims-service__projects--featured .ims-service__project h3 { font-size: clamp(26px, 2.5vw, 36px); }
.ims-service__projects--supporting { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 2.5cqi, 36px); align-items: stretch; margin-top: 65px; }
.ims-service__projects--supporting .ims-service__project { gap: 24px; border: 0; padding: 0; }
.ims-service__projects--supporting .ims-service__project h3 { font-size: clamp(23px, 2.1cqi, 29px); }
.ims-service__projects--supporting .ims-service__project-copy { display: flex; flex-direction: column; flex: 1; max-width: none; }
.ims-service__projects--supporting .ims-service__project-copy > p:not(.eyebrow) { font-size: 15px; }
.ims-service__projects--supporting .ims-service__text-link { align-self: flex-start; margin-top: auto; }
.ims-service__projects .ims-service__device { width: 100%; }
.ims-service__project-copy .ims-service__text-link { border: 0; border-bottom: 1px solid var(--aqua); border-radius: 0; padding-inline: 0; }
/* Reserve space for the existing fixed rail, including its hover expansion. */
@media (min-width: 801px) { .ims-service { --ims-page-gutter: clamp(64px, 4.4vw, 76px); } }
@media (max-width: 1279px) { .ims-service { --ims-service-header-space: 87px; } }
@media (max-width: 1100px) {
  .ims-service__contact { justify-content: center; }
  .ims-service__build-list { gap: 0 20px; }
  .ims-service__build-list article { display: block; }
  .ims-service__build-list .ims-service__number { display: block; margin-bottom: 12px; }
}
@media (max-width: 800px) {
  .ims-service__hero::before { background-image: linear-gradient(90deg, #03141ee6, #03141ea6), url('../images/tampa-skyway-960.webp'); background-position: 60% center; }
  .ims-service__projects--featured { gap: 26px; }
  .ims-service__projects--featured .ims-service__project h3 { font-size: 25px; }
  .ims-service__projects--supporting { grid-template-columns: 1fr; gap: 40px; max-width: 620px; margin-inline: auto; }
  .ims-service__hero-grid { grid-template-columns: 1fr; padding-bottom: 40px; }
  .ims-service__hero h1 { font-size: clamp(36px, calc(16px + 6cqi), 58px); max-width: 680px; }
  .ims-service__hero-visual { max-width: 650px; width: 100%; margin: 10px auto 0; padding: 0; }
  .ims-service__split, .ims-service__build-grid, .ims-service__seo, .ims-service__why { grid-template-columns: 1fr; gap: 36px; }
  .ims-service__build-list article { display: flex; }
  .ims-service__build-list .ims-service__number { margin: 0; }
  .ims-service__process { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 10px; }
  .ims-service__process li:nth-child(2)::before { display: none; }
  .ims-service__project { gap: 28px; }
  .ims-service__device-notes { gap: 20px; }
  .ims-service__hero-foot { font-size: 9px; }
}
@media (max-width: 550px) {
  .ims-service { --ims-service-header-space: 83px; }
  .ims-service__projects--featured, .ims-service__projects--supporting { grid-template-columns: 1fr; gap: 40px; }


  .ims-service__device-phone { border-width: 2px; border-radius: 10px; }
  .ims-service__actions { gap: 20px; }
  .ims-service__actions .button { width: 100%; }
  .ims-service__hero-foot { align-items: start; flex-direction: column; gap: 15px; }
  .ims-service__hero-foot p { max-width: 260px; }
  .ims-service__visual-label { letter-spacing: .07em; font-size: 7px; }
  .ims-service__hero-visual figcaption { font-size: 10px; }
  .ims-service__hero .ims-service__lead { font-size: 16px; }
  .ims-service__build-list { grid-template-columns: 1fr; }
  .ims-service__build-list article { padding-block: 22px; }
  .ims-service__process { grid-template-columns: 1fr; gap: 0; }
  .ims-service__process li { padding: 0 0 32px 65px; }
  .ims-service__process li::before { left: 21px; top: 44px; bottom: 0; height: auto; width: 1px; }
  .ims-service__process li:nth-child(2)::before { display: block; }
  .ims-service__step { position: absolute; left: 0; top: 0; }
  .ims-service__process p { margin-top: 14px; }
  .ims-service__responsive-visual { padding: 25px 4% 24px; margin-top: 30px; }
  .ims-service__responsive-visual figcaption { font-size: 8px; margin-top: 20px; }
  .ims-service__device-notes { grid-template-columns: 1fr; gap: 25px; }
  .ims-service__seo { border-radius: 16px 40px 16px 16px; padding: 26px 22px; }
  .ims-service__seo h2 { font-size: 31px; }
  .ims-service__project { grid-template-columns: 1fr; gap: 25px; }
  .ims-service__values { grid-template-columns: 1fr; gap: 24px; }
  .ims-service__values > div:first-child dt { font-size: 22px; }
  .ims-service__questions summary { font-size: 15px; padding: 19px; }
  .ims-service__questions details > p { padding: 0 19px 21px; }
  .ims-service__final { padding-block: 80px 160px; }
  .ims-service__contact { width: 100%; flex-direction: column; align-items: center; gap: 18px; margin-top: 34px; font-size: clamp(18px, 4.6vw, 23px); }
  .ims-service__contact .ims-contact-link { gap: 10px; }
  .ims-service__contact a:first-child { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .ims-service *, .ims-service *::before, .ims-service *::after { animation: none !important; transition: none !important; }
}

/* Website Redesign variant: same IMS system, deliberately different composition. */
.ims-service--redesign { --ims-redesign-line: #78d7d744; --ims-redesign-panel: #0a2834d9; }
.ims-redesign__hero { position: relative; isolation: isolate; padding: calc(var(--ims-service-header-space) + clamp(38px,5vw,76px)) 0 clamp(72px,7vw,118px); overflow: hidden; background: #041923; }
.ims-redesign__hero::before { content:""; position:absolute; inset:0; z-index:-2; background: linear-gradient(90deg,#02131df5 5%,#062532d4 55%,#0625329c), url('../images/coastal-dusk-1600.webp') center/cover; }
.ims-redesign__hero::after { content:""; position:absolute; inset:0; z-index:-1; opacity:.22; background-image: linear-gradient(#7dd6d50d 1px,transparent 1px),linear-gradient(90deg,#7dd6d50d 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(90deg,#000,transparent 88%); }
.ims-redesign__hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(42px,5cqi,82px); align-items:center; }
.ims-redesign__hero h1 { font-size:clamp(40px,calc(22px + 2.6cqi),64px); line-height:1.02; letter-spacing:-.045em; max-width:700px; }
.ims-redesign__hero h1 span { display:block; color:var(--aqua); margin-top:8px; }
.ims-redesign__hero .ims-service__lead { max-width:700px; color:#d2e7eb; }
.ims-redesign__hero-detail { margin-top:26px; color:#8eb7c0; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.ims-redesign__hero-proof { position:relative; padding:28px 0 0 28px; border-left:1px solid #72d8d855; }
.ims-redesign__proof-label { display:flex; justify-content:space-between; gap:20px; margin-bottom:20px; color:#7cded7; font-size:9px; letter-spacing:.14em; }
.ims-redesign__proof-label strong { color:#e5f3f5; font-size:11px; letter-spacing:.05em; }
.ims-redesign__project-link { display:inline-block; margin-top:18px; color:#dff6f3; border-bottom:1px solid var(--aqua); font-size:12px; font-weight:700; text-transform:uppercase; }
.ims-redesign__section-head { max-width:1050px; margin:0 auto 48px; text-align:center; }
.ims-redesign__triage { background:linear-gradient(180deg,#071d28,#092631); }
.ims-redesign__triage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--ims-redesign-line); }
.ims-redesign__triage-grid article { padding:34px clamp(22px,3cqi,44px); border-right:1px solid var(--ims-redesign-line); }
.ims-redesign__triage-grid article:last-child { border-right:0; }
.ims-redesign__micro-label { color:var(--coral); font-size:9px; font-weight:800; letter-spacing:.16em; }
.ims-redesign__triage-grid h3 { margin-top:15px; font-size:clamp(22px,2.4cqi,32px); }
.ims-redesign__triage-grid p { margin-top:14px; color:#b8d1d7; line-height:1.7; }
.ims-redesign__editor-copy { max-width:860px; margin:38px auto 0; color:#b8d1d7; line-height:1.8; }
.ims-redesign__editor-copy:empty { display:none; }
.ims-redesign__diagnostic { background:#041923; }
.ims-redesign__split-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr); gap:clamp(36px,6cqi,90px); align-items:end; margin-bottom:54px; }
.ims-redesign__split-head .ims-service__lead { margin:0; }
.ims-redesign__diagnostic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ims-redesign-line); }
.ims-redesign__diagnostic-grid article { display:grid; grid-template-columns:54px 1fr; gap:18px; padding:28px 28px 30px 0; border-bottom:1px solid var(--ims-redesign-line); }
.ims-redesign__diagnostic-grid article:nth-child(odd) { padding-right:42px; }
.ims-redesign__diagnostic-grid article:nth-child(even) { padding-left:42px; border-left:1px solid var(--ims-redesign-line); }
.ims-redesign__diagnostic-grid .ims-service__number { color:#74dcd4; font-size:12px; }
.ims-redesign__diagnostic-grid p { margin-top:10px; color:#abc8ce; line-height:1.65; }
.ims-redesign__process { background:linear-gradient(135deg,#092934,#061c27 70%); }
.ims-redesign__process-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(50px,8cqi,120px); }
.ims-redesign__process-intro { position:sticky; top:130px; align-self:start; }
.ims-redesign__process-note { max-width:510px; margin-top:24px; color:#b5d0d6; line-height:1.7; }
.ims-redesign__timeline { list-style:none; margin:0; padding:0; border-left:1px solid #6dd9d955; }
.ims-redesign__timeline li { position:relative; display:grid; grid-template-columns:54px 1fr; gap:22px; padding:0 0 46px 34px; }
.ims-redesign__timeline li:last-child { padding-bottom:0; }
.ims-redesign__timeline li::before { content:""; position:absolute; width:9px; height:9px; border-radius:50%; left:-5px; top:5px; background:var(--coral); box-shadow:0 0 0 6px #071f2a; }
.ims-redesign__timeline-number { color:#79dcd6; font-size:11px; letter-spacing:.12em; }
.ims-redesign__timeline h3 { font-size:clamp(23px,2.4cqi,31px); }
.ims-redesign__timeline p { margin-top:10px; color:#b6cfd5; line-height:1.65; }
.ims-redesign__timeline strong { display:block; margin-top:14px; color:#edf9fa; font-size:12px; }
.ims-redesign__preserve { background:#03151e; }
.ims-redesign__preserve-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.ims-redesign__technical-panel { position:relative; overflow:hidden; padding:clamp(30px,4cqi,54px); border:1px solid #6cd3d34d; background:linear-gradient(145deg,#0c3441e8,#071f2be8); }
.ims-redesign__technical-panel--seo { border-color:#ff927b55; background:linear-gradient(145deg,#241d25e8,#0a2631e8); }
.ims-redesign__technical-panel h2 { font-size:clamp(34px,3.6cqi,54px); }
.ims-redesign__technical-panel .ims-service__lead { max-width:none; }
.ims-redesign__technical-panel dl { margin-top:34px; }
.ims-redesign__technical-panel dl div { padding:19px 0; border-top:1px solid #7ad8d82e; }
.ims-redesign__technical-panel dt { font-size:16px; font-weight:750; color:#eef9fa; }
.ims-redesign__technical-panel dd { margin-top:7px; color:#aac8ce; line-height:1.6; }
.ims-redesign__proof { background:linear-gradient(180deg,#092530,#061b25); }
.ims-redesign__proof-grid { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(44px,7cqi,104px); align-items:center; }
.ims-redesign__proof-body { margin-top:24px; color:#b8d1d6; line-height:1.75; }
.ims-redesign__proof .ims-service__text-link { margin-top:28px; }
.ims-redesign__decision { background:#061b25; }
.ims-redesign__decision-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(50px,7cqi,105px); }
.ims-redesign__decision-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ims-redesign-line); }
.ims-redesign__decision-list article { padding:24px 22px 26px 0; border-bottom:1px solid var(--ims-redesign-line); }
.ims-redesign__decision-list article:nth-child(even) { padding-left:28px; border-left:1px solid var(--ims-redesign-line); }
.ims-redesign__decision-list p { margin-top:8px; color:#aec9cf; line-height:1.6; }
@media (max-width:1024px) {
  .ims-redesign__hero-grid,.ims-redesign__process-grid,.ims-redesign__proof-grid,.ims-redesign__decision-grid { grid-template-columns:1fr; }
  .ims-redesign__hero-proof { max-width:820px; padding-left:0; border-left:0; }
  .ims-redesign__process-intro { position:static; }
}
@media (max-width:800px) {
  .ims-redesign__hero::before { background-image:linear-gradient(90deg,#02131dec,#062532b8),url('../images/coastal-dusk-800.webp'); }
  .ims-redesign__triage-grid,.ims-redesign__preserve-grid { grid-template-columns:1fr; }
  .ims-redesign__triage-grid article { border-right:0; border-bottom:1px solid var(--ims-redesign-line); }
  .ims-redesign__triage-grid article:last-child { border-bottom:0; }
  .ims-redesign__split-head { grid-template-columns:1fr; }
  .ims-redesign__split-head .ims-service__lead { margin-top:0; }
}
@media (max-width:600px) {
  .ims-redesign__hero { padding-top:calc(var(--ims-service-header-space) + 26px); }
  .ims-redesign__hero h1 { font-size:clamp(34px,9vw,44px); line-height:1.04; }
  .ims-redesign__diagnostic-grid,.ims-redesign__decision-list { grid-template-columns:1fr; }
  .ims-redesign__diagnostic-grid article,.ims-redesign__diagnostic-grid article:nth-child(odd),.ims-redesign__diagnostic-grid article:nth-child(even),.ims-redesign__decision-list article,.ims-redesign__decision-list article:nth-child(even) { padding:22px 0; border-left:0; }
  .ims-redesign__timeline li { grid-template-columns:42px 1fr; padding-left:24px; }
  .ims-redesign__technical-panel { padding:28px 22px; }
}

/* 2026-09-27 Website Redesign rhythm/typography normalization.
   Keep the redesign composition distinct while matching the master Website Design
   type scale and vertical spacing system. Scoped only to the redesign variant. */
.ims-service--redesign .ims-redesign__hero {
  padding-top: calc(var(--ims-service-header-space) + clamp(22px, 2.6vw, 40px));
  padding-bottom: clamp(104px, 8vw, 138px);
  border-bottom: 1px solid var(--ims-redesign-line);
}
.ims-service--redesign .ims-redesign__hero-grid {
  align-items: start;
  gap: var(--ims-layout-gap);
}
.ims-service--redesign .ims-redesign__hero-copy,
.ims-service--redesign .ims-redesign__hero-proof {
  padding-top: clamp(4px, .8vw, 12px);
}
.ims-service--redesign .ims-redesign__hero h1 {
  font-size: clamp(36px, 9cqi, 65px);
  line-height: 1.06;
  max-width: 16ch;
}
.ims-service--redesign .ims-redesign__hero h1 span {
  max-width: 13ch;
  margin-top: 14px;
}
.ims-service--redesign .ims-redesign__hero-detail {
  margin-top: 32px;
  max-width: 720px;
  line-height: 1.65;
}

/* Match the master service type scale instead of inventing larger local sizes. */
.ims-service--redesign h2 {
  font-size: clamp(32px, calc(16px + 3cqi), 58px);
  line-height: 1.12;
}
.ims-service--redesign h3,
.ims-service--redesign .ims-redesign__triage-grid h3,
.ims-service--redesign .ims-redesign__timeline h3 {
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.ims-service--redesign .ims-redesign__technical-panel h2 {
  font-size: clamp(32px, calc(16px + 3cqi), 58px);
}

/* Use one consistent internal rhythm throughout the redesign page. */
.ims-service--redesign .ims-redesign__section-head {
  margin-bottom: clamp(36px, 4cqi, 60px);
}
.ims-service--redesign .ims-redesign__split-head {
  gap: var(--ims-layout-gap);
  margin-bottom: clamp(36px, 4cqi, 60px);
}
.ims-service--redesign .ims-redesign__triage-grid article {
  padding-block: clamp(28px, 2.8cqi, 40px);
}
.ims-service--redesign .ims-redesign__diagnostic-grid article {
  padding-top: clamp(24px, 2.2cqi, 32px);
  padding-bottom: clamp(24px, 2.2cqi, 32px);
}
.ims-service--redesign .ims-redesign__process-grid,
.ims-service--redesign .ims-redesign__proof-grid,
.ims-service--redesign .ims-redesign__decision-grid {
  gap: var(--ims-layout-gap);
}
.ims-service--redesign .ims-redesign__timeline li {
  padding-bottom: clamp(34px, 3.5cqi, 48px);
}
.ims-service--redesign .ims-redesign__technical-panel {
  padding: clamp(32px, 3.6cqi, 50px);
}
.ims-service--redesign .ims-redesign__technical-panel dl {
  margin-top: clamp(26px, 2.6cqi, 36px);
}
.ims-service--redesign .ims-redesign__proof-body {
  margin-top: 20px;
}
.ims-service--redesign .ims-redesign__decision-list article {
  padding-top: clamp(24px, 2.2cqi, 32px);
  padding-bottom: clamp(24px, 2.2cqi, 32px);
}

@media (max-width: 1024px) {
  .ims-service--redesign .ims-redesign__hero {
    padding-top: calc(var(--ims-service-header-space) + 24px);
    padding-bottom: 96px;
  }
  .ims-service--redesign .ims-redesign__hero-proof {
    padding-top: 18px;
  }
}
@media (max-width: 600px) {
  .ims-service--redesign .ims-redesign__hero {
    padding-top: calc(var(--ims-service-header-space) + 20px);
    padding-bottom: 78px;
  }
  .ims-service--redesign .ims-redesign__hero h1 {
    font-size: clamp(34px, 9vw, 44px);
    line-height: 1.04;
    max-width: 100%;
  }
  .ims-service--redesign .ims-redesign__hero h1 span {
    max-width: 100%;
    margin-top: 10px;
  }
  .ims-service--redesign .ims-redesign__hero-detail {
    margin-top: 24px;
  }
}
