:root{--navy:#071d49;--navy2:#0d2e67;--blue:#155bd7;--sky:#eef5ff;--orange:#ff7a1a;--ink:#14213d;--muted:#647089;--line:#dce4ef;--white:#fff;--soft:#f5f8fc;--radius:18px;--shadow:0 18px 60px rgba(7,29,73,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:"Noto Sans KR",sans-serif;font-size:16px;line-height:1.7;background:#fff}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:10px;top:-60px;background:#fff;color:#000;padding:10px;z-index:999}.skip-link:focus{top:10px}.topbar{background:var(--navy);color:#dbe7ff;font-size:.82rem}.topbar-inner{display:flex;justify-content:space-between;padding:6px 0}.topbar a{font-weight:700;color:#fff}.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:50;border-bottom:1px solid rgba(220,228,239,.8)}.nav-row{height:76px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:linear-gradient(145deg,var(--blue),var(--navy));color:#fff;font-weight:900;font-size:1.25rem}.brand b{display:block;font-size:1.05rem;line-height:1.2}.brand small{display:block;font-size:.58rem;letter-spacing:.1em;color:#7c879b}.main-nav{margin-left:auto;display:flex;gap:24px;align-items:center}.main-nav a{font-weight:600;font-size:.92rem}.main-nav a:hover{color:var(--blue)}.menu-button{display:none;border:0;background:none;font-weight:700}.button{border:0;border-radius:11px;padding:13px 20px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s}.button:hover{transform:translateY(-2px)}.button-sm{padding:10px 17px}.button-orange{background:var(--orange);color:#fff;box-shadow:0 10px 26px rgba(255,122,26,.22)}.button-navy{background:var(--navy);color:#fff}.button-white{background:#fff;color:var(--navy)}.button-light{background:var(--soft);color:var(--navy);margin-top:10px}.button-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.35)}.button-outline-light{border:1px solid rgba(255,255,255,.35);color:#fff;background:transparent}.full{width:100%}.hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#06183d 0%,#0a2b69 62%,#104c9c 100%);color:#fff}.hero:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(38,123,255,.2);filter:blur(10px);right:-160px;top:-230px}.hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to right,transparent,black)}.hero-layout{position:relative;z-index:2;min-height:630px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center;padding:80px 0}.eyebrow{margin:0 0 16px;color:#91b9ff;font-size:.78rem;font-weight:900;letter-spacing:.15em}.eyebrow.blue{color:var(--blue)}.hero h1{font-size:clamp(2.5rem,5vw,4.55rem);line-height:1.14;letter-spacing:-.055em;margin:0 0 24px}.hero h1 span{color:#ff983f}.hero-description{max-width:650px;font-size:1.1rem;color:#dbe7ff;margin:0 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-row{padding:0;margin:46px 0 0;display:flex;list-style:none}.trust-row li{padding:0 28px;border-right:1px solid rgba(255,255,255,.18)}.trust-row li:first-child{padding-left:0}.trust-row li:last-child{border:0}.trust-row b,.trust-row span{display:block}.trust-row b{font-size:1.05rem}.trust-row span{font-size:.78rem;color:#9eb2d8}.hero-panel{background:#fff;color:var(--ink);border-radius:24px;padding:10px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.panel-head{display:flex;align-items:center;gap:9px;padding:16px 18px;border-bottom:1px solid var(--line);font-size:.9rem}.status-dot{width:8px;height:8px;background:#17a668;border-radius:50%;box-shadow:0 0 0 5px rgba(23,166,104,.12)}.quick-courses a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:18px 16px;border-bottom:1px solid var(--line);transition:.2s}.quick-courses a:hover{background:var(--sky)}.course-no{color:var(--blue);font-weight:900;font-size:.8rem}.quick-courses b,.quick-courses small{display:block}.quick-courses small{color:var(--muted);margin-top:2px}.quick-courses i{font-style:normal;color:var(--blue)}.panel-call{display:flex;justify-content:space-between;align-items:center;margin:10px 0 0;padding:15px 17px;border-radius:13px;background:var(--navy);color:#fff}.panel-call span{font-size:.8rem;color:#9fbae9}.notice-band{border-bottom:1px solid var(--line)}.notice-inner{min-height:66px;display:flex;align-items:center;gap:18px}.notice-label{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:var(--orange)}.notice-inner p{margin:0;flex:1;font-size:.9rem}.notice-inner a{font-weight:800;color:var(--blue);font-size:.9rem}.section{padding:110px 0}.section-soft{background:var(--soft)}.section-heading{margin-bottom:44px}.section-heading h2{font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.045em;line-height:1.25;margin:0}.section-heading>p:last-child{color:var(--muted)}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:50px}.split-heading>p{max-width:480px;margin:0 0 8px}.centered{text-align:center}.centered>p:last-child{margin:12px 0 0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;min-height:265px;background:#fff}.feature-card.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.feature-index{position:absolute;right:20px;top:18px;color:#a2aec2;font-size:.75rem;font-weight:800}.feature-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:var(--sky);color:var(--blue);font-weight:900;font-size:1.2rem;margin-bottom:34px}.dark .feature-icon{background:rgba(255,255,255,.1);color:#fff}.feature-card h3{margin:0 0 10px;font-size:1.12rem}.feature-card p{margin:0;color:var(--muted);font-size:.9rem}.feature-card.dark p{color:#b8c8e4}.course-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:30px;flex-wrap:wrap}.tab{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-weight:700;padding:10px 21px;cursor:pointer}.tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;min-height:300px;transition:.25s}.course-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#abc7f5}.course-card.hidden{display:none}.course-card.accent{border-top:4px solid var(--orange)}.course-top span,.course-top b{display:block}.course-top span{color:var(--blue);font-size:.76rem;font-weight:800}.course-top b{font-size:1.35rem;margin:3px 0 12px}.course-card>p{color:var(--muted);margin:0 0 15px}.course-card ul{margin:0 0 22px;padding-left:19px;font-size:.88rem}.course-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;gap:8px}.text-button,.pay-button{border:0;background:none;cursor:pointer;font-weight:800;color:var(--blue);padding:5px}.pay-button{background:var(--sky);border-radius:8px;padding:8px 11px}.schedule-section{background:var(--navy);color:#fff}.split-heading.light>p{color:#b9c9e5}.schedule-list{border-top:1px solid rgba(255,255,255,.16)}.schedule-list article{display:grid;grid-template-columns:120px 1fr 180px 115px;gap:25px;align-items:center;padding:25px 5px;border-bottom:1px solid rgba(255,255,255,.16)}.schedule-category{color:#8fb8ff;font-size:.82rem;font-weight:800}.schedule-list h3,.schedule-list p{margin:0}.schedule-list h3{font-size:1.12rem}.schedule-list p{color:#aebfdd;font-size:.86rem}.schedule-list strong{font-size:.9rem}.schedule-note{color:#96a9ca;font-size:.8rem;margin:20px 0 0}.support-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.support-copy h2{font-size:clamp(2rem,3.7vw,3.2rem);line-height:1.25;margin:0 0 20px}.support-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:26px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.steps>li>span{font-size:.78rem;font-weight:900;color:var(--blue);width:30px}.steps b{font-size:1.05rem}.steps p{margin:2px 0 0;color:var(--muted);font-size:.88rem}.exam-section{padding-top:20px}.exam-card{background:linear-gradient(120deg,#eaf3ff,#f8fbff);border:1px solid #d4e5ff;border-radius:26px;padding:60px 70px;display:grid;grid-template-columns:170px 1fr;gap:50px;align-items:center}.exam-badge{width:160px;height:160px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 0 8px #fff,inset 0 0 0 10px var(--navy)}.exam-badge span,.exam-badge b{display:block}.exam-badge span{font-size:.8rem;color:#9fb9e7}.exam-badge b{font-size:1.6rem}.exam-card h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 15px;letter-spacing:-.04em}.exam-card p{color:var(--muted);margin:0 0 8px}.exam-card small{color:var(--blue);font-weight:700}.blog-link{color:var(--blue);font-weight:800;margin-bottom:10px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border-radius:var(--radius);padding:28px;border:1px solid var(--line);display:flex;flex-direction:column;min-height:290px}.stars{color:var(--orange);letter-spacing:.15em}.review-card>p{font-size:1.02rem;line-height:1.85}.review-card footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.review-card footer b,.review-card footer span{display:block}.review-card footer span{font-size:.78rem;color:var(--muted);margin-top:3px}.faq-layout{display:grid;grid-template-columns:.55fr 1fr;gap:80px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:21px 35px 21px 4px;font-weight:700;position:relative;list-style:none}.faq-list summary:after{content:"+";position:absolute;right:5px;font-size:1.4rem;color:var(--blue)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);margin:-5px 30px 22px 4px;font-size:.92rem}.location-section{background:#071838;color:#fff}.location-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.location-info h2{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.2;margin:0 0 30px}.location-info dl{margin:0 0 30px}.location-info dl div{display:grid;grid-template-columns:90px 1fr;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.13)}.location-info dt{color:#8fa5cc}.location-info dd{margin:0;font-weight:600}.placeholder{color:#8fa5cc;font-size:.85rem}.location-actions{display:flex;gap:10px}.map-placeholder{min-height:370px;border-radius:23px;background:radial-gradient(circle at 35% 40%,#e8f0fb 0 4px,transparent 5px),linear-gradient(28deg,transparent 48%,#c8d5e8 49% 51%,transparent 52%),linear-gradient(130deg,transparent 48%,#d6e0ed 49% 51%,transparent 52%),#f4f7fb;background-size:34px 34px,130px 100px,160px 130px,auto;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 10px rgba(255,255,255,.25)}.pin{width:34px;height:34px;display:grid;place-items:center;border-radius:50% 50% 50% 0;background:var(--orange);color:#fff;transform:rotate(-45deg);margin-bottom:20px}.map-placeholder b{font-size:1.1rem}.map-placeholder p{margin:5px 0;color:var(--muted);font-size:.85rem}.final-cta{background:var(--blue);color:#fff;padding:55px 0}.final-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.final-inner p,.final-inner h2{margin:0}.final-inner p{color:#c9dcff}.final-inner h2{font-size:1.55rem;margin-top:4px}.final-inner>div:last-child{display:flex;gap:10px;min-width:max-content}.footer{background:#050f25;color:#8192b2;padding:50px 0 95px;font-size:.8rem}.footer-grid{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:40px}.footer-brand b{color:#fff}.footer-info p{margin:2px 0}.footer-links{display:flex;flex-direction:column;gap:5px}.footer-links a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.09);padding-top:20px;margin-top:30px}.mobile-dock{display:none}dialog{border:0;padding:0;background:transparent;max-width:min(520px,calc(100% - 30px));width:100%}dialog::backdrop{background:rgba(2,11,30,.68);backdrop-filter:blur(4px)}.dialog-card{position:relative;background:#fff;border-radius:22px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.3);color:var(--ink)}.dialog-card h2{margin:0 0 6px;font-size:1.75rem}.dialog-intro{margin:0 0 22px;color:var(--muted)}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:1.7rem;color:#73809a;cursor:pointer}.dialog-card label:not(.check){display:block;font-size:.82rem;font-weight:700;margin:12px 0}.dialog-card input,.dialog-card select,.dialog-card textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin-top:5px;background:#fff}.dialog-card textarea{resize:vertical}.check{display:flex;gap:8px;align-items:center;font-size:.8rem;margin:18px 0}.form-note{font-size:.72rem;color:#8994a8;text-align:center;margin:10px 0 0}.payment-dialog{text-align:center}.payment-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--sky);color:var(--blue);font-weight:900;font-size:1.5rem;margin:0 auto 18px}.payment-dialog p{color:var(--muted)}.course-dialog{text-align:left}.course-dialog #course-description{background:var(--soft);border-radius:13px;padding:18px;margin:18px 0;color:var(--muted)}.course-dialog ul{padding-left:20px}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:13px 20px;border-radius:10px;z-index:100;opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.main-nav{display:none;position:absolute;top:108px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-button{display:block;margin-left:auto}.nav-row>.button{display:none}.hero-layout{grid-template-columns:1fr;gap:35px;padding:70px 0}.hero-panel{max-width:650px}.feature-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.support-layout,.faq-layout{gap:50px}.review-grid{grid-template-columns:1fr}.review-card{min-height:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:55;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(7,29,73,.1)}.mobile-dock a,.mobile-dock button{border:0;background:#fff;color:var(--navy);font-size:.76rem;font-weight:800;text-align:center;padding:13px 3px}.mobile-dock button:last-child{background:var(--orange);color:#fff}}
@media(max-width:720px){.wrap{width:min(100% - 28px,1180px)}.topbar{display:none}.nav-row{height:68px}.main-nav{top:76px}.brand b{font-size:.96rem}.hero-layout{min-height:auto;padding:55px 0 45px}.hero h1{font-size:2.5rem}.hero-description{font-size:1rem}.trust-row{margin-top:35px}.trust-row li{padding:0 15px}.notice-inner{align-items:flex-start;padding:14px 0;gap:10px}.notice-label{margin-top:3px}.notice-inner p{font-size:.8rem}.notice-inner a{display:none}.section{padding:78px 0}.split-heading{display:block}.split-heading>p,.blog-link{display:block;margin-top:18px}.feature-grid,.course-grid{grid-template-columns:1fr}.feature-card{min-height:auto}.course-card{min-height:280px}.schedule-list article{grid-template-columns:1fr 105px;gap:8px 15px;padding:23px 2px}.schedule-category{grid-column:1/-1}.schedule-list article .button{grid-column:2;grid-row:2/4}.schedule-list strong{grid-column:1}.support-layout,.faq-layout,.location-card{grid-template-columns:1fr;gap:45px}.exam-card{grid-template-columns:1fr;padding:38px 25px}.exam-badge{width:120px;height:120px}.location-card{gap:35px}.map-placeholder{min-height:280px}.final-inner{display:block}.final-inner>div:last-child{display:grid;margin-top:24px}.footer-grid{grid-template-columns:1fr}.footer-links{grid-column:auto}.dialog-card{padding:28px 22px}.hero-actions .button{width:100%}.location-actions{display:grid}.section-heading h2{font-size:2rem}}
@media(max-width:390px){.brand small{display:none}.hero h1{font-size:2.15rem}.trust-row b{font-size:.92rem}.trust-row span{font-size:.68rem}.quick-courses a{grid-template-columns:32px 1fr auto}.mobile-dock a,.mobile-dock button{font-size:.69rem}.schedule-list article{grid-template-columns:1fr}.schedule-list article .button{grid-column:1;grid-row:auto}.location-info dl div{grid-template-columns:70px 1fr}}

/* 교육과정 카드의 과목명을 더 빠르게 읽을 수 있도록 강조 */
.course-top b{font-size:1.7rem;line-height:1.28;letter-spacing:-.035em}
@media(max-width:720px){.course-top b{font-size:1.6rem}}

.exam-date-alert{font-size:1.02rem;animation:examDateFlash .72s steps(1,end) infinite}
@keyframes examDateFlash{
  0%,46%{color:#ff2f24;text-shadow:0 0 5px rgba(255,47,36,.35);filter:brightness(1)}
  47%,100%{color:#ff9a22;text-shadow:0 0 12px rgba(255,154,34,.7);filter:brightness(1.3)}
}
@media(prefers-reduced-motion:reduce){.exam-date-alert{animation:none;color:#ff7a1a}}

.course-top b:after{content:"모집중";display:inline-block;margin-left:9px;padding:3px 8px;border-radius:999px;background:#e8fff3;color:#07844a;font-size:.68rem;line-height:1.35;letter-spacing:0;vertical-align:middle;box-shadow:0 0 0 1px rgba(7,132,74,.18);animation:recruitingBlink .88s steps(1,end) infinite}
@keyframes recruitingBlink{0%,46%{background:#0aa765;color:#fff;box-shadow:0 0 0 0 rgba(10,167,101,.15)}47%,100%{background:#dffbed;color:#087b48;box-shadow:0 0 0 5px rgba(10,167,101,.12)}}
@media(prefers-reduced-motion:reduce){.course-top b:after{animation:none;background:#e8fff3;color:#07844a}}
.payment-dialog .button+.button{margin-top:10px}.at-apply-note{margin:0 0 16px;padding:13px;border-radius:10px;background:#fff7eb;color:#8b4a05!important;font-size:.88rem}.at-apply-note[hidden],#dialog-work24-link[hidden]{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.course-card,#toast{transition:none}}
.facilities-section{padding-top:20px}.facility-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:240px 240px;gap:16px}.facility-grid figure{position:relative;margin:0;overflow:hidden;border-radius:20px;background:#dfe7f2}.facility-grid .facility-main{grid-row:1/3}.facility-grid figure:last-child{grid-column:2/4}.facility-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.facility-grid figure:hover img{transform:scale(1.035)}.facility-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 20px 18px;color:#fff;background:linear-gradient(transparent,rgba(4,15,38,.85))}.facility-grid figcaption b,.facility-grid figcaption span{display:block}.facility-grid figcaption span{font-size:.8rem;color:#dce7f9}.exam-card{grid-template-columns:320px 1fr;padding:35px}.exam-photo{margin:0;height:230px;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px rgba(7,29,73,.15)}.exam-photo img{width:100%;height:100%;object-fit:cover;display:block}.parking-info{margin:0 0 25px;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.05)}.parking-info b{color:#fff}.parking-info p{font-size:.8rem;color:#aebedb;margin:6px 0}.location-actions{flex-wrap:wrap}.location-photo{position:relative;display:block;min-height:510px;border-radius:23px;overflow:hidden;background:#f4f7fb}.location-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.location-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(4,15,38,.88))}.location-photo span{position:absolute;left:25px;right:25px;bottom:22px;z-index:2}.location-photo b,.location-photo small{display:block;color:#fff}.location-photo small{color:#c9d7ed;margin-top:3px}
@media(max-width:1000px){.facility-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.facility-grid .facility-main{grid-column:1/3;grid-row:auto}.facility-grid figure:last-child{grid-column:1/3}.exam-card{grid-template-columns:280px 1fr}}
@media(max-width:720px){.facility-grid{display:grid;grid-template-columns:1fr;grid-template-rows:280px 210px 210px 210px}.facility-grid .facility-main,.facility-grid figure:last-child{grid-column:auto}.exam-card{grid-template-columns:1fr}.exam-photo{height:220px}.location-photo{min-height:360px}.location-actions{display:grid}.location-info dl div{grid-template-columns:82px 1fr}}
.schedule-view-toggle{display:flex;gap:8px;margin:-8px 0 28px}.schedule-view-btn{border:1px solid rgba(255,255,255,.3);background:transparent;color:#c1d1ec;border-radius:999px;padding:9px 17px;font-weight:800;cursor:pointer}.schedule-view-btn.active{background:#fff;color:var(--navy);border-color:#fff}.schedule-month-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.schedule-group{background:#fff;color:var(--ink);border-radius:18px;padding:26px}.schedule-group:first-child{grid-row:span 2}.schedule-group h3{margin:0 0 15px;padding-bottom:13px;border-bottom:3px solid var(--orange);font-size:1.25rem}.schedule-group ul{list-style:none;margin:0;padding:0}.schedule-group li{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;padding:11px 2px;border-bottom:1px solid var(--line);font-size:.9rem}.schedule-group li:last-child{border-bottom:0}.schedule-group li b{color:var(--navy)}.schedule-group li span{color:var(--muted)}.schedule-group.one-day{align-self:start}.schedule-group.one-day .button{margin-top:20px;width:100%}.schedule-image-view{text-align:center}.schedule-image-view[hidden],.schedule-month-grid[hidden]{display:none}.schedule-image-view img{display:block;width:100%;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.schedule-image-view p{color:#aebfdd;font-size:.8rem}.schedule-section .section-heading h2{font-size:clamp(2rem,3.5vw,3rem)}
.schedule-exam-notice{display:flex;align-items:center;gap:14px;margin:-10px 0 28px;padding:13px 18px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08)}.schedule-exam-notice b{color:#fff}.schedule-exam-notice span{color:#b9c9e5;font-size:.88rem}.schedule-group:first-child{grid-row:auto}.schedule-group .button{width:100%;margin-top:22px}
@media(max-width:720px){.schedule-month-grid{grid-template-columns:1fr}.schedule-group:first-child{grid-row:auto}.schedule-group{padding:20px}.schedule-group li{grid-template-columns:1fr;gap:3px}.schedule-view-toggle{display:grid;grid-template-columns:1fr 1fr}.schedule-view-btn{font-size:.78rem;padding:9px}}
.location-photo img{object-position:center 42%}
dialog#course-dialog{max-width:min(900px,calc(100% - 30px))}#course-dialog .course-dialog{width:100%;max-height:88vh;overflow:auto;padding:42px 46px}.course-dialog h3{margin:20px 0 8px;color:var(--navy);font-size:1rem}.course-lead{font-size:1rem;color:var(--ink)!important}.course-meta{display:grid;grid-template-columns:1fr 1.7fr;gap:8px;margin:18px 0}.course-meta div{padding:13px 14px;border-radius:10px;background:#edf4ff}.course-meta b,.course-meta span{display:block}.course-meta b{font-size:.74rem;color:var(--blue)}.course-meta span{font-size:.9rem;font-weight:700;color:var(--navy);margin-top:2px}.course-summary{border-left:4px solid var(--orange);padding:12px 14px!important;background:#fff8f2!important;color:var(--ink)!important}.course-dialog #open-curriculum{margin-bottom:9px}.curriculum-dialog{max-width:720px;max-height:min(84vh,820px);overflow:auto}.curriculum-teacher{margin:-2px 0 20px;color:var(--muted);font-size:.85rem}.curriculum-dialog #curriculum-list{display:grid;gap:8px;margin-bottom:22px}.curriculum-dialog #curriculum-list article{display:grid;grid-template-columns:66px 1fr;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.curriculum-dialog #curriculum-list article b{color:var(--blue)}.curriculum-dialog #curriculum-list article p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.6}@media(max-width:720px){#course-dialog .course-dialog{padding:30px 22px;max-height:90vh}.course-meta{grid-template-columns:1fr}.curriculum-dialog #curriculum-list article{grid-template-columns:1fr;gap:2px}}
.curriculum-notice{margin:20px 0 4px;padding:12px 14px;border-radius:10px;background:#f4f7fb;color:#526172;font-size:.88rem;line-height:1.6}
