:root{--accent:#ac3167;--gold:#ad8e62;--ink:#333;--gray:#777;--line:#e5e5e5;--bg2:#f7f5f1}
*{box-sizing:border-box}
body{margin:0;font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:#fff;line-height:1.7;word-break:keep-all}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}

/* header */
.hd{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;gap:24px;height:76px}
.logo img{height:44px;width:auto}
.gnb{display:flex;gap:4px;margin-left:auto}
.dd{position:relative}
.dd>a{display:block;padding:26px 16px;font-weight:600}
.dd>a:hover{color:var(--accent)}
.dd>div{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);min-width:180px;padding:8px 0}
.dd:hover>div{display:block}
.dd>div a{display:block;padding:6px 18px;font-size:14px;color:var(--gray)}
.dd>div a:hover{color:var(--accent)}
.tel{color:var(--accent);font-weight:700;white-space:nowrap}
.burger{display:none;font-size:30px;color:var(--gold);cursor:pointer;margin-left:auto}

/* main */
.hero{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
.slide{flex:0 0 100%;scroll-snap-align:start}
.slide img{width:100%;max-height:560px;object-fit:cover}
.promo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.promo img{width:100%}
.eyebrow{text-align:center;color:var(--gold);letter-spacing:3px;font-size:13px;margin:64px 0 0}
.tt{text-align:center;font-size:28px;margin:8px 0 12px}
.lead{text-align:center;color:var(--gray);margin:0 0 32px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{border:1px solid var(--line);transition:.2s}
.card:hover{border-color:var(--accent)}
.card img{width:100%;aspect-ratio:283/159;object-fit:cover}
.card h3{margin:14px 16px 0;font-size:18px}
.card p{margin:2px 16px 16px;color:var(--gray);font-size:14px}
.newslist{list-style:none;padding:0;margin:0 0 72px;border-top:2px solid var(--ink)}
.newslist li{display:flex;justify-content:space-between;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line)}
.newslist li a:hover{color:var(--accent)}
.newslist span{color:var(--gray);font-size:14px;white-space:nowrap}

/* sub pages */
.sub-banner{position:relative;background:#222}
.sub-banner img{width:100%;height:220px;object-fit:cover;opacity:.55}
.sub-banner h1{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:#fff;font-size:32px}
.crumb{font-size:13px;color:var(--gray);padding-top:14px;padding-bottom:14px}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:40px}
.tabs a{border:1px solid var(--line);padding:8px 16px;font-size:14px}
.tabs a.on,.tabs a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.content section{margin-bottom:80px}
.lead-img{margin:24px auto 40px}
.st{text-align:center;font-size:22px;margin:56px 0 20px;color:var(--accent)}
.c{text-align:center}
.em{color:var(--accent);font-weight:700}
.circles{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:24px 0}
.circles img{width:180px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:24px 0}
.step{background:var(--bg2);padding-bottom:20px}
.step img{width:100%;aspect-ratio:4/3;object-fit:cover}
.step b{display:block;color:var(--gold);font-size:22px;margin:16px 20px 0}
.step h3{margin:2px 20px 8px;font-size:18px}
.step p{margin:0 20px;color:#555;font-size:15px}
.compare,.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.compare>div,.grid2>div{border:1px solid var(--line);padding:20px 24px}
.compare .hl{border-color:var(--accent)}
.compare h4,.grid2 h4{margin:0 0 8px;color:var(--accent)}
.compare p,.grid2 p{margin:4px 0}
.checks,.tags{list-style:none;padding:0;max-width:800px;margin:24px auto}
.checks li{padding:8px 0 8px 28px;position:relative;border-bottom:1px dashed var(--line)}
.checks li:before{content:"✔";position:absolute;left:4px;color:var(--accent)}
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.tags li{border:1px solid var(--gold);border-radius:20px;padding:6px 16px;font-size:14px}
.flow{max-width:700px;margin:24px auto;padding-left:24px}
.flow li{padding:6px 0}
.split{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start;margin-top:40px}
.split h4{color:var(--accent);margin:0}
.greet-in{display:grid;grid-template-columns:360px 1fr;gap:48px;align-items:start}
.greet-in p{margin:4px 0}
.greet-in h3{margin-top:32px;color:var(--accent)}
.career{padding-left:18px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.board,.price{width:100%;border-collapse:collapse;border-top:2px solid var(--ink)}
.board th,.board td,.price th,.price td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:center}
.board td.l{text-align:left}
.board a:hover{color:var(--accent)}
.price{max-width:700px;margin:24px auto}
.price th{background:var(--bg2);width:40%}
.price td{text-align:left}
.post h2{margin:0}
.post .meta{color:var(--gray);font-size:14px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:24px}
.post .pbody p{margin:4px 0}
.post .pbody img{margin:16px 0}
.btn{display:inline-block;border:1px solid var(--accent);color:var(--accent);padding:10px 22px;margin:4px}
.btn:hover{background:var(--accent);color:#fff}

/* footer */
.ft{background:#2b2b2b;color:#aaa;font-size:13px;padding:32px 0 96px}
.ft p{margin:4px 0}
.ft-nav a{color:#ddd;margin-right:16px}
.mbar{position:fixed;left:0;right:0;bottom:0;display:none;z-index:30}
.mbar a{flex:1;white-space:nowrap;font-size:15px;text-align:center;padding:14px;color:#fff;font-weight:700;background:#333}
.mbar a+a{background:#03c75a}

@media (max-width:900px){
  .burger{display:block}
  .tel{display:none}
  .gnb{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;flex-direction:column;border-bottom:1px solid var(--line);max-height:80vh;overflow:auto}
  #mnu:checked~.gnb{display:flex}
  .dd>a{padding:12px 16px;border-top:1px solid var(--line)}
  .dd>div{display:block;position:static;border:0;padding:0 0 8px 12px}
  .cards{grid-template-columns:1fr 1fr}
  .compare,.grid2,.split,.greet-in,.promo{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .mbar{display:flex}
  .sub-banner img{height:140px}
  .tt{font-size:22px}
}
