/* 소하우스바 — 디자인 토큰 (3안 공통. 안별로 바꾸지 않음) */
@font-face{font-family:"NanumSquare";src:url("fonts/NanumSquareL.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"NanumSquare";src:url("fonts/NanumSquareR.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"NanumSquare";src:url("fonts/NanumSquareB.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{
  /* 키컬러 — 이 둘만 유채색 */
  --navy:#182548;    /* 키컬러 2 · 딥 네이비 — 브랜드 면(커버·슬로건·로고·푸터) */
  --olive:#42503c;   /* 키컬러 1 · 딥 올리브그린 — 유일한 포인트(예약 CTA·링크) */
  /* 나머지는 전부 무채색 회색조 */
  --bg:#f4f4f4; --surface:#ffffff; --ink:#1e1e1e; --body:#3a3a3a; --dim:#767676; --line:#e0e0e0; --line2:#c9c9c9;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);
  font-family:"NanumSquare","Manrope",-apple-system,sans-serif;font-weight:300;line-height:1.8;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.en{font-family:"Manrope","NanumSquare",sans-serif}
.wrap{max-width:1200px;margin:0 auto;padding:0 44px}
.lb{font-size:12px;letter-spacing:2.5px;color:var(--dim);font-weight:400}

/* 브랜드 그래픽 — 원본에서 흰 배경을 제거한 알파 마스크. 색은 부모의 color가 결정 */
.slogan{background:currentColor;aspect-ratio:1070/595;
  -webkit-mask:url("img/slogan-mask.png") no-repeat center/contain;
  mask:url("img/slogan-mask.png") no-repeat center/contain}
.logomark{background:currentColor;aspect-ratio:1052/262;
  -webkit-mask:url("img/logo-mask.png") no-repeat left center/contain;
  mask:url("img/logo-mask.png") no-repeat left center/contain}
.symbolmark{background:currentColor;aspect-ratio:1/1;
  -webkit-mask:url("img/symbol-mask.png") no-repeat center/contain;
  mask:url("img/symbol-mask.png") no-repeat center/contain}

/* 유일한 포인트 — 예약 CTA */
.cta{display:inline-block;padding:15px 34px;background:var(--olive);color:#fff;font-size:13.5px;letter-spacing:.5px}
.cta:hover{background:var(--navy)}

@media(max-width:860px){.wrap{padding:0 22px}}
