/* =========================================================
   UX REFRESH — 2026-08 feedback pass
   Direction: centered composition, calmer typography,
   scroll-paced sequential reveals, and content-first stories.
========================================================= */



/* ---------- Global rhythm / typography ---------- */


p {
  line-height: 1.72;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0;
}

h2 {
  font-weight: 750;
}

html {
  -webkit-text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
  word-break: keep-all;
  overflow-wrap: break-word;
}

a,
button,
.site-btn,
.gift-btn,
.giftad-btn,
.gift-cta-btn,
.giftad-cta-btn,
.product-cta-btn,
.product-more-btn,
.product-filter-btn,
.consult-btn,
.banner-contact,
.company-map-action,
.solution-btn,
.giftad-product-link {
  min-width: 0;
}



.site-section-tight {
  padding-top: var(--ux-section-space-tight);
  padding-bottom: var(--ux-section-space-tight);
}

.section-heading,
.site-insight-heading,
.gift-section-heading,
.giftad-section-heading,
.product-section-heading,
.inquiry-process-heading {
  max-width: var(--ux-copy-width);
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.section-heading {
  margin-bottom: clamp(34px, 4vw, 50px);
}


.section-title,
.site-insight-heading h2,
.gift-section-heading h2,
.giftad-section-heading h2,
.product-section-heading h2,
.inquiry-process-heading h2 {
  font-weight: 750;
}

.section-title {
  font-size: clamp(31px, 3.2vw, 42px);
}

.section-desc,
.site-insight-heading p:not(.site-insight-kicker),
.gift-section-heading p,
.giftad-section-heading p,
.product-section-heading p,
.inquiry-process-heading p {
  max-width: 650px;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(16px, 1.35vw, 18px);
  font-weight: 450;
  line-height: 1.72;
}

.section-kicker,
.site-insight-kicker,
.about-hero-kicker,
.about-intro-kicker,
.egg-story-kicker,
.gift-hero-kicker,
.giftad-hero-kicker,
.product-hero-kicker,
.product-section-kicker,
.partner-kicker,
.giftad-section-num {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}

body * {
  letter-spacing: 0 !important;
}

/* Keep weight contrast controlled: title emphasis without 400 -> 900 jumps. */
.why-title,
.solution-title,
.metric-label,
.about-value-title,
.about-location-copy h3,
.gift-small-card h3,
.gift-benefit-copy h3,
.gift-reason-item h3,
.giftad-process-card h3,
.giftad-product-copy h3,
.product-card-title,
.product-support-item h3,
.inquiry-process-item h3,
.site-insight-card h3 {
  font-weight: 700;
}

.strength-desc,
.why-desc,
.solution-desc,
.metric-desc,
.about-value-desc,
.about-ceo-desc,
.about-location-copy p,
.gift-small-card p,
.gift-reason-item p,
.giftad-process-card p,
.giftad-product-copy li,
.product-section-heading p,
.product-support-item p,
.inquiry-process-item p,
.site-insight-card p {
  font-size: 16px;
  font-weight: 450;
  line-height: 1.68;
}

/* ---------- Cards: quieter surfaces and slower hover feedback ---------- */
.strength-card,
.solution-card,
.about-value-card,
.about-ceo-card,
.about-location-map-wrap,
.site-insight-card,
.gift-small-card,
.gift-benefit-card,
.giftad-process-card,
.giftad-store-card,
.giftad-product-card,
.product-card,
.product-support-card,
.inquiry-card,
.partner-card,
.consult-card {
  border-radius: var(--ux-card-radius);
  box-shadow: var(--ux-card-shadow);
}

.strength-card,
.solution-card,
.about-value-card,
.site-insight-card,
.gift-small-card,
.product-card {
  transition: transform 0.42s cubic-bezier(.22, 1, .36, 1),
              box-shadow 0.42s cubic-bezier(.22, 1, .36, 1),
              border-color 0.42s ease;
}


.solution-card:hover .solution-img,
.product-card:hover .product-card-img {
  transform: scale(1.025);
}

/* ---------- Home: denser, centered hierarchy ---------- */


.home-page .why-grid,
.home-page .metric-grid {
  max-width: 1000px;
}





.home-page .partner-card,
.home-page .consult-card {
  width: min(1000px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.home-page .partner-card {
  grid-template-columns: minmax(340px, 46%) minmax(0, 54%);
}

.home-page .partner-stats {
  display: none !important;
}

.partner-title,
.consult-copy h2 {
  font-weight: 750;
}

.partner-desc {
  font-size: 17px;
  font-weight: 450;
}

/* Slow banner changes; do not add movement to the copy itself. */
.main-banner-slide {
  transition: opacity 1.45s ease-in-out, visibility 0s linear 1.45s;
}


.banner-title {
  max-width: 760px;
}

.banner-content {
  max-width: 620px;
  font-size: clamp(17px, 1.5vw, 20px);
}

/* ---------- Company map: normal document flow, no sticky scroll story ---------- */
.company-map-section {
  height: auto !important;
  padding: 0 !important;
}

.company-map-sticky {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.company-map-stage {
  height: auto !important;
}

.company-map-stage::before {
  display: none;
}

.company-map-scene {
  position: relative !important;
  inset: auto !important;
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr);
  min-height: 0 !important;
  margin: 0 auto;
  padding: clamp(80px, 9vw, 112px) 0;
  gap: clamp(42px, 6vw, 72px);
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  will-change: auto !important;
}

.company-map-scene + .company-map-scene {
  border-top: 1px solid rgba(25, 25, 25, .08);
}

.company-map-copy {
  max-width: 500px;
}

.company-map-title {
  font-size: clamp(35px, 4vw, 48px);
  font-weight: 750;
  line-height: 1.18;
}

.company-map-description {
  max-width: 500px;
  margin-top: 22px;
  font-size: clamp(17px, 1.35vw, 19px);
  font-weight: 450;
  line-height: 1.72;
}

.company-map-action {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 700;
  transition: gap .35s ease, color .35s ease;
}

.company-map-visual,
.company-map-visual-link {
  min-height: 420px !important;
}

.company-map-device,
.company-map-ad-screen,
.company-map-float-icon,
.company-map-ad-wave,
.company-map-channel,
.company-map-scroll-hint i::after {
  animation: none !important;
}

.company-map-device {
  transform: perspective(1100px) rotateY(-5deg) rotateX(2deg);
}

.company-map-progress,
.company-map-scroll-hint {
  display: none !important;
}

/* ---------- Egg story: content + visual sections, no 500vh pinning ---------- */
.egg-story {
  height: auto !important;
  padding: 0 !important;
  background: linear-gradient(180deg, #fff 0%, #f7f7f3 16%, #f7f7f3 84%, #fff 100%);
}

.egg-story-sticky {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.egg-story-stage {
  position: relative !important;
  inset: auto !important;
}

.egg-story-layer {
  position: relative !important;
  inset: auto !important;
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr);
  min-height: 0 !important;
  margin: 0 auto;
  padding: clamp(86px, 10vw, 126px) 0;
  gap: clamp(42px, 6vw, 76px);
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  will-change: auto !important;
}

.egg-story-layer + .egg-story-layer {
  border-top: 1px solid rgba(24, 24, 24, .08);
}

.egg-story-copy {
  max-width: 500px;
  opacity: 1 !important;
  transform: none !important;
  will-change: auto !important;
}

.egg-story-title {
  font-size: clamp(35px, 4vw, 48px);
  font-weight: 750;
  line-height: 1.18;
}

.egg-story-desc,
.egg-story-note {
  max-width: 500px;
  font-size: clamp(17px, 1.35vw, 19px);
  font-weight: 450;
  line-height: 1.72;
}

.egg-story-desc {
  margin-top: 24px;
}

.egg-story-note {
  margin-top: 18px;
  padding-top: 18px;
  font-size: 16px;
}

.egg-story-tablet-wrap,
.egg-story-people-wrap {
  min-height: 0 !important;
  animation: none !important;
  filter: drop-shadow(0 24px 32px rgba(22, 22, 18, .1));
}

.egg-story-orbit,
.egg-story-person,
.egg-story-scroll-hint i::after {
  animation: none !important;
}

.egg-story-person {
  opacity: 1 !important;
  transform: none !important;
  will-change: auto !important;
}

.egg-story-progress,
.egg-story-step-label,
.egg-story-scroll-hint {
  display: none !important;
}

/* ---------- About page ---------- */
.about-hero-section,
.about-value-section,
.about-growth-section,
.about-ceo-section,
.about-location-section {
  padding-top: var(--ux-section-space-tight);
  padding-bottom: var(--ux-section-space-tight);
}

.about-hero-heading {
  max-width: 680px;
  margin-bottom: 44px;
}

.about-hero-title,
.about-intro-copy h2,
.about-ceo-title,
.about-location-title {
  font-weight: 750;
}

.about-hero-desc,
.about-intro-copy p,
.about-ceo-desc,
.about-location-copy p {
  font-size: 17px;
  font-weight: 450;
}

.about-intro-card,
.about-value-grid,
.about-growth-grid,
.about-ceo-card,
.about-location-inner {
  max-width: 1000px;
}

.about-intro-card {
  gap: 42px;
}

.about-value-grid {
  gap: 18px;
}

.about-value-card {
  min-height: 205px;
  padding: 30px 20px;
}

/* ---------- Order / Ad / Product pages ---------- */
.giftad-page .container,
.product-page .container {
  max-width: var(--ux-content-width);
}

.gift-section,
.giftad-section {
  padding-top: var(--ux-section-space);
  padding-bottom: var(--ux-section-space);
}

.gift-hero-title,
.giftad-hero-copy h1,
.product-hero-copy h1,
.gift-bottom-copy h2,
.giftad-bottom-copy h2,
.product-bottom-cta h2 {
  font-weight: 750;
}

.gift-hero-desc,
.giftad-hero-desc,
.product-hero-copy p,
.gift-bottom-copy p,
.giftad-bottom-copy p,
.product-bottom-cta p {
  font-size: clamp(16px, 1.35vw, 18px);
  font-weight: 450;
  line-height: 1.72;
}

.gift-card-grid,
.gift-benefit-grid,
.gift-reason-grid,
.giftad-process-grid,
.giftad-product-grid {
  gap: 18px;
}

.giftad-split,
.giftad-store-card {
  gap: clamp(34px, 5vw, 62px);
}

.product-page .contents {
  max-width: var(--ux-content-width);
  margin-right: auto;
  margin-left: auto;
}


.gift-hero .container,
.giftad-hero .container,
.product-hero-inner {
  width: min(var(--ux-content-width), calc(100% - 48px));
  max-width: var(--ux-content-width);
  margin-right: auto;
  margin-left: auto;
}

/* ---------- Inquiry ---------- */
.inquiry-process-section {
  padding-top: clamp(110px, 13vh, 150px);
  padding-bottom: var(--ux-section-space-tight);
}

.inquiry-process-list,
.inquiry-layout {
  width: min(920px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.inquiry-process-heading p,
.inquiry-process-item p,
.inquiry-category-desc,
.inquiry-label,
.inquiry-input,
.inquiry-textarea {
  font-size: 16px;
}

/* ---------- Sequential reveal ----------
   Each section receives a small stagger in JS, so headings, images,
   cards, and CTAs enter in order instead of appearing all at once.
-------------------------------------------------------------- */
.ux-motion-item {
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(.985);
  transition:
    opacity .74s ease,
    transform .82s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--ux-stagger-delay, 0ms);
  will-change: opacity, filter, transform;
}

.ux-motion-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.ux-motion-media {
  transform: translate3d(0, 28px, 0) scale(.972);
}

.ux-motion-copy {
  transform: translate3d(0, 18px, 0);
}

.home-page .scroll-reveal,
.home-page .scroll-reveal.is-revealed {
  opacity: 1;
  transform: none;
  transition: none !important;
  will-change: auto;
}

body:not(.ux-motion-ready) .ux-motion-item {
  opacity: 1;
  transform: none;
}

/* Continuous marquees remain decorative, but move more calmly. */
.marquee2-content,
.marquee3-content,
.brand-marquee-track {
  animation-duration: 80s !important;
}

/* ---------- Centered focus / reduced copy density ---------- */
.gift-hero-dark-copy,
.giftad-hero-copy,
.product-hero-copy {
  max-width: 640px;
}

.main-banner-content {
  left: 0;
  right: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: max(32px, calc((100vw - var(--ux-content-width)) / 2));
  padding-left: max(32px, calc((100vw - var(--ux-content-width)) / 2));
}

.banner-title,
.gift-hero-title,
.giftad-hero-copy h1,
.product-hero-copy h1 {
  font-size: clamp(38px, 4.9vw, 58px);
  font-weight: 760;
  line-height: 1.16;
}

.section-title,
.site-insight-heading h2,
.gift-section-heading h2,
.giftad-section-heading h2,
.product-section-heading h2,
.inquiry-process-heading h2,
.company-map-title,
.egg-story-title,
.about-hero-title,
.about-intro-copy h2,
.about-ceo-title,
.about-location-title,
.gift-bottom-copy h2,
.giftad-bottom-copy h2,
.product-bottom-cta h2 {
  text-wrap: balance;
}

.section-desc,
.site-insight-heading p:not(.site-insight-kicker),
.gift-section-heading p,
.giftad-section-heading p,
.product-section-heading p,
.inquiry-process-heading p,
.banner-content,
.company-map-description,
.egg-story-desc,
.egg-story-note,
.about-hero-desc,
.about-intro-copy p:not(.about-intro-kicker),
.gift-hero-desc,
.giftad-hero-desc,
.product-hero-copy p,
.gift-bottom-copy p,
.giftad-bottom-copy p,
.product-bottom-cta p {
  color: rgba(33, 33, 33, .72);
  text-wrap: pretty;
}

.section-desc,
.site-insight-heading p:not(.site-insight-kicker),
.gift-section-heading p,
.giftad-section-heading p,
.product-section-heading p,
.inquiry-process-heading p,
.banner-content,
.company-map-description,
.egg-story-desc,
.about-hero-desc,
.gift-hero-desc,
.giftad-hero-desc,
.product-hero-copy p {
  overflow-wrap: break-word;
}

.strength-desc,
.why-desc,
.solution-desc,
.metric-desc,
.about-value-desc,
.site-insight-card p,
.gift-small-card p,
.gift-reason-item p,
.giftad-process-card p,
.giftad-product-copy li,
.product-card-maker,
.product-card-category,
.product-support-item p,
.inquiry-process-item p {
  overflow-wrap: break-word;
}

.about-intro-copy p:nth-of-type(n+3),
.about-ceo-desc:nth-of-type(n+2) {
  display: none;
}

.company-map-scene,
.egg-story-layer,
.giftad-split,
.giftad-store-card,
.gift-benefit-card,
.about-intro-card,
.about-ceo-card,
.about-location-inner,
.gift-bottom-cta,
.giftad-bottom-cta,
.product-bottom-cta {
  width: min(940px, calc(100% - 64px));
  max-width: 940px;
  margin-right: auto;
  margin-left: auto;
}

.home-page .why-grid,
.home-page .solution-grid,
.home-page .metric-grid,
.site-insight-grid,
.gift-card-grid,
.gift-benefit-grid,
.gift-reason-grid,
.giftad-process-grid,
.giftad-product-grid,
.product-support-grid {
  width: min(920px, 100%);
  margin-right: auto;
  margin-left: auto;
}



.site-insight-grid-4,
.gift-card-grid-4,
.giftad-process-grid,
.giftad-product-grid,
.product-support-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gift-card-grid-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.about-value-grid,
.about-growth-grid {
  width: min(900px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.about-growth-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.about-value-grid-4,
.about-growth-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-value-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gift-benefit-card,
.giftad-store-card,
.about-intro-card,
.about-ceo-card,
.about-location-inner {
  grid-template-columns: minmax(0, .92fr) minmax(300px, 1.08fr);
}

.giftad-split {
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
}

.company-map-visual,
.company-map-visual-link,
.egg-story-tablet-wrap,
.egg-story-people-wrap,
.gift-benefit-img-wrap,
.giftad-dashboard-card,
.giftad-report-card,
.giftad-store-img-wrap,
.giftad-product-img-wrap,
.about-intro-visual,
.about-ceo-visual,
.product-card-img-box {
  overflow: hidden;
  border-radius: var(--ux-card-radius);
}

.company-map-flow-item,
.company-map-device,
.company-map-ad-screen,
.company-map-channel,
.egg-story-orbit,
.giftad-floating-stat,
.gift-hero-tags span,
.product-hero-points span {
  animation-duration: 5.5s !important;
  animation-timing-function: ease-in-out !important;
}

.company-map-device,
.company-map-ad-screen,
.egg-story-tablet-image,
.egg-story-people-image,
.gift-benefit-img,
.giftad-store-img,
.giftad-product-img,
.product-card-img {
  transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}

.company-map-scene:hover .company-map-device,
.company-map-scene:hover .company-map-ad-screen,
.egg-story-layer:hover .egg-story-tablet-image,
.egg-story-layer:hover .egg-story-people-image,
.gift-benefit-card:hover .gift-benefit-img,
.giftad-store-card:hover .giftad-store-img,
.giftad-product-card:hover .giftad-product-img,
.product-card:hover .product-card-img {
  transform: scale(1.025);
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
  :root {
    --ux-section-space: 78px;
    --ux-section-space-tight: 62px;
  }

  .site-container,
  section > .container,
  section .container {
    width: min(760px, calc(100% - 40px));
  }

  .company-map-scene,
  .egg-story-layer {
    grid-template-columns: 1fr;
    width: min(720px, calc(100% - 40px));
    padding: 76px 0;
    gap: 34px;
  }

  .company-map-copy,
  .egg-story-copy {
    max-width: 620px;
    margin: 0 auto;
    text-align: center;
  }

  .company-map-description,
  .egg-story-desc,
  .egg-story-note {
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
  }

  .company-map-visual,
  .company-map-visual-link {
    min-height: 360px !important;
    order: 1;
  }

  .company-map-copy {
    order: 2;
  }

  .egg-story-tablet-wrap,
  .egg-story-people-wrap {
    grid-column: 1;
    grid-row: auto;
    order: 1;
  }

  .egg-story-copy {
    grid-column: 1;
    grid-row: auto;
    order: 2;
  }

  .home-page .why-grid,
  .home-page .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-page .why-card:nth-child(3) {
    border-left: 0;
  }

  .home-page .why-card:nth-child(n+3),
  .home-page .metric-card:nth-child(n+3) {
    border-top: 1px solid rgba(25, 25, 25, .08);
  }

  .home-page .partner-card {
    grid-template-columns: 1fr;
  }

  .partner-card-copy::after {
    display: none;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {


  .site-container,
  section > .container,
  section .container {
    width: calc(100% - 32px);
  }

  .section-title,
  .site-insight-heading h2,
  .gift-section-heading h2,
  .giftad-section-heading h2,
  .product-section-heading h2,
  .inquiry-process-heading h2 {
    font-size: 30px;
  }

  .section-desc,
  .site-insight-heading p:not(.site-insight-kicker),
  .gift-section-heading p,
  .giftad-section-heading p,
  .product-section-heading p,
  .inquiry-process-heading p {
    font-size: 16px;
  }

  .main-banner-content {
    padding-right: 24px;
    padding-left: 24px;
  }

  .company-map-scene,
  .egg-story-layer {
    width: calc(100% - 32px);
    padding: 64px 0;
    gap: 28px;
  }

  .company-map-title,
  .egg-story-title {
    font-size: clamp(31px, 8vw, 38px);
  }

  .company-map-description,
  .egg-story-desc {
    font-size: 17px;
  }

  .company-map-visual,
  .company-map-visual-link {
    min-height: 300px !important;
  }

  .company-map-device {
    width: min(94%, 520px);
  }

  .company-map-visual-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 12px;
  }

  .company-map-flow-line {
    display: none;
  }

  .company-map-flow-item {
    width: 100%;
    max-width: 132px;
    justify-self: center;
  }


  .home-page .why-card,
  .home-page .metric-card {
    border-left: 0 !important;
    border-top: 1px solid rgba(25, 25, 25, .08);
  }

  .home-page .why-card:first-child,
  .home-page .metric-card:first-child {
    border-top: 0;
  }

  .about-intro-card,
  .about-ceo-card,
  .about-location-inner,
  .gift-benefit-card,
  .giftad-split,
  .giftad-store-card {
    grid-template-columns: 1fr;
  }

  .about-intro-card {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }

  .consult-card {
    align-items: flex-start;
    flex-direction: column;
  }

}

@media (prefers-reduced-motion: reduce) {
  .ux-motion-item,
  .ux-scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
    will-change: auto;
  }

  .main-banner-slide,
  .strength-card,
  .solution-card,
  .about-value-card,
  .site-insight-card,
  .gift-small-card,
  .product-card {
    transition: none !important;
  }
}

/* =========================================================
   HOME LANDING REDESIGN
   One message per section, centered reading path, varied
   text/image rhythm without changing the original meaning.
========================================================= */
.home-page {
  --home-ink: #171717;
  --home-muted: rgba(23, 23, 23, .64);
  --home-soft: #f7f7f4;
  --home-soft-2: #fbfaf6;
  --home-line: rgba(23, 23, 23, .08);
  --home-accent: #ffc01d;
}

body.home-page,
body.content-landing-page {
  overflow-x: hidden;
}

.home-page .main-banner {
  background: #050505;
}

.home-page .main-banner-content {
  justify-content: center;
  padding-top: 88px;
  padding-bottom: 72px;
}

.home-page .banner-title {
  max-width: 820px;
  font-size: clamp(44px, 5.2vw, 68px);
  font-weight: 760;
  line-height: 1.13;
}

.home-page .banner-title br {
  display: block;
}

.home-page .banner-content {
  max-width: 600px;
  margin: 20px 0 34px;
  color: rgba(255, 255, 255, .68);
  font-size: clamp(30px, 2.3vw, 35px);
  font-weight: 450;
  line-height: 1.2;
}

.home-page .banner-content,
.home-page .section-desc,
.home-page .company-map-description,
.home-page .egg-story-desc,
.home-page .egg-story-note,
.home-page .strength-desc,
.home-page .why-desc,
.home-page .solution-desc,
.home-page .metric-desc {
  display: block;
  overflow: visible;
}


.home-page .site-section:nth-of-type(even),
.home-page .home-logo-band:nth-of-type(even) {
  background: var(--home-soft);
}

.home-page .section-heading {
  width: min(680px, 100%);
  margin-bottom: clamp(32px, 4vw, 54px);
}

.home-page .section-kicker,
.home-page .company-map-eyebrow,
.home-page .egg-story-kicker,
.home-page .certified_title {
  margin-bottom: 10px;
  color: rgb(255, 192, 29);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}

.home-page .section-title,
.home-page .company-map-title,
.home-page .egg-story-title {
  color: var(--home-ink);
}

.home-page .section-title span,
.home-page .company-map-title span,
.home-page .egg-story-title span {
  font-weight: 780;
  background: linear-gradient(transparent 68%, rgba(255, 192, 29, .56) 0);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.home-page .section-desc,
.home-page .company-map-description,
.home-page .egg-story-desc,
.home-page .egg-story-note,
.home-page .certified_content {
  max-width: 560px;
  margin-top: 16px;
  color: var(--home-muted);
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 430;
  line-height: 1.72;
}

/* Business flow: each scene uses a different reading pattern. */



.home-page .company-map-copy {
  max-width: 600px;
}



.home-page .home-flow-center .company-map-description {
  margin-right: auto;
  margin-left: auto;
}



.home-page .home-flow-device {
  grid-template-columns: 1fr;
  gap: 30px;
  text-align: center;
}


.home-page .home-flow-device .company-map-visual {
  min-height: 430px !important;
}

.home-page .home-flow-media {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}




.home-page .home-flow-media .company-map-description {
  margin-right: auto;
  margin-left: auto;
}



.home-page .home-flow-network .company-map-visual-link {
  width: min(760px, 100%);
  min-height: 460px !important;
}

.home-page .home-flow-network .company-map-description {
  margin-right: auto;
  margin-left: auto;
}

.home-page .company-map-action {
  margin-top: 22px;
  font-weight: 740;
}

.home-page .company-map-visual::before,
.home-page .company-map-stage::before {
  display: none;
}

.home-page .company-map-flow-item,
.home-page .company-map-channel,
.home-page .company-map-float-icon {
  border-radius: 8px;
  box-shadow: none;
}

/* Two focused story moments instead of a heavy scroll story. */


.home-page .egg-story-layer-tablet {
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  text-align: center;
}


.home-page .egg-story-layer-tablet .egg-story-desc,
.home-page .egg-story-layer-tablet .egg-story-note {
  margin-right: auto;
  margin-left: auto;
}

.home-page .egg-story-layer-people {
  grid-template-columns: minmax(0, .58fr) minmax(0, .42fr);
  align-items: center;
  background: var(--home-soft);
}




/* Three changes: compact concept cards. */
.home-page .home-message-cards {
  background: var(--home-soft);
}

.home-page .strength-card {
  min-height: 230px;
  padding: 28px 24px;
  background: #fff;
  border: 1px solid var(--home-line);
  box-shadow: none;
}

.home-page .strength-icon,
.home-page .why-icon,
.home-page .metric-icon {
  width: 48px;
  height: 48px;
  color: var(--home-ink);
  background: var(--home-accent);
  border-radius: 8px;
}

.home-page .strength-title,
.home-page .why-title,
.home-page .solution-title {
  margin-top: 0px;
  color: var(--home-ink);
  font-size: clamp(22px, 2vw, 27px);
  font-weight: 720;
  line-height: 1.32;
}

.home-page .strength-desc,
.home-page .why-desc,
.home-page .solution-desc {
  margin-top: 14px;
  color: var(--home-muted);
  font-size: 16px;
  font-weight: 430;
  line-height: 1.66;
}

/* Why: keyword strip, not another heavy card grid. */
.home-page .home-keyword-section {
  background: #fff;
}

.home-page .why-section .section-heading {
  margin-bottom: 42px;
}





.home-page .why-card:first-child {
  border-top: 0;
}



/* Solutions: image-led cards with clear next choices. */
.home-page .home-solution-section {
  background: var(--home-soft-2);
}

.home-page .solution-grid {
  width: min(920px, 100%);
}

.home-page .solution-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--home-line);
  box-shadow: none;
}

.home-page .solution-img-wrap {
  aspect-ratio: 4 / 3;
  background: #efefeb;
}

.home-page .solution-body {
  min-height: 220px;
  padding: 28px 24px 30px;
}

.home-page .solution-btn {
  margin-top: 22px;
  color: var(--home-ink);
  font-weight: 740;
}

/* Numbers: let the figures carry the message. */
.home-page .home-number-section {
  background: #fff;
}

.home-page .metric-grid {
  width: min(820px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--home-line);
  border-left: 1px solid var(--home-line);
}

.home-page .metric-head {
  gap: 12px;
  border-bottom: 2px solid var(--home-line);
  padding-bottom: 14px;
}

.home-page .metric-suffix {
  color: var(--home-accent);
}

/* Partner proof: calmer bands. */
.home-page .home-logo-band {
  padding-top: clamp(72px, 8vw, 104px);
  padding-bottom: clamp(72px, 8vw, 104px);
  background: var(--home-soft);
}

.home-page .home-ad-band {
  background: #fff;
}

.home-page .home-certified-band {
  background: var(--home-soft-2);
}

.home-page .logo-section {

  padding: 0;
}

.home-page .logo-section .section-heading {
  margin-bottom: 26px;
}

.home-page .marquee {
  width: 100%;
  max-width: 100%;
  border: 0;
}

.home-page .cert-mark-card {
  max-width: min(800px, 100%);
  margin: 10px auto 28px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--home-line);
  border-radius: 8px;
}

.home-page .consult-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: min(900px, 100%);
  padding: clamp(34px, 5vw, 54px);
  background: var(--home-ink);
  border-radius: 8px;
  box-shadow: none;
}

.home-page .consult-copy h2 {
  color: #fff;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.18;
}

.home-page .consult-copy p {
  color: rgba(255, 255, 255, .66);
}

.home-page .consult-btn {
  border-radius: 999px;
}

@media (max-width: 991px) {
  .home-page .company-map-scene,
  .home-page .egg-story-layer{
    width: min(720px, calc(100% - 40px));
  }

  .home-page .home-flow-media .company-map-copy {
    margin-top: -58px;
  }

  .home-page .egg-story-layer-people {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .home-page .egg-story-layer-people .egg-story-desc,
  .home-page .egg-story-layer-people .egg-story-note {
    margin-right: auto;
    margin-left: auto;
  }

  .home-page .solution-grid,
  .home-page .strength-grid {
    grid-template-columns: 1fr;
  }

  .home-page .consult-card {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

@media (max-width: 767px) {
  .home-page .main-banner-content {
    padding-right: 18px;
    padding-left: 18px;
  }

  .home-page .banner-title {
    max-width: 360px;
  }

  .home-page .company-map-scene,
  .home-page .egg-story-layer,
  .home-page .logo-section {
    width: 100%;
  }


  

  .home-page .home-flow-media .company-map-visual {
    min-height: 360px !important;
  }

  .home-page .home-flow-media .company-map-copy {
    width: calc(100% - 20px);
    margin-top: -44px;
    padding: 26px 20px;
  }

  .home-page .home-flow-network .company-map-visual-link {
    min-height: 360px !important;
  }

  


  .home-page .metric-card {
    min-height: 210px;
  }

  .home-page .solution-body {
    min-height: 0;
  }
}

/* =========================================================
   SITE-WIDE CONTENT LANDING PASS
   Applies the same principles beyond the homepage.
========================================================= */
.content-landing-page {
  --landing-ink: #171717;
  --landing-muted: rgba(23, 23, 23, .64);
  --landing-soft: #f7f7f4;
  --landing-soft-2: #fbfaf6;
  --landing-line: rgba(23, 23, 23, .08);
  --landing-accent: #ffc01d;
}

.content-landing-page section .site-container,
.content-landing-page .contents,
.content-landing-page .product-hero-inner {
  width: min(980px, calc(100% - 64px));
  max-width: 980px;
}


.content-landing-page .section-heading,
.content-landing-page .site-insight-heading,
.content-landing-page .gift-section-heading,
.content-landing-page .giftad-section-heading,
.content-landing-page .product-section-heading,
.content-landing-page .inquiry-process-heading,
.content-landing-page .about-hero-heading {
  width: min(680px, 100%);
  max-width: 680px;
  margin-right: auto;
  margin-bottom: clamp(30px, 4vw, 52px);
  margin-left: auto;
  text-align: center;
}

.content-landing-page .section-heading-left {
  margin-left: 0;
  text-align: left;
}

.content-landing-page .section-kicker,
.content-landing-page .gift-hero-kicker,
.content-landing-page .giftad-hero-kicker,
.content-landing-page .product-hero-kicker,
.content-landing-page .product-section-kicker,
.content-landing-page .about-hero-kicker,
.content-landing-page .about-intro-kicker,
.content-landing-page .giftad-section-num {
  color: rgba(23, 23, 23, .42);
  font-size: 13px;
  font-weight: 740;
  line-height: 1.2;
}

.content-landing-page .section-title,
.content-landing-page .gift-section-heading h2,
.content-landing-page .giftad-section-heading h2,
.content-landing-page .product-section-heading h2,
.content-landing-page .inquiry-process-heading h2,
.content-landing-page .about-hero-title,
.content-landing-page .about-intro-copy h2,
.content-landing-page .about-ceo-title,
.content-landing-page .about-location-title,
.content-landing-page .gift-hero-title,
.content-landing-page .giftad-hero-copy h1,
.content-landing-page .product-hero-copy h1,
.content-landing-page .gift-bottom-copy h2,
.content-landing-page .giftad-bottom-copy h2,
.content-landing-page .product-bottom-cta h2 {
  color: var(--landing-ink);
  font-size: clamp(32px, 3.7vw, 48px);
  font-weight: 680;
  line-height: 1.16;
}

.content-landing-page .gift-section-heading span,
.content-landing-page .giftad-hero-copy h1 span,
.content-landing-page .giftad-section-heading h2 span,
.giftad-page-body .giftad-v3-problem-list p span,
.content-landing-page .about-hero-highlight {
  font-weight: 760;
  background: linear-gradient(transparent 68%, rgba(255, 192, 29, .54) 0);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.content-landing-page .section-desc,
.content-landing-page .gift-section-heading p,
.content-landing-page .giftad-section-heading p,
.content-landing-page .product-section-heading p,
.content-landing-page .inquiry-process-heading p,
.content-landing-page .about-hero-desc,
.content-landing-page .about-intro-copy p,
.content-landing-page .about-ceo-desc,
.content-landing-page .gift-hero-desc,
.content-landing-page .giftad-hero-desc,
.content-landing-page .product-hero-copy p,
.content-landing-page .gift-bottom-copy p,
.content-landing-page .giftad-bottom-copy p,
.content-landing-page .product-bottom-cta p {
  display: block;
  overflow: visible;
  max-width: 580px;
  color: var(--landing-muted);
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 430;
  line-height: 1.72;
}

.content-landing-page .site-insight-grid,
.content-landing-page .gift-card-grid,
.content-landing-page .giftad-process-grid,
.content-landing-page .giftad-product-grid,
.content-landing-page .about-value-grid,
.content-landing-page .about-growth-grid,
.content-landing-page .product-support-grid,
.content-landing-page .inquiry-process-list {
  width: min(900px, 100%);
  margin-right: auto;
  margin-left: auto;
  gap: 14px;
}

.content-landing-page .site-insight-card,
.content-landing-page .gift-small-card,
.content-landing-page .giftad-process-card,
.content-landing-page .giftad-product-card,
.content-landing-page .about-value-card,
.content-landing-page .product-support-item,
.content-landing-page .inquiry-process-item {
  background: #fff;
  border: 1px solid var(--landing-line);
  border-radius: 8px;
  box-shadow: none;
}

.content-landing-page .site-insight-card p,
.content-landing-page .gift-small-card p,
.content-landing-page .gift-reason-item p,
.content-landing-page .giftad-process-card p,
.content-landing-page .giftad-product-copy li,
.content-landing-page .about-value-desc,
.content-landing-page .product-support-item p,
.content-landing-page .inquiry-process-item p {
  display: block;
  overflow: visible;
  color: var(--landing-muted);
  font-size: 16px;
  font-weight: 430;
  line-height: 1.64;
}

/* About: intro is image-led, values are compact, CEO becomes a quote moment. */
.about-page .about-hero-section {
  padding-top: clamp(118px, 14vw, 170px);
}

.about-page .about-hero-heading {
  margin-bottom: 34px;
}

.about-page .about-hero-title {
  margin-bottom: 14px;
}

.about-page .about-hero-highlight {
  display: inline;
  color: var(--landing-ink);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.35;
}

.about-page .about-intro-card {
  width: min(900px, calc(100% - 64px));
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  text-align: center;
}

.about-page .about-intro-visual {
  order: -1;
  max-height: 520px;
}

.about-page .about-intro-img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  border-radius: 8px;
}

.about-page .about-intro-copy {
  max-width: 680px;
  margin: 0 auto;
}

.about-page .about-business-section .site-insight-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-page .about-value-section {
  display: grid;
  gap: clamp(80px, 9vw, 120px);
}

.about-page .about-value-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-page .about-value-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-page .about-ceo-card {
  display: grid;
  grid-template-columns: minmax(0, .54fr) minmax(0, .46fr);
  gap: 0;
  margin: 0 auto;
  overflow: hidden;
}

.about-page .about-ceo-copy {
  padding: clamp(34px, 5vw, 58px);
}


.about-page .about-ceo-desc {
  color: rgba(12, 12, 12, 0.74);
}

.about-page .about-location-inner {
  width: min(900px, 100%);
  grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
  gap: 24px;
}

/* Giftorder: first show benefits visually, then system logic, then objections. */
.giftorder-page-body .gift-hero-dark {
  min-height: 86svh;
}

.giftorder-page-body .gift-hero-dark .container {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: inherit;
}

.giftorder-page-body .gift-hero-dark-copy {
  max-width: 660px;
  margin: 0 auto;
  text-align: center;
}

.giftorder-page-body .gift-hero-actions,
.giftorder-page-body .gift-hero-tags {
  justify-content: center;
}


.giftorder-page-body .gift-hero-kicker,
.giftorder-page-body .gift-hero-desc,
.giftorder-page-body .gift-hero-tags span {
  color: rgba(255, 255, 255, .78);
}

.giftorder-page-body .gift-hero-zero {
  display: inline-block;
  margin-top: 18px;
  color: #fff;
}

.giftorder-page-body .gift-benefit-section {
  background: #fff;
}

.giftorder-page-body .gift-benefit-card {
  display: flex;
  flex-direction: column;
  min-height: 360px;
  overflow: hidden;
  background: var(--landing-soft);
  border: 0;
  border-radius: 8px;
  box-shadow: none;
}

.giftorder-page-body .gift-benefit-card:nth-child(even) {
  grid-template-columns: minmax(0, .62fr) minmax(0, .38fr);
}


.giftorder-page-body .gift-benefit-copy {
  justify-content: center;
  padding: clamp(24px, 3.4vw, 39px);
}

.giftorder-page-body .gift-benefit-copy h3 {
  font-size: clamp(29px, 3.4vw, 44px);
  font-weight: 720;
}

.giftorder-page-body .site-insight-grid-4,
.giftorder-page-body .gift-card-grid-4,
.giftorder-page-body .gift-card-grid-5 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.giftorder-page-body .gift-card-grid-5 .gift-small-card:last-child {
  grid-column: 2 / span 2;
}

.giftorder-page-body .gift-reason-grid {
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--landing-line);
  border-bottom: 1px solid var(--landing-line);
}

.giftorder-page-body .gift-reason-item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  padding: 24px 0;
  border-top: 1px solid var(--landing-line);
}

.giftorder-page-body .gift-reason-item:first-child {
  border-top: 0;
}

/* Giftad: make data/experience sections visually distinct. */
.giftad-page-body .giftad-hero {
  min-height: 92svh;
  background: #111;
}

.giftad-page-body .giftad-hero-layout {
  width: min(980px, 100%);
  grid-template-columns: 1fr;
  gap: 42px;
  text-align: center;
}

.giftad-page-body .giftad-hero-copy {
  max-width: 720px;
  margin: 0 auto;
}

.giftad-page-body .giftad-hero-kicker,
.giftad-page-body .giftad-hero-desc,
.giftad-page-body .giftad-hero-summary span {
  color: rgba(255, 255, 255, .68);
}


.giftad-page-body .giftad-hero-copy h1 span {
  color: var(--landing-accent);
  background: linear-gradient(transparent 68%, rgba(255, 192, 29, .22) 0);
}

.giftad-page-body .giftad-hero-desc,
.giftad-page-body .giftad-hero-actions,
.giftad-page-body .giftad-hero-summary {
  margin-right: auto;
  margin-left: auto;
}

.giftad-page-body .giftad-hero-media-area {
  width: min(760px, 100%);
  min-height: 430px;
  margin: 0 auto;
}

.giftad-page-body .site-insight-section-dark {
  background: var(--landing-ink);
}

.giftad-page-body .giftad-split {
  width: min(900px, 100%);
  grid-template-columns: 1fr;
  gap: 26px;
}

.giftad-page-body .giftad-data-section .giftad-copy,
.giftad-page-body .giftad-report-section .giftad-copy {
  width: min(620px, 100%);
  margin: 0 auto;
  text-align: center;
}

.giftad-page-body .giftad-dashboard-card,
.giftad-page-body .giftad-report-card {
  width: min(760px, 100%);
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: none;
}

.giftad-page-body .giftad-process-grid,
.giftad-page-body .giftad-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.giftad-page-body .giftad-store-card {
  width: min(900px, 100%);
  grid-template-columns: minmax(0, .6fr) minmax(0, .4fr);
  overflow: hidden;
  border-radius: 8px;
  box-shadow: none;
}

.giftad-page-body .giftad-partner-section {
  padding-top: clamp(80px, 9vw, 120px);
  padding-bottom: clamp(80px, 9vw, 120px);
  overflow: hidden;
  background: var(--landing-soft);
}

.giftad-page-body .giftad-partner-section > div {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-align: center;
}

.giftad-page-body .giftad-partner-section .marquee2-content,
.giftad-page-body .giftad-partner-section .marquee3-content {
  width: max-content;
  max-width: none;
}

/* Product and inquiry: utility pages, still centered and quieter. */

.product-page .product-hero-copy,
.inquiry-page .inquiry-process-heading {
  max-width: 680px;
}

.product-page .product-hero-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: inherit;
}

.product-page .product-hero-copy {
  margin: 0 auto;
  text-align: center;
}

.product-page .product-hero-copy p {
  margin-right: auto;
  margin-left: auto;
}

.product-page .product-hero-points {
  justify-content: center;
}

.product-page .product-list-grid {
  width: min(980px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.product-page .product-card,
.product-page .product-detail-image-card,
.product-page .product-detail-info-card,
.product-page .product-support-card,
.inquiry-page .inquiry-card,
.inquiry-page .inquiry-board-card {
  border-radius: 8px;
  box-shadow: none;
}

.product-page .product-support-card,
.product-page .product-bottom-cta,
.inquiry-page .inquiry-card {
  width: min(900px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.inquiry-page .inquiry-process-list {
  grid-template-columns: repeat(5, auto);
  width: min(840px, 100%);
}

.inquiry-page .inquiry-fit-section {
  background: var(--landing-soft);
}

.inquiry-page .inquiry-layout {
  width: min(880px, calc(100% - 64px));
}

@media (max-width: 991px) {
  .content-landing-page section > .container,
  .content-landing-page section .site-container,
  .content-landing-page .contents,
  .content-landing-page .product-hero-inner,
  .about-page .about-intro-card,
  .about-page .about-ceo-card {
    width: min(720px, calc(100% - 40px));
  }

  .about-page .about-business-section .site-insight-grid,
  .about-page .about-value-grid-3,
  .about-page .about-value-grid-4,
  .about-page .about-growth-grid,
  .giftorder-page-body .site-insight-grid-4,
  .giftorder-page-body .gift-card-grid-4,
  .giftorder-page-body .gift-card-grid-5,
  .giftad-page-body .giftad-process-grid,
  .giftad-page-body .giftad-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .giftorder-page-body .gift-card-grid-5 .gift-small-card:last-child {
    grid-column: auto;
  }

  .about-page .about-ceo-card,
  .about-page .about-location-inner,
  .giftorder-page-body .gift-benefit-card,
  .giftorder-page-body .gift-benefit-card:nth-child(even),
  .giftad-page-body .giftad-store-card {
    grid-template-columns: 1fr;
  }

  .giftorder-page-body .gift-benefit-card:nth-child(even) .gift-benefit-img-wrap {
    order: initial;
  }

  .inquiry-page .inquiry-process-list {
    grid-template-columns: 1fr;
  }

  .inquiry-page .inquiry-process-arrow {
    transform: rotate(90deg);
  }
}

@media (max-width: 767px) {
  .content-landing-page section > .container,
  .content-landing-page section .site-container,
  .content-landing-page .contents,
  .content-landing-page .product-hero-inner,
  .about-page .about-intro-card,
  .about-page .about-ceo-card,
  .inquiry-page .inquiry-layout {
    width: calc(100% - 32px);
  }



  .about-page .about-business-section .site-insight-grid,
  .about-page .about-value-grid-3,
  .about-page .about-value-grid-4,
  .about-page .about-growth-grid,
  .giftorder-page-body .site-insight-grid-4,
  .giftorder-page-body .gift-card-grid-4,
  .giftorder-page-body .gift-card-grid-5,
  .giftad-page-body .giftad-process-grid,
  .giftad-page-body .giftad-product-grid,
  .product-page .product-support-grid {
    grid-template-columns: 1fr;
  }


  .giftad-page-body .giftad-hero-summary {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   CONSISTENCY + CSS CORRECTION PASS — 2026-08-25
   Final cascade layer: one layout system, no overlap tricks,
   predictable responsive behavior, and explicit grid placement.
========================================================= */


/* One width system across home and content pages. */
.home-page .container,
.home-page .site-container,
.content-landing-page section > .container,
.content-landing-page section > .site-container,
.content-landing-page .contents,
.content-landing-page .product-hero-inner {
  width: min(var(--ux-content-width), calc(100% - 56px));
  max-width: var(--ux-content-width);
  margin-right: auto;
  margin-left: auto;
}

/* Prevent long flex/grid children from forcing horizontal overflow. */
.home-page :is(.company-map-copy, .company-map-visual, .company-map-visual-link, .egg-story-copy, .egg-story-tablet-wrap, .egg-story-people-wrap, .strength-card, .why-card, .solution-card, .metric-card){
  min-width: 0;
}

/* Keep heading hierarchy and body copy consistent instead of page-by-page jumps. */
.home-page .section-title,
.home-page .company-map-title,
.home-page .egg-story-title,
.content-landing-page .site-insight-heading h2,
.content-landing-page .gift-section-heading h2,
.content-landing-page .giftad-section-heading h2,
.content-landing-page .product-section-heading h2,
.content-landing-page .inquiry-process-heading h2,
.content-landing-page .about-intro-copy h2,
.content-landing-page .about-ceo-title,
.content-landing-page .about-location-title {
  font-size: clamp(34px, 3.35vw, 35px);
  font-weight: 700;
  line-height: 1.2;
}

.home-page :is(.section-desc, .company-map-description, .egg-story-desc, .strength-desc, .why-desc, .solution-desc, .metric-desc),
.content-landing-page :is(.site-insight-heading > p:not(.site-insight-kicker), .site-insight-card p, .gift-section-heading p, .giftad-section-heading p, .product-section-heading p, .about-hero-desc, .about-intro-copy p, .about-ceo-desc, .giftad-copy > p:not(.giftad-section-num)) {
  font-size: clamp(20px, 1.5vw, 22px);
  line-height: 1.4;
}

/* Shared surface language. */
.content-landing-page :is(.site-insight-card, .gift-small-card, .gift-benefit-card, .giftad-process-card, .giftad-dashboard-card, .giftad-report-card, .giftad-store-card, .giftad-product-card, .product-card, .product-support-card, .inquiry-card) {
  border-radius: var(--ux-card-radius);
}

/* Homepage business flow: normal document flow, consistent text + visual split. */
.home-page .company-map-section {
  background: #fff;
}

.home-page .company-map-scene {
  border-top: 0;

  width: min(var(--ux-content-width), calc(100% - 56px));
  max-width: var(--ux-content-width);
  padding: var(--ux-section-space) 0;
  gap: clamp(38px, 5vw, 64px);
}

.home-page .company-map-scene + .company-map-scene {
  border-top: 1px solid var(--ux-line);
}

.home-page .home-flow-center {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;

  gap: 30px;
}

.home-page .home-flow-center .company-map-copy {
  max-width: 680px;
}

.home-page .company-map-scene:not(.home-flow-center) {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: center;
  text-align: left;
}

.home-page .home-flow-device .company-map-copy,
.home-page .home-flow-network .company-map-copy {
  order: 1;
  margin: 0;
}

.home-page .home-flow-device .company-map-visual,
.home-page .home-flow-network .company-map-visual-link {
  order: 2;
}

/* Fix the previous negative-margin overlay that could overlap or clip at widths. */
.home-page .home-flow-media .company-map-visual {
  min-height: 500px !important;

  order: 1;
  grid-row: auto;
}

.home-page .home-flow-media .company-map-copy {
  order: 2;
  z-index: auto;
  width: auto;
  margin: 0;
  padding: 0;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.home-page .home-flow-network {
  align-items: center;
  gap: 30px;

  display: grid;
  flex-direction: initial;
  text-align: left;
}

.home-page .company-map-visual,
.home-page .company-map-visual-link {
  width: 100%;
  min-height: 390px !important;
  overflow: hidden;
}

.home-page .home-flow-center .company-map-visual-flow {
  width: min(820px, 100%);
  border-radius: 8px;

  min-height: 190px !important;
}

.home-page .company-map-device {
  width: min(92%, 560px);
}

.home-page .company-map-ad-screen {
  width: min(86%, 540px);
}

/* Homepage story uses the exact same split language as business sections. */
.home-page .egg-story {
  background: var(--ux-soft);
}

.home-page .egg-story-layer {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  width: min(var(--ux-content-width), calc(100% - 56px));
  max-width: var(--ux-content-width);
  padding: var(--ux-section-space) 0;
  gap: clamp(38px, 5vw, 64px);
  text-align: left;
  background: transparent;
}

.home-page .egg-story-layer + .egg-story-layer {
  border-top: 1px solid var(--ux-line);
}

.home-page .egg-story-layer-tablet .egg-story-copy,
.home-page .egg-story-layer-people .egg-story-people-wrap {
  order: 1;
}

.home-page .egg-story-layer-tablet .egg-story-tablet-wrap,
.home-page .egg-story-layer-people .egg-story-copy {
  order: 2;
}

.home-page .egg-story-layer-tablet .egg-story-copy,
.home-page .egg-story-layer-people .egg-story-copy {
  max-width: 500px;
}

.home-page .egg-story-tablet-wrap,
.home-page .egg-story-people-wrap {
  width: 100%;
  min-height: 360px !important;
  padding: clamp(18px, 3vw, 30px);
  overflow: hidden;
}

.home-page .egg-story-tablet-wrap {
  max-width: none;
}

.home-page .egg-story-desc {
  margin-top: 18px;
}

/* CSS bug fix: three direct children were auto-placed into a 2-column grid.
   Explicit areas keep icon / title / description in the intended columns. */
.home-page .why-grid {
  border-top: 1px solid var(--home-line);
  border-bottom: 1px solid var(--home-line);

  width: min(900px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  border: 0;
}

.home-page .why-card {
  padding-right: 22px;
  padding-left: 22px;

  border-top: 1px solid var(--home-line);
  box-shadow: none;

  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon desc";
  align-items: start;
  min-height: 156px;
  padding: 24px;
  gap: 6px 16px;
  text-align: left;
  background: var(--ux-soft);
  border: 1px solid var(--ux-line) !important;
  border-radius: var(--ux-card-radius);
}

.home-page .why-icon {
  grid-area: icon;
  margin: 0;
}

.home-page .why-title {
  grid-area: title;
  margin: 0;
}

.home-page .why-desc {
  grid-area: desc;
  margin: 4px 0 0;
}

.home-page .strength-grid,
.home-page .solution-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 14px;
}

.home-page .strength-card,
.home-page .solution-card {
  border-radius: var(--ux-card-radius);
}

/* Content pages: same width, same section rhythm, same card density. */

.content-landing-page :is(.site-insight-heading, .gift-section-heading, .giftad-section-heading, .product-section-heading, .inquiry-process-heading) {
  width: min(var(--ux-copy-width), 100%);
  margin-right: auto;
  margin-left: auto;
}

.content-landing-page .site-insight-grid {
  gap: 14px;
}

.content-landing-page .site-insight-card {
  padding: 26px 24px;
  border: 1px solid var(--ux-line);
  box-shadow: none;
}

.giftad-page-body .giftad-process-card,
.product-page .product-support-item,
.inquiry-page .inquiry-process-item {
  min-height: 0;
  padding: 10px;
}

.giftorder-page-body .gift-small-card p,
.giftad-page-body .giftad-process-card p,
.product-page .product-support-item p,
.inquiry-page .inquiry-process-item p {
  margin-top: 8px;
  line-height: 1.55;
}

/* Generated visual insertion helper used by homepage_image_prompts.md. */
.generated-section-visual {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  border-radius: inherit;
}

.inquiry-process-visual {
  width: min(760px, 100%);
  min-height: 280px;
  margin: 32px auto 40px;
  overflow: hidden;
  background: var(--ux-soft);
  border: 1px solid var(--ux-line);
  border-radius: var(--ux-card-radius);
}

@media (max-width: 991px) {
  .home-page .container,
  .home-page .site-container,
  .content-landing-page section > .container,
  .content-landing-page section > .site-container,
  .content-landing-page .contents,
  .content-landing-page .product-hero-inner,
  .home-page .company-map-scene,
  .home-page .egg-story-layer {
    width: min(720px, calc(100% - 40px));
  }

  .home-page .company-map-scene:not(.home-flow-center),
  .home-page .home-flow-network,
  .home-page .egg-story-layer {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .home-page .home-flow-device .company-map-copy,
  .home-page .home-flow-media .company-map-copy,
  .home-page .home-flow-network .company-map-copy,
  .home-page .egg-story-layer .egg-story-copy {
    order: 1;
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .home-page .home-flow-device .company-map-visual,
  .home-page .home-flow-media .company-map-visual,
  .home-page .home-flow-network .company-map-visual-link,
  .home-page .egg-story-layer .egg-story-tablet-wrap,
  .home-page .egg-story-layer .egg-story-people-wrap {
    order: 2;
  }
}

@media (max-width: 767px) {


  .home-page .company-map-visual,
  .home-page .company-map-visual-link,
  .home-page .egg-story-tablet-wrap,
  .home-page .egg-story-people-wrap {
    padding: 16px;
  }

  .home-page .home-flow-center .company-map-visual-flow {
    min-height: 0 !important;

    gap: 10px;
  }

  .home-page .company-map-flow-line {
    width: 2px;
    height: 18px;
  }

  


  .home-page .why-card {
    grid-template-columns: 48px minmax(0, 1fr);

    min-height: 0;
  }

}

/* Mobile overflow fix: page_setting.css adds 30px side margins with !important
   while the newer heading system also gives this block an explicit width. */
@media (max-width: 767px) {
  .about-page .about-hero-heading {
    width: calc(100% - 32px);
    max-width: 680px;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}
/* =========================================
   GIFTORDER FULL SCREEN MAIN BANNER
========================================= */

.giftorder-page-body .gift-hero-full {
  position: relative;

  width: 100%;
  height: 100svh;

  padding: 0;

  display: flex;
  align-items: center;

  overflow: hidden;

  background: #111;
}


/* 배경 이미지 */

.giftorder-page-body .gift-hero-full .gift-hero-bg {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  z-index: 0;
}


.giftorder-page-body .gift-hero-full .gift-hero-bg-img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transform: none;
}



/* 콘텐츠 영역 */

.giftorder-page-body .gift-hero-full .gift-hero-container {
  position: relative;
  z-index: 2;

  width: 100%;
  max-width: none;
  min-height: 100%;

  margin: 0;

  padding:
    110px
    clamp(28px, 5.14vw, 74px)
    72px;

  display: flex;
  align-items: center;
}


/* 텍스트 */

.giftorder-page-body .gift-hero-full .gift-hero-dark-copy {
  width: 100%;
  max-width: 760px;

  margin: 0;

  text-align: left;
}


.giftorder-page-body .gift-hero-full .gift-hero-kicker {
  margin: 0 0 14px;

  color: rgba(255, 255, 255, 0.78);

  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 600;

  line-height: 1.4;
}


.giftorder-page-body .gift-hero-full .gift-hero-title {
  margin: 0;

  color: #fff;

  font-size: clamp(44px, 5.2vw, 68px);
  font-weight: 760;

  line-height: 1.12;
}


.giftorder-page-body .gift-hero-full .gift-hero-zero {
  display: block;

  margin: 22px 0 0;

  color: #ffc01d;

  font-size: clamp(23px, 2.5vw, 34px);
  font-weight: 700;

  line-height: 1.35;
}


.giftorder-page-body .gift-hero-full .gift-hero-desc {
  max-width: 580px;

  margin: 24px 0 0;

  color: rgba(255, 255, 255, 0.82);

  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 400;

  line-height: 1.7;
}


/* 버튼 */

.giftorder-page-body .gift-hero-full .gift-hero-actions {
  display: flex;
  justify-content: flex-start;

  gap: 12px;

  margin-top: 32px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

  .giftorder-page-body .gift-hero-full {
    height: 100svh;
    min-height: 640px;
  }


  .giftorder-page-body .gift-hero-full .gift-hero-container {
    align-items: flex-end;

    padding:
      110px
      24px
      72px;
  }


  .giftorder-page-body .gift-hero-full .gift-hero-dark-copy {
    max-width: 100%;

    text-align: left;
  }


  .giftorder-page-body .gift-hero-full .gift-hero-title {
    font-size: clamp(38px, 11vw, 52px);
  }


  .giftorder-page-body .gift-hero-full .gift-hero-zero {
    margin-top: 16px;

    font-size: clamp(20px, 6vw, 27px);
  }


  .giftorder-page-body .gift-hero-full .gift-hero-desc {
    margin-top: 18px;

    font-size: 16px;
    line-height: 1.65;
  }


  .giftorder-page-body .gift-hero-full .gift-hero-actions {
    margin-top: 26px;
  }


  .giftorder-page-body .gift-hero-full .gift-hero-dim {
    background:
      linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.82) 0%,
        rgba(0, 0, 0, 0.45) 55%,
        rgba(0, 0, 0, 0.18) 100%
      );
  }

}

/* =========================================================
   GIFTAD PRODUCTS
========================================================= */

.giftad-page-body #giftadProducts {
  padding:
    clamp(90px, 9vw, 140px)
    0;

  background: #f6f6f4;
}


/* -----------------------------------------
   Heading
----------------------------------------- */

.giftad-page-body #giftadProducts .giftad-product-heading {
  width: min(620px, 100%);

  margin: 0 auto clamp(40px, 5vw, 64px);

  text-align: center;
}


.giftad-page-body #giftadProducts .giftad-section-label {
  display: block;

  margin-bottom: 16px;

  color: rgba(25, 25, 25, 0.48);

  font-size: 13px;
  font-weight: 600;

  letter-spacing: 0.08em;
}


.giftad-page-body #giftadProducts .giftad-product-heading h2 {
  margin: 0;

  color: #191919;

  font-size: clamp(31px, 3.35vw, 46px);
  font-weight: 600;

  line-height: 1.2;
}


.giftad-page-body #giftadProducts .giftad-product-heading h2 strong {
  color: #c98f00;

  font-weight: 760;
}


.giftad-page-body #giftadProducts .giftad-product-heading p {
  margin: 18px 0 0;

  color: rgba(25, 25, 25, 0.58);

  font-size: clamp(15px, 1.18vw, 17px);
  font-weight: 400;

  line-height: 1.66;
}


/* -----------------------------------------
   Grid
----------------------------------------- */

.giftad-page-body #giftadProducts .giftad-product-grid {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 24px;

  width: 100%;
}


/* -----------------------------------------
   Card
----------------------------------------- */

.giftad-page-body #giftadProducts .giftad-product-card {
  display: flex;
  flex-direction: column;

  min-width: 0;

  overflow: hidden;

  background: #fff;

  border: 1px solid rgba(25, 25, 25, 0.06);
  border-radius: 18px;

  box-shadow: none;

  transition:
    transform 0.35s ease,
    border-color 0.35s ease;
}


.giftad-page-body #giftadProducts .giftad-product-card:hover {
  transform: translateY(-4px);

  border-color: rgba(25, 25, 25, 0.14);
}


/* -----------------------------------------
   Image
----------------------------------------- */

.giftad-page-body #giftadProducts .giftad-product-visual {
  position: relative;

  width: 100%;
  height: clamp(260px, 28vw, 390px);

  overflow: hidden;

  background: #f1f1ef;
}


.giftad-page-body #giftadProducts .giftad-product-visual img {
  display: block;

  width: 100%;
  height: 100%;

  padding: 24px;

  object-fit: contain;
  object-position: center;

  transition: transform 0.55s ease;
}


.giftad-page-body #giftadProducts .giftad-product-card:hover
.giftad-product-visual img {
  transform: scale(1.025);
}


/* Number */

.giftad-page-body #giftadProducts .giftad-product-number {
  position: absolute;

  top: 20px;
  left: 22px;

  color: rgba(25, 25, 25, 0.35);

  font-size: 13px;
  font-weight: 600;

  letter-spacing: 0.04em;
}


/* -----------------------------------------
   Copy
----------------------------------------- */

.giftad-page-body #giftadProducts .giftad-product-copy {
  display: flex;
  flex: 1;
  flex-direction: column;

  padding:
    clamp(26px, 3vw, 38px)
    clamp(24px, 3vw, 36px)
    clamp(28px, 3vw, 38px);
}


.giftad-page-body #giftadProducts .giftad-product-type {
  display: block;

  margin: 0 0 10px;

  color: #d89a00;

  font-size: 14px;
  font-weight: 650;

  line-height: 1.4;
}


.giftad-page-body #giftadProducts .giftad-product-copy h3 {
  margin: 0;

  color: #191919;

  font-size: clamp(22px, 1.85vw, 28px);
  font-weight: 700;

  line-height: 1.25;
}


.giftad-page-body #giftadProducts .giftad-product-copy p {
  margin: 12px 0 0;

  color: rgba(25, 25, 25, 0.58);

  font-size: 16px;
  font-weight: 400;

  line-height: 1.62;
}


/* -----------------------------------------
   Link
----------------------------------------- */

.giftad-page-body #giftadProducts .giftad-product-link {
  display: inline-flex;
  align-items: center;

  gap: 9px;

  width: fit-content;

  margin-top: auto;
  padding-top: 28px;

  color: #191919;

  font-size: 15px;
  font-weight: 650;

  text-decoration: none;
}


.giftad-page-body #giftadProducts .giftad-product-link i {
  font-size: 12px;

  transition: transform 0.3s ease;
}


.giftad-page-body #giftadProducts .giftad-product-link:hover i {
  transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

  .giftad-page-body #giftadProducts .giftad-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  .giftad-page-body #giftadProducts .giftad-product-visual {
    height: 280px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .giftad-page-body #giftadProducts {
    padding: 80px 0;
  }


  .giftad-page-body #giftadProducts .giftad-product-heading {
    margin-bottom: 38px;

    text-align: left;
  }


  .giftad-page-body #giftadProducts .giftad-product-heading h2 {
    font-size: clamp(32px, 9vw, 42px);
  }


  .giftad-page-body #giftadProducts .giftad-product-heading p {
    margin-top: 16px;

    font-size: 16px;
  }


  .giftad-page-body #giftadProducts .giftad-product-grid {
    grid-template-columns: 1fr;

    gap: 18px;
  }






  .giftad-page-body #giftadProducts .giftad-product-copy h3 {
    font-size: 25px;
  }


  .giftad-page-body #giftadProducts .giftad-product-copy p {
    font-size: 15px;
  }

}

/* =========================================================
   SITE POLISH + MOBILE OPTIMIZATION PASS
   Final override layer for shared rhythm, header, cards,
   mobile grids, and touch ergonomics.
========================================================= */

:root {
  --ux-card-shadow: 0 12px 34px rgba(25, 25, 25, 0.065);
  --ux-card-shadow-hover: 0 18px 42px rgba(25, 25, 25, 0.095);

  --ux-content-width: 1040px;
  --ux-copy-width: 660px;
  --ux-section-space: clamp(88px, 8vw, 128px);
  --ux-section-space-tight: clamp(55px, 5.3vw, 80px);
  --ux-card-radius: 14px;
  --ux-line: rgba(23, 23, 23, .09);
  --ux-soft: #f7f7f4;

  --ux-page-bg: #fffdf8;
  --ux-ink-strong: #171717;
  --ux-ink: #2a2a2a;
  --ux-muted: rgba(23, 23, 23, .66);
  --ux-muted-soft: rgba(23, 23, 23, .5);
  --ux-surface: #fff;
  --ux-surface-warm: #faf8f1;
  --ux-yellow: #ffc01d;
  --ux-yellow-deep: #d99600;
  --ux-border: rgba(23, 23, 23, .09);
  --ux-shadow-soft: 0 14px 34px rgba(17, 17, 17, .07);
  --ux-shadow-lift: 0 18px 42px rgba(17, 17, 17, .1);
}

html {
  width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0;

  width: 100%;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--ux-ink);
  background: var(--ux-page-bg);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

/* img에 width/height 속성을 넣어 CLS를 막되(브라우저가 aspect-ratio로 자리 확보),
   CSS로 높이를 지정하지 않은 이미지는 비율이 깨지지 않도록 auto로 되돌린다.
   클래스 선택자로 height를 주는 규칙(.solution-img 등)은 특이도가 높아 영향 없음. */
img {
  height: auto;
}

a,
button,
input,
select,
textarea {
  -webkit-tap-highlight-color: rgba(255, 192, 29, .28);
}

button,
.site-btn,
.gift-cta-btn,
.giftad-cta-btn,
.product-cta-btn,
.product-filter-btn,
.quick-inquiry-submit {
  touch-action: manipulation;
}

.site-header {
  width: 100%;
}

.topnav {
  width: 100%;
}

.topnav .container-fluid,
.topnav .navbar,
.topnav-menu,
#topnav-menu-content {
  min-width: 0;
}

.navbar-nav {
  gap: 6px;
}

.navbar-nav .nav-item {
  min-width: 0;
}

.navbar-nav .nav-item a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin: 0 2px;
  padding: 9px 10px;
  color: rgba(23, 23, 23, .72) !important;
  font-size: clamp(22px, 1.7vw, 24px);
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.navbar-nav .nav-item a:hover,
.navbar-nav .nav-item.selected a {
  color: var(--ux-ink-strong) !important;
  background: rgba(255, 192, 29, .2);
}

.site-logo-pc {
  flex: 0 0 auto;
  width: clamp(132px, 13vw, 184px);
  min-width: 132px;
}

.site-nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  gap: 25px;
}

.site-nav-actions a.onlyPC {
  min-height: 38px;
  padding: 0 13px;
  font-size: 20px;
  line-height: 38px;
}

.site-nav-phone {
  margin-right: 0;
  font-size: 20px !important;
  white-space: nowrap;
}

.site-toggler {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
}

.main-banner,
.gift-hero,
.giftad-hero,
.product-hero,
.giftorder-page-body .gift-hero-full {
  min-height: min(760px, 100svh);
}

.main-banner-content,
.giftorder-page-body .gift-hero-full .gift-hero-container,
.giftad-page-body .giftad-hero-layout,
.product-page .product-hero-inner {
  min-width: 0;
}

.banner-title,
.gift-hero-title,
.giftad-hero-copy h1,
.product-hero-copy h1,
.about-hero-title,
.section-title,
.company-map-title,
.egg-story-title {
  color: var(--ux-ink-strong);
  letter-spacing: 0 !important;
  word-break: keep-all;
}

.main-banner .banner-title,
.giftorder-page-body .gift-hero-title,
.giftad-page-body .giftad-hero-copy h1,
.product-page .product-hero-copy h1 {
  color: #fff;
}

.product-page .product-hero-copy h1 {
  color: var(--ux-ink-strong);
}

.product-page .product-hero-copy p,
.product-page .product-hero-kicker {
  color: rgba(23, 23, 23, .66);
}

.section-desc,
.banner-content,
.company-map-description,
.egg-story-desc,
.gift-hero-desc,
.giftad-hero-desc,
.product-hero-copy p,
.about-hero-desc,
.about-intro-copy p,
.about-ceo-desc,
.site-insight-card p,
.gift-small-card p,
.giftad-process-card p,
.product-support-item p {
  color: var(--ux-muted);
  word-break: keep-all;
}

.site-section,
.home-page .site-section,
.content-landing-page .gift-section,
.content-landing-page .giftad-section,
.content-landing-page .site-section,
.content-landing-page .about-hero-section,
.content-landing-page .about-value-section,
.content-landing-page .about-growth-section,
.content-landing-page .about-ceo-section,
.content-landing-page .about-location-section,
.content-landing-page .product-support-section,
.content-landing-page .product-bottom-cta-section,
.content-landing-page .gift-bottom-cta-section,
.content-landing-page .giftad-bottom-cta-section {
  padding-top: clamp(72px, 8vw, 116px);
  padding-bottom: clamp(72px, 8vw, 116px);
}

.site-card,
.solution-card,
.about-value-card,
.about-ceo-card,
.about-location-inner,
.site-insight-card,
.gift-small-card,
.gift-benefit-card,
.giftad-process-card,
.giftad-store-card,
.giftad-product-card,
.product-card,
.product-support-card,
.inquiry-card,
.consult-card {
  border-color: var(--ux-border);
  border-radius: 12px;
  box-shadow: none;
}

.strength-card:hover,
.solution-card:hover,
.about-value-card:hover,
.site-insight-card:hover,
.gift-small-card:hover,
.giftad-product-card:hover,
.product-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--ux-shadow-lift);
}

.site-btn,
.gift-cta-btn,
.giftad-cta-btn,
.product-cta-btn,
.product-more-btn,
.product-filter-btn {
  min-height: 44px;
  border-radius: 999px;
  line-height: 1.15;
}

.product-filter-wrap {
  gap: 8px;
}

.product-filter-btn {
  padding: 11px 18px;
  border: 1px solid var(--ux-border);
  background: #fff;
}

.product-filter-btn.active,
.product-filter-btn:hover {
  color: var(--ux-ink-strong);
  background: var(--ux-yellow);
  border-color: var(--ux-yellow);
}

.site-footer {
  background: #141414;
}

.site-footer .container,
.site-copyright .container {
  width: min(1040px, calc(100% - 40px));
  max-width: 1040px;
}

.site-footer p,
.site-copyright span {
  color: rgba(255, 255, 255, .62);
  line-height: 1.7;
}

.site-footer-email {
  color: rgba(255, 192, 29, .86);
}

#quk_warp {
  right: clamp(18px, 3vw, 42px);
  bottom: clamp(24px, 5vw, 86px);
}

@media (max-width: 1199px) {
  .site-logo-pc {
    width: 132px;
    min-width: 132px;
  }

  .navbar-nav .nav-item a {
    padding-right: 7px;
    padding-left: 7px;
    font-size: 15px;
  }

  .site-nav-phone {
    display: none;
  }
}

@media (max-width: 991px) {

  .topnav .navbar {
    align-items: center;
  }

  .site-logo-mobile {
    width: clamp(126px, 36vw, 166px);
    max-width: 166px;
  }

  .site-mobile-login {
    margin-left: auto;
    margin-right: 10px;
    font-size: 14px;
    font-weight: 760;
    white-space: nowrap;
  }

  #topnav-menu-content {
    width: 100%;
    margin-top: 10px;
    padding: 8px;
    background: rgba(255, 255, 255, .98);
    border: 1px solid var(--ux-border);
    border-radius: 12px;
    box-shadow: var(--ux-shadow-soft);
  }

  #topnav-menu-content > .d-flex {
    width: 100%;
  }

  #topnav-menu-content .flex-column {
    width: 100%;
  }

  .navbar-nav {
    width: 100%;
    align-items: stretch;
    gap: 4px;
  }

  .navbar-nav .nav-item {
    width: 100%;
  }

  .navbar-nav .nav-item a {
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 12px 14px;
    font-size: 16px;
    white-space: normal;
  }

  .site-nav-actions {
    width: 100%;
    padding: 8px 6px 2px;
  }

  .home-page .egg-story-layer,
  .gift-benefit-card,
  .giftad-store-card,
  .about-ceo-card,
  .about-location-inner,
  .product-detail-layout {
    grid-template-columns: 1fr !important;
  }

  .home-page .company-map-copy,
  .home-page .egg-story-copy,
  .gift-benefit-copy,
  .giftad-store-copy,
  .about-ceo-copy,
  .about-location-info {
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .site-insight-grid-4,
  .gift-card-grid-4,
  .gift-card-grid-5,
  .giftad-process-grid,
  .giftad-product-grid,
  .about-value-grid-4,
  .product-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  :root {
    --ux-section-space: 66px;
    --ux-section-space-tight: 56px;
  }

  body {
    font-size: 15px;
    line-height: 1.62;
  }

  p {
    line-height: 1.66;
  }

  .site-mobile-login {
    display: none !important;
  }

  .site-toggler {
    width: 40px;
    height: 40px;
    margin: 0 20px 0 auto;
  }

  #topnav-menu-content {
    max-height: calc(100svh - 76px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .main-banner,
  .gift-hero,
  .giftad-hero,
  .product-hero,
  .giftorder-page-body .gift-hero-full {
    min-height: 620px;
  }

  .main-banner-content,
  .home-page .main-banner-content {
    align-items: flex-start;
    justify-content: center;
    height: 100svh;
    min-height: 620px;
    padding: 96px 18px 92px !important;
  }

  .home-page .banner-title,
  .banner-title,
  .giftorder-page-body .gift-hero-full .gift-hero-title,
  .content-landing-page .gift-hero-title,
  .content-landing-page .giftad-hero-copy h1,
  .content-landing-page .product-hero-copy h1,
  .content-landing-page .about-hero-title {
    font-size: clamp(31px, 9.3vw, 40px);
    line-height: 1.18;
    overflow-wrap: break-word;
  }

  .banner-content,
  .home-page .banner-content,
  .giftorder-page-body .gift-hero-full .gift-hero-desc,
  .content-landing-page .gift-hero-desc,
  .content-landing-page .giftad-hero-desc,
  .content-landing-page .product-hero-copy p,
  .content-landing-page .about-hero-desc {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.62;
    overflow-wrap: break-word;
  }

  .main-banner-dots {
    bottom: 24px;
  }

  .site-section,
  .home-page .site-section,
  .content-landing-page .gift-section,
  .content-landing-page .giftad-section,
  .content-landing-page .site-section,
  .content-landing-page .about-hero-section,
  .content-landing-page .about-value-section,
  .content-landing-page .about-growth-section,
  .content-landing-page .about-ceo-section,
  .content-landing-page .about-location-section,
  .content-landing-page .product-support-section,
  .content-landing-page .product-bottom-cta-section,
  .content-landing-page .gift-bottom-cta-section,
  .content-landing-page .giftad-bottom-cta-section {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .home-page .container,
  .home-page .site-container,
  .content-landing-page section > .container,
  .content-landing-page section > .site-container,
  .content-landing-page .contents,
  .content-landing-page .product-hero-inner,
  .home-page .company-map-scene,
  .home-page .egg-story-layer,
  .about-page .about-intro-card,
  .about-page .about-ceo-card,
  .inquiry-page .inquiry-layout {
    width: calc(100% - 28px);
  }

  .section-heading,
  .content-landing-page .section-heading,
  .content-landing-page .site-insight-heading,
  .content-landing-page .gift-section-heading,
  .content-landing-page .giftad-section-heading,
  .content-landing-page .product-section-heading,
  .content-landing-page .inquiry-process-heading,
  .content-landing-page .about-hero-heading {
    width: 100%;
    margin-bottom: 28px;
    text-align: left;
  }

  .home-page .section-title,
  .home-page .company-map-title,
  .home-page .egg-story-title,
  .content-landing-page .section-title,
  .content-landing-page .site-insight-heading h2,
  .content-landing-page .gift-section-heading h2,
  .content-landing-page .giftad-section-heading h2,
  .content-landing-page .product-section-heading h2,
  .content-landing-page .inquiry-process-heading h2,
  .content-landing-page .about-intro-copy h2,
  .content-landing-page .about-ceo-title,
  .content-landing-page .about-location-title {
    font-size: clamp(27px, 7.9vw, 34px);
    line-height: 1.24;
  }

  .section-desc,
  .home-page .section-desc,
  .home-page .egg-story-desc,
  .home-page .egg-story-note,
  .content-landing-page .section-desc,
  .content-landing-page .gift-section-heading p,
  .content-landing-page .giftad-section-heading p,
  .content-landing-page .product-section-heading p,
  .content-landing-page .inquiry-process-heading p,
  .content-landing-page .about-intro-copy p,
  .content-landing-page .about-ceo-desc {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.66;
    overflow-wrap: break-word;
  }

  .home-page .company-map-copy,
  .home-page .egg-story-copy,
  .gift-benefit-copy,
  .giftad-store-copy,
  .about-ceo-copy,
  .about-location-info {
    text-align: left;
  }

  .home-page .company-map-scene,
  .home-page .egg-story-layer {
    padding: 58px 0;
    gap: 22px;
  }

  .home-page .company-map-visual,
  .home-page .company-map-visual-link,
  .home-page .egg-story-tablet-wrap,
  .home-page .egg-story-people-wrap,
  .giftad-page-body .giftad-hero-media-area,
  .giftad-page-body .giftad-dashboard-card,
  .giftad-page-body .giftad-report-card,
  .about-page .about-intro-visual,
  .about-page .about-ceo-visual {
    min-height: 260px !important;
    border-radius: 12px;
  }

  .home-page .company-map-flow-item {
    aspect-ratio: auto;

    width: 100%;
    min-height: 78px;
  }

  .site-insight-grid,
  .site-insight-grid-3,
  .site-insight-grid-4,
  .gift-card-grid,
  .gift-card-grid-4,
  .gift-card-grid-5,
  .gift-benefit-grid,
  .giftad-process-grid,
  .giftad-product-grid,
  .about-value-grid,
  .about-value-grid-3,
  .about-value-grid-4,
  .about-growth-grid,
  .product-support-grid,
  .inquiry-process-list,
  .home-page .strength-grid,
  .home-page .why-grid,
  .home-page .solution-grid,
  .home-page .metric-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .solution-card,
  .about-value-card,
  .about-growth-card,
  .site-insight-card,
  .gift-small-card,
  .giftad-process-card,
  .product-support-item,
  .inquiry-process-item {
    min-height: 0;
    min-width: 0;
    padding: 22px 20px;
  }

  .site-insight-card h3,
  .gift-small-card h3,
  .gift-benefit-copy h3,
  .gift-reason-item h3,
  .giftad-v3-proof-grid h3,
  .giftad-v3-journey-line h3,
  .product-support-item h3,
  .inquiry-process-item h3 {
    overflow-wrap: break-word;
  }

  .giftorder-page-body .gift-small-card,
  .giftad-page-body .giftad-process-card,
  .product-page .product-support-item,
  .inquiry-page .inquiry-process-item {
    padding: 22px 20px;
  }

  .gift-benefit-card,
  .giftad-store-card,
  .about-ceo-card,
  .product-support-card,
  .gift-bottom-cta,
  .giftad-bottom-cta,
  .product-bottom-cta,
  .consult-card,
  .inquiry-card {
    width: 100%;
    padding: 24px 20px;
    border-radius: 12px;
  }

  .gift-benefit-img-wrap,
  .giftad-store-img-wrap,
  .giftad-product-visual,
  .product-card-img-box {
    min-height: 210px;
    border-radius: 12px;
  }

  .giftad-page-body #giftadProducts .giftad-product-card {
    border-radius: 12px;
  }

  .giftad-page-body #giftadProducts .giftad-product-visual {
    height: 230px;
  }

  .giftad-page-body #giftadProducts .giftad-product-copy {
    padding: 22px 20px 24px;
  }

  .product-page .product-list-grid {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  .product-page .product-item {
    padding-right: 6px;
    padding-left: 6px;
  }

  .product-card {
    min-height: 0;
  }

  .product-card-info {
    padding: 14px 12px 16px;
  }

  .product-card-title {
    min-height: 36px;
    font-size: 14px;
    line-height: 1.28;
  }

  .product-more-btn {
    width: 100%;
    margin-top: 12px;
  }

  .product-filter-wrap {
    display: flex;
    flex-wrap: nowrap;
    margin-right: -14px;
    margin-left: -14px;
    padding: 0 14px 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .product-filter-wrap::-webkit-scrollbar {
    display: none;
  }

  .product-filter-btn {
    flex: 0 0 auto;
    max-width: min(76vw, 260px);
    padding: 10px 15px;
    font-size: 14px;
    white-space: normal;
  }

  .site-btn,
  .gift-btn,
  .giftad-btn,
  .gift-cta-btn,
  .giftad-cta-btn,
  .product-cta-btn,
  .consult-btn,
  .product-more-btn {
    height: auto;
    white-space: normal;
    text-align: center;
  }

  .gift-hero-actions,
  .giftad-hero-actions,
  .gift-bottom-actions,
  .giftad-bottom-actions,
  .product-bottom-actions,
  .consult-actions {
    flex-wrap: wrap;
  }

  .giftad-page-body .giftad-hero-summary strong,
  .giftad-page-body .giftad-hero-summary span,
  .giftad-page-body .giftad-v3-points span,
  .product-hero-points span {
    white-space: normal;
    overflow-wrap: break-word;
  }

  .about-page .about-location-inner {
    padding: 0;
    background: transparent;
    border: 0;
  }

  .about-location-item {
    align-items: flex-start;
  }

  .about-location-map-wrap {
    min-height: 300px;
  }

  .subnav-wrap {
    width: 100%;
    padding-right: 14px;
    padding-left: 14px;
  }

  .subnav-kr {
    font-size: 17px;
  }

  .subnav-en {
    font-size: 11px;
  }

  .site-footer {
    padding: 0;
  }

  .site-footer .row,
  .site-copyright .row {
    gap: 18px;
  }

  .site-footer-col {
    width: 100%;
    text-align: left;
  }

  .site-footer-logo {
    width: 150px;
  }

  .site-copyright .col-sm-12 {
    justify-content: flex-start;
    min-height: 42px;
  }

  #quk_warp {
    right: 12px;
    bottom: 12px;
    width: auto;
    max-width: calc(100% - 24px);
  }

  #quk_warp > .qus_area {
    display: flex;
    gap: 8px;
  }

  #quk_warp > .qus_area > .btn_quk_warp {
    width: 48px;
    height: 48px;
    background-size: 48px 48px;
  }

  #quk_warp > .qus_area > .btn_quk_warp + .btn_quk_warp {
    margin-top: 0;
  }

  #quk_warp > .qus_area > .btn_quk_warp:hover {
    width: 48px;
    margin-left: 0;
  }

  #quk_warp > .qus_area > .btn_quk_warp > span {
    display: none;
  }

  #quk_warp > .qus_area > .btn_quk_warp.iconss04::after {
    width: 48px;
    height: 48px;
  }

  .quick-inquiry-modal {
    align-items: flex-end;
    padding: 10px;
  }

  .quick-inquiry-dialog {
    width: 100%;
    max-height: calc(100svh - 20px);
    padding: 24px 18px 20px;
    border-radius: 16px 16px 10px 10px;
  }

  .quick-inquiry-header {
    padding-right: 42px;
  }

  .quick-inquiry-form {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width: 420px) {
  .home-page .banner-title,
  .banner-title,
  .giftorder-page-body .gift-hero-full .gift-hero-title,
  .content-landing-page .gift-hero-title,
  .content-landing-page .giftad-hero-copy h1,
  .content-landing-page .product-hero-copy h1,
  .content-landing-page .about-hero-title {
    font-size: clamp(29px, 8.8vw, 36px);
  }

  .site-btn,
  .gift-cta-btn,
  .giftad-cta-btn,
  .product-cta-btn {
    width: 100%;
    padding-right: 18px;
    padding-left: 18px;
    font-size: 15px;
  }

  .gift-hero-actions,
  .giftad-hero-actions,
  .gift-bottom-actions,
  .giftad-bottom-actions,
  .product-bottom-actions,
  .consult-actions {
    width: 100%;
    flex-direction: column;
  }

  .product-page .product-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* =========================================================
   FEATURED NUMBER LAYOUT
   One lead metric on top, three supporting metrics below.
========================================================= */

.home-page .home-number-section {
  --featured-metric-width: min(1000px, calc(100% - 48px));
  --featured-metric-gap: 16px;
  --featured-metric-card-bg: #fff;
  --featured-metric-line: rgba(23, 23, 23, .08);
  --featured-metric-shadow: 0 22px 60px rgba(23, 23, 23, .08);
}
.about-page .about-growth-grid,
.home-page .home-number-section .metric-grid {
  width: var(--featured-metric-width);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--featured-metric-gap);
  margin-right: auto;
  margin-left: auto;
  border: 0;
}

.about-page .about-growth-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));

  margin-top: var(--featured-metric-gap);
}

.about-page .about-growth-section > .about-growth-card,
.home-page .home-number-section .metric-grid > .metric-card:first-child {
  position: relative;
  width: var(--featured-metric-width);
  min-height: 230px;
  margin-right: auto;
  margin-left: auto;
  padding: clamp(32px, 4.8vw, 56px);
  overflow: hidden;
  background:#fff;
  border: 1px solid transparent;
  border-radius: 16px;
  box-shadow: var(--featured-metric-shadow);
}

.about-page .about-growth-section > .about-growth-card, 
.home-page .home-number-section .metric-grid > .metric-card:first-child {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(300px, .42fr) minmax(420px, .58fr);
  align-items: center;
  gap: 40px;
  text-align: left;
}

.home-page .home-number-section .metric-grid > .metric-card:first-child .metric-head {
  align-self: center;
}

.about-page .about-growth-section > .about-growth-card :is(.about-growth-icon),
.home-page .home-number-section .metric-grid > .metric-card:first-child .metric-icon {
  width: clamp(62px, 5.2vw, 78px);
  height: clamp(62px, 5.2vw, 78px);
  color: var(--ux-ink-strong);
  font-size: clamp(24px, 2.3vw, 32px);
  background: rgba(255, 192, 29, .24);
  border-radius: 50%;
  box-shadow: none;
}

.about-page .about-growth-section > .about-growth-card :is(.about-growth-label) {
  color: var(--ux-muted-soft);
  font-size: clamp(15px, 1.15vw, 17px);
  font-weight: 760;
}

.about-page .about-growth-section > .about-growth-card :is(.about-growth-value),
.home-page .home-number-section .metric-grid > .metric-card:first-child .metric-value {
  margin-top: 10px;
  color: var(--ux-ink-strong);
  font-size: clamp(56px, 7vw, 96px);
  font-weight: 820;
  line-height: .95;
  justify-content: center;
}

.home-page .home-number-section .metric-grid > .metric-card:first-child .metric-desc {
  grid-column: 2;
  max-width: 420px;
  color: var(--ux-muted);
  border-top: 2px solid var(--home-line);
  padding-top: 7px;
  margin-top: 7px;
}


.home-page .home-number-section .metric-grid > .metric-card:not(:first-child) {
  min-height: 205px;
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--featured-metric-line);
  border-radius: 14px;
  box-shadow: none;
}
.about-page .about-growth-grid > .about-growth-card:hover,
.home-page .home-number-section .metric-grid > .metric-card:not(:first-child):hover {
  transform: translateY(-2px);
  border-color: rgba(255, 192, 29, .38);
  box-shadow: 0 14px 34px rgba(23, 23, 23, .07);
}

.about-page .about-growth-grid > .about-growth-card :is(.about-growth-icon),
.home-page .home-number-section .metric-grid > .metric-card:not(:first-child) .metric-icon {
  width: 46px;
  height: 46px;
  color: var(--ux-ink-strong);
  background: rgba(255, 192, 29, .88);
  border-radius: 10px;
  box-shadow: none;
}

.home-page .home-number-section .metric-grid > .metric-card:not(:first-child) .metric-value {
  margin-top: 18px;
  font-size: clamp(34px, 3.6vw, 46px);
}

.home-page .home-number-section .metric-grid > .metric-card:not(:first-child) .metric-desc {
  margin-bottom: 0;
  color: var(--ux-muted);
}

@media (max-width: 991px) {
  .about-page .about-growth-grid,
  .home-page .home-number-section .metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .home-page .home-number-section .metric-grid > .metric-card:first-child {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .home-page .home-number-section .metric-grid > .metric-card:first-child .metric-head {
    justify-content: center;
  }

  .home-page .home-number-section .metric-grid > .metric-card:first-child .metric-desc {
    grid-column: auto;
    margin: 0 auto;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .about-page .about-growth-section > .about-growth-card,
  .home-page .home-number-section .metric-grid > .metric-card:first-child {
    width: 100%;
    min-height: 0;
    padding: 28px 22px 30px;
    text-align: left;
  }

  .about-page .about-growth-section > .about-growth-card {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .home-page .home-number-section .metric-grid > .metric-card:first-child {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .home-page .home-number-section .metric-grid > .metric-card:first-child .metric-head {
    justify-content: flex-start;
  }

  .home-page .home-number-section .metric-grid > .metric-card:first-child .metric-desc {
    margin: 0;
    text-align: left;
  }

  .about-page .about-growth-grid,
  .home-page .home-number-section .metric-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .about-page .about-growth-section > .about-growth-card .about-growth-value,
  .home-page .home-number-section .metric-grid > .metric-card:first-child .metric-value {
    font-size: clamp(42px, 13vw, 62px);
  }

  .about-page .about-growth-grid > .about-growth-card,
  .home-page .home-number-section .metric-grid > .metric-card:not(:first-child) {
    min-height: 0;
    padding: 22px 20px;
  }
}

.speech-title {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 12px 28px;
  background: #ffc01d;
  color: #000;

  font-size: 20px;
  font-weight: 700;

  border-radius: 999px;
}

/* 아래쪽 꼬리 */
.speech-title::after {
  content: "";
  position: absolute;

  left: 50%;
  bottom: -13px;
  transform: translateX(-50%);

  width: 0;
  height: 0;

  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 15px solid #ffc01d;
}
/* =========================================================
   GIFTAD V3 - content-preserving editorial redesign
========================================================= */
.giftad-page-body .giftad-v3-problem,
.giftad-page-body .giftad-v3-feature,
.giftad-page-body .giftad-v3-data,
.giftad-page-body .giftad-v3-journey {
  position: relative;
  word-break: keep-all;
}

.giftad-page-body .giftad-v3-problem,
.giftad-page-body .giftad-v3-journey {
  padding: clamp(88px, 9vw, 132px) 0;
  background: #fff;
}

.giftad-page-body .giftad-v3-section-head {
  max-width: 620px;
}

.giftad-page-body .giftad-v3-section-head-center {
  margin: 0 auto;
  text-align: center;
}

.giftad-page-body .giftad-v3-eyebrow {
  margin: 0 0 16px;
  color: #c98f00;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .14em;
}

.giftad-page-body .giftad-v3-section-head h2,
.giftad-page-body .giftad-v3-feature-copy h2 {
  margin: 0;
  color: #191919;
  font-size: clamp(31px, 3.45vw, 46px);
  font-weight: 620;
  line-height: 1.2;
}

.giftad-page-body .giftad-v3-section-head h2 strong,
.giftad-page-body .giftad-v3-feature-copy h2 strong {
  color: #c98f00;
  font-weight: 760;
}

.giftad-page-body .giftad-v3-section-head > p:last-child,
.giftad-page-body .giftad-v3-lead {
  margin: 18px 0 0;
  color: rgba(25, 25, 25, .6);
  font-size: clamp(18px, 1.4vw, 20px);
  font-weight: 430;
  line-height: 1.5;
}

/* problem: no boxed-card feeling, just editorial dividers */
.giftad-page-body .giftad-v3-problem-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0;
  margin-top: clamp(38px, 5vw, 64px);
  border-top: 1px solid rgba(25,25,25,.12);
  border-bottom: 1px solid rgba(25,25,25,.12);
}

.giftad-page-body .giftad-v3-problem-list article {
  display: grid;
  grid-template-columns: 56px minmax(0,1fr);
  gap: 22px;
  padding: clamp(28px, 3.4vw, 42px) clamp(20px, 3.4vw, 42px);
}

.giftad-page-body .giftad-v3-problem-list article + article {
  border-left: 1px solid rgba(25,25,25,.12);
}

.giftad-page-body .giftad-v3-problem-no {
  color: #d49a00;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}



.giftad-page-body .giftad-v3-problem-list p {
  margin: 10px 0 0;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
}

/* large image + copy sections */
.giftad-page-body .giftad-v3-feature {
  padding: clamp(78px, 8.5vw, 124px) 0;
}

.giftad-page-body .giftad-v3-feature-light {
  background: #f6f6f2;
}

.giftad-page-body .giftad-v3-feature-dark {
  color: #fff;
  background:
    radial-gradient(circle at 80% 15%, rgba(255,192,29,.12), transparent 28%),
    #111214;
}

.giftad-page-body .giftad-v3-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr);
  align-items: center;
  gap: clamp(48px, 7vw, 108px);
}

.giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-visual {
  order: 2;
}

.giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-feature-copy {
  order: 1;
}

.giftad-page-body .giftad-v3-visual {
  position: relative;
  min-height: 420px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e9e9e4;
  border-radius: 28px;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-visual {
  background: #1b1d20;
  border: 1px solid rgba(255,255,255,.08);
}

.giftad-page-body .giftad-v3-visual img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.giftad-page-body .giftad-v3-visual-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  color: rgba(25,25,25,.72);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,192,29,.28), transparent 30%),
    linear-gradient(135deg, #f0eee5, #e5e5df);
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-visual-fallback {
  color: rgba(255,255,255,.78);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,192,29,.2), transparent 32%),
    linear-gradient(135deg, #242629, #151619);
}

.giftad-page-body .giftad-v3-visual-fallback i {
  font-size: clamp(38px, 5vw, 74px);
}

.giftad-page-body .giftad-v3-visual-fallback i:nth-child(2) {
  color: #ffc01d;
  transform: translateY(-16px) scale(1.2);
}

.giftad-page-body .giftad-v3-feature-copy {
  max-width: 470px;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-feature-copy h2 {
  color: #fff;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-feature-copy h2 strong {
  color: #ffc01d;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-lead {
  color: rgba(255,255,255,.62);
}

.giftad-page-body .giftad-v3-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.giftad-page-body .giftad-v3-points span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 9px 14px;
  color: rgba(25,25,25,.72);
  font-size: 13px;
  font-weight: 650;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(25,25,25,.08);
  border-radius: 999px;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-points span {
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.11);
}

/* data section */
.giftad-page-body .giftad-v3-data {
  padding: clamp(82px, 8.5vw, 128px) 0;
  background: #f1f1ed;
}

.giftad-page-body .giftad-v3-data-top {
  display: grid;
  grid-template-columns: minmax(320px,.72fr) minmax(0,1.28fr);
  align-items: center;
  gap: clamp(44px, 6vw, 90px);
}

.giftad-page-body .giftad-v3-data-visual {
  position: relative;
  min-height: 400px;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #17181b;
  border-radius: 30px;
  box-shadow: 0 30px 80px rgba(0,0,0,.14);
}

.giftad-page-body .giftad-v3-data-visual img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.giftad-page-body .giftad-v3-data-fallback {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 75% 20%, rgba(255,192,29,.23), transparent 25%),
    linear-gradient(145deg, #222428, #111214);
}

.giftad-page-body .giftad-v3-data-fallback i {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #ffc01d;
  font-size: 72px;
  transform: translate(-50%,-50%);
}

.giftad-page-body .giftad-v3-data-fallback span {
  position: absolute;
  bottom: 20%;
  width: 8%;
  background: rgba(255,255,255,.16);
  border-radius: 8px 8px 0 0;
}

.giftad-page-body .giftad-v3-data-fallback span:nth-of-type(1){left:14%;height:24%;}
.giftad-page-body .giftad-v3-data-fallback span:nth-of-type(2){left:25%;height:40%;background:#ffc01d;}
.giftad-page-body .giftad-v3-data-fallback span:nth-of-type(3){right:24%;height:52%;}
.giftad-page-body .giftad-v3-data-fallback span:nth-of-type(4){right:13%;height:32%;}

.giftad-page-body .giftad-v3-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  margin-top: clamp(42px, 5.5vw, 70px);
  border-top: 1px solid rgba(25,25,25,.12);
  border-bottom: 1px solid rgba(25,25,25,.12);
}

.giftad-page-body .giftad-v3-proof-grid article {
  position: relative;
  min-width: 0;
  padding: clamp(26px, 2.8vw, 38px) clamp(18px, 2.1vw, 28px) clamp(28px, 3vw, 42px);
}

.giftad-page-body .giftad-v3-proof-index {
  color: rgba(25,25,25,.35);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
}

.giftad-page-body .giftad-v3-proof-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-top: 22px;
  color: #191919;
  font-size: 16px;
  background: #ffc01d;
  border-radius: 50%;
}

.giftad-page-body .giftad-v3-proof-grid h3 {
  margin: 18px 0 0;
  color: #191919;
  font-size: clamp(17px,1.35vw,21px);
  font-weight: 700;
  line-height: 1.38;
}

.giftad-page-body .giftad-v3-proof-grid p {
  margin: 10px 0 0;
  color: rgba(25,25,25,.58);
  font-size: 14px;
  line-height: 1.62;
}

.giftad-page-body .giftad-v3-proof-grid p strong {
  color: #191919;
  font-weight: 800;
}

/* journey: one line, not four heavy cards */
.giftad-page-body .giftad-v3-journey-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  margin-top: clamp(42px,5vw,64px);
}

.giftad-page-body .giftad-v3-journey-line::before {
  position: absolute;
  top: 42px;
  right: 10%;
  left: 10%;
  height: 1px;
  background: rgba(25,25,25,.13);
  content: "";
}

.giftad-page-body .giftad-v3-journey-line article {
  position: relative;
  z-index: 2;
  padding: 0 20px;
  text-align: center;
}

.giftad-page-body .giftad-v3-journey-line article > span {
  display: block;
  margin-bottom: 16px;
  color: rgba(25,25,25,.4);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.giftad-page-body .giftad-v3-journey-line i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  color: #191919;
  font-size: 19px;
  background: #ffc01d;
  border: 9px solid #fff;
  border-radius: 50%;
  box-sizing: content-box;
}

.giftad-page-body .giftad-v3-journey-line h3 {
  margin: 18px 0 0;
  color: #191919;
  font-size: 18px;
  font-weight: 700;
}

.giftad-page-body .giftad-v3-journey-line p {
  margin: 8px auto 0;
  max-width: 190px;
  color: rgba(25,25,25,.55);
  font-size: 14px;
  line-height: 1.55;
}

/* keep product information, visually separate from proof section */
.giftad-page-body #giftadProducts {
  border-top: 1px solid rgba(25,25,25,.06);
}

@media (max-width: 1100px) {
  .giftad-page-body .giftad-v3-proof-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .giftad-page-body .giftad-v3-proof-grid article:nth-child(4) {
    border-top: 1px solid rgba(25,25,25,.12);
  }
}

@media (max-width: 991px) {
  .giftad-page-body .giftad-v3-feature-grid,
  .giftad-page-body .giftad-v3-data-top {
    grid-template-columns: 1fr;
  }
  .giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-visual,
  .giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-feature-copy {
    order: initial;
  }
  .giftad-page-body .giftad-v3-feature-copy,
  .giftad-page-body .giftad-v3-section-head {
    max-width: 720px;
  }
  .giftad-page-body .giftad-v3-visual {
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .giftad-page-body .giftad-v3-problem,
  .giftad-page-body .giftad-v3-feature,
  .giftad-page-body .giftad-v3-data,
  .giftad-page-body .giftad-v3-journey {
    padding: 72px 0;
  }

  .giftad-page-body .giftad-v3-section-head-center {
    text-align: left;
  }

  .giftad-page-body .giftad-v3-section-head h2,
  .giftad-page-body .giftad-v3-feature-copy h2 {
    font-size: clamp(30px, 9vw, 40px);
  }

  .giftad-page-body .giftad-v3-problem-list {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }

  .giftad-page-body .giftad-v3-problem-list article {
    grid-template-columns: 42px minmax(0,1fr);
    gap: 12px;
    padding: 26px 0;
  }

  .giftad-page-body .giftad-v3-problem-list article + article {
    border-left: 0;
    border-top: 1px solid rgba(25,25,25,.12);
  }

  .giftad-page-body .giftad-v3-visual,
  .giftad-page-body .giftad-v3-data-visual {
    min-height: 0;
    border-radius: 20px;
  }

  .giftad-page-body .giftad-v3-points {
    gap: 8px;
    margin-top: 24px;
  }

  .giftad-page-body .giftad-v3-points span {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 12px;
  }

  .giftad-page-body .giftad-v3-proof-grid {
    grid-template-columns: 1fr;
    margin-top: 42px;
  }


  .giftad-page-body .giftad-v3-proof-grid article:first-child {
    border-top: 0;
  }

  .giftad-page-body .giftad-v3-proof-icon {
    margin-top: 18px;
  }

  .giftad-page-body .giftad-v3-journey-line {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 38px;
  }

  .giftad-page-body .giftad-v3-journey-line::before {
    top: 0;
    bottom: 0;
    left: 27px;
    width: 1px;
    height: auto;
  }

  .giftad-page-body .giftad-v3-journey-line article {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr);
    column-gap: 18px;
    padding: 18px 0;
    text-align: left;
  }

  .giftad-page-body .giftad-v3-journey-line article > span {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 3px;
  }

  .giftad-page-body .giftad-v3-journey-line i {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 38px;
    height: 38px;
    font-size: 15px;
    border-width: 8px;
  }

  .giftad-page-body .giftad-v3-journey-line h3 {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
  }

  .giftad-page-body .giftad-v3-journey-line p {
    grid-column: 2;
    grid-row: 3;
    max-width: none;
    margin: 5px 0 0;
  }
}

/* =========================================================
   GIFTAD CLEAN PASS - restrained final overrides
========================================================= */
.giftad-page-body {
  --ad-ink: #191919;
  --ad-muted: rgba(25, 25, 25, .62);
  --ad-soft: #f7f7f4;
  --ad-line: rgba(25, 25, 25, .1);
  --ad-yellow: #ffc01d;
}

.giftad-page-body .giftad-page {
  color: var(--ad-ink);
  background: #fff;
}

.giftad-page-body .giftad-hero {
  min-height: auto;
  padding: clamp(116px, 10vw, 164px) 0 clamp(72px, 7vw, 108px);
  background: #151515;
}

.giftad-page-body .giftad-hero-glow,
.giftad-page-body .giftad-hero-grid-pattern,
.giftad-page-body .giftad-video-orbit {
  display: none;
}

.giftad-page-body .giftad-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  align-items: center;
  width: min(1080px, 100%);
  gap: clamp(42px, 6vw, 72px);
  text-align: left;
}

.giftad-page-body .giftad-hero-copy {
  max-width: 500px;
  margin: 0;
}

.giftad-page-body .giftad-hero-kicker,
.giftad-page-body .giftad-v3-eyebrow,
.giftad-page-body #giftadProducts .giftad-section-label {
  margin-bottom: 14px;
  color: #c98f00;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.2;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-hero-kicker {
  color: rgba(255, 192, 29, .88);
}

.giftad-page-body .giftad-hero-copy h1 {
  color: #fff;
  font-size: clamp(42px, 4.8vw, 62px);
  font-weight: 760;
  line-height: 1.14;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-hero-copy h1 span {
  color: var(--ad-yellow);
  background: none;
}

.giftad-page-body .giftad-hero-desc {
  max-width: 470px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.68;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-hero-actions {
  justify-content: flex-start;
  margin-top: 30px;
}

.giftad-page-body .giftad-hero-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(440px, 100%);
  margin: 36px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.giftad-page-body .giftad-hero-summary > div {
  min-width: 0;
  padding: 18px 14px;
  border-left: 1px solid rgba(255, 255, 255, .14);
}

.giftad-page-body .giftad-hero-summary > div:first-child {
  border-left: 0;
}

.giftad-page-body .giftad-hero-summary strong {
  color: #fff;
  font-size: 18px;
  font-weight: 760;
  line-height: 1.2;
}

.giftad-page-body .giftad-hero-summary span {
  margin-top: 7px;
  color: rgba(255, 255, 255, .58);
  font-size: 12px;
  font-weight: 600;
}

.giftad-page-body .giftad-hero-media-area {
  min-height: 0;
  width: 100%;
}

.giftad-page-body .giftad-video-frame {
  position: relative;
  inset: auto;
  overflow: hidden;
  background: #0b0b0b;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .3);
}

.giftad-page-body .giftad-video-screen {
  aspect-ratio: 16 / 9;
}

.giftad-page-body .giftad-video-screen-overlay {
  padding: 18px;
}

.giftad-page-body .giftad-v3-problem,
.giftad-page-body .giftad-v3-feature,
.giftad-page-body .giftad-v3-data,
.giftad-page-body .giftad-v3-journey,
.giftad-page-body #giftadProducts,
.giftad-page-body .giftad-partner-section,
.giftad-page-body .giftad-bottom-cta-section {
  padding-top: clamp(72px, 7vw, 104px);
  padding-bottom: clamp(72px, 7vw, 104px);
}

.giftad-page-body .giftad-v3-feature-light,
.giftad-page-body .giftad-v3-data,
.giftad-page-body #giftadProducts,
.giftad-page-body .giftad-partner-section {
  background: var(--ad-soft);
}

.giftad-page-body .giftad-v3-feature-dark {
  color: #fff;
  background: #181818;
}

.giftad-page-body .giftad-v3-section-head,
.giftad-page-body .giftad-product-heading,
.giftad-page-body .giftad-section-heading {
  max-width: 620px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.giftad-page-body .giftad-v3-section-head h2,
.giftad-page-body .giftad-v3-feature-copy h2,
.giftad-page-body #giftadProducts .giftad-product-heading h2,
.giftad-page-body .giftad-section-heading h2,
.giftad-page-body .giftad-bottom-copy h2 {
  margin: 0;
  color: var(--ad-ink);
  font-size: clamp(32px, 3.25vw, 44px);
  font-weight: 720;
  line-height: 1.22;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-feature-copy h2,
.giftad-page-body .giftad-v3-feature-dark .giftad-v3-feature-copy h2 strong {
  color: #fff;
}

.giftad-page-body .giftad-v3-section-head h2 strong,
.giftad-page-body .giftad-v3-feature-copy h2 strong,
.giftad-page-body #giftadProducts .giftad-product-heading h2 strong {
  color: #b98100;
  font-weight: 760;
}

.giftad-page-body .giftad-v3-section-head > p:last-child,
.giftad-page-body .giftad-v3-lead,
.giftad-page-body #giftadProducts .giftad-product-heading p,
.giftad-page-body .giftad-section-heading p,
.giftad-page-body .giftad-bottom-copy p {
  max-width: 560px;
  margin: 16px auto 0;
  color: var(--ad-muted);
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 430;
  line-height: 1.65;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-lead {
  color: rgba(255, 255, 255, .68);
}

.giftad-page-body .giftad-v3-problem-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(880px, 100%);
  margin: clamp(34px, 4vw, 52px) auto 0;
  border-top: 1px solid var(--ad-line);
  border-bottom: 1px solid var(--ad-line);
}

.giftad-page-body .giftad-v3-problem-list article {
  display: block;
  padding: clamp(28px, 3vw, 40px);
}

.giftad-page-body .giftad-v3-problem-list article + article {
  border-left: 1px solid var(--ad-line);
}

.giftad-page-body .giftad-v3-problem-list h3 {
  margin: 0;
  color: var(--ad-muted);
  font-size: clamp(21px, 1.7vw, 25px);
  font-weight: 720;
  line-height: 1.3;
  letter-spacing: 0 !important;
}


.giftad-page-body .giftad-v3-feature-grid,
.giftad-page-body .giftad-v3-data-top {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
  align-items: center;
  width: min(1040px, 100%);
  margin: 0 auto;
  gap: clamp(36px, 5vw, 68px);
}

.giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-visual {
  order: 2;
}

.giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-feature-copy {
  order: 1;
}

.giftad-page-body .giftad-v3-feature-copy {
  max-width: 460px;
}

.giftad-page-body .giftad-v3-visual,
.giftad-page-body .giftad-v3-data-visual {
  min-height: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #ecece8;
  border: 1px solid rgba(25, 25, 25, .08);
  border-radius: 8px;
  box-shadow: none;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-visual {
  border-color: rgba(255, 255, 255, .12);
}

.giftad-page-body .giftad-v3-data-visual {
  aspect-ratio: 16 / 10;
  background: #171717;
}

.giftad-page-body .giftad-v3-visual img,
.giftad-page-body .giftad-v3-data-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.giftad-page-body .giftad-v3-points {
  gap: 8px;
  margin-top: 24px;
}

.giftad-page-body .giftad-v3-points span {
  min-height: 36px;
  padding: 8px 12px;
  color: rgba(25, 25, 25, .7);
  font-size: 13px;
  font-weight: 650;
  background: #fff;
  border: 1px solid rgba(25, 25, 25, .08);
  border-radius: 999px;
}

.giftad-page-body .giftad-v3-feature-dark .giftad-v3-points span {
  color: rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .12);
}

.giftad-page-body .giftad-v3-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1040px, 100%);
  margin: clamp(34px, 4vw, 52px) auto 0;
  background: #fff;
  border: 1px solid var(--ad-line);
  border-radius: 8px;
}

.giftad-page-body .giftad-v3-proof-grid article {
  min-width: 0;
  padding: 28px 22px;
}


.giftad-page-body .giftad-v3-proof-icon {
  width: 40px;
  height: 40px;
  margin-top: 18px;
  color: var(--ad-ink);
  font-size: 15px;
  background: var(--ad-yellow);
  border-radius: 8px;
}

.giftad-page-body .giftad-v3-proof-grid h3 {
  margin: 18px 0 0;
  color: var(--ad-ink);
  font-size: 19px;
  font-weight: 720;
  line-height: 1.35;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-v3-proof-grid p {
  margin: 10px 0 0;
  color: var(--ad-muted);
  font-size: 14px;
  line-height: 1.58;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-v3-journey-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(980px, 100%);
  margin: clamp(34px, 4vw, 52px) auto 0;
}

.giftad-page-body .giftad-v3-journey-line::before {
  top: 42px;
  right: 12%;
  left: 12%;
  background: var(--ad-line);
}

.giftad-page-body .giftad-v3-journey-line article {
  padding: 0 16px;
}

.giftad-page-body .giftad-v3-journey-line i {
  width: 48px;
  height: 48px;
  color: var(--ad-ink);
  font-size: 17px;
  background: var(--ad-yellow);
  border: 8px solid #fff;
}

.giftad-page-body .giftad-v3-journey-line h3 {
  margin-top: 16px;
  font-size: 18px;
  font-weight: 720;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-v3-journey-line p {
  color: var(--ad-muted);
  font-size: 14px;
}

.giftad-page-body #giftadProducts .giftad-product-heading {
  width: min(620px, 100%);
  margin-bottom: clamp(34px, 4vw, 52px);
}

.giftad-page-body #giftadProducts .giftad-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(1040px, 100%);
  margin: 0 auto;
  gap: 18px;
}

.giftad-page-body #giftadProducts .giftad-product-card {
  display: grid;
  grid-template-columns: minmax(190px, .9fr) minmax(0, 1.1fr);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ad-line);
  border-radius: 8px;
  box-shadow: none;
  transition: transform .24s ease, border-color .24s ease;
}

.giftad-page-body #giftadProducts .giftad-product-card:hover {
  transform: translateY(-2px);
  border-color: rgba(25, 25, 25, .2);
}

.giftad-page-body #giftadProducts .giftad-product-visual {
  height: auto;
  min-height: 230px;
  background: #f1f1ee;
}

.giftad-page-body #giftadProducts .giftad-product-visual img {
  padding: 20px;
  object-fit: contain;
}

.giftad-page-body #giftadProducts .giftad-product-copy {
  padding: 28px 26px;
}

.giftad-page-body #giftadProducts .giftad-product-copy h3 {
  font-size: clamp(21px, 1.7vw, 25px);
  font-weight: 720;
  letter-spacing: 0 !important;
}

.giftad-page-body #giftadProducts .giftad-product-copy p {
  margin-top: 12px;
  color: var(--ad-muted);
  font-size: 15px;
  line-height: 1.62;
  letter-spacing: 0 !important;
}

.giftad-page-body .giftad-bottom-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(980px, 100%);
  gap: 28px;
  padding: clamp(30px, 4vw, 46px);
  color: #fff;
  background: #191919;
  border-radius: 8px;
}

.giftad-page-body .giftad-bottom-copy h2,
.giftad-page-body .giftad-bottom-copy p {
  color: #fff;
  text-align: left;
}

.giftad-page-body .giftad-bottom-copy p {
  color: rgba(255, 255, 255, .68);
}

@media (max-width: 991px) {
  .giftad-page-body .giftad-hero-layout,
  .giftad-page-body .giftad-v3-feature-grid,
  .giftad-page-body .giftad-v3-data-top {
    grid-template-columns: 1fr;
  }

  .giftad-page-body .giftad-hero-copy,
  .giftad-page-body .giftad-v3-feature-copy {
    max-width: 640px;
  }

  .giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-visual,
  .giftad-page-body .giftad-v3-feature-grid-reverse .giftad-v3-feature-copy {
    order: initial;
  }

  .giftad-page-body .giftad-v3-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .giftad-page-body .giftad-v3-proof-grid article:nth-child(2),
  .giftad-page-body .giftad-v3-proof-grid article:nth-child(3),
  .giftad-page-body .giftad-v3-proof-grid article:nth-child(4) {
    border-top: 1px solid var(--ad-line);
  }

  .giftad-page-body #giftadProducts .giftad-product-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .giftad-page-body .giftad-hero {
    padding: 96px 0 62px;
  }

  .giftad-page-body .giftad-hero-layout,
  .giftad-page-body .giftad-v3-feature-grid,
  .giftad-page-body .giftad-v3-data-top,
  .giftad-page-body .giftad-v3-proof-grid,
  .giftad-page-body #giftadProducts .giftad-product-grid {
    width: 100%;
  }

  .giftad-page-body .giftad-hero-copy h1,
  .giftad-page-body .giftad-v3-section-head h2,
  .giftad-page-body .giftad-v3-feature-copy h2,
  .giftad-page-body #giftadProducts .giftad-product-heading h2,
  .giftad-page-body .giftad-section-heading h2,
  .giftad-page-body .giftad-bottom-copy h2 {
    font-size: clamp(31px, 8.4vw, 38px);
  }

  .giftad-page-body .giftad-v3-section-head,
  .giftad-page-body .giftad-product-heading,
  .giftad-page-body .giftad-section-heading {
    text-align: left;
  }

  .giftad-page-body .giftad-v3-section-head > p:last-child,
  .giftad-page-body .giftad-v3-lead,
  .giftad-page-body #giftadProducts .giftad-product-heading p,
  .giftad-page-body .giftad-section-heading p {
    margin-left: 0;
  }

  .giftad-page-body .giftad-hero-summary,
  .giftad-page-body .giftad-v3-problem-list,
  .giftad-page-body .giftad-v3-proof-grid,
  .giftad-page-body .giftad-v3-journey-line,
  .giftad-page-body #giftadProducts .giftad-product-grid {
    grid-template-columns: 1fr;
  }

  .giftad-page-body .giftad-hero-summary > div,
  .giftad-page-body .giftad-v3-problem-list article + article {
    border-left: 0;
    border-top: 1px solid var(--ad-line);
  }

  .giftad-page-body .giftad-hero-summary > div:first-child,
  .giftad-page-body .giftad-v3-proof-grid article:first-child {
    border-top: 0;
  }

  .giftad-page-body .giftad-v3-journey-line::before {
    top: 0;
    bottom: 0;
    left: 24px;
    width: 1px;
    height: auto;
  }

  .giftad-page-body .giftad-v3-journey-line article {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 16px;
    padding: 17px 0;
    text-align: left;
  }

  .giftad-page-body .giftad-v3-journey-line article > span,
  .giftad-page-body .giftad-v3-journey-line h3,
  .giftad-page-body .giftad-v3-journey-line p {
    grid-column: 2;
  }

  .giftad-page-body .giftad-v3-journey-line i {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 34px;
    height: 34px;
    border-width: 8px;
  }

  .giftad-page-body .giftad-v3-journey-line h3 {
    margin: 0;
  }

  .giftad-page-body .giftad-bottom-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* About growth: match the Eggpool number section rhythm. */
.about-page .about-growth-section {
  --featured-metric-width: 100%;
  --featured-metric-gap: 16px;
  --featured-metric-line: rgba(23, 23, 23, .08);
  --featured-metric-shadow: 0 22px 60px rgba(23, 23, 23, .08);
}

.about-page .about-growth-container {
  width: min(1000px, calc(100% - 48px));
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.about-page .about-growth-section .section-heading {
  max-width: 720px;
  margin-right: auto;
  margin-bottom: 42px;
  margin-left: auto;
  text-align: center;
}

.about-page .about-growth-card + .about-growth-card {
  border-left: 0;
}

.about-page .about-growth-lead {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, .42fr) minmax(420px, .58fr);
  align-items: center;
  gap: 40px;
  width: var(--featured-metric-width);
  min-height: 230px;
  margin-right: auto;
  margin-left: auto;
  padding: clamp(32px, 4.8vw, 56px);
  overflow: hidden;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 16px;
  box-shadow: var(--featured-metric-shadow);
  text-align: left;
}

.about-page .about-growth-lead .about-growth-icon {
  width: clamp(62px, 5.2vw, 78px);
  height: clamp(62px, 5.2vw, 78px);
  flex-basis: clamp(62px, 5.2vw, 78px);
  color: var(--ux-ink-strong);
  font-size: clamp(24px, 2.3vw, 32px);
  background: rgba(255, 192, 29, .24);
  border-radius: 50%;
  box-shadow: none;
}

.about-growth-label {
  color: var(--t-color);
    font-size: 25px;
    line-height: 1.3;
    margin: 0px;
}


.about-page .about-growth-lead .about-growth-value {
  justify-content: flex-start;
  color: var(--ux-ink-strong);
  font-size: clamp(56px, 7vw, 96px);
  font-weight: 820;
  line-height: .95;
}

.about-page .about-growth-grid {
  width: var(--featured-metric-width);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--featured-metric-gap);
  margin: var(--featured-metric-gap) auto 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.about-page .about-growth-grid > .about-growth-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  gap: 18px;
  min-height: 165px;
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--featured-metric-line);
  border-radius: 14px;
  box-shadow: none;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.about-page .about-growth-grid > .about-growth-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 192, 29, .38);
  box-shadow: 0 14px 34px rgba(23, 23, 23, .07);
}

.about-page .about-growth-grid > .about-growth-card .about-growth-icon {
  width: 46px;
  height: 46px;
  flex-basis: 46px;
  color: var(--ux-ink-strong);
  background: rgba(255, 192, 29, .88);
  border-radius: 10px;
  box-shadow: none;
}


.about-page .about-growth-grid > .about-growth-card .about-growth-value {
  color: var(--ux-ink-strong);
  font-size: clamp(34px, 3.6vw, 46px);
}

@media (max-width: 991px) {
  .about-page .about-growth-lead .about-growth-icon {
    margin-right: auto;
    margin-left: auto;
  }

}

@media (max-width: 767px) {
  .about-page .about-growth-section {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .about-page .about-growth-container {
    width: calc(100% - 32px);
  }

  .about-page .about-growth-section .section-heading {
    margin-bottom: 28px;
    text-align: left;
  }

  .about-page .about-growth-lead {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    min-height: 0;
    padding: 28px 22px 30px;
    text-align: left;
  }

  .about-page .about-growth-lead .about-growth-icon {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    margin-right: 0;
    margin-left: 0;
  }

  .about-page .about-growth-lead .about-growth-value {
    justify-content: flex-end;
    font-size: clamp(42px, 13vw, 62px);
  }

  .about-page .about-growth-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .about-page .about-growth-grid > .about-growth-card {
    min-height: 0;
    padding: 22px 20px;
    flex-direction: row;
  }
}


/* ---------- 모바일 터치 타겟 최소 44px 확보 ---------- */
@media (max-width: 991px) {
  .company-map-action {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .site-footer-email {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}


/* ============================================================
   모바일 정보 밀도 (2026-09-09)
   한 화면에 들어오는 정보량을 늘린다. PC(768px~)는 건드리지 않는다.
   - 아이콘 카드: 세로 스택 -> 아이콘 왼쪽 가로 행
   - 이미지 카드: 1열 -> 2열
   - 섹션 여백·제목 축소
   ============================================================ */

@media (max-width: 767px) {

  /* ---------- 1. 섹션 여백·제목 축소 ---------- */

  .home-page .section-title,
  .home-page .company-map-title,
  .home-page .egg-story-title,
  .content-landing-page .section-title,
  .content-landing-page .site-insight-heading h2,
  .content-landing-page .gift-section-heading h2,
  .content-landing-page .giftad-section-heading h2,
  .content-landing-page .product-section-heading h2,
  .content-landing-page .inquiry-process-heading h2,
  .content-landing-page .about-intro-copy h2,
  .content-landing-page .about-ceo-title,
  .content-landing-page .about-location-title {
    font-size: clamp(21px, 5.9vw, 25px);
    line-height: 1.3;
  }

  .section-heading,
  .content-landing-page .section-heading,
  .content-landing-page .site-insight-heading,
  .content-landing-page .gift-section-heading,
  .content-landing-page .giftad-section-heading,
  .content-landing-page .product-section-heading,
  .content-landing-page .inquiry-process-heading,
  .content-landing-page .about-hero-heading {
    margin-bottom: 18px;
  }

  .site-section,
  .site-section-tight,
  .home-message-section,
  .gift-problem-section,
  .about-growth-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* 강조 스팬이 줄 중간에서 끊기지 않게 */
  .gift-section-heading h2 span,
  .giftad-section-heading h2 span,
  .section-title span,
  .about-hero-highlight {
    white-space: nowrap;
  }

  /* ---------- 2. 아이콘 카드 -> 가로 한 줄 ---------- */

  .gift-small-card,
  .about-value-card,
  .inquiry-process-item,
  .giftad-process-card,
  .home-page .strength-card,
  .product-support-item {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 12px;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
    text-align: left !important;
  }

  .gift-icon,
  .about-value-icon,
  .inquiry-process-icon,
  .giftad-process-icon,
  .home-page .strength-icon,
  .product-support-icon {
    flex: 0 0 40px;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    font-size: 17px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  .about-value-icon img {
    width: 22px;
    height: 22px;
    object-fit: contain;
  }

  .inquiry-process-num {
    flex: 0 0 auto;
    margin: 0 !important;
    font-size: 12px;
  }

  .gift-small-card h3,
  .about-value-card .about-value-title,
  .inquiry-process-item h3,
  .giftad-process-card h3,
  .home-page .strength-card .strength-title,
  .product-support-item h3 {
    flex: 1 1 auto;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.35;
  }

  /* 설명문은 다음 줄, 아이콘 폭만큼 들여쓰기 */
  .gift-small-card p,
  .about-value-card .about-value-desc,
  .inquiry-process-item p,
  .giftad-process-card p,
  .home-page .strength-card .strength-desc,
  .product-support-item p {
    flex: 1 0 100%;
    margin: 2px 0 0 !important;
    padding-left: 52px;
    font-size: 13.5px !important;
    line-height: 1.5;
  }

  /* 500px 고정 높이가 박혀 있어 카드 하나가 화면을 다 먹었다 */
  .gift-problem-section .gift-small-card {
    height: auto !important;
    justify-content: flex-start !important;
  }

  .gift-problem-section .gift-small-card img,
  .gift-small-card > img {
    display: none;
  }

  /* 단계 사이 화살표는 자리만 차지한다 */
  .inquiry-process-arrow,
  .giftad-process-arrow {
    height: 14px;
    margin: 0;
    opacity: .45;
    font-size: 11px;
  }

  .inquiry-process-list,
  .giftad-process-grid {
    gap: 8px !important;
  }

  /* ---------- 3. 이미지 카드 -> 2열 ---------- */

  .product-page .product-list-grid > .product-item,
  .product-page .product-list-grid > [class*="col-"] {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .giftad-product-grid,
  .home-page .solution-grid,
  .home-page .metric-grid,
  .site-insight-grid,
  .site-insight-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .giftad-page-body #giftadProducts .giftad-product-visual,
  .product-card-img-box,
  .giftad-product-visual {
    min-height: 0 !important;
    height: 132px !important;
  }

  .home-page .solution-img,
  .solution-card .solution-img {
    height: 118px !important;
  }

  .home-page .solution-card,
  .giftad-product-card,
  .site-insight-card,
  .home-page .metric-card {
    padding: 0 !important;
    min-height: 0 !important;
  }

  .home-page .solution-card > *:not(.solution-img):not(picture),
  .giftad-page-body #giftadProducts .giftad-product-copy,
  .product-card-info {
    padding: 12px 12px 14px !important;
  }

  .site-insight-card,
  .home-page .metric-card {
    padding: 14px 14px 16px !important;
  }

  .site-insight-card h3,
  .home-page .metric-card .metric-title,
  .giftad-product-card h3,
  .home-page .solution-card h3,
  .product-card-info .product-card-name {
    font-size: 15px !important;
    line-height: 1.35;
  }

  .site-insight-card p,
  .home-page .metric-card p,
  .giftad-product-card p,
  .home-page .solution-card p,
  .product-card-info p {
    font-size: 13px !important;
    line-height: 1.5;
  }

  /* ---------- 4. 성장 지표 — 라벨과 숫자가 겹치던 문제 ---------- */

  .about-page .about-growth-card,
  .about-page .about-growth-grid > .about-growth-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 16px !important;
  }

  .about-page .about-growth-head {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  .about-page .about-growth-icon {
    flex: 0 0 34px;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    font-size: 15px !important;
  }

  .about-page .about-growth-label {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.3;
    white-space: nowrap;
  }

  .about-page .about-growth-copy {
    justify-self: end;
    min-width: 0;
  }

  .about-page .about-growth-value {
    font-size: 22px !important;
    line-height: 1.1;
    white-space: nowrap;
  }
}

/* ---------- 5. 위 블록에서 더 구체적인 선택자에 밀렸던 것들 ---------- */

@media (max-width: 767px) {

  /* solution 카드: 이미지 래퍼와 본문 패딩이 따로 놀아 484px이었다 */
  .home-page .solution-card .solution-img-wrap {
    min-height: 0 !important;
    height: 118px !important;
  }

  .home-page .solution-card .solution-body {
    padding: 12px 12px 14px !important;
  }

  .home-page .solution-card .solution-body h3 {
    font-size: 15px !important;
    line-height: 1.35;
  }

  .home-page .solution-card .solution-body p,
  .home-page .solution-card .solution-btn {
    font-size: 13px !important;
    line-height: 1.5;
  }

  /* metric 카드: featured 레이아웃 규칙(.home-number-section .metric-grid)이
     1fr !important 로 이겨서 2열이 안 먹었다. 가로 행으로 바꾼다. */
  .home-page .home-number-section .metric-grid {
    width: 100% !important;
    gap: 8px !important;
  }

  .home-page .home-number-section .metric-grid > .metric-card {
    grid-column: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
    text-align: left !important;
  }

  .home-page .home-number-section .metric-card .metric-head {
    display: flex !important;
    align-items: center;
    gap: 12px;
  }

  .home-page .home-number-section .metric-card .metric-icon {
    flex: 0 0 36px;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    font-size: 15px !important;
  }

  .home-page .home-number-section .metric-card .metric-label {
    font-size: 15px !important;
  }

  .home-page .home-number-section .metric-card .metric-desc {
    margin: 1px 0 0 !important;
    font-size: 13px !important;
  }

  .home-page .home-number-section .metric-card .metric-value {
    font-size: 22px !important;
    line-height: 1.15;
  }
}

/* ---------- 6. 인용부호가 <br>로 3줄을 먹던 걱정 카드 ---------- */

@media (max-width: 767px) {
  .gift-problem-section .gift-small-card h3 i,
  .gift-problem-section .gift-small-card h3 br {
    display: none;
  }

  .gift-problem-section .gift-small-card h3 {
    font-size: 15px !important;
    line-height: 1.45;
  }
}

/* ---------- 7. 제품 카드 2열 (max-width:420px 의 flex:0 0 100% 를 덮는다) ---------- */

@media (max-width: 767px) {
  .product-page .product-list-grid > .product-item {
    margin-bottom: 10px !important;
  }

  .product-card-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 11px 12px 13px !important;
  }

  .product-card-info .product-card-title {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.35;
  }

  .product-card-info .product-card-maker,
  .product-card-info .product-card-category {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.45;
  }

  .product-card-info .product-card-btn,
  .product-card-info .prod-detail-btn,
  .product-card-info a,
  .product-card-info button {
    min-height: 36px !important;
    margin-top: 6px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
  }
}

/* ---------- 8. 섹션 여백 통일 (페이지마다 54~110px 로 제각각이었다) ---------- */

@media (max-width: 767px) {
  .site-section,
  .site-section-tight,
  .site-section-flush,
  .gift-section,
  .gift-bottom-cta-section,
  .giftad-section,
  .giftad-v3-problem,
  .giftad-v3-feature,
  .giftad-v3-journey,
  .giftad-v3-data,
  .giftad-bottom-cta-section,
  .about-business-section,
  .about-value-section,
  .about-ceo-section,
  .about-location-section,
  .about-growth-section,
  .product-support-section,
  .product-bottom-cta-section,
  .home-message-section,
  .gift-problem-section {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  /* 고정 헤더(65px) 아래로 들어가는 히어로는 상단만 남긴다 */
  .inquiry-process-section,
  .giftad-hero {
    padding-top: 82px !important;
    padding-bottom: 36px !important;
  }

  .product-page section > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 제목~내용 사이, 카드 사이 간격 */
  .section-heading,
  .content-landing-page .section-heading,
  .content-landing-page .site-insight-heading,
  .content-landing-page .gift-section-heading,
  .content-landing-page .giftad-section-heading,
  .content-landing-page .product-section-heading,
  .content-landing-page .inquiry-process-heading,
  .content-landing-page .about-hero-heading {
    margin-bottom: 14px !important;
  }

  .site-insight-grid,
  .site-insight-grid-3,
  .site-insight-grid-4,
  .gift-card-grid,
  .gift-card-grid-4,
  .gift-card-grid-5,
  .gift-benefit-grid,
  .giftad-process-grid,
  .giftad-product-grid,
  .about-value-grid,
  .about-value-grid-3,
  .about-value-grid-4,
  .about-growth-grid,
  .product-support-grid,
  .home-page .strength-grid,
  .home-page .why-grid,
  .home-page .solution-grid {
    gap: 8px !important;
    margin-top: 0 !important;
  }

  /* 문단 아래 기본 여백 */
  .content-landing-page .section-desc,
  .content-landing-page .gift-section-heading p,
  .content-landing-page .giftad-section-heading p,
  .content-landing-page .product-section-heading p,
  .content-landing-page .inquiry-process-heading p {
    margin-bottom: 0 !important;
  }
}

/* ---------- 9. 히어로: 세로 과다 + 크롭 + 딤 부족 ---------- */

@media (max-width: 767px) {

  /* 100vh / min-height 620px 이라 첫 화면을 통째로 먹었다 */
  .gift-hero,
  .gift-hero-full,
  .product-hero,
  .main-banner,
  .main-banner-slide,
  .page-hero,
  .page-hero-tall {
    height: auto !important;
    min-height: 440px !important;
    max-height: none !important;
  }

  .giftad-hero {
    min-height: 0 !important;
  }

  /* 가로 사진이 세로로 긴 박스에 들어가 극단적으로 확대되던 문제.
     상단을 조금 더 보여주고, 확대율을 낮춘다. */
  .gift-hero-bg-img,
  .product-hero-img,
  .main-banner-img {
    height: 100% !important;
    object-fit: cover;
    object-position: center 32%;
  }

  /* 제품 히어로 딤이 90deg(가로) 라 오른쪽이 투명해 글자가 묻혔다 */
  .product-hero-dim {
    background: linear-gradient(
      180deg,
      rgba(255, 253, 248, 0.90) 0%,
      rgba(255, 253, 248, 0.86) 48%,
      rgba(255, 253, 248, 0.94) 100%
    ) !important;
  }

  .gift-hero-dim {
    background: linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.86) 0%,
      rgba(0, 0, 0, 0.66) 52%,
      rgba(0, 0, 0, 0.52) 100%
    ) !important;
  }

  /* 히어로 제목이 34px 로 섹션 제목(25px)보다 커서 더 커 보였다 */
  .gift-hero-dark-copy h1,
  .product-hero-inner h1,
  .giftad-hero-copy h1,
  .about-hero-title,
  .banner-title {
    font-size: clamp(24px, 6.8vw, 29px) !important;
    line-height: 1.28 !important;
  }

  .gift-hero-dark-copy p,
  .product-hero-inner p,
  .giftad-hero-copy p,
  .about-hero-desc,
  .banner-content {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
  }

  .gift-hero-dark-copy,
  .product-hero-inner,
  .giftad-hero-copy,
  .about-hero-section .about-hero-heading {
    gap: 12px;
  }

  .about-hero-section,
  .giftad-hero-layout {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  /* 히어로 안 버튼 */
  .gift-hero-actions .site-btn,
  .product-hero-actions .site-btn,
  .giftad-hero-actions .site-btn,
  .banner-contact {
    min-height: 46px !important;
    padding: 10px 22px !important;
    font-size: 15px !important;
  }
}

/* ---------- 10. 히어로 내부 여백 (padding 만으로 200px 넘게 먹던 것들) ---------- */

@media (max-width: 767px) {
  .product-hero-copy {
    padding: 30px 0 !important;
  }

  .product-hero-inner,
  .container.product-hero-inner {
    min-height: 0 !important;
  }

  .product-hero {
    min-height: 400px !important;
  }

  .giftad-hero-layout {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    gap: 18px !important;
  }

  .giftad-page-body .giftad-hero-media-area,
  .giftad-page-body .giftad-dashboard-card,
  .giftad-page-body .giftad-report-card {
    min-height: 190px !important;
  }

  .about-page .about-intro-visual,
  .about-page .about-ceo-visual,
  .home-page .company-map-visual,
  .home-page .company-map-visual-link,
  .home-page .egg-story-tablet-wrap,
  .home-page .egg-story-people-wrap {
    min-height: 200px !important;
  }

  .about-page .about-intro-card {
    gap: 16px !important;
  }
}

/* ---------- 11. BENEFIT 카드 (제목 29px + 이미지 210px + 이중 패딩) ---------- */

@media (max-width: 767px) {
  .gift-benefit-card {
    padding: 14px !important;
    gap: 12px !important;
  }

  .gift-benefit-copy {
    padding: 4px 4px 8px !important;
  }

  .gift-benefit-copy h3 {
    margin-bottom: 8px !important;
    font-size: 20px !important;
    line-height: 1.3;
  }

  .gift-benefit-copy ul {
    margin: 0 !important;
    padding-left: 2px !important;
  }

  .gift-benefit-copy ul li {
    margin-bottom: 4px !important;
    font-size: 14px !important;
    line-height: 1.5;
  }

  .gift-benefit-img-wrap {
    min-height: 0 !important;
  }

  .gift-benefit-img-wrap img,
  .gift-benefit-img {
    height: 158px !important;
    object-fit: cover;
  }
}

/* ============================================================
   메인 페이지 모바일 피드백 반영 (2026-09-09)
   ============================================================ */

@media (max-width: 767px) {

  /* ① 히어로: content 가 height:100vh + padding-top:110px 라
        440px 배너 안에서 아래로 밀려 위가 비었다. dots 는 버튼과 겹쳤다. */
  .main-banner-content {
    height: 100% !important;
    padding: 20px 20px 52px !important;
    justify-content: center !important;
  }

  .main-banner-dots {
    bottom: 14px !important;
  }

  .banner-contact {
    margin-bottom: 0 !important;
  }

  /* ② 설명과 이미지 사이 공백 (기프트오더·기프트애드·에그링크) */
  .home-page .company-map-scene,
  .home-page .egg-story-layer {
    padding: 24px 0 !important;
    gap: 12px !important;
  }

  .home-page .company-map-visual,
  .home-page .company-map-visual-link,
  .home-page .egg-story-tablet-wrap,
  .home-page .egg-story-people-wrap {
    padding: 0 !important;
  }

  .home-page .company-map-copy,
  .home-page .egg-story-copy {
    gap: 8px;
  }

  .home-page .company-map-action {
    margin-top: 10px !important;
  }

  /* ③ GIFTORDER/GIFTAD 흐르는 띠 — 트랙은 70px 인데 위아래 100px 씩이었다 */
  .brand-marquee-band {
    padding: 14px 0 !important;
  }

  .brand-marquee-track span {
    font-size: 34px !important;
  }

  /* ④ 왜 에그풀인가요 — 3개 세로 -> 2x2 */
  .home-page .why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .home-page .why-card {
    display: flex !important;
    flex-direction: column;
    gap: 5px;
    min-height: 0 !important;
    padding: 14px 13px !important;
    border-top: 0 !important;
  }

  .home-page .why-icon {
    width: 34px !important;
    height: 34px !important;
    margin: 0 0 3px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }

  .home-page .why-title {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35;
  }

  .home-page .why-desc {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.45;
  }

  /* ⑤ 핵심 솔루션 — 자세히 보기가 두 줄, 설명과 버튼 사이가 벌어졌다 */
  .home-page .solution-btn {
    min-height: 34px !important;
    margin-top: 8px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    white-space: nowrap;
  }

  .home-page .solution-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .home-page .solution-body p {
    margin-bottom: 0 !important;
  }

  /* ⑥ 성과 지표 — 2x2, 첫 카드만 중앙정렬이던 것 해제 */
  .home-page .home-number-section .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 20px !important;
  }

  .home-page .home-number-section .metric-grid > .metric-card,
  .home-page .home-number-section .metric-grid > .metric-card:first-child {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 13px !important;
    text-align: left !important;
    border-top: 0 !important;
  }

  .home-page .home-number-section .metric-grid > .metric-card:first-child {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
  }

  .home-page .home-number-section .metric-card .metric-head {
    display: flex !important;
    align-items: center;
    gap: 9px;
    padding: 0 !important;
    border: 0 !important;
  }

  .home-page .home-number-section .metric-card .metric-icon {
    flex: 0 0 32px;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    font-size: 14px !important;
  }

  .home-page .home-number-section .metric-card .metric-label {
    font-size: 13.5px !important;
    line-height: 1.3;
  }

  .home-page .home-number-section .metric-card .metric-desc {
    margin: 2px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.4;
  }

  .home-page .home-number-section .metric-card .metric-value {
    margin-top: 4px !important;
    font-size: 21px !important;
    line-height: 1.1;
    text-align: left !important;
  }
}

/* 2x2 그리드에서 카드 높이가 제각각이라 계단처럼 어긋나 보였다 */
@media (max-width: 767px) {
  .home-page .why-grid,
  .home-page .home-number-section .metric-grid,
  .home-page .solution-grid,
  .site-insight-grid,
  .giftad-product-grid {
    align-items: stretch !important;
  }

  .home-page .why-card,
  .home-page .home-number-section .metric-grid > .metric-card,
  .home-page .solution-card,
  .site-insight-card,
  .giftad-product-card {
    align-self: stretch !important;
    height: 100%;
  }
}

/* ============================================================
   회사소개 모바일 피드백 + 가로행 카드 회귀 수정 (2026-09-09)
   ============================================================ */

@media (max-width: 767px) {

  /* ★ 회귀 수정: 가로행으로 바꾼 카드에 flex-direction 을 명시하지 않아
     flex-direction:column 이 남아 있던 카드는 wrap 이 "옆 칸"으로 넘쳐
     설명 문단이 카드 밖으로 삐져나갔다. */
  .gift-small-card,
  .about-value-card,
  .inquiry-process-item,
  .giftad-process-card,
  .home-page .strength-card,
  .product-support-item {
    flex-direction: row !important;
  }

  /* ① 탭 위 공백 제거 + 버튼처럼 보이게 */
  .about-page .subnav-wrap {
    padding-top: 0 !important;
  }

  .about-page .subnav-list,
  .about-page .about-tab-list {
    gap: 8px !important;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    justify-content: center;
  }

  .about-page .about-tab-list .tab-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    min-height: 46px;
    padding: 7px 20px !important;
    background: #fff;
    border: 1px solid var(--ux-border);
    border-radius: 999px;
    cursor: pointer;
  }

  .about-page .about-tab-list .tab-btn.active {
    background: var(--c-yellow);
    border-color: var(--c-yellow);
  }

  .about-page .about-tab-list .subnav-en {
    font-size: 9px !important;
    letter-spacing: .08em;
    opacity: .6;
  }

  .about-page .about-tab-list .subnav-kr {
    font-size: 14px !important;
    font-weight: 800;
  }

  .about-page .sub-nav-bar,
  .about-page .subnav-bar-wide {
    display: none !important;
  }

  /* ②③ 가치 / 문화 카드 — 2x2, 세로 배치로 (가로행은 165px 폭에서 좁다) */
  .about-page .about-value-grid,
  .about-page .about-value-grid-3,
  .about-page .about-value-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .about-page .about-value-card {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-self: stretch !important;
    gap: 5px;
    height: 100%;
    min-height: 0 !important;
    padding: 14px 13px !important;
    text-align: left !important;
  }

  .about-page .about-value-card .about-value-icon {
    flex: 0 0 auto !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 0 3px !important;
    border-radius: 10px !important;
  }

  .about-page .about-value-card .about-value-icon img {
    width: 20px;
    height: 20px;
  }

  .about-page .about-value-card .about-value-title {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35;
  }

  .about-page .about-value-card .about-value-desc {
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.45;
    overflow-wrap: break-word;
  }

  /* ④ 성장 지표 — 위아래 여백, 카드 간격 */
  .about-page .about-growth-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .about-page .about-growth-container {
    gap: 8px !important;
  }

  .about-page .about-growth-grid {
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .about-page .about-growth-section > .about-growth-card,
  .about-page .about-growth-grid > .about-growth-card {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 13px 16px !important;
  }

  /* ⑤ 대표님 말씀 — 좌우 여백이 커서 본문이 274px 로 눌렸다 */
  .about-page .about-ceo-card {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 22px 18px !important;
  }

  .about-page .about-ceo-copy,
  .about-page .about-ceo-desc {
    width: 100% !important;
    max-width: none !important;
  }

  .about-page .about-ceo-title {
    margin-bottom: 10px !important;
  }

  .about-page .about-ceo-desc {
    font-size: 14.5px !important;
    line-height: 1.65;
  }
}

/* ============================================================
   회사소개 탭 여백 + 테이블오더 모바일 피드백 (2026-09-09)
   ============================================================ */

@media (max-width: 767px) {

  /* 회사소개 ① 탭 위 100px margin 이 그대로 남아 있었다 */
  .about-page .subnav-wrap {
    margin-top: 16px !important;
  }

  /* 테이블오더 ① 히어로 — 가로 사진이 세로 박스에서 확대돼 얼굴만 크게 잡혔다.
     박스를 낮추면 cover 배율이 내려가 확대가 줄어든다. */
  .gift-hero,
  .gift-hero-full {
    min-height: 360px !important;
  }

  .gift-hero-bg-img {
    object-position: center 28%;
  }

  .gift-hero-dark-copy {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* 테이블오더 ② BENEFIT 카드 — 세로로 쌓지 말고 좌우 스와이프.
     카드를 86% 로 잡아 다음 카드가 살짝 보이게(peek) 한다. */
  .gift-benefit-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    padding: 2px 0 10px !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .gift-benefit-grid::-webkit-scrollbar {
    display: none;
  }

  .gift-benefit-card {
    flex: 0 0 86%;
    scroll-snap-align: center;
    margin: 0 !important;
  }

  /* 테이블오더 ③ 하단 CTA — 180px/1fr/220px 3열이라 390px 에서 가운데 글이
     한 글자씩 쪼개졌다. 이미지 위 · 설명 · 버튼 순으로 쌓는다. */
  .gift-bottom-cta {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 20px 18px !important;
    text-align: left;
  }

  .gift-bottom-device {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
  }

  .gift-bottom-device img {
    width: 100%;
    height: auto;
  }

  .gift-bottom-copy h2,
  .gift-bottom-copy h3 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  .gift-bottom-copy p {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
  }

  .gift-bottom-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }

  .gift-bottom-actions > * {
    width: 100%;
    min-height: 46px !important;
    font-size: 15px !important;
  }
}

/* 히어로 버튼 2개를 가로로 눕혀 히어로를 더 낮춘다 (낮을수록 사진 확대가 줄어든다) */
@media (max-width: 767px) {
  .gift-hero-actions,
  .giftad-hero-actions,
  .product-hero-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    gap: 8px !important;
    width: 100%;
  }

  .gift-hero-actions > *,
  .giftad-hero-actions > *,
  .product-hero-actions > * {
    flex: 1 1 0;
    min-width: 0;
    min-height: 44px !important;
    padding: 10px 8px !important;
    font-size: 14px !important;
    white-space: nowrap;
  }
}

/* ============================================================
   광고센터 모바일 피드백 (2026-09-09)
   ============================================================ */

@media (max-width: 767px) {

  /* ① 히어로 지표 3개 — 세로로 쌓지 말고 한 줄 3칸 */
  .giftad-hero-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-top: 14px !important;
  }

  .giftad-hero-summary > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
  }

  .giftad-hero-summary strong {
    font-size: 16px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .giftad-hero-summary span {
    font-size: 11.5px !important;
    line-height: 1.3;
  }

  /* ② 01~04 프로세스 — 2x2, 글씨 축소 */
  .giftad-v3-proof-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .giftad-v3-proof-grid > article {
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 100%;
    min-height: 0 !important;
    padding: 13px 12px !important;
    border: 1px solid var(--ux-border);
    border-radius: 12px;
    background: #fff;
  }

  .giftad-v3-proof-index {
    margin: 0 !important;
    font-size: 11px !important;
    opacity: .55;
  }

  .giftad-v3-proof-icon {
    width: 32px !important;
    height: 32px !important;
    margin: 2px 0 !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }

  .giftad-v3-proof-grid h3 {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35;
  }

  .giftad-v3-proof-grid p {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.45;
  }

  /* ③ 광고 상품 카드 — 문의하기 반복 제거, 번호가 이미지와 겹치던 것 정리 */
  .giftad-product-link {
    display: none !important;
  }

  .giftad-product-number {
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px !important;
    color: var(--t-color) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    background: rgba(255, 255, 255, .92) !important;
    border-radius: 999px;
    opacity: 1 !important;
  }

  .giftad-page-body #giftadProducts .giftad-product-copy {
    padding: 12px 12px 14px !important;
  }
}

/* ============================================================
   제품안내 모바일 피드백 (2026-09-09)
   ============================================================ */

@media (max-width: 767px) {

  /* ① 히어로 상단 여백을 너무 깎아서 라벨이 헤더에 붙었다 */
  .product-hero-copy {
    padding: 46px 0 26px !important;
  }

  /* ② 지원 항목 4개 -> 2x2, 제목은 한 줄에 */
  .product-support-card {
    padding: 16px 14px !important;
  }

  .product-support-card > h2,
  .product-support-card > h3,
  .product-support-heading h2 {
    margin-bottom: 12px !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    text-align: left;
  }

  .product-support-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .product-support-item {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-self: stretch !important;
    gap: 4px;
    height: 100%;
    min-height: 0 !important;
    padding: 13px 12px !important;
    text-align: left !important;
  }

  .product-support-item .product-support-icon,
  .product-support-item > i,
  .product-support-item > span:first-child {
    flex: 0 0 auto !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 0 2px !important;
    font-size: 15px !important;
  }

  .product-support-item h3 {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35;
  }

  .product-support-item p {
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.45;
  }
}

/* ============================================================
   문의 페이지 모바일 피드백 (2026-09-09)
   ============================================================ */

@media (max-width: 767px) {

  /* ① 입력 폼 전체 축소.
     단, input/textarea 의 font-size 는 16px 을 유지한다 —
     16px 미만이면 iOS 가 포커스 시 화면을 확대해버린다. */
  .inquiry-page .inquiry-card {
    padding: 16px 14px !important;
  }

  .inquiry-page .inquiry-label {
    margin-bottom: 5px !important;
    font-size: 13.5px !important;
    line-height: 1.3;
  }

  .inquiry-page .inquiry-input,
  .inquiry-page .inquiry-select {
    min-height: 46px !important;
    height: 46px !important;
    padding: 10px 13px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  .inquiry-page .inquiry-textarea {
    min-height: 96px !important;
    height: 96px !important;
    padding: 10px 13px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  .inquiry-page .inquiry-field {
    margin-bottom: 10px !important;
  }

  .inquiry-page .inquiry-form,
  .inquiry-page .inquiry-form-grid {
    gap: 10px !important;
  }

  .inquiry-page .inquiry-type-tabs,
  .inquiry-page .inquiry-form-title {
    margin-bottom: 12px !important;
  }

  .inquiry-page .inquiry-form-title {
    padding: 10px 14px !important;
    font-size: 15px !important;
  }

  .inquiry-page .inquiry-actions {
    gap: 8px !important;
    margin-top: 12px !important;
  }

  .inquiry-page .inquiry-actions .site-btn {
    min-height: 46px !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
  }

  /* ② 동의 줄이 가운데 정렬이라 짧은 줄(마케팅)이 안으로 밀려 보였다 */
  .inquiry-page .inquiry-consent,
  .inquiry-page .inquiry-consent-group,
  .inquiry-page .inquiry-consent-list {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .inquiry-page .inquiry-consent-line {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 6px !important;
    text-align: left !important;
  }

  .inquiry-page .inquiry-consent-line > span {
    flex: 1 1 auto;
    font-size: 13.5px !important;
    line-height: 1.5;
  }

  .inquiry-page .inquiry-consent-line .custom-checkbox {
    flex: 0 0 20px;
    margin-top: 1px;
  }
}

/* ============================================================
   모바일 타이포 전체 한 단계 축소 (2026-09-09)
   input/textarea 는 16px 유지 — iOS 포커스 자동확대 방지
   ============================================================ */

@media (max-width: 767px) {
  body {
    font-size: 14px;
    line-height: 1.6;
  }

  /* 히어로 제목 */
  .gift-hero-dark-copy h1,
  .product-hero-inner h1,
  .giftad-hero-copy h1,
  .about-hero-title,
  .banner-title,
  .culture-hero-title {
    font-size: clamp(21px, 6vw, 26px) !important;
    line-height: 1.3 !important;
  }

  /* 섹션 제목 */
  .home-page .section-title,
  .home-page .company-map-title,
  .home-page .egg-story-title,
  .content-landing-page .section-title,
  .content-landing-page .site-insight-heading h2,
  .content-landing-page .gift-section-heading h2,
  .content-landing-page .giftad-section-heading h2,
  .content-landing-page .product-section-heading h2,
  .content-landing-page .inquiry-process-heading h2,
  .content-landing-page .about-intro-copy h2,
  .content-landing-page .about-ceo-title,
  .content-landing-page .about-location-title,
  .giftad-v3-feature h2,
  .giftad-v3-problem h2,
  .giftad-v3-journey h2,
  .giftad-v3-data h2 {
    font-size: clamp(19px, 5.4vw, 22px) !important;
    line-height: 1.32 !important;
  }

  /* 섹션 설명문 */
  .section-desc,
  .home-page .section-desc,
  .home-page .egg-story-desc,
  .home-page .egg-story-note,
  .home-page .company-map-desc,
  .content-landing-page .section-desc,
  .content-landing-page .gift-section-heading p,
  .content-landing-page .giftad-section-heading p,
  .content-landing-page .product-section-heading p,
  .content-landing-page .inquiry-process-heading p,
  .content-landing-page .about-intro-copy p,
  .content-landing-page .about-ceo-desc,
  .gift-hero-dark-copy p,
  .product-hero-inner p,
  .giftad-hero-copy p,
  .about-hero-desc,
  .banner-content {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }

  /* 상단 영문 키커 */
  .section-kicker,
  .gift-section-kicker,
  .giftad-section-kicker,
  .product-section-kicker,
  .egg-story-kicker,
  .company-map-kicker,
  .culture-kicker,
  .giftad-v3-kicker {
    font-size: 11px !important;
    letter-spacing: .1em;
  }

  /* 카드 제목·본문 */
  .gift-small-card h3,
  .about-value-card .about-value-title,
  .inquiry-process-item h3,
  .giftad-process-card h3,
  .home-page .strength-card .strength-title,
  .product-support-item h3,
  .site-insight-card h3,
  .home-page .why-title,
  .home-page .solution-card h3,
  .giftad-product-card h3,
  .giftad-v3-proof-grid h3,
  .product-card-info .product-card-title {
    font-size: 13.5px !important;
    line-height: 1.35 !important;
  }

  .gift-small-card p,
  .about-value-card .about-value-desc,
  .inquiry-process-item p,
  .giftad-process-card p,
  .home-page .strength-card .strength-desc,
  .product-support-item p,
  .site-insight-card p,
  .home-page .why-desc,
  .home-page .solution-card p,
  .giftad-product-card p,
  .giftad-v3-proof-grid p,
  .product-card-info p {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* 버튼 */
  .site-btn,
  .gift-btn,
  .giftad-btn,
  .product-cta-btn,
  .product-more-btn,
  .consult-btn,
  .solution-btn,
  .company-map-action {
    font-size: 14px !important;
  }

  /* 필터·탭 칩 */
  .product-filter-btn,
  .culture-office-tab,
  .about-page .about-tab-list .subnav-kr {
    font-size: 13px !important;
  }

  /* 입력 요소는 16px 유지 (iOS 확대 방지) */
  .inquiry-page .inquiry-input,
  .inquiry-page .inquiry-select,
  .inquiry-page .inquiry-textarea,
  .quick-inquiry-field input,
  .quick-inquiry-field select,
  .quick-inquiry-field textarea {
    font-size: 16px !important;
  }
}

/* ============================================================
   2차 피드백 (2026-09-09) — 실제 배포본에서 원인 확인 후 수정
   ============================================================ */

@media (max-width: 767px) {

  /* ① 설명과 이미지 사이 거대한 공백의 진범:
        .company-map-visual 에 min-height 360~500px 이 걸려 있는데
        안의 이미지는 204~241px 이라 위쪽에 빈 공간이 생겼다. */
  .home-page .company-map-scene .company-map-visual,
  .home-page .company-map-visual-flow,
  .home-page .company-map-visual-order,
  .home-page .company-map-visual-ad,
  .home-page .company-map-visual-link,
  .home-page .home-flow-device .company-map-visual,
  .home-page .home-flow-media .company-map-visual,
  .home-page .home-flow-network .company-map-visual,
  .home-page .egg-story-tablet-wrap,
  .home-page .egg-story-people-wrap {
    min-height: 0 !important;
    height: auto !important;
  }

  .home-page .company-map-scene,
  .home-page .egg-story-layer {
    padding: 20px 0 !important;
    gap: 10px !important;
  }

  /* ② 세로 리스트용 margin-top:28px 이 2열 그리드에서
        1행 두 번째 카드만 아래로 밀어 어긋나 보였다 */
  .home-page .why-card,
  .home-page .metric-card,
  .home-page .strength-card,
  .about-page .about-value-card {
    margin-top: 0 !important;
  }

  /* ③ 핵심 솔루션 — 첫 카드(테이블오더)를 한 줄 전체로 */
  .home-page .solution-grid > .solution-card:first-child {
    grid-column: 1 / -1 !important;
  }

  .home-page .solution-grid > .solution-card:first-child .solution-img-wrap {
    height: 150px !important;
  }

  /* ④ 성과 지표 첫 카드의 숫자만 가운데 정렬(justify-content:center)이었다 */
  .home-page .home-number-section .metric-grid > .metric-card:first-child .metric-value,
  .home-page .home-number-section .metric-card .metric-value {
    justify-content: flex-start !important;
    width: 100% !important;
    text-align: left !important;
  }

  /* ⑤ 회사소개 탭이 고정 헤더(65px) 뒤로 들어가 잘렸다 */
  .about-page .subnav-wrap {
    margin-top: 84px !important;
  }

  /* ⑥ 에그풀의 가치 3개 — 첫 카드를 한 줄 전체로 */
  .about-page .about-value-grid-3 > .about-value-card:first-child {
    grid-column: 1 / -1 !important;
  }

  .about-page .about-value-grid-3 > .about-value-card:first-child .about-value-desc {
    max-width: 100%;
  }

  /* ⑦ 광고 지표 — border-top/bottom 사이 padding 이 14px/0 이라 비대칭이었다 */
  .giftad-hero-summary {
    padding: 14px 0 !important;
    margin-top: 26px !important;
  }

  /* ⑧ 문의 라우팅 — STORE·AD 는 2열, LINK 는 한 줄 전체로 강조 */
  .inquiry-page .site-insight-grid-3 > .site-insight-card:nth-child(3) {
    grid-column: 1 / -1 !important;
    padding-right: 96px !important;
    background:
      url("/assets/egglink_logo.png") no-repeat right 14px center / 74px auto,
      #fff;
    border-color: rgba(255, 192, 29, .55) !important;
  }

  .inquiry-page .site-insight-grid-3 > .site-insight-card:nth-child(3) > span {
    background: var(--c-yellow) !important;
    color: var(--t-color) !important;
  }
}

/* ② 보강: 인접형제 선택자(.why-card + .why-card)가 margin-top:28px !important 로
   이기고 있어 2열 그리드에서 두 번째 카드만 밀렸다. 같은 형태로 덮는다. */
@media (max-width: 767px) {
  .home-page .why-card + .why-card,
  .why-card + .why-card,
  .home-page .metric-card + .metric-card,
  .metric-card + .metric-card,
  .home-page .strength-card + .strength-card,
  .strength-card + .strength-card,
  .about-page .about-value-card + .about-value-card,
  .about-value-card + .about-value-card,
  .site-insight-card + .site-insight-card,
  .product-support-item + .product-support-item {
    margin-top: 0 !important;
    padding-top: inherit;
    border-top: 1px solid var(--ux-border) !important;
    border-left: 1px solid var(--ux-border) !important;
  }
}

/* ============================================================
   회사소개 · 연혁 타임라인 모바일 (2026-09-09)
   PC용 3열(연도 160px / 선 34px / 내용 1fr)이 390px 에서
   내용 칸을 112px 로 짜부라뜨리고, padding 54px 이 연도마다 붙어
   빈 화면이 반복됐다. 왼쪽 선 + 오른쪽 내용의 세로 타임라인으로 전환.
   ============================================================ */

@media (max-width: 767px) {

  .about-page .history-timeline-item {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 0 12px !important;
    max-width: none !important;
    padding: 0 0 18px !important;
  }

  .about-page .history-timeline-item + .history-timeline-item {
    margin-top: 0 !important;
    padding-top: 18px !important;
    border-top: 0 !important;
  }

  /* 선은 왼쪽 한 줄로, 전체 높이를 관통 */
  .about-page .history-line-panel {
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    justify-content: flex-start !important;
    padding-top: 6px;
  }

  .about-page .history-dot {
    width: 9px !important;
    height: 9px !important;
    margin: 0 !important;
  }

  .about-page .history-line {
    position: absolute !important;
    top: 14px !important;
    bottom: -18px !important;
    left: 4px !important;
    width: 1px !important;
    height: auto !important;
  }

  .about-page .history-timeline-item:last-child .history-line {
    display: none;
  }

  /* 연도 */
  .about-page .history-year-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding: 0 0 8px !important;
  }

  .about-page .history-year {
    font-size: 26px !important;
    line-height: 1.1 !important;
  }

  .about-page .history-year-desc {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.4;
  }

  /* 내용 */
  .about-page .history-content-panel {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .about-page .history-list {
    gap: 8px !important;
  }

  .about-page .history-row {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 2px 10px !important;
    align-items: start !important;
  }

  .about-page .history-month {
    grid-column: 1 !important;
    grid-row: 1 !important;
    font-size: 12.5px !important;
    line-height: 1.5;
    opacity: .62;
  }

  .about-page .history-text {
    grid-column: 2 !important;
    grid-row: 1 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
  }

  .about-page .history-badge {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start;
    min-height: 20px !important;
    margin-top: 2px;
    padding: 0 8px !important;
    font-size: 10.5px !important;
  }

  /* 연혁 탭 상단 이미지 */
  .about-page .about-history-image-row {
    margin-bottom: 14px !important;
  }

  .about-page .about-history-tab .section-heading {
    margin-bottom: 12px !important;
  }
}
