    /* Hero */
  .plan-hero{padding:140px 24px 80px;background:#ffffff;position:relative;overflow:hidden;border-bottom:1px solid var(--border);}
  .plan-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 82% 18%,rgba(83,58,253,0.13) 0%,transparent 55%),radial-gradient(ellipse 55% 65% at 96% 58%,rgba(234,34,97,0.08) 0%,transparent 48%),radial-gradient(ellipse 45% 38% at 14% 11%,rgba(245,233,212,0.70) 0%,transparent 50%),radial-gradient(ellipse 55% 50% at 43% -6%,rgba(199,191,253,0.58) 0%,transparent 50%);}
  .plan-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,0.85) 0%,transparent 60%);}
  .plan-hero .container{max-width:1160px;margin:0 auto;position:relative;z-index:1;}
  .plan-badge-large{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight: 400;letter-spacing:0.06em;text-transform:uppercase;color:var(--clr-primary);background:var(--clr-primary-sub);border:1px solid var(--clr-primary-mid);border-radius: var(--r-pill);padding:6px 16px;margin-bottom:20px;flex-wrap:wrap;max-width:100%;}
  .plan-letter-large{font-size:clamp(56px,8vw,96px);font-weight: 400;color:var(--clr-primary);line-height:1;margin-bottom:8px;opacity:.15;position:absolute;top:0;right:0;}
  .plan-hero-title{font-size:clamp(32px,5vw,56px);font-weight: 700;letter-spacing:-0.06em;line-height:1.08;margin:0 0 20px;color:var(--text);}
  .plan-hero-title em{font-style:normal;color:var(--clr-primary);}
  .plan-hero-sub{font-size:18px;color:var(--muted2);line-height:1.7;max-width:620px;margin-bottom:32px;}
  .plan-meta-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px;}
  .plan-meta-chip{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;font-size:13px;font-weight:600;color:var(--text2);}
  .plan-meta-chip i{color:var(--clr-primary);font-size:14px;}
  .plan-cta-row{display:flex;gap:12px;flex-wrap:wrap;}
  .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:var(--clr-primary);color:#fff;border-radius:10px;font-size:15px;font-weight: 400;text-decoration:none;transition:background .2s;box-shadow:0 4px 16px rgba(83,58,253,0.3);}
  .btn-primary:hover{background:var(--clr-primary-deep);}
  .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:transparent;color:var(--text2);border:1.5px solid var(--border2);border-radius:10px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;}
  .btn-secondary:hover{border-color:var(--clr-primary-mid);color:var(--clr-primary);}

  /* Content */
  .plan-content{max-width:1160px;margin:0 auto;padding:80px 24px;word-break:keep-all;overflow-wrap:break-word;}
  .section-label{font-size:11px;font-weight: 400;letter-spacing:0.12em;text-transform:uppercase;color:var(--clr-primary);margin-bottom:12px;}
  .content-title{font-size:clamp(22px,3vw,32px);font-weight: 700;color:var(--text);letter-spacing:-0.04em;line-height:1.15;margin:0 0 16px;}
  .content-body{font-size:15px;color:var(--text2);line-height:1.8;}

  /* Cards */
  .feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:32px;}
  .feature-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:28px;transition:box-shadow .2s;}
  .feature-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.08);}
  .feature-icon{width:48px;height:48px;border-radius:12px;background:var(--clr-primary-sub);color:var(--clr-primary);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
  .feature-title{font-size:15px;font-weight: 400;color:var(--text);margin-bottom:8px;}
  .feature-desc{font-size:13px;color:var(--muted2);line-height:1.6;}

  /* Steps */
  .steps-list{display:flex;flex-direction:column;gap:0;margin-top:32px;}
  .step-item{display:flex;gap:20px;padding:28px 0;border-bottom:1px solid var(--border);}
  .step-item:last-child{border-bottom:none;}
  .step-num{width:40px;height:40px;border-radius:50%;background:var(--clr-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight: 400;flex-shrink:0;}
  .step-body{flex:1;}
  .step-title{font-size:15px;font-weight: 400;color:var(--text);margin-bottom:6px;}
  .step-desc{font-size:14px;color:var(--muted2);line-height:1.65;}

  /* Comparison table */
  .compare-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:14px;}
  .compare-table th{background:var(--bg2);padding:14px 16px;text-align:left;font-size:12px;font-weight: 400;color:var(--muted2);letter-spacing:0.06em;text-transform:uppercase;border-bottom:2px solid var(--border);}
  .compare-table td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:top;}
  .compare-table tr:hover td{background:var(--bg2);}
  .check{color:var(--success);font-weight: 400;}
  .cross{color:var(--muted);}

  /* FAQ accordion */
  .faq-item{border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;}
  .faq-trigger{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;text-align:left;}
  .faq-q{font-size:15px;font-weight:500;color:var(--text);line-height:1.5;flex:1;}
  .faq-q::after{content:'+';font-size:20px;font-weight:300;color:var(--accent2,#4f46e5);flex-shrink:0;margin-left:12px;transition:transform .25s;display:inline-block;}
  .faq-item.open .faq-q::after{transform:rotate(45deg);}
  .faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;}
  .faq-item.open .faq-body{grid-template-rows:1fr;}
  .faq-body-inner{overflow:hidden;}
  .faq-a{font-size:14px;color:var(--muted2);line-height:1.75;padding:0 8px 18px 0;}

  /* CTA section */
  .plan-cta-section{background:#1c1e54;padding:80px 24px;text-align:center;}  /* brand-dark-900 */
  .plan-cta-section h2{font-size:clamp(24px,4vw,40px);font-weight: 700;color:#fff;margin:0 0 16px;}
  .plan-cta-section p{font-size:16px;color:rgba(255,255,255,0.8);margin:0 0 32px;}
  .btn-white{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:#fff;color:var(--clr-primary);border-radius:10px;font-size:15px;font-weight: 400;text-decoration:none;transition:all .2s;box-shadow:0 4px 16px rgba(0,0,0,0.15);}
  .btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.2);}

  /* Footer */
  .plan-footer{background:var(--bg2);border-top:1px solid var(--border);padding:32px 24px;text-align:center;}
  .plan-footer p{font-size:13px;color:var(--muted);margin:4px 0;}
  .plan-footer a{color:var(--muted2);text-decoration:none;}
  .plan-footer a:hover{color:var(--clr-primary);}

  /* Other plans */
  .other-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;}
  .other-plan-card{background:var(--bg);border:1.5px solid var(--border);border-radius:14px;padding:24px;text-decoration:none;transition:all .2s;display:block;}
  .other-plan-card:hover{border-color:var(--clr-primary-mid);box-shadow:0 8px 24px rgba(83,58,253,0.1);}
  .opc-letter{font-size:28px;font-weight: 400;color:var(--clr-primary);margin-bottom:8px;}
  .opc-name{font-size:14px;font-weight: 400;color:var(--text);margin-bottom:6px;}
  .opc-desc{font-size:12px;color:var(--muted);line-height:1.5;}

  /* Divider section */
  .content-section{padding:64px 0;border-bottom:1px solid var(--border);}
  .content-section:last-child{border-bottom:none;}

  /* ── CD Compare Grid ── */
  .cd-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;}
  .cd-compare-card{
    background:#fff;border:2px solid var(--border);border-radius:20px;
    padding:32px 28px;cursor:pointer;
    transition:border-color .2s,box-shadow .2s,transform .15s;
    display:flex;flex-direction:column;gap:0;
  }
  .cd-compare-card:hover{box-shadow:0 8px 32px rgba(83,58,253,0.10);transform:translateY(-2px);}
  .cd-compare-card.card-c{border-top:4px solid #7c3aed;}
  .cd-compare-card.card-d{border-top:4px solid #ea580c;}
  .cd-card-badge{
    display:inline-flex;align-items:center;gap:6px;
    font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    padding:4px 10px;border-radius:9999px;margin-bottom:14px;width:fit-content;
  }
  .card-c .cd-card-badge{background:#faf5ff;color:#7c3aed;border:1px solid #c4b5fd;}
  .card-d .cd-card-badge{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa;}
  .cd-card-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-0.03em;margin-bottom:6px;}
  .cd-card-sub{font-size:13px;color:var(--muted2);line-height:1.6;margin-bottom:20px;}
  .cd-card-kv{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px;}
  .cd-card-kv-item{
    display:flex;justify-content:space-between;align-items:center;
    padding:10px 14px;font-size:13px;border-bottom:1px solid var(--border);
    gap:12px;
  }
  .cd-card-kv-item:last-child{border-bottom:none;}
  .cd-card-kv-item:nth-child(odd){background:#fafbfc;}
  .cd-card-kv-label{color:var(--muted2);font-weight:500;flex-shrink:0;min-width:72px;}
  .cd-card-kv-val{color:var(--text2);font-weight:500;text-align:right;}
  .cd-choose-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:11px 20px;border-radius:10px;font-size:14px;font-weight:600;
    border:none;cursor:pointer;transition:all .2s;width:100%;margin-top:auto;
  }
  .card-c .cd-choose-btn{background:#faf5ff;color:#7c3aed;}
  .card-c .cd-choose-btn:hover{background:#7c3aed;color:#fff;}
  .card-d .cd-choose-btn{background:#fff7ed;color:#ea580c;}
  .card-d .cd-choose-btn:hover{background:#ea580c;color:#fff;}

  /* ── CD Tab Bar ── */
  .cd-tab-bar{
    display:flex;gap:8px;margin-top:28px;margin-bottom:28px;
    border-bottom:2px solid var(--border);padding-bottom:0;
  }
  .cd-tab{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 20px;border:none;background:none;
    font-size:14px;font-weight:600;color:var(--muted2);
    cursor:pointer;border-bottom:3px solid transparent;
    margin-bottom:-2px;border-radius:0;transition:color .15s,border-color .15s;
  }
  .cd-tab.active-c{color:#7c3aed;border-bottom-color:#7c3aed;}
  .cd-tab.active-d{color:#ea580c;border-bottom-color:#ea580c;}
  .cd-tab:hover{color:var(--text);}

  /* ── CD Tab Panels ── */
  .cd-panel{display:none;}
  .cd-panel.is-active{display:block;}
  /* HTML uses cd-tab-panel + active */
  .cd-tab-panel{display:none;}
  .cd-tab-panel.active{display:block;}

  /* ── Compare Table ── */
  .compare-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:24px;}
  .compare-table th,.compare-table td{padding:11px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;}
  .compare-table thead th{background:var(--bg2);font-weight:700;font-size:12px;letter-spacing:0.04em;color:var(--text2);}
  .compare-table tbody tr:hover td{background:#f8f9fb;}
  .compare-table td:first-child{color:var(--muted2);width:160px;}
  .compare-table .check{color:#16a34a;font-weight:600;}
  .compare-table .cross{color:var(--muted2);}

  /* ── Common Badge ── */
  .common-badge{
    display:inline-flex;align-items:center;gap:6px;
    font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    padding:5px 12px;border-radius:9999px;margin-bottom:14px;
    background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;
  }

  /* ── Feature Grid (공통 서비스) ── */
  .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;}
  .feature-card{
    background:#fff;border:1px solid var(--border);border-radius:16px;
    padding:24px 22px;transition:box-shadow .2s;
  }
  .feature-card:hover{box-shadow:0 6px 24px rgba(83,58,253,0.09);}
  .feature-icon{
    width:44px;height:44px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;margin-bottom:14px;
  }
  .feature-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px;}
  .feature-desc{font-size:13px;color:var(--muted2);line-height:1.65;}

  /* ── Section Label ── */
  .section-label{
    font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--clr-primary);margin-bottom:10px;
  }

  /* ── Mobile (CD) ── */
  @media(max-width:768px){
    .cd-compare-grid{grid-template-columns:1fr;gap:16px;}
    .feature-grid{grid-template-columns:1fr 1fr;gap:14px;}
    .compare-table th,.compare-table td{padding:9px 10px;font-size:12px;}
    .compare-table td:first-child{width:100px;}
    .cd-tab{padding:8px 14px;font-size:13px;}
  }
  @media(max-width:480px){
    .feature-grid{grid-template-columns:1fr;}
    .cd-compare-grid{grid-template-columns:1fr;}
  }

  /* Pricing */
  .pricing-box{background:var(--bg2);border:2px solid var(--border);border-radius:20px;padding:40px;margin-top:32px;}
  .pricing-box.featured{background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 100%);border-color:#86efac;}
  .pricing-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px;}
  .pricing-main{}
  .pricing-label{font-size:11px;font-weight: 400;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted2);margin-bottom:8px;}
  .pricing-amount{display:flex;align-items:baseline;gap:4px;margin-bottom:4px;}
  .pricing-currency{font-size:24px;font-weight: 400;color:var(--text);}
  .pricing-number{font-size:56px;font-weight: 700;color:var(--text);letter-spacing:-0.04em;line-height:1;}
  .pricing-period{font-size:16px;font-weight:600;color:var(--muted2);}
  .pricing-commission{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 14px;background:var(--clr-primary-sub);border:1px solid var(--clr-primary-mid);border-radius: var(--r-pill);font-size:13px;font-weight: 400;color:var(--clr-primary);}
  .pricing-commission.green{background:#f0fdf4;border-color:#86efac;color:#16a34a;}
  .pricing-setup{font-size:13px;color:var(--muted2);margin-top:8px;}
  .pricing-setup strong{color:var(--text2);}
  .pricing-divider{height:1px;background:var(--border);margin:24px 0;}
  .pricing-items{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .pricing-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text2);line-height:1.5;}
  .pricing-item i{color:var(--success);font-size:13px;margin-top:2px;flex-shrink:0;}
  .pricing-item i.orange{color:var(--clr-ruby);}
  .pricing-note{margin-top:24px;padding:16px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;font-size:13px;color:#92400e;line-height:1.6;}
  .pricing-note i{margin-right:6px;}
  .pricing-option-box{margin-top:24px;border:1.5px dashed var(--border2);border-radius:14px;padding:24px;}
  .pricing-option-title{font-size:14px;font-weight: 400;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
  .pricing-option-title i{color:var(--clr-ruby);}
  .pricing-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .pricing-option-item{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;}
  .pricing-option-item-name{font-size:12px;font-weight: 400;color:var(--text);margin-bottom:4px;}
  .pricing-option-item-price{font-size:13px;font-weight: 400;color:var(--clr-primary);}
  .pricing-option-item-desc{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5;}
  .channel-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
  .channel-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:5px 12px;border-radius: var(--r-pill);background:var(--surface2);border:1px solid var(--border);color:var(--text2);}
  .channel-tag.online{background:#f0edff;border-color:#d4d1fe;color:#4434d4;}
  .channel-tag.offline{background:#fde8ef;border-color:#f9c7d6;color:#c2410c;}
  .savings-banner{display:flex;align-items:center;gap:12px;padding:14px 20px;background:linear-gradient(90deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;margin-top:20px;}
  .savings-banner i{color:#16a34a;font-size:18px;flex-shrink:0;}
  .savings-banner-text{font-size:13px;color:#15803d;font-weight:600;line-height:1.5;}

  /* Risk / Warning Banner */
  .risk-banner{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-radius:12px;margin-top:20px;line-height:1.6;}
  .risk-banner.orange{background:#fde8ef;border:1.5px solid #f9c7d6;}
  .risk-banner.red{background:#fff1f2;border:1.5px solid #fecdd3;}
  .risk-banner.blue{background:#f0edff;border:1.5px solid #d4d1fe;}
  .risk-banner-icon{font-size:18px;flex-shrink:0;margin-top:2px;}
  .risk-banner.orange .risk-banner-icon{color:#ea580c;}
  .risk-banner.red .risk-banner-icon{color:#be123c;}
  .risk-banner.blue .risk-banner-icon{color:#4434d4;}
  .risk-banner-body{flex:1;}
  .risk-banner-title{font-size:13px;font-weight: 400;margin-bottom:4px;}
  .risk-banner.orange .risk-banner-title{color:#9a3412;}
  .risk-banner.red .risk-banner-title{color:#9f1239;}
  .risk-banner.blue .risk-banner-title{color:#1e40af;}
  .risk-banner-text{font-size:12px;color:var(--muted2);line-height:1.65;}
  .risk-banner-text strong{font-weight: 400;color:var(--text2);}

  /* Stat Cards Row */
  .stat-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
  .stat-card{flex:1;min-width:160px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 20px;}
  .stat-number{font-size:26px;font-weight: 700;letter-spacing:-0.04em;line-height:1;}
  .stat-label{font-size:11px;font-weight: 400;color:var(--muted2);margin-top:4px;line-height:1.4;}
  @media(max-width:768px){
    .stat-row{gap:8px;}
    .stat-card{min-width:130px;padding:12px 14px;}
    .stat-number{font-size:22px;}
    .risk-banner{padding:14px 16px;gap:10px;}
    .risk-banner-icon{font-size:16px;}
    .risk-banner-title{font-size:12px;}
    .risk-banner-text{font-size:11px;}
  }

  /* Entity Setup Checklist */
  .setup-checklist{margin-top:16px;display:flex;flex-direction:column;gap:6px;}
  .setup-check-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted2);line-height:1.5;}
  .setup-check-item .chk{width:16px;height:16px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight: 400;flex-shrink:0;margin-top:1px;}
  .setup-check-item .chk-done{background:#dcfce7;color:#16a34a;border:1px solid #86efac;}
  .setup-check-item .chk-ref{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0;}
  .setup-check-item .chk-label{flex:1;}
  .setup-check-item .chk-label strong{font-weight: 400;color:var(--text2);}
  .setup-check-item .chk-label span{color:var(--muted);font-size:11px;display:block;margin-top:1px;}
  .feature-card .setup-checklist-title{font-size:11px;font-weight: 400;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted2);margin-top:16px;margin-bottom:8px;padding-top:14px;border-top:1px solid var(--border);}
  @media(max-width:768px){
    .setup-check-item{font-size:11px;}
    .setup-check-item .chk{width:14px;height:14px;font-size:8px;}
  }

  /* ── Mobile ── */
  @media(max-width:768px){
    /* Nav */
    .nav-inner{padding:0 16px;height:56px;}
    .nav-logo{font-size:15px;}
    .nav-back{font-size:13px;padding:6px 10px;}
    .nav-cta{font-size:12px;padding:7px 14px;}

    /* Hero */
    .plan-hero{padding:88px 16px 48px;}
    .plan-hero-title{font-size:clamp(24px,7vw,36px);margin-bottom:14px;}
    .plan-hero-sub{font-size:15px;margin-bottom:24px;}
    .plan-badge-large{font-size:11px;padding:5px 12px;}
    .plan-meta-row{gap:8px;margin-bottom:20px;}
    .plan-meta-chip{font-size:12px;padding:8px 12px;}
    .plan-cta-row{flex-direction:column;gap:10px;}
    .btn-primary,.btn-secondary{width:100%;justify-content:center;padding:13px 20px;font-size:14px;}

    /* Content */
    .plan-content{padding:40px 16px;}
    .content-section{padding:40px 0;}
    .content-title{font-size:clamp(18px,5vw,24px);}
    .content-body{font-size:14px;}
    .section-label{font-size:10px;}

    /* Feature cards */
    .feature-grid{grid-template-columns:1fr;gap:12px;}
    .feature-card{padding:20px;}
    .feature-icon{width:40px;height:40px;font-size:17px;margin-bottom:12px;}
    .feature-title{font-size:14px;}
    .feature-desc{font-size:12px;}

    /* Steps */
    .step-item{gap:14px;padding:20px 0;}
    .step-num{width:34px;height:34px;font-size:13px;flex-shrink:0;}
    .step-title{font-size:14px;}
    .step-desc{font-size:13px;}

    /* FAQ accordion mobile */
    .faq-trigger{padding:16px 0;}
    .faq-q{font-size:14px;}
    .faq-a{font-size:13px;padding:0 8px 14px 0;}

    /* Compare table — 가로 스크롤 */
    .compare-table{font-size:11px;min-width:480px;}
    .compare-table th,.compare-table td{padding:8px 10px;}

    /* Other plans */
    .other-plans{grid-template-columns:1fr;gap:10px;}
    .other-plan-card{padding:18px;}
    .opc-letter{font-size:22px;}
    .opc-name{font-size:13px;}
    .opc-desc{font-size:11px;}

    /* CTA section */
    .plan-cta-section{padding:48px 16px;}
    .plan-cta-section h2{font-size:clamp(20px,5vw,28px);}
    .plan-cta-section p{font-size:14px;margin-bottom:24px;}

    /* Footer */
    .plan-footer{padding:24px 16px;}
    .plan-footer p{font-size:12px;}

    /* Pricing box */
    .pricing-box{padding:20px 16px;border-radius:14px;}
    .pricing-top{flex-direction:column;gap:16px;margin-bottom:20px;}
    .pricing-number{font-size:48px;}
    .pricing-currency{font-size:20px;}
    .pricing-period{font-size:14px;}
    .pricing-commission{font-size:12px;padding:5px 10px;}
    .pricing-setup{font-size:12px;}
    .pricing-label{font-size:10px;}
    .pricing-divider{margin:16px 0;}
    .pricing-items{grid-template-columns:1fr;gap:10px;}
    .pricing-item{font-size:13px;}
    .pricing-note{font-size:12px;padding:12px;line-height:1.6;}
    .pricing-option-box{padding:16px;margin-top:16px;}
    .pricing-option-grid{grid-template-columns:1fr;gap:10px;}
    .pricing-option-item{padding:12px;}
    .pricing-option-item-name{font-size:11px;}
    .pricing-option-item-price{font-size:13px;}
    .pricing-option-item-desc{font-size:11px;}
    .channel-tags{gap:6px;margin-top:12px;}
    .channel-tag{font-size:11px;padding:4px 10px;}
    .savings-banner{padding:12px 14px;gap:10px;border-radius:10px;}
    .savings-banner i{font-size:15px;}
    .savings-banner-text{font-size:12px;}
  }

  /* ── Very small (≤380px) ── */
  @media(max-width:380px){
    .plan-hero-title{font-size:22px;}
    .pricing-number{font-size:40px;}
    .nav-back span{display:none;}
    .nav-back i{margin:0;}
  }

/* ══════════════════════════════════════════════════════════════
   Plan A — Fit Check Grid / Limit Grid
══════════════════════════════════════════════════════════════ */
.fit-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;}
.fit-card{border-radius:14px;padding:28px 24px;border:1.5px solid;}
.fit-yes{background:#f0fdf4;border-color:#bbf7d0;}
.fit-no{background:#fff1f2;border-color:#fecdd3;}
.fit-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.fit-card-header i{font-size:18px;}
.fit-yes .fit-card-header i{color:#16a34a;}
.fit-no .fit-card-header i{color:#be123c;}
.fit-card-header span{font-size:15px;font-weight:800;color:var(--text);}
.fit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.fit-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text2);line-height:1.55;}
.fit-yes .fit-list li i{color:#16a34a;margin-top:2px;flex-shrink:0;}
.fit-no .fit-list li i{color:#be123c;margin-top:2px;flex-shrink:0;}

.limit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.limit-card{background:#fff;border:1.5px solid #e3e8ee;border-radius:12px;padding:20px;transition:box-shadow .18s;}
.limit-card:hover{box-shadow:0 4px 16px rgba(0,55,112,0.08);}
.limit-icon{font-size:22px;margin-bottom:10px;}
.limit-title{font-size:14px;font-weight:800;color:var(--text);margin-bottom:6px;}
.limit-desc{font-size:13px;color:var(--muted);line-height:1.55;}

@media(max-width:768px){
  .fit-check-grid{grid-template-columns:1fr;}
  .limit-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .limit-grid{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════════════════════════════
   Plan B — P&L Table / Timeline 90
══════════════════════════════════════════════════════════════ */
.pl-table-wrap{overflow-x:auto;margin-top:24px;}
.pl-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;}
.pl-table thead tr{background:#f6f9fc;}
.pl-table th{padding:10px 14px;text-align:left;font-size:12px;font-weight:700;color:var(--muted);border-bottom:1.5px solid #e3e8ee;white-space:nowrap;}
.pl-table td{padding:10px 14px;color:var(--text2);border-bottom:1px solid #f1f5f9;}
.pl-row-revenue td{background:#f0fdf4;font-weight:700;color:#16a34a;}
.pl-row-deduct td{color:var(--text2);}
.pl-row-deduct td:first-child{padding-left:22px;}
.pl-row-section td{background:#f8fafc;font-weight:700;color:var(--text);font-size:13px;border-top:1.5px solid #e3e8ee;padding-top:12px;}
.pl-row-net td{background:#1c1e54;color:#fff;font-weight:800;border-radius:0;border-top:2px solid #e3e8ee;}

.timeline-90{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:24px;border:1.5px solid #e3e8ee;border-radius:14px;overflow:hidden;}
.tl-phase{padding:24px 20px;border-right:1.5px solid #e3e8ee;background:#fff;}
.tl-phase:last-child{border-right:none;}
.tl-phase-header{margin-bottom:14px;}
.tl-phase-badge{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;border-radius:100px;margin-bottom:8px;}
.tl-phase-1 .tl-phase-badge{background:#dbeafe;color:#1d4ed8;}
.tl-phase-2 .tl-phase-badge{background:#dcfce7;color:#15803d;}
.tl-phase-3 .tl-phase-badge{background:#fef9c3;color:#a16207;}
.tl-phase-title{font-size:14px;font-weight:800;color:var(--text);line-height:1.4;}
.tl-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.tl-items li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text2);line-height:1.5;}
.tl-items li i{margin-top:2px;flex-shrink:0;color:#10b981;}

@media(max-width:768px){
  .timeline-90{grid-template-columns:1fr;}
  .tl-phase{border-right:none;border-bottom:1.5px solid #e3e8ee;}
  .tl-phase:last-child{border-bottom:none;}
}

/* ══════════════════════════════════════════════════════════════
   Plan C/D — Decision Grid / Cost Grid / Doc Checklist / Glossary
══════════════════════════════════════════════════════════════ */

/* Executive Decision Guide */
.cd-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;}
.cd-decision-card{border-radius:14px;padding:28px 24px;border:1.5px solid;}
.cd-dec-c{background:#faf5ff;border-color:#c4b5fd;}
.cd-dec-d{background:#fff7ed;border-color:#fed7aa;}
.cd-dec-header{margin-bottom:16px;}
.cd-dec-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:4px 12px;border-radius:100px;border:1.5px solid;margin-bottom:10px;}
.cd-dec-title{font-size:16px;font-weight:800;color:var(--text);}
.cd-dec-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.cd-dec-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text2);line-height:1.55;}
.cd-dec-list li i{margin-top:2px;flex-shrink:0;}
.cd-dec-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;font-size:13px;color:#92400e;line-height:1.55;}
.cd-dec-note i{margin-top:1px;flex-shrink:0;}

/* Transition Scenario */
.cd-scenario-box{background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:14px;padding:24px;margin-top:20px;}
.cd-scenario-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--text);margin-bottom:16px;}
.cd-scenario-grid{display:flex;flex-direction:column;gap:14px;}
.cd-scenario-item{display:flex;align-items:flex-start;gap:14px;}
.cd-scenario-num{width:28px;height:28px;border-radius:50%;background:#16a34a;color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.cd-scenario-body{flex:1;}
.cd-scenario-head{font-size:14px;font-weight:800;color:var(--text);margin-bottom:4px;}
.cd-scenario-desc{font-size:13px;color:var(--text2);line-height:1.6;}

/* Year 1 Cost Grid */
.cd-cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;}
.cd-cost-card{border-radius:14px;padding:24px;border:1.5px solid;}
.cd-cost-c{background:#faf5ff;border-color:#c4b5fd;}
.cd-cost-d{background:#fff7ed;border-color:#fed7aa;}
.cd-cost-header{margin-bottom:16px;}
.cd-cost-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:4px 12px;border-radius:100px;background:#f1f5f9;margin-bottom:8px;}
.cd-cost-title{font-size:14px;font-weight:800;color:var(--text);}

/* Required Documents Checklist */
.doc-checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;}
.doc-checklist-card{border:1.5px solid #e3e8ee;border-radius:14px;overflow:hidden;background:#fff;}
.doc-checklist-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1.5px solid #e3e8ee;font-size:14px;}
.doc-checklist-body{padding:20px;}
.doc-section-title{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:10px;margin-top:4px;}
.doc-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text2);padding:7px 0;border-bottom:1px solid #f1f5f9;line-height:1.5;}
.doc-item:last-child{border-bottom:none;}
.doc-status{display:inline-block;font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px;background:#fef2f2;color:#be123c;border:1px solid #fecdd3;white-space:nowrap;flex-shrink:0;margin-top:1px;}
.doc-status-bank{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.doc-item-bank .doc-status{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}

.doc-timeline-note{background:#f8fafc;border:1.5px solid #e3e8ee;border-radius:12px;padding:20px 24px;margin-top:20px;}
.doc-timeline-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.doc-tl-item{text-align:center;flex:1;min-width:80px;}
.doc-tl-week{font-size:13px;font-weight:800;color:#1c1e54;margin-bottom:4px;}
.doc-tl-label{font-size:12px;color:var(--muted);line-height:1.4;}
.doc-tl-arrow{font-size:18px;color:#cbd5e1;font-weight:800;flex-shrink:0;}

/* Glossary */
.glossary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.glossary-item{background:#f8fafc;border:1.5px solid #e3e8ee;border-radius:12px;padding:18px 20px;}
.glossary-term{font-size:14px;font-weight:800;color:var(--text);margin-bottom:8px;}
.glossary-en{font-size:12px;font-weight:500;color:var(--muted);margin-left:4px;}
.glossary-def{font-size:13px;color:var(--text2);line-height:1.65;}

@media(max-width:768px){
  .cd-decision-grid{grid-template-columns:1fr;}
  .cd-cost-grid{grid-template-columns:1fr;}
  .doc-checklist-grid{grid-template-columns:1fr;}
  .glossary-grid{grid-template-columns:1fr;}
  .doc-tl-arrow{display:none;}
  .doc-timeline-row{gap:12px;}
}

/* ══════════════════════════════════════════════════════════════
   Policy Positioning Section (Plan A)
══════════════════════════════════════════════════════════════ */

/* 섹션 래퍼 — 연한 배경으로 강조 */
.policy-positioning-section {
  position: relative;
}

/* 2-col 레이아웃: 왼쪽 텍스트 + 오른쪽 callout 카드 */
.policy-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: flex-start;
  margin-top: 32px;
}

/* 왼쪽 — 텍스트 + 배지 */
.policy-left {}

.policy-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #1e3a5f;
  background: #eef3fa;
  border: 1px solid #c3d3e8;
  border-radius: 9999px;
  padding: 5px 14px;
  margin-bottom: 18px;
}
.policy-badge i { color: #4475b7; font-size: 12px; }

.policy-headline {
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.04em;
  line-height: 1.2;
  margin: 0 0 16px;
}

.policy-body-text {
  font-size: 14px;
  color: var(--text2);
  line-height: 1.8;
  margin: 0 0 20px;
}

/* 보충 노트 — 회색 배경 블록 */
.policy-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #f8fafd;
  border: 1px solid #dde6f0;
  border-left: 3px solid #4475b7;
  border-radius: 8px;
  padding: 14px 16px;
  font-size: 13px;
  color: var(--text2);
  line-height: 1.65;
  margin-top: 8px;
}
.policy-note i { color: #4475b7; margin-top: 2px; flex-shrink: 0; }

/* 오른쪽 — callout 카드 그룹 */
.policy-callouts {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1.5px solid #d4dfed;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 20px rgba(20, 50, 100, 0.07);
}

/* 카드 헤더 */
.policy-callouts-header {
  background: #0a2540;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.policy-callouts-header-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
}
.policy-callouts-header i { color: rgba(255,255,255,0.5); font-size: 12px; }

/* 개별 callout row */
.policy-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #eef2f7;
  transition: background 0.15s;
}
.policy-callout:last-child { border-bottom: none; }
.policy-callout:hover { background: #f8fafd; }

.policy-callout-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted2);
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 130px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.policy-callout-label i {
  font-size: 11px;
  color: #4475b7;
  flex-shrink: 0;
}

.policy-callout-value {
  font-size: 14px;
  font-weight: 700;
  color: #0a2540;
  text-align: right;
}

/* 특별 강조 row */
.policy-callout.highlight {
  background: linear-gradient(90deg, #f0f5ff 0%, #f8faff 100%);
}
.policy-callout.highlight .policy-callout-value {
  color: var(--clr-primary, #533afd);
}

/* 하단 설명 */
.policy-callouts-footer {
  background: #f8fafd;
  border-top: 1px solid #eef2f7;
  padding: 12px 20px;
  font-size: 12px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 7px;
  line-height: 1.55;
}
.policy-callouts-footer i { color: #4475b7; flex-shrink: 0; }

/* 구조 다이어그램 흐름 */
.policy-flow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  padding: 14px 18px;
  background: #fafbff;
  border: 1px solid #dde5f5;
  border-radius: 10px;
  flex-wrap: wrap;
}
.policy-flow-node {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #0a2540;
  background: #fff;
  border: 1.5px solid #c8d6ec;
  border-radius: 8px;
  padding: 7px 14px;
  white-space: nowrap;
}
.policy-flow-node i { font-size: 13px; color: var(--clr-primary, #533afd); }
.policy-flow-node.node-konivo { border-color: #533afd; background: #f0edff; }
.policy-flow-node.node-konivo i { color: #533afd; }
.policy-flow-arrow {
  font-size: 16px;
  color: #94a3b8;
  flex-shrink: 0;
}
.policy-flow-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 8px;
  flex-basis: 100%;
  text-align: center;
}

@media (max-width: 768px) {
  .policy-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .policy-callout-label { min-width: 110px; font-size: 11px; }
  .policy-callout-value { font-size: 13px; }
  .policy-callout { padding: 13px 16px; }
  .policy-flow { gap: 6px; }
  .policy-flow-node { font-size: 12px; padding: 6px 11px; }
}

/* ══════════════════════════════════════════════════════
   모바일 반응형 — compare-table 가로 스크롤 + 기타 overflow 수정
══════════════════════════════════════════════════════ */
@media(max-width:767px){
  /* compare-table: display:block + overflow-x:auto 로 가로 스크롤 허용 */
  .compare-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    /* min-width 해제 — 내부 thead/tbody가 min-width를 가짐 */
    min-width: unset !important;
    font-size: 11px !important;
  }
  .compare-table thead,
  .compare-table tbody,
  .compare-table tfoot {
    display: block; /* block 전환 후 row들이 scroll 내에서 올바르게 동작 */
  }
  /* block 전환 후 tr을 flex로 처리 */
  .compare-table thead tr,
  .compare-table tbody tr {
    display: flex;
    min-width: 460px; /* 내용이 충분히 보이도록 최소 너비 지정 */
  }
  .compare-table th,
  .compare-table td {
    flex: 1;
    min-width: 80px;
    padding: 8px 10px !important;
    font-size: 11px !important;
    white-space: normal;
    word-break: break-word;
  }
  .compare-table td:first-child,
  .compare-table th:first-child {
    min-width: 110px;
    max-width: 110px;
  }

  /* cd-cost-card overflow 방지 */
  .cd-cost-grid { grid-template-columns: 1fr !important; gap: 12px; }
  .cd-cost-card { max-width: 100%; overflow: hidden; }

  /* fit-check-grid 모바일 1열 */
  .fit-check-grid { grid-template-columns: 1fr; gap: 12px; }

  /* 헤드라인 자간/줄바꿈 최적화 */
  .plan-hero-title {
    word-break: keep-all;
    letter-spacing: -0.03em;
    line-height: 1.2;
  }

  /* CTA 버튼 탭타겟 44px */
  .btn-primary, .btn-secondary {
    min-height: 44px;
    padding: 12px 20px;
    font-size: 14px;
  }

  /* disclaimer 텍스트 최소 12px */
  .plan-footer p, .plan-disclaimer, .pricing-note {
    font-size: 12px !important;
    line-height: 1.6;
  }
}

/* ══════════════════════════════════════════════════════════════
   PilotTerms Section  —  Plan A 파일럿 조건 (pt-*)
══════════════════════════════════════════════════════════════ */

/* 섹션 타이틀 */
.pt-section { scroll-margin-top: 80px; }
.pt-eyebrow { color: #533afd; }
.pt-headline { color: var(--text); }
.pt-sub { color: var(--text2); max-width: 620px; margin-bottom: 0; }

/* 2×2 그리드 */
.pt-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 36px;
}

/* 개별 카드 */
.pt-card {
  background: #fff;
  border: 1.5px solid #e3e8f0;
  border-radius: 16px;
  padding: 28px 26px 24px;
  transition: box-shadow 0.2s, border-color 0.2s;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pt-card:hover {
  box-shadow: 0 8px 28px rgba(83, 58, 253, 0.09);
  border-color: #c4b8fd;
}

/* 카드 헤더 — 아이콘 + 제목 */
.pt-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.pt-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #f0edff;
  color: #533afd;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.pt-card-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  margin: 0;
  line-height: 1.3;
}

/* 설명 */
.pt-card-desc {
  font-size: 13px;
  color: var(--text2);
  line-height: 1.7;
  margin: 0 0 16px;
}

/* 조건 목록 */
.pt-item-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid #eef2f7;
  padding-top: 16px;
  margin-top: auto;
}
.pt-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--text2);
  line-height: 1.5;
}
.pt-item-check {
  color: #533afd;
  font-size: 10px;
  margin-top: 3px;
  flex-shrink: 0;
}

/* 하단 CTA 바 */
.pt-cta-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 28px;
  padding: 18px 22px;
  background: #f8f7ff;
  border: 1.5px solid #ddd8fe;
  border-radius: 12px;
  flex-wrap: wrap;
}
.pt-cta-left {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: var(--text2);
  line-height: 1.6;
  flex: 1;
  min-width: 220px;
}
.pt-cta-icon {
  color: #533afd;
  font-size: 15px;
  margin-top: 2px;
  flex-shrink: 0;
}
.pt-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  background: #533afd;
  color: #fff;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  white-space: nowrap;
  flex-shrink: 0;
}
.pt-cta-btn:hover {
  background: #3d22e0;
  transform: translateY(-1px);
}

/* 모바일 — 1열 스택 */
@media (max-width: 768px) {
  .pt-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
  }
  .pt-card { padding: 22px 18px 18px; }
  .pt-icon-wrap { width: 38px; height: 38px; font-size: 16px; }
  .pt-card-title { font-size: 14px; }
  .pt-card-desc { font-size: 12px; }
  .pt-item { font-size: 12px; }
  .pt-cta-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
  }
  .pt-cta-btn { width: 100%; justify-content: center; }
}
