

.fcard{position:relative;height:452px;border-radius:4px;overflow:hidden;box-shadow:0 12px 30px rgba(10,30,20,.14);transition:transform .3s,box-shadow .3s}
.fcard:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(10,30,20,.2)}
.fcard>img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.fcard-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,16,0) 34%,rgba(8,26,16,.55) 70%,rgba(8,26,16,.9) 100%);transition:background .3s}
.fcard:hover .fcard-veil{background:linear-gradient(180deg,rgba(8,26,16,.06) 18%,rgba(8,26,16,.66) 60%,rgba(8,26,16,.94) 100%)}
.fcap{position:absolute;left:18px;right:58px;bottom:18px;z-index:2;color:#fff}
.fcap b{display:block;font-family:var(--head-font),sans-serif;font-size:17px;font-weight:800;letter-spacing:-.01em;margin-bottom:6px;word-break:keep-all}
.fcap span{display:block;font-size:12px;line-height:1.6;color:rgba(255,255,255,.84);word-break:keep-all}
.fplus{position:absolute;right:14px;bottom:14px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:var(--vivid);color:#fff;font-size:21px;line-height:1;font-family:inherit;cursor:pointer;box-shadow:0 4px 12px rgba(10,40,22,.35);transition:transform .28s ease,background .25s}
.fcard:hover .fplus{transform:rotate(90deg) scale(1.08)}
.fplus:hover{background:var(--brand)}
@media (max-width:680px){.fcard{height:330px}.fcap b{font-size:15px}.fcap span{font-size:11.5px}}
.cm-dialog{animation:cmIn .28s cubic-bezier(.2,.8,.25,1)}
@keyframes cmIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}

/* SCROLL REVEAL (등장 애니메이션) */
html.js-sr .sr{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
html.js-sr .sr.visible{opacity:1;transform:none}
html.js-sr .sr .sr-i{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
html.js-sr .sr.visible .sr-i{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.js-sr .sr,html.js-sr .sr .sr-i{opacity:1!important;transform:none!important;transition:none!important}}
.cu{display:inline-block;font-variant-numeric:tabular-nums}
.danji-tag:empty{display:none}
.danji-tag{margin:0 0 14px}
.danji-tag b{display:inline-block;font-family:var(--head-font),sans-serif;font-size:clamp(24px,3.6vw,34px);font-weight:800;letter-spacing:-.02em;color:var(--brand-d);margin-right:10px;vertical-align:middle}
.danji-tag span{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--vivid);padding:6px 14px;border-radius:30px;vertical-align:middle}
.mobile-bottom-bar{display:none}
.cm-overlay{display:none;position:fixed;inset:0;z-index:10000;background:rgba(8,20,12,.55);overflow-y:auto;padding:20px}
.cm-overlay.open{display:block}
.cm-dialog{position:relative;max-width:520px;margin:24px auto;background:#fff;border:1px solid var(--line);border-radius:4px;padding:32px 30px 28px;box-shadow:0 30px 70px rgba(8,24,14,.5);overflow:hidden}
.cm-dialog::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--vivid)}
.cm-dialog h3{margin:0 0 4px;font-family:var(--head-font),sans-serif;font-size:18px;font-weight:800;color:var(--ink)}
.cm-dialog .cm-sub{margin:0 0 20px;font-size:12px;color:var(--muted)}
.cm-dialog input[type=text],.cm-dialog input[type=tel],.cm-dialog textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:3px;padding:11px 13px;font-size:14px;font-family:inherit;color:var(--ink);margin-bottom:9px;outline:none}
.cm-dialog textarea{height:64px;resize:none;margin-bottom:12px}
.cm-lab{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.03em;margin-bottom:8px}
.cm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.cm-priv{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 14px;cursor:pointer}
.cm-priv input{margin-top:2px;accent-color:var(--vivid)}
.cm-note{margin:10px 0 0;font-size:11px;color:var(--muted);text-align:center}
.cm-submit{width:100%;border:0;border-radius:3px;background:var(--vivid);color:#fff;padding:14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s}
.cm-submit:hover{background:var(--brand)}
.cm-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;line-height:1}
@media (max-width:680px){
  .mobile-bottom-bar{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:9997;background:#fff;border-top:1px solid var(--line);padding:9px 12px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(10,30,20,.14)}
  .mobile-bottom-bar a,.mobile-bottom-bar button{display:flex;align-items:center;justify-content:center;height:44px;border-radius:4px;font-size:13.5px;font-weight:700;text-decoration:none;font-family:inherit;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink)}
  .mobile-bottom-bar #mbbConsult{background:var(--vivid);border-color:var(--vivid);color:#fff}
  body{padding-bottom:72px}
}
