/* DBREX 홈 배너 — AI명함 출시 안내 (DBREX-SPEC-BNR-001 v1.1) — 목업에서 추출, .bn→.rcm-bn / .vmodal→.rcm-vmodal 로 격리 */
:root, .rcm-bn, .rcm-vmodal{
    --bg:#0A1730; --bg2:#0E1F3E; --card:#12244A; --card2:#16294F;
    --line:#22375F; --tx:#EAF0FA; --sub:#9FB1CF; --muted:#6E82A6;
    --blue:#3B82F6; --blue2:#2563EB; --cyan:#7DD3FC;
    --seal:#B5372E; --seal-soft:rgba(181,55,46,.14); --seal-line:rgba(181,55,46,.45);
    --gold:#F0B34C;
  }
.rcm-bn{
    display:flex;align-items:center;gap:16px;
    border-radius:12px;padding:16px 18px;margin-top:12px;
    border:1px solid var(--line);
    background:linear-gradient(90deg,#12264E 0%, #102143 100%);
  }
.rcm-bn .ic{
    width:40px;height:40px;border-radius:10px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-size:19px;
    background:#1B3563;
  }
.rcm-bn .tx{flex:1;min-width:0;}
.rcm-bn .t1{font-size:15.5px;font-weight:700;letter-spacing:-0.01em;}
.rcm-bn .t2{font-size:13px;color:var(--sub);margin-top:4px;}
.rcm-bn .go{
    flex-shrink:0;display:inline-flex;align-items:center;gap:8px;
    background:var(--blue);color:#fff;border:none;border-radius:9px;
    font-family:inherit;font-size:14px;font-weight:700;padding:12px 20px;cursor:pointer;
    white-space:nowrap;
  }
.rcm-bn .go:hover{background:var(--blue2);}
.rcm-bn.aicard{
    position:relative;
    border:1px solid var(--seal-line);
    background:linear-gradient(90deg, rgba(181,55,46,.10) 0%, #102143 45%, #102143 100%);
  }
.rcm-bn.aicard::before{
    content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;
    background:var(--seal);border-radius:0 3px 3px 0;
  }
.rcm-bn.aicard .ic{
    background:var(--seal-soft);
    border:1.5px solid var(--seal-line);
    color:#E8837A;font-family:'Noto Serif KR',serif;font-weight:700;font-size:12px;
    transform:rotate(-3deg);letter-spacing:.03em;line-height:1.1;text-align:center;
  }
.rcm-bn.aicard .new{
    display:inline-block;font-size:10.5px;font-weight:800;color:#fff;
    background:var(--seal);border-radius:5px;padding:2px 7px;margin-right:8px;
    vertical-align:2px;letter-spacing:.06em;
  }
.rcm-bn.aicard .go{background:var(--seal);}
.rcm-bn.aicard .go:hover{background:#9E2F27;}
.rcm-bn .close{
    position:absolute;top:8px;right:10px;background:none;border:none;color:var(--muted);
    font-size:15px;cursor:pointer;padding:4px;line-height:1;
  }
.rcm-bn .close:hover{color:var(--sub);}
@media (max-width:760px){.rcm-bn{flex-wrap:wrap;}.rcm-bn .go{width:100%;justify-content:center;}}
.am{
    position:relative;width:100%;aspect-ratio:16/9;max-height:78vh;
    background:radial-gradient(120% 120% at 50% 0%, #10224A 0%, #0A1730 60%, #071022 100%);
    border-radius:14px;overflow:hidden;border:1px solid #22375F;
    font-family:'Pretendard','Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:#EAF0FA;
  }
.ams{position:absolute;inset:0;opacity:0;pointer-events:none;}
.ams.on{opacity:1;pointer-events:auto;transition:opacity .5s ease;}
.am-cap{
    position:absolute;left:0;right:0;bottom:0;padding:14px 20px 16px;text-align:center;
    font-size:clamp(13px,1.9vw,16px);color:#C9D6EE;letter-spacing:.02em;
    background:linear-gradient(0deg, rgba(5,10,25,.85) 0%, rgba(5,10,25,0) 100%);
  }
.am-cap b{color:#fff;}
.am-num{
    position:absolute;top:14px;left:16px;font-size:12px;font-weight:800;letter-spacing:.12em;
    color:#7DD3FC;opacity:.9;
  }
.am-dots{
    position:absolute;top:14px;right:14px;display:flex;gap:6px;z-index:5;
  }
.amdot{width:8px;height:8px;border-radius:50%;background:#2A4372;border:none;cursor:pointer;padding:0;}
.amdot.on{background:#B5372E;}
.am-snd{
    position:absolute;bottom:12px;right:12px;z-index:6;
    background:rgba(10,23,48,.75);border:1px solid #2A4372;border-radius:9px;
    font-size:15px;padding:6px 9px;cursor:pointer;line-height:1;
  }
.am-ovl{
    position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;
    background:rgba(5,10,25,.68);backdrop-filter:blur(2px);cursor:pointer;
    font-size:clamp(15px,2.4vw,19px);font-weight:800;color:#fff;letter-spacing:.02em;
  }
.am-ovl span{
    border:1.5px solid rgba(255,255,255,.55);border-radius:999px;padding:13px 26px;
    background:rgba(181,55,46,.85);
  }
.am-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;}
.ams .fx{opacity:0;}
.ams.on .fx{animation:amIn .55s ease forwards;}
@keyframes amIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.ams.on .d1{animation-delay:.15s;}
.ams.on .d2{animation-delay:.7s;}
.ams.on .d3{animation-delay:1.3s;}
.ams.on .d4{animation-delay:1.9s;}
.ams.on .d5{animation-delay:2.5s;}
.ams.on .d6{animation-delay:3.1s;}
.ams.on .d7{animation-delay:3.8s;}
.ams.on .d8{animation-delay:4.5s;}
.am-caller{display:flex;align-items:center;gap:clamp(18px,4vw,44px);}
.am-ava{
    width:clamp(64px,11vw,104px);height:clamp(64px,11vw,104px);border-radius:50%;
    background:#132A55;border:2px solid #2A4372;display:flex;align-items:center;justify-content:center;
    font-family:'Noto Serif KR',serif;font-weight:800;font-size:clamp(15px,2.4vw,22px);color:#C9D6EE;
    position:relative;flex-shrink:0;
  }
.am-ava .seal{
    position:absolute;right:-8px;bottom:-6px;width:clamp(26px,4vw,36px);height:clamp(26px,4vw,36px);
    border:2px solid #B5372E;border-radius:7px;color:#E8837A;background:#0A1730;
    font-size:clamp(9px,1.4vw,12px);font-weight:800;display:flex;align-items:center;justify-content:center;
    transform:rotate(-6deg);font-family:'Noto Serif KR',serif;
  }
.am-wave{display:flex;gap:5px;align-items:center;}
.am-wave i{width:5px;border-radius:3px;background:#3B82F6;display:block;animation:amWave 1s ease-in-out infinite;}
.am-wave i:nth-child(1){height:12px;}
.am-wave i:nth-child(2){height:22px;animation-delay:.15s;}
.am-wave i:nth-child(3){height:16px;animation-delay:.3s;}
.am-wave i:nth-child(4){height:26px;animation-delay:.45s;}
.am-wave i:nth-child(5){height:12px;animation-delay:.6s;}
@keyframes amWave{0%,100%{transform:scaleY(.6);}50%{transform:scaleY(1.15);}}
.am-bub{
    max-width:min(58vw,430px);background:#fff;color:#1C2C4C;border-radius:16px 16px 16px 4px;
    padding:clamp(12px,2vw,18px) clamp(14px,2.4vw,22px);
    font-size:clamp(14px,2.1vw,19px);font-weight:700;line-height:1.55;position:relative;
    box-shadow:0 14px 40px rgba(0,0,0,.4);
  }
.am-bub small{display:block;font-weight:500;color:#5A6B8C;font-size:clamp(11px,1.6vw,14px);margin-top:6px;}
.am-phone{
    width:clamp(190px,26vw,250px);background:#0E1F3E;border:2px solid #2A4372;border-radius:22px;
    padding:12px 10px;box-shadow:0 20px 50px rgba(0,0,0,.45);
  }
.am-phone .bar{width:52px;height:5px;border-radius:3px;background:#2A4372;margin:0 auto 10px;}
.am-sms{
    background:#132A55;border-radius:12px 12px 12px 3px;padding:9px 11px;
    font-size:clamp(10.5px,1.5vw,12.5px);color:#C9D6EE;line-height:1.5;margin-bottom:8px;
  }
.am-sms .lk{display:inline-block;margin-top:5px;color:#7DD3FC;text-decoration:underline;font-weight:700;}
.am-mini{
    background:#F7F5F0;border-radius:12px;overflow:hidden;color:#1C2C4C;
  }
.am-mini .hd{background:#1C2C4C;color:#fff;padding:8px 10px;font-size:clamp(10px,1.4vw,12px);font-weight:800;display:flex;align-items:center;gap:6px;}
.am-mini .hd .bdg{font-size:8.5px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:1.5px 6px;font-weight:700;}
.am-mini .bd{padding:9px 10px 11px;}
.am-mini label{display:block;font-size:clamp(9.5px,1.3vw,11px);font-weight:800;margin-bottom:5px;color:#3A4964;}
.am-micp{font-size:clamp(8px,1.15vw,9.5px);font-weight:800;color:#1C2C4C;border:1px solid #D8D2C6;border-radius:99px;padding:2px 7px;flex-shrink:0;background:#fff;}
.am-input{
    background:#fff;border:1.5px solid #D8D2C6;border-radius:8px;padding:7px 8px;min-height:52px;
    font-size:clamp(9.5px,1.35vw,11.5px);line-height:1.55;color:#333;
  }
.am-type{display:inline-block;overflow:hidden;white-space:nowrap;max-width:100%;vertical-align:bottom;width:0;}
.ams.on .am-type.t1{animation:amType 1.6s steps(22) forwards;animation-delay:1.9s;}
.ams.on .am-type.t2{animation:amType 1.6s steps(22) forwards;animation-delay:3.6s;}
@keyframes amType{from{width:0;}to{width:100%;}}
.am-send{
    margin-top:8px;background:#B5372E;color:#fff;border-radius:8px;text-align:center;
    font-size:clamp(10px,1.4vw,12px);font-weight:800;padding:8px 0;
  }
.ams.on .am-send{animation:amIn .5s ease forwards, amPulse 1.1s ease 5.6s 2;}
@keyframes amPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
.am-clip{font-size:clamp(9px,1.3vw,10.5px);color:#8A7F6A;margin-top:6px;}
.am-card{
    width:min(78vw,470px);background:#F7F5F0;border-radius:14px;color:#1C2C4C;overflow:hidden;
    box-shadow:0 20px 55px rgba(0,0,0,.45);
  }
.am-card .hd{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#EFEBE2;}
.am-card .hd h4{font-size:clamp(12px,1.8vw,15px);font-weight:800;}
.am-card .hd .bdg{font-size:clamp(9px,1.3vw,10.5px);font-weight:800;color:#fff;background:#1C2C4C;border-radius:5px;padding:3px 8px;}
.am-card .bd{padding:10px 14px 13px;}
.am-row{display:flex;gap:10px;padding:6px 0;border-bottom:1px dashed #DDD6C8;font-size:clamp(10.5px,1.55vw,13px);line-height:1.5;}
.am-row:last-child{border-bottom:none;}
.am-row b{flex-shrink:0;width:64px;color:#B5372E;font-weight:800;}
.am-spin{
    display:flex;align-items:center;gap:10px;color:#C9D6EE;font-size:clamp(12px,1.8vw,15px);margin-bottom:14px;
  }
.am-spin i{
    width:18px;height:18px;border-radius:50%;border:3px solid #2A4372;border-top-color:#B5372E;
    animation:amSpin .8s linear infinite;
  }
@keyframes amSpin{to{transform:rotate(360deg);}}
.am-dash{
    width:min(82vw,520px);background:#0E1F3E;border:1px solid #2A4372;border-radius:14px;overflow:hidden;
    box-shadow:0 20px 55px rgba(0,0,0,.45);
  }
.am-dash .hd{display:flex;align-items:center;justify-content:space-between;background:#132A55;padding:10px 14px;font-size:clamp(11px,1.6vw,13.5px);font-weight:800;}
.am-dash .hd .n{position:relative;}
.am-dash .hd .n::after{
    content:"1";position:absolute;top:-7px;right:-14px;background:#B5372E;color:#fff;font-size:9px;font-weight:800;
    width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  }
.am-li{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid #1B3060;font-size:clamp(10.5px,1.5vw,12.5px);color:#9FB1CF;}
.am-li.hot{background:rgba(181,55,46,.10);color:#EAF0FA;}
.am-li .rb{font-size:clamp(8.5px,1.2vw,10px);font-weight:800;color:#E8837A;border:1px solid rgba(181,55,46,.55);border-radius:5px;padding:1.5px 6px;flex-shrink:0;}
.am-li .dot{width:7px;height:7px;border-radius:50%;background:#B5372E;box-shadow:0 0 8px #B5372E;flex-shrink:0;animation:amBlink 1s ease infinite;}
@keyframes amBlink{50%{opacity:.35;}}
.am-tools{display:flex;gap:8px;padding:10px 14px;}
.am-tool{
    font-size:clamp(9.5px,1.4vw,11.5px);font-weight:800;border-radius:8px;padding:8px 11px;
    border:1px solid #2A4372;color:#C9D6EE;background:#132A55;
  }
.am-tool.gold{background:#8A6118;border-color:#B5892F;color:#fff;}
.ams.on .am-tool.glow{animation:amIn .5s ease forwards, amGlow 1.2s ease 3.4s 2;}
@keyframes amGlow{50%{box-shadow:0 0 0 5px rgba(125,211,252,.22);border-color:#7DD3FC;}}
.am-rep{
    margin:0 14px 13px;background:#132A55;border:1px solid #2A4372;border-radius:9px;
    padding:9px 11px;font-size:clamp(9.5px,1.4vw,11.5px);color:#C9D6EE;display:flex;align-items:center;gap:8px;
  }
.am-rep b{color:#fff;}
.am-endseal{
    width:clamp(46px,7vw,64px);height:clamp(46px,7vw,64px);border:2.5px solid #B5372E;border-radius:11px;
    display:flex;align-items:center;justify-content:center;color:#E8837A;font-family:'Noto Serif KR',serif;
    font-weight:800;font-size:clamp(12px,2vw,17px);transform:rotate(-4deg);margin-bottom:clamp(14px,2.6vw,24px);
  }
.am-big{
    font-family:'Noto Serif KR',serif;font-weight:800;text-align:center;line-height:1.5;
    font-size:clamp(20px,3.6vw,34px);letter-spacing:-0.01em;
  }
.am-big .red{color:#E8837A;}
.am-sub{margin-top:clamp(12px,2.2vw,20px);font-size:clamp(11px,1.7vw,14px);color:#9FB1CF;letter-spacing:.04em;text-align:center;}
.rcm-bn-stat{flex-shrink:0;text-align:center;padding:2px 10px;border-right:1px solid rgba(201,162,39,.3);}
.rcm-bn-stat .n{
    font-size:25px;font-weight:800;color:#F3D98B;line-height:1.1;
    font-variant-numeric:tabular-nums;letter-spacing:.01em;
  }
.rcm-bn-stat .l{font-size:10.5px;color:var(--sub);margin-top:3px;letter-spacing:.03em;}
@media (max-width:760px){.rcm-bn-stat{border-right:none;}}
.rcm-bn .go2{
    flex-shrink:0;display:inline-flex;align-items:center;gap:7px;
    background:transparent;color:#E8B4AE;border:1px solid var(--seal-line);border-radius:9px;
    font-family:inherit;font-size:13.5px;font-weight:700;padding:11px 16px;cursor:pointer;white-space:nowrap;
  }
.rcm-bn .go2:hover{background:var(--seal-soft);}
.rcm-vmodal{
    display:none;position:fixed;inset:0;z-index:60;
    background:rgba(3,8,20,.82);backdrop-filter:blur(3px);
    align-items:center;justify-content:center;padding:20px;
  }
.rcm-vmodal.show{display:flex;}
.vbox{width:min(94vw,900px);position:relative;}
.vclose{
    position:absolute;top:-38px;right:0;background:none;border:none;color:#9FB1CF;
    font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
  }
.vclose:hover{color:#fff;}
/* 실서비스 보정 */
.rcm-bn{box-sizing:border-box;font-family:'Noto Sans KR','Pretendard','Malgun Gothic','Apple SD Gothic Neo',sans-serif;}
.rcm-bn *{box-sizing:border-box;}
.rcm-bn .rcm-bn-stat{display:none;}
.rcm-bn.has-stat .rcm-bn-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.rcm-vmodal{z-index:10000;}

/* ── intro.php 의 .cta-box 형제 줄로 맞춤 (폭·높이·모서리·그림자 동일 문법) ── */
.rcm-bn.aicard{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:linear-gradient(135deg, rgba(23,42,72,0.95), rgba(20,52,102,0.85));
  border:1px solid rgba(181,55,46,0.45);
  border-radius:14px;padding:20px 26px;
  box-shadow:0 4px 20px rgba(0,0,0,0.25);
  position:relative;margin:0;
}
.rcm-bn.aicard::before{left:10px;top:14px;bottom:14px;}     /* 인주 세로 포인트 */
.rcm-bn.aicard .tx{flex:1;text-align:left;}
.rcm-bn.aicard .t1{color:#fff;font-size:clamp(16px,2.4vw,19px);font-weight:700;margin-bottom:6px;}
.rcm-bn.aicard .t2{color:#9fb4d4;font-size:clamp(12px,1.8vw,13px);}
.rcm-bn.aicard .go,
.rcm-bn.aicard .go2{
  flex-shrink:0;display:inline-flex;align-items:center;gap:8px;
  font-size:15px;font-weight:600;padding:13px 22px;border-radius:10px;text-decoration:none;
  white-space:nowrap;transition:transform .15s, box-shadow .15s;cursor:pointer;font-family:inherit;
}
.rcm-bn.aicard .go{background:linear-gradient(135deg,#C9463A,#B5372E);color:#fff;border:none;}
.rcm-bn.aicard .go:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(181,55,46,0.4);}
.rcm-bn.aicard .go2{background:transparent;color:#F1B1AA;border:1.5px solid rgba(181,55,46,0.7);}
.rcm-bn.aicard .go2:hover{background:rgba(181,55,46,0.15);}
.rcm-bn.aicard .close{top:8px;right:10px;}
@media (max-width:760px){
  .rcm-bn.aicard{flex-wrap:wrap;padding:18px 18px 16px;}
  .rcm-bn.aicard .go,.rcm-bn.aicard .go2{width:100%;justify-content:center;}
}

/* 카운터·버튼 치수 보정 — 기일 배너와 같은 한 줄 높이 유지 */
.rcm-bn.aicard .rcm-bn-stat{padding:0 14px;min-width:96px;}
.rcm-bn.aicard .rcm-bn-stat .n{line-height:1.05;}
.rcm-bn.aicard .rcm-bn-stat .l{white-space:nowrap;}
.rcm-bn.aicard .go,
.rcm-bn.aicard .go2{font-size:14px;padding:12px 18px;}
.rcm-bn.aicard .t1{line-height:1.3;}
.rcm-bn.aicard .t2{line-height:1.45;}
@media (min-width:761px) and (max-width:1100px){
  .rcm-bn.aicard .t1{font-size:16px;}
  .rcm-bn.aicard .go,.rcm-bn.aicard .go2{padding:11px 14px;font-size:13.5px;}
}

/* 비회원 안내 모달 내 버튼 */
.rcm-vmodal .vbox .go,.rcm-vmodal .vbox .go2{
  align-items:center;gap:8px;font-size:14px;font-weight:700;padding:11px 20px;border-radius:10px;text-decoration:none;cursor:pointer;font-family:inherit;
}
.rcm-vmodal .vbox .go{background:linear-gradient(135deg,#C9463A,#B5372E);color:#fff;border:none;}
.rcm-vmodal .vbox .go2{background:transparent;color:#F1B1AA;border:1.5px solid rgba(181,55,46,.7);}

/* 제목·부제 각 한 줄 유지 (PC) — 글자 살짝 줄이고 버튼·카운터 여백을 좁혀 텍스트 폭 확보 */
@media (min-width:761px){
  .rcm-bn.aicard{gap:12px;padding:18px 22px;}
  .rcm-bn.aicard .t1{font-size:clamp(15px,1.6vw,17px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px;}
  .rcm-bn.aicard .t2{font-size:clamp(11.5px,1.2vw,12.5px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .rcm-bn.aicard .go,.rcm-bn.aicard .go2{font-size:14px;padding:12px 16px;gap:6px;}
  .rcm-bn.aicard .rcm-bn-stat{padding:0 10px;min-width:84px;}
  .rcm-bn.aicard .rcm-bn-stat .n{font-size:23px;}
}
