:root{
  --ink:#14161a; --muted:#6b7280; --line:#ececec; --bg:#ffffff; --soft:#f7f8fa;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
img{max-width:100%}
.ac{color:var(--ac,#d9a521)}

/* topbar — 얇은 브랜드 바, 메뉴 벽 없음 */
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar-in{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}
.topbar-in img{height:26px;display:block}
.topbar-tel{font-size:13px;font-weight:800;background:var(--ink);color:#fff;padding:8px 16px;border-radius:999px}

/* hero — 좌: 카피/버튼/필네비, 우: 대표 매물 스포트라이트 */
.spot{padding:48px 0 8px;background:var(--soft)}
.spot-in{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.spot-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--ac,#d9a521);background:rgba(0,0,0,.04);padding:6px 12px;border-radius:999px;margin-bottom:14px}
.spot-text h1{font-size:clamp(24px,3.2vw,34px);font-weight:800;margin:0 0 12px;letter-spacing:-.01em}
.spot-text p{font-size:14.5px;color:var(--muted);margin:0 0 22px;max-width:44ch}
.spot-actions{display:flex;gap:10px;margin-bottom:26px}
.btn{display:inline-block;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:800}
.btn-ac{background:var(--ac,#d9a521);color:#111}
.btn-line{background:transparent;color:var(--ink);border:1px solid #d7dbe2}
.pillnav{display:flex;gap:16px}
.pillnav a{font-size:13px;font-weight:700;color:var(--muted);padding:4px 0;border-bottom:2px solid transparent}
.pillnav a:hover{color:var(--ink);border-color:var(--ac,#d9a521)}
.spot-photo{position:relative;display:block;border-radius:20px;overflow:hidden;box-shadow:0 18px 40px rgba(20,22,26,.14)}
.spot-photo img{width:100%;height:320px;object-fit:cover;display:block;background:#e6e8ec}
.spot-photo-b{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(0deg,rgba(10,11,13,.82),transparent);color:#fff}
.spot-photo-b .n{font-weight:800;font-size:15px;margin-bottom:3px}
.spot-photo-b .p{font-weight:900;font-size:19px}

/* feed — 좌: 사이드 정보 패널(스티키), 우: 매물 리스트(행 단위) */
.feed{padding:44px 0}
.feed-in{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:start}
.feed-aside{position:sticky;top:70px;display:flex;flex-direction:column;gap:14px}
.aside-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:18px}
.aside-h{font-size:13px;font-weight:800;margin-bottom:12px}
.aside-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.aside-facts li{display:flex;flex-direction:column;gap:2px;font-size:12.5px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.aside-facts li:last-child{border-bottom:none;padding-bottom:0}
.aside-facts b{font-size:13.5px}
.aside-facts span{color:var(--muted)}
.aside-consult{background:#fff}
.aside-consult p{font-size:12.5px;color:var(--muted);margin:0 0 12px}
.aside-btn{display:inline-block;font-size:12.5px;font-weight:800;color:var(--ac,#d9a521)}

.feed-main .sec-h{font-size:21px;font-weight:800;margin:0 0 8px;letter-spacing:-.01em}
.feed-main .sec-d{font-size:14px;color:var(--muted);margin:0 0 20px}
.rows{display:flex;flex-direction:column;gap:10px}
.row{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;transition:box-shadow .12s ease,transform .12s ease}
.row:hover{box-shadow:0 10px 24px rgba(20,22,26,.08);transform:translateY(-1px)}
.row-img{width:150px;height:110px;object-fit:cover;object-position:center;border-radius:10px;flex:none;background:#eef0f3}
.row-b{flex:1;min-width:0;padding:2px 4px}
.row-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.row-name{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-price{font-weight:900;font-size:16px;flex:none}
.row-meta{font-size:12.5px;color:var(--muted);margin-top:5px}
.row-meta b{color:var(--ink)}
.row-pay{font-size:12.5px;color:var(--muted);margin-top:6px}
.row-pay b{color:var(--ink);font-weight:800}
.feed-cta{margin-top:18px;border:1px dashed #d7dbe2;border-radius:12px;padding:16px;text-align:center;font-size:13.5px;color:var(--muted)}
.feed-cta b{color:var(--ink)}
.feed-cta span.ac{display:inline-block;margin-left:6px;background:var(--ac,#d9a521);color:#111;font-weight:800;font-size:12px;padding:3px 10px;border-radius:999px}
.empty{padding:40px;text-align:center;color:var(--muted);background:var(--soft);border-radius:12px}

/* info — 탭(라디오+CSS, JS 없이 동작) */
.tabs{padding:8px 0 44px;background:var(--soft)}
.tabs-intro{font-size:14px;color:var(--muted);margin:0 0 22px}
.tabset > input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.tabbar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:24px;scrollbar-width:none}
.tabbar::-webkit-scrollbar{display:none}
.tabbtn{flex:none;padding:9px 16px;border-radius:999px;background:#fff;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;border:1px solid var(--line)}
.tabpanel{display:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 24px}
#tab-checkpoint:checked ~ .tabbar label[for="tab-checkpoint"],
#tab-faq:checked ~ .tabbar label[for="tab-faq"],
#tab-store:checked ~ .tabbar label[for="tab-store"],
#tab-overview:checked ~ .tabbar label[for="tab-overview"],
#tab-features:checked ~ .tabbar label[for="tab-features"],
#tab-caution:checked ~ .tabbar label[for="tab-caution"],
#tab-scenario:checked ~ .tabbar label[for="tab-scenario"]{
  background:var(--ink);color:#fff;border-color:var(--ink)
}
#tab-checkpoint:checked ~ #panel-checkpoint{display:block}
#tab-faq:checked ~ #panel-faq{display:block}
#tab-store:checked ~ #panel-store{display:block}
#tab-overview:checked ~ #panel-overview{display:block}
#tab-features:checked ~ #panel-features{display:block}
#tab-caution:checked ~ #panel-caution{display:block}
#tab-scenario:checked ~ #panel-scenario{display:block}

/* 탭 패널 내부 공통 요소 (체크포인트/개요/특징/유의사항/시나리오/매장/FAQ) */
.tabpanel .sec-h{font-size:18px;font-weight:800;margin:0 0 8px}
.tabpanel .sec-d{font-size:13.5px;color:var(--muted);margin:0 0 20px}
.numlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.numlist li{display:flex;gap:14px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}
.numlist li:last-child{border-bottom:none;padding-bottom:0}
.numlist .no{font-size:13px;font-weight:800;color:var(--ac,#d9a521);flex:none;width:28px}
.numlist .tx b{display:block;font-size:14.5px;margin-bottom:3px}
.numlist .tx p{margin:0;font-size:13.5px;color:var(--muted)}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{flex:none;width:20px;height:20px;position:relative}
.faq summary .ic::before,.faq summary .ic::after{content:"";position:absolute;background:var(--ink);top:50%;left:50%;transform:translate(-50%,-50%)}
.faq summary .ic::before{width:12px;height:2px}
.faq summary .ic::after{width:2px;height:12px;transition:transform .15s}
.faq details[open] summary .ic::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);opacity:0}
.faq details[open] summary .ic::before{transform:translate(-50%,-50%) rotate(180deg)}
.faq .a{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.6}
.store{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px}
.store div{display:flex;gap:10px;font-size:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.store b{width:64px;flex:none;color:var(--muted);font-weight:700}

/* consult — 밝은 배경, 검은 배경 금지, 좌우 분할 */
.consult2{padding:0 0 44px}
.consult2-card{background:#fafbfc;border-top:4px solid var(--ac,#d9a521);border-radius:18px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.consult2-text .eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--ac,#d9a521);text-transform:uppercase;margin-bottom:8px}
.consult2-text h2{margin:0 0 6px;font-size:20px;font-weight:800}
.consult2-text p{margin:0;font-size:14px;color:var(--muted)}
.consult2 .tel{font-size:26px;font-weight:900;color:var(--ac,#d9a521);text-decoration:underline;flex:none}

/* footer - 다크, 라벨 고정폭 */
.ft{background:#0a0b0d;color:#c7cbd2;padding:34px 0 26px}
.ft-in{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:start}
.ft-brand{color:#fff;font-weight:800;font-size:16px;white-space:nowrap}
.ft-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px 24px}
.ft-row{display:flex;gap:0;font-size:13px;padding:3px 0}
.ft-row b{width:92px;flex:none;color:#8b909a;font-weight:600}
.ft-note{grid-column:1 / -1;margin-top:14px;font-size:11.5px;color:#6b7078;line-height:1.6}

@media (max-width:860px){
  .spot-in{grid-template-columns:1fr}
  .spot-photo{order:-1}
  .feed-in{grid-template-columns:1fr}
  .feed-aside{position:static;flex-direction:row;flex-wrap:wrap}
  .aside-card{flex:1;min-width:220px}
}
@media (max-width:640px){
  .row{flex-direction:column}
  .row-img{width:100%;height:170px}
  .ft-in{grid-template-columns:1fr}
  .consult2-card{flex-direction:column;align-items:flex-start}
}
