/* Eight modular layouts, scoped to the new IMS Master Service variants only. */
.ims-service--variant {
  --sv-gap:clamp(28px,4vw,64px);
  --sv-space:clamp(64px,7vw,112px)
}

.ims-service--variant h1 {
  font-size:clamp(36px,4.1vw,64px);
  line-height:1.09;
  letter-spacing:-.045em;
  text-wrap:balance;
  max-width:19ch
}

.ims-service--variant h2 {
  font-size:clamp(30px,3.1vw,50px);
  line-height:1.15;
  max-width:25ch
}

.ims-service--variant h3 {
  font-size:20px;
  line-height:1.35;
  text-wrap:balance
}

.ims-service--variant p {
  font-size:17px;
  line-height:1.75;
  color:var(--soft)
}

.ims-service--variant .eyebrow {
  font-size:10px;
  letter-spacing:.15em;
  color:var(--aqua);
  margin-bottom:22px;
  line-height:1.5
}

.ims-service--variant :is(.ims-sv__hero-grid,.ims-sv__section-intro,.ims-sv__items,.ims-sv__composition)>* {
  min-width:0
}

.ims-sv__hero {
  padding:calc(95px + clamp(28px,3vw,48px)) 0 0;
  position:relative;
  background:radial-gradient(ellipse at 80% 35%,#12445070,transparent 55%),#041a25;
  border-bottom:1px solid var(--line)
}

.ims-sv__hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sv-gap);
  align-items:center;
  padding-bottom:60px
}

.ims-service--variant .ims-sv__lead {
  margin-top:26px;
  max-width:60ch;
  font-size:18px;
  line-height:1.75
}

.ims-sv__hero .ims-service__actions {
  gap:20px
}

.ims-sv__hero .button {
  font-size:11px
}

.ims-sv__hero-foot {
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid var(--line);
  padding:24px 0;
  color:var(--soft);
  font-size:10px;
  letter-spacing:.05em
}

.ims-sv__visual {
  min-width:0
}

.ims-service--variant .ims-sv__visual-label {
  color:var(--aqua);
  font-size:10px;
  letter-spacing:.07em;
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
  margin-bottom:28px
}

.ims-service--variant .ims-sv__visual-caption {
  font-size:9px;
  color:#b4ced6;
  letter-spacing:.04em;
  margin-top:22px;
  text-align:right
}

.ims-sv__art {
  position:relative;
  min-width:0;
  font-size:12px;
  color:var(--white)
}

.ims-sv__art span,.ims-sv__art small {
  line-height:1.5
}

.ims-sv__art strong {
  line-height:1.3
}

.ims-service--variant .ims-sv__art>p {
  font-size:10px;
  margin-top:22px;
  color:#afd4db
}

.ims-sv__store {
  border:1px solid #6befd87a;
  background:#092935;
  box-shadow:0 24px 55px #0005;
  padding:22px;
  border-radius:6px
}

.ims-sv__store-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:10px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line)
}

.ims-sv__store-top span {
  color:var(--soft)
}

.ims-sv__products {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding-block:24px
}

.ims-sv__products>div {
  background:linear-gradient(150deg,#153f4d,#061923);
  padding:18px 8px 12px;
  text-align:center;
  border:1px solid #8bd2d326
}

.ims-sv__products span {
  display:block;
  font-size:9px;
  margin-top:16px;
  color:var(--soft)
}

.ims-sv__object {
  display:block;
  width:50px;
  height:100px;
  margin:auto;
  background:linear-gradient(90deg,#196478,#78ceca 38%,#215b6b);
  clip-path:polygon(32% 0,68% 0,70% 12%,90% 25%,90% 100%,10% 100%,10% 25%,30% 12%)
}

.ims-sv__products>div:nth-child(2) .ims-sv__object {
  background:linear-gradient(90deg,#803f37,#e69b89 38%,#884e45);
  clip-path:polygon(20% 10%,80% 10%,100% 100%,0 100%)
}

.ims-sv__products>div:nth-child(3) .ims-sv__object {
  height:80px;
  margin-top:20px;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%)
}

.ims-sv__checkout {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  border-top:1px solid var(--line);
  padding-top:18px;
  font-size:10px
}

.ims-sv__checkout strong {
  color:var(--aqua)
}

.ims-sv__receipt {
  position:relative;
  margin:20px 0 0 22%;
  padding:22px;
  background:#0c3441;
  border-left:2px solid var(--aqua);
  box-shadow:0 20px 40px #0004
}

.ims-sv__receipt>span {
  font-size:9px;
  color:var(--aqua)
}

.ims-sv__receipt strong {
  display:block;
  font-size:25px;
  margin:12px 0 16px
}

.ims-sv__receipt small {
  font-size:9px;
  color:var(--soft)
}

.ims-sv__search {
  border:1px solid #6befd88f;
  border-left:3px solid var(--aqua);
  padding:24px;
  background:#082936
}

.ims-sv__search>span {
  display:block;
  font-size:10px;
  color:var(--aqua);
  margin-bottom:15px
}

.ims-sv__search strong {
  font-size:24px;
  display:block
}

.ims-sv__crawl {
  display:grid;
  gap:18px;
  margin:26px 0 26px 35px;
  padding-left:25px;
  border-left:1px solid #6befd87a
}

.ims-sv__crawl>div {
  position:relative;
  display:grid;
  grid-template-columns:.8fr 1fr;
  align-items:center;
  gap:7px 16px;
  padding:20px;
  background:#082a37;
  border:1px solid var(--line)
}

.ims-sv__crawl>div:before {
  content:'';
  position:absolute;
  left:-26px;
  top:50%;
  width:25px;
  height:1px;
  background:var(--aqua)
}

.ims-sv__crawl span {
  color:var(--aqua);
  font-size:10px;
  grid-row:1/3
}

.ims-sv__crawl strong {
  font-size:24px
}

.ims-sv__crawl small {
  color:var(--soft);
  font-size:9px
}

.ims-sv__code {
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  justify-content:space-between;
  font-size:10px;
  border-top:1px solid var(--line);
  padding-top:20px
}

.ims-sv__orbit {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:22px;
  align-items:center;
  position:relative;
  padding:28px 0
}

.ims-sv__orbit:before {
  content:'';
  position:absolute;
  inset:0 16%;
  border-inline:1px solid #6befd833;
  border-block:1px solid #6befd833;
  pointer-events:none
}

.ims-sv__orbit>span {
  position:relative;
  text-align:center;
  padding:24px 8px;
  background:#0a2e3c;
  border:1px solid #7dccd74d;
  font-size:12px
}

.ims-sv__orbit>strong {
  position:relative;
  grid-column:1/-1;
  justify-self:center;
  text-align:center;
  font-size:38px;
  background:#0e3d4b;
  outline:1px solid var(--aqua);
  border:8px solid #092a35;
  padding:25px 60px;
  color:var(--aqua);
  z-index:1
}

.ims-sv__campaign {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-top:24px;
  margin-top:25px;
  border-top:1px solid var(--line);
  font-size:10px;
  color:var(--aqua)
}

.ims-sv__studio {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:16px;
  align-items:stretch
}

.ims-sv__studio>div {
  padding:25px 20px;
  display:flex;
  flex-direction:column;
  min-height:200px;
  justify-content:space-between;
  background:#0e3a47;
  border:1px solid #7bdddc50
}

.ims-sv__studio>div:first-child {
  background:linear-gradient(145deg,#135068,#0a2636);
  min-height:245px
}

.ims-sv__studio>div:nth-child(2) {
  background:#b8e5df;
  color:#092935;
  margin-top:38px
}

.ims-sv__studio>div:nth-child(3) {
  background:#171e2e;
  color:#f5c2b6
}

.ims-sv__studio>div:nth-child(4) {
  background:linear-gradient(35deg,#134153,#092a3b);
  margin-bottom:25px
}

.ims-sv__studio strong {
  font-size:24px;
  letter-spacing:-.04em
}

.ims-sv__studio b {
  font-size:72px;
  line-height:1.1
}

.ims-sv__studio span {
  font-size:10px
}

.ims-sv__brand-board {
  display:grid;
  grid-template-columns:1fr 80px;
  border:1px solid #73dbda77;
  background:#092b38;
  padding:26px;
  gap:24px;
  box-shadow:0 24px 50px #0005
}

.ims-sv__type-study>span {
  display:block;
  color:var(--soft);
  font-size:10px
}

.ims-sv__type-study strong {
  display:block;
  font-size:clamp(90px,10vw,150px);
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.08em;
  color:#d0f0e9;
  margin-block:24px
}

.ims-sv__type-study small {
  font-size:12px
}

.ims-sv__swatches {
  display:grid;
  gap:10px;
  grid-template-columns:repeat(4,1fr)
}

.ims-sv__swatches i {
  display:block;
  min-height:28px;
  background:#6befd8
}

.ims-sv__swatches i:nth-child(2) {
  background:#0b4355
}

.ims-sv__swatches i:nth-child(3) {
  background:#ff967e
}

.ims-sv__swatches i:nth-child(4) {
  background:#edf5f6
}

.ims-sv__brand-board>.ims-sv__swatches {
  grid-template-columns:1fr
}

.ims-sv__brand-rule {
  grid-column:1/-1;
  padding-top:24px;
  border-top:1px solid var(--line);
  display:flex;
  gap:24px;
  justify-content:space-between;
  align-items:start
}

.ims-sv__brand-rule span {
  color:var(--aqua);
  font-size:10px
}

.ims-sv__brand-rule strong {
  font-size:24px
}

.ims-sv__mark-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:18px;
  align-items:end;
  background-image:linear-gradient(#73cbd412 1px,transparent 1px),linear-gradient(90deg,#73cbd412 1px,transparent 1px);
  background-size:30px 30px;
  padding:30px 16px
}

.ims-sv__mark {
  display:grid;
  place-items:center;
  color:var(--aqua);
  border:1px solid #6befd87f;
  aspect-ratio:1;
  background:#041c26;
  padding:22px
}

.ims-sv__mark svg {
  width:100%;
  height:auto
}

.ims-sv__mark--light {
  background:#d9eeed;
  color:#0b4355;
  margin-bottom:20px
}

.ims-sv__mark-sizes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:28px;
  border-block:1px solid var(--line);
  padding:20px 0;
  font-size:10px;
  color:var(--soft)
}

.ims-sv__app-phones {
  display:flex;
  gap:25px;
  align-items:start;
  padding:20px 4%
}

.ims-sv__app-phones>div {
  width:50%;
  padding:27px 18px;
  background:linear-gradient(#0d3441,#041a24);
  border:5px solid #072531;
  outline:1px solid var(--aqua);
  border-radius:14px;
  box-shadow:0 20px 40px #0005;
  min-height:355px;
  display:flex;
  flex-direction:column;
  gap:20px
}

.ims-sv__app-phones>div:last-child {
  margin-top:55px
}

.ims-sv__app-phones span {
  font-size:10px;
  color:var(--aqua)
}

.ims-sv__app-phones strong {
  font-size:26px;
  letter-spacing:-.04em
}

.ims-sv__app-phones i {
  height:65px;
  background:repeating-linear-gradient(0deg,transparent 0 15px,#74d3d52b 16px 17px);
  margin-top:auto
}

.ims-sv__app-phones small {
  font-size:10px;
  color:var(--soft)
}

.ims-sv__app-phones em {
  font-style:normal;
  background:#22596a;
  color:var(--white);
  padding:12px 5px;
  text-align:center;
  font-size:10px
}

.ims-sv__architecture {
  display:grid;
  gap:22px;
  padding:12px 0 12px 24px;
  border-left:1px solid #6befd877
}

.ims-sv__architecture>div {
  position:relative;
  padding:24px 25px;
  border:1px solid #5daab35e;
  background:#092a38;
  box-shadow:8px 8px 0 #03131d
}

.ims-sv__architecture>div:before {
  position:absolute;
  content:'';
  width:24px;
  height:1px;
  left:-25px;
  top:50%;
  background:var(--aqua)
}

.ims-sv__architecture span {
  font-size:10px;
  color:var(--aqua);
  display:block;
  margin-bottom:12px
}

.ims-sv__architecture strong {
  font-size:24px
}

.ims-sv__section {
  padding-block:var(--sv-space);
  border-bottom:1px solid #8ad7de25
}

.ims-sv__section:nth-of-type(2n) {
  background:#06212c
}

.ims-sv__section-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sv-gap);
  align-items:start
}

.ims-sv__section-intro:not(:has(.ims-sv__body)) {
  display:block
}

.ims-sv__body p+p {
  margin-top:18px
}

.ims-sv__composition {
  margin-top:42px
}

.ims-sv__items {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 40px
}

.ims-sv__items>li {
  border-top:1px solid var(--line);
  padding:25px 0;
  display:flex;
  gap:20px;
  align-items:start;
  position:relative
}

.ims-sv__number {
  font-size:10px;
  line-height:1.7;
  color:var(--aqua);
  min-width:20px;
  padding-top:4px;
  font-variant-numeric:tabular-nums
}

.ims-service--variant .ims-sv__items p {
  font-size:15px;
  line-height:1.75;
  margin-top:13px
}

.ims-sv__section-links {
  display:flex;
  flex-wrap:wrap;
  gap:24px 35px;
  margin-top:32px
}

.ims-sv__section--features .ims-sv__items {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:25px
}

.ims-sv__section--features .ims-sv__items:has(li:nth-child(5)) {
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.ims-sv__section--features li {
  display:block;
  border-top:2px solid #6befd888;
  padding-top:22px
}

.ims-sv__section--features .ims-sv__number {
  display:block;
  margin-bottom:22px
}

.ims-sv__section--features h3 {
  font-size:21px
}

.ims-sv__section--journey .ims-sv__items,.ims-sv__section--path .ims-sv__items {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0
}

.ims-sv__section--journey .ims-sv__items:has(li:nth-child(7)) {
  grid-template-columns:repeat(7,minmax(0,1fr))
}

.ims-sv__section--path .ims-sv__items {
  grid-template-columns:repeat(4,minmax(0,1fr))
}

.ims-sv__section--journey li,.ims-sv__section--path li {
  display:block;
  border-top:1px solid var(--aqua);
  padding:26px 26px 0 0
}

.ims-sv__section--journey .ims-sv__number,.ims-sv__section--path .ims-sv__number {
  display:block;
  margin-bottom:24px
}

.ims-sv__section--journey h3,.ims-sv__section--path h3 {
  font-size:18px
}

.ims-sv__section--editorial>.container {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:var(--sv-gap)
}

.ims-sv__section--editorial .ims-sv__section-intro {
  display:block
}

.ims-sv__section--editorial .ims-sv__body {
  margin-top:26px
}

.ims-sv__section--editorial .ims-sv__composition {
  margin:0
}

.ims-sv__section--editorial .ims-sv__items {
  grid-template-columns:1fr
}

.ims-sv__section--editorial .ims-sv__section-links {
  grid-column:1/-1
}

.ims-sv__section--statement {
  background:linear-gradient(100deg,#0b3442,#041924)!important
}

.ims-sv__section--statement h2 {
  max-width:26ch
}

.ims-sv__section--statement .ims-sv__items {
  grid-template-columns:repeat(5,1fr);
  gap:24px
}

.ims-sv__section--statement .ims-sv__items h3 {
  font-size:16px
}

.ims-sv__section--statement .ims-sv__number {
  display:none
}

.ims-sv__section--hub .ims-sv__composition {
  display:grid;
  grid-template-columns:.6fr 1.4fr;
  gap:55px;
  align-items:center
}

.ims-sv__hub {
  padding:38px 24px;
  border:1px solid var(--aqua);
  background:#0b3341;
  box-shadow:0 0 0 10px #6befd807;
  text-align:center;
  position:relative
}

.ims-sv__hub:after {
  content:'';
  position:absolute;
  left:100%;
  top:50%;
  width:55px;
  height:1px;
  background:var(--aqua)
}

.ims-sv__hub span {
  display:block;
  color:var(--soft);
  font-size:10px
}

.ims-sv__hub strong {
  display:block;
  margin-top:20px;
  font-size:30px;
  color:var(--aqua)
}

.ims-sv__section--network .ims-sv__items {
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  border-left:1px solid var(--aqua);
  padding-left:28px
}

.ims-sv__section--network li {
  display:block;
  border:1px solid var(--line);
  padding:26px;
  background:#0a2b38
}

.ims-sv__section--network li:before {
  content:'';
  position:absolute;
  left:-29px;
  top:50%;
  height:1px;
  width:28px;
  background:#6befd880
}

.ims-sv__section--network .ims-sv__number {
  display:block;
  margin-bottom:18px
}

.ims-sv__section--board .ims-sv__items {
  grid-template-columns:repeat(5,1fr);
  gap:16px
}

.ims-sv__section--board li {
  display:block;
  padding:24px 20px;
  border:1px solid var(--line);
  background:#0a2d3a
}

.ims-sv__section--board li:nth-child(2n) {
  background:#113442
}

.ims-sv__section--board .ims-sv__number {
  display:block;
  margin-bottom:25px;
  border-bottom:1px solid var(--aqua);
  padding-bottom:16px
}

.ims-sv__section--board h3 {
  font-size:18px
}

.ims-sv__section--identity .ims-sv__composition,.ims-sv__section--applications .ims-sv__composition {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:var(--sv-gap);
  align-items:start
}

.ims-sv__identity-sample {
  padding:30px;
  border:1px solid #84d7d65e;
  background:#0a2a38
}

.ims-sv__letterform {
  display:block;
  font-size:110px;
  font-weight:600;
  line-height:1;
  color:#d1efeb;
  letter-spacing:-.08em;
  margin-bottom:28px
}

.ims-sv__identity-sample>span:last-child {
  display:block;
  font-size:10px;
  margin-top:25px;
  color:var(--soft)
}

.ims-sv__section--applications .ims-sv__items li {
  min-height:120px;
  align-items:center;
  background:#092b36;
  padding:22px;
  border:1px solid var(--line)
}

.ims-sv__section--applications .ims-sv__items {
  gap:20px
}

.ims-sv__section--mosaic .ims-sv__items {
  grid-template-columns:repeat(4,1fr);
  gap:18px
}

.ims-sv__section--mosaic li {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:175px;
  background:linear-gradient(140deg,#0b3445,#071f2b);
  border:1px solid #75c8ce4a;
  padding:25px
}

.ims-sv__section--mosaic li:nth-child(3n+1) {
  background:#104051
}

.ims-sv__section--mosaic li:nth-child(4n) {
  background:#202b39
}

.ims-sv__section--mosaic h3 {
  font-size:21px
}

.ims-service--social-media .ims-sv__section--mosaic li:nth-child(1),.ims-service--branding-creative .ims-sv__section--mosaic li:nth-child(1) {
  grid-column:span 2
}

.ims-sv__section--comparison .ims-sv__items {
  gap:35px
}

.ims-sv__section--comparison li {
  padding:36px;
  border:1px solid var(--line);
  display:block;
  background:#0a303d
}

.ims-sv__section--comparison li+li {
  border-color:#6befd887
}

.ims-sv__section--comparison .ims-sv__number {
  display:block;
  margin-bottom:25px
}

.ims-sv__section--comparison h3 {
  font-size:28px
}

.ims-sv__section--formats .ims-sv__items {
  grid-template-columns:repeat(5,1fr);
  gap:22px
}

.ims-sv__section--formats li {
  padding:28px 22px;
  border:1px solid var(--line);
  background:#092c39;
  display:block;
  border-top:3px solid #6befd894
}

.ims-sv__section--formats .ims-sv__number {
  display:block;
  margin-bottom:24px
}

.ims-sv__section--formats h3 {
  font-size:26px
}

.ims-sv__section--phones .ims-sv__items {
  grid-template-columns:repeat(5,1fr);
  gap:25px
}

.ims-sv__section--phones li {
  border:1px solid #7ed4d580;
  border-radius:12px;
  box-shadow:inset 0 0 0 5px #0c2d39;
  padding:25px 18px;
  min-height:230px;
  display:flex;
  flex-direction:column;
  background:linear-gradient(#0a2b38,#041a24);
  justify-content:space-between
}

.ims-sv__section--phones h3 {
  font-size:19px
}

.ims-sv__section--phones li:after {
  content:'';
  width:100%;
  height:35px;
  border-top:1px solid #72cbd344;
  border-bottom:1px solid #72cbd344
}

.ims-sv__section--layers .ims-sv__composition {
  max-width:1000px;
  margin-inline:auto
}

.ims-sv__section--layers .ims-sv__items {
  grid-template-columns:1fr;
  gap:18px;
  border-left:1px solid #6befd877;
  padding-left:32px
}

.ims-sv__section--layers li {
  padding:28px;
  background:#0c2e3b;
  border:1px solid var(--line)
}

.ims-sv__section--layers li:before {
  content:'';
  position:absolute;
  left:-33px;
  top:50%;
  width:32px;
  height:1px;
  background:var(--aqua)
}

.ims-sv__related {
  padding-block:65px;
  border-top:1px solid var(--line)
}

.ims-sv__related h2 {
  font-size:32px
}

.ims-sv__related-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
  margin-top:30px
}

.ims-sv__related-links>* {
  display:block;
  border-block:1px solid var(--line);
  padding:24px 0;
  font-weight:600;
  font-size:20px
}

.ims-sv__related-links a {
  color:var(--aqua)
}

.ims-sv__related-links a:hover {
  text-decoration:underline;
  text-underline-offset:7px
}

.ims-service--branding-creative .ims-sv__hero-grid,.ims-service--social-media .ims-sv__hero-grid {
  grid-template-columns:.95fr 1.05fr
}

.ims-service--logo-design .ims-sv__hero {
  background:radial-gradient(ellipse at 78% 15%,#1f56616b,transparent 60%),#041822
}

.ims-service--web-applications .ims-sv__hero-grid {
  grid-template-columns:1.12fr .88fr
}

@media(min-width:1700px) {
  .ims-sv__hero {
    padding-top:155px
  }
}

@media(max-width:1100px) {
  .ims-sv__hero {
    padding-top:120px
  }
  .ims-service--variant h1 {
    font-size:clamp(36px,4.3vw,48px)
  }
  .ims-sv__hero-grid {
    gap:30px
  }
  .ims-sv__section--features .ims-sv__items,.ims-sv__section--features .ims-sv__items:has(li:nth-child(5)),.ims-sv__section--mosaic .ims-sv__items,.ims-sv__section--network .ims-sv__items {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .ims-sv__section--formats .ims-sv__items,.ims-sv__section--board .ims-sv__items {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .ims-sv__section--journey .ims-sv__items:has(li:nth-child(7)) {
    grid-template-columns:repeat(4,1fr);
    row-gap:35px
  }
  .ims-sv__section--phones .ims-sv__items {
    gap:12px
  }
  .ims-sv__section--phones li {
    padding-inline:12px
  }
  .ims-sv__section--phones h3 {
    font-size:16px
  }
  .ims-sv__app-phones {
    gap:16px;
    padding-inline:0
  }
  .ims-sv__app-phones>div {
    padding:24px 12px
  }
  .ims-sv__app-phones strong {
    font-size:21px
  }
  .ims-sv__studio strong {
    font-size:21px
  }
  .ims-sv__section--hub .ims-sv__composition {
    grid-template-columns:1fr;
    gap:32px
  }
  .ims-sv__hub {
    max-width:400px;
    margin-inline:auto
  }
  .ims-sv__hub:after {
    left:50%;
    top:100%;
    width:1px;
    height:32px
  }
}

@media(max-width:800px) {
  .ims-sv__hero {
    padding-top:105px
  }
  .ims-sv__hero-grid,.ims-service--branding-creative .ims-sv__hero-grid,.ims-service--social-media .ims-sv__hero-grid,.ims-service--web-applications .ims-sv__hero-grid {
    grid-template-columns:1fr
  }
  .ims-service--variant h1 {
    font-size:clamp(36px,6.5vw,52px);
    max-width:23ch
  }
  .ims-sv__visual {
    max-width:650px;
    width:100%;
    margin-inline:auto
  }
  .ims-sv__section-intro,.ims-sv__section--editorial>.container {
    grid-template-columns:1fr
  }
  .ims-sv__section--editorial .ims-sv__composition {
    margin-top:0
  }
  .ims-sv__section--journey .ims-sv__items,.ims-sv__section--journey .ims-sv__items:has(li:nth-child(7)),.ims-sv__section--path .ims-sv__items,.ims-sv__section--statement .ims-sv__items {
    grid-template-columns:repeat(3,1fr);
    gap:30px 15px
  }
  .ims-sv__section--identity .ims-sv__composition,.ims-sv__section--applications .ims-sv__composition {
    grid-template-columns:1fr
  }
  .ims-sv__identity-sample {
    max-width:400px;
    min-width:280px
  }
  .ims-sv__section--phones .ims-sv__items {
    grid-template-columns:repeat(3,1fr);
    gap:25px
  }
  .ims-sv__section--phones li {
    min-height:240px;
    padding-inline:22px
  }
  .ims-sv__section--phones h3 {
    font-size:19px
  }
}

@media(max-width:550px) {
  .ims-service--variant h1 {
    font-size:36px
  }
  .ims-service--variant h2 {
    font-size:31px
  }
  .ims-service--variant .ims-sv__lead {
    font-size:17px
  }
  .ims-sv__hero-foot {
    flex-direction:column;
    gap:10px
  }
  .ims-sv__hero-grid {
    padding-bottom:35px
  }
  .ims-sv__visual-label {
    line-height:1.5
  }
  .ims-sv__store {
    padding:16px
  }
  .ims-sv__store-top {
    flex-direction:column
  }
  .ims-sv__products {
    gap:8px
  }
  .ims-sv__object {
    width:40px;
    height:80px
  }
  .ims-sv__products>div:nth-child(3) .ims-sv__object {
    height:60px
  }
  .ims-sv__receipt {
    margin-left:8%;
    padding:20px
  }
  .ims-sv__receipt strong {
    font-size:23px
  }
  .ims-sv__search strong {
    font-size:20px
  }
  .ims-sv__crawl {
    margin-left:10px
  }
  .ims-sv__crawl strong {
    font-size:22px
  }
  .ims-sv__orbit {
    gap:12px
  }
  .ims-sv__orbit>span {
    padding:20px 6px;
    font-size:10px
  }
  .ims-sv__orbit>strong {
    font-size:30px;
    padding:22px 45px
  }
  .ims-sv__campaign {
    font-size:9px;
    flex-wrap:wrap
  }
  .ims-sv__studio {
    gap:12px
  }
  .ims-sv__studio>div {
    padding:20px 15px;
    min-height:170px
  }
  .ims-sv__studio strong {
    font-size:20px
  }
  .ims-sv__studio>div:first-child {
    min-height:210px
  }
  .ims-sv__studio b {
    font-size:60px
  }
  .ims-sv__brand-board {
    padding:20px;
    grid-template-columns:1fr 50px;
    gap:18px
  }
  .ims-sv__type-study strong {
    font-size:100px
  }
  .ims-sv__brand-rule {
    flex-direction:column;
    gap:15px
  }
  .ims-sv__mark-grid {
    padding-inline:0;
    gap:12px
  }
  .ims-sv__mark {
    padding:12px
  }
  .ims-sv__mark-sizes {
    font-size:9px;
    gap:12px
  }
  .ims-sv__app-phones {
    gap:14px
  }
  .ims-sv__app-phones>div {
    min-height:340px;
    padding:24px 11px;
    border-width:3px
  }
  .ims-sv__app-phones strong {
    font-size:20px
  }
  .ims-sv__architecture strong {
    font-size:21px
  }
  .ims-sv__architecture>div {
    padding:22px 18px
  }
  .ims-sv__items,.ims-sv__section--features .ims-sv__items,.ims-sv__section--features .ims-sv__items:has(li:nth-child(5)),.ims-sv__section--network .ims-sv__items,.ims-sv__section--board .ims-sv__items,.ims-sv__section--formats .ims-sv__items,.ims-sv__section--comparison .ims-sv__items {
    grid-template-columns:1fr
  }
  .ims-sv__section--mosaic .ims-sv__items {
    grid-template-columns:1fr 1fr;
    gap:12px
  }
  .ims-sv__section--mosaic li {
    padding:22px 16px;
    min-height:165px
  }
  .ims-sv__section--mosaic h3 {
    font-size:17px
  }
  .ims-sv__section--journey .ims-sv__items,.ims-sv__section--journey .ims-sv__items:has(li:nth-child(7)),.ims-sv__section--path .ims-sv__items,.ims-sv__section--statement .ims-sv__items {
    grid-template-columns:1fr;
    gap:0
  }
  .ims-sv__section--journey li,.ims-sv__section--path li {
    display:flex;
    gap:22px;
    padding:26px 0;
    border-color:var(--line)
  }
  .ims-sv__section--journey .ims-sv__number,.ims-sv__section--path .ims-sv__number {
    margin:0
  }
  .ims-sv__section--phones .ims-sv__items {
    grid-template-columns:1fr 1fr;
    gap:16px
  }
  .ims-sv__section--phones li {
    min-height:210px;
    padding:24px 15px
  }
  .ims-sv__section--phones h3 {
    font-size:17px
  }
  .ims-sv__section--phones li:last-child {
    grid-column:1/-1;
    max-width:240px;
    width:100%;
    justify-self:center
  }
  .ims-sv__section--applications .ims-sv__items {
    grid-template-columns:1fr 1fr;
    gap:14px
  }
  .ims-sv__section--applications li {
    padding:20px 15px!important;
    display:block!important
  }
  .ims-sv__section--applications h3 {
    font-size:17px
  }
  .ims-sv__section--applications .ims-sv__number {
    display:block;
    margin-bottom:15px
  }
  .ims-sv__section--layers .ims-sv__items {
    padding-left:20px
  }
  .ims-sv__section--layers li {
    padding:24px 18px
  }
  .ims-sv__section--layers li:before {
    left:-21px;
    width:20px
  }
  .ims-sv__related-links {
    grid-template-columns:1fr;
    gap:0
  }
  .ims-sv__related-links>*+* {
    border-top:0
  }
  .ims-sv__related h2 {
    font-size:29px
  }
}

