@import url('https://fonts.googleapis.com/css2?family=Anton&family=Black+Han+Sans&family=Barlow:wght@400;500;600&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');
:root{--bg:#F5F4F2;--fg:#191919;--dim:#6B6B69;--line:rgba(25,25,25,.13);--soft:rgba(25,25,25,.05);--cta:#141414;--disp:"Black Han Sans",sans-serif;--eng:"Anton",sans-serif;--sans:"Pretendard","Apple SD Gothic Neo",system-ui,sans-serif;--nav:70px;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:1.02rem;line-height:1.68;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1280px,92vw);margin-inline:auto}
.eng{font-family:var(--eng);text-transform:uppercase;letter-spacing:.12em;font-weight:400}
/* nav */
header{position:fixed;top:0;left:0;right:0;height:var(--nav);z-index:50;background:rgba(245,244,242,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{height:var(--nav);display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--disp);font-size:1.35rem;letter-spacing:-.02em}.brand small{font-family:var(--eng);font-size:.62rem;color:var(--dim);display:block;letter-spacing:.15em;margin-top:-4px}
.navcall{font-family:var(--eng);font-size:.82rem;border:1px solid var(--fg);border-radius:100px;padding:9px 20px;letter-spacing:.08em;transition:.25s}.navcall:hover{background:var(--fg);color:var(--bg)}
/* hero */
.hero{display:grid;grid-template-columns:44fr 56fr;gap:10px;align-items:center;padding:calc(var(--nav) + 36px) 0 48px}
.hero-l{display:flex;flex-direction:column;justify-content:center;padding-right:4%}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:26px;font-family:var(--eng);font-size:.78rem;letter-spacing:.14em;color:var(--dim)}
.eyebrow::before{content:"";width:42px;height:1px;background:var(--fg)}
h1,.h1{font-family:var(--disp);font-weight:400;font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:1.08;letter-spacing:-.02em}
.hero p.sub{margin-top:26px;font-size:1.1rem;color:var(--dim);max-width:34em}
.hbtns{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--eng);text-transform:uppercase;letter-spacing:.1em;font-size:.86rem;border-radius:100px;padding:15px 30px;transition:.25s;border:1px solid var(--fg)}
.btn.solid{background:var(--cta);color:var(--bg)}.btn.solid:hover{opacity:.85}
.btn.ghost:hover{background:var(--fg);color:var(--bg)}
.hero-r{position:relative;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:clamp(330px,54vh,500px)}
.hero-r .m{position:relative;overflow:hidden;border-radius:8px;background:#eceae6}.hero-r .m1{grid-row:1/3}.hero-r .m img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s var(--ease)}.hero-r .m:hover img{transform:scale(1.05)}
.hero-r .tag{position:absolute;left:18px;bottom:18px;background:rgba(245,244,242,.92);font-family:var(--eng);font-size:.72rem;letter-spacing:.1em;padding:8px 16px;border-radius:100px}
/* sections */
.pad{padding-block:clamp(64px,9vw,140px)}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:44px;flex-wrap:wrap}
.shead .k{font-family:var(--eng);font-size:.78rem;letter-spacing:.14em;color:var(--dim);margin-bottom:14px}
.shead h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.15;letter-spacing:-.02em}
.divide{border-top:1px solid var(--line)}
/* trust bar */
.trust{border-block:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.tcell{padding:38px 10px;text-align:center;border-left:1px solid var(--line)}.tcell:first-child{border-left:0}
.tcell b{display:block;font-family:var(--eng);font-size:2.5rem;line-height:1;color:var(--fg)}
.tcell span{display:block;margin-top:10px;font-size:.9rem;color:var(--dim)}
/* collage editorial */
.collage{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ccard{position:relative;display:block;overflow:hidden;border-radius:10px;background:#e8e6e2;aspect-ratio:1/1}
.ccard img{width:100%;height:100%;object-fit:cover;transition:.6s var(--ease)}.ccard:hover img{transform:scale(1.04)}
.ccard .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(15,15,15,.72));color:#fff;font-size:.8rem;font-weight:500}
@media(max-width:1000px){.collage{grid-template-columns:repeat(3,1fr);gap:14px}}@media(max-width:620px){.collage{grid-template-columns:repeat(2,1fr);gap:12px}}
/* body prose */
.prose{max-width:760px}
.prose .lead{font-size:1.18rem;line-height:1.6;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line);color:var(--fg)}
.prose h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.4rem,2.6vw,1.9rem);margin:40px 0 14px;letter-spacing:-.01em}
.prose p{margin:14px 0;color:#333}
.prose ul{margin:16px 0;list-style:none}.prose li{padding:12px 0 12px 26px;border-bottom:1px solid var(--soft);position:relative}
.prose li::before{content:"—";position:absolute;left:0;color:var(--dim)}
/* service cards */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc .cell{background:var(--bg);padding:34px 28px}
.svc .cell .n{font-family:var(--eng);font-size:.8rem;color:var(--dim)}
.svc .cell h3{font-family:var(--disp);font-weight:400;font-size:1.3rem;margin:12px 0 8px}
.svc .cell p{color:var(--dim);font-size:.95rem}
/* region chips */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{border:1px solid var(--line);border-radius:100px;padding:11px 22px;font-size:.95rem;transition:.2s}.chips a:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
/* faq */
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{font-family:var(--disp);font-weight:400;font-size:1.15rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary::after{content:"+";font-family:var(--eng);color:var(--dim)}.faq details[open] summary::after{content:"–"}
.faq p{margin-top:14px;color:var(--dim)}
/* cta */
.final{background:var(--cta);color:var(--bg);text-align:center}
.final h2{font-family:var(--disp);font-weight:400;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.1}
.final p{margin:18px 0 30px;color:rgba(245,244,242,.7)}
.final .btn{border-color:var(--bg);color:var(--bg)}.final .btn.solid{background:var(--bg);color:var(--fg);border-color:var(--bg)}
/* footer */
footer{border-top:1px solid var(--line);padding:56px 0 40px;color:var(--dim);font-size:.9rem}
.fbrand{font-family:var(--disp);font-size:1.6rem;color:var(--fg);margin-bottom:16px}
.fbiz{line-height:1.9}
.crumb{font-family:var(--eng);font-size:.72rem;letter-spacing:.12em;color:var(--dim);margin-bottom:20px}
/* reveal */
[data-reveal]{opacity:0;transform:translateY(28px);transition:1s var(--ease)}
[data-reveal].on{opacity:1;transform:none}
@media(max-width:820px){.hero{grid-template-columns:1fr;min-height:auto}.hero-r{height:clamp(280px,48vh,380px)}.trust .wrap{grid-template-columns:repeat(2,1fr)}.tcell:nth-child(-n+2){border-bottom:1px solid var(--line)}.tcell:nth-child(odd){border-left:0}.svc{grid-template-columns:1fr}}
/* reviews */
.reviews-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.rev{background:var(--bg);padding:36px 30px;display:flex;flex-direction:column}
.rev .q{font-family:var(--eng);font-size:2.4rem;line-height:.7;color:var(--fg);opacity:.16;margin-bottom:14px}
.rev p{font-size:1.02rem;color:#2b2b2b;line-height:1.66;flex:1}
.rev .who{margin-top:22px;padding-top:16px;border-top:1px solid var(--soft);font-size:.9rem;color:var(--dim)}
.rev .who b{color:var(--fg);font-weight:600;font-family:var(--sans)}
.rev .stars{color:var(--fg);font-size:.85rem;letter-spacing:2px;margin-bottom:12px}
@media(max-width:900px){.reviews-g{grid-template-columns:1fr}}
/* ===== POLISH v2 ===== */
/* process 5단계 */
.proc{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:var(--line);gap:1px}
.proc .pstep{background:var(--bg);padding:32px 22px}
.proc .pn{font-family:var(--eng);font-size:1.5rem;color:var(--dim)}
.proc .pstep h3{font-family:var(--disp);font-weight:400;font-size:1.15rem;margin:14px 0 8px}
.proc .pstep p{color:var(--dim);font-size:.92rem}
/* why us */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.why .w{padding:28px 24px;border:1px solid var(--line);border-radius:8px;transition:.3s var(--ease)}
.why .w:hover{background:var(--fg);color:var(--bg)}.why .w:hover p{color:rgba(245,244,242,.75)}
.why .w .wn{font-family:var(--eng);font-size:.8rem;color:var(--dim)}
.why .w h3{font-family:var(--disp);font-weight:400;font-size:1.25rem;margin:12px 0 8px}
.why .w p{color:var(--dim);font-size:.94rem;transition:.3s}
/* hero tag polish */
.hero-r .tag{background:var(--cta);color:var(--bg)}
/* smoother buttons */
.btn:active{transform:translateY(1px)}
/* mobile sticky call bar */
.mcall{display:none}
@media(max-width:820px){
 body{padding-bottom:64px}
 .mcall{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:60;height:60px;box-shadow:0 -4px 20px rgba(0,0,0,.12)}
 .mcall a{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--eng);letter-spacing:.06em;font-size:.92rem}
 .mcall .c1{background:var(--cta);color:var(--bg)}
 .mcall .c2{background:var(--bg);color:var(--fg);border-top:1px solid var(--line)}
 .navcall{font-size:.72rem;padding:8px 14px}
 .brand{font-size:1.15rem}.brand small{font-size:.56rem}
 .proc{grid-template-columns:1fr 1fr}
 .why{grid-template-columns:1fr 1fr;gap:12px}
 .hero h1,.h1{font-size:clamp(2rem,9vw,2.9rem)}
 .shead h2{font-size:clamp(1.5rem,6vw,2rem)}
 .reviews-g{grid-template-columns:1fr}
 section{padding-block:clamp(44px,10vw,70px)}
}
@media(max-width:480px){.why{grid-template-columns:1fr}.proc{grid-template-columns:1fr}.tcell b{font-size:2rem}}

/* [2026-09-30] 대문 첫 화면 좌우 여백: .hero 가 .wrap 밖이라 PC·모바일 모두 제목이 화면 왼쪽 끝(0px)에 붙던 것 — 다른 칸(.wrap 92vw·최대 1280px)과 같은 선에 맞춤 */
.hero{padding-left:max(16px,calc((100vw - min(1280px,92vw))/2));padding-right:max(16px,calc((100vw - min(1280px,92vw))/2))}
