/* ---------- Digital business card (homepage contact section and /card) ---------- */
.bcard{display:grid;grid-template-columns:40% 1fr;width:100%;max-width:720px;margin:0 auto;background:#fff;color:var(--navy);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);text-align:left}
.bcard .fside{background:var(--navy);color:var(--ivory);padding:34px 28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:330px}
.bcard .fside:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--bronze)}
.bcard .fside img{width:64px;height:auto;filter:brightness(0) invert(1);opacity:.95}
.bcard .fside .nm{font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.05;color:#fff;margin-top:22px;letter-spacing:.02em}
.bcard .fside .rule{width:36px;height:2px;background:var(--bronze);margin:14px 0 12px}
.bcard .fside .ttl{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);line-height:1.6}
.bcard .fside .org{font-size:.82rem;color:var(--stone);margin-top:6px;line-height:1.45}
.bcard .bside{padding:30px 28px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:linear-gradient(180deg,#fff,var(--ivory))}
.bcard .rows{list-style:none;margin:0;padding:0;font-size:.95rem;line-height:1.35}
.bcard .rows li{padding:9px 0;border-bottom:1px solid #EEE8DF}
.bcard .rows li:last-child{border-bottom:0}
.bcard .rows small{display:block;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:2px}
.bcard .rows a{color:var(--navy);text-decoration:none;font-weight:500;word-break:break-word}
.bcard .rows a:hover{color:var(--bronze)}
.bcard .qr{text-align:center;width:150px}
.bcard .qr img{display:block;width:150px;height:150px;border:1px solid #EEE8DF;border-radius:8px;padding:6px;background:#fff}
.bcard .qr span{display:block;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);margin-top:8px}
.bcard-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
@media (max-width:640px){
  .bcard{grid-template-columns:1fr;max-width:420px}
  .bcard .fside{min-height:0;padding:28px 24px}
  .bcard .fside:after{right:0;left:0;top:auto;bottom:0;width:auto;height:3px}
  .bcard .bside{grid-template-columns:1fr;padding:22px 24px 26px;justify-items:center;text-align:center}
  .bcard .rows{width:100%}
  .bcard .qr{width:200px}
  .bcard .qr img{width:200px;height:200px;margin:0 auto}
}
