@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');

:root{
    --gn-navy:#062757;
    --gn-navy-deep:#031b3e;
    --gn-blue:#0d5bd7;
    --gn-teal:#0b9aab;
    --gn-teal-light:#18b9c3;
    --gn-ink:#0a2149;
    --gn-muted:#63738b;
    --gn-line:#dfe7f1;
    --gn-soft:#f5f8fc;
    --gn-white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0 !important;background:#fff !important;color:var(--gn-ink);font-family:'Noto Sans KR','Malgun Gothic',sans-serif !important;}
a{text-decoration:none;color:inherit}
.gn-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.gn-skip:focus-within{left:10px;top:10px;width:auto;height:auto;z-index:9999;background:#fff;padding:10px;border-radius:8px}

/* HEADER */
.gn-header{position:relative;z-index:1000;width:100%;background:#fff;border-bottom:1px solid #e8eef5;box-shadow:0 2px 12px rgba(3,27,62,.05)}
.gn-header-inner{max-width:1440px;height:78px;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:30px}
.gn-brand{display:flex;align-items:center;min-width:225px}.gn-brand img{display:block;width:220px;height:auto;max-height:58px;object-fit:contain}
.gn-nav-wrap{flex:1}.gn-nav{display:flex;align-items:center;justify-content:center;gap:42px;margin:0;padding:0;list-style:none}
.gn-nav-trigger{border:0;background:transparent;color:#102a55;font-family:inherit;font-size:18px;font-weight:700;padding:27px 4px 24px;cursor:pointer;position:relative;white-space:nowrap}
.gn-nav-trigger:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:var(--gn-teal);transform:translateX(-50%);transition:.2s}
.gn-nav-trigger:hover:after,.gn-nav-trigger:focus:after{width:100%}.gn-chevron{font-size:14px;margin-left:5px}
.gn-user-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.gn-btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 18px;border-radius:9px;font-size:14px;font-weight:700}
.gn-btn-navy{background:var(--gn-navy);color:#fff}.gn-btn-teal{background:var(--gn-teal);color:#fff}.gn-btn-outline{border:1px solid var(--gn-navy);color:var(--gn-navy);background:#fff}.gn-btn-text{padding:0 6px;color:#58677d}
.gn-mobile-toggle{display:none;border:0;background:transparent;width:40px;height:40px;padding:8px}.gn-mobile-toggle span{display:block;height:2px;background:var(--gn-navy);margin:6px 0}

/* MEGA MENU */
.gn-mega{position:absolute;left:50%;top:78px;width:min(1320px,calc(100vw - 40px));transform:translateX(-50%) translateY(-8px);background:#fff;border:1px solid #e6edf5;border-radius:0 0 18px 18px;box-shadow:0 22px 48px rgba(3,27,62,.16);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;overflow:hidden}
.gn-mega.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.gn-mega-inner{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(340px,.9fr);padding:28px 34px 30px;gap:32px}
.gn-mega-smart{padding-right:30px;border-right:1px solid var(--gn-line)}
.gn-mega-title{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px;margin-bottom:15px;border-bottom:1px solid var(--gn-line)}.gn-mega-title strong{display:block;font-size:17px;color:#102a55}.gn-mega-title small{display:block;margin-top:3px;color:#718096;font-size:12px}.gn-mega-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--gn-blue);background:#edf5ff;font-weight:800}
.gn-language-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.gn-language-col{padding:0 20px;border-right:1px solid var(--gn-line)}.gn-language-col:first-child{padding-left:0}.gn-language-col:last-child{border-right:0}.gn-language-col a{display:block;padding:7px 0;color:#52617a;font-size:14px}.gn-language-col a:hover{color:var(--gn-teal);font-weight:700}.gn-language-name{font-size:16px !important;font-weight:800;color:#102a55 !important;margin-bottom:5px}.gn-other-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:15px}
.gn-mega-side{display:grid;grid-template-columns:1fr 1fr;gap:26px}.gn-side-block+.gn-side-block{border-left:1px solid var(--gn-line);padding-left:26px}.gn-side-block>a{display:block;padding:10px 2px;color:#31445f;font-size:14px}.gn-side-block>a:hover{color:var(--gn-teal);font-weight:700}

/* HERO */
.gn-home{width:100%;overflow:hidden;background:#fff}.gn-hero{min-height:500px;display:grid;grid-template-columns:47% 53%;background:linear-gradient(100deg,#031b3e 0%,#062757 47%,#f8fbff 47.1%)}
.gn-hero-copy{padding:62px 8% 54px max(8%,calc((100vw - 1440px)/2 + 28px));position:relative;color:#fff;background-image:radial-gradient(circle at 78% 38%,rgba(40,171,224,.18) 0 1px,transparent 1.8px);background-size:16px 16px}
.gn-eyebrow{font-size:13px;letter-spacing:.22em;color:#c8d7eb;margin:0 0 20px}.gn-hero h1{font-size:50px;line-height:1.15;letter-spacing:-.05em;margin:0;font-weight:800}.gn-hero h1 span{color:var(--gn-teal-light)}.gn-hero-lead{font-size:20px;font-weight:600;margin:18px 0 12px}.gn-hero-rule{width:46px;height:2px;background:var(--gn-teal-light);margin:18px 0}.gn-hero-sub{font-size:15px;line-height:1.7;color:#d7e3f1;margin:0 0 22px}.gn-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.gn-hero-btn{height:48px;padding:0 22px;border-radius:8px;display:inline-flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.gn-hero-btn-outline{color:#fff;border:1px solid rgba(255,255,255,.65)}.gn-hero-btn-teal{background:linear-gradient(135deg,var(--gn-teal),#10b2bd);color:#fff}.gn-hero-visual{min-height:500px;background:url('/img/renewal/hero-visual.jpg') center center/cover no-repeat;position:relative}.gn-hero-visual:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:120px;background:linear-gradient(100deg,#062757 0 49%,transparent 50%);clip-path:ellipse(65% 80% at 0% 50%);opacity:.92}

/* TRUST */
.gn-trust-strip{position:relative;z-index:2;width:min(1400px,calc(100% - 80px));margin:-42px auto 50px;background:#fff;border:1px solid #e5ebf3;border-radius:18px;box-shadow:0 14px 36px rgba(2,35,80,.12);display:grid;grid-template-columns:repeat(5,1fr);padding:22px 12px}.gn-trust-item{display:flex;align-items:center;gap:13px;padding:2px 22px;border-right:1px solid var(--gn-line)}.gn-trust-item:last-child{border-right:0}.gn-trust-symbol{width:44px;height:44px;border-radius:50%;background:#eef6ff;color:var(--gn-teal);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;flex:none}.gn-trust-item strong{display:block;font-size:14px}.gn-trust-item small{display:block;color:#7a879b;margin-top:4px;font-size:11px}

/* SECTIONS */
.gn-smart-section{max-width:1340px;margin:0 auto;padding:10px 30px 55px}.gn-section-head{text-align:center;margin-bottom:28px}.gn-section-head p{font-size:12px;letter-spacing:.18em;color:var(--gn-teal);font-weight:800;margin:0 0 5px}.gn-section-head h2{font-size:30px;margin:0 0 7px;color:#0a2857}.gn-section-head span{color:#6d7b8f;font-size:14px}.gn-smart-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gn-smart-card{border:1px solid #dfe7f1;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(3,27,62,.06)}.gn-card-top{height:112px;padding:25px 24px;background:linear-gradient(135deg,#0d5bd7,#5da6ef);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.gn-card-top:after{content:"";position:absolute;width:130px;height:130px;border:1px solid rgba(255,255,255,.24);border-radius:50%;right:-36px;top:-46px}.gn-card-chinese{background:linear-gradient(135deg,#0a4179,#0b9aab)}.gn-card-japanese{background:linear-gradient(135deg,#0b507b,#72a9d6)}.gn-card-other{background:linear-gradient(135deg,#0b315e,#7b9fc7)}.gn-card-top strong{font-size:22px}.gn-card-top small{font-size:12px;opacity:.85;margin-top:2px}.gn-card-links{padding:14px 20px 18px}.gn-card-links>a{display:flex;justify-content:space-between;padding:10px 2px;border-bottom:1px solid #edf1f6;font-size:14px}.gn-card-links>a:last-child{border-bottom:0}.gn-card-links>a:hover{color:var(--gn-teal)}.gn-card-language-list{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}.gn-card-language-list>a{display:block}
.gn-service-row{max-width:1340px;margin:0 auto 38px;padding:0 30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.gn-service-card{min-height:170px;border-radius:18px;background:linear-gradient(135deg,#eff7ff,#fff);border:1px solid #dce8f6;padding:30px;display:flex;justify-content:space-between;align-items:flex-end}.gn-service-card p{font-size:11px;letter-spacing:.16em;color:var(--gn-teal);font-weight:800;margin:0}.gn-service-card h3{font-size:22px;margin:5px 0 10px}.gn-service-card span{color:#66758b;font-size:13px;line-height:1.7}.gn-service-card>a{font-size:13px;font-weight:700;color:#0d4da8;white-space:nowrap}

/* DAILY */
.gn-daily{max-width:1340px;min-height:180px;margin:0 auto 48px;border:1px solid #e0e8f2;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(3,27,62,.06);display:grid;grid-template-columns:36% 38% 26%;overflow:hidden}.gn-daily-character{background:url('/img/renewal/chloe-strip.jpg') center 42%/cover no-repeat;min-height:180px}.gn-daily-copy{padding:28px 30px;border-left:1px solid #edf1f5}.gn-daily-copy p{color:var(--gn-teal);font-size:11px;font-weight:800;margin:0 0 5px}.gn-daily-copy h2{font-size:24px;margin:0 0 8px;color:#0b2d61}.gn-daily-copy h2 span{font-size:16px;font-weight:600}.gn-daily-copy small{display:block;color:#6e7d91;margin-bottom:15px}.gn-daily-copy a{display:inline-block;border:1px solid #cbd8e8;border-radius:7px;padding:8px 13px;color:#24436c;font-size:12px}.gn-daily-phrase{align-self:center;margin-right:28px;padding:18px 62px 18px 22px;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(3,27,62,.1);position:relative}.gn-daily-phrase strong{display:block;font-size:17px}.gn-daily-phrase span{display:block;color:#68778d;margin-top:4px;font-size:13px}.gn-daily-phrase button{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:var(--gn-teal);color:#fff;cursor:pointer}

/* FOOTER */
.gn-footer{background:linear-gradient(135deg,#031b3e,#062757);color:#fff;margin-top:0}.gn-footer-links{max-width:1340px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(255,255,255,.14)}.gn-footer-links>a{padding:26px 32px;border-right:1px solid rgba(255,255,255,.12)}.gn-footer-links>a:last-child{border-right:0}.gn-footer-links strong{display:block;font-size:15px}.gn-footer-links span{display:block;font-size:11px;color:#b8c8dd;margin-top:5px}.gn-footer-bottom{max-width:1340px;margin:0 auto;padding:30px 32px 34px;display:grid;grid-template-columns:260px 1fr;gap:40px}.gn-footer-brand{font-size:20px;font-weight:800}.gn-footer-brand span{display:block;font-size:12px;letter-spacing:.28em;color:#b8c8dd;margin-top:7px}.gn-footer-info{font-size:11px;line-height:1.9;color:#b8c8dd}.gn-footer-info p{margin:0}.gn-footer-info a{color:#d8e4f2}

/* Keep legacy sub pages usable while modern header/footer are applied */
.sub_contents{max-width:1120px !important;width:calc(100% - 40px) !important}.title_wrap{max-width:960px}

@media(max-width:1100px){
    .gn-header-inner{padding:0 20px;gap:16px}.gn-brand{min-width:190px}.gn-brand img{width:190px}.gn-nav{gap:20px}.gn-nav-trigger{font-size:15px}.gn-mega-inner{grid-template-columns:1fr}.gn-mega-smart{border-right:0;padding-right:0}.gn-mega-side{border-top:1px solid var(--gn-line);padding-top:22px}.gn-trust-strip{grid-template-columns:repeat(3,1fr)}.gn-trust-item:nth-child(3){border-right:0}.gn-smart-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
    .gn-header-inner{height:auto;min-height:68px;flex-wrap:wrap}.gn-brand{min-width:auto;flex:1}.gn-brand img{width:180px}.gn-mobile-toggle{display:block}.gn-nav-wrap,.gn-user-actions{display:none;width:100%}.gn-nav-wrap.is-mobile-open,.gn-user-actions.is-mobile-open{display:block}.gn-nav{display:block;padding:8px 0}.gn-nav-trigger{width:100%;text-align:left;padding:12px 0}.gn-user-actions{padding-bottom:14px}.gn-user-actions.is-mobile-open{display:flex}.gn-mega{position:static;transform:none !important;width:100%;border-radius:0;box-shadow:none;display:none}.gn-mega.is-open{display:block}.gn-mega-inner{padding:20px}.gn-language-grid{grid-template-columns:1fr 1fr;row-gap:20px}.gn-language-col:nth-child(2){border-right:0}.gn-mega-side{grid-template-columns:1fr 1fr}.gn-hero{grid-template-columns:1fr;background:var(--gn-navy-deep)}.gn-hero-copy{padding:48px 28px}.gn-hero h1{font-size:40px}.gn-hero-visual{min-height:330px}.gn-trust-strip{width:calc(100% - 30px);margin-top:-20px;grid-template-columns:1fr 1fr;padding:12px}.gn-trust-item{border-right:0;border-bottom:1px solid var(--gn-line);padding:14px}.gn-trust-item:last-child{border-bottom:0}.gn-service-row{grid-template-columns:1fr}.gn-daily{grid-template-columns:1fr}.gn-daily-character{min-height:230px}.gn-daily-copy{border-left:0}.gn-daily-phrase{margin:0 22px 24px}.gn-footer-links{grid-template-columns:1fr 1fr}.gn-footer-bottom{grid-template-columns:1fr}.gn-smart-section,.gn-service-row{padding-left:18px;padding-right:18px}
}
@media(max-width:520px){
    .gn-language-grid,.gn-mega-side,.gn-smart-cards,.gn-footer-links{grid-template-columns:1fr}.gn-language-col{padding:0 0 14px;border-right:0;border-bottom:1px solid var(--gn-line)}.gn-side-block+.gn-side-block{border-left:0;padding-left:0}.gn-hero h1{font-size:34px}.gn-hero-lead{font-size:17px}.gn-trust-strip{grid-template-columns:1fr}.gn-trust-item{border-bottom:1px solid var(--gn-line)}.gn-card-language-list{grid-template-columns:1fr 1fr}
}

/* ===== v2 final main / footer simplification ===== */
.gn-home{padding-bottom:0}
.gn-daily-home{margin-top:18px;margin-bottom:24px}
.gn-footer-quick{max-width:1340px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(255,255,255,.14)}
.gn-footer-quick>a{min-height:92px;padding:22px 24px;display:grid;grid-template-columns:46px 1fr 20px;align-items:center;gap:13px;color:#fff;border-right:1px solid rgba(255,255,255,.12)}
.gn-footer-quick>a:last-child{border-right:0}.gn-footer-quick>a:hover{background:rgba(255,255,255,.04)}
.gn-footer-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.24);font-size:18px;font-weight:800}
.gn-footer-quick strong{display:block;font-size:14px}.gn-footer-quick small{display:block;margin-top:4px;color:#b9cae0;font-size:11px}.gn-footer-quick b{font-size:18px;font-weight:400}
.gn-footer-main{max-width:1340px;margin:0 auto;padding:30px 28px 22px;display:grid;grid-template-columns:230px 1fr;gap:42px}
.gn-footer-brand-block img{width:205px;filter:brightness(0) invert(1);opacity:.96}
.gn-footer-columns{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.gn-footer-columns strong{display:block;font-size:13px;margin-bottom:10px}.gn-footer-columns a{display:block;color:#b9cae0;font-size:11px;line-height:1.9}.gn-footer-columns a:hover{color:#fff}
.gn-footer-legal{max-width:1340px;margin:0 auto;padding:18px 28px 30px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;line-height:1.8;color:#9fb2ca}.gn-footer-legal p{margin:0}.gn-footer-legal a{color:#c9d6e6}.gn-copyright{margin-top:7px!important}
/* hide obsolete footer styles if cached */
.gn-footer-links,.gn-footer-bottom{display:none!important}

/* ===== shared subpage design system ===== */
.gn-sub-page{max-width:1240px;margin:0 auto;padding:38px 28px 70px}.gn-breadcrumb{display:flex;gap:8px;align-items:center;color:#7b889b;font-size:12px;margin-bottom:22px}.gn-breadcrumb a{color:#526781}.gn-breadcrumb strong{color:#163761}
.gn-sub-hero{background:linear-gradient(120deg,#edf7ff,#fff);border:1px solid #e1ebf6;border-radius:20px;padding:36px 42px;margin-bottom:30px}.gn-sub-hero h1{margin:0 0 8px;color:#082b5f;font-size:34px;letter-spacing:-.04em}.gn-sub-hero p{margin:0;color:#66788d;line-height:1.7}
.gn-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.gn-filter-bar a,.gn-filter-bar button{border:1px solid #cfdaea;background:#fff;border-radius:999px;padding:10px 18px;color:#38506e;font-size:13px}.gn-filter-bar .is-active{background:#082e66;color:#fff;border-color:#082e66}
.gn-course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gn-course-card{border:1px solid #dde7f1;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 7px 22px rgba(4,32,72,.06)}.gn-course-card-media{aspect-ratio:16/9;background:linear-gradient(135deg,#0c376d,#2e87d5);position:relative}.gn-course-card-body{padding:17px}.gn-course-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.gn-course-tag{font-size:10px;color:#087f91;border:1px solid #a9d9df;border-radius:5px;padding:3px 6px}.gn-course-card h3{font-size:17px;color:#122f59;margin:0 0 7px}.gn-course-card p{font-size:12px;color:#6f7e90;line-height:1.6;min-height:38px}.gn-course-actions{display:flex;gap:7px;margin-top:14px}.gn-course-actions a{flex:1;text-align:center;border:1px solid #bdcbe0;border-radius:7px;padding:9px 8px;font-size:11px;color:#193d70}.gn-course-actions .sample{background:#0b929f;color:#fff;border-color:#0b929f}
.gn-detail-head{display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:42px;align-items:start}.gn-detail-media{aspect-ratio:16/10;border-radius:17px;background:linear-gradient(135deg,#0a346a,#2b86cc);overflow:hidden}.gn-detail-info h1{font-size:34px;color:#0a2c61;margin:10px 0 12px}.gn-detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.gn-detail-meta div{background:#f6f9fd;border-radius:11px;padding:14px;font-size:11px;color:#62738a}.gn-detail-meta strong{display:block;color:#163761;font-size:13px;margin-bottom:4px}.gn-detail-actions{display:flex;gap:10px}.gn-detail-actions a{display:inline-flex;justify-content:center;align-items:center;min-width:180px;padding:14px 18px;border-radius:9px;font-weight:700}.gn-detail-actions .sample{border:1px solid #92abd0;color:#123b78}.gn-detail-actions .apply{background:#073d91;color:#fff}
.gn-content-section{border-top:1px solid #e5ebf2;padding:30px 0}.gn-content-section h2{font-size:22px;color:#102f5c;margin:0 0 15px}.gn-info-table{width:100%;border-collapse:collapse;border:1px solid #dce5ef}.gn-info-table th,.gn-info-table td{padding:13px 15px;border:1px solid #dce5ef;text-align:left;font-size:12px}.gn-info-table th{background:#f1f6fc;color:#163761}
.gn-price-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:28px}.gn-price-tabs button{height:54px;border:1px solid #cfdaea;background:#fff;color:#38506e;font-size:15px}.gn-price-tabs button.is-active{background:#0a3f95;color:#fff;border-color:#0a3f95}.gn-price-placeholder{border:1px dashed #9eb1c8;border-radius:15px;padding:38px;text-align:center;color:#6e7e92;background:#f9fbfe}
.gn-lounge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gn-lounge-card{min-height:280px;border-radius:18px;padding:25px;border:1px solid #dfe8f3;background:#f7fbff}.gn-lounge-card:nth-child(1){background:#f1faf4}.gn-lounge-card:nth-child(2){background:#f7f4ff}.gn-lounge-card:nth-child(3){background:#fff8ef}.gn-lounge-card:nth-child(4){background:#f3f8ff}.gn-lounge-card h3{font-size:23px;color:#123568;margin:45px 0 10px}.gn-lounge-card p{font-size:12px;color:#6c7a8e;line-height:1.6}.gn-lounge-card a{display:inline-block;margin-top:24px;border:1px solid #9fb2cf;border-radius:8px;padding:9px 14px;font-size:12px;color:#153e79}

@media(max-width:1000px){.gn-footer-main{grid-template-columns:1fr}.gn-footer-columns{grid-template-columns:repeat(3,1fr)}.gn-course-grid,.gn-lounge-grid{grid-template-columns:repeat(2,1fr)}.gn-detail-head{grid-template-columns:1fr}.gn-detail-meta{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.gn-footer-quick{grid-template-columns:1fr 1fr}.gn-footer-quick>a:nth-child(2){border-right:0}.gn-sub-page{padding:28px 18px 50px}.gn-sub-hero{padding:27px 22px}.gn-sub-hero h1{font-size:28px}.gn-footer-columns{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gn-footer-quick,.gn-footer-columns,.gn-course-grid,.gn-lounge-grid{grid-template-columns:1fr}.gn-footer-quick>a{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.gn-detail-meta{grid-template-columns:1fr}.gn-detail-actions{flex-direction:column}.gn-detail-actions a{width:100%}.gn-price-tabs{grid-template-columns:1fr}.gn-daily-home{margin-left:14px;margin-right:14px}.gn-footer-main{padding-left:20px;padding-right:20px}}

/* ===== v2.1 legacy smart-learning list/detail live styling ===== */
.local_navi_wrap{max-width:1240px!important;width:calc(100% - 56px)!important;margin:24px auto 0!important;padding:0!important;background:transparent!important}
.local_navi{display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:0!important;list-style:none!important;color:#7c8b9e!important;font-size:12px!important}
.local_navi img{display:none!important}.local_navi a{color:#61758e!important}.last_local{color:#153a6d!important;font-weight:700!important}
.title_wrap{max-width:1240px!important;width:calc(100% - 56px)!important;margin:14px auto 26px!important;padding:30px 36px!important;border:1px solid #e1eaf4!important;border-radius:20px!important;background:linear-gradient(120deg,#eef7ff 0%,#fff 72%)!important;min-height:0!important;float:none!important}
.title_wrap>.title,.title_wrap>.bodytitle,.title_wrap>.text{display:none!important}.gn-legacy-heading{display:block!important}.gn-legacy-kicker{display:block;color:#0a8c9d;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:6px}.gn-legacy-heading h1{margin:0;color:#082d62;font-size:34px;line-height:1.25;letter-spacing:-.04em}
.content{max-width:1240px!important;width:calc(100% - 56px)!important;margin:0 auto 70px!important;padding:0!important;float:none!important}
.content .meun{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 24px!important;padding:0!important;list-style:none!important;height:auto!important;overflow:visible!important}
.content .meun li{float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:none!important}
.content .meun a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:120px!important;height:42px!important;padding:0 18px!important;border:1px solid #cedaea!important;border-radius:999px!important;background:#fff!important;color:#36516f!important;font-size:13px!important;font-weight:700!important}
.content .meun a:hover{border-color:#0b8e9e!important;color:#087c8a!important}.content .meun a img{display:none!important}.content .meun li:first-child a{background:#082f68!important;color:#fff!important;border-color:#082f68!important}.gn-legacy-tab-label{display:inline!important}
.certificate_wrap{padding:0!important;margin:0!important;width:100%!important;float:none!important}.certificate_wrap.pt30{padding-top:0!important}
.course_wrap.gn-legacy-course-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
.course_wrap.gn-legacy-course-list>.course_box{display:flex!important;flex-direction:column!important;float:none!important;width:auto!important;height:auto!important;min-height:330px!important;margin:0!important;padding:0 0 16px!important;border:1px solid #dde7f1!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(5,38,78,.07)!important;overflow:hidden!important;list-style:none!important;position:relative!important}
.gn-legacy-course-list .course_img_s{display:block!important;width:100%!important;height:160px!important;margin:0 0 15px!important;padding:0!important;background:#eef4fa!important;overflow:hidden!important;text-align:center!important}
.gn-legacy-course-list .course_img_s img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border:0!important}
.gn-legacy-course-list .course_title{order:2!important;min-height:52px!important;margin:0!important;padding:0 16px 8px!important;font-size:16px!important;line-height:1.45!important;font-weight:800!important;color:#102f5d!important}
.gn-legacy-course-list .course_title a{color:#102f5d!important}.gn-legacy-course-list .course_title a:hover{color:#0b8795!important}
.gn-legacy-course-list .course_teacher,.gn-legacy-course-list .course_step,.gn-legacy-course-list .course_day{order:3!important;margin:0!important;padding:3px 16px!important;font-size:11px!important;line-height:1.55!important;color:#6d7d90!important;min-height:0!important;background:none!important}
.gn-legacy-course-list .course_teacher img,.gn-legacy-course-list .course_step img,.gn-legacy-course-list .course_day img{display:none!important}
.gn-legacy-course-list .course_step:before{content:'LEVEL ';font-size:9px;font-weight:800;color:#0b8f9f;margin-right:5px;letter-spacing:.04em}
.gn-legacy-course-list .course_teacher:before{content:'강사 ';font-weight:700;color:#34506f;margin-right:5px}.gn-legacy-course-list .course_day:before{content:'학습기간 ';font-weight:700;color:#34506f;margin-right:5px}
.gn-legacy-course-list .btn_sample{order:4!important;margin-top:auto!important;padding:12px 16px 0!important;width:auto!important;height:auto!important;background:none!important}
.gn-legacy-course-list .btn_sample a{display:flex!important;align-items:center!important;justify-content:center!important;height:38px!important;border-radius:8px!important;background:#0b929f!important;color:#fff!important;font-size:12px!important;font-weight:800!important}.gn-legacy-course-list .btn_sample a:hover{background:#087c87!important}.gn-legacy-course-list .btn_sample img{display:none!important}.gn-sample-label{display:inline!important}

/* legacy detail pages */
.course_wrap.gn-legacy-course-detail{width:100%!important;margin:0!important;padding:0!important}.gn-legacy-course-detail>.course_box_view{display:grid!important;grid-template-columns:220px 1fr!important;grid-template-areas:'media title' 'media teacher' 'media step' 'media day' 'media sample'!important;gap:6px 30px!important;width:100%!important;min-height:250px!important;margin:0 0 24px!important;padding:26px!important;border:1px solid #dde7f1!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(5,38,78,.06)!important;list-style:none!important;overflow:hidden!important}
.gn-legacy-course-detail .course_img_s{grid-area:media!important;width:220px!important;height:150px!important;margin:0!important;padding:0!important;border-radius:12px!important;overflow:hidden!important;background:#eef4fa!important}.gn-legacy-course-detail .course_img_s img{width:100%!important;height:100%!important;object-fit:cover!important}
.gn-legacy-course-detail .course_title{grid-area:title!important;margin:0!important;padding:4px 0 8px!important;font-size:28px!important;line-height:1.35!important;font-weight:800!important;color:#0d315f!important}.gn-legacy-course-detail .course_title br{display:none!important}.gn-legacy-course-detail .course_teacher{grid-area:teacher!important}.gn-legacy-course-detail .course_step{grid-area:step!important}.gn-legacy-course-detail .course_day{grid-area:day!important}.gn-legacy-course-detail .course_teacher,.gn-legacy-course-detail .course_step,.gn-legacy-course-detail .course_day{margin:0!important;padding:2px 0!important;font-size:12px!important;color:#6b7b8f!important}.gn-legacy-course-detail .course_teacher img,.gn-legacy-course-detail .course_step img,.gn-legacy-course-detail .course_day img{display:none!important}.gn-legacy-course-detail .btn_sample{grid-area:sample!important;margin:8px 0 0!important;width:auto!important;height:auto!important}.gn-legacy-course-detail .btn_sample a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:150px!important;height:42px!important;padding:0 18px!important;border:1px solid #0b929f!important;border-radius:8px!important;background:#0b929f!important;color:#fff!important;font-size:12px!important;font-weight:800!important}.gn-legacy-course-detail .btn_sample img{display:none!important}
.gn-legacy-course-detail .course_tab{display:flex!important;gap:8px!important;margin:0 0 22px!important;padding:0!important;list-style:none!important;height:auto!important}.gn-legacy-course-detail .course_tab li{float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important}.gn-legacy-course-detail .course_tab a{display:flex!important;align-items:center!important;justify-content:center!important;min-width:135px!important;height:44px!important;padding:0 16px!important;border:1px solid #cedaea!important;border-radius:9px!important;background:#fff!important;color:#36516f!important;font-size:12px!important;font-weight:700!important}.gn-legacy-course-detail .course_tab a:hover{border-color:#0b8e9e!important;color:#087c8a!important}.gn-legacy-course-detail .course_tab img{display:none!important}
.course_list{width:100%!important;border-collapse:collapse!important;border:1px solid #dce5ef!important}.course_list th,.course_list td{padding:12px 14px!important;border:1px solid #dce5ef!important;font-size:12px!important;line-height:1.55!important}.course_list th{background:#f1f6fc!important;color:#173a68!important;font-weight:800!important}.course_list td{background:#fff!important;color:#52667e!important}

@media(max-width:1100px){.course_wrap.gn-legacy-course-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){.local_navi_wrap,.title_wrap,.content{width:calc(100% - 32px)!important}.title_wrap{padding:25px 22px!important}.gn-legacy-heading h1{font-size:28px!important}.course_wrap.gn-legacy-course-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gn-legacy-course-detail>.course_box_view{grid-template-columns:160px 1fr!important;grid-template-areas:'media title' 'media teacher' 'media step' 'media day' 'media sample'!important}.gn-legacy-course-detail .course_img_s{width:160px!important;height:115px!important}.gn-legacy-course-detail .course_title{font-size:22px!important}.gn-legacy-course-detail .course_tab{flex-wrap:wrap!important}}
@media(max-width:520px){.course_wrap.gn-legacy-course-list{grid-template-columns:1fr!important}.gn-legacy-course-list .course_img_s{height:190px!important}.gn-legacy-course-detail>.course_box_view{display:flex!important;flex-direction:column!important;padding:18px!important}.gn-legacy-course-detail .course_img_s{width:100%!important;height:auto!important;aspect-ratio:16/9!important}.gn-legacy-course-detail .course_title{font-size:21px!important}.gn-legacy-course-detail .course_tab a{min-width:calc(50vw - 30px)!important}.content .meun a{min-width:0!important;padding:0 14px!important}}

/* v2.2 smart-learning category filters */
.gn-course-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:4px 0}
.gn-course-filter button{appearance:none;border:1px solid #d9e2ee;background:#fff;color:#24364b;border-radius:999px;padding:9px 17px;font-size:14px;font-weight:700;cursor:pointer;transition:.18s ease}
.gn-course-filter button:hover,.gn-course-filter button.is-active{border-color:#1260b8;background:#1260b8;color:#fff}
.course_box{position:relative}
.gn-course-category-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 9px;border-radius:999px;background:#eaf4ff;color:#0d5eaa;font-size:12px;font-weight:700;margin:0 0 8px}
.gn-course-category-business .gn-course-category-badge{background:#e9f7f5;color:#08776f}
.gn-course-category-exam .gn-course-category-badge{background:#eef0ff;color:#4f59a8}
.gn-course-category-advanced .gn-course-category-badge{background:#edf4fb;color:#344d69}
@media(max-width:820px){.gn-course-filter{gap:6px}.gn-course-filter button{padding:8px 12px;font-size:13px}}

/* v2.3 subpage / tuition / lounge */
.gn-subpage{max-width:1320px;margin:0 auto;padding:26px 28px 70px}.gn-sub-breadcrumb{font-size:12px;color:#7b899b;margin:8px 0 22px}.gn-sub-breadcrumb span{padding:0 7px;color:#a8b3c0}.gn-sub-hero{border-radius:22px;padding:44px 46px;margin-bottom:28px;background:linear-gradient(135deg,#f4f9ff,#eef7f8);border:1px solid #e1eaf3}.gn-sub-hero h1{margin:4px 0 10px;font-size:34px;letter-spacing:-.04em;color:#082b5d}.gn-sub-hero p:last-child{margin:0;color:#66778c;line-height:1.7}.gn-kicker{margin:0!important;font-size:12px!important;letter-spacing:.18em!important;color:#0a929f!important;font-weight:800!important}.gn-price-section{background:#fff}.gn-price-tabs{display:flex;gap:8px;margin:0 0 22px}.gn-price-tabs button{border:1px solid #dbe4ef;background:#fff;color:#40536b;border-radius:999px;padding:11px 20px;font-weight:700;cursor:pointer}.gn-price-tabs button.is-active{background:#0b376d;border-color:#0b376d;color:#fff}.gn-price-panel{display:none}.gn-price-panel.is-active{display:block}.gn-price-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px}.gn-price-head h2{margin:0;font-size:23px;color:#102f5d}.gn-price-head p{margin:0;color:#7b8797;font-size:13px}.gn-price-table-wrap{overflow:auto;border:1px solid #dfe7f0;border-radius:16px}.gn-price-table{width:100%;border-collapse:collapse;min-width:650px}.gn-price-table th,.gn-price-table td{padding:16px 18px;border-bottom:1px solid #e7edf4;text-align:center}.gn-price-table th{background:#f4f8fc;color:#193d69;font-size:13px}.gn-price-table td{font-size:14px;color:#52657b}.gn-price-table tbody tr:last-child td{border-bottom:0}.gn-price-table strong{color:#0b376d}.gn-price-contact{border:1px solid #dfe7f0;border-radius:16px;padding:28px;display:flex;align-items:center;gap:18px}.gn-price-contact strong{font-size:17px;color:#17365f}.gn-price-contact span{color:#6b7a8c;margin-right:auto}.gn-price-note{margin-top:22px;padding:18px 20px;border-radius:12px;background:#f6f9fc;color:#64758a;display:flex;gap:14px;align-items:flex-start}.gn-price-note strong{color:#0b376d}.gn-price-note p{margin:0;line-height:1.6}.gn-lounge-hero{background:linear-gradient(135deg,#eef9f6,#f7f4ff 55%,#fff8ec)}.gn-lounge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gn-lounge-card{min-height:220px;border:1px solid #e0e8f1;border-radius:20px;padding:26px;background:#fff;box-shadow:0 9px 28px rgba(4,34,72,.06);transition:.18s}.gn-lounge-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(4,34,72,.1)}.gn-lounge-daily{background:linear-gradient(145deg,#f0fbf8,#fff)}.gn-lounge-icon{display:flex;width:44px;height:44px;border-radius:13px;background:#eaf5ff;color:#0d5bd7;align-items:center;justify-content:center;font-weight:800;margin-bottom:20px}.gn-lounge-card strong{display:block;font-size:19px;color:#0a2c5b}.gn-lounge-card em{display:block;font-style:normal;color:#0b929f;font-size:13px;font-weight:700;margin:4px 0 12px}.gn-lounge-card p{margin:0;color:#6a798b;line-height:1.65;font-size:13px}.gn-daily-detail{max-width:900px;margin:0 auto}.gn-daily-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#7a899c;font-size:13px}.gn-badge{padding:5px 10px;border-radius:999px;background:#e7f6f4;color:#078a93;font-weight:800;font-size:11px}.gn-daily-detail>h1{font-size:38px;margin:6px 0 26px;color:#082c5f}.gn-daily-sentence{border:1px solid #dfe8f2;border-radius:20px;background:#fff;padding:28px;display:flex;gap:18px;align-items:center;box-shadow:0 10px 30px rgba(4,34,72,.06)}.gn-audio-btn{width:50px;height:50px;border-radius:50%;border:0;background:#0a8f9d;color:#fff;font-size:18px;cursor:pointer}.gn-daily-sentence strong{display:block;font-size:24px;color:#0a2b59;margin-bottom:6px}.gn-daily-sentence span{color:#788698}.gn-daily-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.gn-daily-info-grid article{border:1px solid #e1e8f0;border-radius:16px;padding:22px;background:#fff}.gn-daily-info-grid h2{font-size:15px;margin:0 0 9px;color:#123865}.gn-daily-info-grid p{margin:0;color:#6b7a8b;line-height:1.7}.gn-chloe-tip{background:#f1faf8!important}.gn-daily-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.gn-content-placeholder{border:1px dashed #cdd9e6;border-radius:18px;padding:44px;text-align:center;background:#fafcff}.gn-content-placeholder strong{display:block;font-size:18px;color:#163b67;margin-bottom:8px}.gn-content-placeholder p{margin:0;color:#75859a}
@media(max-width:900px){.gn-lounge-grid{grid-template-columns:1fr 1fr}.gn-price-head{display:block}.gn-price-head p{margin-top:5px}.gn-price-contact{align-items:flex-start;flex-direction:column}.gn-price-contact span{margin-right:0}.gn-daily-info-grid{grid-template-columns:1fr}}
@media(max-width:600px){.gn-subpage{padding:18px 16px 50px}.gn-sub-hero{padding:30px 22px;border-radius:16px}.gn-sub-hero h1{font-size:28px}.gn-lounge-grid{grid-template-columns:1fr}.gn-price-tabs{overflow:auto;white-space:nowrap;padding-bottom:4px}.gn-price-tabs button{flex:none}.gn-daily-detail>h1{font-size:30px}.gn-daily-sentence{align-items:flex-start;padding:20px}.gn-daily-sentence strong{font-size:20px}.gn-daily-actions{justify-content:stretch}.gn-daily-actions .gn-btn{flex:1}}

/* v2.4 direct lounge entry pages */
.gn-direct-page{min-height:60vh;background:#fff;}

/* v2.5 customer center / FAQ / legacy board unification */
.gn-customer-page{max-width:1180px!important;margin:0 auto!important;padding:26px 28px 72px!important}
.gn-customer-page .local_navi_wrap{width:100%!important;margin:0 0 18px!important;padding:0!important}
.gn-customer-page .local_navi{margin:0!important;padding:0!important;display:flex!important;align-items:center!important;gap:7px!important;list-style:none!important;color:#7a899b!important;font-size:12px!important}
.gn-customer-page .local_navi img{display:none!important}.gn-customer-page .local_navi a{color:#6f8094!important}.gn-customer-page .last_local{color:#27486e!important;font-weight:700!important}
.gn-customer-page .title_wrap{width:100%!important;margin:0 0 24px!important;padding:35px 38px!important;border:1px solid #e2eaf3!important;border-radius:20px!important;background:linear-gradient(135deg,#f5f9fe,#eef8f8)!important;height:auto!important;min-height:0!important}
.gn-customer-page .title_wrap>.title,.gn-customer-page .title_wrap>.bodytitle,.gn-customer-page .title_wrap>.text{display:none!important}
.gn-customer-page .gn-legacy-heading{margin:0!important}.gn-customer-page .gn-legacy-kicker{display:block!important;margin:0 0 5px!important;color:#0a929f!important;font-size:12px!important;font-weight:800!important;letter-spacing:.17em!important}.gn-customer-page .gn-legacy-heading h1{margin:0!important;color:#0b2f61!important;font-size:32px!important;letter-spacing:-.04em!important}
.gn-customer-page .content{width:100%!important;margin:0!important;padding:0!important;min-height:0!important}
.gn-customer-page .content>.meun{display:flex!important;gap:8px!important;margin:0 0 22px!important;padding:0!important;list-style:none!important;height:auto!important;overflow:auto!important}
.gn-customer-page .content>.meun li{float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;flex:none!important}
.gn-customer-page .content>.meun li:empty{display:none!important}
.gn-customer-page .content>.meun a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:112px!important;height:40px!important;padding:0 16px!important;border:1px solid #dbe4ee!important;border-radius:999px!important;background:#fff!important;color:#41556d!important;font-size:13px!important;font-weight:700!important}
.gn-customer-page .content>.meun a:hover,.gn-customer-page .content>.meun a.gn-board-current{border-color:#0b376d!important;background:#0b376d!important;color:#fff!important}
.gn-customer-page .content>.meun img{display:none!important}.gn-customer-page .content>.meun .gn-legacy-tab-label{display:inline!important}
.gn-customer-page .con_wrap{width:100%!important;margin:0!important;padding:0!important;float:none!important}
.gn-customer-page .board_search_wrap{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;margin:0 0 16px!important;padding:0!important;height:auto!important;background:none!important}
.gn-customer-page .board_search_wrap .board_search{margin:0!important;padding:0!important}.gn-customer-page .board_search_wrap select,.gn-customer-page .board_search_wrap input[type=text]{height:40px!important;border:1px solid #d8e2ed!important;border-radius:9px!important;background:#fff!important;color:#40546c!important;padding:0 12px!important;font-family:inherit!important;font-size:13px!important}
.gn-customer-page .board_search_wrap input[type=text]{width:230px!important}.gn-customer-page .board_search_wrap .btn_big{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:40px!important;padding:0 18px!important;border-radius:9px!important;background:#0b376d!important;color:#fff!important;font-size:13px!important;font-weight:700!important}
.gn-customer-page .board_search_wrap .btn_big strong{font-weight:700!important}
.gn-customer-page .notice_tb{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #dfe7f0!important;border-radius:15px!important;overflow:hidden!important;background:#fff!important;table-layout:fixed!important}
.gn-customer-page .notice_tb caption{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.gn-customer-page .notice_tb th{height:48px!important;padding:0 14px!important;border:0!important;border-bottom:1px solid #dde6f0!important;background:#f3f7fb!important;color:#173c68!important;font-size:13px!important;font-weight:800!important;text-align:center!important}
.gn-customer-page .notice_tb td{height:52px!important;padding:11px 14px!important;border:0!important;border-bottom:1px solid #edf1f5!important;background:#fff!important;color:#68788c!important;font-size:13px!important;line-height:1.55!important}
.gn-customer-page .notice_tb tbody tr:last-child td{border-bottom:0!important}.gn-customer-page .notice_tb tbody tr:hover td{background:#fbfdff!important}.gn-customer-page .notice_tb td:nth-child(2){color:#304964!important}.gn-customer-page .notice_tb .subject{color:#243f5f!important;font-weight:600!important}.gn-customer-page .notice_tb .subject:hover{color:#087f8b!important}
.gn-customer-page .notice_tb img[alt="공지"]{display:none!important}.gn-customer-page .notice_tb td.notice:first-child:before{content:"공지";display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf5ff;color:#0b5fae;font-size:11px;font-weight:800}
.gn-customer-page .paginate{margin:24px 0 0!important;padding:0!important;text-align:center!important}.gn-customer-page .paginate a,.gn-customer-page .paginate strong,.gn-customer-page .paginate span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;height:34px!important;margin:0 2px!important;border:1px solid #dbe4ee!important;border-radius:8px!important;background:#fff!important;color:#506279!important;font-size:12px!important}.gn-customer-page .paginate strong,.gn-customer-page .paginate .nav_current{background:#0b376d!important;border-color:#0b376d!important;color:#fff!important}.gn-customer-page .paginate img{max-height:12px!important;width:auto!important}
/* FAQ accordion */
.gn-customer-page #faq-list{width:100%!important;border:1px solid #dfe7f0!important;border-radius:15px!important;overflow:hidden!important;background:#fff!important;border-collapse:separate!important;border-spacing:0!important}.gn-customer-page #faq-list tr,.gn-customer-page #faq-list td{display:block!important;width:100%!important;height:auto!important}.gn-customer-page #faq-list td{padding:0!important;border:0!important;border-bottom:1px solid #edf1f5!important;background:#fff!important}.gn-customer-page #faq-list .q_active{float:none!important;margin:0!important;padding:0!important;width:100%!important}.gn-customer-page #faq-list .q_active a{display:block!important;position:relative!important;padding:18px 52px 18px 48px!important;color:#25405e!important;font-size:14px!important;font-weight:700!important}.gn-customer-page #faq-list .q_active a:before{content:"Q";position:absolute;left:18px;top:17px;color:#0b929f;font-weight:900!important}.gn-customer-page #faq-list .q_active a:after{content:"+";position:absolute;right:20px;top:15px;color:#6c7c90;font-size:20px}.gn-customer-page #faq-list .faq_del{display:none!important}.gn-customer-page #faq-list .bg_gray{padding:0!important;background:#f6f9fc!important}.gn-customer-page #faq-list .bg_gray .a{position:relative!important;margin:0!important;padding:18px 24px 20px 48px!important;color:#607286!important;font-size:13px!important;line-height:1.8!important}.gn-customer-page #faq-list .bg_gray .a:before{content:"A";position:absolute;left:18px;top:17px;color:#0b376d;font-weight:900!important}
/* board view pages */
.gn-customer-page .view_tb,.gn-customer-page .board_view,.gn-customer-page table.view{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #dfe7f0!important;border-radius:15px!important;overflow:hidden!important;background:#fff!important}.gn-customer-page .view_tb th,.gn-customer-page .view_tb td,.gn-customer-page .board_view th,.gn-customer-page .board_view td{padding:15px 18px!important;border:0!important;border-bottom:1px solid #e8eef4!important;font-size:13px!important;line-height:1.7!important}.gn-customer-page .view_tb th,.gn-customer-page .board_view th{background:#f5f8fc!important;color:#193d69!important;font-weight:800!important}.gn-customer-page .btn_pack a,.gn-customer-page .btn_box a{border-radius:8px!important}

@media(max-width:820px){
  .gn-customer-page{padding:18px 16px 52px!important}.gn-customer-page .title_wrap{padding:27px 22px!important;border-radius:16px!important}.gn-customer-page .gn-legacy-heading h1{font-size:27px!important}.gn-customer-page .board_search_wrap{justify-content:stretch!important}.gn-customer-page .board_search_wrap input[type=text]{flex:1!important;width:auto!important;min-width:0!important}.gn-customer-page .notice_tb colgroup col:first-child{width:12%!important}.gn-customer-page .notice_tb th:nth-child(4),.gn-customer-page .notice_tb td:nth-child(4),.gn-customer-page .notice_tb th:nth-child(5),.gn-customer-page .notice_tb td:nth-child(5){display:none!important}.gn-customer-page .notice_tb colgroup{display:none!important}
}
@media(max-width:520px){
  .gn-customer-page .content>.meun{margin-left:-2px!important;margin-right:-2px!important}.gn-customer-page .content>.meun a{min-width:auto!important;height:38px!important;padding:0 13px!important;font-size:12px!important}.gn-customer-page .board_search_wrap{display:grid!important;grid-template-columns:88px 1fr auto!important}.gn-customer-page .board_search_wrap select,.gn-customer-page .board_search_wrap input[type=text],.gn-customer-page .board_search_wrap .btn_big{height:38px!important}.gn-customer-page .notice_tb th,.gn-customer-page .notice_tb td{padding:10px 8px!important;font-size:12px!important}.gn-customer-page .notice_tb th:first-child,.gn-customer-page .notice_tb td:first-child{width:54px!important}.gn-customer-page .notice_tb th:nth-child(3),.gn-customer-page .notice_tb td:nth-child(3){width:78px!important}.gn-customer-page #faq-list .q_active a{padding:16px 42px 16px 43px!important;font-size:13px!important}.gn-customer-page #faq-list .bg_gray .a{padding:16px 18px 18px 43px!important}
}

/* ===== v2.9 Global width + MY PAGE ===== */
html,body{max-width:100%;overflow-x:hidden}
*,*:before,*:after{box-sizing:border-box}
img,video,iframe{max-width:100%}
#wrap,#wrapper,#container,#contents,.wrap,.container{max-width:100%}
.gn-header,.gn-footer,.gn-hero{width:100%;max-width:100%}

.gn-mypage-body #contents,.gn-mypage-page{width:min(1180px,calc(100% - 40px))!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;overflow:visible!important}
.gn-mypage-page .local_navi_wrap{width:100%!important;max-width:none!important;margin:30px 0 12px!important}
.gn-mypage-page .local_navi{width:100%!important;max-width:none!important}
.gn-mypage-page .title_wrap{width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0 0 18px!important;padding:28px 30px!important;border:1px solid #dde7f1!important;border-radius:18px!important;background:linear-gradient(135deg,#f4f9fe,#eef8f8)!important}
.gn-mypage-page .title_wrap>.title,.gn-mypage-page .title_wrap>.text{display:none!important}
.gn-mypage-page .title_wrap .gn-legacy-heading{margin:0!important}
.gn-mypage-page .title_wrap .gn-legacy-kicker{display:block;color:#0b929f!important;font-size:11px!important;font-weight:800!important;letter-spacing:.16em!important;margin-bottom:4px!important}
.gn-mypage-page .title_wrap .gn-legacy-heading h1{font-size:30px!important;line-height:1.2!important;color:#0b315f!important;margin:0!important}
.gn-mypage-page .content{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 60px!important;float:none!important;min-height:0!important}

/* MY PAGE utility menu: remove duplicate/withdrawal and use only 3 meaningful entries */
.gn-mypage-page .gn-mypage-menu{display:flex!important;gap:8px!important;width:100%!important;height:auto!important;margin:0 0 22px!important;padding:0!important;list-style:none!important;overflow:auto!important}
.gn-mypage-page .gn-mypage-menu li{float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;flex:0 0 auto!important}
.gn-mypage-page .gn-mypage-menu a{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:42px!important;min-width:112px!important;padding:0 18px!important;border:1px solid #d7e2ee!important;border-radius:999px!important;background:#fff!important;color:#405670!important;font-size:13px!important;font-weight:700!important;text-decoration:none!important}
.gn-mypage-page .gn-mypage-menu a:hover,.gn-mypage-page .gn-mypage-menu a.is-active{background:#0b376d!important;border-color:#0b376d!important;color:#fff!important}
.gn-mypage-page .gn-mypage-menu img,.gn-mypage-page .gn-mypage-menu .gn-legacy-tab-label{display:none!important}
.gn-mypage-page .gn-mypage-label{display:inline!important}

/* Member learning hub */
.gn-learning-hub{margin:0 0 28px;padding:28px;border:1px solid #dfe8f2;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(4,34,72,.055)}
.gn-learning-welcome span{display:block;color:#0b929f;font-size:11px;font-weight:800;letter-spacing:.18em;margin-bottom:6px}
.gn-learning-welcome h1{margin:0;color:#092f60;font-size:28px;letter-spacing:-.035em}
.gn-learning-welcome p{margin:7px 0 0;color:#738398;font-size:13px}
.gn-learning-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.gn-learning-shortcut{position:relative;display:block;min-width:0;padding:20px 20px 18px;border:1px solid #e0e8f1;border-radius:16px;background:#f8fbff;text-decoration:none!important;transition:.18s}
.gn-learning-shortcut:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(4,34,72,.08)}
.gn-learning-shortcut.is-phone{background:#f4fbfb}.gn-learning-shortcut.is-lounge{background:#faf7ff}
.gn-shortcut-icon{display:flex;width:38px;height:38px;align-items:center;justify-content:center;margin-bottom:13px;border-radius:11px;background:#0b376d;color:#fff;font-size:16px;font-weight:800}
.gn-learning-shortcut.is-phone .gn-shortcut-icon{background:#0b9aa5}.gn-learning-shortcut.is-lounge .gn-shortcut-icon{background:#6a58b5}
.gn-learning-shortcut strong{display:block;color:#15385f;font-size:17px}.gn-learning-shortcut p{min-height:42px;margin:7px 0 13px;color:#6e7f94;font-size:12px;line-height:1.65}.gn-learning-shortcut em{font-style:normal;color:#0b4c8f;font-size:12px;font-weight:800}

/* Old learning controls -> compact, consistent tabs */
.gn-mypage-page .content>div[style*="padding-left"]{padding-left:0!important;margin:0 0 14px!important;display:flex!important;gap:8px!important}
.gn-mypage-page .content>div[style*="padding-left"] button{margin:0!important;padding:0!important;border:0!important;background:none!important;font:inherit!important}
.gn-mypage-page .content>div[style*="padding-left"] button a{display:inline-flex!important;align-items:center!important;height:40px!important;padding:0 16px!important;border:1px solid #d7e2ed!important;border-radius:10px!important;background:#fff!important;color:#496078!important;font-size:13px!important;font-weight:700!important;text-decoration:none!important}
.gn-mypage-page .certificate_wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.gn-mypage-page .tab_bg{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;height:auto!important;margin:0 0 14px!important;padding:0!important;background:none!important;list-style:none!important}
.gn-mypage-page .tab_bg li{float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important}
.gn-mypage-page .tab_bg a{display:flex!important;align-items:center!important;justify-content:center!important;height:46px!important;border:1px solid #dce5ef!important;border-radius:12px!important;background:#f7faff!important;color:#436079!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important}
.gn-mypage-page .tab_bg img{display:none!important}.gn-course-state-label{display:inline!important}
.gn-mypage-page .advice{width:100%!important;margin:0 0 14px!important;padding:13px 16px!important;border-radius:10px!important;background:#f4f8fc!important;color:#47627e!important;font-size:12px!important;text-align:left!important}
.gn-mypage-page .edu_tb{width:100%!important;max-width:none!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #dfe7f0!important;border-radius:14px!important;overflow:hidden!important;table-layout:fixed!important}
.gn-mypage-page .edu_tb th{padding:13px 12px!important;border:0!important;border-bottom:1px solid #dfe7f0!important;background:#f3f7fb!important;color:#193d69!important;font-size:12px!important;font-weight:800!important}
.gn-mypage-page .edu_tb td{padding:12px!important;border:0!important;border-bottom:1px solid #edf1f5!important;color:#52677e!important;font-size:12px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
.gn-mypage-page .edu_tb tr:last-child td{border-bottom:0!important}.gn-mypage-page .edu_tb a{color:#1a4c85!important;font-weight:600!important}

@media(max-width:820px){
  .gn-mypage-body #contents,.gn-mypage-page{width:calc(100% - 28px)!important}
  .gn-mypage-page .title_wrap{padding:22px!important;border-radius:15px!important}.gn-mypage-page .title_wrap .gn-legacy-heading h1{font-size:25px!important}
  .gn-learning-hub{padding:20px}.gn-learning-welcome h1{font-size:23px}.gn-learning-shortcuts{grid-template-columns:1fr}
  .gn-learning-shortcut p{min-height:0}.gn-mypage-page .gn-mypage-menu{margin-bottom:16px!important}
  .gn-mypage-page .tab_bg{grid-template-columns:1fr 1fr!important}.gn-mypage-page .edu_tb{table-layout:auto!important}
}
@media(max-width:560px){
  .gn-mypage-body #contents,.gn-mypage-page{width:calc(100% - 20px)!important}
  .gn-mypage-page .gn-mypage-menu a{min-width:auto!important;height:38px!important;padding:0 13px!important;font-size:12px!important}
  .gn-mypage-page .edu_tb th:first-child,.gn-mypage-page .edu_tb td:first-child{display:none!important}
  .gn-mypage-page .edu_tb th,.gn-mypage-page .edu_tb td{padding:10px 8px!important;font-size:11px!important}
  .gn-mypage-page .content>div[style*="padding-left"]{overflow:auto!important}
}

/* ===== v3.0 MY PAGE simplification + phone/video states ===== */
.gn-mypage-page .title_wrap:first-of-type{display:none!important}
.gn-mypage-page .gn-mypage-menu{order:2;margin-top:18px!important}
.gn-mypage-page .gn-learning-hub + .gn-mypage-menu{margin-top:0!important}
.gn-mypage-page .gn-mypage-menu a{min-width:118px!important}
.gn-mypage-page .gn-learning-shortcut.is-phone em{color:#087f8a!important}
.gn-mypage-page .content>div[style*="padding-left"]{display:none!important}

.gn-tel-course-list .tab_bg{margin-top:2px!important}
.gn-tel-course-list .tab_bg a{position:relative!important;background:#f4f7fa!important;color:#6a7a8e!important;border-color:#dde5ed!important}
.gn-tel-course-list .tab_bg a.is-active{background:#0b376d!important;border-color:#0b376d!important;color:#fff!important;box-shadow:0 5px 14px rgba(11,55,109,.14)!important}
.gn-tel-course-list .tab_bg li:nth-child(2) a.is-active{background:#64748b!important;border-color:#64748b!important}
.gn-tel-course-list .edu_tb th:nth-child(1){width:52%!important}
.gn-tel-course-list .edu_tb th:nth-child(2){width:30%!important}
.gn-tel-course-list .edu_tb th:nth-child(3){width:18%!important}
.gn-tel-course-list .gn-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:27px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800}
.gn-tel-course-list .gn-status-badge.is-current{background:#e6f7f5;color:#087e77}
.gn-tel-course-list .gn-status-badge.is-ended{background:#eef1f4;color:#728096}
.gn-tel-course-list .gn-tel-course a{display:inline-flex;align-items:center;gap:6px;color:#174f8c!important;font-weight:750!important}
.gn-tel-course-list .gn-tel-course a:after{content:'수업창 열기';display:inline-flex;margin-left:8px;padding:5px 9px;border:1px solid #cbd9e8;border-radius:7px;color:#0b4b89;font-size:10px;font-weight:800;background:#fff}
.gn-tel-course-list tr[data-gn-state="ended"] .gn-tel-course a:after{content:'수강내역';color:#758397;border-color:#dce2e8;background:#f8fafb}
.gn-tel-course-list .gn-tel-empty td{text-align:center!important;padding:34px 16px!important;color:#8693a3!important;background:#fbfcfd!important}

@media(max-width:680px){
  .gn-tel-course-list .edu_tb th:nth-child(3),.gn-tel-course-list .edu_tb td:nth-child(3){display:table-cell!important}
  .gn-tel-course-list .gn-tel-course a:after{display:none}
  .gn-tel-course-list .edu_tb th,.gn-tel-course-list .edu_tb td{font-size:11px!important}
}


/* ===== v3.1 MY PAGE four-card dashboard ===== */\n.gn-mypage-page .local_navi_wrap{display:none!important}\n.gn-mypage-page .gn-mypage-menu{display:none!important}\n.gn-learning-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))!important}\n.gn-learning-shortcut.is-docs{background:#fff9ef!important}\n.gn-learning-shortcut.is-docs .gn-shortcut-icon{background:#d78a20!important}\n.gn-learning-shortcut.is-docs em{color:#a86910!important}\n.gn-learning-hub{margin-top:26px!important}\n@media(max-width:1050px){.gn-learning-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important}}\n@media(max-width:680px){.gn-learning-shortcuts{grid-template-columns:1fr!important}}\n
/* ===== v3.2 final MY PAGE + trusted signup experience ===== */
/* Desktop: keep the four primary MY PAGE cards on one row. */
@media (min-width:821px){
  .gn-mypage-page .gn-learning-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
  .gn-mypage-page .gn-learning-shortcut{padding:18px 16px 16px!important}
  .gn-mypage-page .gn-learning-shortcut strong{font-size:15px!important}
}
.gn-mypage-page .gn-mypage-menu,
.gn-mypage-page .content > .meun.gn-mypage-menu,
.gn-mypage-page .content > ul.gn-mypage-menu{display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}

/* Header: separated Login / Join actions */
.gn-user-actions .gn-login-link{background:#fff!important}
.gn-user-actions .gn-join-link{box-shadow:0 4px 12px rgba(5,44,91,.08)}
@media(max-width:980px) and (min-width:821px){
  .gn-user-actions .gn-btn{padding-left:11px!important;padding-right:11px!important;font-size:11px!important}
}

/* Signup pages — presentation only. Existing agreement/join JS and form actions remain unchanged. */
.gn-signup-body #contents{width:min(960px,calc(100% - 40px))!important;margin-left:auto!important;margin-right:auto!important}
.gn-signup-page .local_navi_wrap{display:none!important}
.gn-signup-page .title_wrap{width:100%!important;height:auto!important;margin:34px 0 16px!important;padding:26px 30px!important;border:1px solid #dbe7f1!important;border-radius:18px!important;background:linear-gradient(110deg,#f5faff 0%,#eef9fa 100%)!important;box-sizing:border-box!important}
.gn-signup-page .title_wrap .title,.gn-signup-page .title_wrap .bodytitle,.gn-signup-page .title_wrap .text{display:none!important}
.gn-signup-page .title_wrap .gn-legacy-heading{display:block!important;margin:0!important;padding:0!important}
.gn-signup-page .title_wrap .gn-legacy-kicker{display:block!important;margin-bottom:7px!important;color:#0b8e99!important;font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important}
.gn-signup-page .title_wrap .gn-legacy-heading h1{margin:0!important;color:#0a3567!important;font-size:27px!important;line-height:1.25!important;letter-spacing:-.035em!important}
.gn-signup-page .content{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 70px!important;float:none!important}
.gn-signup-page .content>.meun{display:none!important}
.gn-signup-shell{margin:0 auto!important;max-width:800px!important}
.gn-signup-lead{margin:0 0 16px!important;padding:0 2px!important}
.gn-signup-lead strong{display:block;color:#123d6d;font-size:19px;letter-spacing:-.025em}
.gn-signup-lead span{display:block;margin-top:5px;color:#75869a;font-size:12px;line-height:1.6}
.gn-signup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px;padding:0;list-style:none}
.gn-signup-step{position:relative;display:flex;align-items:center;gap:9px;min-height:56px;padding:10px 13px;border:1px solid #dfe8f1;border-radius:13px;background:#f8fafc;color:#8190a2;box-sizing:border-box}
.gn-signup-step b{display:flex;width:27px;height:27px;align-items:center;justify-content:center;border-radius:50%;background:#e9eef4;color:#64748b;font-size:10px}
.gn-signup-step span{font-size:12px;font-weight:800;white-space:nowrap}
.gn-signup-step.is-active{border-color:#a9cbe6;background:#f2f8fe;color:#0a417a;box-shadow:0 5px 16px rgba(7,53,103,.05)}
.gn-signup-step.is-active b{background:#0b376d;color:#fff}
.gn-signup-page .con_wrap,.gn-signup-page .certificate_wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.gn-signup-page .con_wrap>div:has(>img),.gn-signup-page .certificate_wrap>div:has(>img){display:none!important}

/* Agreement */
.gn-signup-page .tab_content{display:block!important;width:100%!important;margin:0!important;padding:0!important}
.gn-signup-page .tab_content>ul{margin:0!important;padding:0!important;list-style:none!important}
.gn-signup-page .tab_content li.d1{margin:0 0 15px!important;padding:20px!important;border:1px solid #dfe8f1!important;border-radius:16px!important;background:#fff!important;box-shadow:0 7px 22px rgba(7,42,82,.045)!important;list-style:none!important}
.gn-signup-page .tab_content li.d1 h3{margin:0 0 12px!important;color:#143f6d!important;font-size:16px!important;font-weight:800!important}
.gn-signup-page .tab_content li.d1 h3 img{display:none!important}
.gn-signup-page .tab_content li.d1 h3 .gn-signup-section-label{display:inline!important}
.gn-signup-page .tbox{margin:0!important;padding:0!important;background:none!important}
.gn-signup-page .box1{height:190px!important;overflow:auto!important;margin:0!important;padding:16px!important;border:1px solid #e1e7ee!important;border-radius:11px!important;background:#f9fbfd!important;color:#52667e!important;font-size:11px!important;line-height:1.75!important;box-sizing:border-box!important}
.gn-signup-page .box1 ul{padding-left:15px!important}
.gn-signup-page .box1 li{margin-bottom:6px!important}
.gn-signup-page .gn-agree-choice{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin-top:12px!important;color:#486078!important;font-size:12px!important}
.gn-signup-page input[type=radio],.gn-signup-page input[type=checkbox]{accent-color:#0b376d}
.gn-signup-all{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:15px 17px;border:1px solid #bfd4e8;border-radius:13px;background:#f5faff;color:#173e69}
.gn-signup-all label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;cursor:pointer}
.gn-signup-all small{color:#73859a;font-size:10px}
.gn-signup-page .gn-signup-next{display:flex!important;justify-content:center!important;margin:20px 0 0!important}
.gn-signup-page .gn-signup-next a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:250px!important;height:48px!important;border-radius:11px!important;background:#0b376d!important;color:#fff!important;font-size:14px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 7px 18px rgba(11,55,109,.15)!important}
.gn-signup-page .gn-signup-next img{display:none!important}

/* Information entry */
.gn-signup-page .join_wrap{width:100%!important;margin:0!important;padding:6px 22px!important;border:1px solid #dfe8f1!important;border-radius:17px!important;background:#fff!important;box-sizing:border-box!important;box-shadow:0 8px 24px rgba(7,42,82,.04)!important}
.gn-signup-page .join_con{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;min-height:60px!important;margin:0!important;padding:13px 2px!important;border-bottom:1px solid #edf1f5!important;box-sizing:border-box!important;float:none!important;color:#607287!important;font-size:12px!important}
.gn-signup-page .join_con:last-child{border-bottom:0!important}
.gn-signup-page .join_con p{float:none!important;margin:0!important;padding:0!important}
.gn-signup-page .join_title,.gn-signup-page .join_title2,.gn-signup-page .join_title3{width:110px!important;min-width:110px!important;color:#173e69!important;font-size:12px!important;font-weight:800!important}
.gn-signup-page .join_title2{margin-left:14px!important}
.gn-signup-page .join_con input[type=text],.gn-signup-page .join_con input[type=password],.gn-signup-page .join_con select{float:none!important;height:38px!important;margin:0!important;padding:0 11px!important;border:1px solid #cfdcea!important;border-radius:8px!important;background:#fff!important;color:#263d56!important;font-size:12px!important;box-sizing:border-box!important;outline:none!important}
.gn-signup-page .join_con input[type=text]:focus,.gn-signup-page .join_con input[type=password]:focus,.gn-signup-page .join_con select:focus{border-color:#5a95c8!important;box-shadow:0 0 0 3px rgba(44,125,190,.08)!important}
.gn-signup-page .join_con input.id{width:230px!important}.gn-signup-page .join_con input.post,.gn-signup-page .join_con select.post{width:116px!important}.gn-signup-page .join_con input.address2{width:260px!important}
.gn-signup-page .btn_join a.join{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:36px!important;padding:0 13px!important;border:1px solid #0b5b91!important;border-radius:8px!important;background:#fff!important;color:#0b568b!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important}
.gn-signup-page .join_con img[alt="생년월일선택"]{width:28px!important;height:28px!important;object-fit:contain!important}
.gn-signup-page .line{color:#94a3b4!important}.gn-signup-page .point_f{color:#73859a!important}
.gn-signup-page .gn-signup-submit{display:flex!important;justify-content:center!important;margin:20px 0 0!important}
.gn-signup-page .gn-signup-submit a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:250px!important;height:48px!important;border-radius:11px!important;background:#0b376d!important;color:#fff!important;font-size:14px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 7px 18px rgba(11,55,109,.15)!important}
.gn-signup-page .gn-signup-submit img{display:none!important}

@media(max-width:820px){
  .gn-signup-body #contents{width:calc(100% - 28px)!important}
  .gn-signup-page .title_wrap{margin-top:20px!important;padding:22px!important}
  .gn-signup-shell{max-width:none!important}.gn-signup-step{min-height:48px;padding:8px}.gn-signup-step span{font-size:11px}
  .gn-signup-page .join_wrap{padding:4px 14px!important}.gn-signup-page .join_title,.gn-signup-page .join_title2,.gn-signup-page .join_title3{width:100%!important;min-width:100%!important;margin-left:0!important}
  .gn-signup-page .join_con input.id,.gn-signup-page .join_con input.address2{width:min(100%,300px)!important}
}
@media(max-width:520px){
  .gn-signup-steps{gap:5px}.gn-signup-step{display:block;text-align:center}.gn-signup-step b{margin:0 auto 4px}.gn-signup-step span{white-space:normal;font-size:10px}
  .gn-signup-all{align-items:flex-start;flex-direction:column}.gn-signup-page .box1{height:160px!important}
}

/* ===== v3.3 final member-area polish ===== */
/* MY PAGE: force four cards on one desktop row; 2x2 on tablet, 1-column on mobile. */
@media (min-width: 901px){
  .gn-mypage-page .gn-learning-shortcuts{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:12px!important;
    width:100%!important;
  }
  .gn-mypage-page .gn-learning-shortcut{width:auto!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
}
@media (min-width: 681px) and (max-width: 900px){
  .gn-mypage-page .gn-learning-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:680px){
  .gn-mypage-page .gn-learning-shortcuts{grid-template-columns:1fr!important}
}

/* Signup step 2: cleaner, more trustworthy information-entry form. */
.gn-signup-page .gn-signup-shell{max-width:860px!important}
.gn-signup-page .join_wrap{padding:0 28px 10px!important;overflow:visible!important}
.gn-signup-page .gn-join-section-title{
  display:flex!important;align-items:center!important;gap:10px!important;
  margin:0 -28px!important;padding:19px 28px 12px!important;
  border-top:1px solid #edf2f6!important;color:#123e6d!important;
  font-size:14px!important;font-weight:800!important;letter-spacing:-.02em!important;
}
.gn-signup-page .gn-join-section-title:first-child{border-top:0!important}
.gn-signup-page .gn-join-section-title:before{content:"";display:block;width:4px;height:15px;border-radius:4px;background:#0b8f9d}
.gn-signup-page .join_con{min-height:64px!important;padding:12px 0!important;gap:10px!important}
.gn-signup-page .join_con.gn-join-note{min-height:auto!important;padding:3px 0 13px!important;border-bottom:1px solid #edf1f5!important;color:#7b8999!important;font-size:11px!important}
.gn-signup-page .join_title,.gn-signup-page .join_title2,.gn-signup-page .join_title3{width:118px!important;min-width:118px!important}
.gn-signup-page .join_con input[type=text],
.gn-signup-page .join_con input[type=password],
.gn-signup-page .join_con select{height:42px!important;border-radius:9px!important;font-size:13px!important}
.gn-signup-page .join_con input.id{width:245px!important}
.gn-signup-page .join_con input.post,.gn-signup-page .join_con select.post{width:118px!important}
.gn-signup-page .join_con input.address2{width:270px!important}
.gn-signup-page .btn_join a.join{height:40px!important;padding:0 15px!important;border-radius:9px!important;background:#f8fbfe!important}
.gn-signup-page .gn-join-row-id #user_id{background:#f7f9fb!important;color:#52667b!important}
.gn-signup-page .gn-join-row-address #addr1{width:360px!important}
.gn-signup-page .gn-join-row-address #addr2{width:260px!important}
.gn-signup-page .gn-join-row-contact .line{margin:0 1px!important;color:#a5b0bc!important}
.gn-signup-page .gn-join-row-consent{background:#f8fbfd!important;margin:0 -10px!important;padding:14px 10px!important;border-radius:10px!important}
.gn-signup-page .gn-signup-submit{margin-top:26px!important;margin-bottom:12px!important}
.gn-signup-page .gn-signup-submit a{min-width:280px!important;height:52px!important;border-radius:12px!important;font-size:14px!important}

/* Postcode finder: hidden when idle, polished modal-like panel only while the legacy Daum finder is open. */
.gn-signup-page #addrLayer{
  box-sizing:border-box!important;
  border:1px solid #cbd9e6!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 22px 70px rgba(8,39,75,.22)!important;
  overflow:hidden!important;
}
.gn-signup-page #addrLayer[style*="display: block"],
.gn-signup-page #addrLayer.gn-address-open{
  position:fixed!important;
  z-index:10020!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(570px,calc(100vw - 30px))!important;
  height:min(650px,calc(100vh - 50px))!important;
  margin:0!important;
}
.gn-signup-page #addrLayer #btnFoldWrap{right:10px!important;top:10px!important;width:22px!important;height:22px!important;z-index:2!important;border-radius:50%!important;background:#fff!important;box-shadow:0 2px 8px rgba(0,0,0,.16)!important}
.gn-postcode-backdrop{display:none;position:fixed;inset:0;z-index:10010;background:rgba(7,25,48,.40);backdrop-filter:blur(2px)}
.gn-postcode-backdrop.is-open{display:block}

@media(max-width:820px){
  .gn-signup-page .join_wrap{padding:0 16px 8px!important}
  .gn-signup-page .gn-join-section-title{margin:0 -16px!important;padding:17px 16px 10px!important}
  .gn-signup-page .join_title,.gn-signup-page .join_title2,.gn-signup-page .join_title3{width:100%!important;min-width:100%!important;margin:0!important}
  .gn-signup-page .join_con{align-items:flex-start!important}
  .gn-signup-page .join_con input.id,.gn-signup-page .join_con input.address2,.gn-signup-page .gn-join-row-address #addr1,.gn-signup-page .gn-join-row-address #addr2{width:min(100%,360px)!important}
  .gn-signup-page .gn-join-row-basic .join_title2{margin-top:8px!important}
}


/* ===== v3.4 final signup cleanup ===== */

/* 회원가입 페이지에서는 구형 '회원가입 / 로그인 / ID/PW 찾기' 3개 탭을 완전히 제거 */
.gn-signup-page .content > ul.meun,
.gn-signup-page ul.meun{
  display:none!important;
}

/* 정보입력 화면을 한 단계 더 넓고 편안하게 */
.gn-signup-page .gn-signup-shell{
  max-width:900px!important;
}
.gn-signup-page .certificate_wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:0!important;
}
.gn-signup-page .certificate_wrap > div:first-child,
.gn-signup-page .certificate_wrap > div.mt20{
  display:none!important;
}
.gn-signup-page .join_wrap{
  padding:0 32px 12px!important;
  border-radius:18px!important;
}
.gn-signup-page .gn-join-section-title{
  margin:0 -32px!important;
  padding:20px 32px 12px!important;
}
.gn-signup-page .join_con{
  min-height:68px!important;
}
.gn-signup-page .join_title,
.gn-signup-page .join_title2,
.gn-signup-page .join_title3{
  width:126px!important;
  min-width:126px!important;
}
.gn-signup-page .join_con input.id{width:255px!important}
.gn-signup-page .join_con input.post,
.gn-signup-page .join_con select.post{width:122px!important}
.gn-signup-page .gn-join-row-address #addr1{width:390px!important}
.gn-signup-page .gn-join-row-address #addr2{width:280px!important}

/* 우편번호 레이어: 기본 상태에서는 절대 공간을 차지하지 않음 */
.gn-signup-page #addrLayer{
  display:none;
  margin:0!important;
}
.gn-signup-page #addrLayer.gn-address-open,
.gn-signup-page #addrLayer[style*="display: block"]{
  display:block!important;
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:10020!important;
  width:min(570px,calc(100vw - 30px))!important;
  height:min(650px,calc(100vh - 50px))!important;
  max-height:calc(100vh - 50px)!important;
  border:1px solid #c8d7e5!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 26px 80px rgba(7,34,68,.28)!important;
  overflow:hidden!important;
}
.gn-postcode-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:10010;
  background:rgba(7,25,48,.42);
  backdrop-filter:blur(2px);
}
.gn-postcode-backdrop.is-open{display:block!important}

/* 회원가입 완료 버튼 */
.gn-signup-page .gn-signup-submit a{
  min-width:300px!important;
  height:54px!important;
  border-radius:13px!important;
}

/* 약관 페이지 하단 버튼 */
.gn-signup-page .gn-signup-next a{
  min-width:300px!important;
  height:52px!important;
  border-radius:13px!important;
}

@media(max-width:820px){
  .gn-signup-page .join_wrap{padding:0 18px 10px!important}
  .gn-signup-page .gn-join-section-title{
    margin:0 -18px!important;
    padding:18px 18px 11px!important;
  }
  .gn-signup-page .join_title,
  .gn-signup-page .join_title2,
  .gn-signup-page .join_title3{
    width:100%!important;
    min-width:100%!important;
  }
  .gn-signup-page .join_con input.id,
  .gn-signup-page .join_con input.address2,
  .gn-signup-page .gn-join-row-address #addr1,
  .gn-signup-page .gn-join-row-address #addr2{
    width:100%!important;
    max-width:100%!important;
  }
}


/* ===== v3.5 signup finishing touches ===== */

/* 생년월일: 구형 달력 이미지 공간 제거, 입력창 하나로 정리 */
.gn-signup-page #user_birth_date{
  width:220px!important;
  margin-left:15px!important;
}
.gn-signup-page #user_birth_date + p,
.gn-signup-page #user_birth_date ~ p:has(img[src*="btn_date"]){
  display:none!important;
}

/* 우편번호 레이어는 페이지 흐름에서 절대 공간을 차지하지 않음 */
.gn-signup-page #addrLayer{
  display:none!important;
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:10030!important;
  width:min(570px,calc(100vw - 30px))!important;
  height:min(640px,calc(100vh - 50px))!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #cbd9e6!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 28px 90px rgba(7,34,68,.30)!important;
  overflow:hidden!important;
}
.gn-signup-page #addrLayer.gn-visible{
  display:block!important;
}
.gn-signup-page #btnFoldWrap{
  display:none!important;
}
.gn-signup-page #addrLayer.gn-visible #btnFoldWrap{
  display:block!important;
  position:absolute!important;
  right:12px!important;
  top:12px!important;
  z-index:4!important;
  width:24px!important;
  height:24px!important;
  background:#111!important;
  border-radius:50%!important;
  padding:4px!important;
  box-sizing:border-box!important;
}
.gn-postcode-backdrop-v35{
  display:none;
  position:fixed;
  inset:0;
  z-index:10020;
  background:rgba(7,25,48,.42);
  backdrop-filter:blur(2px);
}
.gn-postcode-backdrop-v35.gn-visible{display:block!important}

/* 숨겨진 우편번호 레이어를 기존 join_con 높이 규칙에서 제외 */
.gn-signup-page .join_con.gn-postcode-layer{
  min-height:0!important;
  height:0!important;
  padding:0!important;
  border:0!important;
}
.gn-signup-page #addrLayer.gn-visible{
  min-height:0!important;
}

@media(max-width:820px){
  .gn-signup-page #user_birth_date{
    width:100%!important;
    margin-left:0!important;
  }
}


/* ===== v3.6 final member polish ===== */

/* 기본정보 한 줄 정렬: 이름/성별 + 생년월일 */
.gn-signup-page .gn-basic-row{
  display:grid!important;
  grid-template-columns:110px 230px auto 110px 220px!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:8px!important;
}
.gn-signup-page .gn-basic-row .join_title,
.gn-signup-page .gn-basic-row .join_title2{
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}
.gn-signup-page .gn-basic-row #user_birth_date{
  width:220px!important;
  margin:0!important;
}

/* 비밀번호 / 비밀번호확인 같은 줄 */
.gn-signup-page .gn-password-row{
  display:grid!important;
  grid-template-columns:110px 230px 110px 230px!important;
  align-items:center!important;
  column-gap:12px!important;
}
.gn-signup-page .gn-password-row .join_title,
.gn-signup-page .gn-password-row .join_title2{
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}
.gn-signup-page .gn-password-row input.id{
  width:230px!important;
  margin:0!important;
}

/* 비밀번호 안내는 별도 얇은 안내줄 */
.gn-signup-page .gn-password-guide{
  min-height:auto!important;
  padding:9px 2px 13px 122px!important;
  color:#73859a!important;
  font-size:11px!important;
  line-height:1.55!important;
  border-bottom:1px solid #edf1f5!important;
}

/* 이메일/SMS 관련 작은 안내문이 입력칸과 겹치지 않도록 */
.gn-signup-page .point_f{
  width:100%!important;
  margin-top:7px!important;
  line-height:1.55!important;
  white-space:normal!important;
}

/* 로그인: 고장난 ID/PW 찾기 제거 후 고객센터 안내 */
.gn-login-options-simple{
  justify-content:flex-start!important;
  max-width:100%!important;
}
.gn-login-recovery-note{
  margin:12px 0 0!important;
  padding:12px 14px!important;
  border-radius:9px!important;
  background:#f6f9fc!important;
  color:#64768b!important;
  font-size:11px!important;
  line-height:1.65!important;
  text-align:left!important;
}

@media(max-width:820px){
  .gn-signup-page .gn-basic-row,
  .gn-signup-page .gn-password-row{
    display:flex!important;
    flex-wrap:wrap!important;
  }
  .gn-signup-page .gn-basic-row .join_title,
  .gn-signup-page .gn-basic-row .join_title2,
  .gn-signup-page .gn-password-row .join_title,
  .gn-signup-page .gn-password-row .join_title2{
    width:100%!important;
  }
  .gn-signup-page .gn-basic-row #user_birth_date,
  .gn-signup-page .gn-password-row input.id{
    width:min(100%,320px)!important;
  }
  .gn-signup-page .gn-password-guide{
    padding-left:2px!important;
  }
}


/* ===== v3.7 member form alignment ===== */

/* 회원가입 폼은 실제 가용 폭에 맞춰 유동 그리드로 정렬 */
.gn-signup-page .gn-basic-row{
  display:grid!important;
  grid-template-columns:
    78px
    minmax(150px,1.15fr)
    max-content
    82px
    minmax(145px,.95fr)!important;
  column-gap:12px!important;
  align-items:center!important;
}
.gn-signup-page .gn-basic-row .join_title,
.gn-signup-page .gn-basic-row .join_title2{
  width:auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.gn-signup-page .gn-basic-row #user_name,
.gn-signup-page .gn-basic-row #user_birth_date{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.gn-signup-page .gn-basic-row > p:not(.join_title):not(.join_title2){
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  white-space:nowrap!important;
}

/* 비밀번호 줄도 같은 기준선으로 */
.gn-signup-page .gn-password-row{
  display:grid!important;
  grid-template-columns:
    78px
    minmax(155px,1fr)
    102px
    minmax(155px,1fr)!important;
  column-gap:12px!important;
  align-items:center!important;
}
.gn-signup-page .gn-password-row .join_title,
.gn-signup-page .gn-password-row .join_title2{
  width:auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.gn-signup-page .gn-password-row #user_pwd,
.gn-signup-page .gn-password-row #user_pwd_confirm{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

/* 비밀번호 안내 시작점을 라벨/입력 영역과 자연스럽게 맞춤 */
.gn-signup-page .gn-password-guide{
  padding:8px 0 12px 90px!important;
}

/* 나머지 한 줄 항목들의 라벨 폭도 일정하게 */
.gn-signup-page .join_con:not(.gn-basic-row):not(.gn-password-row):not(.gn-password-guide):not(.gn-postcode-layer)
  > .join_title{
  width:78px!important;
  min-width:78px!important;
}

/* 주소 입력은 남는 폭을 자연스럽게 사용 */
.gn-signup-page #addr1{
  flex:1 1 260px!important;
  width:auto!important;
  min-width:210px!important;
}
.gn-signup-page #addr2{
  flex:0 1 250px!important;
  width:250px!important;
  min-width:180px!important;
}

/* 이메일 아래 안내문 여백 */
.gn-signup-page .point_f{
  clear:both!important;
  margin:8px 0 0 90px!important;
  padding:0!important;
  color:#75869a!important;
}

/* 수신설정은 한 줄에서 덜 답답하게 */
.gn-signup-page .join_con.join_receive,
.gn-signup-page .join_con:last-child{
  column-gap:16px!important;
}

@media(max-width:720px){
  .gn-signup-page .gn-basic-row,
  .gn-signup-page .gn-password-row{
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    row-gap:10px!important;
  }

  .gn-signup-page .gn-basic-row > p:not(.join_title):not(.join_title2){
    grid-column:2!important;
  }
  .gn-signup-page .gn-basic-row .join_title2{
    grid-column:1!important;
  }
  .gn-signup-page .gn-basic-row #user_birth_date{
    grid-column:2!important;
  }

  .gn-signup-page .gn-password-row .join_title2{
    grid-column:1!important;
  }
  .gn-signup-page .gn-password-row #user_pwd_confirm{
    grid-column:2!important;
  }

  .gn-signup-page .gn-password-guide{
    padding-left:0!important;
  }

  .gn-signup-page .point_f{
    margin-left:0!important;
  }
}


/* ===== v3.8 email guide spacing ===== */
/* 이메일 아래 안내문을 입력칸에서 조금 더 떨어뜨리고 두 줄 사이 간격도 확보 */
.gn-signup-page .point_f{
  margin-top:12px!important;
  line-height:1.8!important;
}
.gn-signup-page .point_f + .point_f{
  margin-top:4px!important;
}


/* ===== v3.10 signup search button cleanup ===== */
/* 구형 JSP 버튼 래퍼에 남아 있는 배경/고정폭/패딩 제거 */
.gn-signup-page .join_con > p.btn_join{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 0 0 10px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  line-height:1!important;
}

/* 아이디검색 / 우편번호검색 버튼 자체 크기와 모양 통일 */
.gn-signup-page .join_con > p.btn_join > a.join{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  min-width:82px!important;
  height:38px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #0b5b91!important;
  border-radius:8px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#0b568b!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
}

/* 혹시 구형 CSS가 :before/:after 장식을 붙이는 경우까지 제거 */
.gn-signup-page .join_con > p.btn_join::before,
.gn-signup-page .join_con > p.btn_join::after,
.gn-signup-page .join_con > p.btn_join > a.join::before,
.gn-signup-page .join_con > p.btn_join > a.join::after{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* 아이디/우편번호 입력칸과 버튼 사이 간격 통일 */
.gn-signup-page #user_id + p.btn_join,
.gn-signup-page #zipcode_01 + p.btn_join{
  margin-left:10px!important;
}


/* ===== v3.11 signup guide + documents page ===== */

/* 이메일 입력칸과 안내문 사이 여백을 조금 더 확보 */
.gn-signup-page .point_f{
  margin-top:15px!important;
  line-height:1.8!important;
}
.gn-signup-page .point_f + .point_f{
  margin-top:5px!important;
}

/* 수강서류 발급 */
.gn-doc-page{
  max-width:960px;
  margin:28px auto 56px;
}
.gn-doc-head{
  margin-bottom:22px;
  padding:28px 30px;
  border:1px solid #d7e3ee;
  border-radius:18px;
  background:linear-gradient(135deg,#f7fbff 0%,#eef8f8 100%);
}
.gn-doc-eyebrow{
  margin:0 0 8px;
  color:#009ca6;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.gn-doc-head h1{
  margin:0;
  color:#073d79;
  font-size:28px;
  line-height:1.25;
  font-weight:800;
}
.gn-doc-head p{
  margin:9px 0 0;
  color:#718399;
  font-size:13px;
  line-height:1.7;
}
.gn-doc-notice{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  padding:13px 16px;
  border:1px solid #dbe7f0;
  border-radius:11px;
  background:#f7fafc;
  color:#587086;
  font-size:12px;
}
.gn-doc-notice::before{
  content:"i";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 20px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#0aa0aa;
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.gn-doc-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  list-style:none;
  margin:0;
  padding:0;
}
.gn-doc-card{
  min-height:205px;
  padding:22px 18px 18px;
  border:1px solid #d8e4ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(20,55,90,.05);
  display:flex;
  flex-direction:column;
}
.gn-doc-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:17px;
  border-radius:12px;
  background:#edf5fb;
  color:#0b4a83;
  font-size:20px;
  font-weight:800;
}
.gn-doc-card:nth-child(2n) .gn-doc-icon{
  background:#eef9f8;
  color:#009aa5;
}
.gn-doc-title{
  margin:0 0 7px;
  color:#093f77;
  font-size:17px;
  font-weight:800;
}
.gn-doc-desc{
  margin:0 0 18px;
  color:#7a899b;
  font-size:11px;
  line-height:1.65;
}
.gn-doc-actions{
  margin-top:auto;
  display:flex;
  gap:8px;
  align-items:center;
}
.gn-doc-actions .sel_type{
  flex:1 1 auto;
  min-width:0;
  height:38px;
  padding:0 9px;
  border:1px solid #cfdeea;
  border-radius:8px;
  background:#fff;
  color:#425d75;
  font-size:11px;
}
.gn-doc-print{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:38px;
  padding:0 12px;
  border:1px solid #0b4a83;
  border-radius:8px;
  background:#0b4a83;
  color:#fff!important;
  font-size:11px;
  font-weight:800;
  text-decoration:none!important;
  white-space:nowrap;
}
.gn-doc-print:hover{
  background:#073b6b;
}
.gn-doc-empty{
  grid-column:1/-1;
  padding:38px 20px;
  border:1px dashed #cad9e6;
  border-radius:14px;
  color:#708399;
  text-align:center;
  font-size:13px;
}
.gn-doc-page + .local_navi_wrap,
.gn-doc-page ~ .local_navi_wrap{
  display:none!important;
}

@media(max-width:900px){
  .gn-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .gn-doc-page{margin:18px 14px 40px}
  .gn-doc-head{padding:22px 20px}
  .gn-doc-head h1{font-size:24px}
  .gn-doc-grid{grid-template-columns:1fr}
}


/* ===== v3.15 Smart Learning course list ===== */
.gn-course-page .local_navi_wrap,
.gn-course-page .title_wrap .text{display:none!important}

.gn-course-page .title_wrap{
  width:auto!important;max-width:960px!important;margin:26px auto 14px!important;
  padding:24px 28px!important;border:1px solid #d7e3ee!important;border-radius:18px!important;
  background:linear-gradient(135deg,#f7fbff 0%,#eef8f8 100%)!important;box-sizing:border-box!important
}
.gn-course-page .title_wrap .title,.gn-course-page .title_wrap .bodytitle{margin:0!important;padding:0!important}
.gn-course-page .title_wrap .title img,.gn-course-page .title_wrap .bodytitle img{display:none!important}
.gn-course-page .gn-course-eyebrow{display:block;margin-bottom:7px;color:#009ba7;font-size:11px;font-weight:800;letter-spacing:.16em}
.gn-course-page .gn-course-heading{margin:0;color:#073f78;font-size:28px;line-height:1.25;font-weight:800}
.gn-course-page .gn-course-sub{margin:8px 0 0;color:#71849a;font-size:12px;line-height:1.65}

.gn-course-page .content{
  width:auto!important;max-width:960px!important;margin:0 auto!important;padding:0!important
}
.gn-course-page .content > form > ul.meun{
  display:flex!important;gap:8px!important;width:100%!important;margin:0 0 20px!important;
  padding:0!important;list-style:none!important;overflow:visible!important
}
.gn-course-page .content > form > ul.meun li{
  float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:none!important
}
.gn-course-page .content > form > ul.meun a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:105px!important;height:38px!important;padding:0 16px!important;border:1px solid #cadbea!important;
  border-radius:999px!important;background:#fff!important;color:#536b82!important;font-size:12px!important;
  font-weight:700!important;text-decoration:none!important;box-sizing:border-box!important
}
.gn-course-page .content > form > ul.meun a.is-current{
  border-color:#0b4a83!important;background:#0b4a83!important;color:#fff!important
}
.gn-course-page .content > form > ul.meun img{display:none!important}

.gn-course-page .certificate_wrap{width:100%!important;margin:0!important;padding:0!important}
.gn-course-page .course_wrap{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;
  width:100%!important;margin:0!important;padding:0 0 40px!important;overflow:visible!important;box-sizing:border-box!important
}

.gn-course-page ul.course_box,.gn-course-page ul.course_box.mr13{
  float:none!important;display:flex!important;flex-direction:column!important;width:auto!important;min-width:0!important;
  height:auto!important;min-height:0!important;margin:0!important;padding:0 0 16px!important;border:1px solid #d8e4ee!important;
  border-radius:14px!important;background:#fff!important;overflow:hidden!important;
  box-shadow:0 8px 22px rgba(19,54,87,.05)!important;list-style:none!important;box-sizing:border-box!important
}
.gn-course-page ul.course_box:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(19,54,87,.09)!important}
.gn-course-page .course_img_s{
  width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#edf4f8!important
}
.gn-course-page .course_img_s img{
  display:block!important;width:100%!important;height:auto!important;aspect-ratio:14/9!important;object-fit:cover!important;
  margin:0!important;padding:0!important
}
.gn-course-page .course_title{
  min-height:46px!important;margin:14px 14px 6px!important;padding:0!important;line-height:1.45!important
}
.gn-course-page .course_title a{
  color:#0b3f73!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important;word-break:keep-all!important
}
.gn-course-page .course_teacher,.gn-course-page .course_step,.gn-course-page .course_day{
  height:auto!important;min-height:0!important;margin:2px 14px!important;padding:0!important;
  color:#74869a!important;font-size:10.5px!important;line-height:1.55!important
}
.gn-course-page .course_teacher img,.gn-course-page .course_step img,.gn-course-page .course_day img{display:none!important}
.gn-course-page .course_teacher::before{content:"강사 · ";font-weight:700;color:#4d657d}
.gn-course-page .course_step::before{content:"레벨 · ";font-weight:700;color:#4d657d}
.gn-course-page .course_day::before{content:"기간 · ";font-weight:700;color:#4d657d}
.gn-course-page .btn_sample{margin:12px 14px 0!important;padding:0!important;margin-top:auto!important}
.gn-course-page .btn_sample a{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:36px!important;
  border:1px solid #0b4a83!important;border-radius:8px!important;background:#fff!important;color:#0b4a83!important;
  font-size:11px!important;font-weight:800!important;text-decoration:none!important;box-sizing:border-box!important
}
.gn-course-page .btn_sample a::after{content:"샘플강의 보기"}
.gn-course-page .btn_sample img{display:none!important}
.gn-course-page .course_title a:hover,.gn-course-page .btn_sample a:hover{color:#008f9a!important;border-color:#00a0aa!important}

@media(max-width:900px){
  .gn-course-page .course_wrap{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .gn-course-page .title_wrap{margin:18px 14px 12px!important;padding:20px!important}
  .gn-course-page .content{padding:0 14px!important}
  .gn-course-page .course_wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .gn-course-page .content > form > ul.meun{overflow-x:auto!important;padding-bottom:4px!important}
}
@media(max-width:480px){
  .gn-course-page .course_wrap{grid-template-columns:1fr!important}
}


/* ===== v3.16 Smart Learning corrective patch ===== */

/* v3.15에서 중복 삽입된 제목은 숨기고, 기존 legacy heading 하나만 사용 */
.gn-course-page .gn-course-eyebrow,
.gn-course-page .gn-course-heading,
.gn-course-page .gn-course-sub{
  display:none!important;
}
.gn-course-page .title_wrap .gn-legacy-heading{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.gn-course-page .title_wrap .gn-legacy-kicker{
  display:block!important;
  margin-bottom:6px!important;
  color:#009ba7!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.gn-course-page .title_wrap .gn-legacy-heading h1{
  margin:0!important;
  color:#073f78!important;
  font-size:28px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

/* 기존 회화 초급/중급 탭 */
.gn-course-page .content > form > ul.meun{
  margin:0 0 14px!important;
}
.gn-course-page .content > form > ul.meun a{
  font-size:0!important;
}
.gn-course-page .content > form > ul.meun .gn-legacy-tab-label{
  display:inline!important;
  font-size:12px!important;
  line-height:1!important;
}

/* 자동 분류 5개 필터를 빈 알약이 아니라 실제 텍스트 버튼으로 */
.gn-course-page .gn-course-filter{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.gn-course-page .gn-course-filter button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:82px!important;
  height:34px!important;
  padding:0 14px!important;
  border:1px solid #d1deea!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#526b82!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  text-indent:0!important;
  overflow:visible!important;
}
.gn-course-page .gn-course-filter button.is-active{
  border-color:#0b4a83!important;
  background:#0b4a83!important;
  color:#fff!important;
}

/* 강좌카드: 기존 CSS의 고정 높이/absolute 위치를 완전히 해제 */
.gn-course-page .course_wrap.gn-legacy-course-list{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
.gn-course-page .course_wrap.gn-legacy-course-list > .course_box{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 0 14px!important;
  overflow:hidden!important;
  border:1px solid #d8e4ee!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(19,54,87,.05)!important;
}
.gn-course-page .course_wrap.gn-legacy-course-list > .course_box > li{
  position:static!important;
  float:none!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
}

/* 썸네일 */
.gn-course-page .gn-legacy-course-list .course_img_s{
  order:1!important;
  width:100%!important;
  height:128px!important;
  margin:0 0 12px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#eef4f8!important;
}
.gn-course-page .gn-legacy-course-list .course_img_s img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* 강좌명/정보 */
.gn-course-page .gn-legacy-course-list .course_title{
  order:2!important;
  display:block!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 13px 6px!important;
  background:none!important;
  font-size:0!important;
  line-height:1.4!important;
}
.gn-course-page .gn-legacy-course-list .course_title a{
  display:block!important;
  color:#0b3f73!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.4!important;
  text-decoration:none!important;
}
.gn-course-page .gn-legacy-course-list .course_teacher,
.gn-course-page .gn-legacy-course-list .course_step,
.gn-course-page .gn-legacy-course-list .course_day{
  order:3!important;
  display:block!important;
  margin:0!important;
  padding:2px 13px!important;
  background:none!important;
  color:#74869a!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
.gn-course-page .gn-legacy-course-list .course_teacher img,
.gn-course-page .gn-legacy-course-list .course_step img,
.gn-course-page .gn-legacy-course-list .course_day img{
  display:none!important;
}

/* 샘플 버튼은 이미지 위 absolute가 아니라 카드 맨 아래 */
.gn-course-page .gn-legacy-course-list .btn_sample{
  order:4!important;
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:10px 13px 0!important;
  padding:0!important;
  background:none!important;
}
.gn-course-page .gn-legacy-course-list .btn_sample a{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:34px!important;
  margin:0!important;
  padding:0 10px!important;
  border:1px solid #0b4a83!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0b4a83!important;
  font-size:0!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
}
.gn-course-page .gn-legacy-course-list .btn_sample img{
  display:none!important;
}
.gn-course-page .gn-legacy-course-list .btn_sample .gn-sample-label{
  display:inline!important;
  color:#0b4a83!important;
  font-size:11px!important;
  line-height:1!important;
}
.gn-course-page .gn-legacy-course-list .btn_sample a::after{
  content:none!important;
  display:none!important;
}

/* 카드에 붙는 자동 분류 badge가 썸네일을 밀지 않도록 */
.gn-course-page .gn-course-category-badge{
  position:absolute!important;
  z-index:2!important;
  top:8px!important;
  right:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  height:22px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:#0b4a83!important;
  font-size:9px!important;
  font-weight:800!important;
  box-shadow:0 2px 8px rgba(0,0,0,.08)!important;
}

@media(max-width:900px){
  .gn-course-page .course_wrap.gn-legacy-course-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .gn-course-page .course_wrap.gn-legacy-course-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:480px){
  .gn-course-page .course_wrap.gn-legacy-course-list{
    grid-template-columns:1fr!important;
  }
}


/* ===== v3.17 Smart Learning top-area finish ===== */

/* 제목 박스 높이/overflow를 완전히 해제해서 '회화'가 박스 안에 정상 배치되게 */
.gn-course-page .title_wrap{
  position:relative!important;
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:20px 24px 18px!important;
}
.gn-course-page .title_wrap .gn-legacy-heading{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.gn-course-page .title_wrap .gn-legacy-kicker{
  position:static!important;
  display:block!important;
  margin:0 0 5px!important;
  padding:0!important;
  line-height:1.2!important;
}
.gn-course-page .title_wrap .gn-legacy-heading h1{
  position:static!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}

/* 5개 분류 필터의 텍스트가 어떤 legacy CSS에도 가려지지 않도록 강제 표시 */
.gn-course-page .gn-course-filter{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 18px!important;
}
.gn-course-page .gn-course-filter button{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:86px!important;
  width:auto!important;
  height:34px!important;
  padding:0 14px!important;
  text-indent:0!important;
  font-size:0!important;
  color:#536b82!important;
  background:#fff!important;
  border:1px solid #cadbea!important;
  border-radius:999px!important;
  overflow:visible!important;
}
.gn-course-page .gn-course-filter button::after{
  display:inline!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  color:inherit!important;
  white-space:nowrap!important;
}
.gn-course-page .gn-course-filter button:nth-child(1)::after{content:"전체"}
.gn-course-page .gn-course-filter button:nth-child(2)::after{content:"초중급"}
.gn-course-page .gn-course-filter button:nth-child(3)::after{content:"중고급"}
.gn-course-page .gn-course-filter button:nth-child(4)::after{content:"비즈니스"}
.gn-course-page .gn-course-filter button:nth-child(5)::after{content:"시험대비"}
.gn-course-page .gn-course-filter button.is-active{
  background:#0b4a83!important;
  border-color:#0b4a83!important;
  color:#fff!important;
}


/* ===== v3.18 Smart Learning: use only the 5 main filters ===== */

/* 기존 '회화 초급 / 회화중급' 레거시 탭은 완전히 숨김 */
.gn-course-page .content > form > ul.meun{
  display:none!important;
}

/* 5개 필터가 실제 메인 내비게이션처럼 보이도록 */
.gn-course-page .gn-course-filter{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:4px 0 18px!important;
}
.gn-course-page .gn-course-filter button{
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease!important;
}
.gn-course-page .gn-course-filter button:hover{
  border-color:#0b4a83!important;
  color:#0b4a83!important;
}
.gn-course-page .gn-course-filter button.is-active,
.gn-course-page .gn-course-filter button[aria-pressed="true"]{
  border-color:#0b4a83!important;
  background:#0b4a83!important;
  color:#fff!important;
}

/* 필터 결과가 없을 때 */
.gn-course-empty-filter{
  grid-column:1/-1;
  display:none;
  padding:38px 18px;
  border:1px dashed #cbd9e6;
  border-radius:14px;
  background:#f8fbfd;
  color:#6f8296;
  text-align:center;
  font-size:12px;
  line-height:1.7;
}
.gn-course-empty-filter.is-visible{display:block}


/* ===== v3.19 Smart Learning filter active state + sample pending ===== */

/* 활성 필터를 확실하게 표시 */
.gn-course-page .gn-course-filter button.is-active,
.gn-course-page .gn-course-filter button[aria-pressed="true"]{
  background:#0b4a83!important;
  border-color:#0b4a83!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(11,74,131,.16)!important;
}
.gn-course-page .gn-course-filter button.is-active::after,
.gn-course-page .gn-course-filter button[aria-pressed="true"]::after{
  color:#fff!important;
}

/* 샘플강의 준비중 */
.gn-course-page .btn_sample a.gn-sample-disabled{
  pointer-events:none!important;
  cursor:default!important;
  border-color:#d6e0e9!important;
  background:#f5f8fa!important;
  color:#8a9bad!important;
}
.gn-course-page .btn_sample a.gn-sample-disabled .gn-sample-label{
  color:#8a9bad!important;
}


/* ===== v3.21 Smart Learning server-route aggregation ===== */
.gn-course-page .gn-course-loading{
  grid-column:1/-1;
  padding:34px 18px;
  border:1px dashed #cbd9e6;
  border-radius:14px;
  background:#f8fbfd;
  color:#6f8296;
  text-align:center;
  font-size:12px;
}
.gn-course-page .gn-course-source-note{
  grid-column:1/-1;
  margin:-4px 0 4px;
  color:#7a8b9d;
  font-size:10px;
  text-align:right;
}
.gn-course-page .gn-course-filter button.is-active,
.gn-course-page .gn-course-filter button[aria-pressed="true"]{
  background:#0b4a83!important;
  border-color:#0b4a83!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(11,74,131,.16)!important;
}
.gn-course-page .btn_sample a.gn-dead-ddnet{
  pointer-events:none!important;
  cursor:default!important;
  border-color:#d5e0e8!important;
  background:#f4f7f9!important;
  color:#8b9bac!important;
}
.gn-course-page .btn_sample a.gn-dead-ddnet .gn-sample-label{
  color:#8b9bac!important;
}


/* ===== v3.22 Chinese / Japanese / Other languages visual renewal ===== */

.gn-asia-course-page .local_navi_wrap{
  display:none!important;
}

.gn-asia-course-page .title_wrap{
  width:auto!important;
  max-width:960px!important;
  height:auto!important;
  min-height:0!important;
  margin:26px auto 14px!important;
  padding:22px 26px!important;
  border:1px solid #d7e3ee!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f7fbff 0%,#eef8f8 100%)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.gn-asia-course-page .title_wrap > .title,
.gn-asia-course-page .title_wrap > .bodytitle,
.gn-asia-course-page .title_wrap > .text{
  display:none!important;
}
.gn-asia-course-page .gn-asia-eyebrow{
  display:block;
  margin:0 0 6px;
  color:#009ba7;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.gn-asia-course-page .gn-asia-heading{
  margin:0;
  color:#073f78;
  font-size:28px;
  line-height:1.2;
  font-weight:800;
}

.gn-asia-course-page .content{
  width:auto!important;
  max-width:960px!important;
  margin:0 auto!important;
  padding:0!important;
}

/* v2.2에서 자동 생성된 영어식 5분류는 이 영역에서는 사용하지 않음 */
.gn-asia-course-page .gn-course-filter,
.gn-asia-course-page .gn-course-category-badge{
  display:none!important;
}

/* 기존 중국어/일본어/제2외국어 메뉴를 그대로 살려 새 디자인만 적용 */
.gn-asia-course-page .content > form > ul.meun{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 20px!important;
  padding:0!important;
  list-style:none!important;
  overflow:visible!important;
}
.gn-asia-course-page .content > form > ul.meun li{
  float:none!important;
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  color:transparent!important;
  font-size:0!important;
}
.gn-asia-course-page .content > form > ul.meun li:first-child::before{
  content:none!important;
}
.gn-asia-course-page .content > form > ul.meun a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:118px!important;
  height:38px!important;
  padding:0 17px!important;
  border:1px solid #cadbea!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#536b82!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
}
.gn-asia-course-page .content > form > ul.meun a:hover{
  border-color:#0b4a83!important;
  color:#0b4a83!important;
}
.gn-asia-course-page .content > form > ul.meun a.is-current{
  border-color:#0b4a83!important;
  background:#0b4a83!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(11,74,131,.12)!important;
}

/* 강좌 카드 */
.gn-asia-course-page .certificate_wrap{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.gn-asia-course-page .course_wrap{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 42px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.gn-asia-course-page .course_wrap > .course_box{
  position:relative!important;
  float:none!important;
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 0 14px!important;
  border:1px solid #d8e4ee!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 7px 20px rgba(19,54,87,.05)!important;
  list-style:none!important;
  box-sizing:border-box!important;
}
.gn-asia-course-page .course_wrap > .course_box:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 26px rgba(19,54,87,.09)!important;
}
.gn-asia-course-page .course_wrap > .course_box > li{
  position:static!important;
  float:none!important;
  left:auto!important;
  top:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

.gn-asia-course-page .course_img_s{
  order:1!important;
  width:100%!important;
  height:128px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#eef4f8!important;
}
.gn-asia-course-page .course_img_s img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.gn-asia-course-page .course_title{
  order:2!important;
  display:block!important;
  min-height:42px!important;
  padding:12px 13px 6px!important;
  background:none!important;
  line-height:1.4!important;
}
.gn-asia-course-page .course_title a{
  display:block!important;
  color:#0b3f73!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.4!important;
  text-decoration:none!important;
  word-break:keep-all!important;
}
.gn-asia-course-page .course_teacher,
.gn-asia-course-page .course_step,
.gn-asia-course-page .course_day{
  order:3!important;
  display:block!important;
  padding:2px 13px!important;
  color:#74869a!important;
  font-size:10.5px!important;
  line-height:1.45!important;
  background:none!important;
}
.gn-asia-course-page .course_teacher img,
.gn-asia-course-page .course_step img,
.gn-asia-course-page .course_day img{
  display:none!important;
}
.gn-asia-course-page .course_teacher::before{content:"강사 · ";font-weight:700;color:#4d657d}
.gn-asia-course-page .course_step::before{content:"레벨 · ";font-weight:700;color:#4d657d}
.gn-asia-course-page .course_day::before{content:"기간 · ";font-weight:700;color:#4d657d}

.gn-asia-course-page .btn_sample{
  order:4!important;
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:10px 13px 0!important;
  padding:0!important;
  background:none!important;
}
.gn-asia-course-page .btn_sample a{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:34px!important;
  padding:0 10px!important;
  border:1px solid #0b4a83!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0b4a83!important;
  font-size:11px!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
}
.gn-asia-course-page .btn_sample img{
  display:none!important;
}
.gn-asia-course-page .btn_sample a::after{
  content:"▶ 샘플강의";
}

@media(max-width:900px){
  .gn-asia-course-page .course_wrap{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .gn-asia-course-page .title_wrap{
    margin:18px 14px 12px!important;
    padding:20px!important;
  }
  .gn-asia-course-page .content{
    padding:0 14px!important;
  }
  .gn-asia-course-page .course_wrap{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
}
@media(max-width:480px){
  .gn-asia-course-page .course_wrap{
    grid-template-columns:1fr!important;
  }
}


/* ===== v3.23 China/Japan title cleanup ===== */

/* 중국어·일본어 페이지 상단에 남아 있는 구형 '中国語 & 日本語' 문구 제거 */
.gn-asia-course-page .title_wrap .gn-asia-old-group-label{
  display:none!important;
}

/* 새 제목만 깔끔하게 남도록 여백 정리 */
.gn-asia-course-page .gn-asia-heading{
  margin-bottom:0!important;
}


/* ===== v3.27 Multilingual Learning Lounge ===== */
.gn-lounge-page{
  max-width:960px;
  margin:28px auto 54px;
  padding:0;
}
.gn-lounge-hero{
  padding:30px 32px;
  border:1px solid #d7e3ee;
  border-radius:20px;
  background:linear-gradient(135deg,#f7fbff 0%,#eef8f8 100%);
}
.gn-lounge-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#009ba7;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.gn-lounge-hero h1{
  margin:0;
  color:#073f78;
  font-size:30px;
  line-height:1.25;
  font-weight:800;
}
.gn-lounge-hero p{
  margin:10px 0 0;
  color:#71849a;
  font-size:13px;
  line-height:1.7;
}
.gn-lounge-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 22px;
}
.gn-lounge-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  height:38px;
  padding:0 16px;
  border:1px solid #cadbea;
  border-radius:999px;
  background:#fff;
  color:#536b82;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  box-sizing:border-box;
}
.gn-lounge-nav a.is-current{
  border-color:#0b4a83;
  background:#0b4a83;
  color:#fff;
}
.gn-lounge-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.gn-lounge-card{
  display:flex;
  flex-direction:column;
  min-height:230px;
  padding:22px 20px 18px;
  border:1px solid #d8e4ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(19,54,87,.05);
  box-sizing:border-box;
}
.gn-lounge-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:17px;
  border-radius:12px;
  background:#edf5fb;
  color:#0b4a83;
  font-size:18px;
  font-weight:800;
}
.gn-lounge-card:nth-child(2n) .gn-lounge-card-icon{
  background:#eef9f8;
  color:#009aa5;
}
.gn-lounge-card h2{
  margin:0 0 7px;
  color:#093f77;
  font-size:17px;
  font-weight:800;
}
.gn-lounge-card p{
  margin:0 0 16px;
  color:#7a899b;
  font-size:11px;
  line-height:1.65;
}
.gn-lounge-card a{
  margin-top:auto;
  color:#0b4a83;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.gn-language-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:22px 0 18px;
}
.gn-language-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  height:36px;
  padding:0 14px;
  border:1px solid #cadbea;
  border-radius:999px;
  background:#fff;
  color:#536b82;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
}
.gn-language-tabs a.is-current{
  background:#0b4a83;
  border-color:#0b4a83;
  color:#fff;
}
.gn-lounge-section{
  margin-top:18px;
  padding:24px;
  border:1px solid #d8e4ee;
  border-radius:16px;
  background:#fff;
}
.gn-lounge-section h2{
  margin:0 0 10px;
  color:#093f77;
  font-size:19px;
}
.gn-lounge-section p{
  margin:0;
  color:#71849a;
  font-size:12px;
  line-height:1.75;
}
.gn-lounge-placeholder{
  margin-top:18px;
  padding:24px;
  border:1px dashed #cbd9e6;
  border-radius:14px;
  background:#f8fbfd;
  color:#6f8296;
  font-size:12px;
  line-height:1.8;
  text-align:center;
}
.gn-lounge-schedule{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}
.gn-lounge-day{
  padding:14px 10px;
  border-radius:12px;
  background:#f5f9fc;
  text-align:center;
  color:#536b82;
  font-size:11px;
}
.gn-lounge-day strong{
  display:block;
  margin-bottom:5px;
  color:#0b4a83;
  font-size:12px;
}
@media(max-width:850px){
  .gn-lounge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .gn-lounge-page{margin:18px 14px 40px}
  .gn-lounge-hero{padding:22px 20px}
  .gn-lounge-hero h1{font-size:25px}
  .gn-lounge-grid{grid-template-columns:1fr}
  .gn-lounge-schedule{grid-template-columns:1fr}
}


/* ===== v3.28 Daily Language tabs + content cards ===== */
.gn-daily-tabs{
  margin-top:22px!important;
}
.gn-daily-tabs button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  height:36px;
  padding:0 16px;
  border:1px solid #cadbea;
  border-radius:999px;
  background:#fff;
  color:#536b82;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.gn-daily-tabs button:hover{
  border-color:#0b4a83;
  color:#0b4a83;
}
.gn-daily-tabs button.is-current{
  border-color:#0b4a83;
  background:#0b4a83;
  color:#fff;
}
.gn-daily-panel{
  display:none;
}
.gn-daily-panel.is-current{
  display:block;
}
.gn-daily-card{
  padding:30px 32px;
  border:1px solid #d8e4ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 26px rgba(19,54,87,.05);
}
.gn-daily-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:20px;
}
.gn-daily-badge{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef8f8;
  color:#008f9a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.gn-daily-date{
  color:#97a6b5;
  font-size:10px;
}
.gn-daily-card h2{
  margin:0;
  color:#073f78;
  font-size:30px;
  line-height:1.3;
  font-weight:800;
  word-break:keep-all;
}
.gn-daily-pron{
  margin:10px 0 0;
  color:#7a8a9c;
  font-size:12px;
  line-height:1.6;
}
.gn-daily-meaning{
  margin:6px 0 0;
  color:#233f5c;
  font-size:16px;
  font-weight:700;
}
.gn-daily-example{
  margin-top:24px;
  padding:18px 20px;
  border-radius:14px;
  background:#f7fafc;
}
.gn-daily-example span{
  display:block;
  margin-bottom:7px;
  color:#009ba7;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
}
.gn-daily-example strong{
  display:block;
  color:#163e68;
  font-size:14px;
  line-height:1.6;
}
.gn-daily-example p{
  margin:5px 0 0;
  color:#78899b;
  font-size:11px;
  line-height:1.6;
}
.gn-daily-tip{
  display:flex;
  gap:12px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e6edf3;
}
.gn-daily-tip strong{
  flex:0 0 auto;
  color:#0b4a83;
  font-size:11px;
}
.gn-daily-tip p{
  margin:0;
  color:#71849a;
  font-size:11px;
  line-height:1.7;
}
.gn-daily-next{
  margin-top:16px;
  padding:15px 18px;
  border:1px solid #d8e4ee;
  border-radius:14px;
  background:#f8fbfd;
}
.gn-daily-next strong{
  color:#0b4a83;
  font-size:11px;
}
.gn-daily-next p{
  display:inline;
  margin-left:10px;
  color:#71849a;
  font-size:11px;
}
@media(max-width:600px){
  .gn-daily-card{
    padding:24px 20px;
  }
  .gn-daily-card h2{
    font-size:24px;
  }
  .gn-daily-card-top{
    align-items:flex-start;
    flex-direction:column;
  }
  .gn-daily-next p{
    display:block;
    margin:6px 0 0;
  }
}


/* ===== v3.29 Learning Library ===== */
.gn-library-intro{
  margin-top:18px;
  padding:22px 24px;
  border:1px solid #d8e4ee;
  border-radius:16px;
  background:#fff;
}
.gn-library-intro h2{
  margin:0 0 8px;
  color:#093f77;
  font-size:18px;
}
.gn-library-intro p{
  margin:0;
  color:#71849a;
  font-size:12px;
  line-height:1.7;
}
.gn-library-samples{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.gn-library-samples article{
  padding:18px;
  border:1px solid #d8e4ee;
  border-radius:15px;
  background:#fff;
}
.gn-library-samples span{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#eef8f8;
  color:#008f9a;
  font-size:10px;
  font-weight:800;
}
.gn-library-samples h3{
  margin:13px 0 7px;
  color:#0b3f73;
  font-size:14px;
  line-height:1.45;
}
.gn-library-samples p{
  margin:0;
  color:#7b8b9c;
  font-size:10.5px;
  line-height:1.6;
}
.gn-library-board-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
  padding:20px 22px;
  border:1px solid #d8e4ee;
  border-radius:16px;
  background:#f8fbfd;
}
.gn-library-board-link strong{
  color:#0b4a83;
  font-size:13px;
}
.gn-library-board-link p{
  margin:5px 0 0;
  color:#71849a;
  font-size:10.5px;
}
.gn-library-board-link a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  padding:0 16px;
  border-radius:9px;
  background:#0b4a83;
  color:#fff;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.gn-library-note{
  margin-top:14px;
  padding:16px 18px;
  border-left:3px solid #00a0aa;
  background:#f8fbfd;
}
.gn-library-note strong{
  color:#0b4a83;
  font-size:11px;
}
.gn-library-note p{
  margin:4px 0 0;
  color:#71849a;
  font-size:10.5px;
  line-height:1.65;
}
@media(max-width:850px){
  .gn-library-samples{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .gn-library-samples{grid-template-columns:1fr}
  .gn-library-board-link{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ===== v3.41 Community board tab correction ===== */
.gn-customer-page .content .meun li:first-child a:not(.gn-board-current){background:#fff!important;color:#36516f!important;border-color:#cedaea!important}
.gn-customer-page .content .meun a.gn-board-current{background:#082f68!important;color:#fff!important;border-color:#082f68!important}
.gn-view-lang-badge{display:inline-flex;align-items:center;height:22px;margin-right:8px;padding:0 8px;border-radius:999px;background:#eef8f8;color:#008f9a;font-size:10px;font-weight:800;vertical-align:middle}

/* ===== v3.46 Learning Library editor-font fidelity =====
   The generic board rule sets every TD to 13px!important.
   That is correct for LIST rows, but it was also affecting the DETAIL article body.
   Make the article default match the editor: Malgun Gothic 12pt.
   Child spans/fonts with explicit editor styles can still override this inherited default. */
.gn-customer-page .notice_tb td.gn-library-article-body{
  font-family:'Malgun Gothic','맑은 고딕','Segoe UI',Arial,sans-serif!important;
  font-size:12pt!important;
  line-height:1.7!important;
  letter-spacing:0!important;
}
.gn-customer-page .gn-library-article-body [style*="font-family"],
.gn-customer-page .gn-library-article-body [style*="font-size"],
.gn-customer-page .gn-library-article-body font[face],
.gn-customer-page .gn-library-article-body font[size]{
  font-synthesis:none;
}


/* ===== v3.47 Learning Library typography final ===== */
/* Article body: make Korean + Latin use the same Malgun Gothic family.
   Legacy nested font/face styles are intentionally overridden on the member view. */
.gn-customer-page .notice_tb td.gn-library-article-body,
.gn-customer-page .notice_tb td.gn-library-article-body *{
  font-family:'Malgun Gothic','맑은 고딕','Segoe UI',Arial,sans-serif!important;
}
.gn-customer-page .notice_tb td.gn-library-article-body{
  font-size:12pt!important;
  line-height:1.72!important;
  color:#526b88!important;
  letter-spacing:-0.08px!important;
}
/* Detail title: separate, cleaner display type. */
.gn-customer-page .notice_tb th.view{
  font-family:'Noto Sans KR','Malgun Gothic','맑은 고딕','Segoe UI',sans-serif!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:700!important;
  letter-spacing:-0.25px!important;
  color:#103b70!important;
}
/* List subject: slightly softer than the detail title. */
.gn-customer-page .notice_tb td a.subject{
  font-family:'Noto Sans KR','Malgun Gothic','맑은 고딕','Segoe UI',sans-serif!important;
  font-weight:600!important;
  letter-spacing:-0.15px!important;
}


/* ===== v3.48 Learning Library editor-layout parity + print =====
   Keep the visual rhythm from CHEditor on the member detail page. */
.gn-customer-page .gn-library-article-body hr{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  height:0!important;
  margin:22px 0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid #d8dee7!important;
  background:none!important;
  clear:both!important;
  box-sizing:border-box!important;
}
.gn-customer-page .gn-library-article-body p{
  margin-top:0!important;
  margin-bottom:9px!important;
}
.gn-customer-page .gn-library-article-body .gn-editor-blank-line{
  display:block!important;
  min-height:12px!important;
  height:12px!important;
  line-height:12px!important;
  margin:0!important;
  padding:0!important;
}
.gn-customer-page .gn-library-article-body img{
  max-width:100%!important;
  height:auto;
}
.gn-library-print-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:28px!important;
  margin-left:12px!important;
  padding:0 11px!important;
  border:1px solid #c9d8e8!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#174a7c!important;
  font-family:'Noto Sans KR','Malgun Gothic','맑은 고딕',sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  text-decoration:none!important;
  vertical-align:middle!important;
  cursor:pointer!important;
}
.gn-library-print-btn:hover{
  border-color:#0b4a83!important;
  background:#f3f8fd!important;
  color:#0b4a83!important;
}


/* ===== v3.50 Corporate 1:1 On-site Training ===== */
/* Four primary services in the global navigation */
.gn-nav{gap:30px}
.gn-onsite-menu{grid-column:1/-1!important;border-left:0!important;padding-left:0!important;border-top:1px solid var(--gn-line);padding-top:18px}
.gn-onsite-menu .gn-mega-title{margin-bottom:9px;padding-bottom:10px;border-bottom:0}
.gn-onsite-menu-links{display:flex;gap:10px;flex-wrap:wrap}
.gn-onsite-menu-links a{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid #d9e5f0;border-radius:8px;color:#264564;font-size:12px;font-weight:700;background:#f8fbfe}
.gn-onsite-menu-links a:hover{border-color:#90c6cf;color:#087e89;background:#f0fbfb}

/* Home: four education-program pillars */
.gn-programs{max-width:1340px;margin:0 auto;padding:48px 30px 34px}
.gn-programs-head{margin-bottom:24px}
.gn-program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.gn-program-card{position:relative;display:flex;min-height:220px;flex-direction:column;padding:25px 23px 22px;border:1px solid #dfe7f1;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(3,27,62,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden}
.gn-program-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#6a9ed2}
.gn-program-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(3,27,62,.10);border-color:#cbdbea}
.gn-program-card.is-smart:before{background:#1769cf}.gn-program-card.is-phone:before{background:#0d9aa6}.gn-program-card.is-onsite:before{background:#083d78}.gn-program-card.is-lounge:before{background:#4a83b8}
.gn-program-kicker{display:block;margin:4px 0 13px;color:#6a7e95;font-size:10px;font-weight:800;letter-spacing:.12em}
.gn-program-card>strong{display:block;color:#0b315f;font-size:20px;letter-spacing:-.025em}
.gn-program-card p{margin:11px 0 17px;color:#66788d;font-size:12px;line-height:1.75;word-break:keep-all}
.gn-program-card em{margin-top:auto;color:#164f88;font-size:12px;font-style:normal;font-weight:800}
.gn-program-badge{position:absolute;right:16px;top:15px;padding:5px 8px;border-radius:999px;background:#e8f2fb;color:#0b477e;font-size:9px;font-weight:800}
.gn-program-card.is-onsite{background:linear-gradient(150deg,#f4f9fe,#fff 68%);border-color:#cddfed}
.gn-daily-home{margin-top:12px}

/* Corporate 1:1 On-site page */
.gn-onsite-page{max-width:1240px;margin:0 auto;padding:38px 28px 72px;color:#143454}
.gn-onsite-hero{position:relative;padding:48px 50px;border:1px solid #d9e6f1;border-radius:22px;background:linear-gradient(120deg,#eef7ff 0%,#f7fbff 54%,#edf8f8 100%);overflow:hidden}
.gn-onsite-hero:after{content:"1:1";position:absolute;right:42px;bottom:-28px;color:rgba(6,39,87,.055);font-size:132px;font-weight:900;letter-spacing:-.08em}
.gn-onsite-eyebrow{display:block;margin-bottom:10px;color:#078d98;font-size:11px;font-weight:800;letter-spacing:.17em}
.gn-onsite-hero h1{position:relative;z-index:1;margin:0;color:#072e61;font-size:38px;line-height:1.2;letter-spacing:-.045em}
.gn-onsite-hero p{position:relative;z-index:1;max-width:760px;margin:14px 0 0;color:#5f748a;font-size:14px;line-height:1.85;word-break:keep-all}
.gn-onsite-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 46px;border:1px solid #dfe8f1;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(6,39,87,.045);overflow:hidden}
.gn-onsite-summary>div{padding:22px 22px;border-right:1px solid #e7edf3}.gn-onsite-summary>div:last-child{border-right:0}
.gn-onsite-summary span{display:block;color:#7c8da0;font-size:10px;font-weight:700}.gn-onsite-summary strong{display:block;margin:7px 0 4px;color:#103a69;font-size:15px}.gn-onsite-summary small{color:#74869a;font-size:11px}
.gn-onsite-section{padding:42px 0}.gn-onsite-section.is-soft{margin:14px -28px;padding:46px 28px;background:#f7fafc;border-top:1px solid #edf2f6;border-bottom:1px solid #edf2f6}
.gn-onsite-section-head{text-align:center;max-width:780px;margin:0 auto 26px}.gn-onsite-section-head.is-left{text-align:left;margin:0 0 22px}
.gn-onsite-section-head>span{display:block;margin-bottom:7px;color:#078d98;font-size:10px;font-weight:800;letter-spacing:.16em}.gn-onsite-section-head h2{margin:0;color:#0b3568;font-size:28px;letter-spacing:-.035em}.gn-onsite-section-head p{margin:10px 0 0;color:#6e8093;font-size:12px;line-height:1.8}
.gn-onsite-process{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none}.gn-onsite-process li{min-height:165px;padding:20px;border:1px solid #dfe8f1;border-radius:15px;background:#fff}.gn-onsite-process b{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:9px;background:#edf5fc;color:#0d578f;font-size:10px}.gn-onsite-process strong{display:block;margin:13px 0 7px;color:#163c66;font-size:15px}.gn-onsite-process p{margin:0;color:#718398;font-size:11px;line-height:1.7}
.gn-onsite-course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.gn-onsite-course-grid article{padding:22px;border:1px solid #dde7ef;border-radius:16px;background:#fff}.gn-onsite-course-grid article>span{color:#0c8b96;font-size:10px;font-weight:800}.gn-onsite-course-grid h3{margin:8px 0 3px;color:#75879a;font-size:11px;font-weight:600}.gn-onsite-course-grid strong{display:block;color:#123b68;font-size:18px}.gn-onsite-course-grid p{margin:11px 0 0;color:#6e8195;font-size:11px;line-height:1.75}
.gn-onsite-two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:32px;align-items:start}.gn-onsite-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none}.gn-onsite-checks li{position:relative;padding:13px 14px 13px 35px;border:1px solid #e0e9f1;border-radius:12px;background:#fff;color:#4e657c;font-size:11px;line-height:1.55}.gn-onsite-checks li:before{content:"✓";position:absolute;left:13px;top:12px;color:#078d98;font-weight:900}
.gn-onsite-languages{padding:25px;border-radius:17px;background:#082f62;color:#fff}.gn-onsite-languages>span{display:block;color:#70d0d3;font-size:9px;font-weight:800;letter-spacing:.15em}.gn-onsite-languages h3{margin:7px 0 18px;font-size:20px}.gn-onsite-languages div{padding:11px 0;border-top:1px solid rgba(255,255,255,.13)}.gn-onsite-languages b{display:block;font-size:13px}.gn-onsite-languages small{display:block;margin-top:3px;color:#b8cae0;font-size:10px}
.gn-onsite-note{margin-top:24px;padding:28px 32px;border:1px solid #dce8f1;border-radius:17px;background:linear-gradient(120deg,#f6faff,#eef9f9);display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}.gn-onsite-note strong{color:#0b386b;font-size:17px}.gn-onsite-note p{margin:0;color:#687c91;font-size:11px;line-height:1.6}.gn-onsite-note a{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:9px;background:#083d78;color:#fff;font-size:11px;font-weight:800}

@media(max-width:1100px){
  .gn-nav{gap:14px}.gn-nav-trigger{font-size:14px}
  .gn-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gn-onsite-course-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .gn-onsite-menu{grid-column:auto!important;border-top:0;padding-top:0}.gn-onsite-menu-links{display:block}.gn-onsite-menu-links a{display:flex;margin-bottom:6px}
  .gn-programs{padding:34px 18px 24px}
  .gn-onsite-page{padding:26px 16px 50px}.gn-onsite-hero{padding:34px 26px}.gn-onsite-hero h1{font-size:31px}.gn-onsite-hero:after{font-size:96px;right:20px}
  .gn-onsite-summary{grid-template-columns:1fr 1fr}.gn-onsite-summary>div:nth-child(2){border-right:0}.gn-onsite-summary>div:nth-child(-n+2){border-bottom:1px solid #e7edf3}
  .gn-onsite-process{grid-template-columns:repeat(2,1fr)}
  .gn-onsite-two-col{grid-template-columns:1fr}.gn-onsite-section.is-soft{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.gn-onsite-note{grid-template-columns:1fr;gap:10px}
}
@media(max-width:520px){
  .gn-program-grid,.gn-onsite-process,.gn-onsite-course-grid,.gn-onsite-checks{grid-template-columns:1fr}
  .gn-program-card{min-height:190px}.gn-onsite-summary{grid-template-columns:1fr}.gn-onsite-summary>div{border-right:0!important;border-bottom:1px solid #e7edf3}.gn-onsite-summary>div:last-child{border-bottom:0}
  .gn-onsite-section-head h2{font-size:24px}.gn-onsite-hero p{font-size:12px}
}


/* ===== v3.52 Education Inquiry / Representative Number ===== */
.gn-contact-bar{width:100%;background:#f5f8fc;border-bottom:1px solid #e5ebf2;color:#51657b}
.gn-contact-bar-inner{max-width:1440px;height:34px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:flex-end;gap:18px;font-size:11px}
.gn-contact-bar-inner>span{color:#6c7e91}
.gn-contact-bar-inner a{display:inline-flex;align-items:center;gap:7px;color:#153d69}
.gn-contact-bar-inner a b{font-size:10px;color:#71859b;font-weight:700}
.gn-contact-bar-inner a strong{font-size:15px;letter-spacing:.02em;color:#073465}
.gn-contact-bar-inner a:hover strong{color:#078d98}

.gn-home-inquiry{max-width:1340px;margin:8px auto 42px;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #d9e6ef;border-radius:18px;background:linear-gradient(115deg,#f5f9fd 0%,#eef8f8 100%)}
.gn-home-inquiry-copy>span{display:block;margin-bottom:5px;color:#078d98;font-size:10px;font-weight:800;letter-spacing:.16em}
.gn-home-inquiry-copy>strong{display:block;color:#0b3568;font-size:21px;letter-spacing:-.03em}
.gn-home-inquiry-copy p{margin:7px 0 0;color:#6a7c8f;font-size:12px;line-height:1.7;word-break:keep-all}
.gn-home-inquiry-phone{min-width:250px;padding:10px 6px 10px 28px;border-left:1px solid #ccdae5;display:flex;flex-direction:column;align-items:flex-start}
.gn-home-inquiry-phone small{color:#708399;font-size:10px;font-weight:700}
.gn-home-inquiry-phone strong{margin-top:1px;color:#082f62;font-size:28px;line-height:1.2;letter-spacing:.025em}
.gn-home-inquiry-phone:hover strong{color:#078d98}

.gn-footer-contact{margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12)}
.gn-footer-contact span{display:block;color:#91a8c2;font-size:10px}
.gn-footer-contact a{display:inline-block;margin-top:3px;color:#fff;font-size:22px;font-weight:800;letter-spacing:.02em}
.gn-footer-contact a:hover{color:#7ad0d5}

@media(max-width:820px){
  .gn-contact-bar-inner{height:32px;padding:0 18px}.gn-contact-bar-inner>span{display:none}.gn-contact-bar-inner a strong{font-size:14px}
  .gn-home-inquiry{margin:6px 16px 32px;padding:22px;flex-direction:column;align-items:flex-start;gap:18px}
  .gn-home-inquiry-phone{min-width:0;width:100%;padding:16px 0 0;border-left:0;border-top:1px solid #ccdae5}
  .gn-home-inquiry-phone strong{font-size:25px}
}


/* ===== v3.53 Join button + compact inquiry placement ===== */
.gn-user-actions{gap:8px}
.gn-user-actions .gn-join-link{background:#fff;color:var(--gn-navy);border:1px solid #9fb3ca;box-shadow:none}
.gn-user-actions .gn-join-link:hover{border-color:var(--gn-navy);background:#f7faff}
.gn-home-inquiry.gn-home-inquiry-compact{margin:8px auto 30px;padding:17px 26px;border-radius:14px}
.gn-home-inquiry-compact .gn-home-inquiry-copy>span{margin-bottom:3px;font-size:9px}
.gn-home-inquiry-compact .gn-home-inquiry-copy>strong{font-size:18px}
.gn-home-inquiry-compact .gn-home-inquiry-copy p{margin-top:4px;font-size:11px;line-height:1.55}
.gn-home-inquiry-compact .gn-home-inquiry-phone{min-width:220px;padding:5px 4px 5px 24px}
.gn-home-inquiry-compact .gn-home-inquiry-phone strong{font-size:24px}
@media(max-width:1180px) and (min-width:821px){
  .gn-user-actions{gap:6px}
  .gn-user-actions .gn-btn{height:38px;padding-left:11px;padding-right:11px;font-size:11px}
}
@media(max-width:820px){
  .gn-home-inquiry.gn-home-inquiry-compact{margin:4px 16px 26px;padding:18px 20px}
  .gn-home-inquiry-compact .gn-home-inquiry-phone{padding-top:12px}
}

/* ===== v3.55 Member Notice / FAQ typography =====
   Public customer-center boards only. Keep main, Learning Library and admin editor untouched. */
.gn-customer-page .notice_tb,
.gn-customer-page .notice_tb th,
.gn-customer-page .notice_tb td,
.gn-customer-page .notice_tb a,
.gn-customer-page .notice_tb span,
.gn-customer-page .notice_tb strong,
.gn-customer-page #faq-list,
.gn-customer-page #faq-list a,
.gn-customer-page #faq-list span,
.gn-customer-page #faq-list strong,
.gn-customer-page #faq-list .q_active,
.gn-customer-page #faq-list .q_active *,
.gn-customer-page #faq-list .bg_gray,
.gn-customer-page #faq-list .bg_gray *,
.gn-customer-page .view_tb,
.gn-customer-page .view_tb th,
.gn-customer-page .view_tb td,
.gn-customer-page .view_tb td *,
.gn-customer-page .board_view,
.gn-customer-page .board_view th,
.gn-customer-page .board_view td,
.gn-customer-page .board_view td *,
.gn-customer-page table.view,
.gn-customer-page table.view th,
.gn-customer-page table.view td,
.gn-customer-page table.view td *{
  font-family:'Malgun Gothic','맑은 고딕',Arial,sans-serif!important;
}

/* Saved legacy <font face=...> markup must not bring Gulim/Dotum back on public boards. */
.gn-customer-page #faq-list font,
.gn-customer-page .notice_tb font,
.gn-customer-page .view_tb font,
.gn-customer-page .board_view font,
.gn-customer-page table.view font{
  font-family:'Malgun Gothic','맑은 고딕',Arial,sans-serif!important;
}

/* ===== v3.65 Mobile-first: Learning Library + compact footer ===== */
.gn-footer-mobile-meta{display:none}

@media (max-width:820px){
  /* Legacy board pages: once viewport is correct, never retain fixed desktop widths. */
  .contents_wrap{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
  .gn-library-board-page{width:calc(100% - 28px)!important;max-width:none!important;margin:0 auto 34px!important;padding:0!important}
  .gn-library-board-page .con_wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important}

  /* Learning Library language filter and search */
  .gn-library-board-page .gn-board-lang{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0 0 14px!important}
  .gn-library-board-page .gn-board-lang a{min-width:0!important;width:100%!important;height:40px!important;padding:0 7px!important;font-size:12px!important}
  .gn-library-board-page .board_search_wrap{display:grid!important;grid-template-columns:78px minmax(0,1fr) 58px!important;gap:6px!important;margin-bottom:15px!important}
  .gn-library-board-page .board_search_wrap .board_search{width:100%!important}
  .gn-library-board-page .board_search_wrap select,.gn-library-board-page .board_search_wrap input[type=text],.gn-library-board-page .board_search_wrap .btn_big{width:100%!important;min-width:0!important;height:40px!important;margin:0!important;font-size:12px!important}
  .gn-library-board-page .board_search_wrap .btn_big{padding:0 8px!important}

  /* Library list becomes touch-friendly content cards. */
  .gn-library-list-table{display:block!important;width:100%!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;table-layout:auto!important}
  .gn-library-list-table colgroup,.gn-library-list-table thead{display:none!important}
  .gn-library-list-table tbody{display:block!important;width:100%!important}
  .gn-library-list-table tbody tr{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:0 12px!important;width:100%!important;margin:0 0 10px!important;padding:16px 16px 14px!important;border:1px solid #dfe7f0!important;border-radius:15px!important;background:#fff!important;box-shadow:0 5px 16px rgba(4,34,72,.045)!important}
  .gn-library-list-table tbody td{display:block!important;width:auto!important;height:auto!important;min-height:0!important;border:0!important;background:transparent!important;padding:0!important;line-height:1.5!important}
  .gn-library-list-table tbody td:first-child{display:none!important}
  .gn-library-list-table tbody td:nth-child(2){order:1!important;flex:0 0 100%!important;width:100%!important;margin:0 0 10px!important;color:#163b67!important}
  .gn-library-list-table tbody td:nth-child(2) .subject{display:block!important;width:100%!important;color:#173d69!important;font-size:15px!important;font-weight:700!important;line-height:1.55!important;word-break:keep-all!important;text-decoration:none!important}
  .gn-library-list-table .gn-lang-badge{height:23px!important;margin:0 7px 0 0!important;padding:0 8px!important;font-size:10px!important;vertical-align:2px!important}
  .gn-library-list-table tbody td:nth-child(3),.gn-library-list-table tbody td:nth-child(4){order:2!important;color:#8795a6!important;font-size:11px!important;line-height:1.4!important}
  .gn-library-list-table tbody td:nth-child(3):before{content:"등록 ";color:#9aa7b6!important}
  .gn-library-list-table tbody td:nth-child(4):before{content:"조회 ";color:#9aa7b6!important}
  .gn-library-list-table tbody tr:hover td{background:transparent!important}
  .gn-library-list-table .dot_line{display:block!important;width:100%!important;text-align:center!important;padding:24px!important}

  /* Library article: use the phone width as an article, not a shrunk A4 sheet. */
  .gn-library-view-page{width:calc(100% - 28px)!important}
  .gn-library-view-table{display:table!important;width:100%!important;table-layout:fixed!important;border-radius:14px!important}
  .gn-library-view-table th.view{padding:16px 15px!important;font-size:18px!important;line-height:1.45!important;text-align:left!important;word-break:keep-all!important}
  .gn-library-view-table tbody>tr:first-child>td{padding:10px 15px!important;color:#8593a3!important;font-size:11px!important;text-align:left!important}
  .gn-library-view-table td.gn-library-article-body{padding:19px 15px 24px!important;font-family:'Malgun Gothic','맑은 고딕','Noto Sans KR',sans-serif!important;font-size:15px!important;line-height:1.85!important;color:#40536a!important;word-break:normal!important;overflow-wrap:anywhere!important}
  .gn-library-view-table td.gn-library-article-body *{max-width:100%!important}
  .gn-library-view-table td.gn-library-article-body p,.gn-library-view-table td.gn-library-article-body div,.gn-library-view-table td.gn-library-article-body li{font-size:15px!important;line-height:1.85!important}
  .gn-library-view-table td.gn-library-article-body h1{font-size:24px!important;line-height:1.35!important}
  .gn-library-view-table td.gn-library-article-body h2{font-size:20px!important;line-height:1.4!important}
  .gn-library-view-table td.gn-library-article-body h3{font-size:17px!important;line-height:1.45!important}
  .gn-library-view-table td.gn-library-article-body img{height:auto!important;max-width:100%!important}
  .gn-library-view-table td.gn-library-article-body table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .gn-library-view-table #gnLibraryAttachRow td{padding:12px 15px!important;font-size:12px!important}
  .gn-library-view-page>.con_wrap>form>.f_right{float:none!important;display:flex!important;justify-content:flex-end!important;margin:12px 0!important}
  .gn-library-view-page>.con_wrap>form>.f_right .btn_big{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:72px!important;height:40px!important;padding:0 16px!important;border-radius:9px!important;background:#0b376d!important;color:#fff!important}
  .gn-library-view-page .notice_tb.mt20{margin-top:14px!important}
  .gn-library-view-page .notice_tb.mt20 td:first-child{width:64px!important;white-space:nowrap!important}
  .gn-library-member-lock{padding:20px 12px!important}
  .gn-library-member-lock>div{padding:23px 18px!important;border-radius:12px!important}
  .gn-library-member-lock br{display:none!important}

  /* Mobile footer: navigation lives in the hamburger menu, so footer is identity + legal only. */
  .gn-footer{margin-top:0!important}
  .gn-footer-quick{display:none!important}
  .gn-footer-main{display:block!important;padding:20px 18px 11px!important}
  .gn-footer-brand-block{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
  .gn-footer-brand-block img{width:142px!important;max-width:42vw!important}
  .gn-footer-contact{margin:0!important;padding:0!important;border:0!important;text-align:right!important;flex:none!important}
  .gn-footer-contact span{font-size:9px!important;line-height:1.35!important}
  .gn-footer-contact a{margin-top:2px!important;font-size:17px!important;line-height:1.2!important}
  .gn-footer-columns{display:none!important}
  .gn-footer-legal{padding:10px 18px 17px!important;border-top:1px solid rgba(255,255,255,.1)!important;font-size:9px!important;line-height:1.55!important}
  .gn-footer-legal .gn-footer-desktop-legal{display:none!important}
  .gn-footer-mobile-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important}
  .gn-footer-mobile-meta p{margin:0!important;color:#9fb2ca!important;font-size:9px!important}
  .gn-footer-mobile-links{display:flex!important;gap:12px!important}
  .gn-footer-mobile-links a{color:#c7d5e5!important;font-size:9px!important;text-decoration:none!important;white-space:nowrap!important}
  .gn-copyright{margin:6px 0 0!important;color:#8fa4bd!important;font-size:9px!important}
}

@media (max-width:420px){
  .gn-library-board-page .gn-board-lang{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gn-library-board-page .board_search_wrap{grid-template-columns:72px minmax(0,1fr) 54px!important}
  .gn-library-list-table tbody tr{padding:15px 14px 13px!important}
  .gn-library-list-table tbody td:nth-child(2) .subject{font-size:14px!important}
  .gn-library-view-table th.view{font-size:17px!important}
  .gn-library-view-table td.gn-library-article-body,.gn-library-view-table td.gn-library-article-body p,.gn-library-view-table td.gn-library-article-body div,.gn-library-view-table td.gn-library-article-body li{font-size:14px!important}
  .gn-footer-brand-block{align-items:flex-start!important}
  .gn-footer-brand-block img{width:132px!important}
  .gn-footer-contact a{font-size:16px!important}
}
