:root{
  --bg:#0f0d0b;--bg2:#17130f;--card:#1e1913;--line:#3a2f22;
  --gold:#d4a84b;--gold2:#f1d38a;--red:#c8281e;--red2:#e0453a;
  --text:#f3ece0;--muted:#b9ab95;
  --serif:'Noto Serif KR',serif;--sans:'Noto Sans KR',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.7;word-break:keep-all;padding-bottom:76px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* 상단 */
.top{position:sticky;top:0;z-index:20;background:rgba(15,13,11,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:12px}
.logo{font-family:var(--serif);font-weight:700;color:var(--gold2);font-size:17px;white-space:nowrap}
.logo small{color:var(--muted);font-weight:400;font-size:12px;margin-left:6px}
.nav{display:flex;gap:18px;font-size:14px;color:var(--muted)}
.nav a:hover{color:var(--gold2)}
.top-call{color:var(--gold2);font-weight:700;font-size:14px;white-space:nowrap}
@media(max-width:820px){.nav{display:none}}
@media(max-width:480px){.logo{font-size:14px}.top-call{font-size:12px;border:1px solid var(--gold);border-radius:999px;padding:4px 10px}.top-call .num{display:none}}

/* 첫 화면 */
.hero{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url(img/hero.jpg) center/cover no-repeat}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,11,.35) 0%,rgba(15,13,11,.55) 45%,rgba(15,13,11,.97) 100%)}
.hero .wrap{position:relative;padding-top:120px;padding-bottom:56px;width:100%}
.badge{display:inline-block;border:1px solid var(--gold);color:var(--gold2);font-size:13px;letter-spacing:.08em;padding:5px 14px;border-radius:999px;margin-bottom:18px;background:rgba(0,0,0,.35)}
.hero h1{font-family:var(--serif);font-size:clamp(30px,6vw,58px);line-height:1.3;font-weight:900}
.hero h1 .g{color:var(--gold2)}
.hero h1 .r{color:var(--red2)}
.hero .brand{font-family:var(--serif);font-size:clamp(18px,3vw,26px);color:var(--gold2);margin-top:12px}
.hero p.sub{color:var(--muted);margin-top:10px;font-size:16px}
.cta3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;max-width:760px}
.btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:56px;padding:12px 16px;border-radius:10px;font-weight:700;font-size:16px;transition:.2s}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red2)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1a1206}
.btn-line{border:1.5px solid var(--gold);color:var(--gold2);background:rgba(0,0,0,.4)}
.btn-line:hover{background:rgba(212,168,75,.12)}
@media(max-width:640px){.cta3{grid-template-columns:1fr}}

/* 공통 섹션 */
section.sec{padding:84px 0;border-top:1px solid var(--line)}
section.alt{background:var(--bg2)}
.kicker{color:var(--red2);font-weight:700;letter-spacing:.15em;font-size:13px}
.sec h2{font-family:var(--serif);font-size:clamp(26px,4.4vw,40px);margin:8px 0 12px;line-height:1.35}
.sec h2 em{font-style:normal;color:var(--gold2)}
.lead{color:var(--muted);max-width:680px;font-size:16px}
.gold-line{width:56px;height:3px;background:var(--gold);margin:18px 0 34px}

/* 신뢰 숫자 */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fact{background:var(--card);padding:22px 14px;text-align:center}
.fact b{display:block;font-family:var(--serif);font-size:26px;color:var(--gold2)}
.fact span{font-size:13px;color:var(--muted)}
@media(max-width:640px){.facts{grid-template-columns:repeat(2,1fr)}}

/* 메뉴 카드 */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.card .ph{aspect-ratio:4/3;background:#fff;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.04)}
.card .bd{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.card .tag{font-size:12px;color:var(--red2);font-weight:700}
.card h3{font-family:var(--serif);font-size:20px;margin:4px 0 6px}
.card p{color:var(--muted);font-size:14px;flex:1}
.price{font-size:22px;font-weight:900;color:var(--gold2);margin:12px 0}
.price small{font-size:13px;color:var(--muted);font-weight:400;margin-left:4px}
.card .btn{min-height:46px;font-size:15px}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cards{grid-template-columns:1fr}}
.ship{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.ship span{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 16px;font-size:14px;color:var(--text)}
.ship span b{color:var(--gold2)}
.store-note{margin-top:22px;color:var(--muted);font-size:14px}
.store-note b{color:var(--gold2)}

/* 매장 메뉴표 */
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.mtable{width:100%;border-collapse:collapse;font-size:15px}
.mtable th,.mtable td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:right}
.mtable th:first-child,.mtable td:first-child{text-align:left}
.mtable thead th{color:var(--gold2);font-weight:700;font-size:13px}
.mtable td.best::after{content:"BEST";margin-left:6px;font-size:10px;background:var(--red);color:#fff;padding:1px 6px;border-radius:4px;vertical-align:middle}
.photo-frame{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.info-list{margin-top:18px;list-style:none;font-size:15px}
.info-list li{padding:6px 0;color:var(--muted)}
.info-list b{color:var(--text);display:inline-block;width:76px}

/* 셰프 / 기술전수 */
.chef{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}
@media(max-width:860px){.chef{grid-template-columns:1fr}}
.points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
@media(max-width:560px){.points{grid-template-columns:1fr}}
.point{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:16px 18px}
.point b{display:block;color:var(--gold2);font-family:var(--serif);font-size:17px;margin-bottom:4px}
.point span{font-size:14px;color:var(--muted)}
.notice{margin-top:22px;padding:14px 18px;border:1px dashed var(--gold);border-radius:10px;color:var(--gold2);font-size:15px;background:rgba(212,168,75,.06)}

/* 가맹 */
.fr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.fr-grid{grid-template-columns:1fr}}
.fr{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px 20px}
.fr .no{font-family:var(--serif);color:var(--red2);font-size:28px;font-weight:900}
.fr h3{font-family:var(--serif);font-size:19px;margin:4px 0 8px}
.fr p{font-size:14px;color:var(--muted)}

/* 상담 폼 */
.form-box{background:var(--card);border:1px solid var(--gold);border-radius:16px;padding:30px;max-width:640px}
.form-box label{display:block;font-size:14px;color:var(--muted);margin:14px 0 6px}
.form-box input,.form-box select,.form-box textarea{width:100%;background:#0f0c09;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:13px 14px;font-size:16px;font-family:inherit}
.form-box input:focus,.form-box select:focus,.form-box textarea:focus{outline:none;border-color:var(--gold)}
.agree{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:13px;color:var(--muted)}
.agree input{width:18px;height:18px;margin-top:3px;flex:none}
.agree a{color:var(--gold2);text-decoration:underline}
.form-box .btn{width:100%;margin-top:20px;border:0;cursor:pointer;font-family:inherit}
.form-help{font-size:13px;color:var(--muted);margin-top:12px}

/* 하단 */
footer{border-top:1px solid var(--line);padding:40px 0 30px;color:var(--muted);font-size:14px}
footer .logo{display:block;margin-bottom:10px}
footer a{color:var(--gold2)}

/* 하단 고정 바 */
.fixbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:8px;padding:10px 12px;background:rgba(15,13,11,.96);border-top:1px solid var(--gold)}
.fixbar a{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700;font-size:16px}
.fixbar a{white-space:nowrap;font-size:15px}
.fixbar .call{background:var(--red);color:#fff;flex:1.5}
.fixbar .shop{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1a1206}

/* 개인정보처리방침 */
.doc{max-width:820px;padding:60px 20px 90px;margin:0 auto}
.doc h1{font-family:var(--serif);font-size:32px;color:var(--gold2);margin-bottom:6px}
.doc h2{font-family:var(--serif);font-size:20px;margin:34px 0 10px;color:var(--gold2)}
.doc p,.doc li{color:var(--text);font-size:15px}
.doc ul{padding-left:20px;margin:6px 0}
.doc .meta{color:var(--muted);font-size:14px}
.doc table{width:100%;border-collapse:collapse;margin:10px 0;font-size:14px}
.doc th,.doc td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.doc th{background:var(--card);color:var(--gold2)}
