/*
Theme Name: dalpaengi-stair
Description: The달팽이 - 계단대리석연마 (stair.koreazipsuri.com)
Version: 1.0
*/

:root{
  --ink:#1A1A1A;
  --desc:#475569;
  --bg:#FFFFFF;
  --bg-soft:#F9F7F3;
  --deep:#0F2A2E;
  --accent:#2F8A82;
  --accent-soft:#D8EFEC;
  --accent-ink:#FFFFFF;
  --line:#E8EAED;
  --radius:0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Pretendard Variable','Noto Sans KR',-apple-system,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
  font-size:16px;
}
h1,h2,h3{line-height:1.3;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(28px,4vw,42px)}
h2{font-size:clamp(22px,3vw,30px)}
h3{font-size:18px}
p{margin:0 0 1em;color:var(--desc)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
table{width:100%;border-collapse:collapse;margin:1.2em 0}
table th,table td{border:1px solid var(--line);padding:10px 14px;text-align:left;font-size:15px}
table th{background:var(--bg-soft)}
ul{padding-left:1.2em;color:var(--desc)}
li{margin-bottom:.4em}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 2px 10px rgba(0,0,0,.05)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-size:20px;font-weight:800;letter-spacing:-.02em}
.logo .brand-accent{color:var(--accent)}
.main-nav{display:flex;gap:22px}
.main-nav a{font-size:14.5px;font-weight:600;color:var(--ink)}
.btn-consult{background:var(--accent);color:var(--accent-ink)!important;padding:10px 20px;font-weight:700;font-size:14.5px;border:none;display:inline-block}
.header-consult{display:none}
@media(min-width:900px){.header-consult{display:inline-block}}

/* hero */
.hero{position:relative;background:var(--deep);color:#fff;padding:90px 0 70px;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero-eyebrow{font-size:13px;letter-spacing:.15em;color:var(--accent-soft);font-weight:700;margin-bottom:14px;text-transform:uppercase}
.hero h1{color:#fff;max-width:760px}
.hero-lead{color:#D7DEDD;font-size:17px;max-width:640px}
.hero-photo{margin-top:30px;border:1px solid rgba(255,255,255,.15)}
.hero-photo img{width:100%;height:auto}
.hero-cta{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.btn-line{border:1.5px solid #fff;color:#fff;padding:12px 22px;font-weight:700;font-size:14.5px}

/* sections */
section{padding:56px 0}
.section-soft{background:var(--bg-soft)}
.section-label{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}

/* process 4-col */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.process-step{border:1px solid var(--line);padding:24px 18px;background:#fff}
.process-step .num{font-size:26px;font-weight:800;color:var(--accent);margin-bottom:10px}
.process-step h3{font-size:16px;margin-bottom:6px}
.process-step p{font-size:14px;margin:0}
@media(max-width:800px){.process-grid{grid-template-columns:repeat(2,1fr)}}

/* faq */
.faq-item{border-bottom:1px solid var(--line);padding:18px 0}
.faq-item h3{font-size:16px;margin-bottom:8px}
.faq-item p{font-size:14.5px;margin:0}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.gallery-grid img{width:100%;height:220px;object-fit:cover}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}

/* related */
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
.related-grid a{display:block;border:1px solid var(--line)}
.related-grid img{height:230px;object-fit:cover}
.related-grid .cap{padding:12px 16px;font-weight:700;font-size:14.5px}

/* cards (portfolio/list) */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.card{border:1px solid var(--line)}
.card img{height:190px;object-fit:cover}
.card .body{padding:16px}
.card .body h3{font-size:15.5px;margin-bottom:6px}
.card .body p{font-size:13.5px;margin:0}
@media(max-width:800px){.card-grid{grid-template-columns:repeat(2,1fr)}}

/* closing */
.closing{position:relative;height:650px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center}
.closing::before{content:"";position:absolute;inset:0;background:rgba(10,20,20,.55)}
.closing .inner{position:relative;z-index:2;max-width:640px;padding:0 20px}
.closing .line1{font-size:14px;letter-spacing:.14em;font-weight:700;color:var(--accent-soft);text-transform:uppercase;margin-bottom:14px}
.closing h2{color:#fff;font-size:clamp(24px,3.4vw,34px)}
.closing .quote{font-size:15px;color:#E7ECEB;margin:16px 0 26px}
.closing .btn-consult{padding:14px 30px;font-size:15px}

/* footer */
.site-footer{background:#fff;border-top:1px solid var(--line);padding:44px 0 26px;font-size:13.5px;color:var(--desc)}
.site-footer .logo{margin-bottom:14px}
.site-footer .biz-info p{margin:0 0 4px}
.site-footer .foot-links{display:flex;gap:16px;margin:18px 0;flex-wrap:wrap}
.site-footer .foot-links a{font-weight:600;color:var(--ink)}
.copy{margin-top:20px;font-size:12.5px;color:#94A3B8}

/* sticky bottom bar (mobile) */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:#fff;border-top:1px solid var(--line);box-shadow:0 -2px 10px rgba(0,0,0,.06)}
.sticky-bar a{flex:1;text-align:center;padding:14px 0;font-weight:700;font-size:14.5px}
.sticky-bar .call{background:var(--deep);color:#fff}
.sticky-bar .consult{background:var(--accent);color:#fff}
@media(min-width:900px){.sticky-bar{display:none}}

.breadcrumb{font-size:13px;color:#94A3B8;margin-bottom:14px}
.breadcrumb a{color:#64748B}
.updated-note{font-size:12.5px;color:#94A3B8;margin-top:30px}
