@charset "utf-8";

/* ==========================================================================
   한국경영지원본부 (KMSH)
   --------------------------------------------------------------------------
   01. Reset / Base
   02. Common
   03. Header / Mobile Nav
   04. Hero
   05. About
   06. Compare
   07. Worry
   08. Policy (Marquee)
   09. Cases
   10. Steps
   11. FAQ
   12. Footer / Quick bar / Top
   13. Modal / Toast
   14. Motion
   15. Responsive : Tablet · Mobile (~1279px)
   16. Responsive : Tablet only (768px~1279px)
   17. Reduced motion
   --------------------------------------------------------------------------
   PC 기준 시안 : 1920px (본문 1340px / 비주얼 1680px)
   1rem = 10px (1420px 미만부터 화면폭에 비례 축소)
   --hu = 비주얼·헤더 전용 단위 (1760px 미만부터 화면폭에 비례 축소)
   ========================================================================== */


/* 01. Reset / Base
   ========================================================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html { font-size: 10px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(96 * var(--hu)); }
body, h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, fieldset, legend, button, input { margin: 0; padding: 0; }
body { min-width: 320px; font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", sans-serif; font-size: 1.6rem; font-weight: 400; line-height: 1.5; color: var(--c-text); background: #fff; word-break: keep-all; overflow-wrap: break-word; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; border: 0; vertical-align: top; }
em, i { font-style: normal; }
fieldset { min-width: 0; border: 0; }
button, input { font: inherit; color: inherit; letter-spacing: inherit; border-radius: 0; }
button { border: 0; background: none; cursor: pointer; }
input { -webkit-appearance: none; appearance: none; }
input::placeholder { color: var(--c-placeholder); opacity: 1; }
:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 3px; }

:root {
	--c-primary: #ff5e33;
	--c-primary-dark: #f04e23;
	--c-text: #333;
	--c-sub: #444;
	--c-placeholder: #b3b8c2;
	--c-placeholder-dark: #a3a7ae;
	--c-line: #eceef3;
	--c-bg-gray: #f5f7fb;
	--c-bg-soft: #f8f8fa;
	--c-bg-peach: #fff7f3;

	--ease-out: cubic-bezier(.22, .61, .36, 1);
	--ease-spring: cubic-bezier(.34, 1.56, .64, 1);

	--hu: 1px;
	--quick-h: 15.4rem;
}

@media (max-width: 1759px) {
	:root { --hu: calc(100vw / 1760); }
}
@media (max-width: 1419px) {
	html { font-size: calc(100vw / 142); }
}


/* 02. Common
   ========================================================================== */
.blind { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }

.skip-nav { position: fixed; left: 0; top: 0; z-index: 1000; padding: 1.2rem 2rem; font-size: 1.5rem; font-weight: 600; color: #fff; background: var(--c-primary); transform: translateY(-110%); }
.skip-nav:focus { transform: none; }

#wrap { position: relative; overflow: hidden; padding-bottom: var(--quick-h); }

.inner { position: relative; width: 134rem; max-width: calc(100% - 4rem); margin: 0 auto; }

/* 섹션 타이틀 */
.sec-title { font-size: 3.2rem; font-weight: 700; line-height: 5rem; letter-spacing: -.03em; color: var(--c-text); text-align: center; }
.sec-title em { color: var(--c-primary); }
.sec-desc { margin-top: 1.8rem; font-size: 2rem; line-height: 3rem; letter-spacing: -.02em; color: var(--c-sub); text-align: center; }

/* 태그 */
.tag { display: inline-block; padding: 0 .6rem; font-size: 1.1rem; font-weight: 400; line-height: 1.9rem; letter-spacing: -.03em; color: var(--c-primary); background: #ffefea; border-radius: .4rem; vertical-align: top; }

/* 신청 버튼 */
.btn-submit { position: relative; display: block; width: 100%; overflow: hidden; font-weight: 600; color: #fff; text-align: center; background: var(--c-primary); transition: background .25s, box-shadow .25s, transform .25s var(--ease-out); }
.btn-submit span { position: relative; z-index: 1; }
.btn-submit::before { content: ""; position: absolute; left: 0; top: 0; width: 45%; height: 100%; background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .38) 50%, rgba(255, 255, 255, 0) 100%); transform: translateX(-130%) skewX(-18deg); animation: sheen 4.2s var(--ease-out) 1.6s infinite; }
.btn-submit:hover { background: var(--c-primary-dark); box-shadow: 0 1rem 2.4rem rgba(255, 94, 51, .32); transform: translateY(-2px); }
.btn-submit:active { transform: translateY(0); box-shadow: none; }

/* 체크박스 */
.chk { position: relative; display: inline-flex; align-items: center; cursor: pointer; }
.chk input { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.chk i { position: relative; flex: none; width: 1.8rem; height: 1.8rem; margin-right: .8rem; background: #fff; border: 1px solid #cfd3db; border-radius: .4rem; transition: background .2s, border-color .2s; }
.chk i::after { content: ""; position: absolute; left: 50%; top: 46%; width: .9rem; height: .5rem; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: translate(-50%, -50%) rotate(-45deg) scale(0); transition: transform .25s var(--ease-spring); }
.chk input:checked + i { background: var(--c-primary); border-color: var(--c-primary); }
.chk input:checked + i::after { transform: translate(-50%, -50%) rotate(-45deg) scale(1); }
.chk input:focus-visible + i { outline: 2px solid var(--c-primary); outline-offset: 2px; }

.agree { display: flex; align-items: center; font-size: 1.4rem; line-height: 2rem; letter-spacing: -.02em; color: #333; }
.agree__more { margin-left: .8rem; color: var(--c-primary); text-underline-offset: .3rem; }
.agree__more:hover { text-decoration: underline; }
.agree--dark { color: #fff; }

/* 입력 오류 */
.is-error { animation: shake .4s; }
input.is-error { box-shadow: inset 0 0 0 1px var(--c-primary); }


/* 03. Header / Mobile Nav
   ========================================================================== */
.header { position: fixed; left: 0; top: 0; z-index: 100; width: 100%; transition: background .3s, box-shadow .3s, transform .4s var(--ease-out); }
.header__inner { position: relative; display: flex; align-items: center; justify-content: space-between; width: calc(1680 * var(--hu)); max-width: calc(100% - 4rem); height: calc(96 * var(--hu)); margin: 0 auto; transition: height .3s var(--ease-out); }
.header__logo { flex: none; width: calc(300 * var(--hu)); }
.header__logo a { display: block; }
.header__logo img { width: 100%; }

.gnb { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.gnb__list { display: flex; gap: calc(66 * var(--hu)); }
.gnb__list a { position: relative; display: block; padding: calc(10 * var(--hu)) 0; font-size: calc(22 * var(--hu)); font-weight: 500; line-height: calc(28 * var(--hu)); color: #333; white-space: nowrap; transition: color .25s; }
.gnb__list a::after { content: ""; position: absolute; left: 0; bottom: calc(4 * var(--hu)); width: 100%; height: 2px; background: var(--c-primary); transform: scaleX(0); transform-origin: right center; transition: transform .35s var(--ease-out); }
.gnb__list a:hover,
.gnb__list a.is-current { color: var(--c-primary); }
.gnb__list a:hover::after,
.gnb__list a.is-current::after { transform: scaleX(1); transform-origin: left center; }

.header__tel { display: inline-flex; flex: none; align-items: center; justify-content: center; width: calc(162 * var(--hu)); height: calc(42 * var(--hu)); font-size: calc(18 * var(--hu)); font-weight: 600; color: var(--c-primary); background: #fff; border: 1px solid var(--c-primary); border-radius: calc(21 * var(--hu)); transition: background .25s, color .25s, box-shadow .25s; }
.header__tel img { width: calc(14 * var(--hu)); margin-right: calc(6 * var(--hu)); transition: filter .25s; }
.header__tel:hover { color: #fff; background: var(--c-primary); box-shadow: 0 .8rem 2rem rgba(255, 94, 51, .28); }
.header__tel:hover img { filter: brightness(0) invert(1); animation: ring .7s; }

.header__menu { display: none; }

.header.is-scrolled { background: rgba(255, 255, 255, .92); box-shadow: 0 .4rem 2.4rem rgba(30, 50, 80, .08); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); }
.header.is-scrolled .header__inner { height: calc(76 * var(--hu)); }
.header.is-hide { transform: translateY(-100%); }

.mnav { display: none; }


/* 04. Hero
   ========================================================================== */
.hero { position: relative; padding-top: calc(96 * var(--hu)); }

.hero__bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, #fff calc(640 * var(--hu))), linear-gradient(90deg, #f6fafd calc(50% - 960 * var(--hu)), #eef6fe calc(50% - 420 * var(--hu))); }
/* 원형 : 중심 (1310, -217) r800 / 좌하 → 우상 방향 그라데이션 */
.hero__orb { position: absolute; left: 50%; top: calc(-1017 * var(--hu)); width: calc(1600 * var(--hu)); height: calc(1600 * var(--hu)); margin-left: calc(-450 * var(--hu)); background: linear-gradient(40.5deg, rgba(246, 251, 255, .85) 20.7%, #d0e9fd 49.5%); border-radius: 50%; animation: orb 14s ease-in-out infinite alternate; }
/* 사선 : (1566, 0) 에서 좌하 40.7deg 로 떨어지는 면 */
.hero__beam { position: absolute; left: 50%; top: 0; width: calc(3200 * var(--hu)); height: calc(857 * var(--hu)); margin-left: calc(-200 * var(--hu)); background: linear-gradient(180deg, rgba(255, 255, 255, 0) calc(180 * var(--hu)), #fff calc(810 * var(--hu))), linear-gradient(130.7deg, #f9fcff calc(610.5 * var(--hu)), #d9eeff calc(950 * var(--hu))); -webkit-clip-path: polygon(calc(806 * var(--hu)) 0, 100% 0, 100% 100%, calc(64.5 * var(--hu)) 100%); clip-path: polygon(calc(806 * var(--hu)) 0, 100% 0, 100% 100%, calc(64.5 * var(--hu)) 100%); animation: beam 16s ease-in-out infinite alternate; }

.hero__inner { position: relative; display: flex; justify-content: space-between; width: calc(1680 * var(--hu)); max-width: calc(100% - 4rem); min-height: calc(761 * var(--hu)); margin: 0 auto; }

/* 좌측 카피 */
.hero__copy { position: relative; z-index: 1; padding-top: calc(68 * var(--hu)); }
.hero__badge { position: relative; display: inline-flex; align-items: center; height: calc(42 * var(--hu)); padding: 0 calc(23 * var(--hu)) 0 calc(21 * var(--hu)); font-size: calc(22 * var(--hu)); font-weight: 600; line-height: 1; color: #fff; background: var(--c-primary); border-radius: calc(21 * var(--hu)); vertical-align: top; }
.hero__badge::after { content: ""; position: absolute; left: 50%; top: 100%; margin: -1px 0 0 calc(-8 * var(--hu)); border: solid transparent; border-width: calc(12 * var(--hu)) calc(8 * var(--hu)) 0; border-top-color: var(--c-primary); }
.hero__badge img { width: calc(17 * var(--hu)); margin-right: calc(6 * var(--hu)); }

.hero__title { margin-top: calc(31 * var(--hu)); color: #121416; }
.hero__title span { display: block; }
.hero__title-lg { font-size: calc(95 * var(--hu)); font-weight: 800; line-height: calc(112 * var(--hu)); letter-spacing: -.03em; }
.hero__title-lg em { color: var(--c-primary); }
.hero__title-sm { margin-top: calc(9 * var(--hu)); font-size: calc(64 * var(--hu)); font-weight: 700; line-height: calc(82 * var(--hu)); letter-spacing: -.02em; }

.hero__stats { display: flex; gap: calc(25 * var(--hu)); margin-top: calc(49 * var(--hu)); }
.laurel { display: flex; flex-direction: column; align-items: center; width: calc(349 * var(--hu)); height: calc(168 * var(--hu)); padding-top: calc(38 * var(--hu)); background: url(../img/laurel.png) no-repeat 50% 0 / 100% auto; text-align: center; }
.laurel__num { font-size: calc(46 * var(--hu)); font-weight: 800; line-height: calc(56 * var(--hu)); color: var(--c-primary); white-space: nowrap; }
.laurel__txt { margin-top: calc(2 * var(--hu)); font-size: calc(27 * var(--hu)); font-weight: 500; line-height: calc(34 * var(--hu)); letter-spacing: -.02em; color: #444; white-space: nowrap; }

/* 3D 오브젝트 */
.hero__visual { position: absolute; left: calc(783 * var(--hu)); top: calc(333 * var(--hu)); width: calc(292 * var(--hu)); pointer-events: none; }
.hero__visual-move { display: block; will-change: transform; }
.hero__visual img { display: block; width: 100%; animation: float 5.2s ease-in-out infinite; will-change: transform; }

/* 우측 카드 */
.hero__side { position: relative; z-index: 1; display: flex; flex: none; flex-direction: column; gap: calc(22 * var(--hu)); width: calc(546 * var(--hu)); padding-top: calc(50 * var(--hu)); }

.case-roll,
.consult { background: #fff; border-radius: calc(20 * var(--hu)); box-shadow: 0 calc(12 * var(--hu)) calc(48 * var(--hu)) rgba(110, 160, 210, .1); }

.case-roll { position: relative; height: calc(284 * var(--hu)); padding: calc(30 * var(--hu)) calc(40 * var(--hu)) 0; }
.case-roll__head { display: flex; align-items: center; justify-content: space-between; }
.case-roll__title { font-size: calc(22 * var(--hu)); font-weight: 600; line-height: calc(30 * var(--hu)); color: #333; }
.case-roll__count { padding-right: calc(8 * var(--hu)); font-size: calc(15 * var(--hu)); line-height: calc(30 * var(--hu)); color: #bbb; font-variant-numeric: tabular-nums; }

.case-roll__body { position: relative; height: calc(96 * var(--hu)); margin-top: calc(36 * var(--hu)); }
.case-roll__list { position: relative; height: 100%; margin: 0 calc(40 * var(--hu)) 0 calc(81 * var(--hu)); }
.case-roll__item { position: absolute; left: 0; top: 0; display: flex; align-items: center; width: 100%; height: 100%; opacity: 0; visibility: hidden; transform: translateX(calc(24 * var(--hu))); transition: opacity .5s var(--ease-out), transform .5s var(--ease-out), visibility 0s .5s; }
.case-roll__item.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: .08s, .08s, 0s; }
.case-roll__item.is-leave { transform: translateX(calc(-24 * var(--hu))); }
.case-roll.is-reverse .case-roll__item { transform: translateX(calc(-24 * var(--hu))); }
.case-roll.is-reverse .case-roll__item.is-active { transform: none; }
.case-roll.is-reverse .case-roll__item.is-leave { transform: translateX(calc(24 * var(--hu))); }
.case-roll__photo { flex: none; width: calc(96 * var(--hu)); height: calc(96 * var(--hu)); border-radius: calc(6 * var(--hu)); object-fit: cover; }
.case-roll__info { margin-left: calc(20 * var(--hu)); white-space: nowrap; }
.case-roll__info .tag { margin-top: calc(3 * var(--hu)); padding: 0 calc(6 * var(--hu)); font-size: calc(11 * var(--hu)); line-height: calc(19 * var(--hu)); border-radius: calc(4 * var(--hu)); }
.case-roll__info strong { display: block; margin-top: calc(3 * var(--hu)); font-size: calc(22 * var(--hu)); font-weight: 600; line-height: calc(32 * var(--hu)); color: #333; }
.case-roll__info p { font-size: calc(15 * var(--hu)); line-height: calc(24 * var(--hu)); color: #999; }

.case-roll__nav { position: absolute; top: 50%; z-index: 1; width: calc(40 * var(--hu)); height: calc(38 * var(--hu)); margin-top: calc(-19 * var(--hu)); background: #f5f7fb; border-radius: calc(4 * var(--hu)); transition: background .25s, transform .25s var(--ease-out); }
.case-roll__nav::before { content: ""; position: absolute; left: 50%; top: 50%; width: calc(9 * var(--hu)); height: calc(9 * var(--hu)); border-left: 2px solid #5b56c9; border-bottom: 2px solid #5b56c9; transition: border-color .25s; }
.case-roll__nav--prev { left: calc(-4 * var(--hu)); }
.case-roll__nav--prev::before { transform: translate(-30%, -50%) rotate(45deg); }
.case-roll__nav--next { right: 0; }
.case-roll__nav--next::before { transform: translate(-70%, -50%) rotate(-135deg); }
.case-roll__nav:hover { background: #5b56c9; }
.case-roll__nav:hover::before { border-color: #fff; }
.case-roll__nav--prev:hover { transform: translateX(-3px); }
.case-roll__nav--next:hover { transform: translateX(3px); }

.case-roll__dots { display: flex; align-items: center; justify-content: center; gap: calc(20 * var(--hu)); margin-top: calc(41 * var(--hu)); }
.case-roll__dots button { position: relative; width: calc(12 * var(--hu)); height: calc(12 * var(--hu)); background: #dcdcdc; border-radius: 50%; transition: background .3s, transform .3s var(--ease-spring); }
.case-roll__dots button::after { content: ""; position: absolute; inset: calc(-8 * var(--hu)); }
.case-roll__dots button:hover { transform: scale(1.25); }
.case-roll__dots button.is-active { background: var(--c-primary); }

.consult { padding: calc(27 * var(--hu)) calc(20 * var(--hu)) calc(28 * var(--hu)); }
.consult__row { display: flex; align-items: center; }
.consult__row + .consult__row { margin-top: calc(12 * var(--hu)); }
.consult__label { flex: none; width: calc(75 * var(--hu)); font-size: calc(15 * var(--hu)); font-weight: 600; line-height: calc(20 * var(--hu)); color: #444; }
.consult__input { flex: 1; min-width: 0; height: calc(54 * var(--hu)); padding: 0 calc(20 * var(--hu)); font-size: calc(18 * var(--hu)); font-weight: 500; color: #222; background: var(--c-bg-gray); border: 0; border-radius: calc(4 * var(--hu)); outline: 0; transition: background .25s, box-shadow .25s; }
.consult__input::placeholder { font-weight: 400; }
.consult__input:focus { background: #fff; box-shadow: inset 0 0 0 1px var(--c-primary), 0 0 0 calc(4 * var(--hu)) rgba(255, 94, 51, .12); }
.consult__row--agree { height: calc(55 * var(--hu)); margin-top: 0 !important; }
.consult .agree { font-size: calc(15 * var(--hu)); line-height: calc(20 * var(--hu)); color: #222; }
.consult .chk i { width: calc(22 * var(--hu)); height: calc(22 * var(--hu)); margin: 0 calc(8 * var(--hu)) 0 calc(-1 * var(--hu)); border-radius: calc(4 * var(--hu)); }
.consult .chk i::after { width: calc(10 * var(--hu)); height: calc(6 * var(--hu)); }
.consult .agree__more { margin-left: calc(10 * var(--hu)); }
.consult .btn-submit { height: calc(57 * var(--hu)); font-size: calc(23 * var(--hu)); border-radius: calc(4 * var(--hu)); }


/* 05. About
   ========================================================================== */
.about { position: relative; height: 46.4rem; overflow: hidden; background: #e4f6ff; }
.about__bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url(../img/company.png) no-repeat 50% 0 / max(192rem, 100%) auto; }
.about .inner { padding-top: 12rem; }
.about__title { font-size: 3.2rem; font-weight: 700; line-height: 4.9rem; letter-spacing: -.03em; color: #2c3c42; }
.about__title em { color: var(--c-primary); }
.about__desc { margin-top: 1.7rem; font-size: 2rem; line-height: 3rem; letter-spacing: -.03em; color: #444; }


/* 06. Compare
   ========================================================================== */
.compare { padding: 11.6rem 0 12rem; }
.compare .sec-title { position: relative; left: -.7rem; }
.compare__list { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-top: 7.8rem; }
.compare__card { position: relative; width: 43.2rem; background: #fff; border-radius: 2rem; transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out); }
.compare__head { text-align: center; }
.compare__head p { font-size: 1.4rem; line-height: 2rem; }
.compare__head h3 { font-size: 1.9rem; font-weight: 600; line-height: 2.8rem; letter-spacing: -.02em; }
.compare__points { width: -webkit-fit-content; width: fit-content; }
.compare__points li { position: relative; padding-left: 1.4rem; font-size: 1.5rem; line-height: 3.06rem; letter-spacing: -.01em; }
.compare__points li::before { content: ""; position: absolute; left: 0; top: 50%; width: .3rem; height: .3rem; margin-top: -.15rem; background: currentColor; border-radius: 50%; }
.compare__rate { margin: 0 1rem; text-align: center; border-radius: 1.4rem; }
.compare__rate dt { font-size: 1.4rem; line-height: 2rem; }
.compare__rate dd { font-weight: 700; }

/* 일반 금융권 */
.compare__card--normal { height: 28.8rem; border: 1px solid var(--c-line); }
.compare__card--normal .compare__head { height: 7.7rem; padding-top: 1.4rem; color: #888; background: var(--c-bg-gray); border-radius: 1.9rem 1.9rem 0 0; }
.compare__card--normal .compare__head h3 { margin-top: -.1rem; color: #777; font-weight: 500; }
.compare__card--normal .compare__points { margin-left: 9rem; padding-top: 1.5rem; color: #888; }
.compare__card--normal .compare__points li { font-size: 1.4rem; letter-spacing: 0; }
.compare__card--normal .compare__rate { height: 8.3rem; margin-top: 1.5rem; padding-top: 1.4rem; color: #888; background: var(--c-bg-gray); }
.compare__card--normal .compare__rate dd { margin-top: .2rem; font-size: 2.2rem; font-weight: 500; line-height: 3.2rem; letter-spacing: -.02em; color: #666; }

/* 정책자금 */
.compare__card--policy { height: 33.4rem; border: 1px solid var(--c-primary); box-shadow: 0 2rem 5rem rgba(255, 94, 51, .1); }
.compare__card--policy .compare__head { height: 9.2rem; padding-top: 2.1rem; color: #fff; background: var(--c-primary); border-radius: 1.9rem 1.9rem 0 0; }
.compare__card--policy .compare__head p { opacity: .9; }
.compare__card--policy .compare__head h3 { margin-top: .3rem; font-weight: 700; }
.compare__card--policy .compare__points { margin-left: 8.3rem; padding-top: 2rem; color: #222; }
.compare__card--policy .compare__points li { font-weight: 500; }
.compare__card--policy .compare__rate { height: 10rem; margin-top: 2.1rem; padding-top: 2.1rem; color: #999; background: var(--c-bg-peach); }
.compare__card--policy .compare__rate dd { margin-top: .2rem; font-size: 2.2rem; line-height: 3.4rem; letter-spacing: -.02em; color: var(--c-primary); }

.compare__flag { position: absolute; right: 4rem; top: -1.8rem; z-index: 1; display: flex; align-items: center; height: 3.4rem; padding: 0 1.4rem 0 1.3rem; font-size: 1.4rem; font-weight: 700; color: #333; background: #ffd400; border-radius: 1.7rem; }
.compare__flag::after { content: ""; position: absolute; left: 50%; top: 100%; margin: -1px 0 0 -.6rem; border: solid transparent; border-width: .8rem .6rem 0; border-top-color: #ffd400; }
.compare__flag i { width: 1rem; height: .6rem; margin: -.4rem .7rem 0 0; border-left: 2px solid #333; border-bottom: 2px solid #333; transform: rotate(-45deg); }

.compare__card:hover { transform: translateY(-.8rem); }
.compare__card--normal:hover { box-shadow: 0 2rem 4rem rgba(40, 60, 100, .08); }
.compare__card--policy:hover { box-shadow: 0 2.6rem 6rem rgba(255, 94, 51, .22); }


/* 07. Worry
   ========================================================================== */
.worry { padding: 11.8rem 0 12.5rem; background: var(--c-bg-peach); }
.worry .sec-title { position: relative; left: -.7rem; }
.worry .sec-desc { position: relative; left: -.3rem; margin-top: 2rem; }
.worry__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 6.3rem; }
.worry__item { position: relative; min-height: 26.2rem; padding: 4rem 2rem; overflow: hidden; text-align: center; background: #fff; border-radius: 2rem; transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out); }
.worry__check { position: absolute; left: 0; top: 0; width: 6.6rem; height: 6.6rem; background: var(--c-primary); clip-path: polygon(0 0, 100% 0, 0 100%); transition: transform .45s var(--ease-out); transform-origin: 0 0; }
.worry__check::after { content: ""; position: absolute; left: .7rem; top: 1.3rem; width: 2rem; height: 1.8rem; background: url(../img/icon_check.png) no-repeat 50% / contain; }
.worry__img { width: 9.4rem; height: 9.4rem; margin: 0 auto; }
.worry__img img { width: 100%; transition: transform .6s var(--ease-spring); }
.worry__item h3 { margin-top: 2.5rem; font-size: 1.9rem; font-weight: 700; line-height: 2.4rem; letter-spacing: -.02em; color: var(--c-primary); }
.worry__item p { margin-top: .4rem; font-size: 1.4rem; line-height: 1.8rem; letter-spacing: -.01em; color: #333; }

.worry__item:hover { transform: translateY(-1rem); box-shadow: 0 2.4rem 5rem rgba(255, 94, 51, .16); }
.worry__item:hover .worry__img img { transform: translateY(-.6rem) scale(1.1) rotate(-4deg); }
.worry__item:hover .worry__check { transform: scale(1.14); }


/* 08. Policy (Marquee)
   ========================================================================== */
.policy { padding: 14.5rem 0 12.5rem; }
.policy .sec-desc { margin-top: 1.3rem; }

.marquee { position: relative; margin-top: 5.7rem; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6rem, #000 calc(100% - 6rem), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6rem, #000 calc(100% - 6rem), transparent 100%); }
.marquee__track { display: flex; width: max-content; padding-left: 4.9rem; animation: marquee var(--marquee-time, 40s) linear infinite; animation-play-state: paused; will-change: transform; }
.marquee.is-ready .marquee__track { animation-play-state: running; }
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee__track li { display: flex; flex: none; align-items: center; margin-right: 9.6rem; font-size: 2.2rem; font-weight: 500; line-height: 4rem; color: #909090; white-space: nowrap; transition: color .3s; }
.marquee__track img { width: 4rem; height: 4rem; margin: .5rem .4rem 0 0; transition: transform .4s var(--ease-spring); }
.marquee__track li:hover { color: var(--c-primary); }
.marquee__track li:hover img { transform: scale(1.25) rotate(-6deg); }


/* 09. Cases
   ========================================================================== */
.cases { padding: 12rem 0 12.2rem; }
.cases .sec-desc { margin-top: 1.5rem; letter-spacing: -.015em; }
.cases__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 6.3rem; }
.cases__item { position: relative; display: flex; align-items: center; height: 17.6rem; padding: 0 4rem; background: linear-gradient(90deg, #fff5f0 0%, #fffaf8 55%, #fff 100%); border-radius: 2rem; transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out), background .45s; }
.cases__photo { flex: none; width: 9.6rem; height: 9.6rem; border-radius: .6rem; object-fit: cover; transition: transform .5s var(--ease-out); }
.cases__info { margin-left: 2rem; }
.cases__info .tag { margin-top: .2rem; }
.cases__info strong { display: block; margin-top: .5rem; font-size: 2.2rem; font-weight: 600; line-height: 3.2rem; color: #333; white-space: nowrap; }
.cases__info p { font-size: 1.6rem; line-height: 2.4rem; letter-spacing: -.02em; color: #888; }
.cases__item:hover { transform: translateY(-.8rem); box-shadow: 0 2.4rem 5rem rgba(255, 94, 51, .14); }
.cases__item:hover .cases__photo { transform: scale(1.06); }


/* 10. Steps
   ========================================================================== */
.steps { position: relative; padding: 11.2rem 0 12rem; overflow: hidden; background: #ffe5cc; }
.steps__bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(255, 229, 204, 0) 0%, rgba(255, 227, 214, .55) 78%, #ffe3d6 100%); }
.steps__bg i { position: absolute; border-radius: 50%; filter: blur(6rem); will-change: transform; }
.steps__bg i:nth-child(1) { left: 28%; top: -32%; width: 46%; height: 96%; background: #fff5f4; animation: blob 12s ease-in-out infinite alternate; }
.steps__bg i:nth-child(2) { right: -8%; bottom: -40%; width: 44%; height: 110%; background: #fdd9cf; opacity: .8; animation: blob 15s ease-in-out -4s infinite alternate-reverse; }

.steps__list { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 6.2rem; padding-top: 2.6rem; }
.steps__list::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1px; background: #ffb9a0; transform-origin: 0 50%; }
.steps__item { position: relative; }
.steps__item::before { content: ""; position: absolute; left: 50%; top: -3rem; width: .9rem; height: .9rem; margin-left: -.45rem; background: var(--c-primary); border-radius: 50%; box-shadow: 0 0 0 0 rgba(255, 94, 51, .4); }
.steps__card { position: relative; height: 100%; min-height: 23.8rem; padding: 4rem; background: #fff; border-radius: 2rem; transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out); }
.steps__num { display: block; font-size: 1.3rem; line-height: 1.4rem; color: #999; }
.steps__card h3 { margin-top: .5rem; font-size: 1.9rem; font-weight: 700; line-height: 2.6rem; letter-spacing: -.02em; color: var(--c-primary); white-space: nowrap; }
.steps__card p { margin-top: .4rem; font-size: 1.5rem; line-height: 2.3rem; letter-spacing: -.01em; color: #333; }
.steps__card img { position: absolute; right: 4rem; bottom: 4rem; width: auto; height: 4rem; transition: transform .5s var(--ease-spring); }
.steps__item:nth-child(1) .steps__card img { height: 4.8rem; }

.steps__item:hover .steps__card { transform: translateY(-1rem); box-shadow: 0 2.4rem 5rem rgba(230, 120, 70, .2); }
.steps__item:hover .steps__card img { transform: scale(1.3) rotate(-8deg); }
.steps__item:hover::before { animation: pulse 1.2s ease-out infinite; }


/* 11. FAQ
   ========================================================================== */
.faq { padding: 11.5rem 0 12.1rem; }
.faq__list { margin-top: 5.7rem; }
.faq__item { background: var(--c-bg-soft); border: 1px solid var(--c-bg-soft); border-radius: 2rem; transition: background .35s, border-color .35s, box-shadow .35s; }
.faq__item + .faq__item { margin-top: 2rem; }
.faq__q button { position: relative; display: block; width: 100%; padding: 4.1rem 10rem 3.7rem 4rem; font-size: 1.9rem; font-weight: 600; line-height: 2.4rem; letter-spacing: -.02em; color: #555; text-align: left; transition: color .3s; }
.faq__q button::after { content: ""; position: absolute; right: 5.6rem; top: 4rem; width: 1.6rem; height: 1.6rem; border-right: 2px solid #999; border-bottom: 2px solid #999; transform: rotate(45deg); transition: transform .4s var(--ease-out), border-color .3s, top .4s var(--ease-out); }
.faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ease-out); }
.faq__a > div { min-height: 0; overflow: hidden; }
.faq__a p { padding: 0 10rem 3.8rem 4rem; font-size: 1.9rem; line-height: 2.4rem; letter-spacing: -.02em; color: #333; opacity: 0; transform: translateY(-.8rem); transition: opacity .35s, transform .35s var(--ease-out); }

.faq__item:hover { background: #f2f3f7; border-color: #f2f3f7; }
.faq__item.is-open { background: #fff; border-color: var(--c-primary); box-shadow: 0 1.6rem 4rem rgba(255, 94, 51, .08); }
.faq__item.is-open .faq__q button { padding-bottom: 2rem; color: #222; }
.faq__item.is-open .faq__q button::after { top: 4.9rem; border-color: #555; transform: rotate(-135deg); }
.faq__item.is-open .faq__a { grid-template-rows: 1fr; }
.faq__item.is-open .faq__a p { opacity: 1; transform: none; transition-delay: .12s; }


/* 12. Footer / Quick bar / Top
   ========================================================================== */
.footer { background: var(--c-bg-soft); }
.footer__info { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 4rem; min-height: 9.8rem; padding: 2rem 0; font-size: 1.5rem; line-height: 2.2rem; }
.footer__info div { display: flex; }
.footer__info dt { margin-right: 1.2rem; font-weight: 600; color: #333; white-space: nowrap; }
.footer__info dd { color: #333; }

/* 하단 고정 상담바 */
.quick { position: fixed; left: 0; bottom: 0; z-index: 90; width: 100%; height: var(--quick-h); background: #2b2b2b; transform: translateY(100%); transition: transform .6s var(--ease-out); }
.quick.is-show { transform: none; }
.quick .inner { display: flex; align-items: flex-start; justify-content: space-between; padding-top: 2.9rem; }
.quick__title { padding-top: 0; }
.quick__title strong { display: block; font-size: 2.2rem; font-weight: 700; line-height: 3.2rem; color: var(--c-primary); }
.quick__title p { margin-top: .3rem; font-size: 1.5rem; line-height: 2rem; letter-spacing: -.03em; color: #fff; }
.quick__form fieldset { display: flex; align-items: flex-start; gap: 2rem; }
.quick__input { height: 6.4rem; padding: .2rem 2.4rem 0; font-size: 1.9rem; font-weight: 500; color: #222; background: #fff; border: 0; border-radius: .4rem; outline: 0; transition: box-shadow .25s; }
.quick__input::placeholder { font-weight: 400; color: var(--c-placeholder-dark); }
.quick__input:focus { box-shadow: 0 0 0 3px rgba(255, 94, 51, .6); }
.quick__input--name { width: 30rem; }
.quick__input--tel { width: 42rem; }
.quick__action { width: 22rem; }
.quick .btn-submit { height: 6.4rem; font-size: 1.8rem; border-radius: .4rem; }
.quick .agree { margin-top: .8rem; font-size: 1.5rem; white-space: nowrap; }
.quick .agree__more { margin-left: .5rem; }

.mbar { display: none; }

/* TOP 버튼 */
.btn-top { position: fixed; right: max(2rem, calc(50% - 87.9rem)); bottom: var(--quick-h); z-index: 91; width: 6.4rem; height: 6.4rem; background: #fff; border: 2px solid var(--c-primary); border-radius: 50%; opacity: 0; visibility: hidden; transform: translateY(2rem); transition: opacity .4s, visibility .4s, transform .4s var(--ease-out), background .25s, box-shadow .25s; }
.btn-top.is-show { opacity: 1; visibility: visible; transform: none; }
.btn-top i { position: absolute; left: 50%; top: 50%; width: 2.2rem; height: 2.4rem; transform: translate(-50%, -50%); transition: transform .3s var(--ease-out); }
.btn-top i::before { content: ""; position: absolute; left: 50%; top: .1rem; width: 2px; height: 2.2rem; margin-left: -1px; background: var(--c-primary); transition: background .25s; }
.btn-top i::after { content: ""; position: absolute; left: 50%; top: .2rem; width: 1.2rem; height: 1.2rem; margin-left: -.6rem; border-left: 2px solid var(--c-primary); border-top: 2px solid var(--c-primary); transform: rotate(45deg); transition: border-color .25s; }
.btn-top:hover { background: var(--c-primary); box-shadow: 0 1rem 2.4rem rgba(255, 94, 51, .35); }
.btn-top:hover i { transform: translate(-50%, -62%); }
.btn-top:hover i::before { background: #fff; }
.btn-top:hover i::after { border-color: #fff; }


/* 13. Modal / Toast
   ========================================================================== */
.modal { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.modal[hidden] { display: none; }
.modal__dim { position: absolute; inset: 0; background: rgba(17, 17, 17, .6); opacity: 0; transition: opacity .3s; }
.modal__box { position: relative; width: 52rem; max-width: 100%; max-height: 100%; padding: 4rem; overflow-y: auto; background: #fff; border-radius: 2rem; outline: 0; opacity: 0; transform: translateY(3rem) scale(.96); transition: opacity .35s, transform .35s var(--ease-out); }
.modal.is-open .modal__dim { opacity: 1; }
.modal.is-open .modal__box { opacity: 1; transform: none; }
.modal__title { font-size: 2.4rem; font-weight: 700; line-height: 3.4rem; }
.modal__body { margin-top: 2rem; padding: 2.4rem; background: var(--c-bg-soft); border-radius: 1.2rem; }
.modal__body dt { font-size: 1.5rem; font-weight: 600; line-height: 2.4rem; color: #222; }
.modal__body dd { margin-top: .2rem; font-size: 1.5rem; line-height: 2.4rem; color: #666; }
.modal__body dd + dt { margin-top: 1.6rem; }
.modal__ok { display: block; width: 100%; height: 5.4rem; margin-top: 2.4rem; font-size: 1.7rem; font-weight: 700; color: #fff; background: var(--c-primary); border-radius: .6rem; transition: background .25s; }
.modal__ok:hover { background: var(--c-primary-dark); }
.modal__close { position: absolute; right: 2.4rem; top: 2.4rem; width: 4rem; height: 4rem; }
.modal__close::before,
.modal__close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 2.2rem; height: 2px; margin: -1px 0 0 -1.1rem; background: #333; }
.modal__close::before { transform: rotate(45deg); }
.modal__close::after { transform: rotate(-45deg); }

.toast { position: fixed; left: 50%; bottom: calc(var(--quick-h) + 2.4rem); z-index: 310; max-width: calc(100% - 4rem); padding: 1.5rem 2.8rem; font-size: 1.6rem; font-weight: 500; line-height: 2.4rem; color: #fff; text-align: center; background: rgba(34, 34, 34, .94); border-radius: 3rem; box-shadow: 0 1rem 3rem rgba(0, 0, 0, .2); opacity: 0; visibility: hidden; transform: translate(-50%, 2rem); transition: opacity .35s, visibility .35s, transform .35s var(--ease-out); }
.toast.is-show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

body.is-lock { overflow: hidden; }


/* 14. Motion
   ========================================================================== */
/* 스크롤 등장 : JS 동작 시에만 숨김 처리 (html.js) */
.js [data-reveal] { opacity: 0; transition: opacity .9s var(--ease-out), transform .9s var(--ease-out); transition-delay: var(--d, 0s); will-change: opacity, transform; }
.js [data-reveal="up"] { transform: translateY(5rem); }
.js [data-reveal="left"] { transform: translateX(6rem); }
.js [data-reveal="right"] { transform: translateX(-6rem); }
.js [data-reveal="zoom"] { transform: scale(.92); }
.js [data-reveal].is-in { opacity: 1; transform: none; }
/* 등장 완료 후에는 hover 전환 속도로 복귀 */
.js [data-reveal].is-done { transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out), background .35s, border-color .35s; transition-delay: 0s; will-change: auto; }

/* 비주얼 인트로 */
.js .hero__badge,
.js .hero__title span,
.js .laurel,
.js .hero__visual,
.js .case-roll,
.js .consult { opacity: 0; }
.js .is-loaded .hero__badge { animation: dropIn .8s var(--ease-spring) .15s both; }
.js .is-loaded .hero__title-lg { animation: fadeUp .9s var(--ease-out) .3s both; }
.js .is-loaded .hero__title-sm { animation: fadeUp .9s var(--ease-out) .42s both; }
.js .is-loaded .laurel { animation: laurelIn .9s var(--ease-out) .62s both; }
.js .is-loaded .laurel + .laurel { animation-delay: .76s; }
.js .is-loaded .hero__visual { animation: handsIn 1.2s var(--ease-out) .7s both; }
.js .is-loaded .case-roll { animation: slideLeft .95s var(--ease-out) .45s both; }
.js .is-loaded .consult { animation: slideLeft .95s var(--ease-out) .6s both; }
.js .is-loaded .hero__title-lg em { background: linear-gradient(100deg, var(--c-primary) 0%, var(--c-primary) 40%, #ffb199 50%, var(--c-primary) 60%, var(--c-primary) 100%) 100% 0 / 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: textSheen 2.2s var(--ease-out) 1.3s 1 both; }

/* 비교 카드 '적합' 배지 */
.js .compare__flag { transform: scale(0); transform-origin: 50% 130%; }
.js .compare__card.is-in .compare__flag { animation: popIn .7s var(--ease-spring) .7s both, bob 2.4s ease-in-out 1.6s infinite; }

/* 고민 카드 체크 */
.js .worry__check { clip-path: polygon(0 0, 0 0, 0 0); transition: clip-path .6s var(--ease-out) calc(var(--d, 0s) + .35s), transform .45s var(--ease-out); }
.js .worry__check::after { opacity: 0; transform: scale(.2) rotate(-30deg); transition: opacity .3s calc(var(--d, 0s) + .7s), transform .5s var(--ease-spring) calc(var(--d, 0s) + .7s); }
.js .worry__item.is-in .worry__check { clip-path: polygon(0 0, 100% 0, 0 100%); }
.js .worry__item.is-in .worry__check::after { opacity: 1; transform: none; }
.js .worry__img img { opacity: 0; transform: scale(.4); }
.js .worry__item.is-in .worry__img img { animation: popIn .8s var(--ease-spring) calc(var(--d, 0s) + .25s) both; }

/* 지원 단계 : 라인 → 점 → 카드 순차 등장 */
.js [data-reveal="line"] { opacity: 1; }
.js .steps__list::before { transform: scaleX(0); transition: transform 1.4s var(--ease-out); }
.js .steps__list.is-in::before { transform: scaleX(1); }
.js .steps__item::before { transform: scale(0); transition: transform .5s var(--ease-spring); }
.js .steps__card { opacity: 0; transform: translateY(5rem); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out), box-shadow .45s var(--ease-out); }
.js .steps__list.is-in .steps__item::before { transform: scale(1); }
.js .steps__list.is-in .steps__card { opacity: 1; transform: none; }
.js .steps__item:nth-child(1)::before { transition-delay: .2s; }
.js .steps__item:nth-child(2)::before { transition-delay: .5s; }
.js .steps__item:nth-child(3)::before { transition-delay: .8s; }
.js .steps__item:nth-child(4)::before { transition-delay: 1.1s; }
.js .steps__item:nth-child(1) .steps__card { transition-delay: .3s, .3s, 0s; }
.js .steps__item:nth-child(2) .steps__card { transition-delay: .6s, .6s, 0s; }
.js .steps__item:nth-child(3) .steps__card { transition-delay: .9s, .9s, 0s; }
.js .steps__item:nth-child(4) .steps__card { transition-delay: 1.2s, 1.2s, 0s; }
.js .steps__list.is-done .steps__card { transition-delay: 0s; transition-duration: .45s; }
.js .steps__list.is-in .steps__card img { animation: wiggle 3.6s ease-in-out 2s infinite; }
.js .steps__list.is-in .steps__item:nth-child(2) .steps__card img { animation-delay: 2.5s; }
.js .steps__list.is-in .steps__item:nth-child(3) .steps__card img { animation-delay: 3s; }
.js .steps__list.is-in .steps__item:nth-child(4) .steps__card img { animation-delay: 3.5s; }
.js .steps__item:hover .steps__card img { animation: none; }

/* 회사소개 배경 */
.js .about__bg { transform: scale(1.08); transition: transform 2.2s var(--ease-out); }
.js .about.is-in .about__bg { transform: none; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(calc(46 * var(--hu))); } to { opacity: 1; transform: none; } }
@keyframes slideLeft { from { opacity: 0; transform: translateX(calc(70 * var(--hu))); } to { opacity: 1; transform: none; } }
@keyframes dropIn { from { opacity: 0; transform: translateY(calc(-26 * var(--hu))) scale(.8); } to { opacity: 1; transform: none; } }
@keyframes laurelIn { from { opacity: 0; transform: translateY(calc(30 * var(--hu))) scale(.86); } to { opacity: 1; transform: none; } }
@keyframes handsIn { from { opacity: 0; transform: translateY(calc(80 * var(--hu))) scale(.7) rotate(-10deg); } to { opacity: 1; transform: none; } }
@keyframes popIn { 0% { opacity: 0; transform: scale(0); } 100% { opacity: 1; transform: scale(1); } }
@keyframes textSheen { from { background-position: 100% 0; } to { background-position: 0 0; } }
@keyframes float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(calc(-14 * var(--hu))) rotate(1.6deg); } }
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-.5rem); } }
@keyframes sheen { 0% { transform: translateX(-130%) skewX(-18deg); } 38%, 100% { transform: translateX(330%) skewX(-18deg); } }
@keyframes ring { 0%, 100% { transform: rotate(0); } 20%, 60% { transform: rotate(-16deg); } 40%, 80% { transform: rotate(16deg); } }
@keyframes shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
@keyframes orb { from { transform: translate(0, 0) scale(1); } to { transform: translate(calc(-30 * var(--hu)), calc(14 * var(--hu))) scale(1.03); } }
@keyframes beam { from { transform: translateX(0); } to { transform: translateX(calc(40 * var(--hu))); } }
@keyframes blob { from { transform: translate(-6%, -4%) scale(1); } to { transform: translate(8%, 8%) scale(1.14); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(var(--marquee-shift, -50%)); } }
@keyframes wiggle { 0%, 16%, 100% { transform: none; } 4% { transform: translateY(-.5rem) rotate(-8deg); } 8% { transform: translateY(0) rotate(6deg); } 12% { transform: translateY(-.2rem) rotate(-3deg); } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 94, 51, .45); } 100% { box-shadow: 0 0 0 1.4rem rgba(255, 94, 51, 0); } }


/* 15. Responsive : Tablet · Mobile (~1279px)
   --------------------------------------------------------------------------
   모바일 기준 시안 : 375px (1rem = 10px, 화면폭에 비례)
   ========================================================================== */
@media (max-width: 1279px) {
	html { font-size: clamp(8.6px, calc(100vw / 37.5), 11.2px); scroll-padding-top: 6rem; }
	:root { --hu: .1rem; --quick-h: calc(6.8rem + env(safe-area-inset-bottom, 0px)); }

	#wrap { padding-bottom: 0; }
	.inner { width: auto; max-width: none; margin: 0 2rem; }

	.sec-title { left: 0 !important; font-size: 2.3rem; line-height: 3.3rem; letter-spacing: -.02em; }
	.sec-desc { left: 0 !important; font-size: 1.5rem; line-height: 2.3rem; }
	.sec-desc br { display: none; }

	/* Header */
	.header__inner { width: auto; max-width: none; height: 6rem; margin: 0 2rem; }
	.header.is-scrolled .header__inner { height: 5.6rem; }
	.header__logo { width: 18.6rem; }
	.gnb, .header__tel { display: none; }
	.header__menu { position: relative; display: block; flex: none; width: 4.4rem; height: 4.4rem; margin-right: -1rem; }
	.header__menu i,
	.header__menu i::before,
	.header__menu i::after { position: absolute; left: 50%; width: 2.2rem; height: 2px; margin-left: -1.1rem; background: #222; border-radius: 2px; transition: transform .3s var(--ease-out), opacity .2s; }
	.header__menu i { top: 50%; margin-top: -1px; }
	.header__menu i::before,
	.header__menu i::after { content: ""; left: 0; margin-left: 0; }
	.header__menu i::before { top: -.7rem; }
	.header__menu i::after { top: .7rem; }

	/* Mobile Nav */
	.mnav { position: fixed; inset: 0; z-index: 200; display: block; }
	.mnav[hidden] { display: none; }
	.mnav__dim { position: absolute; inset: 0; background: rgba(17, 17, 17, .55); opacity: 0; transition: opacity .35s; }
	.mnav__panel { position: absolute; right: 0; top: 0; display: flex; flex-direction: column; width: 30rem; max-width: 86%; height: 100%; padding: 0 2.4rem calc(2.4rem + env(safe-area-inset-bottom, 0px)); background: #fff; transform: translateX(100%); transition: transform .45s var(--ease-out); }
	.mnav.is-open .mnav__dim { opacity: 1; }
	.mnav.is-open .mnav__panel { transform: none; }
	.mnav__head { display: flex; align-items: center; justify-content: space-between; height: 6rem; }
	.mnav__head img { width: 16.8rem; }
	.mnav__close { position: relative; width: 4.4rem; height: 4.4rem; margin-right: -1.2rem; }
	.mnav__close::before,
	.mnav__close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 2.2rem; height: 2px; margin: -1px 0 0 -1.1rem; background: #222; }
	.mnav__close::before { transform: rotate(45deg); }
	.mnav__close::after { transform: rotate(-45deg); }
	.mnav__list { flex: 1; margin-top: 1.2rem; border-top: 1px solid var(--c-line); }
	.mnav__list li { border-bottom: 1px solid var(--c-line); opacity: 0; transform: translateX(2.4rem); transition: opacity .4s, transform .4s var(--ease-out); }
	.mnav.is-open .mnav__list li { opacity: 1; transform: none; }
	.mnav.is-open .mnav__list li:nth-child(1) { transition-delay: .12s; }
	.mnav.is-open .mnav__list li:nth-child(2) { transition-delay: .17s; }
	.mnav.is-open .mnav__list li:nth-child(3) { transition-delay: .22s; }
	.mnav.is-open .mnav__list li:nth-child(4) { transition-delay: .27s; }
	.mnav.is-open .mnav__list li:nth-child(5) { transition-delay: .32s; }
	.mnav__list a { position: relative; display: block; padding: 1.9rem .4rem; font-size: 1.8rem; font-weight: 600; line-height: 2.6rem; color: #222; }
	.mnav__list a::after { content: ""; position: absolute; right: .8rem; top: 50%; width: .8rem; height: .8rem; margin-top: -.5rem; border-right: 2px solid #bbb; border-top: 2px solid #bbb; transform: rotate(45deg); }
	.mnav__tel { display: flex; align-items: center; justify-content: center; height: 5.2rem; font-size: 1.8rem; font-weight: 700; color: var(--c-primary); border: 1px solid var(--c-primary); border-radius: 2.6rem; }
	.mnav__tel img { width: 1.5rem; margin-right: .7rem; }

	/* Hero */
	.hero { padding-top: 6rem; }
	.hero__bg { background: linear-gradient(180deg, #e8f4ff 0, #f4faff 26rem, #fff 52rem); }
	.hero__orb { left: 0; top: -22rem; width: 52rem; height: 52rem; margin-left: 8rem; background: linear-gradient(40.5deg, rgba(255, 255, 255, .6) 24%, #d0e9fd 62%); }
	.hero__beam { display: none; }
	.hero__inner { display: block; width: auto; max-width: none; min-height: 0; margin: 0 2rem; padding-bottom: 5rem; }
	.hero__copy { padding-top: 3.2rem; text-align: center; }
	.hero__badge { height: 3.2rem; padding: 0 1.6rem 0 1.4rem; font-size: 1.5rem; border-radius: 1.6rem; }
	.hero__badge::after { margin-left: -.6rem; border-width: .7rem .6rem 0; }
	.hero__badge img { width: 1.4rem; margin-right: .5rem; }
	.hero__title { margin-top: 2.2rem; }
	.hero__title-lg { font-size: 5.6rem; line-height: 6.6rem; letter-spacing: -.02em; }
	.hero__title-sm { margin-top: .4rem; font-size: 2.7rem; line-height: 3.8rem; letter-spacing: -.02em; }

	.hero__stats { justify-content: center; gap: .7rem; margin-top: 2.6rem; }
	.laurel { width: 16.4rem; height: 7.9rem; padding-top: 1.6rem; }
	.laurel__num { font-size: 2.1rem; line-height: 2.8rem; }
	.laurel__txt { margin-top: 0; font-size: 1.2rem; line-height: 1.8rem; }

	.hero__visual { position: relative; left: auto; top: auto; width: 19rem; margin: 1.6rem auto -1.4rem; }

	.hero__side { display: block; width: auto; padding-top: 0; }
	.case-roll,
	.consult { border-radius: 1.6rem; box-shadow: 0 1rem 4rem rgba(110, 160, 210, .16); }
	.case-roll { height: auto; padding: 2.2rem 1.6rem 2.2rem; }
	.case-roll__head { padding: 0 .4rem; }
	.case-roll__title { font-size: 1.7rem; line-height: 2.4rem; }
	.case-roll__count { padding-right: 0; font-size: 1.3rem; line-height: 2.4rem; }
	.case-roll__body { height: 8rem; margin-top: 1.8rem; }
	.case-roll__list { margin: 0 3.8rem; }
	.case-roll__item { justify-content: center; }
	.case-roll__photo { width: 8rem; height: 8rem; }
	.case-roll__info { margin-left: 1.4rem; }
	.case-roll__info .tag { padding: 0 .6rem; font-size: 1.1rem; line-height: 1.9rem; }
	.sec-desc { margin-top: 1.2rem !important; }
	.case-roll__info strong { margin-top: .4rem; font-size: 1.8rem; line-height: 2.6rem; }
	.case-roll__info p { font-size: 1.3rem; line-height: 2rem; }
	.case-roll__nav { width: 3rem; height: 3rem; margin-top: -1.5rem; }
	.case-roll__nav--prev { left: 0; }
	.case-roll__nav::before { width: .8rem; height: .8rem; }
	.case-roll__dots { gap: 1.4rem; margin-top: 2rem; }
	.case-roll__dots button { width: 1rem; height: 1rem; }

	.consult { margin-top: 1.6rem; padding: 2rem 1.6rem 1.8rem; scroll-margin-top: 7rem; }
	.consult__row + .consult__row { margin-top: 1rem; }
	.consult__label { width: 6rem; font-size: 1.4rem; }
	.consult__input { height: 5.2rem; padding: 0 1.4rem; font-size: max(16px, 1.7rem); border-radius: .6rem; }
	.consult__input::placeholder { font-size: 1.3rem; letter-spacing: -.03em; }
	.consult__row--agree { height: 5rem; }
	.consult .agree { font-size: 1.3rem; }
	.consult .chk i { width: 2rem; height: 2rem; margin: 0 .7rem 0 0; }
	.consult .btn-submit { height: 5.4rem; font-size: 1.8rem; border-radius: .6rem; }

	/* About */
	.about { height: auto; background: linear-gradient(180deg, #cdefff 0%, #e6f7ff 46%, #fff 100%); }
	.about__bg { position: relative; order: 2; height: 21rem; margin-top: -1rem; background: url(../img/company_m.png) no-repeat 50% 0 / auto 100%; transform: none !important; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%); mask-image: linear-gradient(180deg, transparent 0, #000 22%); }
	.about { display: flex; flex-direction: column; }
	.about .inner { order: 1; padding-top: 5.6rem; text-align: center; }
	.about__title { font-size: 2.1rem; line-height: 3.2rem; letter-spacing: -.02em; }
	.about__title br { display: none; }
	.about__title em { display: block; }
	.about__desc { margin-top: 1.8rem; font-size: 1.5rem; line-height: 2.4rem; }
	.about__desc br { display: none; }

	/* Compare */
	.compare { padding: 6.4rem 0 6.6rem; }
	.compare__list { flex-direction: column; gap: 3.4rem; margin-top: 4.6rem; }
	.compare__card { width: 100%; height: auto !important; border-radius: 1.6rem; }
	.compare__card--normal { order: 2; }
	.compare__card--policy { order: 1; }
	.compare__head { height: auto !important; padding: 1.6rem 0 1.5rem !important; border-radius: 1.5rem 1.5rem 0 0 !important; }
	.compare__head p { font-size: 1.3rem; }
	.compare__head h3 { margin-top: 0 !important; font-size: 1.9rem; }
	.compare__points { margin: 0 auto !important; padding: 1.6rem 1.6rem 0 !important; }
	.compare__points li { font-size: 1.45rem !important; line-height: 2.8rem; }
	.compare__rate { height: auto !important; margin: 1.6rem 1rem 1rem !important; padding: 1.4rem 0 1.5rem !important; border-radius: 1.2rem; }
	.compare__rate dt { font-size: 1.3rem; }
	.compare__rate dd { font-size: 2.2rem !important; line-height: 3rem !important; }
	.compare__flag { right: 2.4rem; }
	.compare__card:hover { transform: none; }

	/* Worry */
	.worry { padding: 6.4rem 0 6.6rem; }
	.worry__list { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; margin-top: 3.4rem; }
	.worry__item { min-height: 0; padding: 2.8rem 1rem 2.4rem; border-radius: 1.6rem; }
	.worry__check { width: 4.8rem; height: 4.8rem; }
	.worry__check::after { left: .5rem; top: .9rem; width: 1.6rem; height: 1.44rem; }
	.worry__img { width: 7.6rem; height: 7.6rem; }
	.worry__item h3 { margin-top: 1.4rem; font-size: 1.8rem; }
	.worry__item p { margin-top: .6rem; font-size: 1.3rem; line-height: 1.9rem; letter-spacing: -.03em; }
	.worry__item p br { display: none; }
	.worry__item:hover { transform: none; box-shadow: none; }

	/* Policy */
	.policy { padding: 6.4rem 0 5.6rem; }
	.marquee { margin-top: 3.4rem; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3rem, #000 calc(100% - 3rem), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 3rem, #000 calc(100% - 3rem), transparent 100%); }
	.marquee__track { padding-left: 2rem; }
	.marquee__track li { margin-right: 3.6rem; font-size: 1.7rem; line-height: 3.2rem; }
	.marquee__track img { width: 3.2rem; height: 3.2rem; margin: .3rem .2rem 0 0; }

	/* Cases */
	.cases { padding: 1rem 0 6.6rem; }
	.cases__list { display: flex; gap: 1.2rem; margin: 3.4rem -2rem 0; padding: 0 2rem 1.6rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 2rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.cases__list::-webkit-scrollbar { display: none; }
	.cases__item { flex: none; width: 29rem; height: 12.8rem; padding: 0 2rem; border-radius: 1.6rem; scroll-snap-align: start; }
	.cases__photo { width: 8rem; height: 8rem; }
	.cases__info { margin-left: 1.4rem; }
	.cases__info .tag { padding: 0 .6rem; font-size: 1.1rem; line-height: 1.9rem; }
	.cases__info strong { margin-top: .5rem; font-size: 1.9rem; line-height: 2.6rem; }
	.cases__info p { font-size: 1.3rem; line-height: 2rem; }
	.cases__item:hover { transform: none; box-shadow: none; }

	/* Steps : 세로 타임라인 */
	.steps { padding: 6.4rem 0 6.6rem; }
	.steps__bg i:nth-child(1) { left: -20%; top: -10%; width: 110%; height: 40%; }
	.steps__bg i:nth-child(2) { right: -40%; bottom: -10%; width: 110%; height: 46%; }
	.steps__list { grid-template-columns: 1fr; gap: 1.2rem; margin-top: 3.4rem; padding: 0 0 0 2.6rem; }
	.steps__list::before { left: .4rem; top: 2rem; width: 1px; height: calc(100% - 4rem); transform-origin: 50% 0; }
	.js .steps__list::before { transform: scaleY(0); }
	.js .steps__list.is-in::before { transform: scaleY(1); }
	.steps__item::before { left: -2.2rem; top: 50%; margin: -.45rem 0 0 -.4rem; }
	.steps__card { min-height: 0; padding: 2.2rem 8rem 2.2rem 2.2rem; border-radius: 1.6rem; }
	.steps__num { font-size: 1.2rem; }
	.steps__card h3 { margin-top: .4rem; font-size: 1.7rem; line-height: 2.4rem; white-space: normal; }
	.steps__card p { font-size: 1.4rem; line-height: 2.1rem; }
	.steps__card p br { display: none; }
	.steps__card img { right: 2.2rem; bottom: auto !important; top: 50%; height: 3.6rem !important; margin-top: -1.8rem; }
	.steps__item:nth-child(1) .steps__card img { height: 4.2rem !important; margin-top: -2.1rem; }
	.js .steps__card { transform: translateX(3rem); }
	.steps__item:hover .steps__card { transform: none; box-shadow: none; }

	/* FAQ */
	.faq { padding: 6.4rem 0 6.6rem; }
	.faq__list { margin-top: 3rem; }
	.faq__item { border-radius: 1.4rem; }
	.faq__item + .faq__item { margin-top: 1rem; }
	.faq__q button { padding: 2rem 5rem 2rem 1.8rem; font-size: 1.5rem; line-height: 2.2rem; }
	.faq__q button::after { right: 2.2rem; top: 2.4rem; width: .9rem; height: .9rem; }
	.faq__a p { padding: 0 1.8rem 2rem; font-size: 1.45rem; line-height: 2.2rem; }
	.cases__info .tag { margin-top: 0; }
	.faq__item.is-open .faq__q button { padding-bottom: 1rem; }
	.faq__item.is-open .faq__q button::after { top: 3rem; }

	/* Footer */
	.footer__info { display: block; min-height: 0; padding: 3rem 0 3.2rem; font-size: 1.3rem; line-height: 2.1rem; letter-spacing: -.02em; }
	.footer__info div + div { margin-top: .5rem; }
	.footer__info dt { flex: none; width: 9.4rem; margin-right: 0; }

	/* 하단 상담 : 본문 흐름으로 배치 */
	.quick { position: static; height: auto; padding: 3.4rem 0 3.6rem; transform: none !important; }
	.quick .inner { display: block; padding-top: 0; }
	.quick__title strong { font-size: 2.1rem; line-height: 2.8rem; }
	.quick__title p { margin-top: .4rem; font-size: 1.4rem; letter-spacing: -.02em; }
	.quick__form { margin-top: 2rem; }
	.quick__form fieldset { display: block; }
	.quick__input { display: block; width: 100% !important; height: 5.2rem; padding: 0 1.6rem; font-size: max(16px, 1.7rem); border-radius: .6rem; }
	.quick__input + label + .quick__input { margin-top: 1rem; }
	.quick__action { display: flex; flex-direction: column-reverse; width: auto; margin-top: 1.4rem; }
	.quick .btn-submit { height: 5.4rem; margin-top: 1.4rem; font-size: 1.8rem; border-radius: .6rem; }
	.quick .agree { margin-top: 0; font-size: 1.3rem; }
	.quick .agree__more { margin-left: 1rem; }

	/* 하단 고정 버튼 */
	.mbar { position: fixed; left: 0; bottom: 0; z-index: 90; display: flex; width: 100%; padding-bottom: env(safe-area-inset-bottom, 0px); background: #fff; box-shadow: 0 -.6rem 2.4rem rgba(0, 0, 0, .1); transform: translateY(110%); transition: transform .5s var(--ease-out); }
	.mbar.is-show { transform: none; }
	.mbar a { display: flex; align-items: center; justify-content: center; height: 6.8rem; font-size: 1.7rem; font-weight: 700; }
	.mbar__tel { flex: none; width: 13rem; color: var(--c-primary); background: #fff; }
	.mbar__tel img { width: 1.5rem; margin-right: .6rem; }
	.mbar__apply { position: relative; flex: 1; overflow: hidden; color: #fff; background: var(--c-primary); }
	.mbar__apply::before { content: ""; position: absolute; left: 0; top: 0; width: 40%; height: 100%; background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .36), rgba(255, 255, 255, 0)); animation: sheen 3.6s var(--ease-out) 1s infinite; }

	.btn-top { right: 1.6rem; bottom: calc(var(--quick-h) + 1.6rem); width: 4.6rem; height: 4.6rem; border-width: 1px; box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .1); }
	.btn-top i { width: 1.8rem; height: 1.9rem; }
	.btn-top i::before { height: 1.7rem; }
	.btn-top i::after { width: 1rem; height: 1rem; margin-left: -.5rem; }

	.toast { bottom: calc(var(--quick-h) + 1.6rem); font-size: 1.4rem; line-height: 2.1rem; border-radius: 1.4rem; }
	.modal__box { padding: 2.8rem 2rem 2.4rem; border-radius: 1.6rem; }
	.modal__title { font-size: 2rem; line-height: 2.8rem; }
	.modal__body { padding: 1.8rem; }
	.modal__body dt, .modal__body dd { font-size: 1.4rem; line-height: 2.2rem; }
	.modal__close { right: 1.2rem; top: 1.8rem; }

	.js [data-reveal="up"] { transform: translateY(3.6rem); }
	.js [data-reveal="left"],
	.js [data-reveal="right"] { transform: translateY(3.6rem); }
}


/* 16. Responsive : Tablet only (768px~1279px)
   ========================================================================== */
@media (min-width: 768px) and (max-width: 1279px) {
	html { font-size: clamp(10px, calc(100vw / 80), 12.5px); }

	.inner,
	.header__inner,
	.hero__inner { margin-left: 4rem; margin-right: 4rem; }

	.sec-title { font-size: 2.8rem; line-height: 4rem; }
	.sec-desc { font-size: 1.7rem; line-height: 2.6rem; }

	/* Hero : 카피(좌) + 3D(우), 카드 2단 */
	.hero__inner { display: grid; grid-template-columns: 1fr auto; column-gap: 2rem; align-items: center; padding-bottom: 6rem; }
	.hero__copy { padding-top: 4.4rem; text-align: left; }
	.hero__badge::after { left: 3.4rem; }
	.hero__title-lg { font-size: 6.4rem; line-height: 7.6rem; }
	.hero__title-sm { font-size: 3.6rem; line-height: 5rem; }
	.hero__stats { justify-content: flex-start; gap: 1.2rem; }
	.laurel { width: 20rem; height: 9.6rem; padding-top: 2rem; }
	.laurel__num { font-size: 2.6rem; line-height: 3.2rem; }
	.laurel__txt { font-size: 1.4rem; line-height: 2rem; }
	.hero__visual { width: 22rem; margin: 4rem 1rem 0 0; }
	.hero__side { display: grid; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 1.6rem; align-items: stretch; margin-top: 4rem; }
	.case-roll { display: flex; flex-direction: column; justify-content: center; }
	.consult { margin-top: 0; }

	/* About : 건물 우측 배치 */
	.about { display: block; min-height: 34rem; background: #e4f6ff; }
	.about__bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin-top: 0; background: url(../img/company.png) no-repeat 70% 0 / auto 100%; -webkit-mask-image: none; mask-image: none; }
	.about .inner { padding: 7rem 0; text-align: left; }
	.about__title { max-width: 38rem; font-size: 2.3rem; line-height: 3.5rem; }
	.about__desc { max-width: 36rem; }

	.compare__list { flex-direction: row; align-items: center; gap: 1.6rem; }
	.compare__card--normal { order: 1; }
	.compare__card--policy { order: 2; }

	.worry__list { grid-template-columns: repeat(4, 1fr); }
	.worry__item { padding: 3rem .8rem 2.6rem; }

	.cases__list { display: grid; grid-template-columns: repeat(3, 1fr); margin: 3.4rem 0 0; padding: 0; overflow: visible; }
	.cases__item { width: auto; padding: 0 1.4rem; }
	.cases__photo { width: 6.4rem; height: 6.4rem; }
	.cases__info { margin-left: 1.2rem; }
	.cases__info strong { font-size: 1.6rem; line-height: 2.4rem; white-space: normal; }

	.steps__list { grid-template-columns: repeat(2, 1fr); gap: 1.6rem; padding-left: 0; }
	.steps__list::before,
	.steps__item::before { display: none; }

	.footer__info { display: flex; gap: .4rem 3rem; }
	.footer__info div + div { margin-top: 0; }
	.footer__info dt { width: auto; margin-right: 1rem; }

	.quick__form fieldset { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1rem; }
	.quick__input + label + .quick__input { margin-top: 0; }
	.quick__action { grid-column: 1 / -1; margin-top: .4rem; }
}


/* 16-1. Responsive : Mobile only (~767px)
   ========================================================================== */
@media (max-width: 767px) {
	/* 업종 : 흐름 배너 대신 3 x 3 그리드 */
	.marquee { margin: 3rem 2rem 0; overflow: visible; -webkit-mask-image: none; mask-image: none; }
	.marquee__track { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; width: auto; padding: 0; animation: none !important; transform: none !important; }
	.marquee__track li { flex-direction: column; justify-content: center; min-height: 8.8rem; margin: 0; padding: 1.2rem .4rem 1.1rem; font-size: 1.4rem; line-height: 1.9rem; letter-spacing: -.03em; color: #666; text-align: center; white-space: normal; background: var(--c-bg-soft); border-radius: 1.2rem; }
	.marquee__track li[aria-hidden="true"] { display: none; }
	.marquee__track img { width: 3.6rem; height: 3.6rem; margin: -.4rem 0 .1rem; }
	.js .marquee__track li { opacity: 0; transform: translateY(1.6rem); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out), color .3s; }
	.js .marquee.is-in .marquee__track li { opacity: 1; transform: none; }
	.js .marquee.is-in .marquee__track li:nth-child(3n+2) { transition-delay: .08s; }
	.js .marquee.is-in .marquee__track li:nth-child(3n) { transition-delay: .16s; }
	.js .marquee.is-in .marquee__track li:nth-child(n+4) { transition-delay: .2s; }
	.js .marquee.is-in .marquee__track li:nth-child(n+4):nth-child(3n+2) { transition-delay: .28s; }
	.js .marquee.is-in .marquee__track li:nth-child(n+4):nth-child(3n) { transition-delay: .36s; }
	.js .marquee.is-in .marquee__track li:nth-child(n+7) { transition-delay: .4s; }
	.js .marquee.is-in .marquee__track li:nth-child(n+7):nth-child(3n+2) { transition-delay: .48s; }
	.js .marquee.is-in .marquee__track li:nth-child(n+7):nth-child(3n) { transition-delay: .56s; }
}


/* 17. Reduced motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
	.js [data-reveal],
	.js .hero__badge,
	.js .hero__title span,
	.js .laurel,
	.js .hero__visual,
	.js .case-roll,
	.js .consult,
	.js .steps__card,
	.js .worry__img img,
	.js .marquee__track li,
	.js .worry__check::after { opacity: 1 !important; transform: none !important; }
	.js .worry__check { clip-path: polygon(0 0, 100% 0, 0 100%) !important; }
	.js .compare__flag,
	.js .steps__item::before,
	.js .steps__list::before { transform: none !important; }
	.js .about__bg { transform: none !important; }
	.js .is-loaded .hero__title-lg em { -webkit-text-fill-color: currentColor; background: none; }
	.quick { transform: none !important; }
	.marquee__track { animation: none !important; }
}
