@font-face{font-family:SB Aggro;src:url(/fonts/SB-Aggro-L.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:SB Aggro;src:url(/fonts/SB-Aggro-M.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SB Aggro;src:url(/fonts/SB-Aggro-B.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:PretendardBlack;src:url(/fonts/Pretendard-Black.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}.summer-camp-page{--sky:#dff5fb;--blue:#0877b8;--coral:#ef8164;--ink:#006fb0;--paper:#ffffff;--line:#0877b8;--box-gap:36px;--thin-line:1.6px;--aggro:"SB Aggro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;min-height:100vh;margin:0;background:var(--sky);color:var(--blue);font-family:var(--aggro);font-weight:500;overflow-x:hidden;isolation:isolate}.summer-camp-page:before{content:"";position:absolute;inset:0;background:var(--sky);z-index:-1}.summer-camp-home-button{position:fixed;top:20px;left:20px;z-index:30;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.92);border:1.4px solid #0877b8;color:#0877b8;font-family:SB Aggro,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1;font-weight:500;text-decoration:none;box-shadow:0 6px 14px rgba(0,111,176,.16);backdrop-filter:blur(6px);transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.summer-camp-home-button:focus-visible,.summer-camp-home-button:hover{background:#0877b8;color:#ffffff;outline:0;transform:translateY(-1px);box-shadow:0 10px 20px rgba(0,111,176,.22)}.summer-camp-home-button-icon{width:16px;height:16px}@media (max-width:460px){.summer-camp-home-button{top:12px;left:12px;min-height:34px;padding:6px 14px 6px 10px;font-size:13px}.summer-camp-home-button-icon{width:14px;height:14px}}.summer-camp-page *{box-sizing:border-box}.summer-camp-page a,.summer-camp-page b,.summer-camp-page button,.summer-camp-page h1,.summer-camp-page h2,.summer-camp-page li,.summer-camp-page p,.summer-camp-page small,.summer-camp-page span,.summer-camp-page strong,.summer-camp-page td,.summer-camp-page th{max-width:100%;word-break:keep-all;overflow-wrap:normal;hyphens:none}.summer-camp-page a{color:inherit}.summer-camp-page .page{width:min(100%,1014px);margin:40px auto 0;padding:108px 56px 64px;position:relative;isolation:isolate}.summer-camp-page .mascot{position:absolute;left:50%;transform:translateX(-50%);background-size:contain;background-position:top;background-repeat:no-repeat;pointer-events:none}.summer-camp-page .mascot-back{top:86px;width:259px;height:60px;background-image:url(/images/summer-camp/mascot-back.png);z-index:0}.summer-camp-page .mascot-front{top:-8px;width:220px;height:164px;background-image:url(/images/summer-camp/mascot-front.png);z-index:2}.summer-camp-page .panel{background:var(--paper);border:var(--thin-line) solid var(--line);border-radius:46px;max-width:100%}.summer-camp-page .hero{position:relative;z-index:1;padding:64px 64px 32px;text-align:center;display:flex;flex-direction:column;justify-content:flex-start;gap:10px}.summer-camp-page .hero>*{margin-left:auto;margin-right:auto}.summer-camp-page .hero .eyebrow{margin:0;font-size:clamp(28px,5vw,52px);line-height:1;font-weight:500;letter-spacing:0;-webkit-text-stroke:0}.summer-camp-page .hero h1{margin-top:0;margin-bottom:0;font-family:var(--aggro);font-size:clamp(42px,9.4vw,94px);line-height:.84;font-weight:700;letter-spacing:0;color:var(--blue);-webkit-text-stroke:1.15px currentColor;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.12em}.summer-camp-page .title-dot{display:inline-block;font-size:.208em;line-height:1;transform:translateY(-.02em);-webkit-text-stroke:0}.summer-camp-page .hero .camp-line{margin-top:0;margin-bottom:0;color:var(--blue);font-size:clamp(38px,8.7vw,88px);line-height:.86;font-weight:700;-webkit-text-stroke:1px currentColor;white-space:nowrap}.summer-camp-page .hero .date{margin-top:2px;margin-bottom:0;color:var(--coral);font-size:clamp(20px,2.85vw,29px);line-height:1;font-weight:500;-webkit-text-stroke:0;white-space:nowrap;width:min(96%,680px)}.summer-camp-page .hero-nav{display:flex;justify-content:center;align-items:stretch;gap:8px;margin-top:6px;width:min(96%,560px);max-width:100%}.summer-camp-page .hero-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:132px;min-height:38px;padding:8px 16px 6px;border-radius:999px;background:var(--blue);color:#fff;text-decoration:none;font-size:17px;line-height:1.12;font-weight:500;white-space:nowrap;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.summer-camp-page .hero-nav .two-line{min-width:174px;white-space:normal}.summer-camp-page .hero-nav a:first-child{transform:translateX(-8px)}.summer-camp-page .hero-nav a:last-child{transform:translateX(8px)}.summer-camp-page .kit-section{position:relative;margin-top:calc(var(--box-gap) + 20px)}.summer-camp-page .kit-frame{position:relative;overflow:hidden;border:var(--thin-line) solid var(--coral);border-radius:36px;background:var(--paper);box-shadow:0 18px 36px rgba(239,129,100,.1)}.summer-camp-page .kit-section>.kit-label{position:absolute;top:0;left:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:194px;min-height:36px;padding:6px 28px 4px;border-radius:999px;background:var(--coral);color:#fff;font-size:19px;line-height:1;font-weight:500;transform:translate(-50%,-50%)}.summer-camp-page .kit-card-header{display:grid;gap:6px;padding:32px 36px 22px;border-radius:34px 34px 0 0;background:#f0a98f;color:#fff;text-align:center}.summer-camp-page .kit-card-header p{margin:0;font-family:var(--aggro);font-size:clamp(30px,4.4vw,48px);line-height:1;font-weight:700;letter-spacing:.01em;white-space:nowrap}.summer-camp-page .kit-card-header span{display:block;font-family:var(--aggro);font-size:clamp(17px,2.35vw,25px);line-height:1.05;font-weight:700;white-space:nowrap}.summer-camp-page .kit-card-image{display:block;width:100%;height:auto}.summer-camp-page .kit-detail-panel{padding:30px 28px 34px;background:#fff;border-radius:0 0 34px 34px}.summer-camp-page .kit-detail-toggle{display:flex;justify-content:center;list-style:none;cursor:pointer;outline:0}.summer-camp-page .kit-detail-toggle::-webkit-details-marker{display:none}.summer-camp-page .kit-detail-toggle span{display:inline-flex;align-items:center;justify-content:center;width:220px;min-height:44px;padding:10px 28px 8px;border-radius:999px;background:var(--blue);color:#fff;font-family:var(--aggro);font-size:17px;line-height:1;font-weight:500;text-align:center;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.summer-camp-page .kit-detail-toggle:focus-visible span,.summer-camp-page .kit-detail-toggle:hover span{background:#0067a2;box-shadow:0 12px 24px rgba(0,111,176,.2);transform:translateY(-2px)}.summer-camp-page .kit-detail-panel[open] .kit-detail-toggle .kit-detail-open-label,.summer-camp-page .kit-detail-toggle .kit-detail-close-label{display:none}.summer-camp-page .kit-detail-panel[open] .kit-detail-toggle .kit-detail-close-label{display:inline-flex}.summer-camp-page .kit-detail-grid{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;padding-top:30px}.summer-camp-page .kit-detail-panel[open] .kit-detail-grid{display:grid}.summer-camp-page .kit-detail-image{display:block;width:100%;height:auto;border:1.4px solid rgba(239,129,100,.45);border-radius:20px;background:#fff;box-shadow:0 14px 24px rgba(0,111,176,.08)}.summer-camp-page .scroll-anchor{height:0;scroll-margin-top:0}.summer-camp-page #sat-program,.summer-camp-page #summer-course-guide,.summer-camp-page #toefl-program{scroll-margin-top:28px}.summer-camp-page .program{margin-top:var(--box-gap);padding:0 36px 36px;text-align:center;scroll-margin-top:56px;min-width:0}.summer-camp-page .schedule-toggle{display:inline-flex;align-items:center;justify-content:center;width:220px;max-width:100%;min-height:44px;margin-top:24px;padding:10px 28px 8px;border:0;border-radius:999px;background:var(--coral);color:#fff;font-family:var(--aggro);font-size:17px;line-height:1;font-weight:500;cursor:pointer;box-shadow:none;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.summer-camp-page .sat-program .schedule-toggle{background:var(--blue)}.summer-camp-page .section-divider{width:88%;height:1.6px;margin:var(--box-gap) auto 0;background:var(--blue)}.summer-camp-page .badge{display:inline-flex;align-items:center;justify-content:center;min-width:194px;max-width:calc(100% - 32px);height:36px;padding:4px 28px 0;border-radius:999px;background:var(--blue);color:#fff;font-size:19px;line-height:1;font-weight:500;transform:translateY(-18px);-webkit-text-stroke:0;text-align:center;white-space:nowrap}.summer-camp-page .program h2{margin:12px 0 14px;font-size:clamp(29px,4.6vw,43px);line-height:1.08;font-weight:500;-webkit-text-stroke:0}.summer-camp-page .program-title-line{display:inline}.summer-camp-page .toefl-program-badge{font-size:19px}.summer-camp-page .subjects{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch}.summer-camp-page .sat-program h2{margin-bottom:22px}.summer-camp-page .sat-subjects{position:relative;grid-template-columns:repeat(2,1fr);width:78%;margin:0 auto}.summer-camp-page .sat-subjects:before{content:"";position:absolute;top:8px;bottom:8px;left:50%;width:1.6px;background:#1391d2;transform:translateX(-50%)}.summer-camp-page .sat-subjects .subject{min-height:304px;grid-template-rows:42px 158px 34px 34px}.summer-camp-page .sat-subjects .subject:first-child{transform:translateX(-30px)}.summer-camp-page .sat-subjects .subject:last-child{transform:translateX(30px)}.summer-camp-page .sat-subjects .subject+.subject{border-left:0}.summer-camp-page .sat-subjects .subject strong{font-size:28px;line-height:42px}.summer-camp-page .sat-subjects .subject span{color:var(--blue);font-size:16px;line-height:24px}.summer-camp-page .sat-subjects .subject b{color:var(--coral);font-size:25px;line-height:20px}.summer-camp-page .sat-schedules .schedule-guide:first-child .level-badge{background:var(--blue)}.summer-camp-page .sat-schedules .schedule-guide.regular .schedule-title h3{color:#c76a4b}.summer-camp-page .sat-schedules .schedule-table .lunch{text-align:center}.summer-camp-page .sat-details .bullets li{font-size:17px}.summer-camp-page .sat-schedules .schedule-table td{font-size:12px}.summer-camp-page .course-guide,.summer-camp-page .sat-details .info-card,.summer-camp-page .sat-fee,.summer-camp-page .sat-program,.summer-camp-page .sat-schedules .schedule-guide{border-color:var(--coral)}.summer-camp-page .course-guide .badge,.summer-camp-page .sat-details .badge,.summer-camp-page .sat-fee .badge,.summer-camp-page .sat-program>.badge,.summer-camp-page .sat-schedules .level-badge{background:var(--coral)}.summer-camp-page .sat-review span{display:inline-block;transform:translateX(-3px)}.summer-camp-page .subject{min-width:0;min-height:292px;padding:0 16px;display:grid;grid-template-rows:36px 158px 28px 30px;gap:8px;align-content:center;justify-items:center}.summer-camp-page .subject+.subject{border-left:1.6px solid #1391d2}.summer-camp-page .subject strong{color:var(--coral);font-family:var(--aggro);font-size:25px;line-height:36px;font-weight:500;-webkit-text-stroke:0;white-space:normal}.summer-camp-page .subject span{align-self:end;color:var(--coral);font-size:13px;line-height:20px;font-weight:500;word-break:keep-all;white-space:normal}.summer-camp-page .subject b{color:var(--blue);font-family:var(--aggro);font-size:18px;line-height:18px;font-weight:500;-webkit-text-stroke:0;white-space:normal}.summer-camp-page .instructor-photo{align-self:center;width:min(136px,74%);height:auto;margin:2px 0;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(31,87,134,.18))}.summer-camp-page .details{margin-top:var(--box-gap);width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--box-gap);align-items:stretch}.summer-camp-page .stack{display:grid;grid-template-rows:auto 1fr;gap:var(--box-gap);height:100%;min-width:0}.summer-camp-page .details>.info-card{width:100%;justify-self:stretch;min-width:0}.summer-camp-page .info-card{position:relative;min-width:0;padding:48px 36px 34px;min-height:266px;background:var(--paper);border:var(--thin-line) solid var(--line);border-radius:34px}.summer-camp-page .info-card .badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);min-width:206px;white-space:nowrap}.summer-camp-page .check-list{margin:0;padding:0;list-style:none}.summer-camp-page .check-list li{position:relative;margin:0 0 17px;padding-left:26px;color:var(--blue);font-size:22px;line-height:1.18;font-weight:500;word-break:keep-all;overflow-wrap:normal;-webkit-text-stroke:0}.summer-camp-page .place-list li{font-size:18px}.summer-camp-page .benefit-fees li{font-size:20px}.summer-camp-page .check-list li:before{content:"✓";position:absolute;top:-2px;left:0;color:var(--blue);font-size:25px;line-height:1}.summer-camp-page .check-list small{display:block;color:var(--coral);font-size:13px;line-height:1.2;font-weight:500;-webkit-text-stroke:0;white-space:normal}.summer-camp-page .fee-detail{font-size:16px;white-space:normal}.summer-camp-page .fee-sep{margin:0 3px}.summer-camp-page .nowrap{white-space:normal}.summer-camp-page .fit-line{font-size:18px;white-space:normal}.summer-camp-page .bullets{position:relative;margin:-5px 0 14px;padding:0 0 14px 20px;list-style:disc}.summer-camp-page .bullets:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.6px;background:#1391d2}.summer-camp-page .bullets li{margin:0 0 8px;color:var(--blue);font-size:18px;line-height:1.25;font-weight:300;word-break:keep-all;overflow-wrap:normal;-webkit-text-stroke:0}.summer-camp-page .bullets li:last-child{margin-bottom:0}.summer-camp-page .apply-card{min-height:266px;padding-top:50px;text-align:center;display:flex;flex-direction:column;justify-content:center}.summer-camp-page .apply-card .deadline{margin:6px 0 24px;color:var(--coral);font-size:25px;line-height:1.12;font-weight:500;-webkit-text-stroke:0;white-space:normal}.summer-camp-page .apply-card p{margin:0;color:var(--blue);font-size:18px;line-height:1.2;font-weight:500;-webkit-text-stroke:0}.summer-camp-page .apply-card .orange{color:var(--coral)}.summer-camp-page .consulting-discount-copy .mobile-discount-line{display:inline}.summer-camp-page .consulting-discount-copy .mobile-discount-line+.mobile-discount-line:before{content:" "}.summer-camp-page .divider{height:var(--thin-line);margin:14px 2px;background:#1391d2}.summer-camp-page .apply-bottom{display:flex;justify-content:center;margin-top:var(--box-gap)}.summer-camp-floating-cta,.summer-camp-page .apply-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--coral);color:#fff;font-family:var(--aggro);font-weight:500;text-decoration:none;box-shadow:0 10px 20px rgba(0,111,176,.18);transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,bottom .2s ease}.summer-camp-page .apply-button{min-width:260px;max-width:100%;min-height:58px;padding:14px 30px 16px;font-size:21px}.summer-camp-floating-cta{--coral:#ef8164;--blue:#0877b8;position:fixed;right:22px;bottom:22px;z-index:30;min-width:186px;max-width:calc(100vw - 32px);min-height:52px;padding:13px 24px 15px;font-size:20px;background:var(--coral);color:#fff;text-decoration:none;border-radius:999px;box-shadow:0 10px 20px rgba(0,111,176,.18);font-family:SB Aggro,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;display:inline-flex;align-items:center;justify-content:center;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,bottom .2s ease}.summer-camp-floating-cta,.summer-camp-floating-cta:focus-visible,.summer-camp-floating-cta:hover,.summer-camp-floating-cta:link,.summer-camp-floating-cta:visited{color:#fff!important;-webkit-text-fill-color:#fff!important}.summer-camp-floating-cta.is-near-footer{bottom:88px}.summer-camp-floating-cta:focus-visible,.summer-camp-floating-cta:hover,.summer-camp-page .apply-button:focus-visible,.summer-camp-page .apply-button:hover,.summer-camp-page .hero-nav a:focus-visible,.summer-camp-page .hero-nav a:hover,.summer-camp-page .schedule-toggle:focus-visible,.summer-camp-page .schedule-toggle:hover{background:#ef8164;color:#fff;box-shadow:0 12px 24px rgba(0,111,176,.24);transform:translateY(-2px);outline:0}.summer-camp-page .hero-nav a:first-child:focus-visible,.summer-camp-page .hero-nav a:first-child:hover{transform:translate(-8px,-2px)}.summer-camp-page .hero-nav a:last-child:focus-visible,.summer-camp-page .hero-nav a:last-child:hover{transform:translate(8px,-2px)}.summer-camp-floating-cta:focus-visible,.summer-camp-floating-cta:hover,.summer-camp-page .apply-button:focus-visible,.summer-camp-page .apply-button:hover,.summer-camp-page .schedule-toggle:focus-visible,.summer-camp-page .schedule-toggle:hover{background:var(--blue)}.summer-camp-page .sat-program .schedule-toggle:focus-visible,.summer-camp-page .sat-program .schedule-toggle:hover{background:var(--coral)}.summer-camp-page .fee-guide{position:relative;min-width:0;margin-top:var(--box-gap);padding:58px 48px 34px;background:var(--paper);border:var(--thin-line) solid var(--line);border-radius:34px;font-weight:300}.summer-camp-page .sat-fee{border-color:var(--coral)}.summer-camp-page .fee-guide .badge{position:absolute;top:0;left:50%;min-width:260px;max-width:calc(100% - 32px);transform:translate(-50%,-50%);font-weight:500;white-space:nowrap}.summer-camp-page .fee-table-wrap{overflow-x:auto;padding-bottom:2px;max-width:100%;-webkit-overflow-scrolling:touch}.summer-camp-page .fee-image{width:100%;height:auto}.summer-camp-page .fee-table{width:96%;min-width:700px;margin:0 auto;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#111;font-weight:300}.summer-camp-page .fee-table col:first-child{width:25%}.summer-camp-page .fee-table col:nth-child(2){width:19%}.summer-camp-page .fee-table col:nth-child(3),.summer-camp-page .fee-table col:nth-child(4),.summer-camp-page .fee-table col:nth-child(5),.summer-camp-page .fee-table col:nth-child(6){width:14%}.summer-camp-page .fee-table td,.summer-camp-page .fee-table th{height:40px;padding:8px 8px 6px;border-right:1.3px solid #7f7f7f;border-bottom:1.3px solid #7f7f7f;text-align:center;vertical-align:middle;font-size:17px;line-height:1.15;font-weight:300;white-space:nowrap}.summer-camp-page .fee-table td:last-child,.summer-camp-page .fee-table th:last-child{border-right:0}.summer-camp-page .fee-table thead th{background:#e4a28f;color:#fff;border-right:3px solid #fff;border-bottom:3px solid #fff;font-size:14px;font-weight:300}.summer-camp-page .fee-table thead th:last-child{border-right:0}.summer-camp-page .fee-table tbody th{background:#c76a4b;color:#fff;border-right:3px solid #fff;border-bottom:3px solid #fff;font-size:14px;font-weight:300}.summer-camp-page .fee-table tbody td{font-size:14px}.summer-camp-page .fee-table tbody td:last-child{color:var(--coral)}.summer-camp-page .fee-table tbody tr:last-child td,.summer-camp-page .fee-table tbody tr:last-child th{border-bottom:0}.summer-camp-page .fee-account{margin:16px 0 0;color:#2d72b2;text-align:center;font-size:clamp(15px,2.2vw,22px);line-height:1.1;font-weight:500;white-space:normal}.summer-camp-page .fee-account-line{display:block;white-space:nowrap}.summer-camp-page .course-guide{position:relative;min-width:0;margin-top:var(--box-gap);padding:54px 58px 34px;background:var(--paper);border:var(--thin-line) solid var(--coral);border-radius:34px}.summer-camp-page .course-guide .badge{position:absolute;top:0;left:50%;min-width:420px;max-width:calc(100% - 32px);transform:translate(-50%,-50%);font-weight:500;font-size:19px;white-space:nowrap}.summer-camp-page .course-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.summer-camp-page .course-block h2{margin:-14px 0 18px;text-align:center;font-size:29px;line-height:1;font-weight:500}.summer-camp-page .course-block{min-width:0}.summer-camp-page .course-block.ap h2{color:var(--coral)}.summer-camp-page .course-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#111;font-weight:300}.summer-camp-page .course-table tbody:before{content:"";display:table-row;height:6px}.summer-camp-page .course-table td,.summer-camp-page .course-table th{height:44px;padding:8px 14px 6px;border-bottom:1.25px solid #f0c4b3;font-size:16px;line-height:1.1;font-weight:300;white-space:normal;word-break:keep-all;overflow-wrap:normal}.summer-camp-page .course-table th{height:32px;padding-top:6px;padding-bottom:4px;color:var(--blue);background:#dff5fb;text-align:center;font-size:18px;font-weight:500;border-bottom:0}.summer-camp-page .course-table td:last-child{width:34%;color:var(--blue);text-align:center;font-weight:300}.summer-camp-page .course-table tbody tr:first-of-type td{border-top:1.33px solid var(--coral)}.summer-camp-page .course-block:not(.ap) .course-table td{height:58.7px}.summer-camp-page .course-block.ap .course-table th{color:var(--coral);background:#f8eadf}.summer-camp-page .course-block.ap .course-table td{border-bottom-color:#f0c4b3;padding-left:10px;padding-right:10px;font-size:14px}.summer-camp-page .course-block.ap .course-table tbody tr:first-of-type td{border-top-color:var(--coral)}.summer-camp-page .course-block.ap .course-table td:last-child{color:var(--coral)}.summer-camp-page .course-note-line{height:1.6px;margin:34px 10px 24px;background:var(--coral)}.summer-camp-page .course-price{margin:0 0 28px;color:var(--coral);text-align:center;font-size:20px;line-height:1.12;font-weight:500;white-space:normal}.summer-camp-page .course-price-line{display:inline}.summer-camp-page .course-note{width:min(100%,620px);margin:0 auto;padding:18px 28px 16px;border-radius:22px;background:#dff5fb;text-align:center;color:var(--blue);font-size:19px;line-height:1.12;font-weight:300}.summer-camp-page .course-note small{display:block;margin-top:4px;color:var(--coral);font-size:14px;line-height:1;font-weight:500}.summer-camp-page .care-guide{position:relative;min-width:0;margin-top:var(--box-gap);padding:48px 44px 42px;background:var(--paper);border:var(--thin-line) solid var(--coral);border-radius:34px;text-align:center}.summer-camp-page .care-guide .care-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;min-width:300px;max-width:calc(100% - 32px);height:36px;padding:4px 28px 0;border-radius:999px;background:var(--coral);color:#fff;font-size:19px;line-height:1;font-weight:500;text-align:center;white-space:nowrap}.summer-camp-page .care-guide p{margin:0;color:var(--blue);font-size:21px;line-height:1.35;font-weight:300;word-break:keep-all;overflow-wrap:normal}.summer-camp-page .care-guide small{display:block;margin-top:6px;color:var(--coral);font-size:16px;line-height:1.2;font-weight:500}.summer-camp-page .schedule-guide{padding:42px 24px 34px;font-weight:300}.summer-camp-page .schedule-guide,.summer-camp-page .schedule-section{position:relative;min-width:0;margin-top:var(--box-gap);background:var(--paper);border:var(--thin-line) solid var(--line);border-radius:34px}.summer-camp-page .schedule-section{padding:44px 24px 34px}.summer-camp-page .schedule-section-heading{display:flex;align-items:center;justify-content:center;width:fit-content;min-width:194px;max-width:calc(100% - 32px);min-height:36px;margin:-62px auto 22px;padding:6px 28px 4px;border-radius:999px;background:var(--blue);color:#fff;text-align:center;font-size:19px;line-height:1;font-weight:500}.summer-camp-page .sat-schedules .schedule-section-heading{background:var(--coral)}.summer-camp-page .sat-schedules{border-color:var(--coral)}.summer-camp-page .schedule-section .schedule-guide{margin-top:28px;padding:34px 20px 28px;background:#fff;border:var(--thin-line) solid var(--line);border-radius:28px}.summer-camp-page .sat-schedules .schedule-guide{border-color:var(--coral)}.summer-camp-page .schedule-section .schedule-guide:first-child{margin-top:0}.summer-camp-page .schedule-mobile-only,.summer-camp-page .schedule-section[hidden]{display:none}.summer-camp-page .schedule-image{display:block;width:100%;height:auto;margin-top:var(--box-gap);padding:12px;background:#ffffff;border:var(--thin-line) solid var(--line);border-radius:28px;box-sizing:border-box}.summer-camp-page .schedule-section .schedule-image{margin-top:24px}.summer-camp-page .schedule-section .schedule-image:first-child{margin-top:0}.summer-camp-page .sat-program .schedule-image,.summer-camp-page .sat-schedules .schedule-image{border-color:var(--coral)}@media (max-width:780px){.summer-camp-page .schedule-desktop-only{display:none}.summer-camp-page .schedule-mobile-only{display:block}.summer-camp-page .schedule-section{padding:38px 12px 24px;border-radius:28px}.summer-camp-page .schedule-section .schedule-guide{padding:24px 10px 22px;border-radius:22px}.summer-camp-page .schedule-section-heading{min-width:150px;min-height:32px;margin:-54px auto 20px;padding:6px 20px 4px;font-size:16px}}.summer-camp-page .schedule-title{position:relative;display:flex;justify-content:center;align-items:center;width:96%;margin:0 auto 13px}.summer-camp-page .level-badge{position:absolute;left:0;min-width:128px;max-width:100%;padding:6px 16px 5px;border-radius:999px;background:var(--blue);color:#fff;text-align:center;font-size:17px;line-height:1;font-weight:500}.summer-camp-page .schedule-title h3{margin:0;color:var(--blue);text-align:center;font-size:clamp(24px,3.5vw,34px);line-height:1;font-weight:500;letter-spacing:0;white-space:normal}.summer-camp-page .schedule-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.summer-camp-page .schedule-table{width:100%;min-width:0;margin:0 auto;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#111;font-weight:300}.summer-camp-page .schedule-table col:first-child{width:5.5%}.summer-camp-page .schedule-table col:nth-child(2){width:13.5%}.summer-camp-page .schedule-table col:nth-child(n+3){width:11.57%}.summer-camp-page .schedule-table td,.summer-camp-page .schedule-table th{height:40px;padding:6px 4px 5px;border-right:1.25px solid #666;border-bottom:1.25px solid #777;text-align:center;vertical-align:middle;font-size:12px;line-height:1.1;font-weight:300;white-space:normal;word-break:keep-all}.summer-camp-page .schedule-table td:last-child,.summer-camp-page .schedule-table th:last-child{border-right:0}.summer-camp-page .schedule-table tbody tr:last-child td:last-child{border-bottom:0}.summer-camp-page .schedule-table thead th{background:#80bdd9;color:#fff;border-right:3px solid #fff;border-bottom:3px solid #fff;font-size:13px;font-weight:300}.summer-camp-page .schedule-table thead th:first-child{color:transparent}.summer-camp-page .schedule-table .period{background:#80bdd9;color:#fff;border-right:3px solid #fff;border-bottom:3px solid #fff;font-size:13px}.summer-camp-page .schedule-table .time{background:var(--blue);color:#fff;border-right:3px solid #fff;border-bottom:3px solid #fff;font-size:12px}.summer-camp-page .schedule-table tbody tr:last-child td,.summer-camp-page .schedule-table tbody tr:last-child th{border-bottom:0}.summer-camp-page .schedule-table .merged{white-space:normal;line-height:1.15}.summer-camp-page .schedule-table .geometry-cell{text-align:center}.summer-camp-page .schedule-table .geometry-cell span{display:inline-block;width:100%;text-align:center;transform:translateX(-3px)}.summer-camp-page .schedule-table .group-study{border-bottom:0}.summer-camp-page .schedule-table tbody tr:last-child td:last-child{border-right:1.25px solid #666}.summer-camp-page .schedule-guide.regular .level-badge{min-width:92px;padding-left:12px;padding-right:12px;background:var(--coral)}.summer-camp-page .schedule-guide.regular .schedule-table .period,.summer-camp-page .schedule-guide.regular .schedule-table thead th{background:#eba28f}.summer-camp-page .schedule-guide.regular .schedule-table .time{background:#c96a4c}@media (max-width:920px){.summer-camp-page .page{padding-inline:36px}.summer-camp-page .hero{padding:48px 36px 32px}.summer-camp-page .hero-nav{flex-wrap:wrap;justify-content:center}.summer-camp-page .hero-nav .two-line,.summer-camp-page .hero-nav a{min-width:0;flex:1 1 190px;transform:none}.summer-camp-page .hero-nav a:first-child:focus-visible,.summer-camp-page .hero-nav a:first-child:hover,.summer-camp-page .hero-nav a:focus-visible,.summer-camp-page .hero-nav a:hover,.summer-camp-page .hero-nav a:last-child:focus-visible,.summer-camp-page .hero-nav a:last-child:hover{transform:translateY(-2px)}.summer-camp-page .hero-nav a:first-child,.summer-camp-page .hero-nav a:last-child{transform:none}.summer-camp-page .kit-frame{border-radius:30px}.summer-camp-page .kit-card-header{border-radius:28px 28px 0 0}.summer-camp-page .kit-card-image{border-radius:28px}.summer-camp-page .details{grid-template-columns:1fr}.summer-camp-page .course-columns{grid-template-columns:1fr;gap:34px}.summer-camp-page .sat-subjects{width:100%}.summer-camp-page .sat-subjects .subject:first-child,.summer-camp-page .sat-subjects .subject:last-child{transform:none}}@media (max-width:780px){.summer-camp-page{--box-gap:52px;--mobile-section-label-size:clamp(12px,3.6vw,16px)}.summer-camp-page .page{margin-top:30px;padding:84px 18px 100px}.summer-camp-page .mascot{transform:translateX(-50%) scale(.78);transform-origin:top center}.summer-camp-page .mascot-back{top:74px}.summer-camp-page .mascot-front{top:2px}.summer-camp-page .hero{padding:72px 16px 36px;border-radius:32px;gap:8px}.summer-camp-page .hero h1{font-size:clamp(48px,13vw,78px)}.summer-camp-page .hero .camp-line{font-size:clamp(43px,11vw,70px)}.summer-camp-page .hero .date{font-size:clamp(18px,4.2vw,24px);line-height:1.2;white-space:normal}.summer-camp-page .hero-nav{flex-wrap:wrap;justify-content:center;gap:8px}.summer-camp-page .hero-nav .two-line,.summer-camp-page .hero-nav a{min-width:0;flex:1 1 190px;transform:none;font-size:16px}.summer-camp-page .hero-nav a:first-child,.summer-camp-page .hero-nav a:last-child{transform:none}.summer-camp-page .kit-section{margin-top:calc(var(--box-gap) - 8px)}.summer-camp-page .kit-frame{border-radius:24px}.summer-camp-page .kit-card-header{display:none}.summer-camp-page .kit-label{min-width:150px;min-height:32px;padding:6px 20px 4px;font-size:16px;transform:translate(-50%,-50%)}.summer-camp-page .kit-card-image{width:calc(100% - 28px);margin:28px auto 0;border:var(--thin-line) solid var(--coral);border-radius:22px;box-sizing:border-box}.summer-camp-page .kit-detail-panel{padding:20px 16px 26px}.summer-camp-page .kit-detail-toggle span,.summer-camp-page .schedule-toggle{width:180px;max-width:calc(100% - 24px);min-height:38px;padding:8px 18px 7px;font-size:14px}.summer-camp-page .kit-detail-grid{grid-template-columns:1fr;gap:16px;padding-top:22px}.summer-camp-page .kit-detail-image{border-radius:16px}.summer-camp-page .program{padding:0 18px 28px;border-radius:30px}.summer-camp-page .panel.program{border-color:transparent}.summer-camp-page #sat-program,.summer-camp-page #summer-course-guide,.summer-camp-page #toefl-program{scroll-margin-top:22px}.summer-camp-page .badge,.summer-camp-page .care-guide .care-badge,.summer-camp-page .course-guide .badge,.summer-camp-page .fee-guide .badge,.summer-camp-page .info-card .badge,.summer-camp-page .kit-label,.summer-camp-page .level-badge{min-width:0;max-width:calc(100% - 32px);height:auto;min-height:36px;padding:7px 14px 5px;text-align:center;white-space:nowrap;font-size:var(--mobile-section-label-size)}.summer-camp-page .subjects{grid-template-columns:1fr 1fr;row-gap:24px}.summer-camp-page .subject{padding:0 12px;min-height:310px}.summer-camp-page .subject:nth-child(3){border-left:0}.summer-camp-page .sat-subjects{width:100%}.summer-camp-page .sat-subjects .subject:first-child,.summer-camp-page .sat-subjects .subject:last-child{transform:none}.summer-camp-page .details{width:100%;grid-template-columns:1fr;gap:var(--box-gap)}.summer-camp-page .details>.info-card{width:100%}.summer-camp-page .info-card{padding:44px 22px 28px;border-radius:28px}.summer-camp-page .bullets li,.summer-camp-page .check-list li{font-size:18px}.summer-camp-page .benefit-fees li,.summer-camp-page .place-list li,.summer-camp-page .sat-details .bullets li{font-size:17px}.summer-camp-page .check-list small,.summer-camp-page .fee-detail,.summer-camp-page .fit-line,.summer-camp-page .nowrap{white-space:normal}.summer-camp-page .benefit-fees .fee-detail,.summer-camp-page .place-list .fit-line small{white-space:nowrap}.summer-camp-page .apply-card .deadline{font-size:22px;white-space:normal}.summer-camp-page .apply-card p{font-size:17px}.summer-camp-page .consulting-discount-copy .mobile-discount-line{display:block}.summer-camp-page .consulting-discount-copy .mobile-discount-line+.mobile-discount-line:before{content:""}.summer-camp-page .fee-guide{padding:32px 22px 24px;border-radius:28px}.summer-camp-page .fee-table{min-width:0}.summer-camp-page .fee-table col:first-child{width:30%}.summer-camp-page .fee-table col:nth-child(2){width:18%}.summer-camp-page .fee-table col:nth-child(3),.summer-camp-page .fee-table col:nth-child(4),.summer-camp-page .fee-table col:nth-child(5),.summer-camp-page .fee-table col:nth-child(6){width:13%}.summer-camp-page .fee-table td,.summer-camp-page .fee-table th{height:auto;min-height:40px;padding:5px 3px;font-size:11px;line-height:1.2;white-space:normal;word-break:keep-all}.summer-camp-page .fee-table tbody td,.summer-camp-page .fee-table tbody th,.summer-camp-page .fee-table thead th{font-size:11px}.summer-camp-page .fee-account{white-space:normal}.summer-camp-page .course-guide{padding:54px 22px 30px;border-radius:28px}.summer-camp-page .course-guide .badge{min-width:0;width:auto;max-width:calc(100% - 36px)}.summer-camp-page .course-columns{grid-template-columns:1fr;gap:34px}.summer-camp-page .course-table td,.summer-camp-page .course-table th{font-size:15px;white-space:normal}.summer-camp-page .course-note{font-size:18px}.summer-camp-page .course-price{font-size:18px;white-space:normal}.summer-camp-page .course-price-line{display:block;white-space:nowrap}.summer-camp-page .care-guide{padding:46px 22px 30px;border-radius:28px}.summer-camp-page .care-guide p{font-size:16px}.summer-camp-page .care-guide small{font-size:14px}.summer-camp-page .schedule-guide{padding:48px 12px 32px;border-radius:28px}.summer-camp-page .schedule-table{min-width:0}.summer-camp-page .schedule-table col:first-child{width:8%}.summer-camp-page .schedule-table col:nth-child(2){width:16%}.summer-camp-page .schedule-table col:nth-child(n+3){width:10.85%}.summer-camp-page .schedule-table td,.summer-camp-page .schedule-table th{height:auto;min-height:36px;padding:4px 2px;font-size:10px;line-height:1.1}.summer-camp-page .schedule-table .period{font-size:10px}.summer-camp-page .schedule-table .time{font-size:9px}.summer-camp-page .schedule-table .period,.summer-camp-page .schedule-table .time{white-space:normal;line-height:1.12}.summer-camp-page .schedule-title{flex-direction:column;gap:14px}.summer-camp-page .level-badge{position:static}.summer-camp-floating-cta{right:16px;bottom:16px;min-width:152px;font-size:17px}.summer-camp-page .apply-bottom{display:none}}@media (max-width:460px){.summer-camp-page{--box-gap:52px}.summer-camp-page .page{margin-top:22px;padding-inline:12px}.summer-camp-page .mascot{transform:translateX(-50%) scale(.68)}.summer-camp-page .mascot-back{top:68px}.summer-camp-page .mascot-front{top:0}.summer-camp-page .hero{padding:62px 14px 32px;border-radius:26px}.summer-camp-page .hero h1{font-size:clamp(42px,12vw,52px);white-space:nowrap}.summer-camp-page .hero .eyebrow{font-size:clamp(29px,8.6vw,34px)}.summer-camp-page .hero .camp-line{font-size:clamp(38px,10.6vw,48px)}.summer-camp-page .hero .date{font-size:clamp(12px,3.3vw,17px);white-space:nowrap}.summer-camp-page .hero-nav{flex-direction:column;width:100%}.summer-camp-page .hero-nav .two-line,.summer-camp-page .hero-nav a{width:100%;min-height:38px;flex-basis:auto;font-size:15px}.summer-camp-page .program h2{font-size:25px;line-height:1.2}.summer-camp-page .program-title-line{display:block;white-space:nowrap}.summer-camp-page .subjects{grid-template-columns:1fr}.summer-camp-page .sat-subjects:before{display:none}.summer-camp-page .subject+.subject{border-left:0;border-top:2px solid #1391d2;padding-top:22px}.summer-camp-page .badge{padding-inline:10px}.summer-camp-page .badge,.summer-camp-page .care-guide .care-badge,.summer-camp-page .course-guide .badge,.summer-camp-page .fee-guide .badge,.summer-camp-page .info-card .badge,.summer-camp-page .kit-label,.summer-camp-page .level-badge{font-size:var(--mobile-section-label-size)}.summer-camp-page .subject strong{font-size:23px}.summer-camp-page .sat-subjects .subject span,.summer-camp-page .subject span{font-size:13px;white-space:normal}.summer-camp-page .sat-subjects .subject b,.summer-camp-page .subject b{font-size:17px;white-space:normal}.summer-camp-page .instructor-photo{width:min(128px,68%)}.summer-camp-page .info-card{padding-inline:18px}.summer-camp-page .benefit-fees li,.summer-camp-page .bullets li,.summer-camp-page .check-list li,.summer-camp-page .place-list li,.summer-camp-page .sat-details .bullets li{font-size:16px}.summer-camp-page .check-list small,.summer-camp-page .fee-detail{font-size:clamp(11px,3.1vw,14px)}.summer-camp-page .apply-card p{font-size:16px}.summer-camp-floating-cta,.summer-camp-page .apply-button{width:calc(100% - 32px);min-width:0}.summer-camp-floating-cta{left:16px;right:16px}.summer-camp-page .schedule-table{min-width:0}.summer-camp-page .schedule-table td,.summer-camp-page .schedule-table th{padding:3px 1px;font-size:9px}.summer-camp-page .schedule-table .time{font-size:8px}.summer-camp-page .course-note{padding-inline:18px;font-size:clamp(13px,3.75vw,16px);white-space:nowrap}.summer-camp-page .course-price{font-size:clamp(12px,3.55vw,16px)}}@media (max-width:360px){.summer-camp-page .hero h1{font-size:clamp(36px,11.5vw,42px);white-space:normal}.summer-camp-page .hero .camp-line{font-size:clamp(32px,10vw,38px);white-space:normal}.summer-camp-page .hero .eyebrow{font-size:27px}.summer-camp-page .badge,.summer-camp-page .care-guide .care-badge,.summer-camp-page .course-guide .badge,.summer-camp-page .fee-guide .badge,.summer-camp-page .info-card .badge,.summer-camp-page .kit-label,.summer-camp-page .level-badge{max-width:calc(100% - 20px);padding-inline:12px;font-size:var(--mobile-section-label-size)}.summer-camp-page .schedule-toggle{width:180px;max-width:calc(100% - 24px);min-width:0}}