/* ============================================================
   콩티켓 — Glassmorphism Dark Aurora
   prefix: .kt- (그누보드 코어 CSS 충돌 방지)
   ============================================================ */
:root{
  --kt-bg:#050414;
  --kt-bg-2:#0A0820;
  --kt-ink:#F8FAFC;
  --kt-ink-sub:#94A3B8;
  --kt-ink-muted:#64748B;
  --kt-purple:#A855F7;
  --kt-cyan:#06B6D4;
  --kt-magenta:#EC4899;
  --kt-indigo:#6366F1;
  --kt-glass:rgba(255,255,255,0.05);
  --kt-glass-strong:rgba(255,255,255,0.08);
  --kt-glass-border:rgba(255,255,255,0.08);
  --kt-glass-border-strong:rgba(255,255,255,0.14);
  --kt-hairline:rgba(255,255,255,0.06);
  --kt-shadow-card:0 8px 32px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.10);
  --kt-glow-cta:0 0 60px rgba(168,85,247,0.5);
  --kt-ease:cubic-bezier(0.16,1,0.3,1);
  --kt-maxw:1240px;
  --kt-pad-x:20px;
  --kt-header-h:64px;

  --kt-display:88px;
  --kt-h1:48px;
  --kt-h2:36px;
  --kt-h3:24px;
  --kt-body:17px;
}
@media (min-width:768px){ :root{ --kt-pad-x:48px; --kt-header-h:72px; } }
@media (min-width:1024px){ :root{ --kt-pad-x:48px; --kt-header-h:80px; } }
@media (max-width:767px){
  :root{
    --kt-display:44px;
    --kt-h1:32px;
    --kt-h2:26px;
    --kt-h3:20px;
    --kt-body:16px;
  }
}

/* Body baseline (page-level override) */
body.kt-page{
  font-family:'Pretendard Variable', Pretendard, 'Geist', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  background:var(--kt-bg);
  color:var(--kt-ink);
  font-size:var(--kt-body);
  line-height:1.6;
  letter-spacing:-0.02em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
  padding-bottom:env(safe-area-inset-bottom);
  margin:0;
}
body.kt-page *{ box-sizing:border-box; }
body.kt-page::selection{ background:rgba(168,85,247,0.45); color:#fff; }
body.kt-page a{ color:inherit; text-decoration:none; }
body.kt-page img{ max-width:100%; display:block; }

.kt-mono{ font-family:'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:0; }
.kt-en{ font-family:'Geist', 'Pretendard Variable', sans-serif; letter-spacing:-0.025em; }

.kt-container{
  width:100%;
  max-width:var(--kt-maxw);
  margin:0 auto;
  padding-left:var(--kt-pad-x);
  padding-right:var(--kt-pad-x);
}

/* ============================================================
   Aurora background
   ============================================================ */
.kt-aurora{
  position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(99,102,241,0.18), transparent 60%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(6,182,212,0.10), transparent 65%),
    var(--kt-bg);
}
.kt-aurora::after{
  content:""; position:absolute; inset:-50%;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:0.5; mix-blend-mode:overlay; pointer-events:none;
}
.kt-blob{
  position:absolute; border-radius:50%;
  filter:blur(90px);
  opacity:0.55;
  will-change:transform;
  transition:transform 1200ms var(--kt-ease);
}
.kt-blob.kt-b1{ width:760px; height:760px; left:-180px; top:-220px;
  background:radial-gradient(circle at 30% 30%, #A855F7, transparent 70%); }
.kt-blob.kt-b2{ width:700px; height:700px; right:-220px; top:-120px;
  background:radial-gradient(circle at 40% 40%, #06B6D4, transparent 70%); }
.kt-blob.kt-b3{ width:640px; height:640px; left:30%; top:30%;
  background:radial-gradient(circle at 50% 50%, #EC4899, transparent 70%); opacity:0.40; }
.kt-blob.kt-b4{ width:560px; height:560px; left:-100px; bottom:-160px;
  background:radial-gradient(circle at 50% 50%, #6366F1, transparent 70%); }
.kt-blob.kt-b5{ width:720px; height:720px; right:-160px; bottom:-220px;
  background:radial-gradient(circle at 50% 50%, #A855F7, transparent 70%); opacity:0.45; }

.kt-blob.kt-b1{ animation:kt-drift 22s ease-in-out infinite alternate; }
.kt-blob.kt-b2{ animation:kt-drift2 28s ease-in-out infinite alternate; }
.kt-blob.kt-b3{ animation:kt-drift3 32s ease-in-out infinite alternate; }
.kt-blob.kt-b4{ animation:kt-drift 26s ease-in-out infinite alternate-reverse; }
.kt-blob.kt-b5{ animation:kt-drift2 30s ease-in-out infinite alternate-reverse; }

@keyframes kt-drift{
  0%   { transform:translate3d(0,0,0) rotate(0deg) scale(1); }
  50%  { transform:translate3d(60px,-40px,0) rotate(18deg) scale(1.08); }
  100% { transform:translate3d(-30px,50px,0) rotate(-12deg) scale(0.95); }
}
@keyframes kt-drift2{
  0%   { transform:translate3d(0,0,0) rotate(0) scale(1); }
  50%  { transform:translate3d(-50px,30px,0) rotate(-14deg) scale(1.1); }
  100% { transform:translate3d(40px,-50px,0) rotate(10deg) scale(0.92); }
}
@keyframes kt-drift3{
  0%   { transform:translate3d(0,0,0) rotate(0) scale(1); }
  50%  { transform:translate3d(30px,40px,0) rotate(20deg) scale(1.15); }
  100% { transform:translate3d(-40px,-30px,0) rotate(-18deg) scale(0.9); }
}
@media (max-width:767px){
  .kt-blob{ filter:blur(60px); opacity:0.45; }
  .kt-blob.kt-b3, .kt-blob.kt-b5{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .kt-blob{ animation:none !important; }
}

/* ============================================================
   Glass
   ============================================================ */
.kt-glass{
  background:var(--kt-glass);
  backdrop-filter:blur(40px) saturate(140%);
  -webkit-backdrop-filter:blur(40px) saturate(140%);
  border:1px solid var(--kt-glass-border);
  border-radius:24px;
  box-shadow:var(--kt-shadow-card);
  position:relative;
}
.kt-glass::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0) 40%);
  opacity:0.7;
}
@media (max-width:767px){
  .kt-glass{ backdrop-filter:blur(24px) saturate(140%); -webkit-backdrop-filter:blur(24px) saturate(140%); }
}

/* ============================================================
   Buttons
   ============================================================ */
.kt-btn{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:54px; padding:0 22px;
  border-radius:14px;
  font-weight:600; font-size:16px; letter-spacing:-0.01em;
  transition:transform .25s var(--kt-ease), box-shadow .25s var(--kt-ease), background .25s var(--kt-ease), border-color .25s var(--kt-ease);
  white-space:nowrap;
  cursor:pointer;
  border:0;
  font-family:inherit;
  color:inherit;
}
.kt-btn .kt-ic{ width:18px; height:18px; flex-shrink:0; }
.kt-btn.kt-lg{ height:58px; padding:0 28px; font-size:17px; }
.kt-btn.kt-sm{ height:44px; padding:0 16px; font-size:14px; border-radius:12px; }

.kt-btn-primary{
  color:#fff;
  background:linear-gradient(135deg, #A855F7 0%, #06B6D4 100%);
  box-shadow:0 8px 24px rgba(168,85,247,0.35), inset 0 1px 0 rgba(255,255,255,0.25);
  isolation:isolate;
}
.kt-btn-primary::before{
  content:""; position:absolute; inset:-2px; z-index:-1; border-radius:inherit;
  background:linear-gradient(135deg, #A855F7, #06B6D4);
  filter:blur(20px); opacity:0.55; transition:opacity .3s var(--kt-ease), filter .3s var(--kt-ease);
}
.kt-btn-primary:hover{ transform:translateY(-2px); }
.kt-btn-primary:hover::before{ opacity:0.85; filter:blur(28px); }

.kt-btn-glass{
  color:var(--kt-ink);
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--kt-glass-border-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
}
.kt-btn-glass:hover{ background:rgba(255,255,255,0.10); transform:translateY(-2px); border-color:rgba(168,85,247,0.5); }
.kt-btn-ghost{ color:var(--kt-ink-sub); background:none; }
.kt-btn-ghost:hover{ color:var(--kt-ink); }

/* ============================================================
   Header
   ============================================================ */
.kt-header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  height:var(--kt-header-h);
  display:flex; align-items:center;
  transition:background .3s var(--kt-ease), backdrop-filter .3s var(--kt-ease), border-color .3s var(--kt-ease);
  border-bottom:1px solid transparent;
}
.kt-header.kt-scrolled{
  background:rgba(5,4,20,0.6);
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  border-bottom-color:var(--kt-hairline);
}
.kt-header .kt-container{ display:flex; align-items:center; justify-content:space-between; gap:24px; }

.kt-logo{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:20px; letter-spacing:-0.03em; color:var(--kt-ink); }
.kt-logo-mark{
  width:32px; height:32px; border-radius:10px; flex-shrink:0;
  background:linear-gradient(135deg,#A855F7,#06B6D4);
  display:grid; place-items:center; color:#fff;
  box-shadow:0 4px 16px rgba(168,85,247,0.4), inset 0 1px 0 rgba(255,255,255,0.3);
  position:relative;
}
.kt-logo-mark svg{ width:18px; height:18px; }

.kt-nav{ display:none; align-items:center; gap:28px; font-size:15px; color:var(--kt-ink-sub); }
.kt-nav a{ transition:color .2s var(--kt-ease); }
.kt-nav a:hover, .kt-nav a.kt-active{ color:var(--kt-ink); }

.kt-header-actions{ display:flex; align-items:center; gap:10px; }
.kt-header-phone-mini{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:12px;
  background:rgba(255,255,255,0.05); border:1px solid var(--kt-glass-border);
  color:var(--kt-ink);
}
.kt-header-phone-mini svg{ width:20px; height:20px; }
.kt-hamburger{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:12px;
  background:rgba(255,255,255,0.05); border:1px solid var(--kt-glass-border);
  cursor:pointer;
}
.kt-hamburger span{ display:block; width:18px; height:2px; background:var(--kt-ink); border-radius:2px; position:relative; }
.kt-hamburger span::before, .kt-hamburger span::after{
  content:""; position:absolute; left:0; right:0; height:2px; background:var(--kt-ink); border-radius:2px;
}
.kt-hamburger span::before{ top:-6px; }
.kt-hamburger span::after{ top:6px; }

@media (min-width:1024px){
  .kt-nav{ display:flex; }
  .kt-hamburger{ display:none; }
  .kt-header-phone-mini{ display:none; }
  .kt-header-cta-desktop{ display:inline-flex; }
}
.kt-header-cta-desktop{ display:none; }

.kt-menu-drawer{
  position:fixed; inset:0; z-index:60; display:none;
  background:rgba(5,4,20,0.7); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
}
.kt-menu-drawer.kt-open{ display:flex; flex-direction:column; }
.kt-menu-drawer .kt-drawer-top{
  height:var(--kt-header-h); display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--kt-pad-x); border-bottom:1px solid var(--kt-hairline);
}
.kt-menu-drawer nav{ display:flex; flex-direction:column; padding:24px var(--kt-pad-x); gap:4px; }
.kt-menu-drawer nav a{
  padding:18px 16px; border-radius:14px; font-size:18px; font-weight:600;
  display:flex; align-items:center; justify-content:space-between;
  border:1px solid transparent;
  color:var(--kt-ink);
}
.kt-menu-drawer nav a:hover, .kt-menu-drawer nav a:active{ background:rgba(255,255,255,0.05); border-color:var(--kt-glass-border); }
.kt-menu-drawer .kt-cta-stack{ padding:8px var(--kt-pad-x) 32px; display:flex; flex-direction:column; gap:10px; }

/* ============================================================
   Generic section / typography
   ============================================================ */
.kt-section{ position:relative; z-index:1; padding:80px 0; }
@media (min-width:768px){ .kt-section{ padding:100px 0; } }
@media (min-width:1024px){ .kt-section{ padding:140px 0; } }

.kt-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:rgba(168,85,247,0.10);
  border:1px solid rgba(168,85,247,0.25);
  font-size:13px; font-weight:600;
  color:#E9D5FF;
  letter-spacing:0;
}
.kt-eyebrow .kt-dot{
  width:6px; height:6px; border-radius:50%;
  background:#A855F7; box-shadow:0 0 12px #A855F7;
  animation:kt-pulse 2s ease-in-out infinite;
}
@keyframes kt-pulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.5; transform:scale(0.8); }
}

.kt-page h1,.kt-page h2,.kt-page h3,.kt-page h4{ margin:0; line-height:1.15; letter-spacing:-0.035em; font-weight:800; color:var(--kt-ink); }
.kt-display{ font-size:var(--kt-display); line-height:1.05; font-weight:800; }
.kt-h1{ font-size:var(--kt-h1); }
.kt-h2{ font-size:var(--kt-h2); }
.kt-h3{ font-size:var(--kt-h3); }

.kt-glow-text{ text-shadow:0 0 60px rgba(168,85,247,0.4); }
.kt-gradient-text{
  background:linear-gradient(135deg, #C4B5FD 0%, #A855F7 40%, #06B6D4 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  -webkit-text-fill-color:transparent;
}

.kt-section-head{ max-width:780px; margin:0 auto 56px; text-align:center; }
.kt-section-head .kt-h2{ margin-top:16px; }
.kt-section-head p{ color:var(--kt-ink-sub); font-size:17px; margin-top:18px; }

/* ============================================================
   Hero
   ============================================================ */
.kt-hero{
  position:relative; z-index:1;
  padding-top:calc(var(--kt-header-h) + 56px);
  padding-bottom:80px;
}
@media (min-width:768px){ .kt-hero{ padding-top:calc(var(--kt-header-h) + 88px); padding-bottom:120px; } }
@media (min-width:1024px){ .kt-hero{ padding-top:calc(var(--kt-header-h) + 120px); padding-bottom:160px; } }

.kt-hero-inner{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.kt-hero-eyebrow{ margin-bottom:24px; }
.kt-hero h1{
  font-size:var(--kt-display);
  font-weight:800; line-height:1.02; letter-spacing:-0.04em;
  max-width:14ch; margin:0 auto;
}
.kt-hero h1 .kt-ln{ display:block; }
.kt-hero-sub{
  color:var(--kt-ink-sub); font-size:18px; margin-top:28px; max-width:560px; line-height:1.6;
}
@media (min-width:768px){ .kt-hero-sub{ font-size:20px; margin-top:32px; } }

.kt-hero-cta{
  display:flex; flex-direction:column; gap:12px; margin-top:40px; width:100%; max-width:420px;
}
@media (min-width:600px){
  .kt-hero-cta{ flex-direction:row; max-width:none; width:auto; }
}

.kt-hero-stats{
  display:grid; gap:12px; margin-top:64px; width:100%;
  grid-template-columns:1fr;
}
@media (min-width:640px){ .kt-hero-stats{ grid-template-columns:repeat(3,1fr); gap:16px; } }
@media (min-width:1024px){ .kt-hero-stats{ margin-top:88px; gap:20px; max-width:980px; } }

.kt-stat-card{ padding:24px; text-align:left; }
@media (min-width:768px){ .kt-stat-card{ padding:28px 32px; } }
.kt-stat-card .kt-label{ font-size:13px; color:var(--kt-ink-sub); font-weight:500; }
.kt-stat-card .kt-value{
  margin-top:8px; font-size:34px; line-height:1; font-weight:800; letter-spacing:-0.03em;
  background:linear-gradient(135deg,#fff 0%, #C4B5FD 50%, #67E8F9 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  display:flex; align-items:baseline; gap:4px;
}
@media (min-width:768px){ .kt-stat-card .kt-value{ font-size:42px; } }
.kt-stat-card .kt-value .kt-unit{ font-size:18px; color:var(--kt-ink-sub); -webkit-text-fill-color:var(--kt-ink-sub); background:none; }
.kt-stat-card .kt-sub{ margin-top:10px; color:var(--kt-ink-muted); font-size:13px; }

[data-kt-reveal]{ opacity:0; transform:translateY(20px); filter:blur(8px); transition:opacity .9s var(--kt-ease), transform .9s var(--kt-ease), filter .9s var(--kt-ease); }
[data-kt-reveal].kt-in{ opacity:1; transform:none; filter:blur(0); }

/* ============================================================
   Trust strip
   ============================================================ */
.kt-trust{ padding:24px 0 0; }
.kt-trust .kt-container{ position:relative; }
.kt-trust-grid{ display:grid; gap:12px; grid-template-columns:repeat(2,1fr); }
@media (min-width:768px){ .kt-trust-grid{ grid-template-columns:repeat(4,1fr); gap:16px; } }
.kt-trust-chip{
  display:flex; align-items:center; gap:12px;
  padding:18px 20px; border-radius:18px;
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(30px); -webkit-backdrop-filter:blur(30px);
  border:1px solid var(--kt-glass-border);
}
.kt-trust-chip .kt-ic{
  width:36px; height:36px; flex-shrink:0; border-radius:10px;
  display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(168,85,247,0.25), rgba(6,182,212,0.25));
  border:1px solid rgba(255,255,255,0.10);
}
.kt-trust-chip .kt-ic svg{ width:18px; height:18px; color:#E9D5FF; }
.kt-trust-chip .kt-t{ font-size:14px; font-weight:700; }
.kt-trust-chip .kt-s{ font-size:12px; color:var(--kt-ink-sub); margin-top:2px; }

/* ============================================================
   Service cards
   ============================================================ */
.kt-services-grid{ display:grid; gap:20px; grid-template-columns:1fr; }
@media (min-width:768px){ .kt-services-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .kt-services-grid{ grid-template-columns:repeat(2,1fr); gap:24px; max-width:800px; margin-left:auto; margin-right:auto; } }

.kt-service-card{
  position:relative; padding:32px 28px; overflow:hidden; cursor:pointer;
  transition:transform .35s var(--kt-ease), border-color .35s var(--kt-ease), box-shadow .35s var(--kt-ease);
}
@media (min-width:1024px){ .kt-service-card{ padding:40px; } }
.kt-service-card .kt-glow{
  position:absolute; inset:auto -40% -40% auto; width:340px; height:340px; border-radius:50%;
  filter:blur(80px); opacity:.55; pointer-events:none; z-index:0;
  transition:opacity .4s var(--kt-ease), transform .5s var(--kt-ease);
}
.kt-service-card:nth-child(1) .kt-glow{ background:radial-gradient(circle,#A855F7,transparent 70%); }
.kt-service-card:nth-child(2) .kt-glow{ background:radial-gradient(circle,#06B6D4,transparent 70%); }
.kt-service-card:nth-child(3) .kt-glow{ background:radial-gradient(circle,#EC4899,transparent 70%); }
.kt-service-card > *{ position:relative; z-index:1; }

.kt-service-card .kt-badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px;
  font-size:12px; font-weight:600; color:#E9D5FF;
  background:rgba(168,85,247,0.12); border:1px solid rgba(168,85,247,0.25);
}
.kt-service-card:nth-child(2) .kt-badge{ background:rgba(6,182,212,0.12); border-color:rgba(6,182,212,0.30); color:#A5F3FC; }
.kt-service-card:nth-child(3) .kt-badge{ background:rgba(236,72,153,0.12); border-color:rgba(236,72,153,0.30); color:#FBCFE8; }

.kt-service-card h3{ margin-top:18px; font-size:26px; line-height:1.2; font-weight:800; }
@media (min-width:1024px){ .kt-service-card h3{ font-size:30px; } }
.kt-service-card .kt-lead{ color:var(--kt-ink-sub); margin-top:14px; font-size:15px; line-height:1.65; }

.kt-rate-row{
  display:flex; align-items:baseline; gap:6px;
  margin-top:24px; padding-top:24px; border-top:1px solid var(--kt-hairline);
}
.kt-rate-row .kt-label{ color:var(--kt-ink-sub); font-size:13px; }
.kt-rate-row .kt-pct{
  font-family:'Geist',sans-serif; font-weight:800; font-size:44px; line-height:1; letter-spacing:-0.03em;
  background:linear-gradient(135deg,#fff,#C4B5FD 60%, #67E8F9);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.kt-rate-row .kt-pct .kt-small{ font-size:22px; -webkit-text-fill-color:var(--kt-ink-sub); color:var(--kt-ink-sub); background:none; font-weight:700; }
.kt-rate-row .kt-arrow{ margin-left:auto; color:var(--kt-ink-sub); transition:transform .3s var(--kt-ease), color .3s var(--kt-ease); }

.kt-service-card ul{ list-style:none; padding:0; margin:18px 0 0; display:grid; gap:10px; }
.kt-service-card ul li{ display:flex; gap:10px; font-size:14px; color:var(--kt-ink-sub); }
.kt-service-card ul li svg{ width:16px; height:16px; flex-shrink:0; color:#A855F7; margin-top:3px; }
.kt-service-card:nth-child(2) ul li svg{ color:#06B6D4; }
.kt-service-card:nth-child(3) ul li svg{ color:#EC4899; }

.kt-service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(168,85,247,0.45);
  box-shadow:0 16px 48px rgba(0,0,0,0.55), 0 0 0 1px rgba(168,85,247,0.35), inset 0 1px 0 rgba(255,255,255,0.12);
}
.kt-service-card:hover .kt-glow{ opacity:0.85; transform:translate(-20px,-20px) scale(1.1); }
.kt-service-card:hover .kt-arrow{ transform:translateX(4px); color:#fff; }

/* ============================================================
   Process
   ============================================================ */
.kt-process-grid{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:640px){ .kt-process-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .kt-process-grid{ grid-template-columns:repeat(3,1fr); gap:20px; } }
.kt-step{ padding:28px 24px; display:flex; flex-direction:column; gap:14px; position:relative; }
.kt-step .kt-num{
  font-family:'Geist',sans-serif; font-size:14px; font-weight:600; letter-spacing:0;
  color:#A855F7; display:flex; align-items:center; gap:10px;
}
.kt-step .kt-num::before{
  content:""; width:32px; height:1px; background:linear-gradient(90deg,#A855F7, transparent);
}
.kt-step .kt-ic-wrap{
  width:52px; height:52px; border-radius:14px;
  background:linear-gradient(135deg, rgba(168,85,247,0.20), rgba(6,182,212,0.15));
  border:1px solid rgba(168,85,247,0.30);
  display:grid; place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.10);
}
.kt-step .kt-ic-wrap svg{ width:24px; height:24px; color:#E9D5FF; }
.kt-step h4{ font-size:18px; font-weight:700; }
.kt-step p{ margin:0; color:var(--kt-ink-sub); font-size:14px; line-height:1.6; }

/* ============================================================
   Live counter
   ============================================================ */
.kt-counter-wrap{
  position:relative; padding:64px 24px; text-align:center; border-radius:32px; overflow:hidden;
}
@media (min-width:768px){ .kt-counter-wrap{ padding:88px 32px; } }
.kt-counter-wrap::before{
  content:""; position:absolute; inset:-20%; z-index:-1;
  background:
    radial-gradient(circle at 30% 50%, rgba(168,85,247,0.35), transparent 50%),
    radial-gradient(circle at 70% 50%, rgba(6,182,212,0.28), transparent 50%);
  filter:blur(40px);
}
.kt-counter-label{ color:var(--kt-ink-sub); font-size:15px; font-weight:500; }
.kt-counter-big{
  margin-top:14px;
  font-family:'Geist',sans-serif;
  font-weight:800; font-variant-numeric:tabular-nums;
  font-size:72px; line-height:1; letter-spacing:-0.04em;
  background:linear-gradient(135deg,#fff 0%, #C4B5FD 35%, #06B6D4 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 0 80px rgba(168,85,247,0.5);
  display:inline-flex; align-items:baseline; gap:8px;
}
@media (min-width:768px){ .kt-counter-big{ font-size:120px; } }
@media (min-width:1024px){ .kt-counter-big{ font-size:160px; } }
.kt-counter-big .kt-unit{ font-size:0.3em; -webkit-text-fill-color:var(--kt-ink-sub); color:var(--kt-ink-sub); background:none; font-weight:700; }
.kt-counter-sub{
  margin-top:18px; color:var(--kt-ink-sub); font-size:15px;
  display:inline-flex; align-items:center; gap:8px;
}
.kt-counter-sub::before{
  content:""; width:8px; height:8px; border-radius:50%; background:#06B6D4;
  box-shadow:0 0 12px #06B6D4; animation:kt-pulse 1.5s ease-in-out infinite;
}
.kt-counter-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
  margin-top:48px; max-width:680px; margin-left:auto; margin-right:auto;
}
.kt-counter-stats .kt-cs{ padding:18px 8px; }
.kt-counter-stats .kt-cs .kt-v{
  font-family:'Geist',sans-serif; font-weight:800; font-size:28px; letter-spacing:-0.02em; color:#fff;
}
@media (min-width:768px){ .kt-counter-stats .kt-cs .kt-v{ font-size:36px; } }
.kt-counter-stats .kt-cs .kt-l{ font-size:12px; color:var(--kt-ink-sub); margin-top:6px; }

/* ============================================================
   Reviews
   ============================================================ */
.kt-reviews-grid{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:768px){ .kt-reviews-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .kt-reviews-grid{ grid-template-columns:repeat(3,1fr); gap:24px; } }
.kt-review-card{ padding:28px; display:flex; flex-direction:column; gap:16px; }
.kt-review-head{ display:flex; align-items:center; justify-content:space-between; }
.kt-stars{ color:#FCD34D; letter-spacing:2px; font-size:16px; }
.kt-review-date{ color:var(--kt-ink-muted); font-size:12px; font-family:'Geist Mono',monospace; }
.kt-review-body{ color:#E2E8F0; font-size:15px; line-height:1.7; }
.kt-review-foot{
  margin-top:auto; padding-top:16px; border-top:1px solid var(--kt-hairline);
  display:flex; align-items:center; justify-content:space-between; font-size:13px;
}
.kt-reviewer{ display:flex; align-items:center; gap:10px; color:var(--kt-ink-sub); }
.kt-avatar{
  width:32px; height:32px; border-radius:50%;
  background:linear-gradient(135deg,#A855F7,#06B6D4);
  display:grid; place-items:center;
  color:#fff; font-weight:700; font-size:13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3);
}
.kt-review-card:nth-child(2) .kt-avatar{ background:linear-gradient(135deg,#06B6D4,#A855F7); }
.kt-review-card:nth-child(3) .kt-avatar{ background:linear-gradient(135deg,#EC4899,#A855F7); }
.kt-review-tag{
  font-size:11px; padding:4px 8px; border-radius:999px;
  background:rgba(6,182,212,0.10); color:#67E8F9; border:1px solid rgba(6,182,212,0.25);
}

/* ============================================================
   FAQ
   ============================================================ */
.kt-faq-list{ display:flex; flex-direction:column; gap:12px; max-width:880px; margin:0 auto; }
.kt-faq{ padding:0; overflow:hidden; }
.kt-faq summary{
  list-style:none;
  padding:22px 24px;
  display:flex; align-items:center; gap:16px;
  cursor:pointer; user-select:none;
  font-size:16px; font-weight:600;
  min-height:56px;
}
.kt-faq summary::-webkit-details-marker{ display:none; }
.kt-faq .kt-q-mark{
  width:32px; height:32px; border-radius:10px; flex-shrink:0;
  background:rgba(168,85,247,0.12); border:1px solid rgba(168,85,247,0.30);
  display:grid; place-items:center;
  color:#C4B5FD; font-family:'Geist',sans-serif; font-weight:700; font-size:14px;
}
.kt-faq .kt-q-text{ flex:1; }
.kt-faq .kt-chev{
  width:20px; height:20px; flex-shrink:0; color:var(--kt-ink-sub);
  transition:transform .3s var(--kt-ease), color .3s var(--kt-ease);
}
.kt-faq[open] .kt-chev{ transform:rotate(180deg); color:#A855F7; }
.kt-faq .kt-a{
  padding:0 24px 24px 72px;
  color:var(--kt-ink-sub); font-size:15px; line-height:1.75;
  animation:kt-faq-open .4s var(--kt-ease);
}
@keyframes kt-faq-open{
  from{ opacity:0; transform:translateY(-6px); }
  to{ opacity:1; transform:none; }
}
@media (max-width:767px){
  .kt-faq summary{ padding:18px 18px; font-size:15px; }
  .kt-faq .kt-a{ padding:0 18px 22px 18px; }
}

/* ============================================================
   Final CTA
   ============================================================ */
.kt-final-wrap{
  position:relative; padding:72px 24px; text-align:center; border-radius:32px; overflow:hidden;
}
@media (min-width:768px){ .kt-final-wrap{ padding:96px 40px; } }
.kt-final-wrap::before{
  content:""; position:absolute; left:50%; top:50%; width:120%; height:120%;
  transform:translate(-50%,-50%);
  background:
    radial-gradient(circle at 50% 50%, rgba(168,85,247,0.45), transparent 50%),
    radial-gradient(circle at 30% 30%, rgba(6,182,212,0.30), transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(236,72,153,0.25), transparent 55%);
  filter:blur(40px); z-index:-1;
  animation:kt-swirl 24s ease-in-out infinite alternate;
}
@keyframes kt-swirl{
  0%   { transform:translate(-50%,-50%) rotate(0deg) scale(1); }
  100% { transform:translate(-50%,-50%) rotate(20deg) scale(1.1); }
}
.kt-final-eye{ display:inline-flex; }
.kt-final-wrap h2{ margin-top:18px; font-size:var(--kt-h1); line-height:1.1; letter-spacing:-0.04em; }
.kt-final-wrap .kt-lead{ color:var(--kt-ink-sub); margin-top:18px; font-size:17px; max-width:560px; margin-left:auto; margin-right:auto; }
.kt-final-cta{
  display:grid; gap:12px; margin-top:36px;
  grid-template-columns:repeat(2,1fr);
  max-width:720px; margin-left:auto; margin-right:auto;
}
@media (min-width:1024px){ .kt-final-cta{ grid-template-columns:repeat(4,1fr); max-width:none; } }
.kt-final-cta .kt-btn{ height:60px; width:100%; }
.kt-final-cta .kt-btn-glass{ background:rgba(255,255,255,0.08); }
.kt-final-meta{
  margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 18px;
  color:var(--kt-ink-sub); font-size:13px;
}
.kt-final-meta .kt-mdot{ width:4px; height:4px; border-radius:50%; background:#475569; }

/* ============================================================
   Footer
   ============================================================ */
.kt-footer{
  position:relative; z-index:1;
  padding:48px 0 64px;
  border-top:1px solid var(--kt-hairline);
  background:rgba(5,4,20,0.4);
}
@media (min-width:1024px){ .kt-footer{ padding:64px 0 64px; } }
.kt-footer-grid{ display:grid; gap:32px; grid-template-columns:1fr; }
@media (min-width:768px){ .kt-footer-grid{ grid-template-columns:1.2fr 1fr 1fr; } }
.kt-footer h5{
  font-size:13px; color:var(--kt-ink-muted); text-transform:uppercase; letter-spacing:0.08em; font-weight:600; margin:0 0 12px;
}
.kt-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px; color:var(--kt-ink-sub); font-size:14px; }
.kt-footer ul a{ color:var(--kt-ink-sub); }
.kt-footer ul a:hover{ color:var(--kt-ink); }
.kt-footer-brand .kt-logo{ margin-bottom:14px; }
.kt-footer-brand p{ color:var(--kt-ink-sub); font-size:14px; max-width:36ch; line-height:1.7; margin:0; }
.kt-footer-bottom{
  margin-top:40px; padding-top:24px; border-top:1px solid var(--kt-hairline);
  display:flex; flex-wrap:wrap; gap:8px 24px;
  color:var(--kt-ink-muted); font-size:12px;
}

/* ============================================================
   Mobile sticky CTA bar
   ============================================================ */
.kt-mobile-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  display:grid; grid-template-columns:repeat(3,1fr);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  gap:8px;
  background:rgba(5,4,20,0.7); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-top:1px solid var(--kt-hairline);
}
.kt-mobile-cta a{
  height:52px; border-radius:14px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  font-size:11px; font-weight:600; color:var(--kt-ink);
  background:rgba(255,255,255,0.06); border:1px solid var(--kt-glass-border);
}
.kt-mobile-cta a.kt-primary{
  background:linear-gradient(135deg,#A855F7,#06B6D4);
  border-color:transparent;
  box-shadow:0 8px 24px rgba(168,85,247,0.35);
}
.kt-mobile-cta a svg{ width:20px; height:20px; }
@media (min-width:1024px){ .kt-mobile-cta{ display:none; } }

/* ============================================================
   Info page / Contact page extras (infopay, contact 페이지용)
   ============================================================ */
.kt-info-cards{
  display:grid; gap:16px; grid-template-columns:1fr; margin:0 auto;
}
@media (min-width:768px){ .kt-info-cards{ grid-template-columns:repeat(3,1fr); gap:20px; } }

.kt-info-card{ padding:28px; text-align:center; }
.kt-info-card .kt-ic-circle{
  width:56px; height:56px; border-radius:18px; margin:0 auto 16px;
  background:linear-gradient(135deg, rgba(168,85,247,0.25), rgba(6,182,212,0.20));
  border:1px solid rgba(168,85,247,0.3);
  display:grid; place-items:center;
}
.kt-info-card .kt-ic-circle svg{ width:26px; height:26px; color:#E9D5FF; }
.kt-info-card h4{ font-size:18px; margin-bottom:8px; }
.kt-info-card p{ color:var(--kt-ink-sub); font-size:14px; line-height:1.65; margin:0; }

.kt-info-table{
  width:100%; border-collapse:collapse;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--kt-glass-border); border-radius:18px;
  overflow:hidden;
}
.kt-info-table th, .kt-info-table td{
  padding:18px 20px; text-align:left; font-size:15px;
  border-bottom:1px solid var(--kt-hairline);
}
.kt-info-table th{ color:var(--kt-ink-sub); font-weight:600; background:rgba(168,85,247,0.05); font-size:13px; }
.kt-info-table td{ color:var(--kt-ink); }
.kt-info-table tr:last-child td{ border-bottom:0; }

.kt-notice-list{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.kt-notice-list li{
  padding:18px 20px; border-radius:16px;
  background:rgba(255,255,255,0.03); border:1px solid var(--kt-glass-border);
  font-size:14px; color:var(--kt-ink-sub); line-height:1.7;
}
.kt-notice-list li strong{ color:var(--kt-ink); font-weight:700; }

.kt-contact-grid{
  display:grid; gap:14px; grid-template-columns:1fr;
}
@media (min-width:600px){ .kt-contact-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .kt-contact-grid{ grid-template-columns:repeat(4,1fr); } }
.kt-contact-method{
  padding:28px 20px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  transition:transform .3s var(--kt-ease), border-color .3s var(--kt-ease);
}
.kt-contact-method:hover{ transform:translateY(-4px); border-color:rgba(168,85,247,0.45); }
.kt-contact-method .kt-cm-ic{
  width:56px; height:56px; border-radius:16px;
  background:linear-gradient(135deg, rgba(168,85,247,0.25), rgba(6,182,212,0.20));
  border:1px solid rgba(168,85,247,0.3);
  display:grid; place-items:center;
}
.kt-contact-method .kt-cm-ic svg{ width:24px; height:24px; color:#E9D5FF; }
.kt-contact-method .kt-cm-label{ font-size:13px; color:var(--kt-ink-sub); }
.kt-contact-method .kt-cm-value{ font-weight:700; font-size:17px; }

.kt-hours-box{
  margin-top:32px; padding:28px; border-radius:20px;
  background:rgba(255,255,255,0.03); border:1px solid var(--kt-glass-border);
}
.kt-hours-box h3{ font-size:18px; margin-bottom:14px; }
.kt-hours-box p{ color:var(--kt-ink-sub); font-size:14px; margin:6px 0; }
.kt-hours-box p strong{ color:var(--kt-ink); }

/* Sub page hero (smaller than main hero) */
.kt-subhero{
  position:relative; z-index:1;
  padding-top:calc(var(--kt-header-h) + 48px); padding-bottom:48px;
  text-align:center;
}
@media (min-width:768px){ .kt-subhero{ padding-top:calc(var(--kt-header-h) + 72px); padding-bottom:72px; } }
.kt-subhero h1{ font-size:var(--kt-h1); margin-top:16px; }
.kt-subhero p{ color:var(--kt-ink-sub); font-size:17px; margin-top:14px; }

/* ============================================================
   Quick Consult — 세로 1열 긴 버튼 (Hero 핵심 CTA)
   ============================================================ */
.kt-quick-consult{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:520px;
  width:100%;
  margin:40px auto 0;
}
.kt-qc-btn{
  position:relative; overflow:hidden;
  display:flex; flex-direction:row; align-items:center;
  gap:16px; padding:16px 20px; min-height:68px;
  border-radius:16px;
  background:var(--kt-glass);
  backdrop-filter:blur(40px) saturate(140%);
  -webkit-backdrop-filter:blur(40px) saturate(140%);
  border:1px solid var(--kt-glass-border);
  color:var(--kt-ink);
  text-align:left;
  transition:transform .3s var(--kt-ease), border-color .3s var(--kt-ease), box-shadow .3s var(--kt-ease);
  text-decoration:none;
}
.kt-qc-btn::before{
  content:""; position:absolute;
  inset:auto -20% -60% auto;
  width:220px; height:220px; border-radius:50%;
  filter:blur(60px); opacity:.45; pointer-events:none; z-index:0;
  transition:opacity .4s var(--kt-ease), transform .5s var(--kt-ease);
}
.kt-qc-btn > *{ position:relative; z-index:1; }
.kt-qc-btn:nth-child(1)::before{ background:radial-gradient(circle, #A855F7, transparent 70%); }
.kt-qc-btn:nth-child(2)::before{ background:radial-gradient(circle, #06B6D4, transparent 70%); }
.kt-qc-btn:nth-child(3)::before{ background:radial-gradient(circle, #EC4899, transparent 70%); }
.kt-qc-btn:nth-child(4)::before{ background:radial-gradient(circle, #6366F1, transparent 70%); }

.kt-qc-btn .kt-qc-ic{
  width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center; flex-shrink:0;
  background:linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.04));
  border:1px solid rgba(255,255,255,0.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);
}
.kt-qc-btn .kt-qc-ic svg{ width:22px; height:22px; color:#fff; }

.kt-qc-btn .kt-qc-text{
  display:flex; flex-direction:column; gap:2px; flex:1; min-width:0;
}
.kt-qc-btn .kt-qc-label{
  font-size:11px; color:var(--kt-ink-sub);
  letter-spacing:0.08em; text-transform:uppercase; font-weight:600;
  font-family:'Geist', 'Pretendard Variable', sans-serif;
}
.kt-qc-btn .kt-qc-title{ font-size:16px; font-weight:700; color:var(--kt-ink); letter-spacing:-0.01em; }

.kt-qc-btn .kt-qc-arrow{
  width:20px; height:20px; flex-shrink:0; color:var(--kt-ink-sub);
  transition:transform .3s var(--kt-ease), color .3s var(--kt-ease);
}
.kt-qc-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(168,85,247,0.45);
  box-shadow:0 12px 32px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.12);
}
.kt-qc-btn:hover::before{ opacity:0.8; transform:translate(-12px,-12px) scale(1.1); }
.kt-qc-btn:hover .kt-qc-arrow{ transform:translateX(4px); color:#fff; }

/* ============================================================
   Board (review) — list / view / write / comments
   ============================================================ */

/* Dark form inputs */
.kt-input, .kt-textarea, .kt-select{
  width:100%;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--kt-glass-border);
  color:var(--kt-ink);
  border-radius:12px;
  padding:14px 16px;
  font:inherit; font-size:15px; line-height:1.5;
  transition:border-color .2s var(--kt-ease), background .2s var(--kt-ease);
  outline:none;
  font-family:'Pretendard Variable', Pretendard, sans-serif;
}
.kt-input::placeholder, .kt-textarea::placeholder{ color:var(--kt-ink-muted); }
.kt-input:focus, .kt-textarea:focus, .kt-select:focus{
  border-color:rgba(168,85,247,0.55);
  background:rgba(255,255,255,0.06);
  box-shadow:0 0 0 3px rgba(168,85,247,0.15);
}
.kt-textarea{ min-height:220px; resize:vertical; }
.kt-select{ appearance:none; -webkit-appearance:none; padding-right:40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center;
}
.kt-form-row{ display:grid; gap:12px; margin-bottom:14px; }
@media (min-width:600px){ .kt-form-row.kt-two{ grid-template-columns:1fr 1fr; } }
.kt-form-label{
  font-size:13px; font-weight:600; color:var(--kt-ink-sub);
  display:flex; align-items:center; gap:6px; margin-bottom:6px;
}
.kt-form-label .kt-req{ color:#FF5577; font-size:11px; }

/* Board page wrapper */
.kt-board{ position:relative; z-index:1; padding-top:calc(var(--kt-header-h) + 56px); padding-bottom:120px; }
@media (min-width:768px){ .kt-board{ padding-top:calc(var(--kt-header-h) + 72px); padding-bottom:140px; } }

.kt-board-head{ text-align:center; margin-bottom:48px; }
.kt-board-head h1{ font-size:var(--kt-h1); margin-top:16px; }
.kt-board-head p{ color:var(--kt-ink-sub); font-size:17px; margin-top:14px; }

.kt-board-actions{
  display:flex; gap:12px; flex-wrap:wrap;
  align-items:center; justify-content:center;
  margin:0 auto 32px;
}

/* Pagination */
.kt-pagination{
  display:flex; justify-content:center; align-items:center; gap:6px;
  margin-top:48px; flex-wrap:wrap;
}
.kt-pagination a, .kt-pagination span, .kt-pagination strong{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px; border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--kt-glass-border);
  color:var(--kt-ink-sub);
  font-size:14px; font-weight:600; font-family:'Geist',sans-serif;
  transition:all .2s var(--kt-ease);
  text-decoration:none;
}
.kt-pagination a:hover{ color:var(--kt-ink); border-color:rgba(168,85,247,0.4); background:rgba(168,85,247,0.08); }
.kt-pagination .kt-pg-current, .kt-pagination strong{
  background:linear-gradient(135deg, #A855F7, #06B6D4);
  border-color:transparent; color:#fff;
  box-shadow:0 6px 18px rgba(168,85,247,0.35);
}

/* View page */
.kt-view-wrap{ display:flex; flex-direction:column; gap:20px; max-width:880px; margin:0 auto; }
.kt-view-header{ padding:28px 28px 24px; }
@media (min-width:768px){ .kt-view-header{ padding:36px; } }
.kt-view-cat{
  display:inline-flex; align-items:center; padding:6px 12px; border-radius:999px;
  background:rgba(6,182,212,0.10); border:1px solid rgba(6,182,212,0.30);
  color:#67E8F9; font-size:12px; font-weight:600; margin-bottom:14px;
}
.kt-view-title{ font-size:24px; font-weight:800; line-height:1.3; letter-spacing:-0.03em; margin:0 0 16px; }
@media (min-width:768px){ .kt-view-title{ font-size:30px; } }
.kt-view-meta{
  display:flex; flex-wrap:wrap; gap:14px 20px;
  padding-top:18px; border-top:1px solid var(--kt-hairline);
  color:var(--kt-ink-sub); font-size:13px;
}
.kt-view-meta .kt-meta-item{ display:inline-flex; align-items:center; gap:6px; }
.kt-view-meta .kt-meta-item svg{ width:14px; height:14px; }
.kt-view-meta .kt-meta-item .kt-mono{ font-family:'Geist Mono',monospace; }
.kt-view-stars{ color:#FCD34D; letter-spacing:2px; font-size:18px; margin-bottom:10px; }

.kt-view-body{ padding:28px; line-height:1.85; color:#E2E8F0; font-size:16px; }
@media (min-width:768px){ .kt-view-body{ padding:40px; font-size:17px; } }
.kt-view-body p{ margin:0 0 14px; }
.kt-view-body img{ max-width:100%; height:auto; border-radius:12px; margin:12px 0; }
.kt-view-body a{ color:#67E8F9; text-decoration:underline; text-underline-offset:3px; }
.kt-view-body blockquote{
  margin:14px 0; padding:14px 18px;
  border-left:3px solid #A855F7;
  background:rgba(168,85,247,0.06);
  color:var(--kt-ink-sub); border-radius:8px;
}

.kt-view-nav{ display:grid; gap:10px; margin-top:8px; }
@media (min-width:768px){ .kt-view-nav{ grid-template-columns:1fr 1fr; } }
.kt-view-nav a{
  display:flex; align-items:center; gap:12px;
  padding:16px 20px; border-radius:14px;
  background:rgba(255,255,255,0.03); border:1px solid var(--kt-glass-border);
  transition:all .2s var(--kt-ease);
}
.kt-view-nav a:hover{ background:rgba(255,255,255,0.06); border-color:rgba(168,85,247,0.4); }
.kt-view-nav .kt-nav-label{ font-size:11px; color:var(--kt-ink-muted); text-transform:uppercase; letter-spacing:0.08em; }
.kt-view-nav .kt-nav-title{ font-size:14px; color:var(--kt-ink); font-weight:600; margin-top:4px; }

/* Comments */
.kt-comments{ margin-top:8px; }
.kt-comments-head{
  display:flex; align-items:center; gap:10px; padding:0 4px 16px;
  color:var(--kt-ink); font-weight:700; font-size:18px;
}
.kt-comments-head .kt-count{ color:#A855F7; font-family:'Geist',sans-serif; }
.kt-comment{
  padding:20px 24px; margin-bottom:12px;
}
.kt-comment-head{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.kt-comment-author{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--kt-ink); font-weight:600; }
.kt-comment-author .kt-avatar{ width:28px; height:28px; font-size:12px; }
.kt-comment-date{ color:var(--kt-ink-muted); font-size:12px; font-family:'Geist Mono',monospace; }
.kt-comment-body{ color:#E2E8F0; font-size:14px; line-height:1.7; }
.kt-comment-actions{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
.kt-comment-actions a, .kt-comment-actions button{
  font-size:12px; color:var(--kt-ink-sub); padding:6px 10px; border-radius:8px;
  background:rgba(255,255,255,0.04); border:1px solid var(--kt-glass-border);
  transition:all .2s var(--kt-ease); cursor:pointer;
}
.kt-comment-actions a:hover, .kt-comment-actions button:hover{ color:var(--kt-ink); border-color:rgba(168,85,247,0.4); }

.kt-comment-form{ padding:24px; margin-top:14px; }
.kt-comment-form-row{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; margin-top:12px; }
.kt-comment-form-row .kt-input{ flex:1; min-width:160px; }

/* Write page */
.kt-write-form{ max-width:880px; margin:0 auto; padding:28px; }
@media (min-width:768px){ .kt-write-form{ padding:40px; } }
.kt-write-form .kt-btn-row{
  display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap;
  margin-top:24px; padding-top:24px; border-top:1px solid var(--kt-hairline);
}
.kt-write-form .kt-options{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:16px; }
.kt-write-form .kt-options label{ display:inline-flex; align-items:center; gap:6px; color:var(--kt-ink-sub); font-size:14px; cursor:pointer; }
.kt-write-form .kt-options input[type="checkbox"]{ accent-color:#A855F7; }
.kt-write-form .kt-file-row{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  padding:12px 14px; border-radius:12px;
  background:rgba(255,255,255,0.03); border:1px solid var(--kt-glass-border);
}
.kt-write-form .kt-file-row input[type="file"]{ color:var(--kt-ink-sub); font-size:13px; }
.kt-write-form .kt-info-msg{ font-size:13px; color:var(--kt-ink-muted); margin:0 0 14px; }

/* gnuboard built-in editor / textarea fallback */
.kt-write-form .wr_content textarea,
.kt-write-form #wr_content,
.kt-write-form .frm_input{
  width:100%;
  background:rgba(255,255,255,0.04) !important;
  border:1px solid var(--kt-glass-border) !important;
  color:var(--kt-ink) !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  font:inherit !important; font-size:15px !important;
  line-height:1.5 !important;
  outline:none;
  font-family:'Pretendard Variable', Pretendard, sans-serif !important;
}
.kt-write-form .wr_content textarea{ min-height:280px; resize:vertical; }
.kt-write-form .frm_input::placeholder{ color:var(--kt-ink-muted) !important; }
.kt-write-form .frm_input:focus,
.kt-write-form .wr_content textarea:focus{
  border-color:rgba(168,85,247,0.55) !important;
  background:rgba(255,255,255,0.06) !important;
  box-shadow:0 0 0 3px rgba(168,85,247,0.15) !important;
}

/* Empty state */
.kt-empty{
  grid-column:1/-1;
  text-align:center; padding:80px 24px;
  color:var(--kt-ink-sub); font-size:15px;
}
.kt-empty .kt-empty-ic{
  width:56px; height:56px; margin:0 auto 16px; border-radius:50%;
  background:rgba(168,85,247,0.08); border:1px solid rgba(168,85,247,0.2);
  display:grid; place-items:center; color:#A855F7;
}

/* ============================================================
   MOBILE PERFORMANCE OVERRIDES — 공격적 최적화
   원칙: 데스크탑은 화려함 유지, 모바일은 가볍게
   ============================================================ */
@media (max-width:1023px){
  /* 1) backdrop-filter 완전 제거 — GPU 부하 최대 */
  .kt-glass,
  .kt-header.kt-scrolled,
  .kt-menu-drawer,
  .kt-trust-chip,
  .kt-qc-btn,
  .kt-btn-glass,
  .kt-stat-card,
  .kt-service-card,
  .kt-step,
  .kt-counter-wrap,
  .kt-final-wrap,
  .kt-review-card,
  .kt-faq,
  .kt-info-card,
  .kt-contact-method{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .kt-glass{ background:rgba(20,16,42,0.78); }
  .kt-trust-chip{ background:rgba(20,16,42,0.7); }
  .kt-qc-btn{ background:rgba(20,16,42,0.8); }
  .kt-btn-glass{ background:rgba(255,255,255,0.08); }
  .kt-header.kt-scrolled{ background:rgba(5,4,20,0.95); }
  .kt-menu-drawer{ background:rgba(5,4,20,0.97); }

  /* 2) Aurora blob 완전 제거 — 모바일은 정적 그라데이션 배경으로 */
  .kt-aurora::after{ display:none !important; }
  .kt-blob{ display:none !important; }
  .kt-aurora{
    background:
      radial-gradient(ellipse 100% 60% at 50% 0%, rgba(168,85,247,0.18), transparent 60%),
      radial-gradient(ellipse 80% 50% at 100% 30%, rgba(6,182,212,0.12), transparent 65%),
      radial-gradient(ellipse 80% 50% at 0% 70%, rgba(99,102,241,0.14), transparent 65%),
      radial-gradient(ellipse 80% 40% at 50% 100%, rgba(236,72,153,0.10), transparent 65%),
      var(--kt-bg);
  }

  /* 3) 모든 내부 swirl/glow 애니메이션 정지 + filter 단순화 */
  .kt-final-wrap::before,
  .kt-counter-wrap::before,
  .kt-service-card .kt-glow,
  .kt-qc-btn::before{
    animation:none !important;
    filter:blur(20px) !important;
    opacity:0.3 !important;
  }

  /* 4) text-shadow glow 제거 — 가독성 위주 */
  .kt-glow-text{ text-shadow:none !important; }
  .kt-counter-big{ text-shadow:none !important; }

  /* 5) 그라데이션 텍스트는 단색으로 — background-clip:text는 의외로 무거움 */
  .kt-gradient-text,
  .kt-stat-card .kt-value,
  .kt-rate-row .kt-pct,
  .kt-counter-big > span[data-kt-counter]{
    background:none !important;
    -webkit-text-fill-color:#F8FAFC !important;
    color:#F8FAFC !important;
  }
  .kt-rate-row .kt-pct .kt-small,
  .kt-stat-card .kt-value .kt-unit,
  .kt-counter-big .kt-unit{
    -webkit-text-fill-color:#94A3B8 !important;
    color:#94A3B8 !important;
  }

  /* 6) hover transition 제거 — 모바일은 hover 없음 */
  .kt-service-card, .kt-qc-btn, .kt-btn-primary, .kt-trust-chip,
  .kt-step, .kt-stat-card, .kt-review-card, .kt-faq,
  .kt-btn, .kt-btn-glass, .kt-pagination a, .kt-info-card, .kt-contact-method{
    transition:none !important;
  }
  .kt-service-card:hover, .kt-qc-btn:hover, .kt-btn-primary:hover,
  .kt-trust-chip:hover, .kt-step:hover, .kt-stat-card:hover,
  .kt-review-card:hover, .kt-faq:hover, .kt-info-card:hover,
  .kt-contact-method:hover, .kt-btn-glass:hover{
    transform:none !important;
    box-shadow:var(--kt-shadow-card) !important;
  }

  /* 7) reveal 단순화 — blur 제거, transition 짧게 */
  [data-kt-reveal]{
    filter:none !important;
    transform:translateY(10px);
    transition:opacity .35s ease, transform .35s ease !important;
  }

  /* 8) box-shadow 단순화 */
  .kt-glass, .kt-service-card, .kt-qc-btn, .kt-stat-card, .kt-step,
  .kt-review-card, .kt-faq, .kt-counter-wrap, .kt-final-wrap{
    box-shadow:0 4px 16px rgba(0,0,0,0.3) !important;
  }
  .kt-btn-primary{
    box-shadow:0 4px 12px rgba(168,85,247,0.3) !important;
  }
  .kt-btn-primary::before{ display:none !important; }

  /* 9) ::after 데코 레이어 제거 (글래스 상단 하이라이트) */
  .kt-glass::after{ display:none !important; }

  /* 10) will-change 제거 */
  .kt-blob{ will-change:auto !important; }
}

/* 데이터 절약 모드 / 저성능 기기 — 모든 애니메이션 정지 */
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{
    animation-duration:0ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0ms !important;
  }
}
