:root{
    --navy:#071229;
    --blue-deep:#0F3D91;
    --blue-accent:#2E7DE1;
    --blue-bright:#5FB4FF;
    --blue-neon:#3DDCFF;
    --blue-tint:#EAF2FF;
    --blue-tint-2:#F5F9FF;
    --white:#FFFFFF;
    --gray:#5B6B82;
    --gray-light:#94A3B8;
    --line:#E1EAF6;
    --shadow: 0 30px 60px -25px rgba(15,61,145,0.35);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Noto Sans KR', sans-serif;
    color:var(--navy);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  .display{font-family:'Jalnan 2','Noto Sans KR', sans-serif;}
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:1160px; margin:0 auto; padding:0 24px; position:relative;}
  section{padding:96px 0;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:13px; font-weight:700; letter-spacing:.04em;
    color:var(--blue-deep); background:var(--blue-tint);
    padding:7px 16px; border-radius:100px; margin-bottom:20px;
  }
  .eyebrow::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--blue-accent); box-shadow:0 0 0 4px rgba(46,125,225,.18);}
  h2.section-title{font-size:38px; line-height:1.3; letter-spacing:-.02em; margin-bottom:16px; font-weight:900;}
  .section-sub{color:var(--gray); font-size:16.5px; max-width:560px;}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:17px 32px; border-radius:14px; font-weight:800; font-size:16px;
    cursor:pointer; border:none; transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn-primary{background:linear-gradient(135deg, var(--blue-bright), var(--blue-deep)); color:#fff; box-shadow:0 20px 40px -14px rgba(15,61,145,.55);}
  .btn-primary:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 28px 50px -14px rgba(15,61,145,.65);}
  .btn-ghost{background:var(--white); color:var(--blue-deep); border:1.5px solid var(--line);}
  .btn-ghost:hover{border-color:var(--blue-accent); background:var(--blue-tint);}

  /* ===== Quick apply bar — 헤드 영역 빠른 신청 미니폼 ===== */
  .quick-apply{
    background:#fff; border-bottom:1px solid var(--line); padding:14px 0;
    position:relative; z-index:30;
  }
  .quick-apply .qa-inner{
    display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  }
  .quick-apply .qa-label{
    font-weight:900; color:var(--blue-deep); font-size:14.5px; white-space:nowrap;
    display:flex; align-items:center; gap:6px;
  }
  .quick-apply .qa-label::before{
    content:''; width:7px; height:7px; border-radius:50%; background:var(--blue-neon);
    box-shadow:0 0 0 3px rgba(61,220,255,.2);
  }
  .quick-apply form{display:flex; align-items:center; gap:10px; flex-wrap:wrap; flex:1;}
  .quick-apply input{
    flex:1; min-width:130px; height:42px; box-sizing:border-box;
    padding:0 14px; border-radius:10px; border:1px solid var(--line);
    font-size:13.5px; font-family:inherit; outline:none; color:var(--navy);
  }
  .quick-apply input:focus{border-color:var(--blue-accent);}
  .quick-apply .qa-check{
    display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--navy);
    white-space:nowrap; background:var(--blue-tint); border-radius:100px;
    height:42px; box-sizing:border-box; padding:0 16px;
    flex-shrink:0; margin:0;
  }
  .quick-apply .qa-check input[type="checkbox"]{
    width:15px; height:15px; accent-color:var(--blue-deep); cursor:pointer; margin:0; flex-shrink:0;
  }
  .quick-apply button{
    white-space:nowrap; height:42px; box-sizing:border-box; padding:0 24px; margin-left:10px;
    border-radius:10px; border:none; cursor:pointer;
    font-weight:800; font-size:13.5px; color:#fff;
    background:linear-gradient(100deg, var(--blue-accent), var(--navy));
    box-shadow:0 10px 20px -8px rgba(15,61,145,.5);
    transition:transform .15s ease;
  }
  .quick-apply button:hover{transform:translateY(-2px);}
  @media (max-width:760px){
    .quick-apply .qa-inner{flex-direction:column; align-items:stretch;}
    .quick-apply form{flex-direction:column; align-items:stretch;}
    .quick-apply .qa-check{order:3; height:auto; padding:10px 16px;}
    .quick-apply button{order:4; height:auto; padding:12px 24px; margin-left:0;}
  }

  /* ===== Bottom pagination — 관련글 더보기 페이지네이션 ===== */
  .pager-section{padding:20px 0 50px;}
  #apply{padding-bottom:50px;}
  .pager-bar{
    display:flex; align-items:center; justify-content:center; gap:4px; flex-wrap:wrap;
    background:#fff; border:1px solid var(--line); border-radius:100px;
    padding:8px; max-width:fit-content; margin:0 auto;
    box-shadow:0 16px 32px -22px rgba(15,61,145,.25);
  }
  .pager-num{
    width:36px; height:36px; border-radius:50%; border:none; background:none;
    display:flex; align-items:center; justify-content:center;
    font-size:14px; font-weight:700; color:var(--gray); cursor:pointer;
    transition:background .18s ease, color .18s ease;
  }
  .pager-num:hover{background:var(--blue-tint); color:var(--blue-deep);}
  .pager-num.active{background:var(--blue-deep); color:#fff; box-shadow:0 8px 18px -6px rgba(15,61,145,.5);}
  .pager-next{
    border:1px solid var(--line); background:#fff; border-radius:100px;
    padding:0 18px; height:36px; font-size:13.5px; font-weight:700; color:var(--navy);
    cursor:pointer; margin-left:6px; transition:border-color .18s ease, color .18s ease;
  }
  .pager-next:hover{border-color:var(--blue-accent); color:var(--blue-deep);}
  .pager-thumbs{
    display:flex; gap:8px; overflow-x:auto; margin:22px auto 0; max-width:920px;
    padding:2px; scroll-snap-type:x proximity;
  }
  .pager-thumb{
    flex:0 0 84px; height:84px; border-radius:12px; scroll-snap-align:start;
    display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff;
    box-shadow:0 10px 20px -12px rgba(15,61,145,.4);
    transition:transform .18s ease;
  }
  .pager-thumb:hover{transform:translateY(-3px);}
  @media (max-width:640px){
    .pager-num{width:32px; height:32px; font-size:13px;}
    .pager-thumb{flex-basis:66px; height:66px; font-size:18px;}
  }

  /* ===== Top countdown bar — 상단 마감 카운트다운 ===== */
  .topbar{
    background:linear-gradient(90deg, var(--blue-deep), var(--blue-accent) 55%, var(--blue-deep));
    background-size:220% 100%;
    animation:topbar-shift 8s ease-in-out infinite;
    color:#fff; text-align:center;
    font-size:13.5px; font-weight:700; letter-spacing:.01em;
    padding:9px 16px;
  }
  @keyframes topbar-shift{
    0%,100%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
  }
  .topbar .tb-inner{
    max-width:1160px; margin:0 auto; display:flex; align-items:center; justify-content:center;
    gap:8px; flex-wrap:wrap;
  }
  .topbar .tb-sep{opacity:.55;}
  .topbar .tb-timer{
    display:inline-flex; align-items:center; gap:6px; font-weight:900;
    color:var(--blue-neon); font-variant-numeric:tabular-nums;
  }
  .topbar .tb-timer .tb-unit{
    background:rgba(255,255,255,.14); border-radius:6px; padding:2px 6px;
  }
  @media (max-width:640px){
    .topbar{font-size:11.5px; padding:8px 10px;}
    .topbar .tb-inner{gap:5px;}
  }

  /* ===== Header ===== */
  header{
    position:sticky; top:0; z-index:60;
    background:rgba(255,255,255,.78); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  header::after{
    content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px;
    background:linear-gradient(90deg, transparent, var(--blue-accent) 30%, var(--blue-neon) 50%, var(--blue-accent) 70%, transparent);
    opacity:.5;
  }
  header .wrap{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .logo{display:flex; align-items:center; gap:10px; font-size:20px; font-weight:900; color:var(--blue-deep);}
  .logo-badge{
    width:36px; height:36px; border-radius:11px;
    background:linear-gradient(135deg, var(--blue-neon), var(--blue-deep));
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px; font-weight:900;
    box-shadow:0 8px 18px -6px rgba(15,61,145,.5);
  }
  .logo-img{height:46px; width:auto; display:block;}
  footer .logo-img{height:34px; margin-bottom:4px;}
  nav ul{display:flex; gap:34px; font-size:15px; font-weight:600; color:var(--navy);}
  .header-actions{display:flex; align-items:center; gap:18px;}
  .tel-badge{display:flex; flex-direction:column; text-align:right; font-size:13px; color:var(--gray);}
  .tel-badge strong{font-size:19px; color:var(--blue-deep); font-weight:900;}
  @media (max-width:860px){ nav{display:none;} }

  /* ===== Promo bar — 84만원 압도 강조 배너 ===== */
  .promo-bar{
    position:relative; overflow:hidden;
    background:linear-gradient(90deg, #081D42, #0F3D91 55%, #1656C9 85%, #0B2A5C);
    z-index:40;
    border-bottom:1px solid rgba(61,220,255,.35);
  }
  .promo-bar::before{
    content:''; position:absolute; top:-60%; left:-35%; width:34%; height:220%;
    background:linear-gradient(100deg, transparent, rgba(255,255,255,.14) 45%, rgba(245,196,83,.28) 52%, transparent 62%);
    transform:skewX(-20deg);
    animation:promo-sweep 6.5s ease-in-out infinite;
    pointer-events:none; z-index:1;
  }
  @keyframes promo-sweep{
    0%{left:-40%;}
    55%{left:115%;}
    100%{left:115%;}
  }
  .promo-particles{position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;}
  .promo-particles span{
    position:absolute; border-radius:50%;
    background:radial-gradient(circle, #FFF3CE, var(--gold-2));
    box-shadow:0 0 7px 1px rgba(245,196,83,.7);
    opacity:0; animation:promo-particle-drift linear infinite;
  }
  @keyframes promo-particle-drift{
    0%{transform:translate(0,0); opacity:0;}
    12%{opacity:.75;}
    88%{opacity:.55;}
    100%{transform:translate(var(--dx,60px), var(--dy,-14px)); opacity:0;}
  }
  .promo-bar-inner{
    position:relative; z-index:2;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    padding:18px 24px; flex-wrap:wrap;
  }
  .promo-badge{
    display:inline-block; font-size:12px; font-weight:800; color:var(--navy);
    background:var(--blue-neon); padding:4px 11px; border-radius:100px; margin-bottom:6px;
  }
  .promo-amount-wrap{
    position:relative; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
  }
  .promo-amount-wrap::before{
    content:''; position:absolute; inset:-70% -8% -60%; z-index:-1;
    background:radial-gradient(closest-side, rgba(245,196,83,.5), transparent 72%);
    filter:blur(20px);
    animation:promo-glow-pulse 3.2s ease-in-out infinite;
  }
  @keyframes promo-glow-pulse{ 0%,100%{opacity:.65;} 50%{opacity:1;} }
  .promo-amount-pre, .promo-amount-post{
    font-size:14px; font-weight:800; color:rgba(255,255,255,.82); letter-spacing:-.01em;
  }
  .promo-amount-big{
    font-size:54px; font-weight:900; line-height:1; letter-spacing:-.03em;
    background:linear-gradient(180deg, #FFFAEE, var(--gold-1) 38%, var(--gold-2) 72%, var(--gold-3));
    -webkit-background-clip:text; background-clip:text; color:transparent;
    filter:drop-shadow(0 4px 16px rgba(245,196,83,.55));
  }
  .promo-sub{position:relative; z-index:2; font-size:12.5px; color:rgba(255,255,255,.68); margin-top:4px; font-weight:600;}
  .promo-cta{
    position:relative; z-index:2;
    background:linear-gradient(135deg, var(--blue-neon), var(--blue-bright)); color:var(--navy); padding:15px 26px; font-size:15px; white-space:nowrap;
    box-shadow:0 14px 30px -10px rgba(61,220,255,.5);
  }
  .promo-cta:hover{transform:translateY(-2px);}
  @media (max-width:760px){
    .promo-bar-inner{flex-direction:column; align-items:flex-start; text-align:left;}
    .promo-amount-big{font-size:36px;}
    .promo-amount-pre, .promo-amount-post{font-size:12px;}
    .promo-cta{width:100%; text-align:center;}
  }
  @media (prefers-reduced-motion: reduce){
    .promo-bar::before, .promo-particles span, .promo-amount-wrap::before{animation:none !important;}
  }

  /* ===== Cash badge — 현금 지급 강조 컴포넌트 ===== */
  :root{
    --gold-1:#FFE7A0;
    --gold-2:#F5C453;
    --gold-3:#C9922A;
  }
  .cash-badge{
    display:inline-flex; align-items:center; gap:10px;
    padding:10px 20px 10px 14px; border-radius:100px;
    background:linear-gradient(100deg, var(--gold-1), var(--gold-2) 55%, var(--gold-1));
    background-size:220% 100%;
    color:#5A3C05; font-weight:900; font-size:15px; letter-spacing:-.01em;
    box-shadow:0 14px 28px -14px rgba(201,146,42,.55), inset 0 1px 0 rgba(255,255,255,.6);
    border:1px solid rgba(201,146,42,.35);
    animation:cash-shine 5s linear infinite;
  }
  .cash-badge .coin{
    width:26px; height:26px; border-radius:50%; flex-shrink:0;
    background:radial-gradient(circle at 35% 30%, #FFF3CE, var(--gold-2) 60%, var(--gold-3));
    display:flex; align-items:center; justify-content:center;
    font-size:14px; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);
  }
  .cash-badge b{font-size:17px;}
  @keyframes cash-shine{
    0%{background-position:0% 50%;}
    100%{background-position:220% 50%;}
  }
  .cash-strip{
    display:flex; justify-content:center; margin-top:44px;
  }
  @media (prefers-reduced-motion: reduce){ .cash-badge{animation:none;} }

  /* ===== Floating persistent cash badge (bottom-right) ===== */
  .floating-cash{
    position:fixed; right:22px; bottom:22px; z-index:80;
    display:flex; align-items:center; gap:10px;
    padding:12px 20px 12px 14px; border-radius:100px;
    background:linear-gradient(135deg, var(--gold-1), var(--gold-2) 60%, var(--gold-3));
    color:#4A3204; font-weight:900; font-size:14.5px;
    box-shadow:0 20px 40px -16px rgba(74,50,4,.5), 0 0 0 5px rgba(245,196,83,.18);
    text-decoration:none; cursor:pointer;
    animation:float-badge 3.4s ease-in-out infinite;
  }
  .floating-cash .coin{
    width:28px; height:28px; border-radius:50%; flex-shrink:0;
    background:radial-gradient(circle at 35% 30%, #FFF3CE, var(--gold-2) 60%, var(--gold-3));
    box-shadow:0 0 0 2px rgba(255,255,255,.55), inset 0 0 0 1.5px rgba(255,255,255,.6);
    display:flex; align-items:center; justify-content:center; font-size:15px;
  }
  .floating-cash .ring{
    position:absolute; inset:-6px; border-radius:100px; border:1.5px solid rgba(245,196,83,.55);
    animation:float-ring 2.6s ease-out infinite;
  }
  @keyframes float-badge{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-6px);}
  }
  @keyframes float-ring{
    0%{opacity:.8; transform:scale(.9);}
    100%{opacity:0; transform:scale(1.25);}
  }
  @media (max-width:640px){
    .floating-cash{ right:14px; bottom:14px; padding:10px 16px 10px 12px; font-size:13px; }
    .floating-cash .coin{ width:24px; height:24px; }
  }
  @media (prefers-reduced-motion: reduce){
    .floating-cash, .floating-cash .ring{ animation:none; }
  }

  /* ===== Promo banner image — 실제 프로모션 이미지 삽입 ===== */
  .promo-banner-section{padding:52px 0;}
  .promo-banner-wrap{
    max-width:920px; margin:0 auto; border-radius:26px; overflow:hidden;
    box-shadow:0 30px 60px -26px rgba(15,61,145,.4);
    border:1px solid var(--line);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .promo-banner-wrap:hover{transform:translateY(-4px); box-shadow:0 36px 70px -22px rgba(15,61,145,.5);}
  .promo-banner-wrap img{width:100%; display:block;}

  /* ===== Nearby areas — 인근 지역 안내 ===== */
  .areas-section{
    background:linear-gradient(160deg, var(--navy), #0b1f42);
    padding:52px 0;
  }
  .areas-headline{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:20px;}
  .areas-title{
    display:flex; align-items:center; gap:8px;
    color:rgba(255,255,255,.55); font-size:14px; font-weight:700;
    letter-spacing:.01em; margin-bottom:0;
  }
  .areas-title::before{
    content:''; width:6px; height:6px; border-radius:50%; background:var(--blue-neon);
    box-shadow:0 0 0 3px rgba(61,220,255,.18);
  }
  .nationwide-badge{
    display:inline-flex; align-items:center; gap:6px;
    font-size:12.5px; font-weight:900; color:#4A3204;
    background:linear-gradient(100deg, var(--gold-1), var(--gold-2));
    padding:6px 14px; border-radius:100px;
    box-shadow:0 10px 22px -10px rgba(245,196,83,.6);
  }
  .areas-list{display:flex; flex-wrap:wrap; gap:12px;}
  .area-pill{
    display:inline-flex; align-items:center; gap:6px;
    padding:10px 22px 10px 18px; border-radius:100px; font-size:14.5px; font-weight:700;
    color:rgba(255,255,255,.85); background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .area-pill::before{content:'📍'; font-size:11px; opacity:.7;}
  .area-pill:hover{
    background:rgba(61,220,255,.14); border-color:rgba(61,220,255,.45);
    color:#fff; transform:translateY(-2px); box-shadow:0 10px 22px -12px rgba(61,220,255,.5);
  }

  /* ===== Quicklinks — 중간 이미지 카드 갤러리 ===== */
  .quicklinks{padding:70px 0;}
  .quicklinks .section-title{font-size:22px; margin-bottom:0;}
  .ql-scroll-wrap{position:relative;}
  .ql-fade{
    position:absolute; top:0; bottom:14px; width:56px; z-index:3; pointer-events:none;
    opacity:0; transition:opacity .25s ease;
  }
  .ql-fade-left{left:0; background:linear-gradient(90deg, #fff, rgba(255,255,255,0));}
  .ql-fade-right{right:0; background:linear-gradient(270deg, #fff, rgba(255,255,255,0));}
  .ql-scroll-wrap.show-left .ql-fade-left{opacity:1;}
  .ql-scroll-wrap.show-right .ql-fade-right{opacity:1;}
  .ql-scroll{
    display:flex; gap:16px; overflow-x:auto; padding:28px 4px 14px;
    scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
    cursor:grab; scrollbar-width:thin; scrollbar-color:rgba(15,61,145,.18) transparent;
    user-select:none;
  }
  .ql-scroll.dragging{cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto;}
  .ql-scroll::-webkit-scrollbar{height:4px;}
  .ql-scroll::-webkit-scrollbar-track{background:transparent;}
  .ql-scroll::-webkit-scrollbar-thumb{background:rgba(15,61,145,.18); border-radius:10px;}
  .ql-scroll::-webkit-scrollbar-thumb:hover{background:rgba(15,61,145,.32);}
  .ql-card{
    flex:0 0 190px; scroll-snap-align:start;
    text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:10px;
  }
  .ql-thumb{
    position:relative; height:190px; border-radius:18px; overflow:hidden;
    display:flex; flex-direction:column; justify-content:space-between; padding:16px;
    color:#fff; box-shadow:0 18px 34px -18px rgba(15,61,145,.45);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .ql-card:hover .ql-thumb{transform:translateY(-5px); box-shadow:0 26px 44px -18px rgba(15,61,145,.55);}
  .ql-thumb .ql-icon{font-size:26px; opacity:.95;}
  .ql-thumb .ql-headline{font-size:16px; font-weight:900; line-height:1.3; letter-spacing:-.01em;}
  .ql-thumb .ql-tel{
    align-self:flex-start; font-size:11.5px; font-weight:700;
    background:rgba(255,255,255,.16); padding:4px 10px; border-radius:100px;
    backdrop-filter:blur(4px);
  }
  .ql-cap{font-size:13px; font-weight:600; color:var(--navy); padding:0 2px;}
  .ql-thumb.t1{background:linear-gradient(155deg, var(--blue-deep), #123a7a);}
  .ql-thumb.t2{background:linear-gradient(155deg, #1656c9, #0a2a63);}
  .ql-thumb.t3{background:linear-gradient(155deg, var(--gold-2), var(--gold-3));}
  .ql-thumb.t3 .ql-headline{font-size:26px;}
  .ql-thumb.t3 .ql-tel{background:rgba(74,50,4,.18); color:#4A3204;}
  .ql-thumb.t4{background:linear-gradient(155deg, #0b3fa0, #071b45);}
  .ql-thumb.t5{background:linear-gradient(155deg, #1c6bd9, #0e2f6e);}
  .ql-thumb.t6{background:linear-gradient(155deg, var(--navy), #0b2a5c);}
  @media (max-width:640px){
    .ql-card{flex:0 0 158px;}
    .ql-thumb{height:164px;}
  }

  /* ===== Section divider — 품질 디테일 ===== */
  .section-divider{
    height:1px; margin:0 auto; max-width:1160px;
    background:linear-gradient(90deg, transparent, var(--line) 20%, var(--line) 80%, transparent);
  }

  /* ===== HERO — signature visual ===== */
  .hero{
    position:relative; overflow:hidden;
    min-height:auto; display:flex; align-items:center;
    padding:64px 0;
    background:
      radial-gradient(900px 500px at 85% -8%, rgba(46,125,225,.35), transparent 60%),
      radial-gradient(700px 460px at 5% 100%, rgba(61,220,255,.22), transparent 55%),
      linear-gradient(180deg, #071229 0%, #0B2A5C 55%, #0F3D91 100%);
    color:#fff;
  }
  .hero-grid-bg{
    position:absolute; inset:0; opacity:.35; pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size:56px 56px;
    mask-image:radial-gradient(1000px 600px at 60% 20%, #000 20%, transparent 80%);
  }
  .orb{position:absolute; border-radius:50%; filter:blur(70px); pointer-events:none;}
  .orb1{width:420px; height:420px; background:radial-gradient(circle, rgba(61,220,255,.55), transparent 70%); top:-120px; right:-80px; animation:float1 9s ease-in-out infinite;}
  .orb2{width:340px; height:340px; background:radial-gradient(circle, rgba(46,125,225,.55), transparent 70%); bottom:-140px; left:-60px; animation:float2 11s ease-in-out infinite;}
  @keyframes float1{0%,100%{transform:translate(0,0);} 50%{transform:translate(-30px,30px);}}
  @keyframes float2{0%,100%{transform:translate(0,0);} 50%{transform:translate(30px,-20px);}}

  .hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; z-index:2;}

  .headline-particles{position:absolute; top:0; left:0; width:100%; height:340px; pointer-events:none; z-index:1;}
  .headline-particles span{
    position:absolute; border-radius:50%; background:var(--blue-neon);
    box-shadow:0 0 10px 2px rgba(61,220,255,.7);
    opacity:.7; animation:particle-drift linear infinite;
  }
  @keyframes particle-drift{
    0%{transform:translate(0,0) scale(1); opacity:0;}
    10%{opacity:.8;}
    50%{transform:translate(var(--dx,20px), calc(var(--dy,-30px)*1)) scale(1.2);}
    90%{opacity:.6;}
    100%{transform:translate(calc(var(--dx,20px)*2), calc(var(--dy,-30px)*2)) scale(.8); opacity:0;}
  }

  .headline-wrap{position:relative; margin-bottom:26px;}
  .hero h1{position:relative; font-size:58px; line-height:1.16; letter-spacing:-.03em; margin-bottom:24px; font-weight:900; z-index:2;}
  .hero h1 .line{display:block; overflow:hidden;}
  .hero h1 .line span{
    display:inline-block; opacity:0; transform:translateY(115%);
    animation:line-up .75s cubic-bezier(.2,.8,.2,1) forwards;
  }
  @keyframes line-up{ to{ opacity:1; transform:translateY(0);} }
  .hero h1 .grad{
    background:linear-gradient(100deg, var(--blue-neon), #fff 45%, var(--blue-bright) 65%, var(--blue-neon));
    background-size:300% 100%;
    -webkit-background-clip:text; background-clip:text; color:transparent;
    animation:grad-shift 4.5s ease-in-out infinite;
  }
  @keyframes grad-shift{
    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}
  }
  .headline-underline{
    position:relative; display:block; width:0; height:5px; border-radius:4px; margin-top:6px;
    background:linear-gradient(90deg, var(--blue-neon), var(--blue-bright));
    box-shadow:0 0 16px rgba(61,220,255,.7);
    animation:underline-grow 1s cubic-bezier(.2,.8,.2,1) .9s forwards;
  }
  @keyframes underline-grow{ to{ width:150px; } }
  @media (prefers-reduced-motion: reduce){
    .hero h1 .line span{opacity:1; transform:none; animation:none;}
    .headline-particles span, .hero h1 .grad, .headline-underline{animation:none;}
  }
  .hero p.lead{color:rgba(255,255,255,.78); font-size:17.5px; max-width:480px; margin-bottom:36px;}
  .hero-actions{display:flex; gap:14px; margin-bottom:44px; flex-wrap:wrap;}
  .hero .btn-ghost{background:rgba(255,255,255,.08); color:#fff; border:1.5px solid rgba(255,255,255,.28);}
  .hero .btn-ghost:hover{background:rgba(255,255,255,.16);}
  .hero-stats{display:flex; gap:40px; flex-wrap:wrap;}
  .hero-stats div strong{display:block; font-size:28px; font-weight:900; color:#fff;}
  .hero-stats div span{font-size:13px; color:rgba(255,255,255,.6);}

  /* Signature: premium cash-support energy core */
  .signal-visual{
    position:relative; width:100%; max-width:460px; margin:0 auto;
    aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  }
  .signal-halo{
    position:absolute; inset:-10%; border-radius:50%; z-index:0;
    background:conic-gradient(from 0deg, rgba(61,220,255,0) 0%, rgba(61,220,255,.35) 18%, rgba(61,220,255,0) 36%, rgba(245,196,83,.28) 60%, rgba(61,220,255,0) 78%, rgba(61,220,255,.3) 96%, rgba(61,220,255,0) 100%);
    filter:blur(6px);
    animation:halo-spin 16s linear infinite;
    opacity:.8;
  }
  @keyframes halo-spin{ to{ transform:rotate(360deg); } }
  .signal-links{position:absolute; inset:0; z-index:1; overflow:visible;}
  .signal-links .link-line{
    fill:none; stroke:rgba(61,220,255,.4); stroke-width:1.4; stroke-dasharray:5 7;
    animation:link-flow 1.8s linear infinite;
  }
  @keyframes link-flow{ to{ stroke-dashoffset:-24; } }

  /* Cash particles — 돈이 모여드는 듯한 파티클 */
  .cash-particles{position:absolute; inset:0; z-index:1; pointer-events:none; overflow:visible;}
  .cash-particles span{
    position:absolute; border-radius:50%;
    background:radial-gradient(circle, #FFF3CE, var(--gold-2));
    box-shadow:0 0 8px 1px rgba(245,196,83,.75);
    opacity:.8; animation:cash-particle-drift linear infinite;
  }
  @keyframes cash-particle-drift{
    0%{transform:translate(0,0) scale(.6); opacity:0;}
    12%{opacity:.9;}
    50%{transform:translate(calc(var(--dx,0px)*.55), calc(var(--dy,0px)*.55)) scale(1);}
    88%{opacity:.7;}
    100%{transform:translate(var(--dx,0px), var(--dy,0px)) scale(.4); opacity:0;}
  }

  .signal-ring{
    position:absolute; border-radius:50%; border:1.5px solid rgba(61,220,255,.32); z-index:1;
  }
  .signal-ring.r1{inset:0; animation:ring-spin 46s linear infinite;}
  .signal-ring.r2{inset:14%; animation:ring-spin-rev 34s linear infinite; border-color:rgba(245,196,83,.28);}
  .signal-ring.r3{inset:28%; border-style:dashed; animation:ring-spin 22s linear infinite;}
  @keyframes ring-spin{ to{ transform:rotate(360deg); } }
  @keyframes ring-spin-rev{ to{ transform:rotate(-360deg); } }

  /* Orbiting money icons — 화폐 아이콘 공전 */
  .orbit{
    position:absolute; border-radius:50%; z-index:2; pointer-events:none;
    animation:orbit-spin linear infinite;
  }
  .orbit.oa{inset:0; animation-duration:15s;}
  .orbit.oc{inset:7%; animation-duration:11s; animation-direction:reverse;}
  .orbit.ob{inset:14%; animation-duration:8s;}
  @keyframes orbit-spin{ to{ transform:rotate(360deg); } }
  .orbit-dot{
    position:absolute; top:-4px; left:50%; width:8px; height:8px; margin-left:-4px;
    border-radius:50%; background:var(--blue-neon); box-shadow:0 0 10px 2px rgba(61,220,255,.8);
  }
  .money-icon{
    position:absolute; top:-15px; left:50%; margin-left:-15px;
    width:30px; height:30px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:900; color:#5A3C05;
    background:radial-gradient(circle at 34% 28%, #FFF6DC, var(--gold-2) 60%, var(--gold-3));
    box-shadow:0 6px 14px -4px rgba(245,196,83,.7), inset 0 1px 0 rgba(255,255,255,.7);
    border:1px solid rgba(255,255,255,.5);
  }
  .money-icon.note{
    border-radius:7px; width:28px; height:20px; font-size:10px;
    background:linear-gradient(155deg,#FFF6DC,var(--gold-2));
  }
  .money-icon.spark{
    background:radial-gradient(circle, #fff, var(--blue-neon) 70%);
    color:#0B2A5C; box-shadow:0 0 12px 2px rgba(61,220,255,.7); width:22px; height:22px; margin-left:-11px; top:-11px;
  }

  .signal-pulse{
    position:absolute; inset:0; border-radius:50%; border:1.5px solid var(--blue-neon); z-index:1;
    animation:pulse 2.6s ease-out infinite;
  }
  .signal-pulse.delay2{animation-delay:.9s;}
  .signal-pulse.delay3{animation-delay:1.8s;}
  @keyframes pulse{
    0%{transform:scale(.55); opacity:.9;}
    100%{transform:scale(1); opacity:0;}
  }

  /* Central energy core — 골드 메달 / 에너지 코어 */
  .signal-core{
    position:relative; z-index:3; width:58%; aspect-ratio:1/1; border-radius:50%;
    background:radial-gradient(circle at 32% 26%, #FFF6DC 0%, var(--gold-1) 24%, var(--gold-2) 58%, var(--gold-3) 88%);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    box-shadow:
      0 30px 60px -20px rgba(245,196,83,.55),
      0 0 0 5px rgba(255,255,255,.32) inset,
      0 0 0 9px rgba(201,146,42,.38) inset,
      inset 0 -12px 26px rgba(120,80,10,.32),
      inset 0 12px 22px rgba(255,255,255,.4);
    text-align:center; padding:16px; overflow:hidden;
    animation:core-breathe 3.6s ease-in-out infinite;
  }
  .signal-core::after{
    content:''; position:absolute; inset:-45%; z-index:1; pointer-events:none;
    background:conic-gradient(from 0deg, transparent 0%, rgba(255,255,255,.6) 5%, transparent 12%, transparent 100%);
    animation:core-shine 5.5s linear infinite;
    mix-blend-mode:screen;
  }
  @keyframes core-shine{ to{ transform:rotate(360deg); } }
  @keyframes core-breathe{
    0%,100%{box-shadow:0 30px 60px -20px rgba(245,196,83,.55), 0 0 0 5px rgba(255,255,255,.32) inset, 0 0 0 9px rgba(201,146,42,.38) inset, inset 0 -12px 26px rgba(120,80,10,.32), inset 0 12px 22px rgba(255,255,255,.4);}
    50%{box-shadow:0 34px 74px -14px rgba(245,196,83,.85), 0 0 0 5px rgba(255,255,255,.4) inset, 0 0 0 9px rgba(201,146,42,.45) inset, inset 0 -12px 26px rgba(120,80,10,.32), inset 0 12px 22px rgba(255,255,255,.5);}
  }
  .core-eyebrow{position:relative; z-index:2; font-size:11px; font-weight:800; letter-spacing:.1em; color:#7A5410; text-transform:uppercase;}
  .core-amount{position:relative; z-index:2; font-size:37px; font-weight:900; color:#3D2600; letter-spacing:-.02em; line-height:1; margin-top:2px; font-variant-numeric:tabular-nums;}
  .core-highlight{
    position:relative; z-index:2; font-size:14.5px; font-weight:900; color:#5A3C05; margin-top:6px;
    padding:3px 14px; background:rgba(255,255,255,.4); border-radius:100px; display:inline-block;
  }
  .core-caption{position:relative; z-index:2; font-size:10.5px; font-weight:700; color:rgba(74,50,4,.72); margin-top:8px;}

  /* Floating badges — glassmorphism */
  .float-card{
    position:absolute; z-index:4; background:rgba(255,255,255,.12); backdrop-filter:blur(16px) saturate(160%);
    border:1px solid rgba(255,255,255,.28); border-radius:14px; padding:9px 13px;
    font-size:11.5px; font-weight:700; color:#fff; display:flex; align-items:center; gap:7px;
    box-shadow:0 16px 30px -18px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.35);
    animation:drift 6s ease-in-out infinite; white-space:nowrap;
  }
  .float-card.fc1{top:-4%; left:26%; animation-delay:.1s;}
  .float-card.fc2{top:12%; right:-10%; animation-delay:1s;}
  .float-card.fc3{bottom:14%; right:-9%; animation-delay:1.9s;}
  .float-card.fc4{bottom:-4%; left:8%; animation-delay:2.7s;}
  .float-card.fc5{top:34%; left:-13%; animation-delay:3.4s;}
  .float-card .dot{width:7px; height:7px; border-radius:50%; background:var(--blue-neon); box-shadow:0 0 12px var(--blue-neon); animation:dot-blink 1.6s ease-in-out infinite; flex-shrink:0;}
  @keyframes dot-blink{ 0%,100%{opacity:1;} 50%{opacity:.35;} }
  @keyframes drift{0%,100%{transform:translateY(0);} 50%{transform:translateY(-9px);}}

  @media (max-width:860px){
    .hero{min-height:auto; padding:48px 0;}
    .hero .wrap{grid-template-columns:1fr; text-align:center;}
    .hero h1{font-size:38px;}
    .hero p.lead{margin-left:auto; margin-right:auto;}
    .hero-actions{justify-content:center;}
    .hero-stats{justify-content:center;}
    .signal-visual{margin-top:30px; max-width:300px;}
    .float-card{display:none;}
  }

  /* ===== Impact stat bar ===== */
  .stat-bar{
    background:var(--navy); color:#fff;
  }
  .stat-bar .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:30px 24px;}
  .stat-bar .item{text-align:center; border-right:1px solid rgba(255,255,255,.1);}
  .stat-bar .item:last-child{border-right:none;}
  .stat-bar .item strong{display:block; font-size:36px; font-weight:900; background:linear-gradient(100deg,var(--blue-neon),#fff); -webkit-background-clip:text; background-clip:text; color:transparent; transition:filter .2s ease;}
  .stat-bar .item strong.counting{
    filter:drop-shadow(0 0 9px rgba(61,220,255,.55));
  }
  .stat-bar .item strong.pop{
    animation:stat-pop .42s ease-out;
  }
  @keyframes stat-pop{
    0%{transform:scale(1);}
    55%{transform:scale(1.03);}
    100%{transform:scale(1);}
  }
  .stat-bar .item span{font-size:13px; color:rgba(255,255,255,.6);}
  @media (max-width:760px){ .stat-bar .wrap{grid-template-columns:1fr 1fr;} .stat-bar .item{border-right:none; border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:12px;} }

  /* ===== Benefits — bolder cards ===== */
  .benefit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:56px;}
  .benefit-card{
    position:relative; overflow:hidden;
    border-radius:22px; padding:32px 26px; color:#fff;
    background:linear-gradient(155deg, var(--blue-deep), #123a7a);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .benefit-card::after{
    content:''; position:absolute; width:140px; height:140px; border-radius:50%;
    background:radial-gradient(circle, rgba(61,220,255,.4), transparent 70%);
    top:-50px; right:-50px;
  }
  .benefit-card:nth-child(2){background:linear-gradient(155deg,#1656c9,#0a2a63);}
  .benefit-card:nth-child(3){background:linear-gradient(155deg,#0b3fa0,#071b45);}
  .benefit-card:nth-child(4){background:linear-gradient(155deg,#1c6bd9,#0e2f6e);}
  .benefit-card:hover{transform:translateY(-8px); box-shadow:0 30px 50px -20px rgba(15,61,145,.55);}
  .benefit-icon{
    position:relative; z-index:2;
    width:50px; height:50px; border-radius:14px; background:rgba(255,255,255,.15);
    display:flex; align-items:center; justify-content:center; margin-bottom:20px; font-size:24px;
  }
  .benefit-card h3{position:relative; z-index:2; font-size:18px; margin-bottom:10px; font-weight:800;}
  .benefit-card p{position:relative; z-index:2; font-size:13.5px; color:rgba(255,255,255,.78);}
  @media (max-width:860px){ .benefit-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .benefit-grid{grid-template-columns:1fr;} }

  /* ===== Plans ===== */
  .plans-section{
    background:var(--blue-tint-2); position:relative; overflow:hidden;
  }
  .plans-section::before{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
    background-image:radial-gradient(rgba(15,61,145,.08) 1.4px, transparent 1.4px);
    background-size:22px 22px;
    mask-image:radial-gradient(800px 500px at 90% 0%, #000 0%, transparent 70%);
  }
  .plan-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px;}
  .plan-card{
    background:#fff; border:1px solid var(--line); border-radius:24px; padding:38px 30px;
    display:flex; flex-direction:column; gap:18px; position:relative;
    transition:transform .25s cubic-bezier(.22,.85,.35,1), box-shadow .25s ease, border-color .25s ease;
  }
  .plan-card:hover{transform:translateY(-8px) scale(1.012); box-shadow:0 32px 56px -24px rgba(15,61,145,.4);}
  .plan-card.is-active{border-color:var(--blue-deep); box-shadow:0 26px 50px -22px rgba(15,61,145,.32);}
  .plan-card.featured{
    border:2px solid var(--blue-deep); box-shadow:var(--shadow);
    background:linear-gradient(180deg,#fff, var(--blue-tint));
  }
  .plan-card.featured::before{
    content:''; position:absolute; top:0; left:0; right:0; height:5px;
    border-radius:22px 22px 0 0;
    background:linear-gradient(90deg, var(--gold-2), var(--blue-neon), var(--gold-2));
    background-size:200% 100%;
    animation:featured-shimmer 4s ease-in-out infinite;
  }
  @keyframes featured-shimmer{
    0%,100%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
  }
  .plan-card.featured .badge{
    position:absolute; top:-15px; left:30px; background:linear-gradient(135deg,var(--gold-2),var(--blue-deep)); color:#fff;
    font-size:12px; font-weight:800; padding:7px 16px; border-radius:100px;
    box-shadow:0 8px 18px -6px rgba(245,196,83,.5);
  }
  .plan-name{font-size:15px; font-weight:800; color:var(--gray);}
  .plan-price{
    font-size:52px; font-weight:900; color:var(--blue-deep); letter-spacing:-.02em;
    opacity:0; transform:translateY(8px) scale(.94);
    transition:opacity .55s cubic-bezier(.22,.85,.35,1), transform .55s cubic-bezier(.22,.85,.35,1);
  }
  .plans-section.plans-in .plan-price{opacity:1; transform:none;}
  .plan-grid .plan-card:nth-child(1) .plan-price{transition-delay:.05s;}
  .plan-grid .plan-card:nth-child(2) .plan-price{transition-delay:.16s;}
  .plan-grid .plan-card:nth-child(3) .plan-price{transition-delay:.27s;}
  .plan-price span{font-size:16px; font-weight:700; color:var(--navy); margin-left:5px;}
  .plan-card ul{display:flex; flex-direction:column; gap:12px; font-size:14px; color:var(--navy);}
  .plan-card li{display:flex; align-items:flex-start; gap:9px;}
  .plan-card .li-icon{
    flex-shrink:0; width:22px; height:22px; border-radius:7px; margin-top:-1px;
    background:var(--blue-tint); display:flex; align-items:center; justify-content:center;
    font-size:11.5px;
  }
  @media (max-width:860px){ .plan-grid{grid-template-columns:1fr;} }

  /* ===== Tip blocks (속도/TV 선택 가이드) ===== */
  .tip-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:64px;}
  .tip-block-head{font-size:17px; font-weight:800; color:var(--navy); margin-bottom:18px;}
  .tip-cards{display:flex; flex-direction:column; gap:14px;}
  .tip-card{
    position:relative; overflow:hidden;
    background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px 22px;
    transition:box-shadow .22s ease, transform .22s ease;
  }
  .tip-card:hover{box-shadow:0 22px 40px -22px rgba(15,61,145,.38); transform:translateY(-3px);}
  .tip-card-title{font-size:15.5px; font-weight:800; color:var(--blue-deep); margin-bottom:6px;}
  .tip-card p{font-size:13.5px; color:var(--gray); margin-bottom:12px; padding-right:56px;}
  .tip-card-meta{display:flex; gap:10px; flex-wrap:wrap;}
  .tip-card-meta span{
    font-size:12px; font-weight:700; color:var(--blue-deep); background:var(--blue-tint);
    padding:4px 10px; border-radius:100px;
  }
  .tip-flag{
    position:absolute; top:16px; right:18px; font-size:10.5px; font-weight:800;
    padding:4px 10px; border-radius:100px; color:#fff;
  }
  .tip-flag.pop{background:linear-gradient(100deg, var(--gold-2), var(--gold-3));}
  .tip-flag.hot{background:linear-gradient(100deg, #FF7A59, #E4483A);}
  .tip-flag.fast{background:linear-gradient(100deg, var(--blue-accent), var(--blue-deep));}
  .tip-flag.pick{background:linear-gradient(100deg, #34C77B, #1E9E5C);}
  @media (max-width:860px){ .tip-grid{grid-template-columns:1fr;} }

  .combo-strip{
    margin-top:40px; background:#fff; border:1px solid var(--line); border-radius:18px;
    display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden;
  }
  .combo-strip div{
    display:flex; align-items:center; justify-content:center; gap:10px;
    padding:22px 10px; font-size:13.5px; font-weight:700; color:var(--navy);
    border-right:1px solid var(--line);
    transition:background .2s ease, transform .2s ease;
  }
  .combo-strip div:hover{background:var(--blue-tint-2); transform:translateY(-2px);}
  .combo-strip div:last-child{border-right:none;}
  .combo-strip span{
    width:34px; height:34px; border-radius:10px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    font-size:16px; background:var(--blue-tint);
  }
  @media (max-width:760px){
    .combo-strip{grid-template-columns:1fr 1fr;}
    .combo-strip div{border-bottom:1px solid var(--line);}
  }

  /* ===== Reviews — 자동 슬라이드 캐러셀 ===== */
  .review-carousel{
    position:relative; display:flex; align-items:center; gap:14px; margin-top:56px;
    opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;
  }
  #reviews.rv-in .review-carousel{opacity:1; transform:none;}
  .rv-viewport{overflow:hidden; flex:1; min-width:0;}
  .review-track{display:flex; gap:22px; cursor:grab; touch-action:pan-y;}
  .review-track:active{cursor:grabbing;}
  .review-card{
    position:relative; overflow:hidden; box-sizing:border-box;
    background:#fff; border-radius:22px; padding:28px 26px 24px; border:1px solid var(--line);
    box-shadow:0 20px 40px -28px rgba(15,61,145,.3);
    transition:box-shadow .25s ease, transform .25s ease;
    display:flex; flex-direction:column; min-height:302px;
  }
  .review-card:hover{transform:translateY(-7px); box-shadow:0 30px 54px -22px rgba(15,61,145,.42);}
  .review-card::before{
    content:'\201C'; position:absolute; top:2px; right:18px;
    font-family:Georgia, serif; font-size:60px; line-height:1; color:var(--blue-tint);
    z-index:0;
  }
  .rv-badges{position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px;}
  .rv-badge{
    font-size:11px; font-weight:800; padding:4px 10px; border-radius:100px;
    white-space:nowrap;
  }
  .rv-badge.rv-carrier{background:var(--blue-tint); color:var(--blue-deep);}
  .rv-badge.rv-status{background:linear-gradient(100deg, var(--gold-1), var(--gold-2)); color:#5A3C05;}
  .review-stars{
    position:relative; z-index:1; margin-bottom:14px; font-size:16px; letter-spacing:2px;
    color:var(--gold-3);
    filter:drop-shadow(0 1px 1px rgba(201,146,42,.35));
  }
  .review-card p{
    position:relative; z-index:1; font-size:14.5px; color:var(--navy);
    line-height:1.6; margin-bottom:18px; flex:1;
  }
  .review-card p strong{color:var(--blue-deep); font-weight:800;}
  .review-author{position:relative; z-index:1; display:flex; align-items:center; gap:10px; font-size:13px; color:var(--gray);}
  .avatar{width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--blue-neon),var(--blue-deep)); flex-shrink:0;}
  .rv-author-info{display:flex; flex-direction:column; gap:2px; min-width:0;}
  .rv-name{font-weight:700; color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .rv-date{font-size:11.5px; color:var(--gray-light);}
  .rv-nav{
    flex-shrink:0; width:42px; height:42px; border-radius:50%; border:1px solid var(--line);
    background:#fff; color:var(--blue-deep); font-size:20px; font-weight:900; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .18s ease, border-color .18s ease, transform .15s ease;
  }
  .rv-nav:hover{background:var(--blue-tint); border-color:var(--blue-accent); transform:translateY(-2px);}
  .rv-dots{display:flex; justify-content:center; gap:7px; margin-top:26px;}
  .rv-dot{
    width:7px; height:7px; border-radius:50%; border:none; background:var(--line); cursor:pointer;
    padding:0; transition:background .2s ease, width .2s ease;
  }
  .rv-dot.active{width:22px; border-radius:100px; background:var(--blue-deep);}
  @media (max-width:760px){
    .rv-nav{display:none;}
  }

  /* ===== FAQ — 카드형 아코디언 ===== */
  .faq-list{margin-top:46px; display:flex; flex-direction:column; gap:14px;}
  .faq-item{
    background:#fff; border:1px solid var(--line); border-radius:18px;
    padding:2px 22px; transition:box-shadow .22s ease, border-color .22s ease, transform .22s ease;
  }
  .faq-item:hover{box-shadow:0 18px 36px -26px rgba(15,61,145,.35); border-color:rgba(46,125,225,.35); transform:translateY(-2px);}
  .faq-item.open{border-color:var(--blue-accent); box-shadow:0 20px 40px -24px rgba(15,61,145,.28);}
  .faq-q{
    width:100%; text-align:left; background:none; border:none; cursor:pointer;
    padding:22px 0; display:flex; align-items:center; gap:14px;
    font-size:16px; font-weight:800; color:var(--navy);
  }
  .faq-q .q-mark{
    flex-shrink:0; width:32px; height:32px; border-radius:10px;
    background:var(--blue-tint); color:var(--blue-deep);
    display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:900;
    transition:background .22s ease, color .22s ease;
  }
  .faq-item.open .faq-q .q-mark{background:var(--blue-deep); color:#fff;}
  .faq-q .q-text{flex:1;}
  .faq-q .icon{
    width:28px; height:28px; border-radius:50%; background:var(--blue-tint); color:var(--blue-deep);
    display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;
    transition:transform .3s cubic-bezier(.22,.85,.35,1), background .22s ease, color .22s ease;
  }
  .faq-item.open .faq-q .icon{transform:rotate(45deg); background:var(--blue-deep); color:#fff;}
  .faq-a{
    max-height:0; overflow:hidden; opacity:0; transform:translateY(-6px);
    transition:max-height .38s cubic-bezier(.22,.85,.35,1), opacity .32s ease, transform .32s ease;
  }
  .faq-item.open .faq-a{opacity:1; transform:none;}
  .faq-a p{padding:0 0 24px 46px; font-size:14.5px; color:var(--gray); max-width:640px; line-height:1.6;}

  /* ===== CTA / Form — 프리미엄 마무리 섹션 ===== */
  .cta-section{
    background:
      radial-gradient(760px 440px at 88% -6%, rgba(61,220,255,.28), transparent 60%),
      radial-gradient(520px 360px at 6% 108%, rgba(245,196,83,.16), transparent 60%),
      linear-gradient(160deg, var(--blue-deep), var(--navy));
    color:#fff; border-radius:36px; margin:0 24px; padding:72px 32px; position:relative; overflow:hidden;
  }
  .cta-orb{position:absolute; border-radius:50%; filter:blur(70px); pointer-events:none; z-index:0;}
  .cta-orb.o1{width:360px; height:360px; background:radial-gradient(circle, rgba(61,220,255,.4), transparent 70%); top:-100px; right:-60px; animation:float1 10s ease-in-out infinite;}
  .cta-orb.o2{width:300px; height:300px; background:radial-gradient(circle, rgba(245,196,83,.28), transparent 70%); bottom:-120px; left:-60px; animation:float2 12s ease-in-out infinite;}
  .cta-section::after{
    content:''; position:absolute; top:-60%; left:-35%; width:30%; height:220%; z-index:1; pointer-events:none;
    background:linear-gradient(100deg, transparent, rgba(255,255,255,.08) 45%, rgba(61,220,255,.16) 52%, transparent 62%);
    transform:skewX(-20deg);
    animation:promo-sweep 8s ease-in-out infinite;
  }
  .cta-inner{max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; position:relative; z-index:2;}
  .cta-amount-wrap{position:relative; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:6px;}
  .cta-amount-wrap::before{
    content:''; position:absolute; inset:-60% -10% -50%; z-index:-1;
    background:radial-gradient(closest-side, rgba(245,196,83,.42), transparent 72%);
    filter:blur(20px);
    animation:promo-glow-pulse 3.2s ease-in-out infinite;
  }
  .cta-amount-pre{font-size:15px; font-weight:800; color:rgba(255,255,255,.82);}
  .cta-amount-big{
    font-size:56px; font-weight:900; line-height:1; letter-spacing:-.03em;
    background:linear-gradient(180deg, #FFFAEE, var(--gold-1) 38%, var(--gold-2) 72%, var(--gold-3));
    -webkit-background-clip:text; background-clip:text; color:transparent;
    filter:drop-shadow(0 4px 16px rgba(245,196,83,.5));
  }
  .cta-amount-post{font-size:16px; font-weight:800; color:rgba(255,255,255,.9);}
  .cta-inner h2{font-size:26px; margin-bottom:14px; font-weight:800; color:rgba(255,255,255,.92);}
  .cta-inner p{opacity:.82; font-size:15px; max-width:420px; margin-bottom:22px;}
  .cta-benefits{display:flex; flex-direction:column; gap:11px; margin-bottom:6px;}
  .cta-benefits li{display:flex; align-items:center; gap:12px; font-size:14.5px; font-weight:700; color:#fff;}
  .cta-benefits .cb-icon{
    flex-shrink:0; width:34px; height:34px; border-radius:10px;
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16);
    display:flex; align-items:center; justify-content:center; font-size:15px;
  }
  .form-card{
    position:relative; background:#fff; border-radius:24px; padding:34px; color:var(--navy);
    box-shadow:0 40px 76px -22px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.06);
  }
  .form-card::before{
    content:''; position:absolute; inset:-1.5px; z-index:-1; border-radius:26px;
    background:linear-gradient(140deg, rgba(61,220,255,.55), rgba(245,196,83,.4));
    opacity:.55;
  }
  .form-card h3{font-size:20px; font-weight:900; color:var(--blue-deep); margin-bottom:22px;}
  .form-row{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
  .form-row label{font-size:13px; font-weight:700; color:var(--navy);}
  .form-row input, .form-row select, .form-row textarea{
    padding:13px 14px; border-radius:11px; border:1.5px solid var(--line); font-size:14px;
    font-family:inherit; outline:none; color:var(--navy);
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .form-row textarea{resize:vertical; min-height:90px; line-height:1.5;}
  .form-row input:focus, .form-row select:focus, .form-row textarea:focus{
    border-color:var(--blue-accent); box-shadow:0 0 0 4px rgba(46,125,225,.14);
  }
  .form-row input::placeholder, .form-row textarea::placeholder{color:var(--gray-light);}
  .form-check{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--navy); margin-bottom:6px;}
  .form-check a{color:var(--blue-accent); text-decoration:underline; font-weight:600; margin-left:2px;}
  .form-warn{font-size:11.5px; color:#D64545; margin-bottom:18px; display:flex; align-items:center; gap:4px;}
  .form-card .btn-primary{
    width:100%;
    background:linear-gradient(100deg, var(--blue-accent), var(--navy) 60%, var(--blue-deep));
    background-size:220% 100%; background-position:0% 50%;
    box-shadow:0 16px 30px -12px rgba(15,61,145,.5);
    transition:background-position .4s ease, box-shadow .25s ease, transform .15s ease;
  }
  .form-card .btn-primary:hover{
    background-position:100% 50%;
    box-shadow:0 22px 42px -14px rgba(15,61,145,.6);
    transform:translateY(-2px);
  }
  @media (max-width:860px){ .cta-inner{grid-template-columns:1fr;} }
  @media (prefers-reduced-motion: reduce){
    .cta-orb, .cta-section::after, .cta-amount-wrap::before{animation:none !important;}
  }

  /* ===== Footer ===== */
  footer{padding:60px 0 40px; color:var(--gray); font-size:13px;}
  footer .foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-bottom:30px;}
  footer .logo{margin-bottom:10px;}
  footer .foot-links{display:flex; gap:22px; font-size:13px;}
  footer .foot-info{line-height:1.9; border-top:1px solid var(--line); padding-top:24px;}
  footer strong{color:var(--navy);}

  .reveal{opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:none;}
  @media (prefers-reduced-motion: reduce){
    .orb, .signal-pulse, .float-card, .signal-halo, .signal-ring, .orbit, .signal-links .link-line, .signal-core, .signal-core::after, .cash-particles span, .plan-card.featured::before{animation:none !important;}
    .reveal{opacity:1; transform:none; transition:none;}
  }
