*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',Arial,sans-serif;color:#151515;background:#fff;padding-bottom:76px}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.topbar{position:sticky;top:0;z-index:50;height:58px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.brand img{height:28px;width:auto}.top-call{background:#e76518;color:#fff;font-weight:800;padding:10px 14px;border-radius:999px;font-size:14px}.hero{position:relative;min-height:620px;background:#111;overflow:hidden}.hero>img{width:100%;height:620px;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.35) 48%,rgba(0,0,0,.68))}.heroText{position:absolute;z-index:2;left:22px;right:22px;bottom:58px;color:#fff}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;margin:0 0 10px}.orange{color:#e76518}.hero h1{font-size:38px;line-height:1.08;margin:0 0 12px;letter-spacing:-.04em}.sub{font-size:18px;font-weight:700;margin:0 0 22px}.heroBtns{display:flex;gap:10px;flex-wrap:wrap}.btn{border-radius:14px;padding:14px 18px;font-weight:900;font-size:15px}.primary{background:#e76518;color:#fff}.ghost{background:rgba(255,255,255,.9);color:#111}.quick{position:sticky;top:58px;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid #eee;box-shadow:0 6px 16px rgba(0,0,0,.04)}.quick a{text-align:center;padding:14px 4px;font-size:13px;font-weight:900;color:#333}.section{padding:54px 18px;border-bottom:10px solid #f7f7f7}.section h2{font-size:26px;line-height:1.22;margin:0 0 22px;letter-spacing:-.04em}.intro{padding-top:42px}.infoGrid{display:grid;gap:10px}.infoGrid div{border:1px solid #eee;border-radius:16px;padding:16px;background:#fff}.infoGrid span{display:block;font-size:13px;color:#888;margin-bottom:6px}.infoGrid strong{font-size:16px;line-height:1.4}.imageBtn{width:100%;margin-top:16px;border:0;border-radius:16px;background:#222;color:#fff;padding:16px;font-size:16px;font-weight:900}.imageStack{display:grid;gap:18px}.imageStack figure{margin:0;border-radius:18px;overflow:hidden;background:#f6f6f6;box-shadow:0 10px 28px rgba(0,0,0,.08)}.fullImg,.wideImg{width:100%;border-radius:18px;box-shadow:0 10px 28px rgba(0,0,0,.08);background:#f6f6f6}.important{background:#fff}.tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;-webkit-overflow-scrolling:touch}.tabs button{flex:0 0 auto;border:1px solid #ddd;background:#fff;border-radius:999px;padding:11px 15px;font-size:14px;font-weight:900;color:#555}.tabs button.active{background:#e76518;border-color:#e76518;color:#fff}.floorPanel{border-radius:18px;overflow:hidden;background:#f7f7f7;box-shadow:0 10px 28px rgba(0,0,0,.08)}.floorPanel img{width:100%}.reservation{background:linear-gradient(180deg,#fff,#fff7f1)}form{display:grid;gap:12px}input,select,textarea{width:100%;border:1px solid #ddd;border-radius:14px;padding:15px 14px;font-size:16px;background:#fff;font-family:inherit}.dateTimeRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fieldLabel{display:grid;gap:7px;font-size:13px;font-weight:900;color:#555}.fieldLabel span{padding-left:4px}.fieldLabel input,.fieldLabel select{margin:0}textarea{resize:vertical}.agree{font-size:13px;color:#555;display:flex;gap:8px;align-items:flex-start;line-height:1.5}.agree input{width:auto;margin-top:4px}form button{border:0;border-radius:16px;background:#e76518;color:#fff;padding:17px;font-size:17px;font-weight:900}.formNote{text-align:center;color:#555;font-weight:800}.openchat{text-align:center;border-bottom:0}.openchat p{color:#555;margin:0 0 18px}.openchat a{display:block;border:1px solid #f0d48a;background:#ffe812;color:#191600;border-radius:16px;padding:16px;font-weight:900}footer{padding:30px 18px 100px;background:#fafafa;color:#555}footer strong{display:block;color:#111;margin-bottom:8px}.bottomBar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid #ddd;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -8px 24px rgba(0,0,0,.1)}.bottomBar a{text-align:center;border-radius:14px;padding:15px 8px;font-size:16px;font-weight:900}.bottomBar .call{background:#222;color:#fff}.bottomBar .apply{background:#e76518;color:#fff}.viewer{position:fixed;inset:0;background:#fff;z-index:100;display:none;align-items:center;justify-content:center}.viewer.active{display:flex}.viewerInner{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:64px 12px 24px}.viewerInner img{max-width:none;width:auto;min-width:100%;margin:auto}.close{position:fixed;top:14px;right:14px;z-index:101;width:44px;height:44px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:30px;line-height:1;color:#111;box-shadow:0 4px 14px rgba(0,0,0,.15)}@media(min-width:760px){body{padding-bottom:0}.topbar{height:72px;padding:0 42px}.brand img{height:34px}.hero{min-height:760px}.hero>img{height:760px}.heroText{left:8vw;bottom:90px;max-width:650px}.hero h1{font-size:64px}.sub{font-size:24px}.quick{top:72px;max-width:980px;margin:0 auto;border:1px solid #eee;border-top:0;border-radius:0 0 22px 22px}.section{max-width:1060px;margin:0 auto;padding:78px 24px}.section h2{font-size:38px}.infoGrid{grid-template-columns:repeat(2,1fr)}.bottomBar{left:50%;transform:translateX(-50%);max-width:520px;border-radius:24px 24px 0 0}.viewerInner{padding:76px 32px 40px}.viewerInner img{min-width:auto;max-width:1400px;width:100%}}

@media(max-width:420px){.dateTimeRow{grid-template-columns:1fr}}

/* v3 상담신청 개선 */
.reserveHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.reserveHead h2{margin:0}.todayBadge{flex:0 0 auto;background:#fff0e5;color:#e76518;border:1px solid #ffd4b7;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}.field{display:block}.field span{display:block;margin:0 0 7px 3px;font-size:13px;font-weight:900;color:#333}.field input,.field select,.field textarea{margin:0}.field input[type="date"]{min-height:53px;color:#111}.field input[type="date"]:invalid{color:#777}form button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;transition:.18s ease}.loadingDot{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}form button.loading .loadingDot{display:inline-block}form button:disabled{opacity:.78}@keyframes spin{to{transform:rotate(360deg)}}.successModal{position:fixed;inset:0;z-index:200;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:22px}.successModal.active{display:flex}.successBox{width:min(360px,100%);background:#fff;border:1px solid #eee;border-radius:24px;padding:28px 22px;text-align:center;box-shadow:0 16px 45px rgba(0,0,0,.16)}.checkIcon{width:56px;height:56px;border-radius:50%;background:#e76518;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:34px;font-weight:900}.successBox h3{margin:0 0 8px;font-size:22px;letter-spacing:-.04em}.successBox p{margin:0 0 20px;color:#666;line-height:1.5}.successBox button{width:100%;border:0;border-radius:14px;background:#222;color:#fff;padding:14px;font-size:16px;font-weight:900}
@media(max-width:420px){.reserveHead{display:block}.todayBadge{display:inline-block;margin-top:6px}.field span{font-size:14px}.dateTimeRow{gap:12px}}


/* 공급가격표/확대 이미지 원본 크기 표시 */
.viewerInner{overflow:auto;touch-action:pan-x pan-y;}
.viewerInner img{max-width:none !important;width:auto !important;min-width:0 !important;height:auto !important;}
.viewerHint{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:102;background:rgba(255,255,255,.95);border:1px solid #ddd;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:800;color:#333;box-shadow:0 4px 14px rgba(0,0,0,.12)}
@media(max-width:760px){.viewerInner{padding:68px 12px 52px}.viewerHint{font-size:12px;bottom:12px}}

/* v3.1 이미지 확대 보기 개선 */
.viewerInner{touch-action:none;overscroll-behavior:contain;}
.viewerInner img{transform-origin:center center;transition:transform .05s linear;will-change:transform;}
.viewerHint::after{content:" · 두 번 터치하면 확대/축소";}

/* v3.2 확대 버튼 추가 */
.zoomControls{position:fixed;left:14px;top:14px;z-index:102;display:flex;gap:8px;align-items:center}
.zoomControls button{border:1px solid #ddd;background:#fff;color:#111;border-radius:999px;min-width:44px;height:44px;padding:0 12px;font-size:18px;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.zoomControls #zoomReset{font-size:13px;min-width:58px}
.viewerInner img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;cursor:grab;}
.viewerInner img:active{cursor:grabbing;}
