.site-wrap{position: relative;overflow: clip;background: var(--color-bg);}
.container{margin-inline: auto;}
.site-main{padding-top: var(--header-height);padding-bottom: 0 !important;margin-bottom: 0 !important;}
.section{padding-block: 120px;}
.section-head{max-width: 760px;}
.section-head h2{color: var(--color-ink);font-size: inherit;font-weight:var(--font-weight-heading);line-height: inherit;}
.section-head p{color: var(--color-muted);font-size: inherit;font-weight: inherit;line-height: inherit;}
#footer:empty{display: contents;}
@keyframes live-pulse {
  0% {
    transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}
@keyframes marqueeTicker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes galleryHorizontalTicker {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}
@keyframes expertsMarquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
.inquiry-links{width: min(440px, 100%);margin-top: 0;display: grid;gap: 8px;}
.inquiry-links a{height: 64px;padding: 0 22px;display: flex;align-items: center;justify-content: space-between;border: 1px solid rgba(255, 255, 255, .22);border-radius: 14px;background: rgba(0, 20, 55, .56);backdrop-filter: blur(8px);transition: transform var(--motion-hover, 0.25s) var(--motion-ease-hover, ease), border-color var(--motion-hover, 0.25s) var(--motion-ease-hover, ease), background-color var(--motion-hover, 0.25s) var(--motion-ease-hover, ease);}
.inquiry-links a:hover,.inquiry-links a:focus-visible{transform: translateX(-4px);}
.inquiry-links a.is-primary{border-color: transparent;background: linear-gradient(145deg, #0b69ff, #003a99);}
.inquiry-links span{display: grid;gap: 4px;}
.inquiry-links strong{font-size: 20px;line-height: 1.2;color: #fff;}
.inquiry-links small{font-size: 10px;font-weight: 700;color: rgba(255, 255, 255, .7);}
.inquiry-links svg{width: 36px;height: 36px;padding: 8px;fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round;border: 1px solid rgba(255, 255, 255, .22);border-radius: 9px;background: rgba(255, 255, 255, .05);}
@media (max-width: 768px) {.inquiry-links{width: 100%;margin-top: 30px;gap: 10px;}
.inquiry-links a{height: 72px;padding: 0 19px;border-radius: 12px;}
.inquiry-links strong{font-size: 22px;}
.inquiry-links small{font-size: 9px;}
.inquiry-links svg{width: 39px;height: 39px;padding: 8px;}}
.hero{position: relative;height: 840px;overflow: hidden;}
.hero::before{display: none;}
.hero__slide{position: absolute;inset: 0;width: 100%;height: 100%;display: flex;align-items: center;opacity: 0;visibility: hidden;transition: opacity 0.8s ease, visibility 0.8s ease;z-index: 1;}
.hero__slide::before{content: "";position: absolute;inset: 0;z-index: 2;pointer-events: none;background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0.18) 38%, rgba(0, 0, 0, 0.06) 66%, rgba(0, 0, 0, 0.01) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.02) 48%, rgba(0, 0, 0, 0.10) 100%);}
.hero__slide.is-active{opacity: 1;visibility: visible;z-index: 2;}
.hero__content{max-width: 650px;background: transparent;backdrop-filter: none;-webkit-backdrop-filter: none;border: 0;border-radius: 0;padding: 0;box-shadow: none;z-index: 5;position: relative;color: var(--color-white, #ffffff);text-align: center;margin-inline: auto;}
.hero h1,.hero h2{color: var(--color-white, #ffffff);font-size: var(--type-hero-title-size);font-weight:var(--font-weight-heading);line-height: 1.15;letter-spacing: 0;margin: 0;text-shadow: 0 3px 22px rgba(0, 0, 0, 0.42);}
.hero h1 span,.hero h2 span{display: block;white-space: nowrap;word-break: keep-all;}
.about-source-intro__image{display: block;width: 100%;height: auto;border-radius: 18px;box-shadow: 0 20px 50px rgba(22, 54, 87, 0.12);}
.about-source-message{max-width: 1000px;margin: 48px auto 0;}
.about-source-message__eyebrow{margin: 0 0 8px;color: var(--color-primary, #003ea5);font-size: 1rem;font-weight: var(--font-bold);line-height: 1.4;letter-spacing: 0.02em;}
.about-source-message h2{margin: 0 0 28px;color: var(--color-text-dark, #13211d);font-size: clamp(2.05rem, 3vw, 2.5rem);font-weight:var(--font-weight-heading);line-height: var(--type-heading-line-height);letter-spacing: -0.025em;word-break: keep-all;}
.about-source-message__body{color: var(--color-text, #26332f);font-size: 1.05rem;font-weight: var(--font-regular);line-height: 1.8;letter-spacing: -0.01em;word-break: keep-all;}
.about-source-message__body p{margin: 0 0 22px;}
.about-source-message__signature{margin: 38px 0 0;font-size: 1.125rem;font-weight: var(--font-regular);line-height: 1.6;letter-spacing: 0.08em;}
.about-source-message__signature strong{margin-right: 14px;letter-spacing: -0.02em;}
.about-source-services{background: #f6f9fc;}
.about-source-services__grid{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 28px;}
.about-source-service-card{overflow: hidden;padding: 0 0 34px;border: 1px solid #e4ebf2;border-radius: 16px;background: #fff;text-align: center;box-shadow: 0 12px 30px rgba(12, 52, 91, 0.07);}
.about-source-service-card img{display: block;width: 100%;aspect-ratio: 305 / 280;object-fit: cover;}
@media (max-width: 1024px) {
.about-source-message h2{font-size: clamp(1.75rem, 3.125vw, 2rem);line-height: 1.3;}}
@media (max-width: 900px) {.about-source-services__grid{gap: 16px;}}
@media (max-width: 768px) {
.about-source-intro__image{min-height: 210px;border-radius: 12px;object-fit: cover;}
.about-source-message{margin-top: 34px;}
.about-source-message__eyebrow{margin-bottom: 7px;font-size: 0.875rem;line-height: 1.4;}
.about-source-message h2{margin-bottom: 22px;font-size: 1.75rem;line-height: 1.35;letter-spacing: -0.02em;}
.about-source-message__body{font-size: 1rem;line-height: 1.8;}
.about-source-message__body br{display: none;}
.about-source-services__grid{grid-template-columns: 1fr;}}
@media (max-width: 430px) {
.about-source-message h2{font-size: clamp(1.625rem, 7vw, 1.75rem);line-height: 1.36;}}
.hero__controls{position: absolute;bottom: 60px;left: 50%;transform: translateX(-50%);z-index: 10;width: calc(100% - (var(--page-gutter) * 2));max-width: var(--container);display: flex;justify-content: center;box-sizing: border-box;}
.hero__slide h1,.hero__slide h2{opacity: 0;transform: translateY(24px);transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);}
.hero__slide.is-active h1,.hero__slide.is-active h2{opacity: 1;transform: translateY(0);transition-delay: 0.3s;}
@media (max-width: 1080px) {.hero{height: 600px;}
.hero h1,.hero h2{font-size: 3rem;}
.hero__controls{bottom: 50px;}}
@media (max-width: 760px) {.hero{height: calc(100vh - 54px);height: calc(100dvh - 54px);}
.hero__slide::before{background:
      linear-gradient(90deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.24) 52%, rgba(0, 0, 0, 0.10) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.10) 0%, rgba(0, 0, 0, 0.03) 42%, rgba(0, 0, 0, 0.18) 100%);}
.hero__content{width: 100%;max-width: 100%;background: transparent;padding: 0;border-radius: 0;box-shadow: none;border: 0;margin-inline: 0;box-sizing: border-box;text-align: center;display: flex;flex-direction: column;align-items: center;}
.hero h1,.hero h2{font-size: 2.12rem;line-height: 1.2;}
.hero h1 span,.hero h2 span{white-space: normal;}
.hero__controls{bottom: 40px;justify-content: center;}}
.before-after-slider{position: relative;width: 100%;height: 100%;min-height: 480px;border-radius: var(--radius-lg);overflow: hidden;border: 1px solid var(--color-line);box-shadow: var(--shadow-card);-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-user-drag: none;background: #f1f5f9;}
.before-after-slider__handle{position: absolute;top: 0;height: 100%;width: 44px;background: transparent;z-index: 3;cursor: ew-resize;transform: translateX(-50%);display: flex;align-items: center;justify-content: center;}
.before-after-slider__handle::before{content: "";position: absolute;inset-block: 0;width: 2px;background: var(--color-white);}
.before-after-slider__handle::after{content: "< >";position: absolute;width: 44px;height: 44px;background: var(--color-white);color: #111111;border: none;border-radius: 50%;display: flex;align-items: center;justify-content: center;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);font-size: 13px;font-weight: 700;letter-spacing: -0.05em;transition: background-color 0.3s, transform 0.2s;}
.before-after-slider__handle:hover::after{background: #f8f9fa;transform: scale(1.05);}
@keyframes blob-bounce {
  0%, 100% {
    border-radius: 38% 62% 63% 37% / 41% 44% 56% 59%;
  }
  50% {
    border-radius: 55% 45% 48% 52% / 48% 52% 48% 52%;
  }
}
.location-section{padding-block: 20px 90px;background-color: transparent;}
.location-grid{display: grid;grid-template-columns: 1fr 1.2fr;gap: 40px;align-items: stretch;}
.location-info-card{background: var(--color-white);border-radius: 24px;border: 1px solid rgba(228, 234, 242, 0.9);padding: 24px;box-shadow: var(--shadow-card);display: flex;flex-direction: column;justify-content: flex-start;gap: 24px;}
.location-info__header{display: flex;flex-direction: column;gap: 8px;margin-bottom: 16px;}
.location-info__tag{display: inline-block;align-self: flex-start;font-size: 13px;font-weight: 700;color: var(--color-accent);background: rgba(245, 158, 11, 0.1);padding: 6px 14px;border-radius: 20px;line-height: 1.3;}
.location-info__title{font-size: 28px;font-weight: 700;color: var(--color-ink);line-height: 1.3;}
.location-info__address{font-size: 16px;color: var(--color-muted);font-weight: 500;line-height: 1.5;}
.location-details-list{display: flex;flex-direction: column;gap: 20px;}
.location-detail-item{display: flex;gap: 16px;align-items: flex-start;}
.location-detail-item__icon{width: 44px;height: 44px;border-radius: 50%;background: var(--color-primary-soft);color: var(--color-primary-dark);display: flex;align-items: center;justify-content: center;flex-shrink: 0;}
.location-detail-item__content{flex: 1;display: flex;flex-direction: column;gap: 4px;}
.location-detail-item__label{font-size: 14px;font-weight: 700;color: var(--color-ink);line-height: 1.3;}
.location-detail-item__value{font-size: 15px;color: var(--color-muted);line-height: 1.5;font-weight: 500;}
.map-wrapper{background: var(--color-white);border-radius: 24px;border: 1px solid rgba(228, 234, 242, 0.9);padding: 24px;box-shadow: var(--shadow-card);display: flex;flex-direction: column;gap: 20px;}
.map-container{position: relative;height: 420px;border-radius: 16px;overflow: hidden;border: 1px solid rgba(228, 234, 242, 0.8);}
.map-container iframe{height: 100%;border: 0;}
.map-buttons-row{display: grid;grid-template-columns: 1fr 1fr;gap: 12px;}
.btn-map-link{display: inline-flex;align-items: center;justify-content: center;gap: 10px;padding: 16px 20px;border-radius: 12px;font-size: 15.5px;font-weight: 750;text-decoration: none;transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);cursor: pointer;border: none;}
.btn-map-link svg,.btn-map-link img{width: 20px;height: 20px;object-fit: contain;}
.btn-map-link--naver{background-color: #03c75a;color: var(--color-white);}
.btn-map-link--naver:hover{background-color: #02b14f;transform: translateY(-3px);box-shadow: 0 8px 16px rgba(3, 199, 90, 0.25);}
.btn-map-link--kakao{background-color: #fee500;color: #191919;}
.btn-map-link--kakao:hover{background-color: #fada00;transform: translateY(-3px);box-shadow: 0 8px 16px rgba(254, 229, 0, 0.25);}
@media (max-width: 1024px) {.location-grid{grid-template-columns: 1fr;gap: 30px;}
.map-container{height: 380px;}}
@media (max-width: 768px) {.location-section{padding-block: 10px 45px;}
.location-grid{gap: var(--ds-gap);}
.location-info-card{padding: 18px;gap: 16px;}
.location-info__header{margin-bottom: 8px;gap: 6px;}
.location-info__tag{font-size: 12px;padding: 4px 10px;margin-bottom: 0;}
.location-info__title{font-size: 22px;line-height: 1.3;margin-bottom: 0;}
.location-info__address{font-size: 14px;line-height: 1.8;}
.location-details-list{gap: var(--ds-gap);}
.location-detail-item{gap: 12px;}
.location-detail-item__icon{width: 36px;height: 36px;}
.location-detail-item__icon span{font-size: 20px;}
.location-detail-item__content{gap: 2px;}
.location-detail-item__label{font-size: 13px;line-height: 1.3;margin-bottom: 0;}
.location-detail-item__value{font-size: 14px;line-height: 1.8;}
.map-wrapper{padding: 18px;gap: 16px;}
.map-container{height: 280px;}
.map-buttons-row{grid-template-columns: 1fr;gap: 8px;}
.btn-map-link{padding: 12px 16px;font-size: 14.5px;font-weight: 700;}}
.location-detail-item__value a{color: inherit;text-decoration: none;}
.location-detail-item__value a:hover{color: var(--color-primary-dark);text-decoration: underline;text-underline-offset: 3px;}
@keyframes brandTickerLoop {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}


.service-overview__media img,.service-steps__card-media img{width: 100%;height: 100%;object-fit: cover;}
.service-overview__eyebrow,.section-header__eyebrow{display: inline-block;color: var(--color-primary);font-weight: 700;font-size: 14px;letter-spacing: 0;margin-bottom: 10px;text-transform: uppercase;line-height: 1.3;}
.service-overview__title,.section-header__title{font-size: 38px;font-weight: 800;color: #000000;line-height: 1.28;}
.section-header__title{margin-bottom: 12px;}
.section-header__text{max-width: 600px;margin: 0 auto;font-size: 18px;color: #64748b;line-height: 1.55;}
.section-header{margin-bottom: 50px;}
.service-overview__title{margin-bottom: 12px;}
@media (max-width: 1024px) {.service-overview__title,.section-header__title{font-size: var(--ds-heading);}}
@media (max-width: 768px) {.service-overview__title,.section-header__title{font-size: var(--ds-heading);}
.section-header__text{padding: 0 20px;font-size: 16px;word-break: keep-all;}}
.service-overview{display: flex;align-items: stretch;gap: 80px;margin-bottom: 0;padding-bottom: 100px;position: relative;}
.service-overview__content{flex: 1.2;}
.service-overview__text{font-size: 17px;color: var(--color-text-body);line-height: 1.55;margin-bottom: 30px;}
.service-overview__media{flex: 1;border-radius: var(--radius-lg);overflow: hidden;box-shadow: var(--shadow-lift);border: 1px solid var(--color-border);background: var(--color-panel);position: relative;}
.service-overview__media::after{content: "";position: absolute;inset: 0;border-radius: var(--radius-lg);box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.03);pointer-events: none;}
@media (max-width: 1024px) {.service-overview{flex-direction: column;gap: 40px;margin-bottom: 60px;}
.service-overview__title{font-size: 30px;}
.service-overview__text{font-size: 16px;}}
.service-targets{background: var(--color-bg-light);padding: 100px 0;margin-bottom: 0;position: relative;}
.service-targets__grid{display: grid;grid-template-columns: repeat(4, 1fr);gap: 24px;margin-top: 50px;}
.service-targets__card{background: rgba(255, 255, 255, 0.85);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);padding: 40px 28px;border-radius: var(--radius-lg);box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);border: 1px solid rgba(0, 62, 165, 0.08);position: relative;display: flex;flex-direction: column;height: 100%;transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;}
.service-targets__card:hover{transform: translateY(-8px);box-shadow: 0 20px 40px rgba(0, 62, 165, 0.1);border-color: var(--color-primary);background: var(--color-white);}
.service-targets__card-header{display: flex;justify-content: space-between;align-items: flex-start;margin-bottom: 24px;}
.service-targets__icon{font-size: 32px;color: var(--color-primary);background: var(--color-primary-soft);width: 54px;height: 54px;border-radius: 12px;display: flex;align-items: center;justify-content: center;transition: background-color 0.3s, color 0.3s;}
.service-targets__card:hover .service-targets__icon{background: var(--color-primary);color: var(--color-white);}
.service-targets__title{font-size: 20px;font-weight: 800;color: var(--color-primary-dark);margin-bottom: 12px;line-height: 1.42;}
.service-targets__text{font-size: 15px;color: var(--color-text-body);line-height: 1.55;margin-bottom: 24px;flex-grow: 1;}
@media (max-width: 1200px) {.service-targets__grid{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 768px) {.service-targets{padding: 60px 0;}
.service-targets__grid{grid-template-columns: 1fr;gap: 20px;}
.service-targets__card{padding: 30px 20px;}}
.service-steps{padding: 100px 0;margin-bottom: 0;position: relative;}
.service-steps__grid{display: grid;grid-template-columns: repeat(3, 1fr);gap: 40px 30px;margin-top: 50px;}
.service-steps__card{background: var(--color-white);border-radius: var(--radius-lg);overflow: hidden;border: 1px solid var(--color-border);box-shadow: var(--shadow-card);transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;display: flex;flex-direction: column;}
.service-steps__card:hover{transform: translateY(-6px);box-shadow: var(--shadow-lift);}
.service-steps__card-media{aspect-ratio: 16 / 10;height: auto;overflow: hidden;background: var(--color-panel);}
.service-steps__card-media img{transition: transform 0.5s ease;}
.service-steps__card:hover .service-steps__card-media img{transform: scale(1.05);}
.service-steps__card-body{padding: 30px 24px;flex-grow: 1;}
.service-steps__card-number{font-size: 12px;font-weight: 850;color: var(--color-primary);text-transform: uppercase;letter-spacing: 0.05em;margin-bottom: 10px;display: block;line-height: 1.3;}
.service-steps__card-title{font-size: 18px;font-weight: 800;color: var(--color-primary-dark);margin-bottom: 12px;line-height: 1.28;}
.service-steps__card-text{font-size: 14.5px;color: var(--color-text-body);line-height: 1.55;}
@media (max-width: 1024px) {.service-steps{padding: 60px 0;}
.service-steps__grid{grid-template-columns: repeat(2, 1fr);gap: 30px 20px;}}
@media (max-width: 768px) {.service-steps__grid{display: flex;overflow-x: auto;scroll-snap-type: x mandatory;gap: 16px;margin-top: 30px;padding-bottom: 16px;-webkit-overflow-scrolling: touch;scroll-padding-left: 20px;padding-inline: 20px;margin-inline: -20px;}
.service-steps__card{flex-shrink: 0;width: 80%;scroll-snap-align: start;box-shadow: 0 4px 16px rgba(0,0,0,0.05);}
.service-steps__card-media{aspect-ratio: 16 / 9;}}
.before-after-slider{position: relative;width: 100%;aspect-ratio: 4 / 3;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-user-drag: none;background: var(--color-panel);}
.before-after-slider .before-after-slider__handle{position: absolute;top: 0;height: 100%;width: 2px;background: var(--color-white);z-index: 3;cursor: ew-resize;transform: translateX(-50%);display: flex;align-items: center;justify-content: center;}
.before-after-slider .before-after-slider__handle::after{content: "< >";position: absolute;width: 44px;height: 44px;background: var(--color-white);color: #111111;border: none;border-radius: 50%;display: flex;align-items: center;justify-content: center;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);font-size: 13px;font-weight: 700;letter-spacing: -0.05em;transition: background-color 0.3s, transform 0.2s;}
.before-after-slider .before-after-slider__handle:hover::after{background: #f8f9fa;transform: scale(1.05);}
@media (max-width: 768px) {.before-after-slider{aspect-ratio: 4 / 3;}}
.service-features{padding: 100px 0;margin-bottom: 0;position: relative;}
.features-grid{display: grid;grid-template-columns: repeat(4, 1fr);gap: 30px;margin-top: 60px;}
.features-card{background: var(--color-white);border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;box-shadow: var(--shadow-card);transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;display: flex;flex-direction: column;}
.features-card:hover{transform: translateY(-8px);box-shadow: var(--shadow-lift);}
.features-card__media{width: 100%;aspect-ratio: 4 / 3;overflow: hidden;position: relative;}
.features-card__media img{width: 100%;height: 100%;object-fit: cover;transition: transform 0.5s ease;}
.features-card:hover .features-card__media img{transform: scale(1.06);}
.features-card__body{padding: 30px 24px;display: flex;flex-direction: column;flex-grow: 1;}
.features-card__number{font-size: 13px;font-weight: 800;color: var(--color-primary);background: var(--color-primary-soft);padding: 4px 10px;border-radius: 4px;width: fit-content;margin-bottom: 10px;line-height: 1.3;}
.features-card__title{font-size: 19px;font-weight: 800;color: var(--color-primary-dark);margin-bottom: 12px;line-height: 1.28;}
.features-card__text{font-size: 14.5px;color: var(--color-text-body);line-height: 1.55;}
@media (max-width: 1200px) {.features-grid{grid-template-columns: repeat(2, 1fr);gap: 20px;}}
@media (max-width: 768px) {.service-features{padding: 60px 0;}
.features-grid{grid-template-columns: 1fr;gap: 20px;margin-top: 40px;}
.features-card__body{padding: 24px 20px;}}
@media (min-width: 1025px) {.service-targets__grid{grid-template-columns: repeat(4, 1fr) !important;}}
.scope-detail-panel{display: none;background: var(--color-white);border-radius: var(--radius-md);overflow: hidden;border: 1px solid var(--color-line);box-shadow: var(--shadow-card);animation: fadeSlideIn 0.35s ease-out;}
.scope-detail-panel.active{display: grid;grid-template-columns: repeat(4, 1fr);grid-template-rows: repeat(2, 1fr);gap: 0;padding: 0;}
.scope-img-wrap{position: relative;overflow: hidden;width: 100%;aspect-ratio: 4 / 3;}
.scope-img-wrap img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);}
.scope-img-wrap:hover img{transform: scale(1.08);}
@media (max-width: 1024px) {.scope-detail-panel.active{grid-template-columns: repeat(4, 1fr);grid-template-rows: repeat(2, 1fr);}}
@media (max-width: 768px) {.scope-detail-panel.active{grid-template-columns: repeat(2, 1fr);grid-template-rows: repeat(4, 1fr);}}
@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.service-targets__grid,.features-grid,.service-steps__grid{display: grid;gap: var(--ds-gap);margin-top: 45px;}
.service-targets__card,.features-card,.service-steps__card{border-radius: var(--radius-lg, 16px) !important;border: 1px solid var(--color-line, rgba(19, 33, 29, 0.12)) !important;box-shadow: var(--shadow-card, 0 8px 24px rgba(19, 33, 29, 0.04)) !important;transition: transform 0.3s ease, box-shadow 0.3s ease !important;background: var(--color-white, #fff);overflow: hidden;}
.service-targets__card{padding: 28px 24px !important;}
.features-card__body,.service-steps__card-body{padding: 26px 22px !important;}
.service-targets__card:hover,.features-card:hover,.service-steps__card:hover{transform: translateY(-5px) !important;box-shadow: var(--shadow-lift, 0 14px 34px rgba(19, 33, 29, 0.08)) !important;}
@media (max-width: 760px) {.service-targets__grid,.features-grid,.service-steps__grid{grid-template-columns: 1fr !important;gap: var(--ds-gap);margin-top: 30px !important;}
.service-steps__grid{margin-inline: 0 !important;padding-inline: 0 !important;}
.service-steps__card{width: 100% !important;}
.service-targets__card{padding: 20px 16px !important;}
.features-card__body,.service-steps__card-body{padding: 20px 16px !important;}
.service-targets__title,.features-card__title,.service-steps__card-title{line-height: 1.45;margin-bottom: 10px !important;}
.service-targets__text,.features-card__text,.service-steps__card-text{line-height: 1.8;}
.features-card__number,.service-steps__card-number{line-height: 1.3 !important;margin-bottom: 8px !important;}
.before-after-slider .before-after-slider__handle::after{width: 38px !important;height: 38px !important;font-size: 11px !important;}}
@media (max-width: 1080px) {.site-nav__contact-btn{flex: 1;display: flex;flex-direction: row;align-items: center;justify-content: center;border-radius: 10px;padding: 12px 10px;color: var(--color-white, #ffffff) !important;text-decoration: none;gap: 10px;transition: background 0.2s ease, transform 0.1s ease;}
.site-nav__contact-btn:nth-child(1){background: #17883b;}
.site-nav__contact-btn:nth-child(1):active{background: #11682c;}
.site-nav__contact-btn:nth-child(2){background: #36a74a;}
.site-nav__contact-btn:nth-child(2):active{background: #2b8c3d;}
.site-nav__contact-btn i{font-size: 1.4rem;color: #ffffff;flex-shrink: 0;}
.hero{height: 590px;}}
@media (max-width: 760px) {.section{padding-block: 72px;}
.hero{height: calc(100vh - 54px);height: calc(100dvh - 54px);}
.hero h1,.hero h2{font-size: 2.98rem;line-height: 1.04;}}
@media (max-width: 420px) {.hero h1,.hero h2{font-size: 2.16rem;}
.hero{height: 500px;}
.section-head h2{font-size: 2rem;}}

.qualification-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.qualification-card{padding:32px;background:var(--color-primary-soft);border-radius:12px}.qualification-card i{display:block;color:var(--color-primary);font-size:36px;margin-bottom:20px}.qualification-card h3{font-size:22px}.certificate-section{padding:80px 0}.site-sub .service-overview,.site-sub .service-steps{padding-top:80px;padding-bottom:80px}.site-sub .location-section{padding:80px 0}@media(max-width:768px){.qualification-grid{grid-template-columns:1fr}.certificate-section,.site-sub .location-section{padding:48px 0}.site-sub .service-overview,.site-sub .service-steps{padding-top:48px;padding-bottom:48px}}
.service-scope-table--guide{padding:80px 0}.service-scope-list{display:grid;gap:16px;margin-top:40px}.service-scope-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:24px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.service-scope-list dt{font-weight:800;color:var(--color-primary-dark)}.service-scope-list dd{margin:0;line-height:1.7;color:var(--color-text-body)}@media(max-width:768px){.service-scope-table--guide{padding:48px 0}.service-scope-list>div{grid-template-columns:1fr;gap:10px;padding:20px}}

/* Service places: full-width photo, facility title and hashtags. */
.service-targets--places .service-targets__card{padding:0!important;}
.service-targets__media{width:100%;aspect-ratio:16/10;overflow:hidden;flex-shrink:0;}
.service-targets__media img{display:block;width:100%;height:100%;object-fit:cover;}
.service-targets__body{padding:24px;flex:1;}
.service-targets--places .service-targets__title{margin-bottom:12px;}
.service-targets--places .service-targets__text{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;font-size:14px;line-height:1.8;}
.service-targets--places .service-targets__text span{white-space:nowrap;}
@media(max-width:760px){.service-targets__body{padding:22px 20px;}}
