/* ===================================================
   GENIUS ENGLISH ACADEMY
   STYLE.CSS
=================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;800&display=swap');

/* ===================================================
   RESET
=================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Noto Sans KR', sans-serif;
    background:#f8fafc;
    color:#0f172a;
    line-height:1.6;
}

/* ===================================================
   COMMON
=================================================== */

a{
    color:inherit;
    text-decoration:none;
}

img{
    display:block;
    max-width:100%;
}

button,
input{
    font-family:inherit;
}

.container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
    box-sizing:border-box;
}

/* ===================================================
   HEADER
=================================================== */

header{

    position:sticky;
    top:0;
    z-index:1000;

    background:#fff;

    box-shadow:0 2px 10px rgba(0,0,0,.05);

}

/* ===================================================
   HEADER COMMON
=================================================== */

.header-wrap{

    max-width:1280px;

    margin:0 auto;

    padding:0 20px;

}

/* ===================================================
   TOP LOGO
=================================================== */

.header-top{

    padding:18px 0 14px;

    border-bottom:1px solid #f2f2f2;

}

.header-top .header-wrap{

    display:flex;

    justify-content:center;

    align-items:center;

}



/* ===================================================
   MENU
=================================================== */

.header-menu{

    background:#fff;

    border-top:1px solid #fafafa;

    border-bottom:1px solid #f3f4f6;

}

.header-menu .header-wrap{

    display:flex;

    justify-content:center;

    align-items:center;

    height:64px;

}

/* ===================================================
   MAIN MENU
=================================================== */

.main-menu{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:42px;

    flex:1;

}

.main-menu>a,
.dropdown>a{

    position:relative;

    font-size:16px;

    font-weight:600;

    color:#1f2937;

    text-decoration:none;

    transition:.25s;

}

.main-menu>a:hover,
.dropdown>a:hover{

    color:#dc2626;

}

/* 메뉴 밑줄 */

.main-menu>a::after,
.dropdown>a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:#dc2626;

    transition:.25s;

}

.main-menu>a:hover::after,
.dropdown>a:hover::after{

    width:100%;

}

/* ===================================================
   DROPDOWN
=================================================== */

.dropdown{

    position:relative;

}

.dropdown-menu{

    position:absolute;

    top:42px;

    left:50%;

    transform:translateX(-50%);

    min-width:170px;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.10);

    opacity:0;

    visibility:hidden;

    transition:.25s;

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

}

.dropdown-menu a{

    display:block;

    padding:15px 20px;

    color:#374151;

    text-decoration:none;

    transition:.2s;

}

.dropdown-menu a:hover{

    background:#fff5f5;

    color:#dc2626;

}

/* ===================================================
   LOGO
=================================================== */

.logo-slider{

    position:relative;

    width:360px;

    height:72px;

    margin:auto;

}

.logo-slide{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:contain;

    opacity:0;

    transition:opacity .8s ease;

}

.logo-slide.show{

    opacity:1;

}

/* ===================================================
   MOBILE
=================================================== */

.pc-text{

    display:inline;

}

.mobile-text{

    display:none;

}

@media (max-width:1024px){

    .header-top{

        padding:14px 0;

    }

    .logo-slider{

        width:300px;
        height:60px;

    }

    .header-menu .header-wrap{

        height:auto;

        justify-content:center;

        padding:12px 0;

    }

    .main-menu{

        display:flex;

        flex-wrap:wrap;

        justify-content:center;

        gap:14px 18px;

    }

    .main-menu>a,
    .dropdown>a{

        font-size:15px;

    }

    .pc-text{

        display:none;

    }

    .mobile-text{

        display:inline;

    }

}


/* ===================================================
   MAIN HERO
=================================================== */

.hero{

    position:relative;

    overflow:hidden;

    background:#fff;

}

.hero::before{

    content:"";

    position:absolute;

    top:-100px;
    right:-150px;

    width:550px;
    height:550px;

    background:#f3f4f6;

    border-radius:50%;

    z-index:0;

}

.hero > *{

    position:relative;

    z-index:1;

}

/* ===========================
   HERO PHOTO SLIDER
=========================== */

.hero-photo-slider{
    position:relative;
    width:100%;
    height:100%;
    aspect-ratio:1 / 1;

    border-radius:50%;
    overflow:hidden;

    border:8px solid #fff;

    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.hero-photo{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    opacity:0;

    transition:opacity 1s ease;
}

.hero-photo.active{
    opacity:1;
}

/* ===================================================
   MAIN QUICK CARD
=================================================== */

.card{

    display:block;

    padding:35px 25px;

    background:#fff;

    border-radius:28px;

    text-align:center;

    text-decoration:none;

    color:#111827;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.3s;

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(0,0,0,.15);

}

.card .icon{

    font-size:55px;

}

.card h2{

    margin-top:20px;

    font-size:28px;

    font-weight:800;

}

.card p{

    margin-top:10px;

    color:#64748b;

}

/* ===================================================
   MAIN SECTION TITLE
=================================================== */

.title{

    text-align:center;

    font-size:40px;

    font-weight:800;

    color:#111827;

    line-height:1.3;

}

/* ===================================================
  MAIN  CURRICULUM
=================================================== */

.step{

    background:#fff;

    border-radius:24px;

    padding:35px 20px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.step:hover{

    transform:translateY(-8px);

}

.step span{

    display:flex;

    align-items:center;

    justify-content:center;

    width:70px;

    height:70px;

    margin:0 auto;

    border-radius:50%;

    background:#2563eb;

    color:#fff;

    font-size:30px;

    font-weight:700;

}

.step h3{

    margin-top:20px;

    font-size:20px;

    font-weight:700;

}

/* ===================================================
   MAIN BOOK CARD
=================================================== */

.book{

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:250px;

    background:#fff;

    border-radius:24px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    font-size:24px;

    font-weight:700;

    transition:.3s;

}

.book:hover{

    transform:translateY(-8px);

}

/* ===================================================
   BUTTON
=================================================== */

.btn{

    display:inline-block;

    padding:14px 28px;

    border-radius:999px;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

/* Blue */

.btn-blue{

    background:#2563eb;

    color:#fff;

}

.btn-blue:hover{

    background:#1d4ed8;

}

/* Green */

.btn-green{

    background:#10b981;

    color:#fff;

}

.btn-green:hover{

    background:#059669;

}

/* Yellow */

.btn-yellow{

    background:#f59e0b;

    color:#fff;

}

.btn-yellow:hover{

    background:#d97706;

}

/* ===================================================
   FOOTER
=================================================== */

footer{

    margin-top:60px;

}

/* ===================================================
   MOBILE
=================================================== */

@media (max-width:768px){

    .title{

        font-size:30px;

    }

    .card{

        padding:28px;

    }

    .card .icon{

        font-size:48px;

    }

    .card h2{

        font-size:24px;

    }

    .hero h1{

        font-size:38px !important;

    }

    .hero p{

        font-size:18px !important;

    }

}
/* ===================================================
   MAIN NOTICE
=================================================== */

.notice-section{

    margin-top:-10px;

    margin-bottom:40px;

}

.notice-wrapper{

    max-width:1280px;

    margin:0 auto;

    display:grid;

    grid-template-columns:120px repeat(4, 1fr);

    background:#fff;

    border:1px solid #f4dcdc;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

/* ===================================================
   NOTICE LABEL
=================================================== */

.notice-label{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    background:#fff8f8;

    border-right:1px solid #eee;

}

.notice-megaphone{

    font-size:26px;

}

.notice-text{

    margin-top:8px;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    color:#dc2626;

}

/* ===================================================
   NOTICE CARD
=================================================== */

.notice-card{

    display:flex;

    flex-direction:column;

    justify-content:center;

    min-height:95px;

    padding:24px;

    border-right:1px solid #f1f1f1;

    cursor:pointer;

    transition:.3s;

}

.notice-card:last-child{

    border-right:none;

}

.notice-card:hover{

    background:#fff7f7;

}

/* 첫 번째 카드 */

.notice-main{

    background:#fff8f8;

}

.notice-title{

    margin-bottom:8px;

    font-size:17px;

    font-weight:700;

    color:#111827;

}

.notice-desc{

    font-size:14px;

    line-height:1.6;

    color:#6b7280;

}

/* ===================================================
   MOBILE
=================================================== */

@media(max-width:1000px){

    .notice-wrapper{

        grid-template-columns:1fr;

    }

    .notice-label{

        flex-direction:row;

        gap:10px;

        padding:20px;

        border-right:none;

        border-bottom:1px solid #eee;

    }

    .notice-card{

        border-right:none;

        border-top:1px solid #eee;

    }

}


/* ===================================================
   VOCABULARY PAGE
=================================================== */

/* ===================================================
   SUB HERO
=================================================== */

.sub-hero{

    background:#fff;

    padding:60px 20px 45px;

    text-align:center;

    border-bottom:1px solid #f3f4f6;

}

.sub-hero .container{

    max-width:900px;

    margin:0 auto;

}

.sub-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 18px;

    margin-bottom:18px;

    border-radius:999px;

    background:#fff1f2;

    color:#dc2626;

    font-size:14px;

    font-weight:700;

}

.sub-hero h1{

    margin-bottom:18px;

    font-size:52px;

    font-weight:800;

    color:#111827;

}

.sub-hero p{

    margin-bottom:35px;

    font-size:20px;

    line-height:1.8;

    color:#6b7280;

}

/* ===================================================
   SEARCH
=================================================== */

.search-box{

    position:relative;

    max-width:650px;

    margin:0 auto;

}

.search-box input{

    width:100%;

    height:62px;

    padding:0 70px 0 28px;

    border:none;

    border-radius:999px;

    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    font-size:17px;

    transition:.25s;

}

.search-box input:focus{

    outline:none;

    box-shadow:0 15px 35px rgba(220,38,38,.15);

}

.search-box button{

    position:absolute;

    top:6px;

    right:6px;

    width:50px;

    height:50px;

    border:none;

    border-radius:50%;

    background:#dc2626;

    color:#fff;

    font-size:18px;

    cursor:pointer;

    transition:.25s;

}

.search-box button:hover{

    background:#b91c1c;

    transform:scale(1.08);

}

/* ===================================================
   CATEGORY
=================================================== */

.voca-category{

    padding:25px 20px;

    background:#fff;

}

.voca-category .container{

    max-width:1200px;

    margin:0 auto;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:16px;

}

.voca-category a{

    padding:10px 22px;

    background:#fff;

    border-radius:999px;

    color:#374151;

    font-weight:700;

    text-decoration:none;

    box-shadow:0 5px 18px rgba(0,0,0,.08);

    transition:.25s;

}

.voca-category a:hover{

    background:#dc2626;

    color:#fff;

}

/* ===================================================
   VOCABULARY SECTION
=================================================== */

.voca-list{

    padding:70px 20px 20px;

}

.voca-list .container{

    max-width:1200px;

    margin:0 auto;

}

.voca-list h2{

    margin-bottom:30px;

    font-size:32px;

    font-weight:800;

    color:#111827;

}

/* ===================================================
   VOCABULARY GRID
=================================================== */

.voca-grid{

    display:flex;

    flex-wrap:wrap;

    gap:24px;

}

/* ===================================================
   VOCABULARY CARD
=================================================== */

.voca-card{

    width:190px;

    flex-shrink:0;

    overflow:hidden;

    background:#fff;

    border-radius:20px;

    color:inherit;

    text-decoration:none;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.25s;

}

.voca-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.15);

}

.voca-card img{

    display:block;

    width:100%;

}

.card-info{

    padding:18px;

    text-align:center;

}

.card-info h3{

    margin-bottom:8px;

    font-size:20px;

    font-weight:700;

    color:#111827;

}

.card-info p{

    font-size:15px;

    color:#6b7280;

}

/* ===================================================
   COMING SOON
=================================================== */

.coming-text{

    font-size:18px;

    font-weight:500;

    color:#999;

}

.coming-soon{

    position:relative;

    pointer-events:none;

    opacity:.85;

}

.coming-badge{

    position:absolute;

    top:10px;

    right:10px;

    padding:6px 12px;

    border-radius:20px;

    background:#e53935;

    color:#fff;

    font-size:13px;

    font-weight:700;

    z-index:10;

}

/* ===================================================
    SUB HERO MOBILE
=================================================== */

@media(max-width:768px){

    .sub-hero{

        padding:50px 20px 40px;

    }

    .sub-hero h1{

        font-size:36px;

    }

    .sub-hero p{

        font-size:17px;

    }

    .search-box input{

        height:56px;

    }

    .search-box button{

        width:44px;

        height:44px;

    }

    .voca-list h2{

        font-size:26px;

    }

}


/* ===================================================
   READING PAGE
=================================================== */

/* ===================================================
   CATEGORY
=================================================== */

.category-buttons{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

}

.category-buttons a{

    display:inline-block;

    padding:13px 24px;

    background:#fff;

    border-radius:999px;

    color:#222;

    font-weight:600;

    text-decoration:none;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

    transition:.25s;

}

.category-buttons a:hover{

    color:#E53935;

    transform:translateY(-3px);

}



/* ===================================================
   READING MOBILE
=================================================== */

@media(max-width:768px){

    .category-buttons{

        gap:12px;

    }

    .category-buttons a{

        padding:12px 18px;

        font-size:14px;

    }

}

/* ===================================================
   READING LEVEL
=================================================== */

.reading-level{

    padding:70px 20px;

}

.reading-level .container{

    max-width:1200px;

    margin:0 auto;

}

.section-title{

    text-align:center;

    margin-bottom:45px;

}

.section-title h2{

    font-size:38px;

    font-weight:800;

    color:#111827;

    margin-bottom:12px;

}

.section-title p{

    font-size:18px;

    color:#6b7280;

}

.level-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.level-card{

    background:#fff;

    border-radius:24px;

    padding:40px 20px;

    text-align:center;

    text-decoration:none;

    color:#111827;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.level-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.level-icon{

    font-size:50px;

    margin-bottom:20px;

}

.level-card h3{

    font-size:30px;

    font-weight:800;

    margin-bottom:10px;

}

.level-card span{

    color:#6b7280;

    font-size:16px;

}

/* 색상 */

.ar0{

    border-top:6px solid #3b82f6;

}

.ar1{

    border-top:6px solid #22c55e;

}

.ar2{

    border-top:6px solid #facc15;

}

.ar3{

    border-top:6px solid #fb923c;

}

.ar4{

    border-top:6px solid #ef4444;

}

.ar5{

    border-top:6px solid #8b5cf6;

}


/* 모바일 */

@media(max-width:768px){

.level-grid{

grid-template-columns:repeat(2,1fr);

gap:18px;

}

.section-title h2{

font-size:30px;

}

.level-card{

padding:30px 15px;

}

.level-card h3{

font-size:24px;

}

.level-icon{

font-size:40px;

}

}

/* ===========================
   AR BOOK PAGE
=========================== */

.search-section{
    padding:40px 0 10px;
}

.search-box{
    max-width:600px;
    margin:auto;
    position:relative;
}

.search-box i{
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    color:#888;
}

.search-box input{
    width:100%;
    padding:15px 20px 15px 50px;
    border:1px solid #ddd;
    border-radius:50px;
    font-size:16px;
    outline:none;
    transition:.3s;
}

.search-box input:focus{
    border-color:#e63946;
}

.book-section{
    padding:40px 0 80px;
}

/* ===========================
   BOOK GRID
=========================== */

.book-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:28px;
}

.book{
    display:block;
    text-decoration:none;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    transition:.25s;
}

.book:hover{
    transform:translateY(-8px);
}

.book img{
    width:100%;
    aspect-ratio:3/4;
    object-fit:cover;
    display:block;
}

.book-ar{
    padding:16px 16px 0;
    color:#e63946;
    font-size:15px;
    font-weight:700;
}

.book-title{
    padding:6px 16px 0;

    font-size:16px;
    font-weight:700;
    color:#222;
    line-height:1.4;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;

    min-height:45px;
}

.book-series{
    padding:6px 16px 18px;
    font-size:13px;
    color:#888;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* ===========================
   MOBILE
=========================== */

@media(max-width:768px){

.book-grid{
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.book-title{
    font-size:14px;
    min-height:44px;
}

.book-ar{
    font-size:13px;
}

.book-series{
    font-size:12px;
}

}

/* ===========================
   AR LEVEL BAR
=========================== */

.ar-level-bar{

    background:#fff;
    border-bottom:1px solid #ececec;
    padding:18px 0;

}

.ar-level-nav{

    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;

}

.ar-level-nav a{

    text-decoration:none;
    color:#444;
    background:#f5f5f5;
    padding:10px 22px;
    border-radius:999px;
    font-size:15px;
    font-weight:700;
    transition:.3s;

}

.ar-level-nav a:hover{

    background:#e63946;
    color:#fff;

}

.ar-level-nav a.active{

    background:#e63946;
    color:#fff;

}


/* ===========================
   AR HERO
=========================== */

.ar-hero{
    background:linear-gradient(135deg,#f8fafc,#eef2f7);
    padding:55px 20px 20px;
    text-align:center;
    position:relative;
    overflow:hidden;
}

.ar-hero::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:340px;
    height:340px;
    border-radius:50%;
    background:rgba(230,57,70,.05);
}

.hero-content{
    max-width:850px;
    margin:0 auto;
    position:relative;
    z-index:2;
}

.ar-hero .hero-badge{
    display:inline-block;
    background:#e63946;
    color:#ffffff !important;
    padding:8px 18px;
    border-radius:30px;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:18px;
}

.ar-hero h1{
    font-size:48px;
    font-weight:800;
    color:#222;
    margin-bottom:18px;
}

.ar-hero .hero-desc{
    font-size:20px;
    line-height:1.7;
    color:#555;
    margin-bottom:10px;
}

.ar-hero .hero-sub{
    font-size:18px;
    line-height:1.7;
    color:#666;
    margin-bottom:18px;
}

.hero-guide{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff8f8;
    border:1px solid #ffd7d7;
    color:#d64a4a;
    padding:12px 20px;
    border-radius:14px;
    font-size:15px;
    font-weight:600;
    margin-bottom:28px;
}

/* ===========================
   AR LEVEL MENU
=========================== */

.ar-level-menu{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    padding-top:22px;
    border-top:1px solid #e8e8e8;
}

.ar-level-menu a{
    text-decoration:none;
    color:#444;
    background:#fff;
    padding:12px 24px;
    border-radius:999px;
    font-size:15px;
    font-weight:700;
    box-shadow:0 6px 16px rgba(0,0,0,.06);
    transition:.25s;
}

.ar-level-menu a:hover{
    background:#e63946;
    color:#fff;
    transform:translateY(-2px);
}

.ar-level-menu a.active{
    background:#e63946;
    color:#fff;
}

/* ===========================
   Responsive
=========================== */

@media (max-width:768px){

    .ar-hero{
        padding:35px 20px 25px;
    }

    .ar-hero h1{
        font-size:36px;
    }

    .ar-hero .hero-desc{
    font-size:16px;
    margin-bottom:8px;
}

.ar-hero .hero-sub{
    font-size:15px;
    margin-bottom:16px;
}

    .hero-guide{
        font-size:14px;
        padding:10px 16px;
        margin-bottom:20px;
    }

    .ar-level-menu{
        gap:10px;
        padding-top:18px;
    }

    .ar-level-menu a{
        padding:10px 16px;
        font-size:14px;
    }

}

/* ===========================
   BOOK DETAIL TOP
=========================== */

.detail-top{

    padding:60px 20px;

}

.back-btn{

    display:inline-flex;
    align-items:center;
    gap:8px;

    color:#666;
    text-decoration:none;
    font-weight:600;

    margin-bottom:40px;

}

.back-btn:hover{

    color:#e63946;

}

.detail-grid{

    display:grid;
    grid-template-columns:330px 1fr;
    gap:60px;
    align-items:start;

}

/* ===========================
   BOOK COVER
=========================== */

.book-cover-wrap{

    width:280px;

    background:#fff;

    border-radius:24px;

    padding:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.book-cover-wrap img{

    width:100%;

    display:block;

    border-radius:14px;

}

/* ===========================
   BOOK INFO
=========================== */

.detail-badge{

    display:inline-block;

    background:#e63946;
    color:#fff;

    padding:8px 16px;

    border-radius:30px;

    font-size:13px;
    font-weight:700;

    margin-bottom:20px;

}

.book-info h1{

    font-size:46px;
    line-height:1.25;
    font-weight:800;

    color:#222;

    margin-bottom:35px;

}

/* ===========================
   INFO TABLE
=========================== */

.info-table{

    border-top:2px solid #222;

}

.info-row{

    display:grid;

    grid-template-columns:180px 1fr;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid #ececec;

}

.info-row .label{

    font-size:15px;

    font-weight:700;

    color:#777;

}

.info-row span:last-child{

    font-size:16px;

    color:#222;

    line-height:1.6;

}

/* ===========================
   AUDIO PLAYER
=========================== */

.audio-player{

    margin-top:40px;

}

.audio-player h3{

    display:flex;
    align-items:center;
    gap:10px;

    font-size:20px;
    font-weight:700;

    color:#222;

    margin-bottom:18px;

}

.audio-player audio{

    width:100%;

    border-radius:12px;

}

/* ===========================
   ABOUT BOOK
=========================== */

.book-about{

    padding:50px 0 20px;

}

.book-about h2{

    font-size:24px;
    font-weight:700;
    color:#222;
    margin-bottom:20px;

}

.summary-text{

    font-size:17px;
    line-height:1.9;
    color:#555;

    white-space:pre-line;

}


/* ===========================
   MORE FROM THIS SERIES
=========================== */

.more-books{

    padding:30px 0 80px;

}

.more-books h2{

    font-size:24px;
    font-weight:700;
    color:#222;

    margin-bottom:25px;

}

.series-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fill,minmax(150px,1fr));

    gap:20px;

}

.series-book{

    text-decoration:none;

    color:#222;

    transition:.25s;

}

.series-book:hover{

    transform:translateY(-6px);

}

.series-book img{

    width:100%;

    border-radius:14px;

    display:block;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.series-book h4{

    margin-top:10px;

    font-size:15px;

    font-weight:700;

    line-height:1.4;

}

.series-book span{

    display:block;

    margin-top:4px;

    color:#888;

    font-size:13px;

}

/* ===========================
   CONTACT HERO
=========================== */

.contact-hero{

    background:linear-gradient(135deg,#d32f2f,#ef5350);

    color:#fff;

    padding:90px 20px 80px;

    text-align:center;

}

.contact-hero-content{

    max-width:820px;

    margin:0 auto;

}

.contact-hero .hero-badge{
    display:inline-block;
    padding:10px 22px;
    border-radius:30px;
    background:rgba(255,255,255,.18);
    color:#fff;
    font-size:14px;
    font-weight:700;
    margin-bottom:24px;
}

.contact-hero h1{

    font-size:58px;

    font-weight:800;

    margin-bottom:22px;

}

.contact-hero .hero-desc{

    font-size:20px;

    line-height:1.8;

    color:rgba(255,255,255,.95);

    margin-bottom:35px;

}

.contact-hero .hero-info{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:14px;

    margin-bottom:38px;

}

.contact-hero .hero-info-item{

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.18);

    padding:12px 18px;

    border-radius:50px;

    font-size:15px;

}

.contact-hero .hero-btn{

    display:inline-block;

    padding:16px 34px;

    background:#fff;

    color:#d32f2f;

    border-radius:50px;

    font-weight:700;

    text-decoration:none;

    transition:.25s;

}

.contact-hero .hero-btn:hover{

    background:#f5f5f5;

    transform:translateY(-2px);

}

@media(max-width:900px){

.contact-hero{

    padding:70px 20px;

}

.contact-hero h1{

    font-size:42px;

}

.contact-hero .hero-desc{

    font-size:17px;

}

.contact-hero .hero-info{

    flex-direction:column;

    align-items:center;

}

.contact-hero .hero-info-item{

    width:100%;

    max-width:360px;

}

}

/* ===========================
   CONSULT FORM
=========================== */

.consult-section{

    padding:80px 0;

}

.consult-card{

    max-width:820px;

    margin:auto;

    background:#fff;

    border-radius:24px;

    padding:50px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.consult-card h2{

    font-size:34px;

    font-weight:800;

    margin-bottom:15px;

}

.consult-guide{

    color:#666;

    line-height:1.8;

    margin-bottom:40px;

}

.form-title{

    margin:50px 0 25px;

    padding-bottom:12px;

    border-bottom:2px solid #f1f1f1;

    font-size:22px;

    font-weight:700;

    color:#d32f2f;

}

.form-title i{

    margin-right:10px;

}

.form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

}

.radio-group{

    display:flex;

    gap:35px;

    margin-top:10px;

    flex-wrap:wrap;

}

.radio-group label{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:17px;

    cursor:pointer;

}

.radio-group input{

    width:18px;

    height:18px;

}

@media(max-width:768px){

    .form-grid{

        grid-template-columns:1fr;

    }

}

.form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

}

.form-group{

    margin-bottom:28px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-size:16px;

    font-weight:700;

}

.form-group label span{

    color:#e53935;

}

.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    padding:16px 18px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:16px;

    transition:.25s;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    outline:none;

    border-color:#d32f2f;

    box-shadow:0 0 0 4px rgba(211,47,47,.08);

}

@media (max-width:768px){

    .form-grid{

        grid-template-columns:1fr;

    }

}

/* ===========================
   SUBMIT BUTTON
=========================== */

.submit-btn{

    width:100%;

    margin-top:40px;

    padding:18px;

    border:none;

    border-radius:14px;

    background:#d32f2f;

    color:#fff;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.submit-btn:hover{

    background:#b71c1c;

}

.consult-process{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;

}

.process-item{

    display:flex;
    align-items:center;
    gap:8px;

    font-size:16px;
    font-weight:700;

    color:#333;

}

.process-item i{

    color:#d32f2f;
    font-size:20px;

}

.process-arrow{

    color:#bbb;
    font-size:18px;

}

@media(max-width:768px){

    .consult-process{

        flex-direction:column;
        gap:15px;

    }

    .process-arrow{

        transform:rotate(90deg);

    }

}

/* ===========================
   CONSULT PROCESS
=========================== */

.consult-process-section{

    padding:25px 0 60px;

}

.consult-process{

    display:flex;

    justify-content:center;

    align-items:flex-start;

    gap:18px;

    flex-wrap:nowrap;

}

.process-item{

    flex:1;

    text-align:center;

}

.process-icon{

    width:64px;
    height:64px;

    margin:0 auto 16px;

    border-radius:50%;

    background:#fff;

    box-shadow:0 8px 24px rgba(0,0,0,.08);

    display:flex;

    justify-content:center;

    align-items:center;

}

.process-icon i{

    font-size:28px;

    color:#e53935;

}

.process-item h3{

    font-size:18px;

    font-weight:700;

    margin-bottom:8px;

    color:#222;

}

.process-item p{

    font-size:14px;

    line-height:1.6;

    color:#777;

}

.process-arrow{

    margin-top:22px;

    color:#d6d6d6;

    font-size:24px;

}

@media(max-width:900px){

    .consult-process{

        flex-direction:column;

        align-items:center;

    }

    .process-arrow{

        transform:rotate(90deg);

        margin:0;

    }

}

/* ===========================
   ACADEMY HERO
=========================== */

.academy-hero{

    padding:90px 20px;

    background:#f8fafc;

    text-align:center;

}

.academy-hero-content{

    max-width:900px;

    margin:auto;

}

.academy-badge{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:10px 22px;

    border-radius:999px;

    background:#fdecec;

    color:#e63946;

    font-size:14px;

    font-weight:700;

    margin-bottom:30px;

}

.academy-hero h1{

    font-size:64px;

    font-weight:800;

    color:#1f2937;

    margin-bottom:30px;

}

.academy-desc{

    font-size:30px;

    font-weight:700;

    line-height:1.6;

    color:#374151;

    margin-bottom:30px;

}

.academy-sub{

    font-size:20px;

    line-height:1.9;

    color:#6b7280;

    max-width:820px;

    margin:0 auto;

}

@media(max-width:768px){

    .academy-hero{

        padding:70px 20px;

    }

    .academy-hero h1{

        font-size:44px;

    }

    .academy-desc{

        font-size:24px;

    }

    .academy-sub{

        font-size:17px;

    }

}

/* ===========================
   PHILOSOPHY
=========================== */

.academy-philosophy{

    padding:90px 20px;

}

.philosophy-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

    margin-top:55px;

}

.philosophy-card{

    background:#fff;

    border-radius:24px;

    padding:40px 28px;

    text-align:center;

    box-shadow:0 12px 28px rgba(0,0,0,.08);

    transition:.3s;

}

.philosophy-card:hover{

    transform:translateY(-8px);

}

.philosophy-card .icon{

    font-size:54px;

    margin-bottom:20px;

}

.philosophy-card h3{

    font-size:24px;

    margin-bottom:15px;

}

.philosophy-card p{

    line-height:1.8;

    color:#666;

}

@media(max-width:900px){

    .academy-hero h1{

        font-size:38px;

    }

    .academy-desc{

        font-size:18px;

    }

    .philosophy-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .philosophy-grid{

        grid-template-columns:1fr;

    }

}

/* ===========================
   WHY READING
=========================== */

.why-reading{

    padding:100px 20px;

    background:#fff;

}

.why-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

    margin-top:60px;

}

.why-image img{

    width:100%;

    border-radius:28px;

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.why-item{

    display:flex;

    gap:22px;

    margin-bottom:35px;

}

.why-number{

    width:58px;

    height:58px;

    flex-shrink:0;

    border-radius:50%;

    background:#e63946;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:800;

}

.why-item h3{

    margin-bottom:10px;

    font-size:22px;

}

.why-item p{

    color:#666;

    line-height:1.8;

}

/* ===========================
   FEATURE
=========================== */

.academy-feature{

    padding:100px 20px;

}

.feature-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

    margin-top:60px;

}

.feature-card{

    background:#fff;

    padding:40px 30px;

    border-radius:24px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.feature-card:hover{

    transform:translateY(-8px);

}

.feature-icon{

    font-size:54px;

    margin-bottom:18px;

}

.feature-card h3{

    margin-bottom:12px;

    font-size:24px;

}

.feature-card p{

    color:#666;

    line-height:1.8;

}

@media(max-width:900px){

    .why-grid{

        grid-template-columns:1fr;

    }

    .feature-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .feature-grid{

        grid-template-columns:1fr;

    }

}

/* ===========================
   CURRICULUM HERO
=========================== */

.curriculum-hero{

    background:#f8fafc;
    padding:80px 20px;

}

.curriculum-hero-content{

    max-width:820px;
    margin:auto;
    text-align:center;

}

.curriculum-badge{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:8px 18px;

    border-radius:999px;

    background:#ffe8ea;

    color:#e63946;

    font-size:14px;
    font-weight:700;

    margin-bottom:24px;

}

.curriculum-hero h1{

    font-size:48px;
    font-weight:800;

    color:#222;

    margin-bottom:24px;

}

.curriculum-desc{

    font-size:34px;
    font-weight:700;

    line-height:1.5;

    color:#222;

    margin-bottom:24px;

}

.curriculum-sub{

    font-size:18px;

    line-height:1.9;

    color:#666;

}


/* ===========================
   MOBILE
=========================== */

@media(max-width:768px){

.curriculum-hero{

    padding:60px 20px;

}

.curriculum-hero h1{

    font-size:34px;

}

.curriculum-desc{

    font-size:24px;

}

.curriculum-sub{

    font-size:16px;
    line-height:1.8;

}

}

/* ===========================
   LEARNING SYSTEM
=========================== */

.learning-system{

    padding:100px 20px;

}

.learning-flow{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:25px;

    margin-top:70px;

    margin-bottom:80px;

    flex-wrap:wrap;

}

.flow-card{

    width:240px;

    background:#fff;

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    box-shadow:0 15px 35px rgba(0,0,0,.06);

    transition:.3s;

}

.flow-card:hover{

    transform:translateY(-8px);

}

.flow-number{

    color:#e63946;

    font-weight:700;

    margin-bottom:15px;

}

.flow-icon{

    font-size:50px;

    margin-bottom:20px;

}

.flow-card h3{

    margin-bottom:15px;

    font-size:20px;

}

.flow-card p{

    color:#666;

    line-height:1.7;

}

.flow-arrow{

    font-size:34px;

    color:#e63946;

    font-weight:bold;

}

.system-box{

    background:#f8fafc;

    border-radius:24px;

    padding:60px 40px;

}

.system-box h3{

    text-align:center;

    margin-bottom:45px;

    font-size:28px;

}

.system-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.system-item{

    background:white;

    border-radius:18px;

    padding:30px;

    text-align:center;

}

.system-item span{

    font-size:40px;

}

.system-item h4{

    margin:18px 0 10px;

}

.system-item p{

    color:#777;

}

/* ===========================
   READING ROADMAP
=========================== */

.reading-roadmap{

    padding:110px 20px;

    background:#fff;

}

.roadmap-list{

    max-width:900px;

    margin:70px auto 0;

}

.road-item{

    display:flex;

    gap:30px;

    align-items:flex-start;

}

.road-icon{

    width:90px;

    height:90px;

    border-radius:50%;

    background:#e63946;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:40px;

    flex-shrink:0;

}

.road-content{

    flex:1;

    background:#f8fafc;

    padding:35px;

    border-radius:20px;

}

.road-step{

    display:inline-block;

    color:#e63946;

    font-weight:bold;

    margin-bottom:10px;

}

.road-content h3{

    margin-bottom:15px;

    font-size:28px;

}

.road-content p{

    color:#555;

    line-height:1.8;

}

.road-books{

    margin-top:25px;

}

.road-books strong{

    display:block;

    margin-bottom:12px;

}

.road-books ul{

    margin:0;

    padding-left:20px;

    line-height:2;

}

.road-note{

    margin-top:20px;

    background:#fff7f7;

    border-left:4px solid #e63946;

    padding:18px;

    border-radius:10px;

    line-height:1.8;

}

.road-line{

    width:4px;

    height:60px;

    background:#e63946;

    margin:0 43px 0;

}

@media(max-width:768px){

    .road-item{

        flex-direction:column;

    }

    .road-line{

        margin:25px auto;

    }

    .road-icon{

        margin:auto;

    }

}

/* ===========================
   AR ROADMAP
=========================== */

.ar-roadmap{

    padding:100px 20px;

    background:#f8fafc;

}

.ar-levels{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

    margin-top:70px;

}

.ar-card{

    width:220px;

    background:#fff;

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.3s;

}

.ar-card:hover{

    transform:translateY(-8px);

}

.level{

    display:inline-block;

    background:#e63946;

    color:white;

    padding:8px 18px;

    border-radius:999px;

    font-size:14px;

    font-weight:700;

    margin-bottom:20px;

}

.ar-card h3{

    margin-bottom:18px;

    font-size:22px;

}

.ar-card p{

    color:#666;

    line-height:1.8;

}

.arrow{

    font-size:34px;

    color:#e63946;

    font-weight:bold;

}

@media(max-width:768px){

    .ar-levels{

        flex-direction:column;

    }

    .arrow{

        transform:rotate(90deg);

    }

}

/* ===========================
   NOTICE PAGE
=========================== */

.notice-page{

    padding:80px 20px 100px;

}


/* ===========================
   NOTICE HEADER
=========================== */

.notice-header{

    text-align:center;

    margin-bottom:60px;

}

.notice-badge{

    display:inline-block;

    background:#e63946;
    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:13px;
    font-weight:700;

    letter-spacing:1px;

    margin-bottom:20px;

}

.notice-header h1{

    margin:0;

    font-size:46px;
    line-height:1.25;
    font-weight:800;

    color:#222;

}

.notice-header p{

    margin:18px 0 0;

    font-size:17px;
    line-height:1.7;

    color:#777;

}


/* ===========================
   NOTICE LIST
=========================== */

.notice-list{

    max-width:1000px;

    margin:0 auto;

    border-top:2px solid #222;

}


/* ===========================
   NOTICE ITEM
=========================== */

.notice-item{

    display:grid;

    grid-template-columns:130px 1fr 30px;

    align-items:center;

    gap:30px;

    padding:28px 10px;

    border-bottom:1px solid #e8e8e8;

    text-decoration:none;

    color:inherit;

    transition:all .2s ease;

}

.notice-item:hover{

    background:#fafafa;

    padding-left:18px;
    padding-right:18px;

}


/* ===========================
   DATE
=========================== */

.notice-date{

    font-size:14px;

    font-weight:600;

    color:#999;

}


/* ===========================
   CONTENT
=========================== */

.notice-content{

    min-width:0;

}

.notice-meta{

    margin-bottom:7px;

}

.notice-category{

    display:inline-block;

    font-size:12px;

    font-weight:700;

    color:#e63946;

}

.notice-content h2{

    margin:0;

    font-size:20px;

    font-weight:700;

    color:#222;

    line-height:1.4;

}

.notice-content p{

    margin:7px 0 0;

    font-size:14px;

    color:#888;

    line-height:1.5;

}


/* ===========================
   ARROW
=========================== */

.notice-arrow{

    font-size:14px;

    color:#bbb;

    transition:.2s;

}

.notice-item:hover .notice-arrow{

    color:#e63946;

    transform:translateX(3px);

}


/* ===========================
   EMPTY
=========================== */

.notice-empty{

    padding:80px 20px;

    text-align:center;

    color:#aaa;

}

.notice-empty i{

    font-size:40px;

    margin-bottom:18px;

}

.notice-empty p{

    margin:0;

    font-size:15px;

}


/* ===========================
   MOBILE
=========================== */

@media (max-width:768px){

    .notice-page{

        padding:60px 20px 80px;

    }

    .notice-header{

        margin-bottom:40px;

    }

    .notice-header h1{

        font-size:36px;

    }

    .notice-header p{

        font-size:15px;

    }

    .notice-item{

        grid-template-columns:1fr 20px;

        gap:10px;

        padding:22px 5px;

    }

    .notice-date{

        grid-column:1 / -1;

        font-size:13px;

        margin-bottom:2px;

    }

    .notice-content h2{

        font-size:17px;

    }

    .notice-content p{

        font-size:13px;

    }

    .notice-item:hover{

        padding-left:10px;
        padding-right:10px;

    }

}

/* ===========================
   NOTICE FILTER
=========================== */

.notice-filter{

    display:flex;

    justify-content:center;
    align-items:center;

    gap:10px;

    max-width:1000px;

    margin:0 auto 35px;

}

.filter-btn{

    border:0;

    background:transparent;

    color:#777;

    padding:10px 18px;

    border-radius:30px;

    font-size:14px;
    font-weight:600;

    cursor:pointer;

    transition:.2s;

}

.filter-btn:hover{

    color:#e63946;

}

.filter-btn.active{

    background:#e63946;

    color:#fff;

}


/* ===========================
   FILTER MOBILE
=========================== */

@media (max-width:768px){

    .notice-filter{

        gap:5px;

        flex-wrap:wrap;

    }

    .filter-btn{

        padding:8px 13px;

        font-size:13px;

    }

}
/* ===========================
   NOTICE DETAIL
=========================== */

.notice-detail{

    max-width:900px;

    margin:0 auto;

    background:#fff;

    border-radius:24px;

    padding:60px 70px;

    box-shadow:0 10px 35px rgba(0,0,0,.06);

}


/* ===========================
   DETAIL HEADER
=========================== */

.notice-detail-header{

    padding-bottom:35px;

    border-bottom:1px solid #e5e5e5;

}

.notice-detail-header .notice-category{

    display:inline-block;

    margin-bottom:15px;

    font-size:13px;

    font-weight:700;

    color:#e63946;

}

.notice-detail-header h1{

    margin:0;

    font-size:36px;

    line-height:1.35;

    font-weight:800;

    color:#222;

}

.notice-detail-date{

    margin-top:15px;

    font-size:14px;

    color:#999;

}


/* ===========================
   DETAIL CONTENT
=========================== */

.notice-detail-content{

    padding-top:40px;

    font-size:16px;

    line-height:1.9;

    color:#444;

}

.notice-detail-content p{

    margin:0 0 20px;

}

.notice-detail-content hr{

    margin:45px 0;

    border:0;

    border-top:1px solid #e5e5e5;

}

.notice-detail-content h2{

    margin:0 0 20px;

    font-size:24px;

    line-height:1.4;

    font-weight:800;

    color:#222;

}

.notice-detail-content h3{

    margin:0 0 15px;

    font-size:19px;

    line-height:1.5;

    font-weight:700;

    color:#222;

}


/* ===========================
   LIST
=========================== */

.notice-detail-content ul{

    margin:10px 0 25px;

    padding-left:22px;

}

.notice-detail-content li{

    margin-bottom:8px;

}


/* ===========================
   COURSE
=========================== */

.notice-course{

    padding:28px 30px;

    background:#fafafa;

    border-radius:16px;

    margin-top:25px;

}

.notice-week{

    margin-top:25px;

}

.notice-week strong{

    display:block;

    margin-bottom:10px;

    font-size:17px;

    color:#e63946;

}


/* ===========================
   BOOK
=========================== */

.notice-book{

    padding:28px 30px;

    margin-top:20px;

    background:#fafafa;

    border-radius:16px;

    border:1px solid #eee;

}

.notice-book h3{

    margin-bottom:10px;

}

.book-type{

    display:inline-block;

    padding:5px 12px;

    margin-bottom:15px;

    border-radius:20px;

    background:#fff0f1;

    color:#e63946;

    font-size:12px;

    font-weight:700;

}

.notice-book p{

    margin-bottom:12px;

}


/* ===========================
   CHECK LIST
=========================== */

.notice-check-list{

    list-style:none;

    padding:0 !important;

    margin:0 !important;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px 30px;

}

.notice-check-list li{

    margin:0;

    padding:12px 15px;

    background:#fafafa;

    border-radius:10px;

}


/* ===========================
   IMPORTANT
=========================== */

.notice-important{

    margin-top:35px;

    padding:25px 28px;

    background:#fff8f8;

    border-left:4px solid #e63946;

    border-radius:10px;

}

.notice-important p{

    margin:0 0 8px;

    font-size:14px;

    line-height:1.7;

    color:#666;

}

.notice-important p:last-child{

    margin-bottom:0;

}


/* ===========================
   DETAIL BOTTOM
=========================== */

.notice-detail-bottom{

    max-width:900px;

    margin:30px auto 0;

}

.notice-detail-bottom .back-btn{

    margin-bottom:0;

}


/* ===========================
   MOBILE
=========================== */

@media (max-width:768px){

    .notice-detail{

        padding:35px 25px;

        border-radius:18px;

    }

    .notice-detail-header h1{

        font-size:28px;

    }

    .notice-detail-content{

        padding-top:30px;

        font-size:15px;

        line-height:1.8;

    }

    .notice-detail-content h2{

        font-size:21px;

    }

    .notice-course,
    .notice-book{

        padding:22px 20px;

    }

    .notice-check-list{

        grid-template-columns:1fr;

    }

}

/* ===========================
   CONSULT COMPLETE
=========================== */

.consult-complete{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:60px 20px;
}

.consult-complete .container{
    width:100%;
    display:flex;
    justify-content:center;
}

.consult-complete-card{
    width:100%;
    max-width:650px;
    padding:70px 50px;
    background:#fff;
    border-radius:24px;
    text-align:center;
    box-shadow:0 10px 35px rgba(0,0,0,.06);
}

.complete-icon{
    width:70px;
    height:70px;
    margin:0 auto 25px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e63946;
    color:#fff;
    font-size:30px;
}

.consult-complete-card h1{
    margin:0;
    font-size:32px;
    font-weight:800;
    color:#222;
}

.complete-message{
    margin:18px 0 0;
    font-size:17px;
    line-height:1.8;
    color:#666;
}

.complete-info{
    margin:35px 0;
    padding:28px 20px;
    background:#fff8f8;
    border-radius:16px;
}

.complete-info h2{
    margin:0 0 15px;
    font-size:19px;
    font-weight:800;
    color:#222;
}

.complete-info strong{
    display:block;
    font-size:17px;
    color:#e63946;
}

.complete-info p{
    margin:15px 0 0;
    font-size:14px;
    line-height:1.7;
    color:#777;
}

.complete-thanks{
    margin:0;
    font-size:17px;
    line-height:1.8;
    color:#666;
}

.complete-home-btn{
    display:inline-block;
    margin-top:30px;
    padding:13px 25px;
    border-radius:30px;
    background:#e63946;
    color:#fff;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    transition:.2s;
}

.complete-home-btn:hover{
    opacity:.9;
}

@media (max-width:768px){

    .consult-complete{
        padding:40px 20px;
    }

    .consult-complete-card{
        padding:50px 25px;
        border-radius:20px;
    }

    .consult-complete-card h1{
        font-size:26px;
    }

    .complete-message{
        font-size:15px;
    }

    .complete-info strong{
        font-size:15px;
    }

}