
/* 체크 표시 하나(선 아이콘, 색은 쓰는 쪽 currentColor 를 mask 로) — 홈 「지금」 줄 · 원고 예시 작업 화면 모형이 함께 쓴다 */
:root{--icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--c-blue:#2E6BFF;--c-blue-deep:#1B53E5;--c-blue-light:#5B8FFF;--c-blue-darker:#0E2EA8;--c-cyan:#2FE0E0;--c-ink:#0E1426;--c-ink-900:#111827;--c-gray:#6B7280}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
input,select,textarea{font-family:inherit}
body{color:var(--c-ink);line-height:1.6;word-break:keep-all;overflow-wrap:break-word;background:#05070F;overflow-x:hidden;font-family:'Pretendard',sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{background:none;outline:none;cursor:pointer;font-family:'Pretendard',sans-serif}
::selection{background:var(--c-blue);color:#fff}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.anim-off,.anim-off *,.anim-off *::before,.anim-off *::after,.anim-off::before,.anim-off::after{animation-play-state:paused!important}
html,body{margin:0;padding:0;background:#05070F}
html{scroll-behavior:smooth}
.ct{width:100%;max-width:1470px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
@media(min-width:768px){
.ct{padding-left:40px;padding-right:40px}}
.fu{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.fu.visible{opacity:1;transform:translateY(0)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* left(레이아웃 속성) 애니메이션은 매 프레임 메인스레드 비용 — transform으로 이동(컴포지터 전용).
   translateX %는 자기 폭(부모의 40%) 기준: 190%/40% = 475%가 기존 left -60%→130% 이동과 동일 */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}

@media(max-width:767px){
.pgrid{grid-template-columns:1fr}
}
#faq{padding-top:0}
#faq .faq-tabs{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #ededed;padding-top:22px;margin-bottom:18px}
#faq .faq-tab{padding:9px 16px;background:#fff;border:1px solid #e2e5ea;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;color:#5b6472;transition:color .2s ease,border-color .2s ease,background .2s ease}
#faq .faq-tab:hover{border-color:#c8cdd6;color:#2c313a}
#faq .faq-tab.active{background:var(--c-blue);border-color:var(--c-blue);color:#fff}
#faq .faq-qhead{margin:0;font-size:inherit;font-weight:inherit;line-height:1.4}
#faq .faq-list{display:flex;flex-direction:column;gap:10px}
#faq .faq-ac{border:1px solid #e6e9ee;border-radius:10px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
#faq .faq-ac.open{border-color:#c9d2de;box-shadow:0 4px 18px rgba(22,32,58,.06)}
#faq .faq-ac:hover{border-color:#c8cdd6}
#faq .faq-q{width:100%;display:flex;align-items:center;gap:14px;padding:20px 22px;background:transparent;border:0;cursor:pointer;text-align:left}
#faq .faq-qbadge{flex:none;color:var(--c-blue);font-size:17px;font-weight:800;line-height:1;margin:0}
#faq .faq-qtext{flex:1;font-size:16px;font-weight:500;color:#2c313a;line-height:1.55;transition:color .2s ease}
#faq .faq-q:hover .faq-qtext{color:var(--c-ink)}
#faq .faq-ac.open .faq-qtext{color:#9aa1ab;font-weight:500}
#faq .faq-ac.open .faq-qbadge{color:#9aa1ab}
#faq .faq-chev{flex:none;width:30px;height:30px;padding:8px;box-sizing:border-box;border-radius:50%;background:#f2f4f8;color:#9aa1ab;transition:transform .3s ease,color .25s ease,background .25s ease}
#faq .faq-ac.open .faq-chev{transform:rotate(180deg);background:#e9f0ff;color:var(--c-blue)}
#faq .faq-panel{max-height:0;overflow:hidden;transition:max-height .4s ease}
#faq .faq-abox{display:flex;align-items:flex-start;gap:13px;background:transparent;border-radius:0;padding:2px 22px 24px;margin:0}
#faq .faq-arrow{flex:none;font-size:0;line-height:1.6}
#faq .faq-arrow::before{content:"A";font-size:17px;font-weight:800;color:var(--c-blue)}
#faq .faq-atext{font-size:15px;color:#1a1c22;line-height:1.85}
#faq .faq-lead{display:block;font-size:16px;font-weight:700;color:#1f2733;margin-bottom:10px;line-height:1.6}
#faq .faq-atext p{margin-top:0;font-size:15px;color:#1a1c22;line-height:1.85}
/* 답의 첫 줄이 「A」와 같은 높이에 오도록 위 여백은 앞 문단 · 첫 줄 강조가 있을 때만 */
#faq .faq-atext :is(p,.faq-lead)+p{margin-top:12px}
@media (max-width:520px){
#faq .faq-q{padding:17px 16px;gap:12px}
#faq .faq-abox{padding:2px 16px 20px}
#faq .faq-tabs{gap:6px;padding-top:18px}
#faq .faq-tab{font-size:14px;padding:8px 13px}
#faq .faq-qtext{font-size:15px}
#faq .faq-lead{font-size:15px}}
#faq .faq-inner{max-width:1120px;margin:0 auto;padding-top:34px}
#faq .faq-head{display:flex;align-items:center;gap:5px;margin:0 0 14px;font-size:23px;font-weight:800;letter-spacing:-.5px;color:#17181c}
#faq .faq-head svg{color:#6b7280;stroke-width:2.4;margin-top:2px}
#faq .faq-head strong{font-weight:inherit;color:inherit}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:14px;font-size:15px}
.section{padding:100px 0;position:relative;scroll-margin-top:70px}
.section-clip{overflow:hidden}
.section-white{background:#fff}
.section-bdr{border-top:1px solid rgba(120,160,255,.05)}

#columns{padding-bottom:34px}
#columns .cl-inner{max-width:1120px;margin:0 auto}
#columns .cl-head-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}
#columns .cl-head{font-size:23px;font-weight:800;letter-spacing:-.5px;color:#17181c;margin:0}
#columns .cl-head-more{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:#17181c;color:#fff;cursor:pointer;transition:background .2s ease}
#columns .cl-head-more svg{display:block;width:11px;height:11px}
#columns .cl-head-more:hover{background:var(--c-blue)}
#columns .cl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px}
#columns .cl-item{border-top:1px solid #ededed;padding:26px 2px 30px}
#columns .cl-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--c-blue);margin:0 0 12px;line-height:1.4}
#columns .cl-tag-sep{flex:none;width:1px;height:10px;background:rgba(46,107,255,.32)}
#columns .cl-title{font-size:19px;font-weight:800;color:#1a1c22;line-height:1.4;letter-spacing:-.4px;margin:0 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#columns .cl-desc{font-size:14px;color:#5b6472;line-height:1.62;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#columns .cl-src{display:flex;align-items:center;gap:10px;font-size:13px;color:#9aa1ac;margin:auto 0 0}
#columns a.cl-item{display:flex;flex-direction:column;align-items:stretch;text-decoration:none;color:inherit;transition:transform .2s ease}
#columns a.cl-item:hover .cl-title{color:var(--c-blue)}
@media(max-width:767px){
#columns .cl-grid{grid-template-columns:1fr;column-gap:0}
#columns .cl-item{padding:22px 0 24px}}
.ft{background:#0B0F16;position:relative}
.ft-cta-zone{background:transparent;padding:64px 0 0}
/* Pages whose own content already ends with the free-audit call (company.html closing scene, consult.html form) hide
   the footer's rocket card instead of repeating it; the footer's 132px top padding only makes room for that
   overlapping card, so it shrinks to a plain gap. */
.no-footer-cta .ft-cta-zone{display:none}
.no-footer-cta .ft-main-zone{padding-top:56px}
.ft-cta{position:relative;z-index:2;display:flex;align-items:center;gap:40px;background:#2f52e6;border-radius:24px;padding:44px 52px;margin-bottom:-96px;overflow:hidden}
.ft-cta-media{flex:0 0 32%;display:flex;justify-content:center;align-items:center}
.ft-cta-illust{width:100%;max-width:240px;height:auto;filter:drop-shadow(0 14px 20px rgba(8,12,35,.55));animation:ftRocketFloat 3.2s ease-in-out infinite}
@keyframes ftRocketFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(-3deg)}}
.ft-cta-body{flex:1;min-width:0}
.ft-cta-title{font-size:28px;font-weight:800;line-height:1.3;letter-spacing:-.5px;color:#fff;margin:0 0 12px}
.ft-cta-sub{font-size:15px;color:rgba(255,255,255,.82);line-height:1.6;margin:0 0 22px;text-wrap:balance}
.ft-cta-actions{display:flex;width:fit-content;max-width:100%;gap:8px;padding:8px;background:linear-gradient(135deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.02) 40%,rgba(23,23,27,.26) 100%);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);border-radius:8px;margin:0 0 14px}
.ft-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border:0;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}
.ft-cta-btn:hover{transform:translateY(-1px)}
.ft-cta-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ft-cta-primary{background:#fff;color:#1c2a55}
.ft-cta-primary svg{transition:transform .25s ease}
.ft-cta-primary:hover svg{animation:ftArrowNudge .7s ease-in-out infinite}
@keyframes ftArrowNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.ft-cta-kakao{background:#FEE500;color:#3A1D1D}
.ft-cta-fine{font-size:13px;color:rgba(255,255,255,.9);line-height:1.6;margin:0}
.ft-cta-fine a{color:#fff;text-decoration:underline}
.ft-main-zone{background:transparent;padding:132px 0 0}
.ft-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid rgba(255,255,255,.14);margin-bottom:24px}
.ft-main>*{padding:32px 40px;min-width:0}
.ft-main>*:not(:last-child){border-right:1px solid rgba(255,255,255,.14)}
.ft-col{display:flex;flex-direction:column;align-items:flex-start}
.ft-col-t{font-size:15px;font-weight:800;color:#fff;margin:0 0 15px}
.ft-col-t.ft-col-t-link{color:#fff;text-decoration:none;transition:color .2s ease}
.ft-col-t-link:hover{color:var(--c-blue-light)}
.ft-col a{font-size:14px;color:rgba(255,255,255,.62);text-decoration:none;padding:5px 0;transition:color .2s ease}
.ft-col a:hover{color:var(--c-blue-light)}
.ft-notes-list{width:100%;margin-top:-8px}
.ft-notes-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:6px 0;text-decoration:none;color:rgba(255,255,255,.62);transition:color .2s ease}
a.ft-notes-row:hover{color:var(--c-blue-light)}
.ft-notes-title{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ft-notes-date{flex:none;font-size:12px;color:rgba(255,255,255,.4)}
.ft-col-split{padding:0;align-self:stretch}
/* 사이트 안내 한 줄: 모든 페이지 바닥에 같은 핵심 페이지 링크(사람 · 검색엔진 · AI 크롤러가 어느 페이지에서든 가격 · 전략 · 로파트너로 이동). tools/check-site-integrity.mjs 가 모든 페이지에 같은 줄인지 본다 */
.ft-sitelinks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.ft-sitelinks a{font-size:14px;font-weight:600;color:rgba(255,255,255,.78);text-decoration:none}
.ft-sitelinks a:hover{color:var(--c-blue-light)}
/* 채용 · 제휴는 위아래 반 칸씩 — 옆 두 칸의 제목처럼 왼쪽 정렬 · 같은 안쪽 여백 · 15px. .ft-col a(5px 0 · 14px)가 덮지 않도록
   .ft-col로 명시도를 맞춘다(유저 2026-09-29 「대부분 해상도에서 이상」: PC는 가운데, 폰은 테두리에 붙어 있었다) */
.ft-col .ft-col-split-item{width:100%;margin:0;padding:32px 40px;box-sizing:border-box;flex:1;display:flex;align-items:center;justify-content:flex-start;text-align:left;font-size:15px}
.ft-col-split-item:first-child{border-bottom:1px solid rgba(255,255,255,.14)}
.ft-biz{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;font-size:12.5px;color:#C2C3C4;line-height:1.6;margin:0 0 24px}
.ft-biz-tag{flex:none;white-space:nowrap}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid rgba(255,255,255,.1);padding:24px 0 40px}
.ft-bottom-brand{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}
.ft-bottom-logo{height:16px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.75}
.ft-copy{font-size:13px;line-height:16px;color:rgba(255,255,255,.5);margin:0;min-width:0}
.ft-bottom-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;min-width:0}
.ft-bottom-links a{font-size:13px;color:rgba(255,255,255,.62);text-decoration:none;transition:color .2s ease}
.ft-bottom-notice{font-size:13px;color:rgba(255,255,255,.4)}
.ft-bottom-links a:hover{color:var(--c-blue-light)}
.ft-bottom-social{display:flex;align-items:center;gap:10px}
.ft-bottom-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:background .2s ease,color .2s ease}
.ft-bottom-social a:hover{background:rgba(255,255,255,.18);color:#fff}
.ft-bottom-social svg{display:block;width:17px;height:17px}
@media(max-width:900px){
.ft-main{grid-template-columns:1fr}
.ft-main>*{padding:24px}
.ft-main>*:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
.ft-main>.ft-col-split{padding:0}
.ft-col .ft-col-split-item{padding:20px 24px}
}
@media(max-width:640px){
.ft-cta{flex-direction:column;gap:24px;padding:34px 26px;text-align:center;margin-bottom:-74px}
.ft-cta-media{flex:none}
.ft-cta-illust{width:150px}
.ft-cta-title{font-size:22px}
.ft-cta-actions{flex-direction:column;width:auto}
.ft-cta-btn{width:100%}
.ft-main-zone{padding-top:104px}
.ft-bottom{flex-direction:column;align-items:flex-start;padding-bottom:32px}
.ft-bottom-links{gap:12px 16px}
}
.nt-hero{background:#fff;padding:120px 0 0;position:relative}
.nt-title{font-size:clamp(40px,7vw,82px);font-weight:900;color:#111318;letter-spacing:-1.5px;line-height:1;margin:0 0 30px}
.nt-hero-img{width:100%;max-width:1470px;height:400px;margin:32px auto 0;background:linear-gradient(120deg,#c7d2e4 0%,#9fb2cf 55%,#8296bd 100%);background-size:cover;background-position:center}
@media(max-width:600px){
.nt-hero{padding:100px 0 0}
.nt-title{font-size:44px;letter-spacing:-1.5px}
.nt-hero-img{height:230px;margin-top:24px}}
.legal-body{max-width:820px;margin:0 auto;padding-bottom:40px}
.legal-body h2{font-size:19px;font-weight:800;color:var(--c-ink);letter-spacing:-.3px;margin:40px 0 14px}
.legal-body h2:first-child{margin-top:0}
.legal-body p{font-size:15px;color:#5b6472;line-height:1.85;margin:0 0 12px}
.legal-body ul{margin:0 0 12px;padding-left:22px}
.legal-body li{font-size:15px;color:#5b6472;line-height:1.85;margin:0 0 6px}
.legal-body strong{color:var(--c-ink);font-weight:700}
.legal-body .legal-updated{font-size:13px;color:#9aa1ac;margin:0 0 36px}
.legal-body .legal-table-wrap{overflow-x:auto;margin:0 0 16px;-webkit-overflow-scrolling:touch}
.legal-body .legal-table{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}
.legal-body .legal-table th,.legal-body .legal-table td{border:1px solid #e3e6ea;padding:9px 10px;text-align:left;vertical-align:top;line-height:1.65;color:#5b6472}
.legal-body .legal-table th{background:#f6f7f9;color:var(--c-ink);font-weight:700;white-space:nowrap}
.notice-body{max-width:820px;margin:0 auto;padding-top:0;padding-bottom:60px}
.notice-body h2{font-size:19px;font-weight:800;color:var(--c-ink);letter-spacing:-.3px;margin:0 0 20px}
.notice-list{border-top:1px solid #eaecf0}
.notice-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:18px 4px;border-bottom:1px solid #eaecf0}
.notice-tag{color:var(--c-blue);font-weight:700}
.notice-title{font-size:15px;color:var(--c-ink);line-height:1.5;flex:1;min-width:0;margin:0}
.notice-date{font-size:13px;color:#9aa1ac;flex:none}
/* Same gap above and below the form card (the nav height is already cleared by body padding). */
.cf-section{background:#F8FAFC;padding:100px 0}
.cf-wrap{max-width:960px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(16,24,40,.06);border:1px solid #f1f2f4;padding:48px}
.cf-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid #eaecf0}
.cf-head-text{display:flex;flex-direction:column;gap:8px}
.cf-title{font-size:28px;font-weight:800;color:var(--c-ink-900);letter-spacing:-.4px;margin:0}
.cf-sub{font-size:28px;font-weight:700;color:var(--c-blue);margin:0}
/* 무료 진단에서 받는 것 — 팜플렛 뒷면 「무료 진단에서 받으실 수 있는 것」과 같은 세 줄 */
.cf-get{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:15px;line-height:1.5;color:#374151}
.cf-get li{display:grid;grid-template-columns:auto 1fr;gap:8px}
.cf-get li::before{content:"✓";color:var(--c-blue);font-weight:700}
.cf-head-icon{flex:none;width:100px;height:100px;margin-right:48px;display:flex;align-items:center;justify-content:center}
.cf-head-icon img{width:100%;height:100%;object-fit:contain;animation:ftRocketFloat 3.2s ease-in-out infinite}
/* 320px 에서는 아이콘 100px + margin-right 48px 이 남는 폭을 넘긴다.
   .cf-head 가 space-between 이라 그 여백은 원래도 없어도 되는 값이다. */
@media(max-width:420px){
.cf-head{gap:14px}
.cf-head-icon{width:72px;height:72px;margin-right:0}
}
.cf-form{display:flex;flex-direction:column;gap:32px}
.cf-form fieldset{border:0;margin:0;padding:0;min-width:0}
.cf-legend{display:block;font-size:16px;font-weight:700;color:#1f2937;margin:0 0 16px;padding:0}
.cf-req{color:#ef4444;font-weight:700;font-size:16px}
.cf-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cf-check-grid-5{grid-template-columns:repeat(5,1fr)}
.cf-check{display:flex;align-items:center;padding:12px;background:#F9FAFB;border-radius:6px;cursor:pointer;transition:background .2s ease,opacity .2s ease}
.cf-check:hover{background:#F3F4F6}
.cf-check:has(input:disabled){opacity:.45;cursor:not-allowed}
.cf-check:has(input:disabled):hover{background:#F9FAFB}
.cf-check input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;border:1px solid #D1D5DB;border-radius:4px;margin:0 8px 0 0;background:#fff url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%239CA3AF' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") no-repeat center;background-size:14px 14px;cursor:pointer}
.cf-check input:checked{background-color:var(--c-blue);border-color:var(--c-blue);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}
.cf-check span{font-size:16px;color:#374151}
.cf-check-sm span{font-size:16px}
.cf-field{display:flex;flex-direction:column;gap:8px}
.cf-field label{font-size:16px;font-weight:700;color:var(--c-blue)}
.cf-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cf-input,.cf-textarea{width:100%;padding:16px;background:#F9FAFB;border:1px solid transparent;border-radius:8px;font-size:14px;font-family:inherit;color:var(--c-ink);transition:border-color .2s ease,box-shadow .2s ease}
.cf-input:disabled{opacity:.5;cursor:not-allowed}
.cf-input::placeholder,.cf-textarea::placeholder{color:#9CA3AF}
.cf-input:focus,.cf-textarea:focus{outline:none;border-color:var(--c-blue)}
.cf-textarea{resize:none;min-height:130px}
.cf-homepage-row{display:flex;align-items:center;gap:12px}
.cf-homepage-row .cf-input{flex:1}
.cf-check-inline{display:flex;align-items:center;font-size:14px;color:#6b7280;white-space:nowrap;cursor:pointer}
.cf-check-inline input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;border:1px solid #D1D5DB;border-radius:4px;margin:0 8px 0 0;background:#fff url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%239CA3AF' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") no-repeat center;background-size:14px 14px;cursor:pointer}
.cf-check-inline input:checked{background-color:var(--c-blue);border-color:var(--c-blue);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}
/* 개인정보 수집 · 이용 동의: 체크는 .cf-check 그대로, 안내는 접어 둔다 */
.cf-consent{display:grid;gap:8px}
.cf-consent-detail{font-size:14px;line-height:1.7;color:var(--c-ink-900)}
.cf-consent-detail summary{width:max-content;cursor:pointer;color:#6b7280}
.cf-consent-detail ul{margin:8px 0 0;padding:16px 20px;list-style:none;background:#F9FAFB;border-radius:6px}
.cf-consent-detail strong{display:inline-block;min-width:72px;color:#1f2937}
.cf-consent-detail p{margin:8px 0 0}
.cf-consent-detail a{color:var(--c-blue);text-decoration:underline}
.cf-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:32px;border-top:1px solid #f3f4f6}
.cf-foot-note{font-size:14px;color:var(--c-ink-900);line-height:1.6;margin:0}
.cf-submit{flex:none;padding:16px 40px;background:var(--c-blue);color:#fff;font-size:15px;font-weight:700;border:0;border-radius:4px;cursor:pointer;transition:background .2s ease}
.cf-submit:hover{background:var(--c-blue-deep)}
.cf-hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.cf-success-overlay:not([hidden]){display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:2000;padding:24px;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:cfFadeIn .2s ease}
.cf-success{position:relative;width:100%;max-width:420px;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.28);display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 32px;animation:cfPopIn .22s cubic-bezier(.2,.8,.2,1)}
.cf-success-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;background:transparent;color:#9aa1ac;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.cf-success-close:hover{background:#f3f4f6;color:var(--c-ink-900)}
.cf-success-icon{width:64px;height:64px;border-radius:50%;background:rgba(46,107,255,.1);color:var(--c-blue);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.cf-success-title{font-size:24px;font-weight:800;color:var(--c-ink-900);letter-spacing:-.4px;margin:0}
.cf-success-sub{font-size:15px;color:var(--c-gray);margin:10px 0 0}
.cf-success-btn{margin-top:28px;padding:14px 32px;background:var(--c-blue);color:#fff;font-size:15px;font-weight:700;border-radius:4px;text-decoration:none;transition:background .2s ease}
.cf-success-btn:hover{background:var(--c-blue-deep)}
@keyframes cfFadeIn{from{opacity:0}to{opacity:1}}
@keyframes cfPopIn{from{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:900px){
.cf-section{padding:40px 0}
/* 머리 부제 · 받으시는 것: 상담 문구(2026-10-14)가 옛 진단 문구보다 길어 폰에서 줄이 늘던 것을 글자로 줄인다(높이 증가 금지) */
.cf-sub{font-size:22px}
.cf-get{font-size:14px}
.cf-consent-detail strong{display:block}
.cf-wrap{padding:32px 24px}
.cf-check-grid{grid-template-columns:repeat(2,1fr)}
.cf-check-grid-5{grid-template-columns:repeat(2,1fr)}
.cf-foot{flex-direction:column;align-items:flex-start;gap:16px}
.cf-submit{width:100%;text-align:center}
}