/* 믿음솔루션 · Ivory / Champagne · Editable presentation layer */
:root {
  color-scheme: light;
  --uca-black: #faf8f3;
  --uca-void: #f1eee6;
  --uca-surface: #f4f0e8;
  --uca-surface-2: #ebe5d9;
  --uca-border: #e4dfd4;
  --uca-border-strong: #d5c8af;
  --uca-text: #282f2c;
  --uca-text-muted: #656b64;
  --uca-text-dim: #777c73;
  --uca-accent: #94703a;
  --uca-accent-dim: rgba(166, 130, 69, .09);
  --uca-font: "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;
  --uca-display-font: var(--uca-font);
  --uca-radius: 7px;
  --uca-space-section: clamp(64px, 7.5vw, 112px);
  --uca-header-h: 88px;
  --uca-header-h-compact: 76px;
  --mideum-gold: #b49660;
}
body, html { background: #faf8f3; color: #282f2c; }
#uca-root { font-family: var(--uca-font); }
#uca-root::before, .venom-layer, .firefly-canvas, .cursor-badge, .banner__particles,
.hero-cubes, .service-hero__stars, .service-hero__cubes-layer, .service-hero__video,
.hero__video-slot, .service-hero__video-shade, .service-hero__vignette { display: none !important; }
::selection { background: #daccaf; color: #252c29; }
.header, .header.is-scrolled {
  background: rgba(250, 248, 243, .94); backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(173, 152, 111, .17);
  padding-inline: max(26px, calc((100vw - 1320px) / 2));
}
.header__brand { width: 224px; max-width: min(224px, 51vw); }
.header__logo-wrap { max-width: 224px; }
.header__logo { mix-blend-mode: normal; filter: none; max-height: none; }
.header.is-scrolled .header__logo { max-height: none; }
.header__nav a { font-size: .79rem; font-weight: 500; padding-inline: .55rem; }
.header__nav-label { letter-spacing: -.025em; }
.header__nav small { color: #8a8c80; }
.header__burger { border: 1px solid #e0d7c6; border-radius: 50%; width: 42px; height: 42px; }
.header__burger span { background: #464d44; }
.header__actions .btn { min-height: 42px; font-size: .75rem; }
.mobile-nav { background: #faf8f3; }
.mobile-nav a { font-size: 1rem; padding-block: 1.05rem; font-weight: 500; }
.mobile-nav__label { color: #997b49; }
.btn, .service-hero__btn { font-weight: 600; letter-spacing: -.015em; box-shadow: none; }
.btn--solid, .service-hero__btn--primary {
  background: #303c33; border: 1px solid #303c33; color: #fffdf6 !important;
}
.btn--solid:hover, .service-hero__btn--primary:hover { background: #465346; border-color: #465346; color: #fffdf6 !important; }
.btn--ghost, .service-hero__btn--ghost { border: 1px solid #c8b893; color: #655236 !important; background: transparent; }
.btn--ghost:hover, .service-hero__btn--ghost:hover { border-color: #997947; background: #eee7d7; color: #594529 !important; }
.btn--lg { min-height: 54px; padding: 0 26px; font-size: .88rem; }
.hero.banner--home {
  min-height: min(900px, 94vh); padding: 170px max(28px, calc((100vw - 1200px) / 2)) 118px;
  align-items: center; background: #f8f5ee; border-bottom: 1px solid #e3dbc9;
}
.hero__bg {
  background: url('/brand/hero-art.svg') right 30% / auto 112% no-repeat,
    radial-gradient(ellipse at 78% 45%, #ede4d2, transparent 57%), linear-gradient(110deg, #fbfaf7, #f6f2e9);
}
.banner--home .banner__inner { width: 660px; max-width: 58%; }
.banner__eyebrow { color: #907346; font-size: .66rem; letter-spacing: .26em; font-weight: 500; margin-bottom: 28px; }
.banner--home .banner__title.banner__title--typed { min-height: 0; font-size: clamp(38px, 4.2vw, 66px); line-height: 1.35; font-weight: 500; letter-spacing: -.065em; margin-bottom: 27px; gap: 0; }
.banner__title-line { white-space: normal; }
.banner__title em { color: #8f7243; }
.typewriter__ghost { visibility: visible; }
.typewriter__typed { display: none; }
.banner--home .banner__sub { min-height: 0; max-width: 490px; font-size: .98rem; line-height: 1.9; color: #6c7269; margin-bottom: 35px; animation: none; }
.banner--home .banner__inner::after {
  content: 'STRATEGY  /  TECHNOLOGY  /  PARTNERSHIP'; display: block; margin-top: 64px;
  padding-top: 23px; border-top: 1px solid #dcd3c2; max-width: 475px;
  font-family: Georgia, serif; font-size: .68rem; letter-spacing: .14em; color: #8a8475;
}
.banner__title, .banner__eyebrow, .banner__actions { animation: none; }
.section { padding-inline: max(28px, calc((100vw - 1200px) / 2)); }
.section__label { color: #957645; font-size: .65rem; letter-spacing: .25em; margin-bottom: 16px; }
.section__title { color: #2c332e; font-size: clamp(26px, 3.1vw, 42px); line-height: 1.4; font-weight: 500; padding-bottom: 18px; }
.section__title::after, .service-block__title::after {
  width: 48px; height: 1px; background: #b49a68; box-shadow: none !important;
  animation: none !important; opacity: 1; transform: none;
}
.section__lead { max-width: 740px; color: #6b7268; font-size: .97rem; line-height: 1.9; }
.trust, .services, .home-offerings, .services-home { background: #faf8f3; }
.trust-home__grid, .trust__grid { background: transparent; border: none; gap: 16px; }
.trust-home__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mideum-criteria .trust-home__grid, #api-providers .trust-home__grid { display: grid; gap: 16px; margin-top: 30px; }
.mideum-criteria .trust__cell h3, #api-providers .trust__cell h3 { font-size: 1.02rem; color: #30372f; margin-bottom: 12px; }
.mideum-criteria .trust__cell p, #api-providers .trust__cell p { font-size: .88rem; color: #73786e; line-height: 1.85; }
.seo-about .btn { margin-top: 24px; }
.trust__cell, .trust-home .trust__cell {
  background: #fffdfa; border: 1px solid #e6e0d4; border-radius: 10px;
  box-shadow: 0 5px 24px rgba(79, 61, 25, .025); padding: 30px; transition: border-color .2s, transform .2s;
}
.trust__cell:hover { border-color: #bda77a; transform: translateY(-3px); }
.trust-home__icon-wrap { background: #f5f0e6; width: 50px; height: 50px; border-radius: 50%; margin-bottom: 18px; }
.trust-home__icon { width: 32px; height: 32px; }
.trust-home .trust__cell h3 { color: #30372f; font-size: 1.02rem; font-weight: 600; }
.trust-home .trust__cell p { color: #73786e; font-size: .85rem; line-height: 1.8; }
.home-offerings { background: #f1eee5; }
.home-offerings__card, .guides-path, .guides-path--sales {
  background: #fffdf9; border: 1px solid #dfd6c5; border-radius: 10px; box-shadow: none; padding: 28px;
}
.home-offerings__card-title { font-size: 1.15rem; font-weight: 600; }
.home-offerings__summary, .home-offerings__bullets { line-height: 1.85; }
.services-home__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; padding-top: 30px; }
.services-home__card { background: #fffdfa; border: 1px solid #e3dccd; box-shadow: none; padding: 12px 12px 20px; border-radius: 10px; gap: 14px; }
.services-home__thumb-wrap { border: 0; border-radius: 5px; background: #f5f1e8; aspect-ratio: 640 / 380; }
.services-home__logo { object-fit: contain; }
.services-home__card h3 { color: #30372e; font-weight: 600; font-size: 1rem; padding-inline: 8px; }
.services-home__card p { color: #75796f; font-size: .82rem; line-height: 1.8; padding-inline: 8px; }
.services-home__cta { color: #80653d !important; border-color: #d0bea0; border-radius: 5px; margin: 4px 8px 0; padding: 7px 12px; }
.services-home__cta:hover { background: #f4edde; }
.demo-carousel-card, .demo-card { background: #fffdf8; border: 1px solid #ded5c5; box-shadow: none; border-radius: 9px; }
.demo-carousel-card:hover, .demo-card:hover { box-shadow: 0 10px 24px rgba(76, 59, 28, .075); }
.demo-carousel-card__placeholder, .demo-card__placeholder { background: #eeeadf; }
.demo-carousel-card__notice, .demo-card__notice { gap: 8px; }
.demo-carousel-card__notice-icon, .demo-card__notice-icon { display: none; }
.demo-carousel-card__notice::before, .demo-card__notice::before { content: 'M'; font: 50px Georgia, serif; color: #a48a59; line-height: 1.15; }
.demo-carousel-card__notice-title, .demo-card__notice-title { color: #6c614c; font-size: .75rem; font-weight: 500; }
.demo-carousel-card__notice-sub, .demo-card__notice-sub { color: #7d7e71; font-size: .66rem; }
.demo-carousel-card__tag { color: #6e5731; background: #fffaf0; border-color: #dfd0b5; }
.demo-carousel-card__label { font-weight: 600; font-size: .88rem; }
.demo-nav__seg-fill { background: #a98953; box-shadow: none; }
.demo-nav__seg.is-active { background: #ded1b6; }
.proof, .compare, .section--uca-surface-bg { background: #f3efe5; }
.stats__grid, .stats__list, .compare__cols { gap: 16px; background: transparent; border: 0; }
.stat-row, .compare__col { background: #fffdf9; border: 1px solid #e1d8c7; border-radius: 8px; }
.stat-row__track { background: #ece7dc; height: 6px; }
.stat-row__fill--left { background: #cdcbbf; }
.stat-row__fill--right { background: linear-gradient(90deg, #a38b57, #d0bc8b); }
.process-step--active .process-step__num { color: #907345; }
.process-step--active { transform: none; }
.process-step__dot { background: #aa9268; }
.cta { background: #eae4d7; padding-block: 84px; }
.cta h2 { color: #374034; font-size: clamp(26px, 3vw, 36px); line-height: 1.55; font-weight: 500; }
.cta p { color: #76796c; }
.cta__prep-items span { background: rgba(255,255,255,.3); border-color: #d7c9ad; }
.footer { background: #f7f4ec; padding-inline: max(28px, calc((100vw - 1200px) / 2)); }
.footer h2 { color: #967a4a; font-family: Georgia, serif; font-weight: 400; font-size: .75rem; }
.footer__tagline, .footer__body, .footer__links a, .footer__meta dd { color: #73796d; }
.footer__bottom { color: #8b8e81; border-color: #ddd5c7; }
.mobile-bottom-cta { background: rgba(250,248,243,.96); border-color: #ded5c3; box-shadow: 0 -5px 22px rgba(90,76,44,.06); }
.mobile-bottom-cta__btn { border-radius: 6px; font-size: .78rem; white-space: normal; line-height: 1.4; min-width: 0; padding-inline: 10px; text-align: center; }
.mobile-bottom-cta__btn--ghost { flex: .7 1 0%; }
.mobile-bottom-cta__btn--primary { flex: 1.3 1 0%; }
.mobile-bottom-cta__tg-icon { flex-shrink: 0; }
.mobile-bottom-cta__btn--primary { background: #384434; color: #fffaf0; border-color: #384434; box-shadow: none; }
.mobile-bottom-cta__btn--ghost { background: #f8f4eb; border-color: #cfc1a5; }
.floating-contact__btn, .floating-contact__btn:hover { background: #fffdf5; border: 1px solid #caba94; box-shadow: 0 8px 25px rgba(72,63,35,.12); animation: none; }
.floating-contact__btn::before { display: none; }
.floating-contact__icon path { fill: #927447; }
.service-hero { color: #2e362e; background: #f5f1e7; min-height: 620px; }
.service-hero__gradient { background: radial-gradient(ellipse at 75% 35%, #e9dfc8, transparent 65%), #f8f5ed; box-shadow: none; }
.service-hero__logo-wrap { width: 145px; max-height: none; margin-bottom: 18px; }
.service-hero__logo { object-fit: contain; mix-blend-mode: normal; filter: none; }
.service-hero__eyebrow { color: #9a7c48; font-size: .65rem; letter-spacing: .22em; }
.service-hero__title { color: #30372e; font-size: clamp(30px, 3.2vw, 47px); line-height: 1.45; font-weight: 500; }
.service-hero__title em { color: #836940; }
.service-hero__sub { color: #6d7469; font-size: .94rem; line-height: 1.85; }
#uca-root .service-hero__related-link { color: #77613d; border-color: #cdbc9a; background: transparent; }
#uca-root .service-hero__btn { color: #374031 !important; background: #fffaf0; border-color: #caba96; border-radius: 6px; }
#uca-root .service-hero__btn--primary { background: #35412f; color: #fffaf0 !important; border-color: #35412f; }
#uca-root .service-hero__scroll { color: #9b875e !important; }
.service-subnav { background: rgba(250,248,243,.96); border-bottom: 1px solid #e1d8c6; }
.service-detail-wrap, .service-detail-strip, .service-section, .integrated-api-section { background: #faf8f2 !important; background-image: none !important; box-shadow: none !important; }
.service-detail-strip:nth-child(even), .integrated-api-section--surface { background: #f2eee4 !important; }
.service-detail-wrap::before { display: none !important; }
#uca-root .service-pillar, #uca-root .service-concern, #uca-root .service-why-card, #uca-root .service-pain-card,
#uca-root .service-landing-convert__card { background: #fffdfa; border: 1px solid #e3d9c5; box-shadow: none; animation: none; }
#uca-root .service-block__title, #uca-root .service-concern__q, #uca-root .service-detail__q,
#uca-root .service-pillar__title, #uca-root .service-why-card__title { color: #343c31; text-shadow: none; font-weight: 600; }
#uca-root .service-block__lead, #uca-root .service-block__closing, #uca-root .service-concern__a,
#uca-root .service-detail__a, #uca-root .service-pillar__body, #uca-root .service-seo-mid-cta__copy { color: #71786a; text-shadow: none; }
#uca-root .service-pain-card__num { color: #c5b594; }
.service-detail__qa + .service-detail__qa { border-top-color: #e2d9c8 !important; }
.service-process__step { background: #fffdfa; border-color: #e3d9c6; }
.service-section--faq .service-block__title::after { background: #b09560; }
.guides-hero { background: #f7f3e9 !important; }
.guides-hero__title { color: #343c31; font-weight: 500; }
.guides-path--sales .guides-path__kicker { color: #9b7c43; }
.guides-path__links a { color: #776340 !important; border-color: #d1c1a0; }
.guides-path__links a:hover { color: #5e4e32 !important; background: #f0e7d6; }
.guides-compare__table { background: #fffdf8; }
.banner__bg, .banner--standalone .banner__bg { background: #f3eee2; box-shadow: none; }
.legal-page__section { background: #fffdf9; }
.skip-to-content { background: #344031; color: #fffaf0; }
mark.uca-keyword-mark, .uca-keyword-mark { background: transparent !important; color: inherit !important; }
#uca-root mark.uca-emphasis { color: #94703a !important; text-shadow: none !important; background: transparent !important; font-weight: 600; }
.mideum-dialog-open { overflow: hidden; }
.mideum-contact { position: fixed; inset: 0; margin: auto; max-width: min(500px, calc(100vw - 36px)); width: 500px; padding: 50px 42px 38px; border: 1px solid #cbb892; border-radius: 12px; background: #faf7ef; color: #30372e; box-shadow: 0 25px 100px rgba(47,44,30,.18); font-family: var(--uca-font); }
.mideum-contact::backdrop { background: rgba(39,43,34,.3); backdrop-filter: blur(5px); }
.mideum-contact__close { position: absolute; top: 12px; right: 15px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: #867344; font-size: 28px; cursor: pointer; }
.mideum-contact__eyebrow { display: block; margin-bottom: 23px; color: #927343; font-size: .62rem; letter-spacing: .22em; }
.mideum-contact h2 { font-size: 30px; font-weight: 500; line-height: 1.5; letter-spacing: -.04em; margin-bottom: 17px; }
.mideum-contact p { color: #777d70; font-size: .88rem; line-height: 1.8; }
.mideum-contact__notice { background: #efe8d8; padding: 20px; margin: 26px 0; color: #7a715d; font-size: .82rem; line-height: 1.85; border-radius: 6px; }
.mideum-contact__action { display: flex; justify-content: space-between; padding: 16px 20px; text-decoration: none; background: #37422f; color: #fffaf0; border-radius: 5px; font-size: .86rem; }
@media (max-width: 1100px) {
  .header__nav a { padding-inline: .34rem; font-size: .72rem; }
  .services-home__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero__bg { background-size: auto 93%; background-position: 140% center; }
  .banner--home .banner__inner { max-width: 65%; }
}
@media (max-width: 767px) {
  :root { --uca-header-h: 78px; --uca-header-h-compact: 70px; }
  .header, .header.is-scrolled { padding-inline: 22px; }
  .header__brand { width: 204px; max-width: 54vw; }
  .hero.banner--home { min-height: 740px; padding: 146px 26px 77px; align-items: start; }
  .hero__bg { background: url('/brand/hero-art.svg') 240px bottom / 430px auto no-repeat, linear-gradient(125deg, #fcfaf5, #f1eadc); }
  .banner--home .banner__inner { max-width: 100%; width: 100%; }
  .banner--home .banner__title.banner__title--typed { font-size: clamp(31px, 7vw, 44px); margin-bottom: 24px; line-height: 1.45; }
  .banner__eyebrow { font-size: .58rem; letter-spacing: .19em; margin-bottom: 24px; }
  .banner--home .banner__sub { font-size: .88rem; line-height: 1.9; max-width: 450px; }
  .banner--home .banner__inner::after { font-size: .58rem; margin-top: 44px; letter-spacing: .09em; max-width: 340px; }
  .banner__actions { gap: 10px; }
  .btn--lg { padding-inline: 19px; font-size: .8rem; min-height: 49px; }
  .section { padding-inline: 26px; }
  .section__title { font-size: 27px; font-weight: 500; }
  .section__lead { font-size: .89rem; }
  .trust-home__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .trust__cell, .trust-home .trust__cell { padding: 22px 19px; }
  .trust-home .trust__cell h3 { font-size: .9rem; }
  .trust-home .trust__cell p { font-size: .77rem; }
  .services-home__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .services-home__card { padding: 8px 8px 17px; gap: 12px; }
  .services-home__card h3 { font-size: .89rem; }
  .services-home__card p { font-size: .76rem; }
  .services-home__cta { font-size: .68rem; padding-inline: 8px; }
  .service-hero { min-height: 660px; padding: 118px 24px 72px; }
  .service-hero__title { font-size: 29px; }
  .service-hero__sub { font-size: .85rem; }
  .footer { padding-inline: 26px; }
  .cta h2 { font-size: 25px; }
  .mideum-contact { padding: 45px 27px 28px; }
  .mideum-contact h2 { font-size: 27px; }
}
@media (max-width: 400px) {
  .trust-home__grid { grid-template-columns: 1fr; }
  .hero.banner--home { min-height: 760px; padding-inline: 22px; }
  .hero__bg { background-position: 160px bottom; }
  .section { padding-inline: 22px; }
  .services-home__card h3 { font-size: .79rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
