:root{--ink:#1c1511;--ink2:#4a3f37;--mute:#7a6e64;--cream:#faf6ef;--line:#e8dfd1;--gold:#b8893b;--red:#8c1d18;--gb:#8c1d18;--ob:#2f3a5f;--hm:#c58a14;--r:14px;--max:1160px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.75;font-size:17px;word-break:keep-all;padding-bottom:64px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.02em}
.logo img{width:30px;height:30px}
.nav{display:none;gap:22px;font-size:15px;font-weight:600;color:var(--ink2);align-items:center}
.nav a:hover{color:var(--red)}
.nav a.on{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:16px;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s;line-height:1.2}
.btn:hover{transform:translateY(-1px)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#6f1511}
.btn-line{border-color:#fff;color:#fff}.btn-line:hover{background:rgba(255,255,255,.14)}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-sm{padding:9px 18px;font-size:14px}
.menu-btn{background:none;border:0;font-size:26px;cursor:pointer;padding:6px 10px}
.mnav{display:none;border-top:1px solid var(--line);background:#fff}
.mnav.open{display:block}.mnav a{display:block;padding:14px 20px;border-bottom:1px solid var(--line);font-weight:600}
@media(min-width:900px){.nav{display:flex}.menu-btn,.mnav{display:none!important}}
/* hero */
.crumb{font-size:13px;color:var(--mute);padding:14px 0}
.crumb a:hover{text-decoration:underline}
.hero{position:relative;color:#fff;background:#1c1511;overflow:hidden}
.hero .bg{position:absolute;inset:0}.hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero .in{position:relative;padding:56px 0 52px}
.hero h1{font-size:clamp(34px,6vw,60px);line-height:1.18;letter-spacing:-.03em;font-weight:800;margin-bottom:14px}
.hero p.lead{font-size:clamp(16px,2.2vw,20px);max-width:640px;color:#f3eadb}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero .tag{display:inline-block;font-size:13px;letter-spacing:.08em;color:var(--gold);font-weight:700;margin-bottom:12px}
.hero-split{display:grid;grid-template-columns:repeat(3,1fr);height:clamp(150px,34vw,340px)}
.hero-split a{position:relative;overflow:hidden;display:block}
.hero-split img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.hero-split a:hover img{transform:scale(1.04)}
.hero-split span{position:absolute;left:0;right:0;bottom:0;padding:26px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-weight:800;font-size:clamp(14px,2.4vw,22px);text-align:center}
.hero.main{background:#1c1511}
.hero.main .in{padding:44px 0 36px;text-align:center}
.hero.main p.lead{margin:0 auto}.hero.main .acts{justify-content:center}
.hero.photo .bg img{opacity:.5}
.hero-img{display:grid;gap:0}
.hero-img figure{margin:0}
.hero-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
/* sections */
main{display:block}
section{padding:54px 0}
section.alt{background:var(--cream)}
h2{font-size:clamp(24px,3.4vw,34px);line-height:1.3;letter-spacing:-.02em;margin-bottom:34px}
h3{font-size:19px;line-height:1.4;margin-bottom:18px}
.sub{color:var(--mute);margin-bottom:44px;max-width:760px}
p+p{margin-top:12px}
.answer{background:var(--cream);border-left:4px solid var(--gold);padding:18px 20px;border-radius:0 var(--r) var(--r) 0;font-size:18px;margin-bottom:8px}
.grid3{display:grid;gap:18px;grid-template-columns:1fr}
.grid2{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:760px){.grid3{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 10px 28px rgba(60,40,20,.12);transform:translateY(-2px)}
.card .ph{aspect-ratio:4/3;overflow:hidden;background:#eee}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .ph img{transform:scale(1.04)}
.card .bd{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .bd p{color:var(--ink2);font-size:16px;flex:1}
.card .lg{height:34px;width:auto;max-width:120px;object-fit:contain;object-position:left}
.pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;color:#fff;width:max-content}
.c-gb{--c:var(--gb)}.c-ob{--c:var(--ob)}.c-hm{--c:var(--hm)}
.pill{background:var(--c,var(--ink))}
.card.c-gb,.card.c-ob,.card.c-hm{border-top:4px solid var(--c)}
.btn-c{background:var(--c);color:#fff}
.gal{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.gal{grid-template-columns:repeat(4,1fr)}.gal.g3{grid-template-columns:repeat(3,1fr)}}
.gal figure{margin:0;border-radius:var(--r);overflow:hidden;background:#f2ece2;position:relative}
.gal img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .4s}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{font-size:13px;color:var(--ink2);padding:8px 10px 10px;line-height:1.45}
.gal.land img{aspect-ratio:4/3}
.galhead{display:flex;align-items:center;gap:10px;margin:28px 0 12px}
.galhead h3{margin:0}
table{width:100%;border-collapse:collapse;font-size:16px;background:#fff}
th,td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
thead th{background:var(--ink);color:#fff;font-weight:700}
tbody th{background:var(--cream);width:20%;white-space:nowrap}
.tw{overflow-x:auto;border-radius:var(--r)}.tw table{min-width:640px}
.steps{list-style:none;display:grid;gap:12px;counter-reset:s}
@media(min-width:760px){.steps{grid-template-columns:repeat(6,1fr)}}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 14px;position:relative}
.steps li::before{content:counter(s);display:flex;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;align-items:center;justify-content:center;margin-bottom:8px}
.steps b{display:block;margin-bottom:4px}.steps span{font-size:15px;color:var(--ink2);display:block;line-height:1.55}
p+.steps{margin-top:28px}
.chk{list-style:none;display:grid;gap:10px}
.chk li{padding:12px 14px 12px 44px;background:#fff;border:1px solid var(--line);border-radius:10px;position:relative}
.chk li::before{content:"✓";position:absolute;left:14px;top:11px;color:#fff;background:var(--gold);width:22px;height:22px;border-radius:50%;text-align:center;line-height:22px;font-size:13px;font-weight:800}
@media(min-width:760px){.chk{grid-template-columns:1fr 1fr}}
.faq details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
.faq summary{cursor:pointer;padding:16px 46px 16px 18px;font-weight:700;font-size:17px;list-style:none;position:relative;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:24px;color:var(--gold)}
.faq details[open] summary::after{content:"−"}
.faq .a{padding:0 18px 18px;color:var(--ink2)}
.faq .more{display:none}.js .faq .more{display:none}.js .faq.open .more{display:block}.faq:not(.js-on) .more{display:block}
.js .faq .more{display:none}
.faq-btn{display:none;margin:8px auto 0}
.js .faq-btn{display:inline-flex}
.cta{background:linear-gradient(135deg,#2a1912,#6f1511);color:#fff;text-align:center;padding:54px 0}
.cta h2{color:#fff}.cta p{color:#f3e4cf;max-width:620px;margin:0 auto 22px}
.cta .tel{display:block;font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:.02em;margin:6px 0 18px}
.cmp{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
.cmp a{padding:10px 16px;border:1px solid var(--line);border-radius:99px;font-weight:600;font-size:14px;background:#fff}
.cmp a:hover{border-color:var(--red);color:var(--red)}
.two{display:grid;gap:26px;align-items:center}
@media(min-width:860px){.two{grid-template-columns:1fr 1fr}.two.rev .im{order:2}}
.two img{border-radius:var(--r);width:100%;aspect-ratio:4/3;max-height:380px;object-fit:cover;object-position:center}
.note{font-size:13px;color:var(--mute);margin-top:12px}
.mod{font-size:13px;color:var(--mute);margin-top:24px}
.logo-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);display:flex;align-items:center;justify-content:center;padding:14px;height:110px}
.logo-box img{max-height:82px;width:auto;object-fit:contain}
.tel-box{background:#fff;border:2px solid var(--gold);border-radius:var(--r);padding:26px;text-align:center}
.tel-box .num{font-size:clamp(30px,6vw,48px);font-weight:800;color:var(--red);display:block;margin:4px 0 14px}
/* footer */
.ft{background:#17110d;color:#cfc3b3;padding:44px 0 30px;font-size:14px}
.ft .cols{display:grid;gap:26px}
@media(min-width:800px){.ft .cols{grid-template-columns:2fr 1fr}}
.ft h4{color:#fff;margin-bottom:10px;font-size:15px}
.ft a{display:block;padding:3px 0}.ft a:hover{color:#fff}
.ft address{font-style:normal;line-height:1.9}
.ft .cp{border-top:1px solid #33271f;margin-top:26px;padding-top:18px;font-size:12px;color:#8f8272}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--red);color:#fff;text-align:center;padding:14px;font-weight:800;font-size:17px;box-shadow:0 -4px 14px rgba(0,0,0,.2)}
@media(min-width:900px){.callbar{display:none}body{padding-bottom:0}}
@keyframes heroUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero.main .in>*{animation:heroUp 1.2s cubic-bezier(.2,.7,.2,1) both}
.hero.main .in>:nth-child(2){animation-delay:.25s}.hero.main .in>:nth-child(3){animation-delay:.5s}.hero.main .in>:nth-child(4){animation-delay:.8s}.hero.main .in>:nth-child(5){animation-delay:1.1s}.hero.main .in>:nth-child(6){animation-delay:1.4s}
.hero-split img{transition:transform .8s ease}.hero-split a:hover img{transform:scale(1.05)}
@media (prefers-reduced-motion:reduce){.hero.main .in>*{animation:none}.hero-split img{transition:none}}
/* full-bleed hero */
.hero.full{min-height:clamp(560px,calc(100vh - 66px),900px);display:flex;align-items:center;justify-content:center}
.hero.full .hero-split{position:absolute;inset:0;height:auto}
.hero.full .hero-split::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,8,.72),rgba(20,12,8,.5) 45%,rgba(20,12,8,.78));pointer-events:none}
.hero.full .hero-split span{z-index:2;font-size:clamp(15px,2.6vw,24px);padding:40px 10px 18px;background:none;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.hero.full .in{z-index:3;width:100%;pointer-events:none;padding:64px 0}
.hero.full .in a{pointer-events:auto}
.hero.full h1{text-shadow:0 2px 16px rgba(0,0,0,.5)}
.hero.full .hero-split a:hover img{transform:scale(1.06)}
.cta-photo{position:relative;background:linear-gradient(rgba(42,25,18,.82),rgba(111,21,17,.88)),url(/assets/image/images/gobongdang-set-table-1600.webp) center/cover;padding:72px 0}
@media(max-width:640px){.hero.full{min-height:520px}}
/* fixed bottom consult banner */
.fixbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 16px;background:linear-gradient(90deg,#2a1912,#6f1511);color:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.28)}
.fixbar p{margin:0;display:flex;flex-direction:column;line-height:1.3;font-size:15px}.fixbar p span{font-size:12px;color:#f3e4cf}
.fixbar a{font-weight:800;border-radius:99px;padding:10px 20px;white-space:nowrap}
.fb-tel{background:#fff;color:#6f1511;font-size:18px}.fb-go{border:1.5px solid #fff;color:#fff;font-size:15px}
body{padding-bottom:64px}
@media(max-width:640px){.fixbar{gap:8px;padding:8px 10px}.fixbar p span{display:none}.fixbar p{font-size:13px}.fixbar a{padding:9px 14px}.fb-tel{font-size:16px}.fb-go{font-size:13px}}
.fixbar .fb-go{background:#fff;color:#6f1511;border:0;font-size:17px;padding:11px 26px}
@media(max-width:640px){.fixbar .fb-go{font-size:15px;padding:10px 18px}}
.fixbar{justify-content:space-between;padding:12px max(24px,5vw);gap:24px}
.fixbar p{flex-direction:row;align-items:baseline;gap:14px;font-size:clamp(16px,2vw,22px)}.fixbar p span{font-size:clamp(13px,1.4vw,16px)}
@media(max-width:640px){.fixbar{padding:8px 14px;gap:10px}.fixbar p{font-size:14px}}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--gold);margin-bottom:8px}
.eyebrow+h2{margin-top:0}
@media(max-width:899px){.pc-br{display:none}}
/* scroll reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .rv.in-view{opacity:1;transform:none}
/* brand link boxes */
.bl{display:grid;gap:14px;margin-top:34px}
@media(min-width:760px){.bl{grid-template-columns:repeat(3,1fr)}}
.bl a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 28px;border-radius:var(--r);background:var(--c);color:#fff;font-size:20px;font-weight:800;letter-spacing:-.02em;box-shadow:0 6px 18px rgba(28,21,17,.14);transition:transform .25s,box-shadow .25s}
.bl a i{font-style:normal;font-size:24px;transition:transform .25s}
.bl a:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(28,21,17,.22)}.bl a:hover i{transform:translateX(5px)}
/* brand intro: logo box left + text */
@media(min-width:860px){.two.bi{grid-template-columns:2fr 3fr;gap:44px}}
.two.bi .logo-box{height:auto;min-height:240px;padding:28px}
.two.bi .logo-box img{width:auto;max-width:100%;max-height:200px;aspect-ratio:auto;object-fit:contain;border-radius:0}
.two.bi p{font-size:18px;line-height:1.85}
/* home: header overlays hero image */
body.home .hd{position:fixed;left:0;right:0;top:0;background:transparent;backdrop-filter:none;border-bottom-color:transparent;transition:background .3s,border-color .3s}
body.home .hd .logo,body.home .hd .nav a:not(.btn),body.home .hd .menu-btn{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
body.home .hd .nav a.on{color:var(--gold)}
body.home .hd.scrolled{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom-color:var(--line)}
body.home .hd.scrolled .logo,body.home .hd.scrolled .nav a:not(.btn),body.home .hd.scrolled .menu-btn{color:var(--ink);text-shadow:none}
body.home .hd.scrolled .nav a.on{color:var(--red)}
body.home .hero.full{min-height:clamp(560px,100vh,960px)}
body.home .hero.full .in{padding-top:96px}
/* gallery 더보기 */
.gal-btn{display:none;margin:22px auto 0}
.js .gal-btn{display:flex}
.js .gal[data-more] .gx{display:none}
.js .gal[data-more].open .gx{display:block}
/* 매장·브랜드 비주얼 (2장) */
.vis{margin-top:44px}
.vis p{margin-bottom:18px}
.vis-grid{display:grid;gap:14px}
@media(min-width:760px){.vis-grid{grid-template-columns:1fr 1fr;gap:18px}}
.vis figure{margin:0;border-radius:var(--r);overflow:hidden;background:#f2ece2}
.vis img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.wrap>.vis:first-child{margin-top:0}
/* 모바일 히어로: 사진 3단(세로) 배치 */
@media(max-width:639px){
 .hero.full .hero-split{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}
 .hero.full{min-height:clamp(600px,100svh,760px)}
 body.home .hero.full{min-height:clamp(600px,100svh,760px)}
 .hero.full .hero-split::after{background:linear-gradient(180deg,rgba(20,12,8,.78),rgba(20,12,8,.58) 50%,rgba(20,12,8,.8))}
 .hero.full .hero-split img{object-position:center}
}
.m-br{display:none}
@media(max-width:639px){.m-br{display:inline}}
/* 모바일: 히어로가 하단 고정 배너까지 이어지도록 (상한 제거) */
@media(max-width:639px){
 body.home .hero.full,.hero.full{min-height:max(600px,calc(100svh - 58px))}
 .fixbar{min-height:58px}
}
/* 브랜드 카드 로고: 박스·로고 영역 크기 통일 */
.card .logo-box{height:96px;padding:10px}
.card .logo-box img,.card .logo-box .lg{width:170px;height:68px;max-width:100%;max-height:none;object-fit:contain;object-position:center}
/* 모바일: 절차 6단계 세로 컴팩트 타임라인 (가로 스크롤 없음) */
@media(max-width:759px){
 .steps{display:grid;grid-template-columns:1fr;gap:0;position:relative}
 .steps li{display:grid;grid-template-columns:34px 1fr;column-gap:14px;align-items:start;border:0;border-radius:0;background:transparent;padding:0 0 18px;position:relative}
 .steps li::before{grid-row:1/3;margin:0;width:34px;height:34px;position:relative;z-index:1}
 .steps li:not(:last-child)::after{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:var(--line)}
 .steps b{margin:4px 0 2px;font-size:17px}
 .steps span{font-size:14.5px;line-height:1.55;grid-column:2}
}
/* 히어로 텍스트 좌우 여백 (shorthand padding이 .wrap 여백을 지우던 문제) */
body .hero .wrap.in{padding-left:20px;padding-right:20px}
@media(max-width:639px){.hero h1{word-break:keep-all;overflow-wrap:anywhere}.hero p.lead{max-width:100%}}
/* 일반 목록: 점(●)이 박스 밖으로 밀리지 않도록 들여쓰기 */
main ul:not([class]),main ol:not([class]){padding-left:22px;margin:4px 0 8px}
main ul:not([class]) li,main ol:not([class]) li{padding-left:4px;margin-bottom:10px;line-height:1.7}
main ul:not([class]) li::marker{color:var(--gold)}
/* 모바일: 표를 카드형으로 (가로 스크롤 제거) */
@media(max-width:759px){
 .tw{overflow:visible}
 .tw table{min-width:0;background:transparent}
 .tw table,.tw thead,.tw tbody,.tw tr,.tw th,.tw td{display:block;width:100%}
 .tw thead{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
 .tw tbody tr{margin:0 0 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
 .tw tbody th{background:var(--cream);border:0;font-weight:800;padding:12px 14px}
 .tw tbody td{border:0;border-top:1px solid var(--line);padding:11px 14px}
 .tw tbody td[data-label]{display:grid;grid-template-columns:92px 1fr;column-gap:10px}
 .tw tbody td[data-label]::before{content:attr(data-label);font-weight:700;color:var(--mute);font-size:14px}
}
/* 모바일: 브랜드 소개 로고 박스 축소·중앙 정렬 */
@media(max-width:639px){
 .two.bi .logo-box{min-height:150px;padding:20px;justify-content:center;align-items:center}
 .two.bi .logo-box img{max-height:104px;margin:0 auto}
}
/* 로고 크기 축소 (고봉당 로고는 여백을 잘라내 더 크게 보임) */
@media(max-width:639px){
 .two.bi .logo-box{min-height:112px;padding:16px}
 .two.bi .logo-box img{max-height:64px}
}
.card .logo-box img[src*="gobongdang-logo-crop"]{width:auto;height:54px}
@media(min-width:640px){.two.bi .logo-box img[src*="gobongdang-logo-crop"]{max-height:150px}}
/* 섹션 간격 확대 + 구분선: 콘텐츠를 섹션 단위로 명확히 분리 */
main section:not(.cta){padding:88px 0}
main section.cta{padding:84px 0}
main section:not(.alt):not(.cta)+section:not(.alt):not(.cta){border-top:1px solid var(--line)}
main section>.wrap>h2:first-child,main section>.wrap>.eyebrow+h2{margin-bottom:38px}
@media(max-width:639px){
 main section:not(.cta){padding:60px 0}
 main section.cta{padding:60px 0}
 main section>.wrap>h2:first-child,main section>.wrap>.eyebrow+h2{margin-bottom:28px}
}
