/* 리셋·타이포그래피·레이아웃 기본값 — 여러 섹션이 공통으로 쓰는 규칙만 모았습니다.
   섹션별 스타일은 components.css 에 있습니다. */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:74px;font-size:var(--fz-base)}
body{font-family:'Noto Sans KR',sans-serif;font-size:var(--fz-base);color:var(--ink);line-height:var(--lh);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{letter-spacing:-.02em}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{font-family:inherit}

.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.sec{padding:100px 0}.sec.alt{background:var(--bg)}
.eyebrow{display:block;font-size:var(--fz-cap);font-weight:800;letter-spacing:.22em;color:var(--navy);margin-bottom:14px}
h2.tit{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:900;line-height:1.32;letter-spacing:-.02em}
h2.tit em{font-style:normal;color:var(--navy)}
.sub{margin-top:18px;color:var(--gray);font-size:clamp(16px,2vw,var(--fz-lg));font-weight:300}
/* 넘칠 수 있는 본문 줄 수 제한 */
.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.center{text-align:center}

.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border-radius:100px;font-weight:700;font-size:var(--fz-btn);transition:.25s}
button.btn{font-family:inherit;cursor:pointer}   /* 버튼 요소로 쓸 때 기본 스타일 보정 */
.btn-p{background:var(--navy);color:#fff;box-shadow:0 10px 28px rgba(43,68,166,.32)}
.btn-p:hover{background:var(--navy-d);transform:translateY(-3px)}
.btn-o{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.btn-o:hover{background:var(--navy-l);transform:translateY(-3px)}

/* 입력 필드 공통 스타일 — 견적 요청 폼에서 재사용 */
.fld label{display:block;font-size:var(--fz-sm);font-weight:700;margin-bottom:9px}
.fld select{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;font-size:var(--fz-md);background:#fff;color:var(--ink);cursor:pointer;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B44A6' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.fld select:focus{outline:0;border-color:var(--navy)}

/* 스크롤 등장 애니메이션 대상 공통 클래스 */
.rv{opacity:0;transform:translateY(26px);transition:.7s}.rv.in{opacity:1;transform:none}
