/* =============================================================
   ARTE DESIGN LAB — Q System (qshop-inspired · deep purple · minimal)
   메인 원페이지 + 상세페이지 공용 스타일
   ============================================================= */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');

:root{
  --bg:#09070F; --bg2:#0E0B16; --panel:#16121F; --panel2:#1C1727;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.16);
  --tx:#F5F3F9; --dim:#A29DB2; --faint:#6E6880;
  --vio:#8B5CF6; --vio2:#A855F7; --mag:#C026D3; --mint:#2DD4A7;
  --glow1:rgba(139,92,246,.35); --glow2:rgba(192,38,211,.22);
  --sans:'Pretendard Variable','Pretendard',-apple-system,sans-serif;
  --max:1140px; --gut:clamp(18px,5vw,48px); --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea{font-family:inherit}
::selection{background:var(--vio);color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut);position:relative;z-index:1}
.sec{padding-block:clamp(64px,10vw,120px)}

/* ambient purple glow */
.glow{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
   radial-gradient(60% 50% at 50% 78%,var(--glow1),transparent 62%),
   radial-gradient(45% 40% at 78% 100%,var(--glow2),transparent 60%),
   radial-gradient(40% 35% at 15% 90%,rgba(45,212,167,.08),transparent 60%)}

/* ---------- Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:.35s var(--ease)}
.nav.on{background:rgba(9,7,15,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 var(--gut);height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.01em;flex:none}
.logo .m{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#04120D;font-weight:900;font-size:15px;
  background:linear-gradient(135deg,var(--mint),#22C3A0);box-shadow:0 6px 18px -6px rgba(45,212,167,.6)}
.logo small{color:var(--faint);font-weight:500;font-size:12px;margin-left:2px}
.nlinks{display:flex;align-items:center;gap:2px}
.nlinks a:not(.cta){padding:9px 13px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--dim);transition:.2s;white-space:nowrap}
.nlinks a:not(.cta):hover,.nlinks a.here{color:var(--tx);background:rgba(255,255,255,.05)}
.cta{background:#fff;color:#0A0710;font-weight:800;padding:10px 18px;border-radius:11px;font-size:14px;display:inline-flex;align-items:center;gap:6px;transition:.3s var(--ease);white-space:nowrap;margin-left:8px}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(255,255,255,.3)}
.cta.vio{background:linear-gradient(120deg,var(--vio),var(--mag));color:#fff}
.burger{display:none;flex-direction:column;gap:5px;padding:8px}.burger span{width:22px;height:2px;background:var(--tx);border-radius:2px;transition:.3s}
.mmenu{display:none}
@media(max-width:940px){
  .nlinks{display:none}.burger{display:flex}
  .mmenu.open{display:block;position:fixed;inset:68px 0 auto 0;z-index:99;background:rgba(9,7,15,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:10px var(--gut) 24px}
  .mmenu.open a{display:block;font-size:16px;font-weight:600;color:var(--dim);padding:14px 0;border-bottom:1px solid var(--line)}
  .mmenu.open a:last-child{color:var(--mint);border:none}
}

/* ---------- Hero (main) ---------- */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px var(--gut) 40px}
.kick{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.16em;color:var(--dim);text-transform:uppercase;margin-bottom:24px}
.kick::before{content:"✦";color:var(--mint)}
.hero h1{font-weight:800;letter-spacing:-.035em;line-height:1.12;font-size:clamp(34px,6.4vw,68px)}
.hero h1 .g{background:linear-gradient(120deg,var(--vio2),var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{color:var(--dim);font-size:clamp(15px,1.8vw,19px);margin-top:20px;font-weight:500}

/* command bar */
.cmdbar{width:min(720px,100%);margin:40px auto 0;background:var(--panel);border:1px solid var(--line2);border-radius:20px;
  padding:14px 14px 14px 24px;display:flex;align-items:center;gap:14px;box-shadow:0 30px 70px -30px rgba(139,92,246,.5);transition:.3s}
.cmdbar:focus-within{border-color:var(--vio);box-shadow:0 30px 80px -26px rgba(139,92,246,.7)}
.cmdbar input{flex:1;background:none;border:none;outline:none;color:var(--tx);font-size:16px;padding:12px 0}
.cmdbar input::placeholder{color:var(--faint)}
.cmdbar .send{width:46px;height:46px;border-radius:14px;background:linear-gradient(120deg,var(--vio),var(--mag));display:grid;place-items:center;color:#fff;font-size:18px;flex:none;transition:.25s var(--ease)}
.cmdbar .send:hover{transform:scale(1.06)}
.hero .quick{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.hero .quick a{font-size:13px;font-weight:600;color:var(--dim);border:1px solid var(--line);background:rgba(255,255,255,.03);padding:8px 15px;border-radius:999px;transition:.25s}
.hero .quick a:hover{color:var(--tx);border-color:var(--line2);background:rgba(255,255,255,.06)}

/* ---------- Service grid (main) ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.scard{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px 24px;transition:.35s var(--ease);position:relative;overflow:hidden;display:block}
.scard:hover{transform:translateY(-6px);border-color:var(--line2);background:var(--panel2)}
.scard .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:23px;margin-bottom:16px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
.scard h3{font-weight:800;font-size:19px;letter-spacing:-.01em;margin-bottom:7px}
.scard p{color:var(--dim);font-size:14px;line-height:1.6}
.scard .go{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--vio2)}
.scard .go .a{transition:.3s}.scard:hover .go .a{transform:translateX(4px)}

/* section head */
.shead{text-align:center;max-width:600px;margin:0 auto 46px}
.eyebrow{color:var(--vio2);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.stitle{font-weight:800;letter-spacing:-.025em;line-height:1.12;font-size:clamp(27px,4.2vw,44px)}
.ssub{color:var(--dim);margin-top:14px;font-size:15.5px;font-weight:500}

/* stats */
.stats{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.stat{flex:1;min-width:150px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 20px;text-align:center}
.stat b{display:block;font-weight:800;font-size:clamp(28px,4vw,40px);letter-spacing:-.02em;background:linear-gradient(120deg,var(--vio2),var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--faint);font-size:13px;font-weight:600;margin-top:6px;display:block}

/* ---------- Detail page hero ---------- */
.phero{padding:130px var(--gut) 20px;text-align:center;max-width:820px;margin:0 auto}
.crumb{font-size:13px;color:var(--faint);font-weight:600;margin-bottom:18px}
.crumb a:hover{color:var(--mint)}.crumb .s{margin:0 8px;color:var(--vio2)}
.phero h1{font-weight:800;letter-spacing:-.03em;line-height:1.14;font-size:clamp(32px,5.4vw,58px)}
.phero .lead{color:var(--dim);font-size:clamp(15px,1.7vw,18px);margin-top:20px;font-weight:500;line-height:1.7}
.phero .pcta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.big-btn{padding:15px 28px;font-size:15.5px;border-radius:13px}
.ghost{background:transparent;border:1px solid var(--line2);color:var(--tx);font-weight:700;padding:15px 28px;border-radius:13px;font-size:15.5px;display:inline-flex;align-items:center;gap:7px;transition:.25s}
.ghost:hover{border-color:var(--vio);color:var(--vio2);background:rgba(139,92,246,.08)}

/* points checklist */
.points{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:880px;margin:0 auto}
.pt{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;display:flex;gap:14px;align-items:flex-start}
.pt .ck{width:26px;height:26px;border-radius:8px;background:rgba(45,212,167,.14);color:var(--mint);display:grid;place-items:center;font-weight:800;flex:none;font-size:14px}
.pt b{font-weight:700;display:block;margin-bottom:4px;font-size:15.5px}
.pt span{color:var(--dim);font-size:13.5px;line-height:1.6}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.stp{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 24px}
.stp .n{width:38px;height:38px;border-radius:11px;background:linear-gradient(120deg,var(--vio),var(--mag));color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:16px}
.stp h4{font-weight:800;font-size:18px;margin-bottom:7px;letter-spacing:-.01em}
.stp p{color:var(--dim);font-size:14px;line-height:1.65}

/* feature cards */
.fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fc{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.fc .ic{font-size:24px;margin-bottom:14px}
.fc h4{font-weight:800;font-size:17px;margin-bottom:8px}
.fc p{color:var(--dim);font-size:14px;line-height:1.65}

/* review cards */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rv{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.rv .stars{color:#FBBF24;font-size:14px;letter-spacing:2px;margin-bottom:14px}
.rv p{font-size:14.5px;line-height:1.7;color:var(--tx)}
.rv .who{margin-top:18px;font-size:13px;color:var(--faint);font-weight:600}

/* CTA / contact */
.cta-band{border-radius:28px;padding:clamp(38px,6vw,68px);text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(120deg,rgba(139,92,246,.16),rgba(192,38,211,.14));border:1px solid var(--line2)}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 50% 0%,rgba(139,92,246,.22),transparent 60%)}
.cta-band h2{font-weight:800;font-size:clamp(26px,4.2vw,46px);letter-spacing:-.02em;line-height:1.14;position:relative}
.cta-band p{color:var(--dim);max-width:44ch;margin:16px auto 30px;position:relative;font-weight:500}
.cta-band .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}
.contact-line{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:26px;position:relative;font-size:14px;color:var(--dim);font-weight:600}
.contact-line a:hover{color:var(--mint)}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--line);padding-block:52px 34px;background:#050409}
.foot .fnav{display:flex;gap:26px;flex-wrap:wrap;margin:22px 0 30px}
.foot .fnav a{color:var(--dim);font-size:14px;font-weight:600;transition:.2s}.foot .fnav a:hover{color:var(--mint)}
.foot .info{color:var(--faint);font-size:13px;line-height:2;font-weight:500}
.foot .info b{color:var(--dim);font-weight:700}
.fbar{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--faint);font-size:12.5px;font-weight:500}

[data-rv]{opacity:0;transform:translateY(20px);transition:.7s var(--ease)}[data-rv].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-rv]{opacity:1;transform:none}}

@media(max-width:880px){
  .svc,.steps,.fcards,.reviews{grid-template-columns:1fr}
  .points{grid-template-columns:1fr}
}

/* ===== P0 additions — 리드 폼 · 상태 UI · 푸터 법적 표기 (REPORT §5 P0-A/C) ===== */
.lead-form{margin-top:28px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,30px)}
.lead-form h3{font-weight:800;font-size:19px;margin-bottom:4px}
.lead-form .lf-sub{color:var(--dim);font-size:13px;margin-bottom:18px}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.lf-field{display:block;margin-bottom:12px}
.lf-grid .lf-field{margin-bottom:0}
.lf-field span{font-size:11px;letter-spacing:.04em;color:var(--faint);display:block;margin-bottom:7px}
.lf-field input,.lf-field select,.lf-field textarea{width:100%;background:var(--bg2);border:1px solid var(--line2);color:var(--tx);font-family:inherit;font-size:14.5px;padding:12px 14px;border-radius:12px}
.lf-field input:focus,.lf-field select:focus,.lf-field textarea:focus{outline:none;border-color:var(--vio)}
.lf-field select option{background:var(--panel2);color:var(--tx)}
.lf-field textarea{resize:vertical}
.lf-consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--dim);margin:6px 0 14px;cursor:pointer}
.lf-consent input{margin-top:2px;accent-color:var(--vio)}
.lf-consent a{color:var(--vio2);text-decoration:underline}
.lf-btn{border:none;cursor:pointer}
.form-status{font-size:13px;margin-top:12px;min-height:18px}
.form-status.ok{color:var(--mint)}
.form-status.err{color:#F87171}
.contact-line .kakao-link{color:var(--vio2)}
.foot .info a.kakao-link{color:var(--vio2)}
.foot .legal-links{margin-top:10px;font-size:12.5px}
.foot .legal-links a{color:var(--dim);text-decoration:underline}
/* privacy.html 본문 */
.legal-body{max-width:820px;margin:0 auto;color:var(--dim);font-size:14.5px;line-height:1.75}
.legal-body h2{color:var(--tx);font-size:19px;font-weight:800;margin:34px 0 10px}
.legal-body table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13.5px}
.legal-body th,.legal-body td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.legal-body th{color:var(--tx);background:var(--panel)}
.legal-body ul{padding-left:20px;margin:8px 0}
.legal-body .ph{color:var(--vio2);font-weight:700}
@media(max-width:640px){.lf-grid{grid-template-columns:1fr}}
