/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.8.12.1739846398
Updated: 2025-02-18 02:39:58

*/
* {
    word-break: keep-all;
    line-height: 1.5;
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

.inner {
    height: 100%;
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
}

img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
}

.page .entry-header {
    margin-bottom: 0;
}

header.entry-header .entry-title {
    display: none;
}

.ast-container,
.ast-container-fluid {
    padding-left: 0;
    padding-right: 0;
}

/** 헤더 **/
.ast-mobile-header-wrap .ast-primary-header-bar,
.ast-primary-header-bar .site-primary-header-wrap {
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
}

.site-title a,
.site-title a:focus,
.site-title a:hover,
.site-title a:visited {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 800;
}

/* .free a {
    font-size: 20px;
    padding: 10px 25px;
    font-weight: bold;
    color: white;
    border-radius: 10px;
    background-color: #2e844a;
}

.free a:hover {
    transition: .5s;
    background-color: black;
} */

.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0;
    margin-bottom: 0;
}

/* .background {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
} */

.index01-area {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    min-height: 680px;
    text-align: center;    
    padding: 60px 0px;
    position: relative;    
}

.index01-area .bg-video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    overflow: hidden;
}

.index01-area .bg-video video,
.index01-area .bg-video .bg-video__content {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.index01-area .bg-video::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, 
        rgba(3, 45, 96, 0.75) 0%, 
        rgba(102, 126, 234, 0.65) 50%,
        rgba(118, 75, 162, 0.70) 100%);
    pointer-events: none;
}

.index01-area .index01 .index01-t01 {
    font-size: 4.3rem;
    font-weight: 900;
    line-height: 1.5;
    color: #ffffff;
    text-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.3),
        0 4px 16px rgba(0, 0, 0, 0.2);
    letter-spacing: -0.5px;
    margin-bottom: 10px;
}

.index01-area .index01 .index01-t02 {
    font-size: 3.2rem;
    font-weight: 900;
    margin: 30px 0px 50px 0px;
    
    /* 세련된 금색 그라디언트 텍스트 */
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;    
    font-family: ui-monospace;
    letter-spacing: 1px;
    text-shadow: 0 2px 12px rgba(255, 215, 0, 0.3);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.index01-area .index01 .index01-t03 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 30px;
    color: #f0f0f0;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.index01-area .index01 .index01-t04 a {
    font-size: 1.2rem;
    border: 2px solid rgba(255, 255, 255, 0.9);    
    border-radius: 10px;
    padding: 14px 40px;
    display: inline-block;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    /* background: rgba(255, 255, 255, 0.1); */
    background-color: transparent;
    backdrop-filter: blur(10px);
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.index01-area .index01 .index01-t04 a:hover {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-color: transparent;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5);
}

.padding {
    padding: 60px 20px 40px 20px;
}

.index-t {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    color: #032d60;
    margin-bottom: 40px;
}

.index02-area {
    background-color: #f4fcff;
    padding: 60px 20px 40px 20px;
}

/* 질문 섹션 스타일 */
.index02-questions {
    max-width: 920px;
    margin: auto;
    padding: 50px 0px 0px 0px;
    display: grid;
    gap: 20px;
}

.question-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    
    /* 화이트 카드 + 그라디언트 보더 */
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #667eea 0%, #764ba2 100%) border-box;
    border: 2px solid transparent;
    border-radius: 16px;
    padding: 24px 28px;
    
    box-shadow: 
        0 6px 18px rgba(102, 126, 234, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.question-item:hover {
    transform: translateY(-4px);
    box-shadow: 
        0 12px 28px rgba(102, 126, 234, 0.15),
        0 6px 16px rgba(118, 75, 162, 0.1);
    border: 2px solid rgba(102, 126, 234, 0.2);
}

.question-icon {
    font-size: 2rem;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.12), rgba(118, 75, 162, 0.12));
    border-radius: 12px;
    border: 1px solid rgba(102, 126, 234, 0.2);
}

.question-item p {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6;
    color: #032d60;
    letter-spacing: -0.2px;
}

.index02-area {
    background-color: #f4fcff;
    padding: 60px 20px 40px 20px;
}

.index02-area .index02 .index02-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    color: #000000;
}

.index02-area .index02 .index02-list img {
    max-height: 28px;
}

.index02-area .index02 .index02-list .columns {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 20px;
    justify-content: center;
    align-items: center;
    
    /* 화이트 카드 + 그라디언트 보더 */
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #667eea 0%, #764ba2 100%) border-box;
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 20px;
    min-height: 80px;
    font-weight: bold;
    font-size: 1.1rem;
    
    /* 부드러운 그림자와 트랜지션 */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    transition: all .25s ease;
}

.index02-area .index02 .index02-list .columns:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 8px 20px rgba(102, 126, 234, 0.15),
        0 4px 10px rgba(118, 75, 162, 0.1);
}

.index02-area .index02 .index02-list .columns .rows-1 {
    padding: 12px;
    border-radius: 10px;
    /* background-color: #0176d3;   */
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.35), rgba(118, 75, 162, 0.35));
    border: 1px solid rgba(102, 126, 234, 0.4);    
}

.index02-area .index02 .index02-list .columns .need {
    font-size: 1.4rem;
    color: #032d60;
    line-height: 1.4;
}

.index05-area {
    background-color: #f4fcff;
    padding: 65px 20px 40px 20px;    
}

.index05-area .index05 .index05-list .columns {
    margin-bottom: 20px;
}

.index05-area .index05 .index05-list .index05-list-t01 {
    padding: 18px 24px;
    
    /* 화이트 카드 + 은은한 그라디언트 보더 */
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #667eea 0%, #764ba2 100%) border-box;
    border: 2px solid transparent;
    
    box-sizing: border-box;
    font-size: 1.4rem;
    font-weight: 800;
    color: #032d60;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all .25s ease;
}

.index05-area .index05 .index05-list .index05-list-t01::before {
    content: "Q.";
    display: inline-block;
    margin-right: 10px;
    font-weight: 900;
    padding: 4px 10px;
    
    /* Q 라벨을 그라디언트 배경으로 */
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.15), rgba(118, 75, 162, 0.15));
    border: 1px solid rgba(102, 126, 234, 0.2);
    border-radius: 6px;
    color: #667eea;
}

.index05-area .index05 .index05-list .columns:hover .index05-list-t01 {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(102, 126, 234, 0.3);
}

.index05-area .index05 .index05-list .index05-list-t02 {
    position: relative;
    font-size: 1.2rem;
    padding: 24px 28px;
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(102, 126, 234, 0.1);
    border-top: none;
    transition: all .25s ease;
}

.index05-area .index05 .index05-list .columns:hover .index05-list-t02 {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.index05-area .index05 .index05-list .index05-list-t02::before {
    content: "A.";
    display: inline-block;
    color: #667eea;
    font-weight: 900;
    position: absolute;
    left: 28px;
    top: 24px;
    padding: 4px 10px;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.12), rgba(118, 75, 162, 0.12));
    border-radius: 6px;
    font-size: 1rem;
}

.index05-list-inner {
    padding-left: 50px;
    line-height: 1.7;
    color: #333;
}

.strong-word {
    font-weight: 800; 
    color: #667eea;
    position: relative;
}

.index07-area {
    padding: 50px 20px 40px 20px;    
}

.index07-area .index07 .index07-box {
    display: grid;
    grid-template-columns: 66.666% 33.333%;
    align-items: center;
    gap: 30px;
    padding: 60px 50px;
    border-radius: 10px;    
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.index07-area .sm-video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    overflow: hidden;
    
  }

.index07-area .index07 .index07-box .index07-box-t01 {
    font-size: 1.5rem;
    color: white;
    font-weight: bold;
    line-height: 1.4;
}

.index07-area .index07 .index07-box .index07-box-t02 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.index07-area .index07 .index07-box .index07-box-t02 a {
    font-size: 1.2rem;
    display: inline-block;
    color: black;
    padding: 15px 30px;
    text-decoration: none;
    background-color: wheat;
    font-weight: bold;
    border-radius: 10px;
}

.index07-area .index07 .index07-box .index07-box-t02 a:hover {
    color: white;
    transition: .5s;
    background-color: #2e844a;
}

.index07-area .index07 .index07-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
}

input[type="submit"] {
    color: white;
    transition: .5s;
    background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%);
}

input[type="submit"]:hover {    
    background: linear-gradient(135deg, #047857 0%, #34D399 100%);
}

.index07-area .index07 .index07-list .index07-list-t01 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #032d60;
    margin-bottom: 20px;
    margin-top: 30px;
}

.index07-area .index07 .index07-list .index07-list-t02 {
    font-size: 1.1rem;
}

.contact-form {
    border-radius: 30px;
    padding: 50px 30px;
    background-color: #eeeeee;
}

.contact-form .contact-form-t01 {
    font-size: 2rem;
    font-weight: bold;
    color: #09528c;
    margin-bottom: 20px;
    text-align: center;
}

.contact-form .contact-form-list {
    margin-top: 30px;
}


.contact-form .contact-form-list .columns-1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.contact-form .contact-form-list .columns {
    margin-bottom: 10px;
}

.contact-form .contact-form-list .columns .input-name {
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 5px;
}

.r00 {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 5px;
}

.wpcf7 textarea {
    height: 100px;
}

.wpcf7-spinner {
    display: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    display: none;
}

.wpcf7-list-item {
    margin: 0;
}

.contact-agree-t02 {
    margin-top: 5px;
    font-size: 14px;
}

.wpcf7 form>div,
.wpcf7 form>p {
    margin-bottom: 0;
}

.contact-agree {
    margin-top: 20px;
}

.contact-agree a:hover {
    color: var(--accent);
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
    width: auto;
}

.wpcf7 form.sent .wpcf7-response-output {
    display: none;
}

#ast-scroll-top {
    background-color: #0176d3;
}

/** 헤더 **/
.footer .footer-t01 {
    font-size: 1.2rem;
    font-weight: bold;
    color: white;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 10px;
}

.footer .footer-t02 {
    color: white;
    font-size: .9rem;
}

@media all and (max-width:767px) {
    .br_pc {
        display: none;
    }

    .br_m {
        display: block;
    }

    .padding {
        padding: 60px 20px;
    }

   .index01-area {
        padding: 85px 20px;
        min-height: auto;
    }

    .index01-area .bg-video {
        height: 100%;
    }
    
    .index01-area .bg-video::after {
        background: linear-gradient(135deg, 
            rgba(3, 45, 96, 0.80) 0%, 
            rgba(102, 126, 234, 0.70) 50%,
            rgba(118, 75, 162, 0.75) 100%);
    }

    .index01-area .index01 .index01-t01 {
        font-size: 2.5rem;
    }

    .index01-area .index01 .index01-t02 {
        font-size: 2.2rem;
        margin: 20px 0px 30px 0px;    
    }
    
    .index01-area .index01 .index01-t04 a {
        padding: 12px 32px;
        font-size: 1.1rem;
    }

    .index02-area {
        padding: 60px 20px 30px 20px;
      }

     .index02-area .index02 .index02-list {
        grid-template-columns: 1fr;
    }
    
    .index02-area .index02 .index02-list .columns .need {
        font-size: 1.4rem;
    }

    .index01-area .index01 .index01-t01 {
        font-size: 2.5rem;
    }

    .index01-area .index01 .index01-t02 {
    margin: 20px 0px 30px 0px;    
    }

    .index-t {
        font-size: 1.7rem;
        margin-bottom: 30px;
    }    

    .index05-area {
        padding: 50px 20px;
    }

    .index05-area .index05 .index05-list .index05-list-t01 {
        font-size: 1.2rem;
        text-align: justify;
        padding: 16px 20px;
    }

    .index05-area .index05 .index05-list .index05-list-t02 {
        font-size: 1.1rem;
        padding: 20px 20px;
    }
    
    .index05-area .index05 .index05-list .index05-list-t02::before {
        left: 20px;
        top: 20px;
    }

    .index05-area .index05 .index05-list .index05-list-t02 .index05-list-inner {
        text-align: justify;
        padding-left: 50px;
    }
    
    .index05-list-inner {
        padding-left: 45px;
    }

    .index07-area {
        padding: 32px 20px 50px 20px;    
    }

    .index07-area .index07 .index07-box {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 30px;
    }

   
    .index07-area .index07 .index07-box .index07-box-t01 {
        font-size: 1.6rem;
    }

    .index07-area .index07 .index07-box .index07-box-t02 a {
        padding: 12px 26px;
    }

    .index07-area .index07 .index07-list {
        grid-template-columns: 1fr;
    }

    .index07-area .index07 .index07-list .index07-list-t01 {
        font-size: 1.9rem;
        text-align: center;
        margin-top: 10px;
    }

    .index07-area .index07 .index07-list .index07-list-t02 {
        text-align: center;
    }

    .contact-form .contact-form-list .columns-1 {
        grid-template-columns: 1fr;
    }    
}

/* Tablet (가로폭 768px 이상, 1023px 이하) */
@media all and (min-width:768px) and (max-width:1023px) {
    .br_pc {
        display: block;
    }

    .br_m {
        display: none;
    }

    .index05-area .index05 .index05-list .index05-list-t01 {
        font-size: 1.3rem;
    }
    
    .index05-area .index05 .index05-list .index05-list-t02 {
        font-size: 1.15rem;
    }
}

/* PC Desktop (가로폭 1024 이상) */
@media all and (min-width:1024px) {
    .br_pc {
        display: block;
    }

    .br_m {
        display: none;
    }
}


/* ===== Pricing Section ===== */
:root {
  --bg-light: #f4fcff;   /* 섹션 배경 */
  --card-bg: #fff;       /* 카드 배경 */
  --accent: #0070c9;     /* 강조 파란색 */
  --text-dark: #032d60;  /* 제목/가격 글자 */
  --muted: #555;         /* 설명 텍스트 */
  --best: #2e844a;
  --best-choice: #d5a209; /* 강조 버튼 배경 */

  --accent-color: #2e844a;  
  --more-dark: #1a1a1a;
  --text-muted: #6b7280;
  --cg-light: #f8fafc;
  --bg-white: #ffffff;
  --border-color: #e5e7eb;
  --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --gradient-success: linear-gradient(135deg, #2e844a 0%, #1e5f35 100%);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 32px rgba(102, 126, 234, 0.15);
  --border-radius: 16px;
}

.ds-pricing {
  background: var(--bg-light);
  padding: 40px 20px 80px 20px;
}
.ds-pricing__inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.ds-pricing__title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0px 0px 40px;
}
.ds-pricing__subtitle {
  font-size: 1rem;
  color: var(--muted);
  margin-bottom: 40px;
}

.ds-pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.ds-card {
  background: var(--card-bg);
  border-radius: 14px;
  padding: 28px 22px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ds-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}

.ds-card__title {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 4px;
}
.ds-card__desc {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 0 0 18px;
}
.ds-card__price strong {
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--text-dark);
}
.ds-card__price span {
  font-size: 1rem;
  margin-left: 4px;
  color: var(--muted);
}

.ds-btn {
  margin-top: 20px;
  display: inline-block;
  padding: 12px 20px;
  border-radius: 8px;
  background: var(--text-dark);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease;
}
.ds-btn:hover { background: var(--accent); }

/* 강조 카드 */
.ds-card--featured {
  border: 2px solid var(--accent);
  transform: scale(1.05);
}
.ds-btn--featured {
  background: var(--accent);
}
.ds-btn--featured:hover {
  background: var(--best);
}

/* 반응형 */
@media (max-width: 900px) {
  .ds-pricing__grid {
    grid-template-columns: 1fr;
  }
  .ds-card--featured { transform: none; }
}

/* ===== .index08-area ===== */
.index08-area{
  background: #f4fcff;
  padding: 70px 20px 40px 20px;
}

.index08-box{
  /* 세련된 그라디언트 배경 with 미묘한 패턴 효과 */
  background: 
    linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 100%),
    linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  padding: 50px 40px;
  box-shadow: 
    0 8px 28px rgba(102, 126, 234, 0.15),
    0 2px 8px rgba(118, 75, 162, 0.08);
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.5);
}

/* 배경에 미묘한 패턴 효과 추가 */
.index08-box::before{
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(102, 126, 234, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.index08-box::after{
  content: "";
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(118, 75, 162, 0.12) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* 내부 콘텐츠가 배경 위에 올라오도록 */
.index08-box > *{
  position: relative;
  z-index: 1;
}

.index08-title{
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  margin: 0 0 12px;
  color: #032d60; 
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}
.index08-title span{ 
  color: #047857;
  position: relative;
}

.index08-desc{
  text-align: center;
  font-size: 1.15rem;
  margin: 0 auto 26px;
  max-width: 820px;
  color: #032d60;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
}

.index08-points{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
  margin: 10px 0 28px;
}

.index08-points .point{
  display: grid;
  grid-template-columns: 60px 1fr;
  align-items: center;
  gap: 14px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(102, 126, 234, 0.2);
  border-radius: 12px;
  padding: 14px;
  transition: all .25s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.index08-points .point img{
  width: 60px; 
  height: 60px; 
  object-fit: contain;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.15), rgba(118, 75, 162, 0.15));
  border-radius: 10px;
  padding: 10px;
  border: 1px solid rgba(102, 126, 234, 0.2);
}

.index08-points .point .t{
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: #032d60;
}

.index08-points .point:hover{
  transform: translateY(-3px);
  box-shadow: 
    0 10px 24px rgba(102, 126, 234, 0.2),
    0 4px 12px rgba(118, 75, 162, 0.12);
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(102, 126, 234, 0.35);
}

.index08-cta{
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 6px;
}

.index08-btn{
  display: inline-block;
  padding: 14px 26px;
  border-radius: 10px;
  font-weight: 800;
  background: linear-gradient(135deg, #047857 0%, #34D399 100%);
  color: #fff;
  text-decoration: none;
  transition: all .25s ease;
  box-shadow: 0 4px 12px rgba(238, 94, 23, 0.3);
}

.index08-btn:hover{
  background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(46, 132, 74, 0.4);
}

.index08-btn--ghost{
  background: transparent;
  color: #032d60;
  border: 2px solid rgba(3, 45, 96, 0.5);
  box-shadow: none;
}

.index08-btn--ghost:hover{
  background: #2e844a;
  border-color: #2e844a;
  color: #fff;
  box-shadow: 0 6px 16px rgba(46, 132, 74, 0.3);
}

/* 반응형 */
@media (max-width: 1023px){
  .index08-title{ font-size: 1.7rem; }
  .index08-desc{ font-size: 1.05rem; }
  .index08-box{ padding: 40px 30px; }
}

@media (max-width: 900px){
  .index08-points{ grid-template-columns: 1fr; }
}

@media (max-width: 767px){
  .index08-area{
    padding: 50px 20px 40px 20px;
  }
  .index08-box{ padding: 32px 22px; }
  .index08-title{ font-size: 1.5rem; }
  .index08-desc{ font-size: 1rem; }
  .index08-cta{ flex-direction: column; }
  .index08-btn{ text-align: center; }
  
  /* 모바일에서 배경 원 크기 조정 */
  .index08-box::before{
    width: 300px;
    height: 300px;
    right: -30%;
  }
  .index08-box::after{
    width: 250px;
    height: 250px;
    left: -20%;
  }
}


/* ===== .index09-area ===== */
.index09-area{
  background-color:#f4fcff; /* 페이지 내 다른 연한 블록들과 통일 */
  padding: 100px 20px 40px 20px;
  
}

.index09-area .index09 .index09-box{
  /* 심플 화이트 카드 + 얇은 그라디언트 보더 */
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #667eea 0%, #764ba2 100%) border-box;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 36px 28px;
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.index09-area .index09 .rows-1 p{
  margin: 0;
}

/* 첫 문장: 질문/메시지 포커스 */
.index09-area .index09 .rows-1 p:first-child{
  font-size: 1.7rem;
  font-weight: 900;
  line-height: 1.35;
  color: #032d60;     /* 섹션 타이틀 계열 컬러와 맞춤 */
  letter-spacing: -.2px;
  position: relative;
}

/* 얇은 포인트 바 (보라 그라디언트) */
.index09-area .index09 .rows-1 p:first-child::after{
  content:"";
  display:block;
  width:72px; height:4px;
  border-radius:999px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  margin:14px auto 0;
  opacity:.95;
}

/* 두 번째 문장: 보조 설명 */
.index09-area .index09 .rows-1 p + p{
  margin-top: 14px;
  font-size: 1.2rem;
  line-height: 1.6;
  color:black;      /* muted 텍스트 톤 */
  font-weight: 600;
}

/* 호버 시 살짝 상승(카드 인터랙션 최소화) */
.index09-area .index09 .index09-box{
  transition: transform .18s ease, box-shadow .18s ease;
}
.index09-area .index09 .index09-box:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

/* 반응형 */
@media (max-width:1023px){
  .index09-area .index09 .index09-box{ padding: 30px 22px; }
  .index09-area .index09 .rows-1 p:first-child{ font-size:1.45rem; }
}
@media (max-width:767px){
  
  .index09-area .index09 .rows-1 p:first-child{ font-size:1.35rem; }
  .index09-area .index09 .rows-1 p + p{ font-size:1rem; }
}


/* === index07 → match index09 look (CSS-only override) === */
.index07-area{
  background-color:#f4fcff; /* .index09-area와 동일한 섹션 배경 */
}

.index07-area .index07 .index07-box{
  /* .index09-area의 .index09-box와 동일한 카드 룩 */
  grid-template-columns: 1fr;        /* 카드 1열 중앙 정렬 */
  text-align: center;
  padding: 36px 28px;
  max-width: 920px;
  margin: 0 auto;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #667eea 0%, #764ba2 100%) border-box;
  border: 1px solid transparent;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.index07-area .index07 .index07-box:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

/* 타이포 구조: .index09의 첫 줄 강조 + 보조 문장 패턴 */
.index07-area .index07 .index07-box .index07-box-t01 p{ margin:0; }

/* 첫 줄(질문/메시지 포커스) */
.index07-area .index07 .index07-box .index07-box-t01 p:first-child{
  font-size: 1.7rem;
  font-weight: 900;
  line-height: 1.35;
  color: #032d60;
  letter-spacing: -.2px;
  position: relative;
}
.index07-area .index07 .index07-box .index07-box-t01 p:first-child::after{
  content:"";
  display:block;
  width:72px; height:4px;
  border-radius:999px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  margin:14px auto 0;
  opacity:.95;
}

/* 두 번째 줄(보조 설명) */
.index07-area .index07 .index07-box .index07-box-t01 p + p{
  margin-top: 14px;
  font-size: 1.2rem;
  line-height: 1.6;
  color: black;
  font-weight: 600;
}

/* (선택) CTA가 주석 해제될 경우를 대비한 버튼 톤 */
.index07-area .index07 .index07-box .index07-box-t02{ margin-top:16px; }
.index07-area .index07 .index07-box .index07-box-t02 a{
  padding:12px 22px;
  border-radius:10px;
  background:#032d60;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  transition: all .25s ease;
}
.index07-area .index07 .index07-box .index07-box-t02 a:hover{
  background:#2e844a;
}

/* 반응형: .index09와 동일한 축소 스케일 */
@media (max-width:1023px){
  .index07-area .index07 .index07-box{ padding:30px 22px; }
  .index07-area .index07 .index07-box .index07-box-t01 p:first-child{ font-size:1.45rem; }
}
@media (max-width:767px){
  .index07-area .index07 .index07-box .index07-box-t01 p:first-child{ font-size:1.35rem; }
  .index07-area .index07 .index07-box .index07-box-t01 p + p{ font-size:1rem; }
}

/* SVG 비주얼 섹션 스타일 */
.ds-visual-section {
    background: #f4fcff;
    padding: 60px 10px 40px 10px;
    position: relative;
    overflow: hidden;
}

.ds-visual-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -20%;
    width: 500px;
    height: 500px;    
    border-radius: 50%;
    animation: float-bg 15s ease-in-out infinite;
}

.ds-visual-section::after {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -15%;
    width: 600px;
    height: 600px;    
    border-radius: 50%;
    animation: float-bg 20s ease-in-out infinite reverse;
}

@keyframes float-bg {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(30px, 30px) scale(1.1); }
}

.ds-visual-wrapper {
    position: relative;
    z-index: 1;
    max-width: 1174px;
    margin: 0 auto;
}

.ds-svg-container {
    background: white;
    border-radius: 20px;
    padding: 20px 10px;
    box-shadow: 
        0 10px 35px rgba(102, 126, 234, 0.12),
        0 4px 15px rgba(0, 0, 0, 0.08);
    border: 2px solid rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
}

.ds-svg-container:hover {
    transform: translateY(-5px);
    box-shadow: 
        0 15px 45px rgba(102, 126, 234, 0.18),
        0 8px 20px rgba(0, 0, 0, 0.1);
}

.ds-svg-container svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 1124px;
    margin: 0 auto;
}


/* index02-questions 반응형 */
@media (max-width: 1023px) {
  .question-item p {
    font-size: 1.15rem;
  }
}

@media (max-width: 767px) {
  .index02-questions {
    gap: 16px;
    margin-bottom: 40px;
  }
  
  .question-item {
    gap: 14px;
    padding: 20px 22px;
  }
  
  .question-icon {
    font-size: 1.6rem;
    width: 42px;
    height: 42px;
  }
  
  .question-item p {
    font-size: 1.05rem;
  }
}


/* ===== 가격 카드 섹션 ===== */
/* .index07-area {
    background: var(--cg-light);
    padding: 80px 0;
}

.index07-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: start;
}

.index07-list .rows {
    width: 100%;
} */

.cs-pricing {
    margin-bottom: 0;
}

.cs-pricing__inner {
    text-align: center;
}

.cs-pricing__title {
    font-size: 2rem;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 10px;
    letter-spacing: -0.5px;
}

.cs-pricing__subtitle {
    font-size: 1.125rem;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.highlight-text {
    color: var(--accent-color);
    font-weight: 700;
}

.cs-pricing__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 32px;
    margin: 0 auto;
}

.cs-card {
    position: relative;
    background: var(--bg-white);
    border: 2px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 10px 10px;
    margin: 0px 20px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.cs-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
    border-color: transparent;
}

.cs-card--featured {
    background: linear-gradient(135deg, #34D399 0%, #047857 100%);
    border: none;
    color: var(--bg-white);
    /* transform: scale(1.05); */
}

.cs-card--featured:hover {
    transform: translateY(-8px) scale(1.05);
}

.cs-card--featured * {
    color: var(--bg-white) !important;
}

.cs-card__badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: var(--gradient-primary);
    color: var(--bg-white);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cs-card--featured .cs-card__badge {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: #1a1a1a;
    box-shadow: 0 4px 12px rgba(251, 191, 36, 0.4);
}

.cs-card__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0px 0px 5px 0px;
}

.cs-card__desc {
    font-size: 0.9375rem;
    color: var(--text-muted);
    font-weight: 500;
    padding: 5px;
    margin: 0px 0px;
}

.cs-card__price {
    /* margin: 32px 0; */
    padding: 20px 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}

.cs-card--featured .cs-card__price {
    border-color: rgba(255, 255, 255, 0.2);
}

.original-price {
    display: block;
    font-size: 1rem;
    text-decoration: line-through;
    opacity: 0.6;
    margin-bottom: 8px;
}

.cs-card__price strong {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    color: var(--text-dark);
}

.cs-card--featured .cs-card__price strong {
    color: var(--bg-white);
}

.currency {
    font-size: 1.125rem;
    font-weight: 600;
    margin-left: 4px;
}

.period {
    display: inline-block;
    font-size: 1.125rem;
    color: var(--text-muted);
    font-weight: 500;
    margin-top: 8px;
}

.cs-card__features {
    list-style: none;
    margin-top: 10px;
}

.cs-card__features div {
    padding: 5px 0px 5px 0px;
    font-size: 1rem;
    color: var(--more-dark);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    margin: 0px 0px;
}

.cs-card--featured .cs-card__features div {
    color: var(--bg-white);
    border-bottom-color: rgba(255, 255, 255, 0.15);
}

.cs-card__features div:last-child {
    border-bottom: none;
}

/* ===== 구매 신청 폼 ===== */
.buy-form{
    margin-top: 70px;
}


/* ===== 반응형 디자인 ===== */
@media (max-width: 1024px) {  
    
    .cs-pricing__title {
        font-size: 2rem;
    }
    
    .cs-pricing__grid {
        grid-template-columns: 1fr;
        max-width: 400px;
    }
    
    .cs-card--featured {
        transform: scale(1);
    }
    
    .cs-card--featured:hover {
        transform: translateY(-8px) scale(1);
    }
    
    .index07-list {
        grid-template-columns: 1fr;
        gap: 60px;
    }
}

@media (max-width: 768px) {   
    
    .index07-area {
        padding: 60px 0;
    }
    
    .cs-pricing__title {
        font-size: 1.75rem;
    }
    
    .cs-pricing__subtitle {
        font-size: 1rem;
    }  

    
    .cs-card__price strong {
        font-size: 2.5rem;
    }

    .buy-form{
    margin-top: 30px;
   }
    
    .br_pc {
        display: none;
    }
}

@media (max-width: 480px) {    
    
    
    .cs-pricing__title {
        font-size: 1.5rem;
    }  
   
    
    /* .cs-card {
        padding: 32px 24px;
    } */
    
    .cs-card__price strong {
        font-size: 2rem;
    }
}

/* ===== 애니메이션 ===== */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cs-card {
    animation: fadeInUp 0.6s ease-out;
}

/* ===== 접근성 개선 ===== */
*:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ===== 숨김 처리 ===== */

.ast-container,
.ast-container-fluid {
    padding-left: 0;
    padding-right: 0;
}

.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0;
    margin-bottom: 0;
}
