
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* 모션 민감 사용자 배려(접근성): 애니메이션/전환을 사실상 즉시 완료 처리 */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}
:root{
  --blue:#1552C4;
  --blue-dark:#0F3E9B;
  --blue-light:#EDF2FC;
  --navy:#16304F;
  --navy2:#0B1D30;
  --text:#0F1922;
  --text2:#46545F;
  --text3:#8E9AA5;
  --bg:#F4F7FA;
  --white:#FFFFFF;
  --border:#E1E8F0;
  --green:#0E9E72;
  --yellow:#E8A317;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'Pretendard Variable',Pretendard,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}

/* CLIENT MARQUEE */
.client-marquee-wrap:hover @keyframes clientScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}


/* 앵커 이동 시 nav에 가려지지 않도록 */
[id]{scroll-margin-top:90px}

/* SCROLL PROGRESS */
#scroll-progress{
  position:fixed;top:0;left:0;z-index:9999;
  height:3px;width:0%;
  background:linear-gradient(90deg,#1552C4,#6FA8FF);
  pointer-events:none;
}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:rgba(255,255,255,0.97);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:76px;
}
.logo{font-size:1.45rem;font-weight:900;color:var(--navy);text-decoration:none;letter-spacing:-0.5px}
.logo span{color:var(--navy)}
.nav-menu{display:flex;list-style:none;gap:.7rem}
.nav-menu a{
  color:var(--blue);text-decoration:none;
  font-size:.9rem;font-weight:700;
  background:transparent;
  border:2px solid var(--blue);
  padding:.45rem 1.1rem;
  border-radius:100px;
  transition:background .2s, color .2s, transform .15s;
  white-space:nowrap;
}
.nav-menu a:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
.nav-btn{
  background:var(--blue);color:#fff;
  padding:.65rem 1.8rem;border-radius:100px;
  font-size:1.05rem;font-weight:900;text-decoration:none;
  box-shadow:0 4px 16px rgba(21,82,196,.35);
  transition:background .2s, transform .2s, box-shadow .2s;
  white-space:nowrap;
}
.nav-btn:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,82,196,.45)}
.nav-btn{
  background:var(--blue);color:#fff;
  padding:.55rem 1.4rem;border-radius:8px;
  font-size:.875rem;font-weight:700;text-decoration:none;
  transition:background .2s;white-space:nowrap
}
.nav-btn:hover{background:var(--blue-dark)}

/* HERO */
.hero{
  position:relative;overflow:hidden;
  min-height:100vh;
  min-height:100svh; /* iOS 주소창 제외한 실제 보이는 높이 */
  display:flex;align-items:center;
  justify-content:center;
  padding:130px 5% 80px;
}
.hero-video-bg{
  position:absolute;inset:0;z-index:0;
  pointer-events:none;overflow:hidden;
}
.hero-video-bg img,.hero-video-bg video{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  min-width:100%;min-height:100%;
  width:auto;height:auto;object-fit:cover;
}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(10,18,32,.92) 0%,rgba(10,18,32,.75) 60%,rgba(10,18,32,.65) 100%);
}
.hero-inner{
  position:relative;z-index:2;
  max-width:1080px;width:100%;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
}
/* 뱃지 */
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);font-size:.82rem;font-weight:600;
  padding:.5rem 1.3rem;border-radius:100px;margin-bottom:2rem;
  animation:fadeDown .7s ease both;
}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:#6FA8FF;flex-shrink:0;animation:pulse 1.6s infinite}
/* 제목 — 시네마틱 대형 타이포 + 줄 단위 등장 */
.hero-title{
  font-size:clamp(2.4rem,6.4vw,4.4rem);font-weight:800;
  color:#fff;line-height:1.03;letter-spacing:-.04em;
  margin-bottom:1.6rem;
}
.hero-title .t1{display:block;color:#fff;animation:lineReveal .9s .12s cubic-bezier(.22,1,.36,1) both}
.hero-title .t2{
  display:block;
  background:linear-gradient(100deg,#6FA8FF 0%,#2E6FDB 90%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:lineReveal .9s .3s cubic-bezier(.22,1,.36,1) both;
}
@keyframes lineReveal{from{opacity:0;transform:translateY(.35em);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
/* 타이핑 */
.hero-typing-wrap{
  font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:500;
  color:rgba(255,255,255,.8);
  margin-bottom:2.9rem;
  display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;
  min-height:2.2em;
  animation:fadeUp .8s .5s ease both;
}
.hero-typing-prefix{color:rgba(255,255,255,.45);font-weight:300}
.hero-typing-word{color:#fff;font-weight:800;border-right:3px solid #6FA8FF;padding-right:5px;white-space:nowrap}
/* 서브 */
.hero-sub{
  color:rgba(255,255,255,.85);font-size:.975rem;
  max-width:480px;line-height:1.9;margin-bottom:2.9rem;
  font-weight:400;
  animation:fadeUp .8s .62s ease both;
}
/* 버튼 */
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s .74s ease both}
.hero-reassure{
  display:flex;gap:1.3rem;flex-wrap:wrap;justify-content:center;
  margin-top:1.5rem;font-size:.83rem;font-weight:500;
  color:rgba(255,255,255,.62);animation:fadeUp .8s .86s ease both;
}
.hero-reassure span{white-space:nowrap}
@media(max-width:768px){.hero-reassure{gap:.4rem .9rem;font-size:.73rem;margin-top:1.1rem}}
/* 하단 수치 */
.hero-stats{
  display:flex;gap:4.5rem;margin-top:4.5rem;padding-top:2.2rem;
  border-top:1px solid rgba(255,255,255,.1);
  animation:fadeUp .8s 1s ease both;
}
.hero-stat{text-align:center}
.hero-stat-num{font-size:2.6rem;font-weight:900;color:#fff;line-height:1;margin-bottom:.35rem;letter-spacing:-.02em}
.hero-stat-label{font-size:.72rem;color:rgba(255,255,255,.4);font-weight:500}
/* 키프레임 */
@keyframes fadeDown{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.6)}}
.btn-main{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blue);color:#fff;
  padding:1.15rem 2.4rem;border-radius:14px;
  font-size:1.08rem;font-weight:800;text-decoration:none;border:none;cursor:pointer;
  transition:background .2s,transform .15s;font-family:inherit;
}
.btn-main:hover{background:var(--blue-dark);transform:translateY(-2px)}
.btn-ghost{
  display:inline-flex;align-items:center;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);
  padding:.9rem 2rem;border-radius:12px;
  font-size:1rem;font-weight:500;text-decoration:none;
  border:1px solid rgba(255,255,255,.2);transition:border-color .2s,background .2s;
}
.btn-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.12)}
/* TRUST BAR */
.trust{
  background:var(--blue);
  padding:2.6rem 5%;
}
.trust-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%}
.trust-item{text-align:center}
.trust-num{font-size:2.4rem;font-weight:900;color:#fff;line-height:1;margin-bottom:.3rem;transition:opacity .3s}
.trust-label{font-size:.72rem;color:rgba(255,255,255,.8);font-weight:500;white-space:nowrap}

/* SECTION WRAPPER */
.sec{padding:88px 5%}
.sec-inner > *:first-child{scroll-margin-top:100px}
.sec-bg{background:var(--bg)}
.sec-white{background:var(--white)}
.sec-inner{max-width:1140px;margin:0 auto}

.eye{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--blue);margin-bottom:.8rem;
}
.eye::before{content:'';width:18px;height:2px;background:var(--blue);border-radius:2px}
h2.ttl{
  font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:800;
  color:var(--text);letter-spacing:-.038em;line-height:1.32;
  margin-bottom:.85rem;text-align:center;
}
.sub-copy{font-size:1rem;color:var(--text2);line-height:1.8;letter-spacing:-.01em;max-width:560px;margin-bottom:2.4rem;text-align:center;margin-left:auto;margin-right:auto}
.eye-wrap{text-align:center}

/* SERVICE GROUPS */
.svc-group{margin-bottom:1.9rem}
.svc-group:last-child{margin-bottom:0}
.svc-group-label{
  font-size:.82rem;font-weight:800;color:var(--blue);
  letter-spacing:.06em;margin-bottom:1rem;
  display:inline-flex;align-items:center;gap:.45rem;
  background:var(--blue-light);padding:.4rem 1rem;border-radius:100px;
}
.svc-group-grid{display:grid;gap:1rem}
.svc-group-grid.col2{grid-template-columns:repeat(2,1fr)}
.svc-group-grid.col3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){
  .svc-group-grid.col2,.svc-group-grid.col3{grid-template-columns:1fr}
}
.svc-card{
  background:var(--white);border:1.5px solid var(--border);border-radius:16px;
  padding:2rem;cursor:pointer;position:relative;overflow:hidden;
  transition:box-shadow .25s,transform .25s,border-color .25s;
}
.svc-card::before{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:3px;background:var(--blue);
  transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.svc-card:hover::before{transform:scaleX(1)}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(21,82,196,.1);border-color:rgba(21,82,196,.2)}
.svc-hot{
  display:inline-block;
  font-size:.68rem;font-weight:700;
  background:var(--blue);color:#fff;
  padding:.2rem .55rem;border-radius:100px;
  vertical-align:middle;margin-left:.4rem;
  letter-spacing:.03em;
}
.svc-icon{margin-bottom:1.1rem;display:block;color:var(--blue)}
.svc-icon .ico{width:2.1rem;height:2.1rem;stroke-width:1.75}
.ebook-lock .ico{width:2.4rem;height:2.4rem;stroke-width:1.75}
.ico-chk{width:1rem;height:1rem;margin-right:.4rem;vertical-align:-.18em;color:#5BD48F;stroke-width:3}
.ico-btn{width:1.05rem;height:1.05rem;margin-right:.45rem;vertical-align:-.22em}
@keyframes icoSpin{to{transform:rotate(360deg)}}
.spin{animation:icoSpin .8s linear infinite;transform-origin:50% 50%}
.hero-reassure span{display:inline-flex;align-items:center}
.svc-card h3{font-size:1.05rem;font-weight:800;margin-bottom:.55rem;color:var(--text);letter-spacing:-.025em}
.svc-card p{font-size:.855rem;color:var(--text2);line-height:1.8}
.svc-link{
  display:inline-flex;align-items:center;gap:4px;
  margin-top:1.2rem;font-size:.78rem;font-weight:700;color:var(--blue);
}

/* BEFORE-AFTER */
.before-after{
  display:flex;align-items:center;gap:.7rem;
  margin-bottom:1rem;background:var(--bg);
  border-radius:12px;padding:.8rem 1rem;
}
.ba-before,.ba-after{flex:1;text-align:center}
.ba-label{font-size:.75rem;color:var(--text3);font-weight:600;margin-bottom:.25rem}
.ba-val{font-size:1.02rem;font-weight:800;color:var(--text2);letter-spacing:-.02em}
.ba-after .ba-val{color:var(--blue);font-weight:900;font-size:1.34rem;letter-spacing:-.03em}
.ba-arrow{font-size:1rem;color:var(--blue);font-weight:900;flex-shrink:0}
.ba-badge{
  display:inline-block;margin-top:.25rem;
  font-size:.68rem;font-weight:800;color:#fff;
  background:var(--blue);padding:.12rem .5rem;border-radius:100px;
}

/* CASES */
.cases-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.case-card{
  background:var(--white);border:1.5px solid var(--border);border-radius:16px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:box-shadow .3s,transform .3s;
}
.case-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(17,24,39,.12);border-color:rgba(21,82,196,.2)}
.case-thumb{
  width:100%;height:142px;overflow:hidden;position:relative;flex-shrink:0;background:var(--white);border-bottom:1px solid var(--border);
}
.case-thumb::after{display:none}
.case-thumb img{
  width:100%;height:100%;object-fit:contain;object-position:center;padding:12px;
  display:block;transition:transform .4s;
}
.case-card:hover .case-thumb img{transform:scale(1.02)}
.case-body{padding:1.15rem 1.3rem 1.25rem;flex:1;display:flex;flex-direction:column;min-width:0}
.case-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}
.case-name{font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.025em}
.case-badge{
  font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:100px;
  background:var(--blue-light);color:var(--blue);white-space:nowrap;
}
.case-desc{font-size:.86rem;color:var(--text2);line-height:1.75;margin-bottom:.8rem;flex:1}
.case-meta-row{display:flex;gap:.5rem;margin-bottom:.8rem;flex-wrap:wrap}
.meta-chip{background:var(--bg);border-radius:8px;padding:.3rem .7rem}
.meta-chip-label{font-size:.74rem;color:var(--text3);margin-bottom:.1rem;font-weight:500}
.meta-chip-val{font-size:.78rem;font-weight:700;color:var(--text)}
.case-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.stat-box{background:var(--bg);border-radius:8px;padding:.55rem .3rem;text-align:center}
.sb-label{font-size:.74rem;color:var(--text3);margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-val{font-size:1.02rem;font-weight:900;color:var(--text);line-height:1.15;letter-spacing:-.02em}
.sb-grow{font-size:.73rem;font-weight:700;color:var(--blue);margin-top:.15rem}
.case-more{display:inline-block;margin-top:.9rem;font-size:.8rem;font-weight:700;color:var(--blue);text-decoration:none}
.case-more:hover{text-decoration:underline}
@media(max-width:900px){
  .cases-grid{grid-template-columns:1fr}
  .case-card{flex-direction:column}
  .case-thumb{width:100%;height:180px}
  .case-stats{grid-template-columns:repeat(2,1fr)}
}

/* DIFF PHOTO */
.diff-photo-wrap{
  display:flex;align-items:center;justify-content:center;
  border-radius:16px;overflow:hidden;
  background:#e8edf0;
  position:relative;
  align-self:center;
}
.diff-photo{
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-radius:16px;
}
@media(max-width:900px){
  .diff-photo-wrap{align-self:auto}
}

/* FOUNDER SECTION */
/* PRESS — 언론 보도 */
.press-sec{background:var(--bg)}
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.2rem}
@media(max-width:1100px){.press-grid{grid-template-columns:repeat(2,1fr)}}
.press-card{
  background:var(--white);border:1.5px solid var(--border);border-radius:16px;
  padding:1.6rem;text-decoration:none;
  display:flex;flex-direction:column;gap:.6rem;
  transition:transform .15s,border-color .2s,box-shadow .2s;
}
.press-card:hover{transform:translateY(-3px);border-color:rgba(21,82,196,.35);box-shadow:0 10px 26px rgba(11,29,48,.08)}
.press-meta{font-size:.72rem;font-weight:700;color:var(--text3);letter-spacing:.02em}
.press-title{font-size:.95rem;font-weight:800;color:var(--text);line-height:1.55;letter-spacing:-.2px}
.press-more{margin-top:auto;padding-top:.5rem;font-size:.8rem;font-weight:700;color:var(--blue)}
@media(max-width:900px){.press-grid{grid-template-columns:1fr}}
.founder-sec{background:var(--white);padding:88px 5%;text-align:center}
.founder-inner{max-width:600px;margin:0 auto}
.founder-photo-wrap{
  width:280px;max-width:100%;margin:0 auto 2.5rem;
  border-radius:16px;overflow:hidden;
  background:linear-gradient(160deg,#e8edf0,#d6dee5);
  box-shadow:0 16px 40px rgba(21,82,196,.15);
}
.founder-photo{
  width:100%;height:auto;
  display:block;
  object-fit:cover;object-position:top center;
}
.founder-title{
  font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:900;color:var(--text);
  line-height:1.4;letter-spacing:-.5px;margin-bottom:1.3rem;
}
.founder-title span{color:var(--blue)}
.founder-desc{font-size:.95rem;color:var(--text2);line-height:1.85;margin-bottom:1.8rem;font-weight:600}
.founder-quote{
  font-size:.88rem;color:var(--text3);line-height:1.95;margin-bottom:2rem;
}
.founder-sign{font-size:.85rem;color:var(--text2);font-weight:500}
.founder-sign-name{font-family:'East Sea Dokdo', cursive;font-size:3.4rem;color:var(--text);font-weight:400;margin-left:.5rem;letter-spacing:.01em;line-height:1;white-space:nowrap}
@media(max-width:600px){
  .founder-photo-wrap{width:240px}
}

/* DIFF */
.diff-wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.diff-panel{background:var(--navy2);border-radius:16px;padding:2.5rem;display:flex;flex-direction:column;gap:1.1rem}
.diff-row{
  display:flex;align-items:center;gap:1.1rem;
  background:rgba(255,255,255,.06);border-radius:12px;padding:1.1rem 1.3rem;
}
.diff-row-ic{font-size:1.6rem}
.diff-row-label{font-size:.7rem;color:rgba(255,255,255,.45);margin-bottom:.2rem;font-weight:500}
.diff-row-val{font-size:1.1rem;font-weight:900;color:#fff}
.diff-row-val em{color:#6FA8FF;font-style:normal}
.diff-pts{display:flex;flex-direction:column;gap:1.8rem}
.diff-pt{display:flex;gap:1rem}
.diff-num{
  min-width:40px;height:40px;border-radius:12px;
  background:var(--blue-light);color:var(--blue);font-size:.85rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.diff-pt h4{font-size:1.02rem;font-weight:700;margin-bottom:.35rem;letter-spacing:-.2px}
.diff-pt p{font-size:.86rem;color:var(--text2);line-height:1.8}

/* PRINCIPLE / SELECTION PRINCIPLE */
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:2.5rem}
.principle-card{
  background:var(--navy2);border-radius:16px;padding:2rem;
  border:1px solid rgba(255,255,255,.08);
}
.principle-num{
  font-size:.78rem;font-weight:900;color:#6FA8FF;letter-spacing:.08em;
  margin-bottom:1rem;
}
.principle-card h4{font-size:1.02rem;font-weight:800;color:#fff;margin-bottom:.8rem;line-height:1.4;letter-spacing:-.2px}
.principle-card p{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.85}
@media(max-width:900px){.principle-grid{grid-template-columns:1fr}}


/* 서비스 카드 클릭 → 폼 자동 체크 시 깜빡임 안내 */
.svc-flash{animation:svcFlash 1.1s ease-in-out 2}
@keyframes svcFlash{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 3px rgba(123,164,238,.85)}}

/* 폼 선택 항목 태그 */
.opt-tag{
  font-size:.6rem;font-weight:600;color:rgba(255,255,255,.4);
  border:1px solid rgba(255,255,255,.22);padding:.08rem .45rem;
  border-radius:100px;margin-left:.35rem;vertical-align:middle;
}

/* PROCESS */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:0}
.proc-grid-5{grid-template-columns:repeat(5,1fr)}
.proc-grid-5::before{left:10%;right:10%}
.proc-grid::before{
  content:'';position:absolute;
  top:28px;left:12.5%;right:12.5%;height:2px;
  background:linear-gradient(90deg,var(--blue),rgba(21,82,196,.15));
  z-index:0;
}
.proc-day-badge{
  display:inline-block;
  background:var(--blue);color:#fff;
  font-size:.68rem;font-weight:800;
  padding:.25rem .75rem;border-radius:100px;
  margin-bottom:.8rem;letter-spacing:.04em;
}
.proc-step{text-align:center;padding:0 1rem;position:relative;z-index:1}
.proc-step h4{font-size:.95rem;font-weight:800;margin-bottom:.4rem;letter-spacing:-.025em}
.proc-step p{font-size:.875rem;color:var(--text2);line-height:1.65}

/* FAQ */
.faq-wrap{max-width:100%;display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:var(--white);border-radius:12px;border:1.5px solid var(--border);overflow:hidden}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.3rem 1.6rem;cursor:pointer;
  font-weight:700;font-size:.95rem;color:var(--text);
  transition:color .2s;
}
.faq-q:hover{color:var(--blue)}
.faq-arrow{font-size:1.1rem;color:var(--text3);transition:transform .3s;line-height:1}
.faq-item.open .faq-arrow{transform:rotate(45deg);color:var(--blue)}
.faq-a{
  padding:0 1.6rem;max-height:0;overflow:hidden;
  font-size:.875rem;color:var(--text2);line-height:1.85;
  transition:max-height .35s ease,padding .3s;
}
.faq-item.open .faq-a{max-height:480px;padding:0 1.6rem 1.4rem}

/* CONTACT */
.contact-sec{background:var(--navy2);padding:88px 5%}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact-left h2{
  font-size:clamp(1.9rem,3vw,2.8rem);font-weight:900;
  color:#fff;letter-spacing:-.8px;line-height:1.25;margin-bottom:1rem;
}
.contact-left h2 span{color:#6FA8FF}
.contact-left p{color:rgba(255,255,255,.55);font-size:.95rem;line-height:1.9}
.contact-checks{margin-top:2rem;display:flex;flex-direction:column;gap:.8rem}
.c-check{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:rgba(255,255,255,.7)}
.c-check::before{content:'';width:1rem;height:1rem;flex-shrink:0;background-color:var(--green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
/* 무료 진단 가치 명시 */
.diag-value{
  margin-top:1.8rem;background:rgba(21,82,196,.12);
  border:1px solid rgba(123,164,238,.28);border-radius:12px;
  padding:1.3rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;
}
.diag-value-title{font-size:.9rem;font-weight:800;color:#6FA8FF;margin-bottom:.2rem}
.diag-value-item{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;color:rgba(255,255,255,.82);line-height:1.55}
.diag-value-item strong{color:#fff;font-weight:700}
.dv-num{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:var(--blue);color:#fff;font-size:.72rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.contact-form{display:flex;flex-direction:column;gap:.9rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.f-group{display:flex;flex-direction:column;gap:.42rem}
.f-group label{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.55);letter-spacing:.05em;text-transform:uppercase}
.f-group input,.f-group select,.f-group textarea{
  background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);
  border-radius:12px;padding:.82rem 1rem;color:#fff;font-size:.9rem;
  font-family:inherit;outline:none;transition:border-color .2s,background .2s;width:100%;
}
.f-group input::placeholder,.f-group textarea::placeholder{color:rgba(255,255,255,.4)}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{
  border-color:rgba(21,82,196,.7);background:rgba(255,255,255,.1);
}
.f-group select option{background:#16304F;color:#fff}
.f-group textarea{resize:none;height:88px}
.f-submit{
  background:var(--blue);color:#fff;border:none;border-radius:12px;
  padding:1rem;font-size:1rem;font-weight:700;cursor:pointer;
  transition:background .2s,transform .15s;font-family:inherit;
}
.f-submit:hover{background:var(--blue-dark);transform:translateY(-2px)}
.f-submit-note{font-size:.74rem;color:rgba(255,255,255,.45);text-align:center;line-height:1.5;margin-top:-.2rem}
.svc-check-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;
}
.svc-check{
  display:flex;align-items:center;gap:.6rem;
  background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);
  border-radius:8px;padding:.65rem .9rem;cursor:pointer;
  transition:border-color .2s,background .2s;
}
.svc-check:hover{border-color:rgba(21,82,196,.6);background:rgba(21,82,196,.1)}
.svc-check input[type="checkbox"]{
  width:16px;height:16px;accent-color:var(--blue);cursor:pointer;flex-shrink:0;
}
.svc-check span{font-size:.85rem;color:rgba(255,255,255,.85);font-weight:500}
.svc-check:has(input:checked){
  border-color:var(--blue);background:rgba(21,82,196,.2);
}
.svc-check:has(input:checked) span{color:#fff;font-weight:700}

.kakao-btn{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:#FEE500;color:#3C1E1E;border:none;border-radius:12px;
  padding:.9rem;font-size:.95rem;font-weight:700;cursor:pointer;
  text-decoration:none;font-family:inherit;transition:opacity .2s;
}
.kakao-btn:hover{opacity:.88}

/* 개인정보 동의 */
.privacy-agree{
  display:flex;align-items:flex-start;gap:.55rem;cursor:pointer;
  font-size:.8rem;color:rgba(255,255,255,.6);line-height:1.5;margin-top:.2rem;
}
.privacy-agree input[type="checkbox"]{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;flex-shrink:0;margin-top:1px}
.privacy-agree em{color:#6FA8FF;font-style:normal;font-weight:700}
.privacy-agree a{color:rgba(255,255,255,.5);text-decoration:underline;text-underline-offset:2px}
#privacy-detail{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:.9rem 1.1rem;font-size:.75rem;
  color:rgba(255,255,255,.6);line-height:1.9;
}
#privacy-detail strong{color:rgba(255,255,255,.8)}

/* BOTTOM CTA — 플로팅 알약형 (스크롤 시작 시 등장, 문의 폼 도착 시 숨김) */
#cta-bar{
  position:fixed;left:0;right:0;bottom:22px;margin:0 auto;z-index:9999;
  width:92%;max-width:680px;
  background:var(--blue);
  border-radius:100px;
  box-shadow:0 10px 30px rgba(21,82,196,.35);
  padding:9px 9px 9px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  transform:translateY(140%);opacity:0;pointer-events:none;
  transition:transform .5s cubic-bezier(.25,1,.5,1),opacity .4s ease;
}
#cta-bar.bar-show{transform:translateY(0);opacity:1;pointer-events:auto}
#cta-bar.bar-hidden{transform:translateY(140%);opacity:0;pointer-events:none}
.cta-bar-text{color:#fff;font-size:.98rem;font-weight:700;white-space:nowrap}
.cta-bar-actions{display:flex;gap:.45rem;align-items:center}
.cta-bar-btn{
  display:flex;align-items:center;justify-content:center;
  padding:.72rem 1.4rem;border-radius:100px;
  font-size:.9rem;font-weight:800;text-decoration:none;white-space:nowrap;
  transition:transform .15s;
}
.cta-bar-btn:hover{transform:translateY(-2px)}
.cta-bar-main{background:#fff;color:var(--blue)}
.cta-bar-kakao{background:#FEE500;color:#3C1E1E}
@media(max-width:768px){
  #cta-bar{width:94%;bottom:calc(12px + env(safe-area-inset-bottom));padding:8px;gap:.4rem}
  .cta-bar-text{display:none}
  .cta-bar-actions{width:100%;gap:.4rem}
  .cta-bar-btn{flex:1;padding:.85rem .4rem;font-size:.88rem}
}

/* ── 모바일 종합 반응형 ── */
@media(max-width:768px){
  nav{padding:0 4%;height:60px}
  .nav-menu{display:none}
  .logo{font-size:1.2rem}
  .nav-btn{padding:.45rem 1rem;font-size:.8rem}
  .hero{padding:135px 4% 60px}
  .hero-badge{font-size:.72rem;padding:.4rem 1rem;margin-bottom:1.2rem}
  .hero-title{font-size:clamp(2.1rem,8.4vw,2.9rem);letter-spacing:-.038em}
  .hero-typing-wrap{font-size:.95rem;min-height:1.8em;flex-wrap:wrap}
  .hero-sub{font-size:.875rem;margin-bottom:1.8rem}
  .hero-btns{flex-direction:column;align-items:center;gap:.7rem}
  .btn-main,.btn-ghost{width:100%;max-width:320px;text-align:center;justify-content:center}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;padding-top:1.2rem}
  .hero-stat-num{font-size:1.5rem}
  .hero-stat-label{font-size:.7rem}
  .trust{padding:1.8rem 4%}
  .trust-inner{grid-template-columns:repeat(2,1fr);gap:1.2rem .5rem}
  .trust-num{font-size:1.5rem}
  
  .sec{padding:54px 4%}
  h2.ttl{font-size:1.62rem}
  .sub-copy{font-size:.875rem;margin-bottom:1.8rem}
  .svc-group-grid.col2,.svc-group-grid.col3{grid-template-columns:1fr}
  .cases-grid{grid-template-columns:1fr}
  .case-card{flex-direction:column}
  .case-thumb{width:100%;height:200px}
  .case-stats{grid-template-columns:repeat(2,1fr)}
  .diff-wrap{grid-template-columns:1fr;gap:2rem}
  .proc-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .proc-grid::before{display:none}
  .proc-grid-5{grid-template-columns:1fr}
  .badagency-grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .bad-card{perspective:none;min-height:auto;height:auto}
  .bad-card-inner{position:static !important;transform:none !important;transform-style:flat !important;transition:none !important;height:auto !important;min-height:auto !important;display:block !important}
  .bad-card:hover .bad-card-inner,.bad-card.flipped .bad-card-inner{transform:none !important}
  .bad-front,.bad-back{position:static !important;transform:none !important;backface-visibility:visible !important;-webkit-backface-visibility:visible !important;height:auto !important;inset:auto !important}
  .bad-back{display:none !important}
  .bad-card.flipped .bad-front{display:none !important}
  .bad-card.flipped .bad-back{display:flex !important}
  .column-grid{grid-template-columns:1fr}
  .contact-inner{grid-template-columns:1fr;gap:2rem}
  .f-row{grid-template-columns:1fr}
  .svc-check-grid{grid-template-columns:1fr}
  .contact-sec{padding:54px 4%}
  .nav-btn{padding:.6rem 1.1rem;font-size:.82rem}
  /* iOS: 16px 미만 입력칸 포커스 시 화면 강제확대 방지 */
  .f-group input,.f-group select,.f-group textarea{font-size:16px}
  .bubble-wrap{grid-template-columns:1fr;gap:2rem}
  .bubble-right{gap:30px}
  .bubble{max-width:100%}
  .badagency{padding:54px 4%}
  .trust-story{padding:54px 4%}
}
@media(max-width:380px){
  .hero-title{font-size:1.9rem}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .graph-x-label{font-size:.56rem}
  .graph-wrap{padding:1.4rem 1rem .8rem}
}

/* FOOTER */
footer{background:#080F18;padding:3rem 5% 2.2rem}
.foot-inner{max-width:1140px;margin:0 auto}
.foot-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-bottom:1.4rem;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-logo{font-size:1.3rem;font-weight:900;color:#fff;letter-spacing:-.4px}
.foot-logo span{color:#fff}
.foot-links{display:flex;gap:1.6rem}
.foot-links a{font-size:.8rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.foot-links a:hover{color:#fff}
.foot-info{margin-top:1.4rem;font-size:.76rem;color:rgba(255,255,255,.34);line-height:1.9}
.foot-info b{color:rgba(255,255,255,.5);font-weight:600}
.foot-info a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.foot-info a:hover{color:#fff}
.foot-copy{margin-top:.9rem;font-size:.72rem;color:rgba(255,255,255,.22)}
@media(max-width:600px){.foot-top{flex-direction:column;align-items:flex-start}}

/* TRUST STORY SECTION */
.trust-story{background:var(--white);padding:88px 5%}
.trust-story-inner{max-width:1140px;margin:0 auto}

/* 말풍선 섹션 */
.bubble-wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:0}
.bubble-left h2{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:900;color:var(--text);letter-spacing:-1px;line-height:1.25;margin-top:.5rem}
.bubble-left .bubble-sub{font-size:.9rem;color:var(--text2);line-height:1.85;margin-top:1rem}
.bubble-right{display:flex;flex-direction:column;gap:60px;width:100%}
.bubble{
  background:var(--blue);color:#fff;
  font-size:.88rem;font-weight:600;
  padding:.65rem 1.2rem;border-radius:16px;
  max-width:260px;line-height:1.5;
  opacity:0;transform:translateY(14px);
  transition:opacity .5s ease, transform .5s ease;
  box-shadow:0 4px 16px rgba(21,82,196,.3);
  width:fit-content;
}
.bubble.visible{opacity:1;transform:translateY(0)}
.bubble-center{align-self:center;border-radius:16px 20px 4px 20px;}
.bubble-left-pos{align-self:flex-start;background:#16304F;border-radius:16px 20px 20px 4px;}

/* 양아치 섹션 */
.badagency{background:var(--blue);padding:88px 5%}
.badagency-inner{max-width:1140px;margin:0 auto;text-align:center}
.badagency-eye{font-size:.95rem;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.08em;margin-bottom:1rem}
.badagency h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:#fff;letter-spacing:-1px;margin-bottom:1rem}
.badagency-desc{font-size:1rem;color:rgba(255,255,255,.8);line-height:1.9;max-width:640px;margin:0 auto 2.5rem}
.badagency-note{font-size:.9rem;color:rgba(255,255,255,.6);margin-bottom:3rem;font-style:italic}
.badagency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:stretch;grid-auto-rows:500px}
@media(max-width:900px){
  .badagency-grid{grid-template-columns:1fr;grid-auto-rows:auto}
  /* 769~900px에서 절대배치 카드가 높이 0으로 붕괴하던 문제 해결: 모바일과 동일한 정적/탭토글 레이아웃을 900px까지 확장 */
  .bad-card{perspective:none;min-height:auto;height:auto}
  .bad-card-inner{position:static !important;transform:none !important;transform-style:flat !important;transition:none !important;height:auto !important;min-height:auto !important;display:block !important}
  .bad-card:hover .bad-card-inner,.bad-card.flipped .bad-card-inner{transform:none !important}
  .bad-front,.bad-back{position:static !important;transform:none !important;backface-visibility:visible !important;-webkit-backface-visibility:visible !important;height:auto !important;inset:auto !important}
  .bad-back{display:none !important}
  .bad-card.flipped .bad-front{display:none !important}
  .bad-card.flipped .bad-back{display:flex !important}
}

/* 카드 플립 */
.bad-card{
  perspective:1200px;
  cursor:pointer;
  opacity:0;transform:translateY(24px);
  transition:opacity .6s ease, transform .6s ease;
  height:100%;
}
.bad-card.visible{opacity:1;transform:translateY(0)}
.bad-card-inner{
  position:relative;width:100%;height:100%;
  transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.4,0,.2,1);
}
.bad-card:hover .bad-card-inner,.bad-card.flipped .bad-card-inner{transform:rotateY(180deg)}
/* 터치 기기: 호버 에뮬레이션으로 카드가 눌리기 전에 뒤집히는 것 방지 (탭 토글만 사용) */
@media(hover:none){
  .bad-card:not(.flipped):hover .bad-card-inner{transform:none}
}
.bad-front,.bad-back{
  position:absolute;inset:0;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:16px;padding:1.8rem;
  display:flex;flex-direction:column;justify-content:center;gap:1rem;
}
.bad-front{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  justify-content:space-evenly;padding-top:1.8rem;
}
.bad-front-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.2rem}
.bad-back{
  background:rgba(255,255,255,.97);
  transform:rotateY(180deg);
  justify-content:center;gap:.7rem;
}
.bad-card-num{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.1em;margin-bottom:1.2rem}
.bad-card h3{font-size:1.05rem;font-weight:900;color:#fff;margin-bottom:1.4rem;line-height:1.4}
.bad-card p{font-size:.83rem;color:rgba(255,255,255,.75);line-height:1.85;margin-bottom:1.2rem}
.bad-card blockquote{
  font-size:.82rem;color:rgba(255,255,255,.85);line-height:1.8;font-style:italic;
  border-left:3px solid rgba(255,255,255,.3);padding-left:.9rem;margin-bottom:1.4rem;
}
/* 힌트 */
.bad-flip-hint{
  margin-top:auto;
  font-size:.78rem;font-weight:700;
  color:rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;gap:.4rem;
  background:rgba(255,255,255,.14);
  border-radius:12px;padding:.65rem 1rem;
  border:1px solid rgba(254,229,0,.35);
  animation:hintPulse 2s ease-in-out infinite;
}
@keyframes hintPulse{0%,100%{opacity:1}50%{opacity:.55}}
/* 뒷면 */
.back-title{
  font-size:.72rem;font-weight:800;color:var(--blue);letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:.8rem;
  display:flex;align-items:center;gap:.4rem;
}
.back-title::before{content:'';width:.9rem;height:.9rem;flex-shrink:0;background-color:var(--blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.back-heading{font-size:1rem;font-weight:900;color:var(--text);margin-bottom:.9rem;letter-spacing:-.3px;line-height:1.4}
.back-point{display:flex;gap:.7rem;margin-bottom:.75rem;align-items:flex-start}
.back-point-num{
  min-width:22px;height:22px;border-radius:50%;
  background:var(--blue);color:#fff;font-size:.65rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;
}
.back-point-text{font-size:.875rem;color:var(--text2);line-height:1.75}
.back-point-text strong{color:var(--text);font-weight:700;display:block;margin-bottom:.2rem}
.back-footer{
  margin-top:auto;padding-top:.9rem;border-top:1px solid var(--border);
  font-size:.78rem;color:var(--blue);font-weight:700;line-height:1.6;
}

/* 결론 섹션 */
.conclusion{background:var(--navy2);padding:88px 5%;text-align:center;overflow:hidden;position:relative}
.conclusion-inner{max-width:1140px;margin:0 auto;position:relative;z-index:1}
.conclusion-eye{font-size:.8rem;color:rgba(255,255,255,.45);letter-spacing:.1em;margin-bottom:1.5rem}
.conclusion-line1{font-size:clamp(1.2rem,2.5vw,1.5rem);color:rgba(255,255,255,.7);font-weight:400;margin-bottom:.6rem}
.conclusion-line1 em{color:rgba(255,255,255,.9);font-style:normal;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.3)}
.conclusion-line2{
  font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:900;color:#fff;
  letter-spacing:-1px;line-height:1.3;
  display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;
  margin-bottom:3rem;
}
.conclusion-line2 .hl{color:#fff;border-bottom:3px solid var(--blue);padding-bottom:2px}

@keyframes labelGlow{
  0%,100%{fill:#6FA8FF;opacity:1}
  50%{fill:#fff;opacity:.7}
}
@keyframes barGlow{
  0%,100%{filter:brightness(1);box-shadow:none}
  50%{filter:brightness(1.5);box-shadow:0 0 20px 6px rgba(123,164,238,.7)}
}
@keyframes dotGlow{
  0%,100%{r:5;filter:drop-shadow(0 0 0px rgba(123,164,238,0))}
  50%{r:8;filter:drop-shadow(0 0 10px rgba(123,164,238,1))}
}

/* 그래프 */
.graph-wrap{
  width:100%;max-width:680px;margin:0 auto;
  background:rgba(255,255,255,.04);
  border-radius:16px;padding:2rem 2rem 1.2rem;
  border:1px solid rgba(255,255,255,.08);
  position:relative;
}
.graph-labels-y{
  position:absolute;left:1rem;top:4rem;bottom:1rem;
  display:flex;flex-direction:column;justify-content:space-between;
}
.graph-label-y{font-size:.68rem;color:rgba(255,255,255,.3);font-weight:500}
.graph-inner{position:relative;height:180px;margin-left:2rem}
/* 가로 기준선 */
.graph-grid{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  pointer-events:none;
}
.graph-grid-line{width:100%;height:1px;background:rgba(255,255,255,.06)}
/* 막대들 */
.graph-bars{
  position:absolute;bottom:0;left:0;right:0;
  display:flex;align-items:flex-end;justify-content:space-around;height:100%;
  gap:6px;padding:0 4px;
}
.graph-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.graph-bar{
  width:100%;border-radius:4px 5px 0 0;
  background:linear-gradient(180deg,#6FA8FF,#1552C4);
  height:0%;
  transition:height 1.2s cubic-bezier(.4,0,.2,1);
  position:relative;
}
.graph-bar::after{
  content:attr(data-val);
  position:absolute;top:-22px;left:50%;transform:translateX(-50%);
  font-size:.68rem;font-weight:700;color:#6FA8FF;white-space:nowrap;
  opacity:0;transition:opacity .4s .6s;
  z-index:5;
}
.graph-bar.active::after{opacity:1}
/* 곡선 오버레이 */
.graph-svg{
  position:absolute;inset:0;pointer-events:none;
  overflow:visible;
  z-index:10;
}
.graph-curve{
  fill:none;stroke:#6FA8FF;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:600;stroke-dashoffset:600;
  filter:drop-shadow(0 0 6px rgba(123,164,238,.8));
}
.graph-curve.draw{
  animation:drawLine 1.2s .4s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes drawLine{to{stroke-dashoffset:0}}
/* 끝점 점 */
.graph-dot{
  fill:#fff;stroke:#6FA8FF;stroke-width:2.5;
  r:5;opacity:0;
}
.graph-dot.show{animation:dotAppear .4s 1.5s forwards}
@keyframes dotAppear{to{opacity:1}}
/* X축 라벨 */
.graph-x-labels{
  display:flex;justify-content:space-around;
  margin-left:2rem;margin-top:.5rem;
  padding:0 4px;
}
.graph-x-label{flex:1;text-align:center;font-size:.68rem;color:rgba(255,255,255,.35);font-weight:500;white-space:nowrap}

@media(max-width:900px){
  .bubble-wrap{grid-template-columns:1fr;gap:2rem}
  .badagency-grid{grid-template-columns:1fr}
}


/* COLUMN SECTION */
.column-sec{background:var(--white);padding:88px 5%}
.column-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:0}
.column-card{
  background:var(--bg);border:1.5px solid var(--border);border-radius:16px;
  padding:1.8rem;cursor:pointer;text-decoration:none;
  display:flex;flex-direction:column;gap:1rem;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  position:relative;overflow:hidden;
}
.column-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:4px;background:var(--blue);
  transform:scaleY(0);transform-origin:bottom;transition:transform .3s;
}
.column-card:hover::before{transform:scaleY(1)}
.column-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(21,82,196,.1);border-color:rgba(21,82,196,.2)}
.column-num{font-size:.7rem;font-weight:700;color:var(--blue);letter-spacing:.08em}
.column-title{font-size:1rem;font-weight:700;color:var(--text);line-height:1.5;letter-spacing:-.3px}
.column-more{font-size:.78rem;font-weight:700;color:var(--blue);margin-top:auto;display:flex;align-items:center;gap:.3rem}
.column-card:last-child:nth-child(3n-1){grid-column:span 1}
@media(max-width:900px){.column-grid{grid-template-columns:1fr}}
/* EBOOK CARD */
.ebook-card{
  background:linear-gradient(135deg,#0B1D30,#16304F) !important;
  border-color:rgba(21,82,196,.4) !important;
  position:relative;overflow:hidden;
  display:flex !important;flex-direction:column !important;
  align-items:center !important;text-align:center !important;
  gap:.8rem !important;
  box-shadow:0 0 30px rgba(21,82,196,.15);
}
.ebook-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(21,82,196,.08),rgba(123,164,238,.05));
  pointer-events:none;
}
.ebook-card::before{
  background:var(--blue) !important;
}
.ebook-lock{
  font-size:2.5rem;
  animation:lockWiggle 3s ease-in-out infinite;
  display:block;
}
@keyframes lockWiggle{
  0%,90%,100%{transform:rotate(0)}
  92%{transform:rotate(-12deg)}
  94%{transform:rotate(12deg)}
  96%{transform:rotate(-8deg)}
  98%{transform:rotate(8deg)}
}
.ebook-card:hover .ebook-lock{
  animation:unlockPop .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes unlockPop{0%{transform:scale(.8)}100%{transform:scale(1)}}
.ebook-label{
  font-size:.68rem;font-weight:700;letter-spacing:.1em;
  color:#6FA8FF;text-transform:uppercase;
  background:rgba(21,82,196,.2);border:1px solid rgba(21,82,196,.4);
  padding:.3rem .85rem;border-radius:100px;
}
.ebook-card .column-title{
  color:#fff !important;font-size:1.05rem !important;line-height:1.5 !important;
}
.ebook-sub{
  font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.7;
}
.ebook-btn{
  background:var(--blue);color:#fff;
  font-size:.85rem;font-weight:700;
  padding:.7rem 1.4rem;border-radius:100px;
  margin-top:.3rem;
  animation:ebookPulse 2s ease-in-out infinite;
  width:100%;text-align:center;
}
@keyframes ebookPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(21,82,196,0)}
  50%{box-shadow:0 0 0 8px rgba(21,82,196,.25)}
}
.ebook-card:hover .ebook-btn{background:var(--blue-dark)}

/* FADE IN */
.fi{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fi.in{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-menu{display:none}
  .trust-inner{grid-template-columns:repeat(2,1fr);gap:1.2rem .5rem}
  .case-card{grid-template-columns:1fr}
  .case-thumb{min-height:160px}
  .diff-wrap{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .proc-grid::before{display:none}
  .contact-inner{grid-template-columns:1fr;gap:2.5rem}
  .f-row{grid-template-columns:1fr}
  .case-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  footer{flex-direction:column;text-align:center}
  .foot-links{justify-content:center}
}

/* ═══════════ 모바일 최적화 (햄버거 · 좌측 드로어 · 하단 앱 네비 · 밀도 완화) ═══════════ */

/* 햄버거 버튼 — 모바일에서만 노출 */
.nav-burger{
  display:none;align-items:center;justify-content:center;
  width:42px;height:42px;margin-left:.4rem;
  background:transparent;border:1.5px solid var(--border);border-radius:12px;
  cursor:pointer;padding:0;color:var(--navy);flex-shrink:0;
}
.nav-burger .ico{width:1.35rem;height:1.35rem}
.nav-right{display:flex;align-items:center}

/* 좌측 슬라이드 드로어 */
#drawer-overlay{
  position:fixed;inset:0;z-index:1200;
  background:rgba(8,15,24,.5);backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
#drawer-overlay.open{opacity:1;pointer-events:auto}
#drawer{
  position:fixed;top:0;left:0;bottom:0;z-index:1300;
  width:78%;max-width:320px;
  background:var(--white);
  box-shadow:6px 0 30px rgba(15,33,55,.18);
  transform:translateX(-100%);transition:transform .3s cubic-bezier(.25,1,.5,1);
  display:flex;flex-direction:column;
  padding-bottom:env(safe-area-inset-bottom);
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
#drawer.open{transform:translateX(0)}
.drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.2rem;border-bottom:1px solid var(--border);
  position:sticky;top:0;background:var(--white);
}
.drawer-logo{display:flex;align-items:center}
.drawer-logo img{height:28px;width:auto;display:block}
.drawer-close{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;color:var(--text2);padding:0;border-radius:8px;
}
.drawer-close .ico{width:1.25rem;height:1.25rem}
/* 주의: 공통 nav{} 규칙(position:fixed;top:0;height;padding)이 여기에도 걸리므로 명시적으로 되돌린다 */
.drawer-nav{
  display:flex;flex-direction:column;
  position:static;top:auto;left:auto;right:auto;height:auto;
  padding:.6rem 0;margin:0;
  background:none;backdrop-filter:none;border:none;z-index:auto;
}
.drawer-nav a{
  display:flex;align-items:center;gap:.7rem;
  padding:.95rem 1.3rem;
  color:var(--text);text-decoration:none;font-size:.98rem;font-weight:700;
  border-left:3px solid transparent;
}
.drawer-nav a:active{background:var(--blue-light)}
.drawer-nav a .ico{width:1.1rem;height:1.1rem;color:var(--blue);flex-shrink:0}
.drawer-foot{margin-top:auto;padding:1.1rem 1.2rem 1.4rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.55rem}
.drawer-cta{
  display:flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.95rem 1rem;border-radius:12px;
  font-size:.95rem;font-weight:800;text-decoration:none;
}
.drawer-cta-main{background:var(--blue);color:#fff}
.drawer-cta-kakao{background:#FEE500;color:#3C1E1E}
.drawer-cta .ico{width:1.05rem;height:1.05rem}
body.drawer-open{overflow:hidden}

/* 하단 앱 네비게이션 */
#bottom-nav{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  /* 공통 nav{} 규칙의 top/height/padding/border 를 반드시 되돌려야 상단으로 튀지 않는다 */
  top:auto;height:auto;
  padding:0 0 env(safe-area-inset-bottom);
  border:none;border-top:1px solid var(--border);
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(12px);
  box-shadow:0 -2px 16px rgba(15,33,55,.07);
}
.bn-inner{display:flex;align-items:stretch}
.bn-item{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:.5rem .2rem .45rem;
  color:var(--text3);text-decoration:none;
  font-size:.66rem;font-weight:700;line-height:1.2;
  min-height:56px;
  -webkit-tap-highlight-color:transparent;
}
.bn-item .ico{width:1.25rem;height:1.25rem}
.bn-item.active{color:var(--blue)}
.bn-item.bn-primary{color:var(--blue)}
.bn-item.bn-primary .bn-ic{
  background:var(--blue);color:#fff;
  width:38px;height:38px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(21,82,196,.35);
  margin-top:-14px;
}
.bn-item.bn-primary .ico{width:1.15rem;height:1.15rem}

@media(max-width:768px){
  .nav-burger{display:flex}
  #bottom-nav{display:block}
  /* 하단 네비 높이만큼 여백 확보 — 콘텐츠·푸터 잘림 방지 */
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  footer{padding-bottom:calc(2.2rem + env(safe-area-inset-bottom))}
  /* 하단 네비와 겹치지 않도록 기존 플로팅 CTA는 모바일에서 숨김(네비가 대체) */
  #cta-bar{display:none !important}

  /* ── 한 행 데이터 밀도 완화 ── */
  /* 히어로 지표: flex라 4개가 한 줄에 눌리던 것 → 2×2로 분리 */
  .hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem 1rem;width:100%;max-width:420px}
  /* 안심 문구: 한 줄에 하나씩 */
  .hero-reassure{flex-direction:column;align-items:center;gap:.5rem}
  /* 푸터 링크: 줄바꿈 허용 */
  .foot-links{flex-wrap:wrap;gap:.5rem .9rem}
  /* 푸터 서비스 페이지 링크: 2열로 행 분리 */
  .foot-spokes{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .8rem;margin-top:.7rem}
  .foot-spokes a{display:block;padding:.15rem 0}
  .foot-spokes .sep{display:none}
}
@media(max-width:380px){
  .bn-item{font-size:.62rem}
  .hero-stats{gap:1.1rem .7rem}
}

/* VOICE — 실제 고객 카톡·후기 */
.voice-shots{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:2.2rem;max-width:900px;margin-left:auto;margin-right:auto}
.voice-shot{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;
  box-shadow:0 6px 20px rgba(11,29,48,.05)}
.voice-shot img{width:100%;display:block}
.voice-cap{padding:.75rem .8rem;font-size:.78rem;color:var(--text2);line-height:1.5;border-top:1px solid var(--border)}
.voice-cap b{color:var(--text);font-weight:800}
.voice-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.vq{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1.15rem 1.15rem 1rem;display:flex;gap:.85rem}
.vq-av{flex:0 0 42px}
.vq-av img{width:42px;height:42px;border-radius:50%;object-fit:cover;display:block}
.vq-msg{font-size:.87rem;color:var(--text);line-height:1.7;font-weight:600}
.vq-who{margin-top:.6rem;font-size:.76rem;color:var(--text3)}
.vq-who b{color:var(--text2);font-weight:800}
.vq-res{margin-top:.5rem;display:inline-block;background:var(--blue-light);color:var(--blue);
  font-size:.73rem;font-weight:800;padding:.3rem .55rem;border-radius:7px;line-height:1.4}
@media(max-width:900px){
  .voice-shots{grid-template-columns:1fr;max-width:420px}
  .voice-quotes{grid-template-columns:1fr}
}

/* PROOF — 보고서 실물 */
.proof-wrap{display:grid;grid-template-columns:390px 1fr;gap:1.4rem;margin-top:2.2rem;align-items:start}
.proof-main{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:.9rem;
  box-shadow:0 8px 24px rgba(11,29,48,.06)}
.proof-shot{position:relative;border-radius:10px;overflow:hidden;background:var(--bg)}
.proof-shot img{width:100%;display:block;height:520px;object-fit:cover;object-position:top center}
.proof-shot:after{content:"";position:absolute;left:0;right:0;bottom:0;height:88px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),var(--white));pointer-events:none}
.proof-cap{margin-top:.7rem;text-align:center;font-size:.78rem;color:var(--text3);font-weight:700}
.proof-evs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;align-content:start}
.proof-ev{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.proof-ev img{width:100%;height:172px;object-fit:contain;padding:10px;display:block;background:var(--white);border-bottom:1px solid var(--border)}
.proof-ev-b{padding:.8rem .85rem .9rem}
.proof-evt{font-size:.86rem;font-weight:800;color:var(--text);letter-spacing:-.2px}
.proof-evd{font-size:.78rem;color:var(--text2);margin-top:.25rem;line-height:1.6}
@media(max-width:900px){
  .proof-wrap{grid-template-columns:1fr}
  .proof-shot img{height:400px}
  .proof-evs{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.proof-evs{grid-template-columns:1fr}}

/* PERIOD — 채널별 성과 타임라인 + 기간별 변화 */
.tline{margin-top:2.2rem;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:1.5rem 1.6rem}
.tl-row{display:grid;grid-template-columns:150px 1fr 84px;align-items:center;gap:.9rem;padding:.42rem 0}
.tl-nm{font-size:.85rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.45rem;white-space:nowrap}
.tl-nm i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.tl-track{height:11px;border-radius:6px;background:var(--bg);overflow:hidden}
.tl-fill{height:100%;border-radius:6px}
.tl-vv{font-size:.82rem;font-weight:800;color:var(--text2);text-align:right;white-space:nowrap}
.tl-axis{display:grid;grid-template-columns:150px 1fr 84px;gap:.9rem;margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--border)}
.tl-sc{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text3);font-weight:700}
.tl-note{margin-top:1rem;font-size:.78rem;color:var(--text3);line-height:1.7}
.rmap{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.rmc{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1.2rem 1.15rem}
.rmc.on{border-color:var(--blue);box-shadow:0 8px 24px rgba(21,82,196,.10)}
.rmh{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.rmn{background:var(--blue-light);color:var(--blue);font-size:.75rem;font-weight:800;padding:.25rem .5rem;border-radius:6px}
.rmt{font-size:.75rem;color:var(--text3);font-weight:700}
.rmq{margin-top:.65rem;font-size:.98rem;font-weight:800;color:var(--text);letter-spacing:-.2px}
.rmc p{margin-top:.5rem;font-size:.83rem;color:var(--text2);line-height:1.75}
.rmnote{margin-top:1rem;background:var(--blue-light);border:1px solid rgba(21,82,196,.18);border-radius:16px;padding:1.3rem 1.4rem}
.rmnt{font-size:1rem;font-weight:800;color:var(--blue)}
.rmnd{margin-top:.45rem;font-size:.88rem;color:var(--text2);line-height:1.8}

/* COST — 직원 채용 vs 대행 비교 */
.hire{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:2.2rem}
.hc{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:1.5rem 1.4rem;position:relative}
.hc.on{border-color:var(--blue);box-shadow:0 10px 30px rgba(21,82,196,.12)}
.hbadge{position:absolute;top:-11px;right:1.2rem;background:var(--blue);color:#fff;font-size:.73rem;font-weight:800;
  padding:.32rem .6rem;border-radius:16px}
.hbadge span{font-weight:700;opacity:.85;margin-left:.15rem}
.hch{font-size:.9rem;font-weight:800;color:var(--text2)}
.hcv{margin-top:.5rem;font-size:2rem;font-weight:900;color:var(--text);letter-spacing:-1px;line-height:1.1}
.hcv i{font-style:normal;font-size:.85rem;font-weight:700;color:var(--text3);margin-right:.3rem}
.hcv u{text-decoration:none;font-size:1.05rem;font-weight:800}
.hcv span{font-size:.82rem;font-weight:700;color:var(--text3);margin-left:.25rem}
.hcs{margin-top:.45rem;font-size:.78rem;color:var(--text3);line-height:1.6}
.hcl{margin:1rem 0 0;padding:0;list-style:none;border-top:1px solid var(--border);padding-top:.9rem}
.hcl li{position:relative;padding-left:1.05rem;font-size:.84rem;color:var(--text2);line-height:1.7;margin-bottom:.45rem}
.hcl li:before{content:"";position:absolute;left:0;top:.62rem;width:5px;height:5px;border-radius:50%;background:var(--text3)}
.hc.on .hcl li:before{background:var(--blue)}
.hcy{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.hcy span{font-size:.79rem;color:var(--text3);font-weight:700}
.hcy b{font-size:1.05rem;color:var(--text);font-weight:900}
.hc.on .hcy b{color:var(--blue)}
.hnote{margin-top:1.1rem;background:var(--blue-light);border-radius:14px;padding:1.2rem 1.35rem}
.hnt{font-size:.98rem;font-weight:800;color:var(--text);line-height:1.65}
.hnd{margin-top:.45rem;font-size:.84rem;color:var(--text2);line-height:1.75}
.src-note{margin-top:.9rem;font-size:.75rem;color:var(--text3);line-height:1.7}
@media(max-width:900px){
  .tl-row,.tl-axis{grid-template-columns:104px 1fr 66px;gap:.55rem}
  .tl-nm{font-size:.77rem}
  .tl-vv{font-size:.75rem}
  .rmap{grid-template-columns:1fr}
  .hire{grid-template-columns:1fr}
}

/* GEO — AI 추천 */
.geo-mocks{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:2rem}
.aimock{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:1.2rem 1.25rem;box-shadow:0 6px 20px rgba(11,29,48,.05)}
.aim-h{font-size:.78rem;font-weight:800;color:var(--text3);letter-spacing:.02em}
.aim-q{margin-top:.7rem;background:var(--bg);border-radius:12px 12px 12px 4px;padding:.7rem .85rem;font-size:.86rem;font-weight:700;color:var(--text)}
.aim-a{margin-top:.7rem;font-size:.85rem;color:var(--text2);line-height:1.8}
.aim-a mark{background:var(--blue-light);color:var(--blue);font-weight:800;padding:.05rem .25rem;border-radius:4px}
.geo-real{display:grid;grid-template-columns:330px 1fr;gap:1.4rem;margin-top:1.1rem;align-items:start}
.geo-real-img{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:.6rem;
  box-shadow:0 8px 24px rgba(11,29,48,.06)}
.geo-real-img img{width:100%;display:block;border-radius:10px}
.geo-t{font-size:1.02rem;font-weight:800;color:var(--text);letter-spacing:-.2px}
.geo-p{margin-top:.55rem;font-size:.87rem;color:var(--text2);line-height:1.8}
.shift{margin-top:1rem;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem}
.sh-row{display:flex;align-items:center;gap:.6rem;font-size:.86rem;color:var(--text2)}
.sh-old,.sh-new{font-size:.72rem;font-weight:800;padding:.22rem .45rem;border-radius:6px;flex:0 0 auto}
.sh-old{background:var(--bg);color:var(--text3)}
.sh-new{background:var(--blue);color:#fff}
.sh-ar{text-align:center;color:var(--text3);font-size:.9rem;margin:.35rem 0}
.sh-row.now{color:var(--text);font-weight:700}
.aistat{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}
.as{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:.85rem .7rem;text-align:center}
.asv{font-size:1.35rem;font-weight:900;color:var(--blue);letter-spacing:-.5px}
.asv u{text-decoration:none;font-size:.85rem;font-weight:800}
.asl{margin-top:.25rem;font-size:.73rem;color:var(--text3);font-weight:700;line-height:1.5}

/* TERMS — 계약 · 보안 */
.terms{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.2rem}
.tm{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.3rem}
.tmt{font-size:.95rem;font-weight:800;color:var(--text);letter-spacing:-.2px}
.tmt span{color:var(--blue)}
.tmd{margin-top:.5rem;font-size:.84rem;color:var(--text2);line-height:1.8}
@media(max-width:900px){.geo-mocks,.terms{grid-template-columns:1fr}.geo-real{grid-template-columns:1fr}.geo-real-img{max-width:330px;margin:0 auto}.aistat{grid-template-columns:1fr}}

/* PROCESS 사진 */
.proc-photo{margin:-.2rem -.1rem .9rem;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--bg)}
.proc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}

/* HERO STATS — 첫 화면 카운트업 */
.hero-stats{display:flex;justify-content:center;gap:2.6rem;margin:1.9rem auto 0;flex-wrap:wrap;
  padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.16);max-width:660px}
.hero-stat{text-align:center;min-width:96px}
.hero-stat-num{font-size:2.6rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.03em}
.hero-stat-num u{text-decoration:none;font-size:1.05rem;font-weight:700;margin-left:.1rem}
.hero-stat-label{margin-top:.42rem;font-size:.79rem;color:rgba(255,255,255,.66);font-weight:600;letter-spacing:-.01em}
@media(max-width:760px){
  .hero-stats{gap:1.4rem;padding-top:1.1rem;margin-top:1.4rem}
  .hero-stat{min-width:72px}
  .hero-stat-num{font-size:1.5rem}
  .hero-stat-label{font-size:.7rem}
}

.svc-icon.svc-ci{width:54px;height:54px;border:1px solid var(--border);border-radius:14px;background:var(--white);
  display:flex;align-items:center;justify-content:center;padding:9px;margin-bottom:1.05rem;
  box-shadow:0 2px 8px rgba(11,29,48,.05)}
.svc-icon.svc-ci img{width:100%;height:100%;object-fit:contain;display:block}

.svc-icon.svc-tile{width:54px;height:54px;border:1px solid var(--border);border-radius:14px;background:var(--white);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.05rem;color:var(--blue);
  box-shadow:0 2px 8px rgba(11,29,48,.05)}
.svc-icon.svc-tile svg{width:26px;height:26px}

/* 모바일 최적화 — 터치영역 · 밀도 */
@media(max-width:760px){
  .case-more,.svc-link,.src-note a,.proof-cap,.column-more{display:inline-block;padding:.55rem 0;min-height:24px}
  .case-more{padding:.5rem .1rem}
  .proof-evs{grid-template-columns:1fr 1fr!important;gap:.7rem}
  .proof-ev img{height:118px;padding:7px}
  .proof-ev-b{padding:.6rem .55rem .7rem}
  .proof-evt{font-size:.78rem}
  .proof-evd{font-size:.72rem}
  .principle-card{padding:1.1rem 1.15rem}
  .svc-card{padding:1.15rem 1.2rem}
  .voice-shots{max-width:340px}
  .hero-reassure span{font-size:.76rem}
}
/* 사례 — 모바일에서 2건만 먼저 노출 */
@media(max-width:760px){
}

/* CLIENT INTERVIEW — 고객 인터뷰 (네케팅 스타일: 리포트형) */
.interview-sec{background:var(--navy2);padding:88px 5%;position:relative;overflow:hidden}
.interview-sec:before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:48px 48px}
.interview-inner{max-width:1060px;margin:0 auto;position:relative;padding-left:3.2rem}
.interview-head{margin-bottom:2.2rem}
.interview-ttl{margin-top:1rem;font-size:clamp(1.6rem,2.8vw,2.25rem);font-weight:800;color:#fff;
  letter-spacing:-.035em;line-height:1.4}
.interview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.8rem;align-items:center}
.interview-video{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:1/1;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.interview-video video{width:100%;height:100%;display:block;object-fit:cover}
.interview-play{position:absolute;left:14px;bottom:14px;background:rgba(11,29,48,.72);color:#fff;
  border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.35rem .7rem;font-size:.76rem;font-weight:700;
  pointer-events:none;backdrop-filter:blur(4px)}
.interview-side{padding-top:.4rem}
.iq-mark{font-size:3.2rem;line-height:.6;color:rgba(255,255,255,.22);font-weight:900}
.iq-text{margin-top:.9rem;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:700;color:#fff;
  line-height:1.65;letter-spacing:-.03em}
.iq-who{margin-top:1rem;font-size:.85rem;font-weight:700;color:rgba(255,255,255,.5)}
.iq-list{margin:1.6rem 0 0;padding:1.3rem 0 0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.iq-list li{position:relative;padding-left:1.15rem;font-size:.9rem;color:rgba(255,255,255,.72);
  line-height:1.8;margin-bottom:.35rem}
.iq-list li:before{content:"";position:absolute;left:0;top:.72rem;width:6px;height:2px;background:#6FA8FF}
@media(max-width:900px){
  .interview-sec{padding:54px 4%}
  .interview-grid{grid-template-columns:1fr;gap:1.5rem}
  .interview-inner{padding-left:0}
  .interview-video{max-width:420px}
}


/* 제목 하이라이트 (소개서 u-box) */
.hl{position:relative;color:var(--blue);white-space:nowrap}
.hl:after{content:"";position:absolute;left:0;right:0;bottom:-.12em;height:3px;background:var(--blue);
  border-radius:2px;opacity:.9}
.sec-dark .hl{color:#6FA8FF}
.sec-dark .hl:after{background:#6FA8FF}

/* 좌측 정렬 헤더 리듬 */
@media(max-width:860px){
  }

/* 어두운 섹션 */
.sec-dark{background:var(--navy2)}
.sec-dark h2.ttl{color:#fff}
.sec-dark .sub-copy{color:rgba(255,255,255,.64)}
.sec-dark .src-note{color:rgba(255,255,255,.45)}
.sec-dark .src-note a{color:#6FA8FF!important}

/* 스크린샷 통일 처리 — 원본 색 소음을 줄이고 프레임을 통일 */
.case-thumb img,.voice-shot img,.proof-ev img{filter:saturate(.72) contrast(1.03);transition:filter .25s}
.case-card:hover .case-thumb img,.voice-shot:hover img{filter:saturate(1) contrast(1)}
.voice-shot{background:var(--white)}
.voice-shot img{padding:8px;background:var(--white)}
.case-thumb{background:linear-gradient(180deg,#FBFCFE,#F4F7FA)}
.proof-ev img{background:#FBFCFE}
/* 섹션 사이 헤어라인 */

/* 사례 카드 — 데이터 중심으로 */
.case-thumb:after{content:"실제 성과 화면";position:absolute;left:10px;bottom:8px;
  background:rgba(15,25,34,.72);color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:6px;
  letter-spacing:-.01em}
.case-card{box-shadow:0 2px 10px rgba(11,29,48,.04)}
.before-after{background:var(--bg);border-radius:12px;padding:.85rem .7rem;margin-bottom:.85rem}
.ba-arrow{color:var(--text3);font-weight:800}
/* 서비스 카드 — 여백·호버 정리 */
.svc-card{transition:border-color .2s,box-shadow .2s,transform .2s}
.svc-card:hover{border-color:rgba(21,82,196,.3);box-shadow:0 12px 30px rgba(11,29,48,.08);transform:translateY(-2px)}

/* HERO — 좌 카피 / 우 실측 데이터 패널 */
.hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:3.5rem;align-items:center;text-align:left;max-width:1140px;margin:0 auto;width:100%}
.hero-split .hero-title,.hero-split .hero-sub,.hero-split .hero-typing-wrap,
.hero-split .hero-btns,.hero-split .hero-reassure{text-align:left;justify-content:flex-start}
.hero-split .hero-btns{display:grid;grid-template-columns:1.35fr 1fr;gap:.7rem;max-width:470px;width:100%}
.hero-split .hero-btns .btn-main{flex:1.35;justify-content:center;white-space:nowrap}
.hero-split .hero-btns .btn-ghost{flex:1;justify-content:center;white-space:nowrap}
.hero-split .hero-reassure{max-width:470px;width:100%;display:flex;gap:.5rem;flex-wrap:nowrap}
.hero-split .hero-reassure span{flex:1 1 0;justify-content:center;text-align:center;padding:.42rem .4rem;font-size:.74rem}
.hero-panel{background:rgba(11,29,48,.58);border:1px solid rgba(255,255,255,.16);border-radius:18px;
  padding:1.5rem 1.5rem 1.35rem;backdrop-filter:blur(14px);box-shadow:0 26px 60px rgba(0,0,0,.4)}
.hp-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1.2rem}
.hp-tag{background:#fff;color:var(--navy2);font-size:.72rem;font-weight:900;padding:.28rem .55rem;border-radius:6px;letter-spacing:-.01em}
.hp-src{font-size:.74rem;color:rgba(255,255,255,.5);font-weight:700}
.hero-panel .hero-stats{display:grid!important;grid-template-columns:1fr 1fr;gap:1rem .8rem;border-top:none;
  padding-top:0;margin:0;max-width:none}
.hero-panel .hero-stat{text-align:left;min-width:0}
.hero-panel .hero-stat-num{font-size:1.9rem}
.hero-panel .hero-stat-label{font-size:.74rem;color:rgba(255,255,255,.55)}
.hp-bars{margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:.6rem}
.hp-bar{display:grid;grid-template-columns:66px 1fr 56px;align-items:center;gap:.6rem}
.hp-k{font-size:.76rem;color:rgba(255,255,255,.62);font-weight:700}
.hp-t{height:7px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;display:block}
.hp-t i{display:block;height:100%;border-radius:4px}
.hp-v{font-size:.76rem;color:#fff;font-weight:800;text-align:right}
.hp-more{display:block;margin-top:1.15rem;font-size:.8rem;font-weight:800;color:#6FA8FF;text-decoration:none}
.hp-more:hover{text-decoration:underline}
@media(max-width:980px){
  .hero-split{grid-template-columns:1fr;gap:1.8rem;text-align:center}
  .hero-split .hero-title,.hero-split .hero-sub,.hero-split .hero-typing-wrap{text-align:center}
  .hero-split .hero-btns,.hero-split .hero-reassure{justify-content:center}
  .hero-panel{max-width:460px;margin:0 auto}
  .hero-panel .hero-stat{text-align:center}
}


/* 그림자 단계 통일 */
.svc-card,.principle-card,.proof-ev,.voice-shot,.vq,.tm,.hc,.rmc{box-shadow:0 2px 10px rgba(11,29,48,.04)}

.svc-icon.svc-brandicon{width:54px;height:54px;border:1px solid var(--border);border-radius:14px;background:var(--white);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.05rem;box-shadow:0 2px 8px rgba(11,29,48,.05)}
.svc-icon.svc-brandicon svg{width:30px;height:30px}

/* TEAM — 팀·사무실 (증거형) */
.team-sec{background:var(--bg);padding:88px 5%}
.team-inner{max-width:1140px;margin:0 auto}
.team-head{display:grid;grid-template-columns:1.05fr .95fr;gap:1.6rem 2.4rem;align-items:end;margin-bottom:2.2rem}
.team-head h2{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:800;letter-spacing:-.038em;line-height:1.32;color:var(--text)}
.team-head p{font-size:1rem;line-height:1.8;color:var(--text2);letter-spacing:-.01em}
.team-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:1.1rem}
.team-grid-2{grid-template-columns:1fr 1fr;align-items:stretch}
.team-grid-2 .team-shot{aspect-ratio:3/2}
.team-grid-2 .team-col{display:block}
.team-shot{border-radius:16px;overflow:hidden;border:1px solid var(--border);background:var(--white);position:relative}
.team-shot img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.team-shot.a{aspect-ratio:3/2}
.team-col{display:grid;gap:1.1rem}
.team-shot.b{aspect-ratio:3/2}
.team-note{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:1.3rem 1.4rem;
  box-shadow:0 2px 10px rgba(11,29,48,.04)}
.team-note b{display:block;font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.025em}
.team-note p{margin-top:.5rem;font-size:.88rem;line-height:1.8;color:var(--text2)}
.team-cap{position:absolute;left:12px;bottom:12px;background:rgba(15,25,34,.72);color:#fff;font-size:.72rem;
  font-weight:700;padding:.28rem .6rem;border-radius:7px}
@media(max-width:900px){
  .team-sec{padding:54px 4%}
  .team-head{grid-template-columns:1fr;gap:.9rem;align-items:start;margin-bottom:1.5rem}
  .team-grid{grid-template-columns:1fr}
}

/* PRINCIPLE — 선언형 */
.principle-sec{position:relative;padding:88px 5%;background:var(--navy2);overflow:hidden}
.principle-bg{position:absolute;inset:0;background:url('/company/img/office.jpg') center/cover no-repeat;opacity:.16;
  filter:grayscale(.4)}
.principle-sec:after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,29,48,.86),rgba(11,29,48,.96))}
.principle-inner{position:relative;z-index:1;max-width:1140px;margin:0 auto}
.principle-lead{max-width:920px;margin-top:1.1rem;font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;color:#fff;
  letter-spacing:-.04em;line-height:1.3}
.principle-sub{max-width:640px;margin-top:1rem;font-size:1.02rem;line-height:1.85;color:rgba(255,255,255,.66);max-width:620px}
.principle-list{list-style:none;margin:2.8rem 0 0;padding:0;display:grid;gap:0;max-width:920px}
.principle-list li{display:grid;grid-template-columns:64px 1fr;gap:1.2rem;padding:1.5rem 0;
  border-top:1px solid rgba(255,255,255,.13)}
.principle-list li:last-child{border-bottom:1px solid rgba(255,255,255,.13)}
.pn{font-size:1.15rem;font-weight:900;color:#6FA8FF;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.principle-list b{display:block;font-size:1.18rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.5}
.principle-list p{margin-top:.55rem;font-size:.93rem;line-height:1.85;color:rgba(255,255,255,.62)}
@media(max-width:820px){
  .principle-sec{padding:54px 4%}
  .principle-list li{grid-template-columns:44px 1fr;gap:.8rem;padding:1.2rem 0}
  .principle-list b{font-size:1.02rem}
}

/* SERVICES — 채널 비교표 (데이터형) */
.ch-table{margin-top:.4rem;background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;
  box-shadow:0 2px 10px rgba(11,29,48,.04)}
.ch-head,.ch-row{display:grid;grid-template-columns:206px minmax(0,0.86fr) 118px minmax(0,1.1fr);gap:1.1rem 1rem;align-items:center}
.ch-head{padding:.9rem 1.5rem;background:var(--bg);font-size:.78rem;font-weight:800;color:var(--text3);
  letter-spacing:-.01em;border-bottom:1px solid var(--border)}
.ch-row{padding:1.15rem 1.5rem;border-bottom:1px solid var(--border);transition:background .18s}
.ch-row:last-child{border-bottom:none}
.ch-row:hover{background:#FAFCFF}
.ch-name{display:flex;align-items:center;gap:.7rem;min-width:0}
.ch-ico{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--border);border-radius:11px;background:var(--white);
  display:flex;align-items:center;justify-content:center;padding:7px}
.ch-ico img{width:100%;height:100%;object-fit:contain;display:block}
.ch-ico svg{width:24px;height:24px}
.ch-t{font-size:.98rem;font-weight:800;color:var(--text);letter-spacing:-.025em;line-height:1.35}
.ch-desc{font-size:.86rem;color:var(--text2);line-height:1.75}
.ch-when{text-align:center}
.ch-when-v{display:block;font-size:1.02rem;font-weight:900;color:var(--blue);letter-spacing:-.02em}
.ch-when-k{display:block;margin-top:.15rem;font-size:.7rem;color:var(--text3);font-weight:700}
.ch-fit{font-size:.84rem;color:var(--text);font-weight:700;line-height:1.7;letter-spacing:-.015em}
@media(max-width:1000px){
  .ch-head{display:none}
  .ch-row{grid-template-columns:1fr;gap:.6rem;padding:1.15rem 1.15rem 1.25rem}
  .ch-when{text-align:left;display:flex;align-items:baseline;gap:.45rem}
  .ch-when-k{margin-top:0}
  .ch-fit{background:var(--bg);border-radius:10px;padding:.6rem .75rem;font-size:.82rem}
}

/* 사례 — 포스터형 헤드라인 */
.case-head{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}
.case-period{font-size:.78rem;font-weight:800;color:var(--text3);letter-spacing:-.01em}
.case-result{margin-top:.4rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.cr-b{font-size:1rem;font-weight:800;color:var(--text3);text-decoration:line-through;text-decoration-color:rgba(142,154,165,.6)}
.cr-a{font-size:2rem;font-weight:900;color:var(--text);letter-spacing:-.045em;line-height:1.1}
.cr-a:before{content:"→";margin-right:.4rem;color:var(--text3);font-size:1rem;font-weight:800;vertical-align:middle}
.cr-x{background:var(--blue);color:#fff;font-size:.78rem;font-weight:900;padding:.2rem .5rem;border-radius:7px;
  letter-spacing:-.01em}

/* 문제 제기 — 타이포 강화 */
.badagency h2{font-size:clamp(1.9rem,3.6vw,2.9rem)!important;letter-spacing:-.042em!important;line-height:1.3!important}
.badagency-eye{font-size:.78rem!important;letter-spacing:.14em!important;opacity:.75}
.badagency-desc{max-width:640px;margin-left:auto;margin-right:auto;line-height:1.85}
/* 문의 섹션 — 카카오 노랑 제거, 브랜드 톤 통일 */
.contact-sec .warn-line{color:#fff!important;font-weight:800!important;display:block;margin-bottom:.6rem}

.founder-team{margin-top:2.4rem}
.founder-team .team-grid-2{max-width:900px;margin:0 auto}

.contact-note{margin-top:1.5rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  border-radius:14px;padding:1.2rem 1.4rem;font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.85}

/* PRESS STRIP — 히어로 직후 신뢰 배치 */
.press-strip{background:var(--white);border-bottom:1px solid var(--border);padding:.95rem 5%}
.press-strip-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.ps-label{font-size:.72rem;font-weight:900;color:var(--text3);letter-spacing:.1em;flex:none}
.ps-item{display:flex;align-items:baseline;gap:.5rem;text-decoration:none;min-width:0}
.ps-item b{font-size:.86rem;font-weight:800;color:var(--text);letter-spacing:-.02em;white-space:nowrap}
.ps-item span{font-size:.8rem;color:var(--text2);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-item:hover b{color:var(--blue)}
.ps-more{margin-left:auto;font-size:.78rem;font-weight:800;color:var(--blue);text-decoration:none;white-space:nowrap}
@media(max-width:1080px){
  .press-strip-inner{gap:.5rem 1.1rem}
  .ps-item span{display:none}
  .ps-more{margin-left:0}
}

/* 히어로 안심 문구 — 칩 형태로 */
.hero-reassure{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.1rem}
.hero-reassure span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);
  border-radius:100px;padding:.42rem .85rem;font-size:.79rem;font-weight:700;color:rgba(255,255,255,.82);
  display:inline-flex;align-items:center;gap:.35rem}
.hero-reassure span svg{display:none}
/* 히어로 데이터 패널 — 대비 강화 */
.hero-panel{background:rgba(9,22,38,.72);border-color:rgba(255,255,255,.2)}
.hero-panel .hero-stat-num{font-size:2.05rem}

/* GEO 다크 섹션 — 텍스트 대비 교정 */
.sec-dark .geo-t{color:#fff}
.sec-dark .geo-p{color:rgba(255,255,255,.72)}
.sec-dark .aimock{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.sec-dark .aim-h{color:rgba(255,255,255,.55)}
.sec-dark .aim-q{background:rgba(255,255,255,.1);color:#fff}
.sec-dark .aim-a{color:rgba(255,255,255,.72)}
.sec-dark .aim-a mark{background:rgba(111,168,255,.22);color:#9CC4FF}
.sec-dark .shift{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.sec-dark .sh-row{color:rgba(255,255,255,.72)}
.sec-dark .sh-row.now{color:#fff}
.sec-dark .sh-old{background:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}
.sec-dark .sh-ar{color:rgba(255,255,255,.45)}
.sec-dark .as{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.sec-dark .asv{color:#6FA8FF}
.sec-dark .asl{color:rgba(255,255,255,.55)}
.sec-dark .geo-real-img{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.sec-dark /* GEO 레이아웃 — 좌우 여백 불균형 해소 */
.geo-real{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:2.2rem;align-items:stretch}
.geo-real-img{display:flex;align-items:center}
.geo-real-img img{max-height:460px;width:100%;object-fit:contain;background:#fff;border-radius:10px}
@media(max-width:900px){.geo-real{grid-template-columns:1fr}}

/* AI 성장 그래프 */
.asbar{margin-top:1.1rem;display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;align-items:end;height:104px}
.asb{background:#E4EAF1;border-radius:6px 6px 0 0;position:relative;min-height:8px}
.asb.on{background:linear-gradient(180deg,#6FA8FF,#2F6FE0)}
.asb i{position:absolute;left:50%;transform:translateX(-50%);bottom:-1.35rem;font-size:.68rem;font-style:normal;
  color:var(--text3);font-weight:700;white-space:nowrap}
.asbar-cap{margin-top:1.9rem;font-size:.84rem;color:var(--text2);font-weight:600}
.asbar-cap b{color:var(--blue);font-weight:800}

.case-badge-cat{background:var(--bg);color:var(--text2);font-weight:800}

.diag-value-foot{margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.12);
  font-size:.84rem;color:rgba(255,255,255,.6);line-height:1.8}

/* 헤더·푸터 로고 */
.logo{display:flex;align-items:center;height:100%}
.logo img{height:34px;width:auto;display:block}
.foot-logo{display:flex;align-items:center;gap:.55rem}
@media(max-width:900px){.logo img{height:28px}}

/* 사례 카드 — 데이터 전용(스크린샷 제거) */
.case-card{padding-top:.2rem}
.case-body{padding:1.5rem 1.5rem 1.4rem}
.cases-grid{grid-template-columns:1fr 1fr;gap:1.2rem}
.case-head{border-bottom:none;padding-bottom:.2rem;margin-bottom:.7rem}
.case-stats{grid-template-columns:repeat(4,1fr);gap:.5rem}
@media(max-width:900px){.cases-grid{grid-template-columns:1fr}}

/* ══════ 디자인 규격 통일 (전 섹션 공통) ══════ */
:root{
  --pad-card:1.4rem;          /* 카드 내부 여백 */
  --pad-card-sm:1.1rem;
  --r-card:16px;              /* 카드 모서리 */
  --r-inner:10px;
  --sh-card:0 2px 10px rgba(11,29,48,.05);
  --sh-hover:0 12px 30px rgba(11,29,48,.10);
  --gap-grid:1.2rem;
}
/* 카드 여백·모서리·그림자 단일화 */
.svc-card,.vq,.tm,.hc,.rmc,.aimock,.proof-ev,.case-card,.faq-item,.voice-shot,.team-shot,.proof-main{
  border-radius:var(--r-card)!important;
  box-shadow:var(--sh-card)!important;
}
.svc-card,.vq,.tm,.rmc,.aimock{padding:var(--pad-card)!important}
.hc{padding:1.6rem var(--pad-card)!important}
.case-body{padding:var(--pad-card)!important}
.proof-ev-b{padding:.95rem 1rem 1.05rem!important}
.voice-cap{padding:.9rem 1rem!important}
.principle-list li{padding:1.5rem 0!important}
/* 그리드 간격 단일화 */
.cases-grid,.voice-quotes,.terms,.hire,.rmap,.geo-mocks,.proof-evs,.svc-group-grid,.team-grid{gap:var(--gap-grid)!important}
/* 호버 반응 단일화 */
.svc-card:hover,.case-card:hover,.vq:hover,.proof-ev:hover{box-shadow:var(--sh-hover)!important;
  border-color:rgba(21,82,196,.22)!important;transform:translateY(-2px)}
.svc-card,.case-card,.vq,.proof-ev{transition:box-shadow .22s,border-color .22s,transform .22s}
/* 섹션 제목 아래 여백 단일화 */
.sub-copy{margin-bottom:2.2rem}

/* ══════ 타이포 스케일 4단계 ══════ */
h2.ttl,.team-head h2,.interview-ttl,.principle-lead,.badagency h2{
  font-size:clamp(1.8rem,3.2vw,2.6rem)!important;font-weight:800!important;
  letter-spacing:-.04em!important;line-height:1.34!important}
.principle-lead{font-size:clamp(2rem,3.8vw,2.9rem)!important}
.sub-copy,.team-head p,.interview-sub,.principle-sub,.badagency-desc{
  font-size:1rem!important;line-height:1.8!important;letter-spacing:-.012em!important}
.svc-card h3,.case-name,.rmq,.tmt,.geo-t,.proof-evt,.hch{
  font-size:1.02rem!important;font-weight:800!important;letter-spacing:-.025em!important}
.case-desc,.rmc p,.tmd,.geo-p,.proof-evd,.aim-a,.vq-msg,.ch-desc{
  font-size:.9rem!important;line-height:1.78!important}
.src-note,.tl-note,.voice-cap,.case-period,.ch-when-k{font-size:.79rem!important;line-height:1.7!important}
@media(max-width:760px){
  h2.ttl,.team-head h2,.interview-ttl,.principle-lead,.badagency h2{font-size:1.55rem!important}
  .principle-lead{font-size:1.7rem!important}
  .sub-copy,.team-head p,.interview-sub,.principle-sub,.badagency-desc{font-size:.93rem!important}
}

/* 언론 카드 — 기사 캡처 미리보기 */
.press-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column}
.press-shot{width:100%;aspect-ratio:4/3;overflow:hidden;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:8px}
.press-shot img{width:100%;height:100%;object-fit:contain;display:block;filter:saturate(.95)}
.press-card .press-meta{padding:.95rem 1.1rem 0}
.press-card .press-title{padding:0 1.1rem;margin-top:.35rem}
.press-card .press-more{padding:0 1.1rem 1.1rem;margin-top:auto}

/* 업종 마퀴 — 아이콘 동반 */

/* ══════ 색 강화 ══════ */
:root{--accent:#E8760F;--accent-2:#0E9E72}
/* 섹션 번호 태그에 색 부여 (순환) */
/* 밝은 섹션 배경에 미세 그라데이션 */
.sec-bg{background:linear-gradient(180deg,#F7FAFD 0%,#EEF3F9 100%)}
/* 카드 상단 컬러 액센트 */
.svc-card{position:relative;overflow:hidden}
.ch-row:hover{background:linear-gradient(90deg,rgba(21,82,196,.05),transparent 60%)}
/* 숫자 강조 색 */
.ch-when-v{color:var(--blue)}
.sb-val{color:var(--text)}
.sb-grow{color:var(--accent-2)}
.cr-x{background:linear-gradient(135deg,var(--blue),#2F6FE0)}
.hero-panel{background:linear-gradient(160deg,rgba(12,30,52,.82),rgba(9,22,38,.72))}
.hp-tag{background:linear-gradient(135deg,#fff,#DCE9FF)}
/* 문제 제기 섹션 파랑 → 깊이감 */
.badagency{background:linear-gradient(160deg,#1552C4 0%,#0F3E9B 100%)}
/* 인터뷰 섹션 그라데이션 */
.interview-sec{background:linear-gradient(170deg,#0E2439 0%,#0B1D30 60%)}
/* 원칙 섹션 */
.principle-sec{background:linear-gradient(170deg,#0E2439 0%,#0B1D30 70%)}
/* 문의 섹션 */
.contact-sec{background:linear-gradient(170deg,#0E2439 0%,#0B1D30 65%)}

/* 채널표 — 기간 시각화 */
.ch-bar{display:block;height:5px;border-radius:3px;background:#E9EEF5;margin:.35rem 0 .3rem;overflow:hidden}
.ch-bar i{display:block;height:100%;border-radius:3px}
.tl-fill,.hp-t i,.asb,.ch-bar i{will-change:width,height}
.ch-when{min-width:96px}

/* ── 10) 비용 비교 섹션 색 강화 ── */
#cost .hc{background:linear-gradient(180deg,#FFFFFF, #F7F9FC)}
#cost .hc.on{background:linear-gradient(180deg,#F4F8FF,#EAF1FF);border:1.5px solid var(--blue)}
#cost .hc:not(.on) .hcv{color:var(--text3)}
#cost .hc.on .hcv{color:var(--blue)}
#cost .hbadge{background:linear-gradient(135deg,#1552C4,#2F6FE0);box-shadow:0 6px 16px rgba(21,82,196,.28)}
#cost .hcy{background:rgba(21,82,196,.05);border-radius:10px;padding:.7rem .8rem;margin-top:1rem;border-top:none}
#cost .hc:not(.on) .hcy{background:var(--bg)}
#cost .hnote{background:linear-gradient(135deg,#0E2439,#16304F);border-radius:16px}
#cost .hnt{color:#fff}
#cost .hnd{color:rgba(255,255,255,.72)}
#cost .hcl li:before{background:var(--text3)}
#cost .hc.on .hcl li:before{background:var(--blue)}

/* ── 11) 문의 섹션 색 강화 ── */
#contact .contact-left h2 span{color:#6FA8FF}
#contact .diag-value{background:linear-gradient(160deg,rgba(21,82,196,.22),rgba(21,82,196,.08));
  border:1px solid rgba(111,168,255,.32)}
#contact .dv-num{background:linear-gradient(135deg,#1552C4,#2F6FE0);color:#fff}
#contact .c-check{color:rgba(255,255,255,.86)}
#contact .f-submit{background:linear-gradient(135deg,#1552C4,#2F6FE0);box-shadow:0 10px 26px rgba(21,82,196,.35)}
#contact .f-submit:hover{filter:brightness(1.06)}
#contact input:focus,#contact textarea:focus,#contact select:focus{border-color:#6FA8FF!important;
  box-shadow:0 0 0 3px rgba(111,168,255,.18)}
#contact .svc-check input:checked + span{color:#9CC4FF}
#contact .diag-value-title{color:#9CC4FF}

/* 대표 메시지 — 소개서식 인용 구조 */
.founder-sec{background:linear-gradient(180deg,#FFFFFF,#F7FAFD)}
.founder-inner{max-width:760px!important}
.founder-quote,.founder-inner h2{letter-spacing:-.035em}
.founder-inner p{font-size:1rem;line-height:1.9;color:var(--text2)}
.founder-team{margin-top:2.6rem}
.founder-team .team-grid-2{max-width:900px;margin:0 auto;gap:1.2rem}
.founder-team .team-shot{border-radius:16px;box-shadow:0 2px 10px rgba(11,29,48,.05)}

/* 요금제 구성 3단계 */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.6rem}
.plan{position:relative;background:var(--white);border:1px solid var(--border);border-radius:16px;
  padding:1.5rem 1.4rem;box-shadow:0 2px 10px rgba(11,29,48,.05);display:flex;flex-direction:column}
.plan.on{border:1.5px solid var(--blue);background:linear-gradient(180deg,#F6FAFF,#EFF5FF);
  box-shadow:0 12px 30px rgba(21,82,196,.12)}
.plan-badge{position:absolute;top:-11px;left:1.3rem;background:linear-gradient(135deg,#1552C4,#2F6FE0);color:#fff;
  font-size:.72rem;font-weight:800;padding:.3rem .6rem;border-radius:20px}
.plan-h{display:flex;flex-direction:column;gap:.25rem}
.plan-n{font-size:1.1rem;font-weight:900;color:var(--text);letter-spacing:-.03em}
.plan-s{font-size:.79rem;color:var(--text3);font-weight:700}
.plan-p{margin-top:.9rem;font-size:1.6rem;font-weight:900;color:var(--text);letter-spacing:-.04em;line-height:1.1}
.plan.on .plan-p{color:var(--blue)}
.plan-p em{font-style:normal;font-size:.92rem;font-weight:800;margin-left:.15rem}
.plan-c{margin-top:.4rem;font-size:.78rem;color:var(--text3);font-weight:700}
.plan-l{margin:1rem 0 0;padding:1rem 0 0;list-style:none;border-top:1px solid var(--border)}
.plan-l li{position:relative;padding-left:1.05rem;font-size:.86rem;color:var(--text2);line-height:1.75;margin-bottom:.42rem}
.plan-l li:before{content:"";position:absolute;left:0;top:.62rem;width:5px;height:5px;border-radius:50%;background:var(--text3)}
.plan.on .plan-l li:before{background:var(--blue)}
.plan-l li.plan-base{font-weight:800;color:var(--text)}
.plan-l li.plan-base:before{width:12px;height:2px;border-radius:2px;top:.72rem;background:var(--blue)}
@media(max-width:900px){.plans{grid-template-columns:1fr}}

/* ══════ 요금제 비교표 — 소개서 25p 원본 스타일 이식 ══════ */
.pkg-cmp{margin-top:2.4rem;padding-top:16px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
.pkg-cmp .cmp{min-width:640px;margin-top:0}
.pkg-cmp .ch, .pkg-cmp .cr{display:grid;grid-template-columns:1.85fr 1fr 1fr 1fr;align-items:center}
.pkg-cmp .ch{padding-bottom:12px;border-bottom:2px solid #E5E8EB;position:relative}
.pkg-cmp .ct{text-align:center;padding:12px 6px 10px;border-radius:14px 14px 0 0;position:relative}
.pkg-cmp .ct.on{background:#3182F6}
.pkg-cmp .cbadge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:#191F28;color:#fff;font-size:9.5px;font-weight:700;
  padding:3px 9px;border-radius:100px;white-space:nowrap}
.pkg-cmp .ctn{font-size:17px;font-weight:800;color:#191F28;letter-spacing:-.035em}
.pkg-cmp .ct.on .ctn{color:#fff}
.pkg-cmp .ctp{font-size:11.5px;font-weight:600;color:#6B7684;margin-top:1px}
.pkg-cmp .ct.on .ctp{color:rgba(255,255,255,.88)}
.pkg-cmp .ctc{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;
  color:#1B64DA;background:#E8F3FF;border-radius:100px;padding:2px 9px}
.pkg-cmp .ct.on .ctc{color:#fff;background:rgba(255,255,255,.22)}
.pkg-cmp .cg{font-size:11px;font-weight:800;color:#8B95A1;letter-spacing:.04em;
  padding:12px 0 5px 2px}
.pkg-cmp .cr{border-top:1px solid #F2F4F6;min-height:29px}
.pkg-cmp .cr:first-of-type{border-top:0}
.pkg-cmp .cn{font-size:12.5px;font-weight:500;color:#333D4B;letter-spacing:-.025em;padding:6px 2px}
.pkg-cmp .cc{display:flex;align-items:center;justify-content:center;align-self:stretch;
  font-size:12px;color:#D1D6DB;font-weight:600}
.pkg-cmp .cc svg{width:15px;height:15px}
.pkg-cmp .cc.y{color:#3182F6}
.pkg-cmp .cc.mid{background:#F4F9FF}
.pkg-cmp .cc.mid.y{color:#1B64DA}
.pkg-cmp .ch, .pkg-cmp .cr{grid-template-columns:1.4fr .7fr .7fr .7fr}
.pkg-cmp .cn{font-size:11.5px}
.pkg-cmp .ctn{font-size:14px}
.pkg-cmp .ctp{font-size:10px}
.pkg-cmp .cr{min-height:24px}
.pkg-cmp .cn{padding:3px 2px;font-size:12px}
.pkg-cmp .cg{padding:9px 0 3px 2px}
.pkg-cmp .ct{padding:8px 6px 8px}
.pkg-cmp .ctn{font-size:16px}
.pkg-cmp .cr.sp .cn{font-weight:700;color:#191F28}
.pkg-cmp .cr.sp{background:linear-gradient(90deg,rgba(49,130,246,.05),transparent 62%)}
.pkg-cmp .cr.sp .cc:last-child{background:#E8F3FF;color:#1B64DA}
.pkg-cmp .cr.sp .cc:last-child svg{width:16px;height:16px;stroke-width:3.6}
.pkg-cmp .cr{min-height:22px}
.pkg-cmp .cn{padding:2px 2px;font-size:11.5px}
.pkg-cmp .cg{padding:7px 0 2px 2px;font-size:10.5px}
.pkg-cmp .ch, .pkg-cmp .cr{grid-template-columns:1.5fr 1fr 1.06fr 1fr}
.pkg-cmp .chn{padding:0 2px 4px}
.pkg-cmp .chn-t{font-size:14px;font-weight:800;color:#191F28;letter-spacing:-.03em}
.pkg-cmp .chn-s{font-size:11px;font-weight:500;color:#8B95A1;margin-top:2px}
.pkg-cmp .ch{align-items:end;padding-bottom:0;border-bottom:2px solid #E5E8EB}
.pkg-cmp .ct{padding:12px 8px 10px}
.pkg-cmp .ctn{font-size:18px}
.pkg-cmp .ctp{font-size:12px;margin-top:2px}
.pkg-cmp .ctd{font-size:10.5px;font-weight:500;color:#8B95A1;line-height:1.4;
  margin-top:6px;min-height:28px}
.pkg-cmp .ct.on .ctd{color:rgba(255,255,255,.86)}
.pkg-cmp .ctc{margin-top:4px;font-size:11.5px;padding:3px 11px}
.pkg-cmp .cn{font-size:13.5px;font-weight:500;padding:5px 2px}
.pkg-cmp .cc svg{width:17px;height:17px}
.pkg-cmp .cc{font-size:14px}
.pkg-cmp .cg{font-size:11.5px;padding:13px 0 5px 2px}
.pkg-cmp .cr.sp{background:#F4F9FF}
.pkg-cmp .cr.sp .cn{font-weight:700;color:#191F28;padding-left:11px}
.pkg-cmp .cr.sp .cc.mid{background:#F4F9FF}
.pkg-cmp .cr.sp .cc:last-child{background:#3182F6;color:#fff;border-radius:0}
.pkg-cmp .cr.sp:first-of-type .cc:last-child{border-radius:10px 10px 0 0}
.pkg-cmp .cr{min-height:29px}
.pkg-cmp .cn{padding:4px 2px}
.pkg-cmp .cg{padding:11px 0 4px 2px}
.pkg-cmp .ctd{min-height:26px;margin-top:5px}
.pkg-cmp .ct{padding:8px 8px 9px}
.pkg-cmp .cr{min-height:27px}
.pkg-cmp .cn{padding:3px 2px;font-size:13px}
.pkg-cmp .cg{padding:9px 0 3px 2px}
.pkg-cmp .cr{min-height:23px}
.pkg-cmp .cn{padding:2px 2px;font-size:12.5px}
.pkg-cmp .cg{padding:7px 0 2px 2px;font-size:11px}
.pkg-cmp .ctd{min-height:24px;margin-top:4px;font-size:10px}
.pkg-cmp .ct{padding:6px 8px 7px}
.pkg-cmp .ctn{font-size:17px}
.pkg-cmp .ctp{font-size:11.5px}
.pkg-cmp .ctc{margin-top:3px;font-size:11px;padding:2px 10px}
.pkg-cmp .chn-t{font-size:13px}
.pkg-cmp .chn-s{font-size:10.5px}
.pkg-cmp .cc svg{width:16px;height:16px}
.pkg-cmp .cmp .cr{flex:1;min-height:0}
.pkg-cmp .cmp .cg{flex:0 0 auto}
.pkg-cmp .cr .cn, .pkg-cmp .cr .cc{display:flex;align-items:center}
.pkg-cmp .cr .cn{justify-content:flex-start}
.pkg-cmp .cr.sp .cn{padding-left:2px}
.pkg-cmp .cbadge{top:-9px}
.pkg-cmp .ct.on{padding-top:22px}
.pkg-cmp .ct{padding-top:14px}
.pkg-cmp .cr{grid-template-columns:1.12fr 1fr 1.06fr 1fr}
.pkg-cmp .cn{padding-left:0}
.pkg-cmp .cc.mid.y{background:#F4F9FF;color:#1B64DA}
.pkg-cmp .cc.mid.n{background:transparent;color:#D1D6DB}
.pkg-cmp .cr.sp .cn{background:linear-gradient(90deg,rgba(49,130,246,.06),transparent 88%)}
.pkg-cmp .cr.sp .cc{background:transparent}
.pkg-cmp .cr.sp .cc.n{background:transparent;color:#D1D6DB}
.pkg-cmp .cr.sp .cc.mid{background:transparent}
.pkg-cmp .cr.sp .cc.mid.y{background:#F4F9FF}
.pkg-cmp .cr.sp .cc.y:last-child{background:#3182F6;color:#fff}
.pkg-cmp .cmp>div{min-width:520px}
.pkg-cmp .cmp .cn{font-size:11.5px}
.pkg-cmp .cmp .ctn{font-size:15px}
/* 모바일 대응 */
@media(max-width:820px){
  .pkg-cmp .ch,.pkg-cmp .cr{grid-template-columns:1.5fr 1fr 1fr 1fr}
  .pkg-cmp .ctd{display:none}
  .pkg-cmp .ctn{font-size:14px}
  .pkg-cmp .cn{font-size:12px}
}

/* 원본 이식 후 홈페이지 가독성 보정 (구조·색은 원본 유지) */
.pkg-cmp .cn{font-size:13.5px!important}
.pkg-cmp .ctn{font-size:18px!important}
.pkg-cmp .ctp{font-size:12.5px!important}
.pkg-cmp .ctd{font-size:11.5px!important}
.pkg-cmp .ctc{font-size:11.5px!important}
.pkg-cmp .cbadge{font-size:10.5px!important}
.pkg-cmp .cg{font-size:12px!important}
.pkg-cmp .cnote{font-size:12px!important}

/* ── 8) 문의 폼 색 · 가독성 개선 ── */
#contact .contact-inner{gap:2.6rem}
#contact .f-field label,#contact .f-label{color:rgba(255,255,255,.72)!important;font-weight:700}
#contact input,#contact textarea,#contact select{
  background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;border-radius:12px!important}
#contact input::placeholder,#contact textarea::placeholder{color:rgba(255,255,255,.34)!important}
#contact select{color:rgba(255,255,255,.72)!important}
#contact .svc-check{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  border-radius:12px;transition:border-color .18s,background .18s}
#contact .svc-check:hover{border-color:rgba(111,168,255,.5);background:rgba(111,168,255,.09)}
#contact .svc-check span{color:rgba(255,255,255,.82)}
#contact .f-submit{background:linear-gradient(135deg,#2F6FE0,#1552C4)!important;border-radius:14px!important;
  font-size:1.05rem!important;font-weight:800!important;padding:1.1rem!important}
#contact .diag-value{border-radius:16px}
#contact .c-check{font-weight:600}

/* 4) 막대 끝 반짝임 */
.tl-fill,.ch-bar i,.hp-t i{position:relative;overflow:visible}
.tl-fill:after,.ch-bar i:after,.hp-t i:after{
  content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);
  width:9px;height:9px;border-radius:50%;background:inherit;
  box-shadow:0 0 0 0 rgba(255,255,255,.85);opacity:0}
.tl-fill.bar-done:after,.ch-bar i.bar-done:after,.hp-t i.bar-done:after{
  opacity:1;animation:tipPulse 1.8s ease-out infinite}
@keyframes tipPulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.9),0 0 6px 1px rgba(255,255,255,.6)}
  70%{box-shadow:0 0 0 7px rgba(255,255,255,0),0 0 8px 2px rgba(255,255,255,.25)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0),0 0 6px 1px rgba(255,255,255,0)}
}
.tl-track,.ch-bar{overflow:visible}
#period .tl-fill.bar-done:after,#services .ch-bar i.bar-done:after{
  box-shadow:0 0 0 0 rgba(21,82,196,.55),0 0 8px 2px rgba(21,82,196,.35)}
@keyframes tipPulseDark{
  0%{box-shadow:0 0 0 0 rgba(21,82,196,.5)}
  70%{box-shadow:0 0 0 7px rgba(21,82,196,0)}
  100%{box-shadow:0 0 0 0 rgba(21,82,196,0)}
}
#period .tl-fill.bar-done:after,#services .ch-bar i.bar-done:after{animation:tipPulseDark 1.8s ease-out infinite}

/* AI 그래프 현재 막대 강조 */
#geo .asb.on{position:relative;box-shadow:0 0 0 0 rgba(21,82,196,.5);animation:asbGlow 2s ease-out infinite}
@keyframes asbGlow{
  0%{box-shadow:0 0 0 0 rgba(47,111,224,.55)}
  70%{box-shadow:0 0 0 12px rgba(47,111,224,0)}
  100%{box-shadow:0 0 0 0 rgba(47,111,224,0)}
}
@keyframes asbDot{0%,100%{opacity:.35;transform:translateX(-50%) scale(.85)}50%{opacity:1;transform:translateX(-50%) scale(1.15)}}

/* ── 5) 문의 폼 재설계 ── */
#contact .contact-inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:3rem;align-items:start}
#contact .f-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);
  border-radius:20px;padding:1.9rem 1.8rem}
#contact .f-sec-t{font-size:.76rem;font-weight:900;color:#6FA8FF;letter-spacing:.06em;margin:1.3rem 0 .5rem}
#contact .f-sec-t:first-child{margin-top:0}
#contact input,#contact textarea,#contact select{
  padding:.95rem 1rem!important;font-size:.95rem!important}
#contact input:hover,#contact textarea:hover,#contact select:hover{border-color:rgba(255,255,255,.3)!important}
#contact .svc-check{padding:.85rem .9rem!important}
#contact .f-submit{margin-top:.4rem;letter-spacing:-.02em}
#contact .f-submit-note{margin-top:.7rem;font-size:.79rem;color:rgba(255,255,255,.45);text-align:center}
/* 카카오 버튼을 보조 스타일로 — 주 버튼과 위계 분리 */
/* 좌측 안내 카드 톤 정리 */
#contact .contact-left h2{line-height:1.34}
#contact .contact-checks{margin-top:1.4rem;display:grid;gap:.55rem}
#contact .c-check{display:flex;gap:.5rem;align-items:flex-start;font-size:.92rem;line-height:1.7}
#contact .diag-value{margin-top:1.5rem;padding:1.4rem 1.5rem}
#contact .diag-value-title{font-size:.88rem;font-weight:800;margin-bottom:.9rem}
#contact .diag-value-item{font-size:.9rem;line-height:1.7;margin-bottom:.6rem}
@media(max-width:980px){#contact .contact-inner{grid-template-columns:1fr;gap:1.8rem}}

/* FAQ + 계약 조건 병합 */
.faq-terms{margin-top:2.6rem;padding-top:2.2rem;border-top:1px solid var(--border)}
.faq-terms-t{font-size:1.25rem;font-weight:800;color:var(--text);letter-spacing:-.035em;text-align:center}
.faq-terms-s{margin-top:.5rem;text-align:center;font-size:.95rem;color:var(--text2)}
.faq-terms .terms{margin-top:1.6rem}



/* 카톡 캡처 프레임 통일 */
.voice-shots{grid-template-columns:1fr 1fr;gap:1.2rem}
.voice-shot{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.voice-shot img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top center;
  padding:10px;background:#fff;filter:saturate(.62) contrast(1.04);border-radius:14px}
.voice-shot:hover img{filter:saturate(.9) contrast(1)}
.voice-cap{border-top:1px solid var(--border);background:var(--white)}
/* 진행 과정 압축 */
#process .proc-photo{aspect-ratio:3/2}
#process .proc-grid-5{gap:.9rem}
#process .proc-step{padding:1rem 1rem 1.1rem}
#process .proc-step p{font-size:.83rem;line-height:1.7}

/* ══════ 섹션 연결감 — 경계 부드럽게 ══════ */
/* 밝은 구간 사이는 옅은 그라데이션으로 자연 전환 */
.sec-white + .sec-bg,.sec-bg + .sec-white{position:relative}
.sec-bg{background:linear-gradient(180deg,#FBFCFE 0%,#F2F6FB 45%,#FBFCFE 100%)}
.press-sec{background:linear-gradient(180deg,#FBFCFE,#F4F7FA)}
.founder-sec{background:linear-gradient(180deg,#FFFFFF,#FBFCFE)}

/* 어두운 구간: 위아래 경계를 그라데이션으로 흘려보냄 */
.badagency,.principle-sec,.interview-sec,.contact-sec{position:relative}
.badagency:before,.principle-sec:before,.interview-sec:before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:64px;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.10),transparent)}
.badagency:after,.principle-sec:after,.interview-sec:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:72px;pointer-events:none;z-index:0;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.06))}
.badagency-inner,.principle-inner,.interview-inner{position:relative;z-index:1}

/* 파랑(문제) → 네이비(원칙) 자연 연결 */
.badagency{background:linear-gradient(170deg,#1552C4 0%,#123F97 70%,#0F3170 100%)}
.principle-sec{background:linear-gradient(180deg,#0F3170 0%,#0E2439 28%,#0B1D30 100%)}
.principle-sec .principle-bg{opacity:.10}

/* 스크롤 등장 부드럽게 (튀는 느낌 완화) */
.fi{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.fi.in{opacity:1;transform:none}

/* 섹션 간격 리듬 통일 */
.sec{padding:96px 5%}
.badagency,.principle-sec,.interview-sec,.contact-sec,.founder-sec,.team-sec{padding:96px 5%}
@media(max-width:900px){
  .sec,.badagency,.principle-sec,.interview-sec,.contact-sec,.founder-sec,.team-sec{padding:60px 4%}
}

/* 흰 구간이 길게 이어질 때 구분감 보완 — 얇은 상단 여백선 대신 콘텐츠 폭 안쪽 헤어라인 */
/* 챕터 태그를 라인 위에 얹어 흐름이 이어지게 */

/* ── 섹션 라벨 (번호 없이 간결하게) ── */
.sec-label{display:inline-block;font-size:.82rem;font-weight:800;color:var(--blue);
  letter-spacing:-.01em;margin-bottom:.7rem;position:relative;padding-left:1.05rem}
.sec-label:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:14px;height:2px;border-radius:2px;background:var(--blue)}
.eye-wrap{text-align:center}
.sec-dark .sec-label,.interview-sec .sec-label,.principle-sec .sec-label{color:#6FA8FF}
.sec-dark .sec-label:before,.interview-sec .sec-label:before,.principle-sec .sec-label:before{background:#6FA8FF}
/* 흰 구간 연속 시 구분 — 여백으로만 */
.sec-white + .sec-white{padding-top:76px}

/* ══════ 성과 사례 — 소개서 원본 이식 ══════ */
.cases-orig{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:.4rem}
@media(max-width:900px){.cases-orig{grid-template-columns:1fr}}
.cases-orig .bl{color:#3182F6}
.cases-orig .g2{grid-template-columns:1fr}
.cases-orig .ccard .ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.cases-orig .ccard .nm{font-size:17px;font-weight:700;color:#191F28;letter-spacing:-.032em}
.cases-orig .ccard .pd{font-size:11.5px;font-weight:600;color:#6B7684;background:#FFFFFF;
  border:1px solid #E5E8EB;border-radius:100px;padding:3px 10px;white-space:nowrap}
.cases-orig .ccard .tg{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:16px}
.cases-orig .ccard .tg span{font-size:11px;font-weight:500;color:#6B7684;background:#FFFFFF;
  border-radius:6px;padding:3px 8px;letter-spacing:-.02em}
.cases-orig .ba{background:#F9FAFB;border-radius:20px;padding:16px;margin-bottom:12px}
.cases-orig .ba .bh{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cases-orig .ba .bh .l{font-size:11.5px;font-weight:500;color:#8B95A1;letter-spacing:-.02em}
.cases-orig .ba .bh .u{font-size:13.5px;font-weight:700;color:#00A661;letter-spacing:-.028em;background:#E4F8EF;padding:3px 9px;border-radius:7px}
.cases-orig .ba .bars{display:flex;align-items:flex-end;gap:12px;height:92px}
.cases-orig .bw{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:5px}
.cases-orig .bw .bv{font-size:17px;font-weight:800;letter-spacing:-.038em;text-align:center;white-space:nowrap}
.cases-orig .bw.b0 .bv{color:#B0B8C1;font-size:12px;font-weight:600}
.cases-orig .bw.b1 .bv{color:#191F28}
.cases-orig .bw .bar{border-radius:5px 5px 0 0;width:100%}
.cases-orig .bw.b0 .bar{background:#E5E8EB}
.cases-orig .bw.b1 .bar{background:#3182F6}
.cases-orig .bw .bl{font-size:10.5px;font-weight:500;color:#B0B8C1;text-align:center;letter-spacing:-.02em}
.cases-orig .mets{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px}
.cases-orig .met{background:#F9FAFB;border-radius:10px;padding:9px 4px}
.cases-orig .met .v{font-size:16px;font-weight:800;color:#191F28;letter-spacing:-.036em;text-align:center}
.cases-orig .met .u{font-size:10.5px;font-weight:700;color:#00A661;text-align:center}
.cases-orig .met .l{font-size:10.5px;font-weight:500;color:#8B95A1;margin-top:2px;letter-spacing:-.02em;text-align:center}
.cases-orig .ba{padding:12px 14px;margin-bottom:10px}
.cases-orig .met{padding:6px 4px}
.cases-orig .met .v{font-size:14px}
.cases-orig .bw.b0 .bar{min-height:3px;background:#D1D6DB}
.cases-orig .ccard{padding:20px 20px 16px}
.cases-orig .g2>.card .h-sm{margin-bottom:2px}
.cases-orig .ch{display:grid;grid-template-columns:1.85fr 1fr 1fr 1fr;align-items:center}
.cases-orig .ch{padding-bottom:12px;border-bottom:2px solid #E5E8EB;position:relative}
.cases-orig .ch{grid-template-columns:1.4fr .7fr .7fr .7fr}
.cases-orig .ch{grid-template-columns:1.5fr 1fr 1.06fr 1fr}
.cases-orig .ch{align-items:end;padding-bottom:0;border-bottom:2px solid #E5E8EB}
.cases-orig .ccard{padding:16px 16px}
.cases-orig .ccard .tg{margin-bottom:10px}
.cases-orig .met{padding:5px 4px}
.cases-orig .g2.k-fill>.dcard{display:flex;flex-direction:column;justify-content:center}
.cases-orig .g2>.card .h-sm{margin-bottom:6px}
.cases-orig .g2>.card .cap{margin-top:0}
.cases-orig .g2.stretch>.card{display:flex;flex-direction:column;justify-content:center}
.cases-orig .g2>.card{padding:20px}
.cases-orig .ant{font-size:13px;font-weight:700;color:#191F28;letter-spacing:-.028em;margin-bottom:5px}
.cases-orig .anon .ant{margin-bottom:0;white-space:nowrap;font-size:12.5px}
.cases-orig .anon .and{font-size:11px;line-height:1.5}
.cases-orig .met .v{font-size:15.5px}
.cases-orig .met{padding:7px 3px}
.cases-orig .met .v{font-size:14px}
.cases-orig .met .u, .cases-orig .met .l{font-size:9.5px}
.cases-orig .anon{grid-template-columns:1fr;gap:5px}
.cases-orig .anon .ant{white-space:normal}
.cases-orig .mets{grid-auto-flow:column;grid-auto-columns:1fr}

/* 사례 카드 — 웹 가독성 보정 */
.cases-orig .ccard{background:var(--white)!important;border:1px solid var(--border)!important;
  border-radius:16px!important;padding:1.5rem 1.5rem 1.35rem!important;box-shadow:0 2px 10px rgba(11,29,48,.05)!important;
  display:flex;flex-direction:column}
.cases-orig .ccard .nm{font-size:1.12rem!important}
.cases-orig .ccard .pd{font-size:.78rem!important}
.cases-orig .ccard .tg span{font-size:.76rem!important;background:var(--blue-light)!important;color:var(--blue)!important;
  padding:.24rem .55rem!important;border-radius:7px!important}
.cases-orig .met .v{font-size:1.15rem!important}
.cases-orig .met .u{font-size:.76rem!important}
.cases-orig .met .l{font-size:.76rem!important}
.cases-orig .bh .l{font-size:.85rem!important}
.cases-orig .bh .u{font-size:.9rem!important}
.cases-orig .bv{font-size:.95rem!important}
.cases-orig .bl{font-size:.76rem!important}

.principle-credit{position:absolute;right:5%;bottom:26px;z-index:1;font-size:.74rem;font-weight:700;
  color:rgba(255,255,255,.42);letter-spacing:-.01em}
@media(max-width:900px){.principle-credit{right:4%;bottom:16px;font-size:.68rem}}

/* ── 마감 정리 ── */
/* 표·카드 안쪽 스크롤 힌트 */
.pkg-cmp::-webkit-scrollbar{height:6px}
.pkg-cmp::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
/* 사례 카드 높이 정렬 */
.cases-orig{align-items:stretch}
.cases-orig .ccard{height:100%}
/* 후기 인용 카드 높이 정렬 */
.voice-quotes{align-items:stretch}
.vq{height:100%}
/* 언론 카드 높이 정렬 */
.press-grid{align-items:stretch}
.press-card{height:100%}
/* 링크 포커스 접근성 */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
/* 본문 최대 줄길이 제한 (가독성) */
.sub-copy,.team-head p,.interview-sub,.principle-sub{max-width:620px}

/* ══════ FAQ · 계약 조건 구조 정리 ══════ */
/* 폭 통일 — FAQ와 계약 카드가 같은 좌우 기준선 */
#faq .faq-wrap,#faq .faq-terms{max-width:900px;margin-left:auto;margin-right:auto}
#faq .faq-terms .terms{grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:820px){#faq .faq-terms .terms{grid-template-columns:1fr}}

/* 아코디언 — +/× 혼용 대신 회전하는 화살표 하나로 */
#faq .faq-arrow{font-size:0;position:relative;width:16px;height:16px;display:inline-block}
#faq .faq-arrow:before{content:"";position:absolute;left:2px;top:4px;width:9px;height:9px;
  border-right:2px solid var(--text3);border-bottom:2px solid var(--text3);
  transform:rotate(45deg);transition:transform .28s,border-color .2s}
#faq .faq-item.open .faq-arrow{transform:none}
#faq .faq-item.open .faq-arrow:before{transform:rotate(-135deg);border-color:var(--blue)}

/* 아코디언 카드 반응 */
#faq .faq-item{border:1px solid var(--border);border-radius:14px;transition:border-color .2s,box-shadow .2s}
#faq .faq-item:hover{border-color:rgba(21,82,196,.28);box-shadow:0 4px 14px rgba(11,29,48,.06)}
#faq .faq-item.open{border-color:var(--blue);box-shadow:0 8px 24px rgba(21,82,196,.10)}
#faq .faq-q{padding:1.15rem 1.4rem;font-size:.98rem;font-weight:800;color:var(--text);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}
#faq .faq-item.open .faq-q{color:var(--blue)}
#faq .faq-a{font-size:.92rem;line-height:1.85;color:var(--text2)}

/* 계약 조건 카드 — 파란 좌측 액센트로 성격 구분 */
#faq .faq-terms{margin-top:3rem;padding-top:2.4rem}
#faq .faq-terms .tm{position:relative;background:var(--white);border:1px solid var(--border);
  border-radius:14px;padding:1.3rem 1.4rem 1.3rem 1.55rem;overflow:hidden}
#faq .faq-terms .tm:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);opacity:.75}
#faq .faq-terms .tmt{font-size:.98rem}
#faq .faq-terms .tmd{font-size:.88rem;color:var(--text2);margin-top:.45rem}


/* ══════ 전체 서비스 목록 ══════ */
.all-svc{margin-top:2.6rem;padding-top:2.4rem;border-top:1px solid var(--border)}
.all-svc-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.3rem}
.all-svc-head h3{font-size:1.3rem;font-weight:800;color:var(--text);letter-spacing:-.035em}
.all-svc-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--blue);color:#fff;
  font-size:.88rem;font-weight:800;padding:.75rem 1.35rem;border-radius:100px;text-decoration:none;
  box-shadow:0 8px 20px rgba(21,82,196,.22);transition:filter .18s,transform .18s}
.all-svc-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
@media(max-width:900px){  .all-svc-head{flex-direction:column;align-items:flex-start}}



.all-svc-solo{margin-top:0;padding-top:0;border-top:none}
#allsvc{padding-top:76px}

/* ══════ 후기 캡처 — 한 줄 무한 흐름 ══════ */
.rv-wrap{margin-top:2rem;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rv-track{display:flex;gap:1.1rem;width:max-content;animation:rvScroll 75s linear infinite}
.rv-wrap:hover .rv-track{animation-play-state:paused}
.rv-item img{width:100%;aspect-ratio:54/47;object-fit:contain;background:#fff;padding:10px;display:block;
  filter:saturate(.72) contrast(1.03);transition:filter .25s}
.rv-item:hover img{filter:saturate(1) contrast(1)}
@keyframes rvScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.rv-track{animation:none}.rv-wrap{overflow-x:auto}}

/* ══════ FAQ · 계약 조건 — 밀도와 위계 보강 ══════ */
#faq .faq-q{padding:1.25rem 1.5rem;gap:.85rem;align-items:flex-start;line-height:1.5}
#faq .q-badge{flex:none;width:24px;height:24px;border-radius:7px;background:var(--blue-light);color:var(--blue);
  font-size:.78rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;margin-top:.05rem}
#faq .faq-item.open .q-badge{background:var(--blue);color:#fff}
#faq .faq-q span:not(.q-badge){flex:1}
#faq .faq-arrow{margin-left:auto;margin-top:.15rem}
#faq .faq-item.open{background:#F8FBFF}
#faq .faq-item.open .faq-a{border-top:1px solid rgba(21,82,196,.14);margin:0 1.5rem;padding:1rem 0 1.3rem}
#faq .faq-a{padding:0 1.5rem}

/* 계약 조건 — 패널로 묶어 FAQ와 성격 분리 */
#faq .faq-terms{margin-top:3.2rem;padding:2.4rem 2rem 2rem;border-top:none;
  background:linear-gradient(180deg,#F7FAFD,#F1F5FA);border:1px solid var(--border);border-radius:20px}
#faq .faq-terms-t{font-size:1.2rem}
#faq .faq-terms-s{font-size:.92rem;color:var(--text2)}
#faq .faq-terms .terms{margin-top:1.5rem;gap:.9rem}
#faq .faq-terms .tm{background:var(--white);border:1px solid var(--border);border-radius:14px;
  padding:1.25rem 1.35rem 1.25rem 1.5rem;box-shadow:0 1px 4px rgba(11,29,48,.04)}
#faq .faq-terms .tm:before{width:3px;background:var(--blue);opacity:.85}
#faq .faq-terms .tmt{font-size:.95rem;line-height:1.5}
#faq .faq-terms .tmd{font-size:.86rem;margin-top:.4rem}
@media(max-width:820px){#faq .faq-terms{padding:1.6rem 1.1rem 1.4rem}}

.all-svc-head p{margin-top:.45rem;font-size:.92rem;color:var(--text2);line-height:1.7}
.all-svc-btn{background:transparent!important;color:var(--blue)!important;border:1.5px solid var(--blue);
  border-radius:12px!important;box-shadow:none!important;padding:.8rem 1.3rem!important}
.all-svc-btn:hover{background:var(--blue)!important;color:#fff!important}
@media(max-width:900px){.all-svc-head{flex-direction:column;align-items:flex-start}}

/* 전체 서비스 — 개별 카드 (갈래는 색으로 구분) */
.svc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.svc-tile{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1rem .95rem 1.05rem;
  display:flex;flex-direction:column;gap:.42rem;position:relative;overflow:hidden;
  box-shadow:0 1px 4px rgba(11,29,48,.04);transition:transform .18s,box-shadow .18s,border-color .18s}
.svc-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;opacity:.85}
.svc-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,29,48,.08);border-color:rgba(21,82,196,.28)}
.st-tag{font-size:.68rem;font-weight:900;letter-spacing:.02em}
.st-n{font-size:.9rem;font-weight:800;color:var(--text);letter-spacing:-.025em;line-height:1.45}
.svc-c:before{background:var(--accent-2)} .svc-c .st-tag{color:var(--accent-2)}
.svc-a:before{background:var(--accent)}   .svc-a .st-tag{color:var(--accent)}
.svc-s:before{background:var(--blue)}     .svc-s .st-tag{color:var(--blue)}
@media(max-width:1000px){.svc-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.svc-tiles{grid-template-columns:repeat(2,1fr)}}

/* ══════ 대표 소개 — 가로형 + 팀 스트립 ══════ */
.founder-inner2{max-width:1140px;margin:0 auto}
.fd-main{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:3rem;align-items:start}
.fd-career-row{max-width:none;margin-top:2.2rem}
.fd-career-row ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem 1.4rem}
.fd-career-row li{border-top:none;padding:.2rem 0;flex-wrap:wrap;align-items:flex-start}
.fd-career-row .fc-note{flex-basis:100%;margin-left:2.05rem;margin-top:.2rem}
@media(max-width:900px){.fd-career-row ul{grid-template-columns:1fr;gap:0}
.fd-career-row li{border-top:1px solid var(--border);padding:.42rem 0}
.fd-career-row li:first-child{border-top:none}}
.fd-sign{margin-top:1.6rem}
.fd-photo{border-radius:20px;overflow:hidden;background:var(--bg);box-shadow:0 14px 36px rgba(11,29,48,.10)}
.fd-photo img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:4/5;object-position:center 18%}
.fd-title{margin-top:.7rem;font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:800;color:var(--text);
  letter-spacing:-.04em;line-height:1.34}
.fd-desc{margin-top:1rem;font-size:1rem;line-height:1.9;color:var(--text2);max-width:620px}
.fd-career{margin-top:1.6rem;background:var(--white);border:1px solid var(--border);border-radius:16px;
  padding:1.3rem 1.4rem;box-shadow:0 2px 10px rgba(11,29,48,.05);max-width:520px}
.fd-career-t{font-size:.78rem;font-weight:900;color:var(--text3);letter-spacing:.04em;margin-bottom:.85rem}
.fd-career ul{margin:0;padding:0;list-style:none}
.fd-career li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text);font-weight:600;
  padding:.42rem 0;border-top:1px solid var(--border)}
.fd-career li:first-child{border-top:none;font-weight:800}
.fc-now,.fc-pre{flex:none;width:22px;height:22px;border-radius:6px;font-size:.7rem;font-weight:900;
  display:inline-flex;align-items:center;justify-content:center}
.fc-now{background:var(--blue);color:#fff}
.fc-pre{background:var(--bg);color:var(--text3)}
.fd-sign{margin-top:1.4rem;font-size:.88rem;color:var(--text3);font-weight:700;display:flex;align-items:center;gap:.4rem}
@media(max-width:960px){
  .fd-main{grid-template-columns:1fr;gap:1.6rem}
  .fd-photo{max-width:320px}
  }

/* 대표 소개 — 텍스트 좌 · 사진 우 */
.fd-main{grid-template-columns:minmax(0,1fr) minmax(0,360px)}
.fd-photo{border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#F4F7FA,#E9EFF6)}
.founder-sec{padding-bottom:96px!important}
/* 팀 사진 — 콘텐츠 폭 카드 */
.fd-teamwide{position:relative;max-width:1140px;margin:2.8rem auto 0;border-radius:20px;overflow:hidden;
  line-height:0;background:#F1F4F8;box-shadow:0 10px 30px rgba(11,29,48,.08)}
.fd-teamwide img{width:100%;height:clamp(240px,26vw,360px);object-fit:cover;object-position:center 28%;display:block}
@media(max-width:960px){
  .fd-main{grid-template-columns:1fr}
  .fd-photo{max-width:300px;order:-1}
    }

/* 후기 카드 — 캡처가 카드를 꽉 채우는 형태 */
.rv-item{flex:0 0 300px;background:var(--white);border:1px solid var(--border);border-radius:16px;
  overflow:hidden;box-shadow:0 2px 10px rgba(11,29,48,.06);display:flex;flex-direction:column}
.rv-shot{width:100%;aspect-ratio:1/1;overflow:hidden;background:#EDF1F6}
.rv-item img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;padding:0;
  filter:saturate(.78) contrast(1.03);transition:filter .25s,transform .35s}
.rv-item:hover img{filter:saturate(1) contrast(1);transform:scale(1.03)}
.rv-item figcaption{padding:.95rem 1rem 1.05rem;font-size:.85rem;font-weight:700;color:var(--text);
  letter-spacing:-.025em;line-height:1.5;border-top:1px solid var(--border);text-align:center}
@media(max-width:600px){.rv-item{flex-basis:240px}}

/* 서비스 카드 — 로고 타일 */
.svc-tile{flex-direction:row;align-items:center;gap:.85rem;padding:1rem 1rem 1rem 1.15rem}
.st-ico{flex:none;width:44px;height:44px;border-radius:12px;background:var(--white);
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:7px;
  box-shadow:0 1px 4px rgba(11,29,48,.06)}
.st-ico img{width:100%;height:100%;object-fit:contain;display:block}
.st-ico svg{width:26px;height:26px}
.st-box{display:flex;flex-direction:column;gap:.25rem;min-width:0}

/* 사례 막대 — 가로 폭 줄이고 높이 키움 (세로 막대 강조) */
.cases-orig .ba .bars{height:170px!important;gap:2.2rem!important;justify-content:center!important;
  padding:0 1.2rem}
.cases-orig .bw{flex:0 0 84px!important;max-width:84px}
.cases-orig .bw .bar{width:64px!important;margin:0 auto;border-radius:8px 8px 0 0!important;
  transition:height .9s cubic-bezier(.22,1,.36,1)}
.cases-orig .bw .bv{font-size:1.05rem!important}
.cases-orig .bw.b0 .bv{font-size:.86rem!important}
.cases-orig .ba{padding:1.3rem 1rem 1.1rem!important;border-radius:16px!important}
@media(max-width:520px){
  .cases-orig .ba .bars{height:140px!important;gap:1.4rem!important;padding:0 .4rem}
  .cases-orig .bw{flex:0 0 68px!important;max-width:68px}
  .cases-orig .bw .bar{width:52px!important}
}

/* ══════ 서비스 카드 · 문의 폼 마감 ══════ */
/* 서비스 카드 — 여백 확보, 이름 강조, 색 액센트 정리 */
.svc-tile{padding:1.15rem 1.2rem;gap:1rem;align-items:center;border-radius:16px}
.svc-tile:before{display:none}
.st-ico{width:48px;height:48px;border-radius:13px;padding:8px}
.st-n{font-size:.98rem;line-height:1.35}
.st-tag{font-size:.7rem;opacity:.9;display:inline-flex;align-items:center;gap:.28rem}
.st-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.svc-tiles{gap:1rem}

/* 문의 폼 — 입력 영역 카드로 묶고 밀도 조정 */
#contact .contact-inner{align-items:stretch}
#contact .contact-right,#contact form,#contact .f-wrap{background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:1.9rem 1.8rem}
#contact .f-group,#contact .f-row{margin-bottom:1.1rem}
#contact label{font-size:.84rem!important;font-weight:700!important;color:rgba(255,255,255,.78)!important;
  display:block;margin-bottom:.5rem}
#contact input,#contact textarea,#contact select{border-radius:12px!important;font-size:.95rem!important;
  padding:.95rem 1rem!important}
#contact textarea{min-height:110px}
/* 관심 서비스 — 선택 상태가 보이는 칩 */
#contact .svc-check{border-radius:12px!important;padding:.9rem .95rem!important;cursor:pointer;
  display:flex;align-items:center;gap:.6rem;transition:border-color .18s,background .18s,box-shadow .18s}
#contact .svc-check input{accent-color:#6FA8FF;width:16px;height:16px;flex:none}
#contact .svc-check:has(input:checked){border-color:#6FA8FF!important;background:rgba(111,168,255,.14)!important;
  box-shadow:0 0 0 3px rgba(111,168,255,.10)}
#contact .svc-check:has(input:checked) span{color:#fff!important;font-weight:700}
/* 좌측 안내 카드 대비 개선 */
#contact .diag-value{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important}
#contact .diag-value-title{color:#9CC4FF!important}
#contact .diag-value-foot{color:rgba(255,255,255,.66)!important}

/* ══════ 문의 폼 재정리 (실제 클래스 기준) ══════ */
#contact .contact-form{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
  border-radius:22px;padding:2rem 1.9rem 1.9rem;box-shadow:0 18px 46px rgba(0,0,0,.28)}
#contact .contact-form:before{content:"무료 채널 진단 신청";display:block;font-size:.82rem;font-weight:900;
  color:#9CC4FF;letter-spacing:.02em;margin-bottom:1.3rem;padding-bottom:1rem;
  border-bottom:1px solid rgba(255,255,255,.12)}
#contact .f-group{margin-bottom:1.15rem}
#contact .f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.15rem}
#contact input,#contact textarea,#contact select{
  background:rgba(9,20,34,.55)!important;border:1px solid rgba(255,255,255,.18)!important}
#contact input:focus,#contact textarea:focus,#contact select:focus{
  background:rgba(9,20,34,.75)!important}
#contact .svc-check-grid{gap:.7rem}
#contact .f-submit{width:100%;margin-top:.6rem;padding:1.15rem!important;font-size:1.05rem!important}
/* 좌측 카드 — 폼과 높이·톤 맞춤 */
#contact .contact-left{display:flex;flex-direction:column}
#contact .diag-value{margin-top:auto}
#contact .contact-checks{margin-top:1.5rem}
@media(max-width:980px){#contact .contact-form{padding:1.5rem 1.2rem 1.4rem}}

/* 사례 — 성장 곡선 차트 */
.cases-orig .ba-line{background:#F7F9FC!important;border:1px solid var(--border);border-radius:16px!important;
  padding:1.2rem 1.2rem 1.1rem!important;margin-bottom:1rem}
.cases-orig .ba-line .bh{margin-bottom:.4rem}
.lc{position:relative;height:150px;margin-top:.4rem}
.lc svg{width:100%;height:130px;display:block;overflow:visible}
.lc-tag{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.15rem;
  padding:.4rem .65rem;border-radius:10px;white-space:nowrap;line-height:1.25}
.lc-tag b{font-size:.95rem;font-weight:900;letter-spacing:-.03em}
.lc-tag i{font-style:normal;font-size:.68rem;font-weight:700;opacity:.75}
.lc-tag-a{left:0;bottom:12px;background:#E9EDF3;color:var(--text3)}
.lc-tag-a b{color:var(--text2)}
.lc-tag-b{right:0;top:0;background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(21,82,196,.28)}
.lc-tag-b b{color:#fff;font-size:1.05rem}
@media(max-width:520px){.lc{height:132px}.lc svg{height:112px}.lc-tag b{font-size:.86rem}}

/* 대표 소개 — 정렬 통일 및 사진 비율 보정 */
.founder-sec .fd-body,.founder-sec .fd-body *{text-align:left}
.fd-body .sec-label{margin-bottom:.9rem}
.fd-title{margin-top:0}
.fd-desc{margin-top:.9rem}
.fd-career{margin-top:1.5rem;max-width:100%}
.fd-sign{margin-top:1.5rem;justify-content:flex-start}
.fd-main{align-items:start;gap:3.4rem}
.fd-photo{align-self:start}
/* 팀 사진 — 상체 잘림 완화 */
.fd-teamwide img{height:auto!important;aspect-ratio:16/9;object-fit:cover;object-position:center 30%}
@media(max-width:960px){.fd-teamwide img{aspect-ratio:4/3}}

/* 문의 폼 — 세로 길이 축소 및 좌우 균형 */
#contact .contact-inner{gap:2.4rem}
#contact .contact-left{justify-content:flex-start}
#contact .diag-value{margin-top:1.6rem!important}
#contact .contact-form{padding:1.6rem 1.5rem 1.5rem}
#contact .contact-form:before{margin-bottom:1rem;padding-bottom:.85rem}
#contact .f-group,#contact .f-row{margin-bottom:.9rem}
#contact label{margin-bottom:.4rem}
#contact input,#contact select{padding:.82rem .95rem!important}
#contact textarea{min-height:92px;padding:.82rem .95rem!important}
#contact .svc-check{padding:.7rem .8rem!important}
#contact .svc-check span{font-size:.85rem}
#contact .svc-check-grid{gap:.6rem}
#contact .f-submit{padding:1rem!important;margin-top:.4rem}
#contact .f-submit-note{margin-top:.55rem}

/* ══════ 밝은 구간 통일 규격 ══════ */
/* 섹션 헤더: 라벨 → 제목 → 부제, 전부 중앙 */
.eye-wrap{text-align:center;margin-bottom:.2rem}
.sec-label{color:var(--blue)}
.sec-label:before{background:var(--blue)}
h2.ttl{margin-bottom:.9rem}
.sub-copy{margin-bottom:2.6rem}

/* 콘텐츠 블록 공통 카드 규격 */
.ch-table,.tline,.rmap .rmc,.cases-orig .ccard,.press-card,.pkg-cmp .cmp,
.svc-tile,.rv-item,.vq,.proof-main,.proof-ev,.faq-item,.tm,.hc,.aimock,.fd-career,.asv-col,.geo-real-img{
  border-radius:16px!important}
.ch-table,.tline,.pkg-cmp .cmp,.proof-main{box-shadow:0 2px 12px rgba(11,29,48,.05)!important;
  border:1px solid var(--border)!important}

/* 각주 위치·톤 통일 */
.src-note{margin-top:1.2rem;text-align:center;color:var(--text3)}
.src-note a{color:var(--blue);font-weight:800;text-decoration:none}

/* 밝은 섹션 상하 여백 통일 */
.sec{padding:96px 5%}
@media(max-width:900px){.sec{padding:60px 4%}}

/* ── 2026-08-29 UX 개선 ───────────────────────── */
.fd-career .fc-note{display:block;margin-left:2.05rem;font-size:.78rem;color:var(--blue);font-weight:600;margin-top:.1rem}
/* 카톡 대표 캡처 2장 */
.rv-item{cursor:zoom-in}
/* 라이트박스 */
#nk-lb{position:fixed;inset:0;z-index:9999;background:rgba(8,14,24,.9);display:none;align-items:center;justify-content:center;padding:4vh 4vw;cursor:zoom-out}
#nk-lb.on{display:flex}
#nk-lb img{max-width:min(92vw,720px);max-height:88vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#nk-lb .nk-lb-x{position:absolute;top:18px;right:22px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:20px;cursor:pointer}
/* 원칙+진행과정 병합 */
.process-merged{padding-top:76px}
@media(max-width:900px){.process-merged{padding-top:46px}}
.proc-merged-t{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:800;letter-spacing:-.03em;color:var(--text);margin-bottom:.6rem;text-align:center}
.proc-merged-t .hl{color:var(--blue)}
/* 가격표 접기 */
.cmp.collapsed .xtra{display:none!important}
.cmp-more{display:block;margin:1.1rem auto 0;padding:.8rem 1.9rem;border:1.5px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue);font-weight:800;font-size:.925rem;cursor:pointer;transition:background .2s,color .2s}
.cmp-more:hover{background:var(--blue);color:#fff}

/* 대표 후기 2장 — 고정 노출 */
.rv-top{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem}
.rv-big{margin:0;background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;
  box-shadow:0 2px 12px rgba(11,29,48,.06);display:flex;flex-direction:column}
.rv-big-shot{width:100%;aspect-ratio:5/4;overflow:hidden;background:#EDF1F6}
.rv-big img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
  filter:saturate(.82) contrast(1.02);transition:filter .25s,transform .35s}
.rv-big:hover img{filter:saturate(1) contrast(1);transform:scale(1.02)}
.rv-big figcaption{padding:1rem 1.1rem 1.15rem;border-top:1px solid var(--border);text-align:center}
.rv-big figcaption b{display:block;font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.025em}
.rv-big figcaption span{display:block;margin-top:.3rem;font-size:.79rem;color:var(--text3);font-weight:700}
.rv-wrap{margin-top:1.2rem}
@media(max-width:820px){.rv-top{grid-template-columns:1fr}}

/* 마지막 열(이런 경우에 맞습니다) 오른쪽으로 이동 */
.ch-head > div:nth-child(4),.ch-row .ch-fit{padding-left:2.2rem}
.ch-name{white-space:normal}
.ch-t{white-space:nowrap}
@media(max-width:1000px){.ch-head > div:nth-child(4),.ch-row .ch-fit{padding-left:0}}

/* AI 목업 브랜드 마크 */
.aim-h{display:flex;align-items:center;gap:.45rem}
.ai-mk{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;
  background:var(--white);border:1px solid var(--border);flex:none}
.ai-gpt{color:#0F9D77}
.sec-dark .ai-mk{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}

/* 고정 후기 2장 — 좌우 꽉 차게 */
.rv-top{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.3rem!important;
  max-width:none!important;margin:2rem auto 0!important;width:100%}
.rv-big{width:100%;cursor:zoom-in}
.rv-big-shot{aspect-ratio:4/3}
.rv-big img{object-position:top center}
@media(max-width:820px){.rv-top{grid-template-columns:1fr!important}}
/* 채널표 — 첫 성과와 마지막 열 간격 확실히 분리 */
.ch-head,.ch-row{gap:1.1rem 2.4rem!important}
.ch-head > div:nth-child(4),.ch-row .ch-fit{padding-left:1.4rem!important}
@media(max-width:1000px){.ch-head,.ch-row{gap:.6rem!important}
  .ch-head > div:nth-child(4),.ch-row .ch-fit{padding-left:0!important}}

/* 상단 내비 — 버튼 2개만 */
nav .nav-right{display:flex;align-items:center;gap:.6rem}
.nav-ghost{display:inline-flex;align-items:center;padding:.62rem 1.15rem;border-radius:10px;
  border:1.5px solid var(--border);color:var(--text2);font-size:.88rem;font-weight:800;text-decoration:none;
  transition:border-color .18s,color .18s,background .18s;white-space:nowrap}
.nav-ghost:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}
@media(max-width:640px){.nav-ghost{display:none}}

/* 인터뷰 — 영상 확대 · 우측 텍스트 여백 */
.interview-grid{grid-template-columns:minmax(0,1.09fr) minmax(0,1fr)!important;gap:2.4rem!important}
.interview-side{padding-left:50px}
@media(max-width:900px){
  .interview-grid{grid-template-columns:1fr!important}
  .interview-side{padding-left:0}
}

/* ══════ 상단 내비 — 히어로 위에서는 투명, 스크롤하면 흰색 ══════ */
nav{background:transparent!important;border-bottom:1px solid transparent!important;backdrop-filter:none!important;
  transition:background .28s ease,border-color .28s ease,backdrop-filter .28s ease,box-shadow .28s ease}
nav .logo img{filter:brightness(0) invert(1);transition:filter .28s ease}
nav .nav-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
nav .nav-ghost:hover{border-color:#fff;background:rgba(255,255,255,.14);color:#fff}
nav .nav-burger{color:#fff}
nav.scrolled{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--border)!important;
  backdrop-filter:blur(10px)!important;box-shadow:0 2px 14px rgba(11,29,48,.06)}
nav.scrolled .logo img{filter:none}
nav.scrolled .nav-ghost{border-color:var(--border);color:var(--text2);background:transparent}
nav.scrolled .nav-ghost:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}
nav.scrolled .nav-burger{color:var(--text)}

/* 첫 화면 로고 — 흰 배경 이미지 반전 문제 해소 */
nav .logo img{filter:none!important;display:none}
nav .logo .logo-txt{display:block;color:#fff;font-size:1.32rem;font-weight:900;letter-spacing:-.04em;line-height:1}
nav.scrolled .logo img{display:block}
nav.scrolled .logo .logo-txt{display:none}

.foot-logo{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}
.foot-desc{font-size:.8rem;font-weight:600;color:rgba(255,255,255,.5);letter-spacing:-.01em}

/* 상단 로고 — 이미지 대신 텍스트 (로고 리뉴얼 전까지) */
nav .logo img{display:none!important}
nav .logo .logo-txt{display:block!important;color:#fff;font-size:1.32rem;font-weight:900;letter-spacing:-.04em;
  line-height:1;transition:color .28s ease}
nav.scrolled .logo .logo-txt{display:block!important;color:var(--navy)}

/* ══════ 중간 CTA 밴드 ══════ */
.cta-band{background:linear-gradient(135deg,#1552C4,#2F6FE0);padding:2.4rem 5%}
.cta-band-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  gap:1.6rem;flex-wrap:wrap}
.cta-band-txt{display:flex;flex-direction:column;gap:.35rem}
.cta-band-txt b{font-size:1.22rem;font-weight:800;color:#fff;letter-spacing:-.035em;line-height:1.45}
.cta-band-txt span{font-size:.9rem;color:rgba(255,255,255,.78);line-height:1.6}
.cta-band-btn{flex:none;display:inline-flex;align-items:center;background:#fff;color:var(--blue);
  font-size:1rem;font-weight:800;padding:1rem 1.9rem;border-radius:12px;text-decoration:none;
  box-shadow:0 10px 26px rgba(0,0,0,.18);transition:transform .18s,box-shadow .18s}
.cta-band-btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.24)}
@media(max-width:760px){
  .cta-band{padding:1.8rem 4%}
  .cta-band-inner{flex-direction:column;align-items:flex-start;gap:1rem}
  .cta-band-btn{width:100%;justify-content:center}
}


/* 추천 채널 행 강조 */
.ch-row.ch-hot{background:linear-gradient(90deg,#F2F7FF 0%,#F8FBFF 70%,transparent 100%);
  position:relative}
.ch-row.ch-hot:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}
.ch-row.ch-hot:hover{background:linear-gradient(90deg,#EAF2FF 0%,#F4F9FF 70%,transparent 100%)}
.ch-row.ch-hot .ch-t{color:var(--blue)}

/* AI 목업 4종 */
.geo-mocks{grid-template-columns:1fr 1fr!important}
.ai-cl{color:#D97757}
.ai-px{color:#20808D}
@media(max-width:900px){.geo-mocks{grid-template-columns:1fr!important}}
/* 사례 — 성장 곡선 차트 */
.cases-orig .ba-line{background:#F7F9FC!important;border:1px solid var(--border);border-radius:16px!important;
  padding:1.2rem 1.2rem 1.1rem!important;margin-bottom:1rem}
.cases-orig .ba-line .bh{margin-bottom:.4rem}
.lc{position:relative;height:150px;margin-top:.4rem}
.lc svg{width:100%;height:130px;display:block;overflow:visible;
  clip-path:inset(0 100% 0 0);transition:clip-path 2.2s cubic-bezier(.33,.9,.4,1)}
.ccard.in-view .lc svg{clip-path:inset(0 0 0 0)}
.ccard:not(.in-view) .lc svg{transition:none}
.lc-line{stroke-width:3.4}
.lc-tag{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.15rem;
  padding:.4rem .65rem;border-radius:10px;white-space:nowrap;line-height:1.25}
.lc-tag b{font-size:.95rem;font-weight:900;letter-spacing:-.03em}
.lc-tag i{font-style:normal;font-size:.68rem;font-weight:700;opacity:.75}
.lc-tag-a{left:0;bottom:12px;background:#E9EDF3;color:var(--text3);opacity:0;transition:opacity .5s ease}
.lc-tag-a b{color:var(--text2)}
.lc-tag-b{right:0;top:0;background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(21,82,196,.28);
  opacity:0;transform:translateY(8px) scale(.92);transition:opacity .45s ease,transform .45s cubic-bezier(.22,1.4,.5,1)}
.lc-tag-b b{color:#fff;font-size:1.05rem}
.ccard.in-view .lc-tag-a{opacity:1;transition-delay:.15s}
.ccard.in-view .lc-tag-b{opacity:1;transform:none;transition-delay:2.05s}
.ccard:not(.in-view) .lc-tag-a,.ccard:not(.in-view) .lc-tag-b{transition:none}
@media(max-width:520px){.lc{height:132px}.lc svg{height:112px}.lc-tag b{font-size:.86rem}}

/* ══════ AI 채널 흐름 띠 ══════ */
.ai-marquee{margin:1.6rem 0 2.4rem;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ai-track{display:flex;gap:.7rem;width:max-content;animation:aiScroll 32s linear infinite}
.ai-marquee:hover .ai-track{animation-play-state:paused}
.ai-chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);
  border:1px solid var(--border);border-radius:100px;padding:.6rem 1.15rem;flex:none;
  box-shadow:0 2px 8px rgba(11,29,48,.05)}
.ai-chip b{font-size:.9rem;font-weight:800;color:var(--text);letter-spacing:-.025em;white-space:nowrap}
.ai-chip svg{flex:none}
@keyframes aiScroll{from{transform:translateX(0)}to{transform:translateX(-33.333%)}}
@media(prefers-reduced-motion:reduce){.ai-track{animation:none}.ai-marquee{overflow-x:auto}}

/* 추천 행 — 은은한 반짝임 (배경 + 좌측 바 + 배지) */
.ch-row.ch-hot{animation:hotGlow 3.2s ease-in-out infinite}
.ch-row.ch-hot:before{animation:hotBar 3.2s ease-in-out infinite}
.ch-row.ch-hot .svc-hot{animation:hotBadge 3.2s ease-in-out infinite}
@keyframes hotGlow{
  0%,100%{background:linear-gradient(90deg,#F2F7FF 0%,#F8FBFF 70%,transparent 100%)}
  50%{background:linear-gradient(90deg,#E4EEFF 0%,#F2F8FF 70%,transparent 100%)}
}
@keyframes hotBar{
  0%,100%{opacity:.55;box-shadow:0 0 0 0 rgba(21,82,196,0)}
  50%{opacity:1;box-shadow:0 0 10px 1px rgba(21,82,196,.45)}
}
@keyframes hotBadge{
  0%,100%{box-shadow:0 0 0 0 rgba(21,82,196,.35)}
  50%{box-shadow:0 0 0 5px rgba(21,82,196,0)}
}
@media(prefers-reduced-motion:reduce){
  .ch-row.ch-hot,.ch-row.ch-hot:before,.ch-row.ch-hot .svc-hot{animation:none}
}

/* ===== 패키지 비교표 · 정렬 최종 통일 (이전 누적 규칙 일괄 상쇄) ===== */
.pkg-cmp .cmp{padding:0 22px 20px;box-sizing:border-box}
/* 헤더와 본문 행이 완전히 동일한 그리드를 쓰게 한다 (핵심) */
.pkg-cmp .cmp .ch,
.pkg-cmp .cmp .cr{
  display:grid;
  grid-template-columns:minmax(180px,1.6fr) 1fr 1fr 1fr;
  column-gap:0;align-items:center
}
.pkg-cmp .cmp .ch{align-items:end}
/* 행 높이·여백 균일화 */
.pkg-cmp .cmp .cr{min-height:36px;padding:0}
.pkg-cmp .cmp .cn{padding:0 10px 0 0;line-height:1.35;align-self:stretch}
.pkg-cmp .cmp .cc{align-self:stretch;padding:0}
.pkg-cmp .cmp .cg{padding:16px 0 7px;margin:0}
.pkg-cmp .cmp .chn{padding:0 0 12px}
/* 추천 열: 헤더 카드부터 마지막 행까지 끊기지 않는 하나의 띠 */
.pkg-cmp .cmp .cc.mid{background:#F4F9FF}
.pkg-cmp .cmp .cr:last-child .cc.mid{border-radius:0 0 10px 10px}
/* GEO 강조 행 */
.pkg-cmp .cmp .cr.sp .cn{padding-left:0;background:none}
.pkg-cmp .cmp .cr.sp{background:linear-gradient(90deg,rgba(49,130,246,.06),rgba(49,130,246,.02))}
.pkg-cmp .cmp .cr.sp .cc.mid{background:#F4F9FF}
.pkg-cmp .cmp .cr.sp .cc.y:last-child{background:#3182F6;color:#fff}
@media(max-width:760px){
  .pkg-cmp .cmp{padding:0 14px 16px}
  .pkg-cmp .cmp .ch,
  .pkg-cmp .cmp .cr{grid-template-columns:minmax(150px,1.5fr) 1fr 1fr 1fr}
  .pkg-cmp .cmp .cr{min-height:32px}
}

/* ===== AI 채널 마퀴 · 한 화면에 정확히 6개(중복 없이) ===== */
.ai-marquee{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)
}
.ai-track{gap:0;width:300%;animation-duration:38s}
.ai-chip{
  flex:0 0 calc(100% / 18);display:flex;justify-content:center;
  box-sizing:border-box;padding:0 .5rem;
  background:none;border:0;border-radius:0;box-shadow:none
}
.ai-pill{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  width:100%;box-sizing:border-box;padding:.85rem .9rem;
  background:var(--white);border:1px solid var(--border);border-radius:100px;
  box-shadow:0 2px 8px rgba(11,29,48,.05)
}
.ai-chip b{font-size:.95rem}
.ai-chip svg{width:18px;height:18px}
@media(max-width:640px){
  .ai-track{width:600%}
  .ai-chip{flex:0 0 calc(100% / 18);padding:0 .35rem}
  .ai-pill{padding:.7rem .6rem}
  .ai-chip b{font-size:.85rem}
}

/* ===== 개편: 히어로 높이 · 성과보고 통합 · CTA 띠 리듬 ===== */
/* 히어로를 뷰포트보다 살짝 낮춰 다음 섹션이 화면 아래에 걸치게 한다(스크롤 유도) */
.hero{min-height:88vh;min-height:88svh}
@media(max-width:768px){ .hero{min-height:92vh;min-height:92svh} }

/* cases 안으로 들어온 성과보고 블록 */
.cases-proof{margin-top:72px;padding-top:44px;border-top:1px solid var(--border)}
.cases-sub{text-align:center;margin-bottom:2rem}
.cases-sub b{display:block;font-size:1.45rem;font-weight:800;color:var(--text);letter-spacing:-.035em}
.cases-sub span{display:block;margin-top:.5rem;font-size:.95rem;color:var(--text3)}
@media(max-width:768px){
  .cases-proof{margin-top:48px;padding-top:32px}
  .cases-sub b{font-size:1.2rem}
  .cases-sub span{font-size:.875rem}
}
/* 통합했으므로 성과보고 블록 자체 상단 여백은 제거 */
.cases-proof .proof-wrap{margin-top:0}

/* CTA 띠 — 본문 흐름을 끊지 않도록 높이를 낮춘다 */
.cta-band{padding:2rem 5%}
@media(max-width:768px){ .cta-band{padding:1.6rem 4%} }

/* ===== 개편: 섹션 상하 여백 일괄 축소 (전 구간 동일 리듬) ===== */
.sec,.badagency,.founder-sec,.interview-sec,.principle-sec,.contact-sec{
  padding-top:76px;padding-bottom:76px
}
.founder-sec{padding-bottom:80px!important}
@media(max-width:768px){
  .sec,.badagency,.founder-sec,.interview-sec,.principle-sec,.contact-sec{
    padding-top:52px;padding-bottom:52px
  }
  .founder-sec{padding-bottom:56px!important}
}

/* ===== 추천 2줄 강조 강화 (배경·좌측바·배지 + 빛 스침) ===== */
.ch-row.ch-hot{
  position:relative;overflow:hidden;
  animation:hotGlow2 2.6s ease-in-out infinite
}
.ch-row.ch-hot:before{
  width:4px;
  animation:hotBar2 2.6s ease-in-out infinite
}
.ch-row.ch-hot .svc-hot{
  animation:hotBadge2 2.6s ease-in-out infinite
}
/* 파란 빛이 왼쪽에서 오른쪽으로 훑고 지나간다 */
.ch-row.ch-hot:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,
    transparent 0%,
    rgba(21,82,196,.00) 30%,
    rgba(21,82,196,.16) 46%,
    rgba(255,255,255,.55) 52%,
    rgba(21,82,196,.16) 58%,
    rgba(21,82,196,.00) 74%,
    transparent 100%);
  background-size:220% 100%;
  animation:hotSweep 2.6s ease-in-out infinite
}
@keyframes hotGlow2{
  0%,100%{background:linear-gradient(90deg,#EDF4FF 0%,#F6FAFF 70%,transparent 100%)}
  50%    {background:linear-gradient(90deg,#D3E4FF 0%,#EAF3FF 72%,transparent 100%)}
}
@keyframes hotBar2{
  0%,100%{opacity:.6;box-shadow:0 0 0 0 rgba(21,82,196,0)}
  50%    {opacity:1;box-shadow:0 0 16px 3px rgba(21,82,196,.65)}
}
@keyframes hotBadge2{
  0%,100%{transform:scale(1);   box-shadow:0 0 0 0 rgba(21,82,196,.55)}
  50%    {transform:scale(1.08);box-shadow:0 0 0 8px rgba(21,82,196,0)}
}
@keyframes hotSweep{
  0%     {background-position:140% 0;opacity:0}
  18%    {opacity:1}
  70%    {background-position:-40% 0;opacity:1}
  85%,100%{background-position:-40% 0;opacity:0}
}
/* 두 줄이 동시에 번쩍이면 산만하므로 두 번째 줄만 살짝 늦게 */
.ch-row.ch-hot + .ch-row.ch-hot,
.ch-row.ch-hot + .ch-row.ch-hot:before,
.ch-row.ch-hot + .ch-row.ch-hot:after,
.ch-row.ch-hot + .ch-row.ch-hot .svc-hot{animation-delay:.42s}
@media(prefers-reduced-motion:reduce){
  .ch-row.ch-hot,.ch-row.ch-hot:before,
  .ch-row.ch-hot:after,.ch-row.ch-hot .svc-hot{animation:none}
  .ch-row.ch-hot:after{display:none}
}

/* ===== 대표 이력 · 연결 타임라인 ===== */
.fd-career2{max-width:1140px;margin:3rem auto 0;text-align:left}
.fd-career2 *{text-align:left}
.fd-career-t2{font-size:.78rem;font-weight:900;color:var(--text3);letter-spacing:.08em;margin-bottom:1.5rem}
.fd-tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1.6rem}
.fd-tl li{position:relative;padding-top:1.7rem}
/* 점: 시간축 위의 정점 */
.fd-tl li>i{position:absolute;top:0;left:0;width:14px;height:14px;border-radius:50%;
  background:var(--white);border:3px solid #C9D4E3;box-sizing:border-box}
.fd-tl li.now>i{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 5px rgba(21,82,196,.14)}
/* 선: 내 점에서 다음 점까지 끊김 없이 */
.fd-tl li:before{content:"";position:absolute;top:6px;left:20px;right:-1.6rem;height:2px;background:#DFE6EF}
.fd-tl li:last-child:before{display:none}
.fd-tl .fc-now,.fd-tl .fc-pre{vertical-align:1px;margin-right:.45rem}
.fd-tl b{font-size:.92rem;font-weight:600;color:var(--text2);letter-spacing:-.025em;line-height:1.5}
.fd-tl li.now b{font-weight:800;color:var(--text)}
.fd-tl small{display:block;margin-top:.35rem;margin-left:calc(22px + .45rem);
  font-size:.76rem;font-weight:600;color:var(--blue)}
@media(max-width:900px){
  /* 모바일: 세로 타임라인 */
  .fd-tl{grid-template-columns:1fr;gap:0}
  .fd-tl li{padding:0 0 1.15rem 2rem}
  .fd-tl li:last-child{padding-bottom:0}
  .fd-tl li>i{top:2px}
  .fd-tl li:before{top:18px;bottom:2px;left:6px;right:auto;width:2px;height:auto}
  .fd-tl small{margin-left:calc(22px + .45rem)}
}

/* 타임라인: 5개 노드 · 시간순 */
.fd-tl{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 1.3rem}
.fd-tl li:before{right:-1.3rem}
.fd-tl li.mid>i{border-color:var(--blue);background:var(--white)}
.fc-year{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 .5rem;
  border-radius:6px;font-size:.7rem;font-weight:900;color:var(--blue);
  border:1.5px solid var(--blue);background:var(--white);box-sizing:border-box}
.fd-tl .fc-now{width:auto;padding:0 .5rem}
.fd-tl .fc-year{vertical-align:1px;margin-right:.45rem}
.fd-tl li.mid b{font-weight:700;color:var(--text)}

/* ===== 대표 이력 · 네케팅 본선 + 병행 트랙 ===== */
.fd-career2{max-width:1140px;margin:3rem auto 0}
.fd-career-t2{font-size:.78rem;font-weight:900;color:var(--text3);letter-spacing:.08em;margin-bottom:1.4rem}

/* 본선: 2021부터 현재까지 끊기지 않는 한 줄 */
.fd-run{position:relative;padding-top:7px}
.fd-run-line{position:relative;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#9DC0F5 0%,var(--blue) 100%)}
.fd-run-line span{position:absolute;top:50%;width:15px;height:15px;border-radius:50%;
  transform:translateY(-50%);box-sizing:border-box}
.fd-run-a{left:0;background:var(--white);border:3px solid var(--blue)}
.fd-run-b{right:0;background:var(--blue);border:3px solid var(--blue);
  box-shadow:0 0 0 5px rgba(21,82,196,.14)}
.fd-run-ends{display:flex;justify-content:space-between;gap:1rem;margin-top:.85rem}
.fd-run-end{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
.fd-run-end.right{align-items:flex-end;text-align:right}
.fd-run-end b{font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.03em}
.fd-yr{display:inline-flex;align-items:center;height:22px;padding:0 .55rem;border-radius:6px;
  font-size:.72rem;font-weight:900;color:var(--blue);background:#EAF2FF}
.fd-yr.now{background:var(--blue);color:#fff}
.fd-yr.sm{margin-right:.45rem;background:var(--bg);color:var(--text3)}

/* 병행 트랙 */
.fd-along{margin-top:1.9rem;padding-top:1.4rem;border-top:1px solid var(--border)}
.fd-along-t{font-size:.8rem;font-weight:700;color:var(--text3);margin-bottom:.9rem}
.fd-along ul{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1.6rem}
.fd-along li{position:relative;padding-left:1.05rem}
.fd-along li:before{content:"";position:absolute;left:0;top:.46em;width:8px;height:8px;
  border-radius:50%;background:var(--white);border:2px solid #C9D4E3;box-sizing:border-box}
.fd-along b{display:block;font-size:.9rem;font-weight:600;color:var(--text2);
  letter-spacing:-.025em;line-height:1.5}
.fd-along small{display:block;margin-top:.25rem;font-size:.76rem;font-weight:600;color:var(--blue)}

@media(max-width:760px){
  /* 모바일: 본선을 세로 막대로 세운다 */
  .fd-run{padding-top:0;padding-left:1.5rem}
  .fd-run-line{position:absolute;left:6px;top:10px;bottom:10px;width:3px;height:auto;
    background:linear-gradient(180deg,#9DC0F5 0%,var(--blue) 100%)}
  .fd-run-line span{top:auto;left:50%;transform:translateX(-50%)}
  .fd-run-a{top:-8px}
  .fd-run-b{bottom:-8px;right:auto}
  .fd-run-ends{flex-direction:column;gap:1.3rem;margin-top:0}
  .fd-run-end.right{align-items:flex-start;text-align:left}
  .fd-along ul{grid-template-columns:1fr;gap:.85rem}
}

/* ===== 대표 이력 · 실제 기간 차트 ===== */
.fd-career2{max-width:1140px;margin:3rem auto 0}
.fd-career-t2{font-size:.78rem;font-weight:900;color:var(--text3);letter-spacing:.08em;margin-bottom:.5rem}
.fd-career-s{font-size:.92rem;color:var(--text2);margin:0 0 1.5rem;letter-spacing:-.02em}
.fd-gantt{--lb:262px;--gap:1.4rem}
.fg-axis{position:relative;height:18px;margin-left:calc(var(--lb) + var(--gap))}
.fg-axis span{position:absolute;top:0;transform:translateX(-50%);
  font-size:.72rem;font-weight:800;color:var(--text3);letter-spacing:.02em}
.fg-row{display:grid;grid-template-columns:var(--lb) minmax(0,1fr);gap:var(--gap);
  align-items:center;padding:.5rem 0}
.fg-lb b{display:block;font-size:.88rem;font-weight:600;color:var(--text2);
  letter-spacing:-.025em;line-height:1.45}
.fg-lb span{display:block;margin-top:.15rem;font-size:.75rem;color:var(--text3);
  font-variant-numeric:tabular-nums}
.fg-row.is-main .fg-lb b{font-weight:800;color:var(--text);font-size:.95rem}
.fg-row.is-main .fg-lb span{color:var(--blue);font-weight:700}
/* 트랙 */
.fg-tr{position:relative;height:26px;border-radius:8px;background:#F1F4F8}
.fg-tr>i{position:absolute;top:0;bottom:0;border-radius:8px;
  background:#C7D3E2;display:flex;align-items:center;padding:0 .7rem}
.fg-row.is-main .fg-tr{height:38px}
.fg-row.is-main .fg-tr>i{background:linear-gradient(90deg,#2F6FE0,var(--blue));
  box-shadow:0 4px 12px rgba(21,82,196,.28)}
.fg-tr>i>em{font-style:normal;font-size:.78rem;font-weight:800;color:#fff;letter-spacing:-.02em}
@media(max-width:820px){
  .fd-gantt{--lb:1fr;--gap:0}
  .fg-axis{margin-left:0;height:16px}
  .fg-row{grid-template-columns:1fr;gap:.4rem;padding:.55rem 0}
  .fg-tr{height:20px}
  .fg-row.is-main .fg-tr{height:28px}
  .fg-lb b{font-size:.85rem}
}

/* 기간 차트 보강: 첫 눈금 · 네케팅 시작 기준선 */
.fg-axis span.first{transform:none}
.fg-body{position:relative}
.fg-mark{position:absolute;inset:0;display:grid;
  grid-template-columns:var(--lb) minmax(0,1fr);gap:var(--gap);pointer-events:none;z-index:0}
.fg-mark-tr{position:relative}
.fg-mark-tr>span{position:absolute;top:2px;bottom:2px;width:0;
  border-left:2px dashed rgba(21,82,196,.4)}
.fg-row{position:relative;z-index:1}
@media(max-width:820px){
  .fg-mark{grid-template-columns:1fr}
  .fg-mark>div:first-child{display:none}
}

/* ===== 모바일 사례 접기 ===== */
@media(max-width:900px){
  .cases-orig.is-folded > .ccard:nth-child(n+3){display:none}
  .cases-more2{display:block;width:100%;max-width:340px;margin:1.3rem auto 0;
    min-height:50px;padding:.9rem 1.6rem;
    border:1.5px solid var(--blue);border-radius:999px;background:var(--white);
    color:var(--blue);font-weight:800;font-size:.95rem;letter-spacing:-.02em;cursor:pointer}
  .cases-more2:active{background:var(--blue);color:#fff}
}
/* ===== 모바일 터치 영역 44px 확보 ===== */
@media(max-width:768px){
  /* 개인정보 동의 — 제출을 막는 필수 항목이라 가장 중요 */
  label.privacy-agree{min-height:46px;display:flex;align-items:center;gap:.6rem;
    padding:.5rem .2rem;margin-top:.2rem}
  label.privacy-agree input[type="checkbox"]{width:20px;height:20px;flex:none}
  /* 닫기·메뉴 버튼 */
  #nav-burger,.drawer-close{min-width:44px;min-height:44px}
  .nav-btn{min-height:44px;display:inline-flex;align-items:center}
  /* 본문 인라인 링크 */
  .hp-more,.src-note a,.drawer-logo{display:inline-flex;align-items:center;min-height:44px}
  /* 푸터 링크 — 겹치지 않을 만큼만 (푸터가 과하게 길어지지 않게) */
  .foot-links,.foot-spokes{line-height:2.2}
  .foot-links a,.foot-spokes a{display:inline-block;padding:.28rem 0}
  /* 개인정보 '자세히' — 동의 라벨 안의 보조 링크 */
  label.privacy-agree a{display:inline-flex;align-items:center;min-height:40px;padding:0 .3rem}
}

/* ===== 모바일: 가격표를 가로 스크롤 대신 플랜 탭으로 ===== */
.pkg-tabs{display:none}
@media(max-width:720px){
  .pkg-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0 0 1rem}
  .pkg-tabs button{min-height:48px;padding:.5rem .3rem;border:1.5px solid var(--border);
    background:var(--white);border-radius:10px;font-size:.85rem;font-weight:700;
    color:var(--text2);letter-spacing:-.025em;cursor:pointer;
    transition:border-color .18s,background .18s,color .18s}
  .pkg-tabs button.on{border-color:var(--blue);background:var(--blue);color:#fff}
  /* 가로 스크롤 제거 */
  .pkg-cmp{overflow-x:visible}
  .pkg-cmp .cmp{min-width:0!important}
  .pkg-cmp .cmp>div{min-width:0!important}
  .pkg-cmp .cmp .ch,
  .pkg-cmp .cmp .cr{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)!important}
  /* 선택한 플랜 열만 남긴다 */
  .pkg-cmp .cmp .cr [data-col]{display:none}
  .pkg-cmp .cmp[data-plan="1"] .cr [data-col="1"],
  .pkg-cmp .cmp[data-plan="2"] .cr [data-col="2"],
  .pkg-cmp .cmp[data-plan="3"] .cr [data-col="3"]{display:flex}
  .pkg-cmp .cmp .ch [data-col]{display:none}
  .pkg-cmp .cmp[data-plan="1"] .ch [data-col="1"],
  .pkg-cmp .cmp[data-plan="2"] .ch [data-col="2"],
  .pkg-cmp .cmp[data-plan="3"] .ch [data-col="3"]{display:block}
  /* 한 열만 보이므로 강조 배경은 끈다 */
  .pkg-cmp .cmp .cc.mid{background:transparent}
  .pkg-cmp .cmp .cr.sp .cc.y{background:transparent;color:var(--blue)}
  .pkg-cmp .cmp .ct{border-radius:12px}
}

/* ===== 실기기 대응: 연도 눈금 겹침 · 가격표 JS 실패 대비 ===== */
@media(max-width:640px){
  /* 눈금이 붙어서 '20202021'로 겹치던 문제 — 격년만 표기 */
  .fg-axis span:nth-of-type(2),
  .fg-axis span:nth-of-type(4),
  .fg-axis span:nth-of-type(6){display:none}
  .fg-axis span{font-size:.68rem}
}
@media(max-width:720px){
  /* 탭 스크립트가 실행되지 않아도 한 열만 보이게 하는 안전장치.
     data-plan 이 붙기 전에는 2·4번째 열(스타터·풀채널)을 숨겨 그로스만 남긴다. */
  .pkg-cmp .cmp:not([data-plan]) .ch > *:nth-child(2),
  .pkg-cmp .cmp:not([data-plan]) .ch > *:nth-child(4),
  .pkg-cmp .cmp:not([data-plan]) .cr > *:nth-child(2),
  .pkg-cmp .cmp:not([data-plan]) .cr > *:nth-child(4){display:none}
}

/* ===== 모바일 히어로 버튼: 2열 그리드가 화면 끝에 닿던 문제 ===== */
@media(max-width:640px){
  .hero-split .hero-btns{grid-template-columns:1fr;max-width:100%;gap:.6rem}
  .hero-split .hero-btns .btn-main,
  .hero-split .hero-btns .btn-ghost{width:100%;white-space:normal}
}

/* ===== 모바일 보수 2건 ===== */
@media(max-width:900px){
  /* 채널 표 '첫 성과' 막대 — 플렉스 안에서 폭이 0이 되어 점만 남던 문제 */
  .ch-when{display:flex;align-items:center;gap:.55rem}
  .ch-when-v{flex:none}
  .ch-bar{flex:1 1 auto;min-width:90px;max-width:190px}
  .ch-when-k{flex:none}
}
@media(max-width:820px){
  /* 이력 차트 기준 점선 — 세로 배치에서는 글자를 관통해 보여 제거 */
  .fd-gantt .fg-mark{display:none}
  /* 막대 대비 강화 */
  .fg-tr{background:#EAEFF5}
  .fg-tr>i{background:#AFC0D6}
}

/* ===== 모바일 가격표 헤더: 한 플랜만 보이므로 카드가 폭을 다 쓰게 ===== */
@media(max-width:720px){
  .pkg-cmp .cmp .ch{grid-template-columns:1fr!important;padding-top:14px}
  .pkg-cmp .cmp .ch .chn{display:none}          /* '제공 항목' 라벨 — 탭이 대신함 */
  .pkg-cmp .cmp .ch .ct{border-radius:14px;padding:16px 14px 14px}
  .pkg-cmp .cmp .ch .ct.on{padding-top:26px}
  .pkg-cmp .cmp .ctd{display:none}              /* 카드 안 설명 2줄 — 탭과 중복 */
  .pkg-cmp .cmp .ctn{font-size:20px}
  .pkg-cmp .cmp .ctp{font-size:14px}
  /* 첫 항목 그룹 라벨이 카드에 붙지 않도록 */
  .pkg-cmp .cmp .cg:first-of-type{padding-top:18px}
}

/* ===== 채널표 '첫 성과' — 기간 막대 제거 =====
   막대 길이가 '걸리는 기간'이라 빠른 채널일수록 짧게 보였고,
   진행률 게이지로 오해돼 '아직 성과에 못 미쳤다'로 읽혔다.
   기간 비교는 아래 성과 기간 섹션의 축 그래프가 담당한다. */
.ch-bar{display:none!important}
.ch-when{display:flex;align-items:baseline;gap:.4rem;text-align:left}
.ch-when-v{flex:none}
.ch-when-k{flex:none;margin-top:0}
@media(min-width:901px){
  .ch-when{justify-content:center}
}

/* 데스크톱은 열 제목에 '첫 성과'가 이미 있어 칸의 반복 라벨을 숨긴다.
   모바일은 표 헤더가 사라지므로 라벨을 남겨 맥락을 유지한다. */
@media(min-width:901px){ .ch-when-k{display:none} }

/* 열 제목 '첫 성과'를 아래 값(3~6개월)과 같은 축에 맞춘다 */
@media(min-width:901px){ .ch-head > div:nth-child(3){text-align:center} }

/* ===== 고객 인터뷰 · 영상 2개 ===== */
.iv-two{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.iv-card{margin:0;display:flex;flex-direction:column}
.iv-vid{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:1/1;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 44px rgba(0,0,0,.42)}
.iv-vid video{width:100%;height:100%;display:block;object-fit:cover}
.iv-card figcaption{padding:1.15rem .2rem 0}
.iv-q{margin:0;font-size:1.02rem;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1.62}
.iv-who{display:block;margin-top:.6rem;font-size:.85rem;font-weight:700;color:#6FA8FF;letter-spacing:-.02em}
.iv-note{list-style:none;margin:2.6rem 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:.7rem 1.8rem;justify-content:center}
.iv-note li{position:relative;padding-left:1.3rem;font-size:.92rem;
  color:rgba(255,255,255,.72);letter-spacing:-.02em}
.iv-note li:before{content:"";position:absolute;left:0;top:.42em;width:7px;height:7px;
  border-radius:50%;background:#6FA8FF}
@media(max-width:820px){
  .iv-two{grid-template-columns:1fr;gap:2.2rem}
  .iv-q{font-size:.96rem}
  .iv-note{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:2rem}
}

/* 채널표 1열 폭: GEO 이름+추천 배지가 2열과 겹치지 않도록 */
@media(min-width:769px){.ch-head,.ch-row{grid-template-columns:272px minmax(0,.82fr) 108px minmax(0,1.04fr)}}

.svc-check-grid .svc-check:nth-child(9){grid-column:1/-1}

/* svc-3col: 관심 서비스 3열 */
#contact .svc-check-grid{grid-template-columns:repeat(3,1fr);gap:.55rem}
#contact .svc-check{padding:.62rem .6rem!important;gap:.45rem}
#contact .svc-check span{font-size:.78rem;line-height:1.3;word-break:keep-all}
.svc-check-grid .svc-check:nth-child(9){grid-column:auto}
@media(max-width:768px){#contact .svc-check-grid{grid-template-columns:repeat(2,1fr)}.svc-check-grid .svc-check:nth-child(9){grid-column:1/-1}}
@media(max-width:400px){#contact .svc-check-grid{grid-template-columns:1fr}.svc-check-grid .svc-check:nth-child(9){grid-column:auto}}
/* B3 2026-10-24 */
.cv-sample{margin-top:12px}.cv-sample a{color:#fff;font-weight:700;font-size:.92rem;text-decoration:underline;text-underline-offset:3px;opacity:.92}
