/* Core Direction — 와인샵 톤: 정제·조용함·프리미엄 */
:root{
  --wine:#3c1220;             /* 딥 와인 — 메인 포인트 */
  --wine-pressed:#2c0d17;
  --brass:#a8834a;            /* 무광 브라스 — 절제된 골드 */
  --brass-soft:#8f6f3d;

  --ink:#1c1a17;
  --ink-soft:rgba(28,26,23,.62);
  --mute:#8a8378;
  --ash:#ddd6c8;

  --canvas:#f8f5ee;           /* 아이보리 */
  --canvas-alt:#f1ebdf;
  --surface-card:#fffdf9;
  --hairline:#e6dfd0;

  --canvas-dark:#151210;
  --on-dark:#f4efe4;
  --on-dark-mute:rgba(244,239,228,.6);
  --hairline-dark:rgba(244,239,228,.12);

  --radius-sm:2px;
  --radius-md:2px;
  --radius-full:2px;
  --space-xs:8px;
  --space-sm:12px;
  --space-md:16px;
  --space-lg:24px;
  --space-xl:32px;
  --space-xxl:48px;
  --space-section:104px;
  --font: "Pretendard","Inter",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-serif: "Noto Serif KR","Pretendard",serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);color:var(--ink);background:var(--canvas);line-height:1.7;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
ul{list-style:none;}

header{position:sticky;top:0;z-index:50;background:var(--canvas-dark);height:60px;border-bottom:1px solid var(--hairline-dark);}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:1080px;margin:0 auto;padding:0 24px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:500;letter-spacing:1px;font-size:15px;color:var(--on-dark);text-transform:uppercase;}
.brand img{height:20px;width:20px;opacity:.92;}
.navlinks{display:none;gap:36px;font-size:13px;font-weight:400;letter-spacing:.4px;color:var(--on-dark);}
.navlinks a{opacity:.6;}
.navlinks a:hover,.navlinks a.active{opacity:1;}
@media(min-width:760px){.navlinks{display:flex;}}
.nav-cta{display:flex;gap:10px;}

section{padding:var(--space-section) 24px;}

.band-dark{background:var(--canvas-dark);color:var(--on-dark);}
.band-light{background:var(--canvas);color:var(--ink);}
.band-alt{background:var(--canvas-alt);color:var(--ink);}
.band-primary{background:var(--wine);color:var(--on-dark);}

.hero{text-align:center;}
.hero img.mark{height:44px;width:44px;margin:0 auto 32px;opacity:.9;}
.hero h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(30px,5vw,48px);line-height:1.4;letter-spacing:0;max-width:720px;margin:0 auto 22px;}
.hero p.sub{color:var(--on-dark-mute);max-width:520px;margin:0 auto 40px;font-size:16px;font-weight:300;line-height:1.8;letter-spacing:.2px;}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 30px;height:48px;border-radius:var(--radius-full);font-size:14px;font-weight:500;letter-spacing:.6px;border:1px solid transparent;cursor:pointer;text-transform:uppercase;transition:opacity .2s;}
.btn-primary{background:transparent;color:var(--on-dark);border-color:var(--brass);}
.btn-primary:hover{background:var(--brass);color:var(--canvas-dark);}
.btn-outline-dark{background:transparent;color:var(--on-dark);border-color:var(--hairline-dark);}
.btn-outline-dark:hover{border-color:var(--on-dark);}
.btn-outline-light{background:transparent;color:var(--ink);border-color:var(--ash);}
.btn-outline-light:hover{border-color:var(--ink);}
.btn-kakao{background:transparent;color:var(--ink);border-color:var(--ash);}
.band-primary .btn-kakao, .band-dark .btn-kakao{color:var(--on-dark);border-color:var(--hairline-dark);}
.btn-kakao:hover{border-color:var(--brass);color:var(--brass-soft);}
.btn-sm{height:38px;padding:0 20px;font-size:12px;}

.section-head{text-align:center;max-width:600px;margin:0 auto 60px;}
.eyebrow{color:var(--brass-soft);font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:16px;display:block;}
.band-primary .eyebrow, .band-dark .eyebrow{color:var(--brass);}
.section-head h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(24px,3.2vw,36px);line-height:1.4;letter-spacing:0;margin-bottom:18px;}
.section-head p{font-size:15px;line-height:1.8;color:var(--ink-soft);font-weight:300;}
.band-primary .section-head p{color:rgba(244,239,228,.75);}
.band-dark .section-head p{color:var(--on-dark-mute);}

.vision-quote{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:var(--space-xl) 0;text-align:center;max-width:680px;margin:0 auto 64px;}
.vision-quote p{font-family:var(--font-serif);font-size:clamp(18px,2.2vw,21px);font-weight:400;line-height:1.8;color:var(--ink);}

.axes{display:grid;gap:1px;background:var(--hairline);grid-template-columns:1fr;max-width:960px;margin:0 auto;border:1px solid var(--hairline);}
@media(min-width:760px){.axes{grid-template-columns:repeat(3,1fr);}}
.axis-card{background:var(--surface-card);padding:var(--space-xl) var(--space-lg);}
.axis-num{color:var(--brass-soft);font-weight:500;font-size:11px;letter-spacing:2px;margin-bottom:14px;text-transform:uppercase;}
.axis-card h3{font-family:var(--font-serif);font-weight:500;font-size:19px;margin-bottom:16px;}
.axis-card ul{color:var(--ink-soft);font-size:14px;font-weight:300;line-height:1.8;display:flex;flex-direction:column;gap:8px;}
.axis-card li::before{content:"";}

.grid-2{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:1fr;max-width:960px;margin:0 auto;}
@media(min-width:760px){.grid-2{grid-template-columns:1fr 1fr;}}
.grid-3{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:1fr;max-width:1000px;margin:0 auto;}
@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr);}}

.service-card{background:var(--surface-card);padding:var(--space-xl);display:flex;flex-direction:column;gap:10px;}
.service-card h3{font-family:var(--font-serif);font-weight:500;font-size:18px;}
.service-card p{color:var(--ink-soft);font-size:14px;font-weight:300;line-height:1.8;}
.service-card .price-note{margin-top:auto;padding-top:14px;font-size:12px;letter-spacing:.4px;color:var(--brass-soft);font-weight:500;text-transform:uppercase;}
.service-card .price-note a{border-bottom:1px solid var(--brass-soft);padding-bottom:2px;}

.story-block{max-width:700px;margin:0 auto;}
.story-block p{font-size:16px;font-weight:300;line-height:2;color:var(--ink-soft);margin-bottom:24px;}
.story-block p:last-child{margin-bottom:0;}
.story-block strong{color:var(--ink);font-weight:500;}

#contact-cta, .contact-band{background:var(--wine);color:var(--on-dark);}
#contact-cta .section-head h2, .contact-band .section-head h2{color:var(--on-dark);}
.contact-grid{display:grid;gap:var(--space-xl);grid-template-columns:1fr;max-width:960px;margin:0 auto;}
@media(min-width:760px){.contact-grid{grid-template-columns:1fr 1fr;}}
.contact-info{display:flex;flex-direction:column;gap:18px;font-size:15px;font-weight:300;}
.contact-info .row{display:flex;gap:10px;}
.contact-info .label{font-weight:500;min-width:70px;color:var(--brass);letter-spacing:.3px;}
.contact-info .kakao-box{margin-top:10px;}

form{display:flex;flex-direction:column;gap:14px;}
form input, form select, form textarea{width:100%;padding:12px 16px;border-radius:0;border:none;border-bottom:1px solid rgba(244,239,228,.28);background:transparent;color:var(--on-dark);font-size:15px;font-family:inherit;font-weight:300;height:44px;}
form textarea{height:auto;border:1px solid rgba(244,239,228,.28);padding:12px 16px;}
form input::placeholder, form textarea::placeholder{color:rgba(244,239,228,.45);}
form select option{color:#000;}
form button{margin-top:10px;padding:0 28px;height:48px;border-radius:var(--radius-full);border:1px solid var(--brass);background:transparent;color:var(--on-dark);font-weight:500;font-size:13px;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;}
form button:hover{background:var(--brass);color:var(--canvas-dark);}
.form-note{font-size:11px;color:rgba(244,239,228,.5);letter-spacing:.2px;}

footer{background:var(--canvas-dark);color:var(--on-dark);padding:var(--space-xxl) 24px;text-align:center;border-top:1px solid var(--hairline-dark);}
footer .biz-detail{max-width:600px;margin:0 auto 14px;font-size:12px;font-weight:300;line-height:1.9;color:rgba(244,239,228,.55);}
footer .copyright{font-size:11px;letter-spacing:.4px;color:rgba(244,239,228,.35);}
