:root {
	--blx-ink: #101a24;
	--blx-ink-soft: #263440;
	--blx-paper: #f7f7f2;
	--blx-surface: #fff;
	--blx-mint: #24d6a2;
	--blx-mint-deep: #087c62;
	--blx-mint-soft: #dff8ef;
	--blx-yellow: #f4d36d;
	--blx-line: rgba(16, 26, 36, .16);
	--blx-line-soft: rgba(16, 26, 36, .09);
	--blx-muted: #586673;
	--blx-font: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.blx-home,
.blx-home * { box-sizing: border-box; }
.blx-home { overflow: hidden; background: var(--blx-paper); color: var(--blx-ink); font-family: var(--blx-font); font-synthesis: none; }
.blx-home a { color: inherit; }
.blx-home a:focus-visible,
.blx-home summary:focus-visible,
body.home .bl-header a:focus-visible,
body.home .bl-header button:focus-visible,
body.home .bl-mobile a:focus-visible,
body.home .bl-mobile button:focus-visible { outline: 3px solid var(--blx-yellow); outline-offset: 4px; }
.blx-shell { width: min(1360px, calc(100% - 64px)); margin-inline: auto; }
.blx-kicker { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--blx-mint-deep); font-size: 11px; font-weight: 800; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; }
.blx-kicker::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.blx-title { margin: 0; font-weight: 720; line-height: 1.08; letter-spacing: -.055em; word-break: keep-all; }
.blx-copy { margin: 0; color: var(--blx-muted); font-size: 17px; line-height: 1.74; letter-spacing: -.012em; word-break: keep-all; }
.blx-arrow { display: inline-block; transition: transform .22s ease; }
.blx-home a:hover .blx-arrow { transform: translate(3px, -3px); }
.blx-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 56px; padding: 0 20px; border: 1px solid var(--blx-ink); text-decoration: none !important; font-size: 14px; font-weight: 800; transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease; }
.blx-button:hover { transform: translateY(-2px); }
.blx-button--primary { min-width: 210px; border-color: var(--blx-ink); background: var(--blx-ink); color: #fff !important; }
.blx-button--primary:hover { border-color: var(--blx-mint-deep); background: var(--blx-mint-deep); }
.blx-button--ghost { min-width: 176px; border-color: var(--blx-line); background: rgba(255, 255, 255, .56); color: var(--blx-ink) !important; }
.blx-button--ghost:hover { border-color: var(--blx-ink); background: #fff; }

body.home .bl-header { background: rgba(247, 247, 242, .88); border-bottom: 1px solid transparent; backdrop-filter: blur(15px); }
body.home .bl-header.is-scrolled { background: rgba(255, 255, 255, .91); border-bottom-color: var(--blx-line-soft); box-shadow: 0 8px 28px rgba(16, 26, 36, .04); }
body.home .bl-header__brand { color: var(--blx-ink) !important; }
body.home .bl-header__mark { border-color: rgba(16, 26, 36, .55); }
body.home .bl-header__dot { color: var(--blx-mint-deep); }
body.home .bl-header__nav a { color: rgba(16, 26, 36, .66) !important; }
body.home .bl-header__nav a:hover,
body.home .bl-header__nav a.is-current { background: var(--blx-mint-soft); color: var(--blx-ink) !important; }
body.home .bl-header__contact { border-color: var(--blx-ink); background: var(--blx-ink); color: #fff !important; }
body.home .bl-header__toggle { border-color: var(--blx-line); background: #fff; }
body.home .bl-header__toggle i { background: var(--blx-ink); }
body.home .bl-mobile { background: var(--blx-paper); color: var(--blx-ink); }
body.home .bl-mobile__top { border-bottom-color: var(--blx-line); color: var(--blx-muted); }
body.home .bl-mobile__top button,
body.home .bl-mobile__nav a { color: var(--blx-ink) !important; }
body.home .bl-mobile__nav a { border-bottom-color: var(--blx-line); }
body.home .bl-mobile__nav a span { color: var(--blx-mint-deep); }
body.home .bl-mobile__contact { background: var(--blx-ink); color: #fff !important; }

.blx-hero { position: relative; min-height: 780px; padding: 164px 0 96px; background: var(--blx-paper); isolation: isolate; }
.blx-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background-image: linear-gradient(rgba(16, 26, 36, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 26, 36, .04) 1px, transparent 1px); background-size: 72px 72px; -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .65) 55%, transparent 96%); mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .65) 55%, transparent 96%); }
.blx-hero__meta { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--blx-line); color: #6b7782; font-size: 10px; font-weight: 750; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; }
.blx-hero__status { display: flex; align-items: center; gap: 9px; color: var(--blx-ink-soft); }
.blx-hero__status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--blx-mint-deep); box-shadow: 0 0 0 5px rgba(36, 214, 162, .14); animation: blx-pulse 2.2s ease-in-out infinite; }
.blx-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .52fr); gap: 7.5vw; align-items: end; padding-top: 76px; }
.blx-hero h1 { max-width: 940px; margin: 22px 0 30px; font-size: clamp(60px, 6.85vw, 104px); font-weight: 730; line-height: .99; letter-spacing: -.073em; word-break: keep-all; }
.blx-hero h1 em { position: relative; display: block; width: max-content; max-width: 100%; color: var(--blx-mint-deep); font-style: normal; }
.blx-hero h1 em::after { content: ""; position: absolute; z-index: -1; right: -.02em; bottom: .05em; left: .02em; height: .16em; background: var(--blx-yellow); transform: rotate(-.7deg); transform-origin: left; }
.blx-hero__lead { max-width: 710px; margin: 0; color: var(--blx-muted); font-size: 18px; line-height: 1.76; letter-spacing: -.016em; word-break: keep-all; }
.blx-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
.blx-flow { position: relative; padding-bottom: 4px; border-top: 1px solid var(--blx-line); border-bottom: 1px solid var(--blx-line); }
.blx-flow__head { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 18px 0; color: #77838e; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.blx-flow__head b { color: var(--blx-mint-deep); font-weight: 800; }
.blx-flow__row { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 13px; min-height: 70px; border-top: 1px solid var(--blx-line-soft); transition: transform .2s ease; }
.blx-flow__row:hover { transform: translateX(4px); }
.blx-flow__row > span { color: var(--blx-mint-deep); font: 750 10px/1 var(--blx-font); }
.blx-flow__row strong { font-size: 15px; font-weight: 620; letter-spacing: -.025em; }
.blx-flow__row small { color: #86919a; font-size: 9px; font-weight: 750; letter-spacing: .12em; }
@keyframes blx-pulse { 50% { box-shadow: 0 0 0 9px rgba(36, 214, 162, 0); } }

.blx-services { padding: 132px 0; background: var(--blx-surface); color: var(--blx-ink); }
.blx-section-head { display: grid; grid-template-columns: minmax(220px, .48fr) minmax(0, 1.52fr); gap: 9vw; align-items: start; margin-bottom: 72px; }
.blx-section-head h2 { max-width: 900px; font-size: clamp(46px, 5.3vw, 78px); }
.blx-section-head p:not(.blx-kicker) { max-width: 630px; margin: 24px 0 0; color: var(--blx-muted); font-size: 17px; line-height: 1.76; word-break: keep-all; }
.blx-service-list { border-top: 1px solid var(--blx-line); }
.blx-service { display: grid; grid-template-columns: 72px minmax(250px, .7fr) minmax(300px, 1fr) 30px; gap: 26px; align-items: start; padding: 40px 8px 40px 0; border-bottom: 1px solid var(--blx-line); color: var(--blx-ink) !important; text-decoration: none !important; transition: padding .22s ease, background .22s ease; }
.blx-service:hover { padding-right: 18px; padding-left: 18px; background: var(--blx-paper); }
.blx-service__number { padding-top: 7px; color: var(--blx-mint-deep); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.blx-service h3 { margin: 0; font-size: 31px; font-weight: 680; line-height: 1.25; letter-spacing: -.045em; }
.blx-service__content > p { max-width: 640px; margin: 0; color: var(--blx-muted); font-size: 15px; line-height: 1.74; word-break: keep-all; }
.blx-service__arrow { font-size: 23px; }

.blx-work { position: relative; padding: 132px 0; background: var(--blx-paper); color: var(--blx-ink); }
.blx-work__head { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 56px; }
.blx-work__head h2 { max-width: 780px; margin: 18px 0 0; font-size: clamp(48px, 5.8vw, 82px); }
.blx-text-link { display: inline-flex; align-items: center; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--blx-ink); color: var(--blx-ink) !important; text-decoration: none !important; font-size: 13px; font-weight: 800; white-space: nowrap; }
.blx-work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.blx-project { position: relative; color: var(--blx-ink) !important; text-decoration: none !important; }
.blx-project__media { position: relative; aspect-ratio: 1.16/1; overflow: hidden; border: 1px solid var(--blx-line); background: #e9e8ef; }
.blx-project img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2, .7, .2, 1), filter .3s ease; }
.blx-project:hover img { transform: scale(1.025); filter: saturate(1.05); }
.blx-project__caption { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: end; padding: 20px 0 4px; border-bottom: 1px solid var(--blx-line); }
.blx-project h3 { margin: 0 0 6px; font-size: 21px; font-weight: 680; letter-spacing: -.035em; }
.blx-project p { margin: 0; color: var(--blx-muted); font-size: 12px; line-height: 1.5; }
.blx-project__caption > span { color: var(--blx-mint-deep); font-size: 18px; }

.blx-method { padding: 132px 0; background: var(--blx-mint-soft); color: var(--blx-ink); }
.blx-method__grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 10vw; }
.blx-method__intro { position: sticky; top: 130px; align-self: start; }
.blx-method__intro h2 { max-width: 530px; margin: 22px 0 25px; font-size: clamp(44px, 5vw, 72px); }
.blx-method__intro p { max-width: 510px; }
.blx-method__steps { border-top: 1px solid rgba(16, 26, 36, .22); }
.blx-method__step { display: grid; grid-template-columns: 60px 1fr; gap: 18px; padding: 32px 0; border-bottom: 1px solid rgba(16, 26, 36, .22); }
.blx-method__step > span { padding-top: 5px; color: var(--blx-mint-deep); font-size: 10px; font-weight: 850; }
.blx-method__step h3 { margin: 0 0 10px; font-size: 24px; font-weight: 680; letter-spacing: -.04em; }
.blx-method__step p { max-width: 650px; margin: 0; color: var(--blx-muted); font-size: 15px; line-height: 1.7; word-break: keep-all; }

.blx-close { padding: 128px 0 0; background: var(--blx-surface); color: var(--blx-ink); }
.blx-close__grid { display: grid; grid-template-columns: minmax(270px, .58fr) minmax(0, 1.42fr); gap: 9vw; padding-bottom: 112px; }
.blx-close__title h2 { margin: 22px 0 0; font-size: clamp(42px, 4.6vw, 66px); }
.blx-faq { border-top: 1px solid var(--blx-line); }
.blx-faq details { border-bottom: 1px solid var(--blx-line); }
.blx-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 76px; padding: 16px 0; cursor: pointer; list-style: none; font-size: 17px; font-weight: 680; letter-spacing: -.028em; }
.blx-faq summary::-webkit-details-marker { display: none; }
.blx-faq summary::after { content: "+"; color: var(--blx-mint-deep); font-size: 24px; font-weight: 400; }
.blx-faq details[open] summary::after { content: "−"; }
.blx-faq p { max-width: 720px; margin: 0; padding: 0 0 26px; color: var(--blx-muted); font-size: 15px; line-height: 1.75; word-break: keep-all; }
.blx-cta { position: relative; overflow: hidden; padding: 92px 0 100px; background: var(--blx-mint); color: var(--blx-ink); }
.blx-cta__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 8vw; align-items: end; }
.blx-cta h2 { max-width: 900px; margin: 0; font-size: clamp(50px, 6.6vw, 94px); font-weight: 720; line-height: 1; letter-spacing: -.069em; word-break: keep-all; }
.blx-cta__side p { max-width: 450px; margin: 0 0 26px; font-size: 16px; line-height: 1.72; word-break: keep-all; }
.blx-cta .blx-button { width: 100%; border-color: var(--blx-ink); background: var(--blx-ink); color: #fff !important; }

body.home .site-footer { background: var(--blx-paper) !important; color: var(--blx-muted) !important; border-top: 1px solid var(--blx-line) !important; font-family: var(--blx-font) !important; }
body.home .site-footer .footer-glow-line { display: none; }
body.home .site-footer .footer-main { max-width: 1360px; padding-top: 68px; }
body.home .site-footer .footer-logo { width: fit-content; background: none; color: var(--blx-ink); -webkit-text-fill-color: currentColor; font-family: var(--blx-font); }
body.home .site-footer .footer-brand-desc,
body.home .site-footer .footer-links a,
body.home .site-footer .footer-copyright,
body.home .site-footer .footer-copyright a,
body.home .site-footer .footer-bottom-links a { color: var(--blx-muted); }
body.home .site-footer .footer-col-title { color: var(--blx-ink); }
body.home .site-footer .footer-social-link { border: 1px solid var(--blx-line); background: #fff; color: var(--blx-ink); }
body.home .site-footer .footer-social-link:hover { border-color: var(--blx-mint-deep); background: var(--blx-mint-soft); color: var(--blx-ink); box-shadow: none; }
body.home .site-footer .footer-links a:hover,
body.home .site-footer .footer-copyright a:hover { color: var(--blx-mint-deep); }
body.home .site-footer .footer-bottom { border-top-color: var(--blx-line-soft); }
body.home .site-footer .footer-links span[style] { color: var(--blx-muted) !important; }
body.home .blfam-network { display: none !important; }

.blx-hero__meta,
.blx-hero__main,
.blx-flow { animation: blx-enter .66s both cubic-bezier(.2, .72, .2, 1); }
.blx-hero__main { animation-delay: .07s; }
.blx-flow { animation-delay: .15s; }
@keyframes blx-enter { from { opacity: .01; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (max-width: 1060px) {
	.blx-shell { width: min(100% - 40px, 1360px); }
	.blx-hero { min-height: auto; padding-top: 146px; }
	.blx-hero__grid { grid-template-columns: 1fr; gap: 64px; padding-top: 64px; }
	.blx-flow { max-width: 700px; }
	.blx-section-head,
	.blx-method__grid,
	.blx-close__grid { gap: 6vw; }
	.blx-service { grid-template-columns: 58px minmax(220px, .65fr) minmax(260px, 1fr) 24px; }
}

@media (max-width: 760px) {
	.blx-shell { width: min(100% - 32px, 1360px); }
	.blx-hero { padding: 120px 0 74px; }
	.blx-hero__meta { align-items: flex-start; gap: 14px; }
	.blx-hero__meta > span:first-child { max-width: 210px; }
	.blx-hero__grid { gap: 54px; padding-top: 50px; }
	.blx-hero h1 { margin-top: 18px; font-size: clamp(45px, 13.5vw, 60px); line-height: 1.03; letter-spacing: -.066em; }
	.blx-hero h1 em { width: auto; }
	.blx-hero__lead { font-size: 16px; line-height: 1.7; }
	.blx-hero__actions { display: grid; grid-template-columns: 1fr; }
	.blx-button { width: 100%; }
	.blx-flow { padding-inline: 0; }
	.blx-flow__row { min-height: 64px; }
	.blx-services,
	.blx-work,
	.blx-method { padding: 96px 0; }
	.blx-section-head { grid-template-columns: 1fr; gap: 30px; margin-bottom: 48px; }
	.blx-section-head h2 { font-size: 45px; }
	.blx-service { grid-template-columns: 40px 1fr 24px; gap: 13px; padding: 31px 0; }
	.blx-service__content { grid-column: 2/4; }
	.blx-service:hover { padding-right: 0; padding-left: 0; background: transparent; }
	.blx-service h3 { font-size: 26px; }
	.blx-work__head { display: grid; align-items: start; margin-bottom: 40px; }
	.blx-work__head h2 { font-size: 47px; }
	.blx-text-link { justify-self: start; }
	.blx-work-grid { grid-template-columns: 1fr; gap: 42px; }
	.blx-project__media { aspect-ratio: 1.35/1; }
	.blx-method__grid { grid-template-columns: 1fr; gap: 52px; }
	.blx-method__intro { position: static; }
	.blx-method__intro h2 { font-size: 45px; }
	.blx-method__step { grid-template-columns: 42px 1fr; padding: 27px 0; }
	.blx-close { padding-top: 94px; }
	.blx-close__grid { grid-template-columns: 1fr; gap: 46px; padding-bottom: 88px; }
	.blx-close__title h2 { font-size: 44px; }
	.blx-faq summary { min-height: 72px; font-size: 16px; line-height: 1.5; }
	.blx-cta { padding: 76px 0 80px; }
	.blx-cta__inner { grid-template-columns: 1fr; gap: 40px; }
	.blx-cta h2 { font-size: 51px; }
	body.home .site-footer .footer-main { padding-top: 52px; }
}

@media (max-width: 390px) {
	.blx-hero h1 { font-size: 44px; }
	.blx-section-head h2,
	.blx-method__intro h2,
	.blx-work__head h2,
	.blx-close__title h2 { font-size: 40px; }
	.blx-cta h2 { font-size: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	.blx-home * { scroll-behavior: auto !important; }
	.blx-hero__meta,
	.blx-hero__main,
	.blx-flow,
	.blx-hero__status::before { animation: none !important; }
	.blx-project img,
	.blx-arrow,
	.blx-service,
	.blx-flow__row,
	.blx-button { transition: none !important; }
}
