.section--hero .sub-hero__content,
.section--hero .hero__content {
  width: 60%;
  text-wrap: auto;
}
.section--hero .sub-hero__visual {
  width: 40%;
  padding: 1.5rem;
}
.section--hero .sub-hero__title {
  font-size: var(--fs-h2);
  line-height: var(--line-ht-2);
  font-weight: 400;
}
.section--hero.section--dark .sub-hero {
  flex-direction: row-reverse;
} 
.section--hero.section--dark .sub-hero__title {
  font-weight: 700;
}
.section--hero .sub-hero__desc {
  font-size: var(--fs-p);
  color: var(--fc-natural-300);
  line-height: var(--line-ht-2);
}
.section--hero .sub-hero__desc strong {
  font-weight: 600;
}
.section--card-features.odds .sub-summary-list:not(.mt80) {
  display: flex;
  justify-content: center;
  gap: var(--gap-3);
}
.section--card-features.odds .sub-summary-list:not(.mt80) > li {
  flex: 0 0 calc((100% - 48px) / 3); /* calc() 내부 px 유지 */
}
.section--card-features.odds .sub-summary-list:last-child {
  margin-top: 1.5rem;
}
.section--card-features .sub-summary-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-3);
  list-style: none;
}
.section--card-features .sub-summary-list li {
  background: #fff;
  padding: 2.5rem 1.25rem;
  border-radius: var(--radius-3);
}
.section--card-features .sub-summary-list__icon {
  width: 60px;
  height: 60px;
  padding: 0.625rem;
  color: var(--dmove-500);
  background-color: var(--dmove-50);
  border-radius: var(--radius-5);
  display: flex;
  align-items: center;
}
.section--card-features .sub-summary-list__title {
  font-size: var(--fs-p);
  margin: 1.5rem 0;
}
.section--card-features .sub-summary-list p {
  margin: 0.5rem 0 0;
  font-size: var(--fs-span);
  color: var(--fc-natural-300);
}
.section--link .b-flex {
  gap: 10rem;
}
.section--link h3 {
  font-size: var(--fs-h4);
  word-break: keep-all;
  text-wrap-mode: nowrap;
}
.section--link__grid {
  max-width: 80%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-2);
}
.section--link__grid h4 {margin-top: 1rem;}
.section--link__grid h4 img{
  height: 30px;
  object-fit: contain;
}
.section--link .section-grid-card {
  display: block;
  border: 1px solid #e5e7ef;
  border-radius: var(--radius-3);
  padding: 1.5rem;
  color: inherit;
  text-decoration: none;
  position: relative;
  min-width: 360px;
}
.section--link .section-grid-card span {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  border: 1px solid var(--bg-300);
  border-radius: var(--radius-5);
  margin-left: auto;
  margin-top: 2rem;
}
.section--link .section-grid-card span::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto; 
  width: 24px;
  height: 24px;
  background: url("../img/icon/raw/btn-arrow-right.svg") no-repeat center / contain;
}
.section--link .section-grid-card h4 {
  font-size: var(--fs-p);
  margin-bottom: 0.625rem;
}
.section--link .section-grid-card p {
  color: var(--fc-natural-300);
  line-height: var(--line-ht-2);
}
.section--cta-end {
  background: linear-gradient(180deg, #f0f4ff 0%, #ecf2ff 100%);
}
.section--cta-end .section__header {
  text-align: left;
}
.section--diagram .sub-hero__visual {
  width: 100%;
  padding: 0;
  margin-bottom: 1.5rem;
}
.section--diagram__list {
  text-align: center;
  justify-content: space-between;
  gap: var(--gap-3);
}
.section--diagram__list li {flex: 1;}
.section--diagram__list li:nth-of-type(2n+2) span {
  margin-bottom: 0;
}
.section--diagram__list li:nth-of-type(2n+2) p {
  margin-bottom: 0.5rem;
}
.section--diagram__list h4 {
  font-size: var(--fs-p);
  margin-bottom: 0.5rem;
}
.section--diagram__list span {
  font-size: var(--fs-span);
  display: inline-block;
  margin-bottom: 0.5rem;
}
.section--diagram__list p {
  color: var(--fc-natural-200);
}
.section--range .flex-wrap {
  justify-content: space-between;
}
.section--range .section-range-grid {
  flex-direction: column;
  justify-content: space-between;
}
.section-range-grid {
  width: 50%;
}
.section--range .visual {
  width: 50%;
}
.section--range h4 {
  font-size: var(--fs-p);
  margin-bottom: 0.5rem;
}
.section--range .section-range-card__desc {
  color: var(--fc-natural-300);
}
.section--hero .sub-hero__logo img {
  max-height: 50px;
}
.section--summary .sub-summary-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-3);
  list-style: none;
}
.section--summary.even .sub-summary-list {
  grid-template-columns: repeat(2, 1fr);
}
.section--summary .sub-summary-list li,
.section--card-features .sub-summary-list li {
  background: #fff;
  padding: 3.75rem 2.5rem;
  border-radius: var(--radius-3);
  box-shadow: var(--box-shadow-dmove);
}
.section--summary .sub-summary-list h4 {
  font-size: var(--fs-p);
  margin: 1.5rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.6em * 2);
}
.section--summary .sub-summary-list__icon {
  width: 80px;
  height: 80px;
  padding: 0.625rem;
  color: var(--dmove-500);
  background-color: var(--dmove-50);
  border-radius: var(--radius-5);
  display: flex;
  justify-content: center;
  align-items: center;
}
.section--summary .sub-summary-list__icon img,
.section--feature .section-feature-card__icon img {
  width: 40px;
  height: 40px;
}
.section--summary .sub-summary-list__title {
  font-size: var(--fs-h5);
  margin: 1.5rem 0;
}
.section--summary .sub-summary-list p {
  margin: 0.5rem 0 0;
  font-size: var(--fs-span);
  color: var(--fc-natural-300);
  text-wrap: auto;
}
.section--summary.feature .sub-summary-list p {
  padding: 0;
}
.section--summary.feature .sub-summary-list li {
  text-align: start;
}
.section--summary.feature .sub-summary-list__icon {
  margin: 0;
  margin-bottom: 1rem;
}
.section--summary.feature .sub-summary-list h4 {
  font-size: var(--fs-p);
}
.section-feature-card__title {
  font-size: var(--fs-p);
  margin-bottom: 0.5rem;
}
.feature__content {
  justify-content: space-between;
  gap: var(--gap-6);
}
.left-align .feature__content {
  width: 70%;
}
.feature__content .section-feature-card {
  gap: var(--gap-2);
}
.feature__content .section-feature-card__desc {
  color: var(--fc-natural-300);
  text-wrap: auto;
  max-width: 300px;
}
.feature__content .feature__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-6);
}
.section--feature .section-feature-card__icon {
  width: 80px;
  height: 80px;
  padding: 0.625rem;
  color: var(--dmove-500);
  background-color: var(--dmove-50);
  border-radius: var(--radius-5);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
.section--slide {
  position: relative;
}
.section--slide .slide-visual {
  width: 50%;
  height: 400px;
  background: linear-gradient(140deg, #1f3d75, #0d1f44 60%, #0c132c);
}
.section--slide .slide__content {
  width: 50%;
}
.section--slide .slide__flex-box {
  gap: var(--gap-3);
}
.section--why__items {
  justify-content: space-around;
}
.section--why .section--why__items > li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section--why .sub-summary-list__icon {
  width: 60px;
  height: 60px;
  padding: 0.625rem;
  margin: 0 auto;
  color: var(--dmove-500);
  background-color: var(--dmove-50);
  border-radius: var(--radius-5);
}
.section--why.grid-item .section--why__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  gap: var(--gap-3);
}
.section--why.grid-item .section--why__items li {
  background-color: var(--fc-light);
  border-radius: var(--radius-3);
  padding: 1.5rem;
}
.section--why.grid-item .section--why__items p {
  margin-top: 1rem;
}
.section--zigzag .zigzag__list {
  display: grid;
  gap: 5rem;
}
.section--zigzag .zigzag__list .b-flex {
  justify-content: space-between;
  align-items: center;
  gap: var(--gap-3);
}
.section--zigzag .zigzag__list .section--context-box {
  width: 50%;
}
.section--zigzag .zigzag__list .section--context-box h3 {
  font-size: var(--fs-h4);
}
.section--zigzag .zigzag__list .section--context-box h4 {
  font-size: var(--fs-h5);
}
.section--zigzag .zigzag__list .section--context-box p {
  margin-top: 1rem;
}
.section--zigzag .zigzag__list .section--context-box li::before {
  content: "\2714";
  display: inline-block;
  margin-right: 0.5rem;
}
.section--zigzag .zigzag__list .b-flex:nth-child(even) {
  flex-direction: row-reverse;
}
.section--steps .section-steps-row {
  display: flex;
  gap: var(--gap-3);
  padding: 1.125rem 0;
}
.section--steps .section-steps-row__text {
  width: 30%;
}
.section--steps .section-steps-row__text h4 {
  margin-bottom: 0.5rem;
  font-size: var(--fs-p);
}
.section--steps .section-steps-row__text p {
  color: var(--fc-natural-300);
  line-height: var(--line-ht-2);
  font-size: var(--fs-span);
  padding-right: 2.5rem;
}
.section--steps .section-steps-row__cards {
  width: 70%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-2);
  list-style: none;
  background-color: var(--dmove-50);
  padding: 1.875rem;
}
.section--steps .section-steps-row__cards>li {
  background: #fff;
  text-align: center;
  padding: 1rem 0.625rem;
  min-height: 200px;
}
.section--steps .section-steps-row__cards li h4 {
  font-size: var(--fs-span);
  margin: 1rem 0;
}
.section--steps .section-steps-row__cards li p {
  color: var(--fc-natural-300);
  font-size: var(--fs-span);
}
.section--steps .section-steps-row__bullets li {
  list-style-type: disc;
  list-style-position: inside;
  color: var(--fc-natural-300);
}
.section--steps .section-steps-row__bullets li::marker {
  color: var(--dmove-500);
}
/* .section--steps .section-steps-row__bullets li::before {
  content: "";
  display: flex;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--dmove-500);
} */
.section--steps .section-steps-row__cards__icon {
  width: 60px;
  height: 60px;
  padding: 0.625rem;
  margin: 0 auto;
  color: var(--dmove-500);
  border-radius: var(--radius-5);
}
.section--process .sub-summary-list__icon {
  width: 80px;
  height: 80px;
  padding: 0.625rem;
  margin: 0 auto;
  color: var(--dmove-500);
  background-color: var(--dmove-50);
  border-radius: var(--radius-5);
  display: flex;
  justify-content: center;
  align-items: center;
}
.section--process .section--head__heading,
.section--process .section--head__desc {
  color: #fff;
}
.section--process .section--head__desc {
  font-size: var(--fs-p);
}
.section--process .section--head__heading {
  text-align: center;
  margin-bottom: 1.5rem;
}
.section--process .section-process-list {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-6);
}
.section--process .section-process-list li {
  background: #e8eef8f0;
  border-radius: var(--radius-3);
  padding: 3.125rem 1.875rem;
  text-align: center;
}
.section--process .section-process-list .sub-summary-list__icon {
  background-color: var(--fc-light);
  color: var(--atl-400);
}
.section--process .section-process-list li h3 {
  margin-top: 1.5rem;
  font-size: var(--fs-p);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.6em * 2);
}
.section--tab .flex-box {
  justify-content: space-between;
  gap: var(--gap-3);
}
.section--tab .tab__content {
  width: 40%;
  font-size: var(--fs-span);
}
.section--tab .tab__content span{
  color: var(--fc-natural-300);
}
.section--tab .tab__list {
  justify-content: flex-start;
  cursor: pointer;
}
.section--tab .tab__list li {
  padding: 0.5rem 1rem;
  border-radius: var(--radius-4);
}
.section--tab .tab__list li.active {
  background: var(--dmove-100);
  font-weight: 600;
}
.section--tab .tab__content-item {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}
.section--tab .tab__content-item p {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.section--tab .tab__content-item p::before {
  content: "\2714";
  display: inline-block;
  margin-right: 0.5rem;
}
.section--tab .tab-ver1 .tab__content-item {
  flex-direction: row;
}
.section--tab .tab-ver1 .tab__content-item li {
  background-color: var(--fc-light);
  padding: 1.5rem;
  border-radius: var(--radius-3);
  width: calc(100% / 3);
}
.section--tab .tab-ver1 .tab__content-item p {
  font-size: var(--fs-p);
  margin: 1rem 0;
}

/* -------- Responsive refinement -------- */
@media (max-width: 1280px) {
  .section--hero .sub-hero__title {
    font-size: var(--fs-h3);
  }
  .section--summary .sub-summary-list li,
  .section--card-features .sub-summary-list li,
  .section--process .section-process-list li {
    padding: 2.5rem 1.5rem;
  }
  .section--tab .tab__list {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }
  .section--tab .flex-box {
    justify-content: flex-start;
    gap: var(--gap-3);
  }
}

@media (max-width: 1024px) {
  .section--zigzag .zigzag__list {
    gap: var(--gap-6);
  }
  .section--zigzag .zigzag__list .b-flex,
  .section--zigzag .zigzag__list .b-flex:nth-child(even) {
    flex-direction: column;
    gap: var(--gap-3);
  }
  .section--zigzag .zigzag__list .visual,
  .section--zigzag .zigzag__list .section--context-box {
    width: 100%;
  }
  .section--zigzag .zigzag__list .visual .mock {
    max-width: 520px;
    margin: 0 auto;
  }
  .section--zigzag .zigzag__list .visual img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .section--link__grid {
    max-width: 100%;
  }
  .section--link .section-grid-card {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .section--link h3 {
    text-wrap-mode: wrap;
    white-space: normal;
  }
  .section--hero .sub-hero {
    flex-direction: column;
  }
  .section--hero .sub-hero__content,
  .section--hero .sub-hero__visual,
  .section--slide .slide-visual,
  .section--slide .slide__content,
  .section-range-grid,
  .section--steps .section-steps-row__text,
  .section--steps .section-steps-row__cards {
    width: 100%;
  }
  .section--summary .sub-summary-list,
  .section--card-features .sub-summary-list,
  .section--process .section-process-list,
  .section--why.grid-item .section--why__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .section--tab .tab__list {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 0.375rem;
    padding-bottom: 0.375rem;
    margin-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }
  .section--tab .tab__list li {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  .section--range .section-range-grid {
    padding-left: 1rem;
    gap: 3rem;
  }
  .section--zigzag .zigzag__list {
    gap: 3rem;
  }
  .section--zigzag .zigzag__list .b-flex,
  .section--zigzag .zigzag__list .b-flex:nth-child(even) {
    gap: 2rem;
  }
  .section--zigzag .zigzag__list .visual .mock {
    max-width: 100%;
    min-height: 0;
  }
  .section--zigzag .zigzag__list .section--context-box h3,
  .section--zigzag .zigzag__list .section--context-box h4 {
    word-break: keep-all;
  }
  .section--zigzag .zigzag__list .section--context-box p,
  .section--zigzag .zigzag__list .section--context-box li {
    text-wrap: auto;
  }
  .section--summary .sub-summary-list,
  .section--card-features .sub-summary-list,
  .section--why.grid-item .section--why__items,
  .section--steps .section-steps-row__cards,
  .section--tab .tab-ver1 .tab__content-item {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  /* process list: 모바일은 2열 유지 (한 줄 1카드보다 시각 흐름이 안정적) */
  .section--process .section-process-list {
    /* grid-template-columns: repeat(2, 1fr);
    gap: var(--gap-3); */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--gap-2);
  }
  .section--card-features.odds .sub-summary-list:last-child {
    margin-top: var(--gap-3);
  }
  .section--link__grid {
    max-width: 100%;
  }
  .section--steps .section-steps-row {
    flex-direction: column;
  }
  .section--tab .tab-ver1 .tab__content-item li {
    width: 100%;
    box-sizing: border-box;
  }
  .section--summary .sub-summary-list li,
  .section--card-features .sub-summary-list li {
    padding: 2rem 1.25rem;
  }
  .section--process .section-process-list li {
    width: 30%;
    padding: 1rem .5rem;
  }
  .section--process .section-process-list li h3 {
    margin-top: 1rem;
    font-size: var(--fs-span);
  }
  .section--tab .tab__list li {
    padding: 0.625rem 0.875rem;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .section--tab .tab__content-item {
    gap: var(--gap-2);
  }
  .section--card-features .sub-summary-list__title {
    margin: 0;
  }
  .section .sub-summary-list__icon svg.icon {
    max-width: unset;
  }
  .section--summary .sub-summary-list h4 {
    margin: 0;
    min-height: unset;
  }
  .section--summary .sub-summary-list__title {
    margin: 0;
  }
  .section--summary .sub-summary-list__icon {
    width: 50px;
    height: 50px;
  }
  .section--link .b-flex {
    gap: var(--gap-4);
    flex-direction: column;
    align-items: start;
  }
  .left-align .feature__content {
    width: 100%;
    margin: 0;
  }
  .section--tab .flex-box {
    flex-direction: column;
  }
  .section--tab .tab__content {
    width: 100%;
  }
  .section--rovo.styleRovo .sub-hero__visual {
    margin-top: 2rem;
  }
  .section--slide .slide__content,
  .section--slide .slide-visual {
    min-width: 0;
  }
  .section--hero .sub-hero__title {
    word-break: keep-all;
  }
  .solution-detail .main .sub-summary-list li {
    display: flex;
    gap: var(--gap-4);
  }
  .section--card-features .sub-summary-list__icon img {
    width: 40px;
    height: 40px;
    max-width: unset;
  }
  .section--summary .sub-summary-list__icon img {
    max-width: unset;
  }
}

@media (max-width: 480px) {
  .section--zigzag .zigzag__list {
    gap: var(--gap-4);
  }
  .section--zigzag .zigzag__list .section--context-box h3 {
    font-size: var(--fs-h5);
  }
  .section--tab .tab__list {
    gap: 0.25rem;
  }
  .section--tab .tab__list li {
    padding: 0.625rem 0.75rem;
    font-size: 0.9rem;
  }
  .section--link__grid a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
  }
}
