.nav-inner{position:relative}.nav-item{position:static}.nav-item>button{font-size:16px}.grouped-sub{left:0;right:0;min-width:0;display:none;max-height:65vh;overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding:25px 28px;z-index:20;border:1px solid #dce4e9;border-top:3px solid #286a8f}.nav-item:hover .grouped-sub,.nav-item:focus-within .grouped-sub{display:grid}.nav-section h3{font-size:15px;color:#2d6786;border-bottom:1px solid #dce5eb;padding-bottom:12px;margin:0 0 9px}.nav-section button{display:block;font-size:13px;padding:9px 6px;width:100%;border:0}.side-links h3{background:#f4f7f9;font-size:13px;color:#597285;margin:0;padding:13px 18px;border-bottom:1px solid #e1e8ed}.side-links button{font-size:13px;padding:12px 18px}.side-title{font-size:22px}.rich-school-content{white-space:normal;padding:0}.rich-school-content h2{font-size:20px;margin:30px 0 15px;color:#2e536c}.school-intro{line-height:1.9;font-size:15px;color:#627783}.school-table-wrap{overflow-x:auto;margin:20px 0 27px;border-top:2px solid #3a6d8a}.school-table-wrap table{border-collapse:collapse;width:100%;font-size:13px;min-width:440px;line-height:1.7}.school-table-wrap th{background:#f0f5f8;color:#375970;font-weight:600;padding:13px 12px;border:1px solid #dce5eb}.school-table-wrap td{padding:12px;border:1px solid #dce5eb;white-space:normal}.school-table-wrap tbody tr:nth-child(even){background:#fcfdfe}.curriculum-links{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:15px;border-bottom:1px solid #e4e9ed}.curriculum-links button,.school-resource-links a{border:1px solid #d5e1e9;background:#f7fafc;color:#3a6681;padding:9px 12px;font-size:12px}.curriculum-links button:hover{background:#eaf2f7}.school-note{border-left:3px solid #8db2c7;background:#f6f9fb;padding:15px 20px;color:#738591;font-size:12px;line-height:1.9}.school-board{border-top:2px solid #396983}.school-board button{display:flex;align-items:center;gap:20px;text-align:left;width:100%;border-bottom:1px solid #e2e8ed;padding:20px 14px;font-size:14px}.school-board button strong{flex:1;font-weight:500}.school-board time,.board-no{color:#8c9ba4;font-size:12px}.school-symbol{display:block;width:min(460px,100%);height:auto;margin:10px auto}.school-campus{display:block;width:100%;height:auto;margin:0 0 25px}.page-tools{display:flex;justify-content:flex-end;margin-top:-15px;margin-bottom:12px}.page-tools button{font-size:12px;color:#6b808d;border:1px solid #dce5eb;padding:5px 12px}.school-resource-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;white-space:normal}.full-sitemap{white-space:normal}.full-sitemap h3{color:#2e6a8a;padding-bottom:12px;border-bottom:2px solid #d7e5ed;font-size:20px;margin:25px 0 15px}.full-sitemap strong{display:block;font-size:13px;color:#7c919e;margin:15px 0 7px}.full-sitemap button{font-size:13px;padding:7px 13px 7px 0;display:inline-block;color:#385c72}.full-sitemap button:hover{text-decoration:underline}@media(max-width:850px){.grouped-sub{position:absolute;grid-template-columns:repeat(2,minmax(0,1fr));left:10px!important;right:10px!important;padding:20px;gap:20px;max-height:60vh}.nav-inner{position:static}nav{position:relative}.nav-item>button{font-size:13px}.nav-section button{font-size:12px}.school-table-wrap table{font-size:12px}.school-board button{font-size:13px;padding:15px 5px;gap:10px}.school-board .board-no{display:none}.school-board time{font-size:10px;white-space:nowrap}.curriculum-links button{font-size:11px;padding:8px 9px}}@media print{header,nav,footer,.links,.up,#welcome-popup,.side-links,.side-title,.curriculum-links,.page-tools,.back-button{display:none!important}.sub-page{display:block;max-width:100%;padding:0}.sub-banner{display:none}.school-table-wrap{overflow:visible}.school-table-wrap table{min-width:0}}
/* 상단 7열 전체 메뉴 */
.school-mega-nav{background:#139e99;color:#fff;border:0;position:relative;z-index:30}.school-mega-nav .nav-inner{max-width:1320px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:static}.school-mega-nav .nav-item>button{height:60px;padding:17px 2px;font-size:17px;font-weight:700;color:#fff;white-space:nowrap}.school-mega-nav .nav-item:hover>button,.school-mega-nav .nav-item>button:focus-visible{background:#0e908c;color:#fff}.school-mega-panel{background:white;color:#1b3447;position:absolute;left:0;right:0;top:100%;box-shadow:0 5px 9px #263c4d15;border-bottom:1px solid #e8eaed;max-height:70vh;overflow:auto}.school-mega-grid{max-width:1320px;min-height:220px;margin:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch}.mega-column{border-right:1px solid #edf0f2;padding:0 12px 24px;min-width:0}.mega-column:first-child{border-left:1px solid #edf0f2}.mega-column details{margin:0}.mega-column summary{cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;list-style:none;padding:10px 0;font-size:14px;font-weight:400;line-height:1.6;word-break:keep-all}.mega-column summary::-webkit-details-marker{display:none}.mega-column summary:after{content:'';border-bottom:1px solid #20455d;border-right:1px solid #20455d;width:7px;height:7px;transform:rotate(45deg);margin:7px 2px 0;flex-shrink:0}.mega-column details[open]>summary{color:#0d8c88;font-weight:bold}.mega-column details[open]>summary:after{transform:rotate(225deg);margin-top:10px}.mega-leaves{border-left:2px solid #d9eae9;margin:0 0 8px 1px;padding:0 0 0 9px}.mega-leaves button{display:block;width:100%;text-align:left;padding:7px 0;color:#687c89;font-size:12px;line-height:1.6}.mega-leaves button:hover{color:#008b88;text-decoration:underline}.mega-column summary:hover{color:#008b88}.school-mega-panel[hidden]{display:none!important}@media(max-width:1420px){.school-mega-nav .nav-inner,.school-mega-grid{max-width:calc(100% - 80px)}}@media(max-width:1000px){.school-mega-nav .nav-item>button{font-size:14px}.mega-column{padding:0 9px 20px}.mega-column summary{font-size:12px;gap:5px}.mega-leaves button{font-size:11px}}@media(max-width:850px){.school-mega-nav .nav-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:100%!important}.school-mega-nav .nav-item>button{height:45px;padding:11px 3px;font-size:13px}.school-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;min-height:0}.mega-column{padding:10px 18px 15px;border-bottom:1px solid #e4ebee}.mega-column summary{font-size:14px}.mega-leaves button{font-size:12px}.school-mega-panel{max-height:65dvh}.school-mega-nav .nav-item:last-child{grid-column:auto}}@media print{.school-mega-panel{display:none!important}}
.staff-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:2px solid #dedfe1;padding:12px 15px;gap:3px 8px;white-space:normal;margin:7px 0 17px}.staff-tabs button{text-align:left;color:#92979b;font-size:13px;padding:8px 3px;line-height:1.5;display:flex;align-items:center;gap:7px}.staff-tabs button.selected{color:#0968bd;font-weight:600}.staff-check{font-size:10px;border:1.4px solid currentColor;border-radius:50%;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.staff-tabs button.selected .staff-check{color:#fff;background:#126dc0;border-color:#126dc0}.staff-count{font-size:12px;color:#8a99a4;margin:0 0 13px}.staff-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;align-items:start}.staff-card{border:1px solid #9badc8;border-radius:0 26px 0 26px;padding:22px 28px;box-shadow:4px 4px 0 #f1f3f7;white-space:normal}.staff-card dl{margin:0}.staff-field{display:flex;align-items:baseline;gap:15px;margin:0 0 9px;font-size:14px;line-height:1.7}.staff-field:last-child{margin-bottom:0}.staff-field dt{background:#627fa0;color:#fff;font-size:13px;font-weight:600;border-radius:9px;min-width:70px;text-align:center;padding:2px 8px}.staff-field dd{margin:0;word-break:keep-all}.staff-field mark{background:linear-gradient(transparent 48%,#fff0ae 48%);color:#192b3c;padding:0 4px}.staff-tabs button:focus-visible{outline:2px solid #3679a7;outline-offset:1px}@media(max-width:1000px){.staff-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-card{padding:20px}.staff-field{gap:12px}.staff-field dt{min-width:58px}}@media(max-width:600px){.staff-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:2px}.staff-tabs button{font-size:12px}.staff-cards{grid-template-columns:1fr;gap:20px}.staff-card{padding:21px 24px}.staff-field{font-size:14px}.staff-field dt{min-width:65px}.staff-count{font-size:11px}}
.school-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:12px}.school-photo-card{border:1px solid #dce5eb;padding:0;text-align:left;background:white;overflow:hidden}.school-photo-thumb{height:190px;background:#f1f6f9;display:flex;align-items:center;justify-content:center}.school-photo-thumb img{display:block;width:100%;height:100%;object-fit:contain}.school-photo-copy{padding:19px 22px}.school-photo-copy h2{font-size:18px;margin:0 0 10px;color:#2e526b}.school-photo-copy p{font-size:12px;color:#8b99a2;margin:0;line-height:1.7}.school-photo-card:hover{border-color:#6b9eb8}.gallery-full-photo{display:block;width:100%;height:auto;margin:0 0 20px;background:#f3f7f9}.status-staff-link{border:1px solid #cbdde8;color:#306a8a;background:#f7fafc;padding:10px 17px;font-size:13px}@media(max-width:600px){.school-photo-grid{grid-template-columns:1fr}.school-photo-thumb{height:180px}.school-photo-copy h2{font-size:17px}}
.principal-intro{border-bottom:1px solid #dfe8ed;padding:20px 0 28px;margin-bottom:28px}.principal-eyebrow{font-size:11px;color:#7397a9;letter-spacing:2px}.principal-intro h2{font-size:28px;line-height:1.7;font-weight:600;color:#2a637c;white-space:pre-line;margin:13px 0 0}.principal-message{line-height:2.2;color:#40515d;font-size:16px;word-break:keep-all}.principal-message p{margin:0 0 27px}.principal-sign{text-align:right;margin:35px 0 15px;font-size:16px;color:#516b7c}.principal-sign strong{font-size:21px;letter-spacing:3px;color:#2e4f64}.history-intro{background:#f2f7fa;padding:25px 28px;border-left:4px solid #4a869f;margin:10px 0 28px}.history-intro strong{font-size:27px;letter-spacing:1px;color:#2c657d}.history-intro p{font-size:14px;margin:5px 0;color:#7b929f}.school-history-list{padding:0;margin:0;list-style:none}.school-history-list li{display:grid;grid-template-columns:100px 1fr;gap:25px;border-bottom:1px solid #e2e9ee;padding:20px 12px}.school-history-list time{font-size:21px;font-weight:600;color:#3d7994}.school-history-list p{font-size:15px;color:#526672;line-height:1.9;margin:0}@media(max-width:600px){.principal-intro h2{font-size:23px}.principal-message{font-size:14px;line-height:2.15}.school-history-list li{grid-template-columns:65px 1fr;gap:15px;padding:18px 4px}.school-history-list time{font-size:19px}.school-history-list p{font-size:13px}.history-intro{padding:20px}.history-intro strong{font-size:24px}}
.history-decade-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 16px;margin:10px 0 34px;white-space:normal}.history-decade-tabs button{border:3px solid #e1e1e1;border-bottom:0;border-radius:16px 16px 0 0;padding:14px 11px;text-align:left;font-size:14px;color:#1e3548;display:flex;align-items:center;justify-content:space-between;gap:10px}.history-decade-tabs button:after{content:'';height:7px;width:7px;border-bottom:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-right:4px;margin-top:-4px}.history-decade-tabs button.selected{background:#1e6cd1;color:#fff;border-color:#1e6cd1;font-weight:600}.history-timeline{position:relative;margin:0 0 20px 35px;padding-left:40px}.history-timeline:before{content:'';position:absolute;left:0;top:26px;bottom:0;width:1px;background:#d1d5da}.history-year{position:relative;margin:0 0 22px}.history-year:before{content:'';position:absolute;left:-45px;top:20px;width:8px;height:8px;border:3px solid #1e6cd1;border-radius:50%;background:white}.history-year h2{display:inline-block;min-width:100px;padding:8px 23px;border-radius:24px 24px 24px 0;background:#1e6cd1;color:#fff;font-size:18px;text-align:center;margin:0 0 15px;line-height:1.5;font-weight:600}.history-events{list-style:none;margin:0;padding:18px 24px;border-radius:0 24px 24px 24px;background:#f5f5f5}.history-events li{display:grid;grid-template-columns:112px 1fr;gap:18px;position:relative;line-height:1.9;font-size:14px;padding:4px 0 4px 15px;color:#25425a}.history-events li:before{content:'•';position:absolute;left:0;top:5px;color:#1e6cd1}.history-events time{white-space:nowrap}.history-events span{word-break:keep-all}@media(max-width:850px){.history-decade-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-decade-tabs button{font-size:13px;padding:13px 10px}.history-timeline{margin-left:10px;padding-left:28px}.history-year:before{left:-33px}.history-events{padding:14px 17px}.history-events li{grid-template-columns:88px 1fr;gap:10px;font-size:13px}}@media(max-width:500px){.history-decade-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}.history-year h2{font-size:16px;min-width:85px;padding:7px 18px}.history-events li{grid-template-columns:1fr;gap:2px;font-size:12px;padding:4px 0 7px 12px}.history-events time{color:#1e6cd1;font-size:11px}.history-events{padding:12px 14px;border-radius:0 18px 18px 18px}.history-year:before{top:16px}}

.club-group-photo{margin:28px 0 38px;border:1px solid #d8e5eb;background:#f1f7fa}.club-group-photo img{display:block;width:100%;height:auto}.club-group-photo figcaption{padding:14px 20px;background:white;color:#275e7f;font-weight:700}.family-letter-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 18px;white-space:normal}.family-letter-actions a{padding:10px 15px;border:1px solid #b7cedf;border-radius:4px;color:#1762a5;background:#f3f8fc}.family-letter-original{display:block;width:100%;height:auto;border:1px solid #d9e1e7}

.president-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start}.president-profile{margin:0;background:#f1f7fa;border:1px solid #d8e5ed;border-radius:8px;overflow:hidden}.president-portrait{position:relative;height:405px;overflow:hidden}.president-portrait img{position:absolute;width:760px;max-width:none;height:auto;left:50%;transform:translateX(-50%);top:-95px}.president-profile figcaption{text-align:center;padding:20px;background:white;line-height:1.6}.president-profile span{display:block;font-size:13px;color:#617b8c}.president-profile strong{display:block;font-size:25px;color:#1c5e87}.president-speech h2{color:#1766b2;line-height:1.6;font-size:25px;margin-top:0}.president-speech p{line-height:2;margin:0 0 22px;word-break:keep-all}.president-sign{font-weight:bold;text-align:right}.family-letter-sheet{border:2px solid #303942;padding:26px;background:white;color:#192d3b;white-space:normal}.family-letter-head{display:flex;gap:20px;padding:0 0 20px;border-bottom:8px solid #8abfff;max-width:none;margin:0;justify-content:flex-start}.letter-crest{width:85px;height:85px;position:relative;overflow:hidden;flex-shrink:0}.letter-crest img{position:absolute;width:240px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%)}.family-letter-head strong{display:block;font-size:30px;letter-spacing:3px}.family-letter-head small{display:block;margin-top:8px;color:#61758a;font-size:12px}.family-letter-sheet h3{text-align:center;font-size:25px;line-height:1.6;margin:24px 0;border-bottom:5px solid #269de0;padding-bottom:20px}.family-letter-body p{font-family:'Batang',serif;line-height:2.1;white-space:pre-line;margin:18px 0}.family-letter-date{text-align:center;margin:35px 0 12px}.family-letter-sign{display:block;text-align:center;font-size:25px;line-height:1.6}@media(max-width:760px){.president-layout{grid-template-columns:1fr}.president-profile{width:240px;max-width:100%;margin:auto}.family-letter-sheet{padding:15px}.family-letter-head{gap:12px}.family-letter-head strong{font-size:21px;letter-spacing:0}.family-letter-sheet h3{font-size:21px}.family-letter-sign{font-size:21px}}

/* 학생회장 증명사진: 3:4 상반신 구도 */
.president-portrait{height:320px;width:240px;max-width:100%;background:#edf4f8}.president-portrait img{width:1052.4px;top:-126px}

/* 얼굴·가슴 위 중심, 넉넉한 증명사진 여백 */
.president-portrait img{width:877px;top:-84px;clip-path:inset(0 0 calc(100% - 375.5px) 0)}
.academic-calendar-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 24px;white-space:normal}.academic-calendar-bar strong{font-size:24px;color:#263c4c;min-width:104px;text-align:center}.academic-calendar-bar button{border:1px solid #bec8cf;background:white;width:28px;height:28px;padding:0;line-height:1;font-size:23px}.academic-calendar-bar .calendar-current{font-size:12px;width:auto;padding:0 9px;color:#5b6a75}.academic-calendar-scroll{overflow-x:auto}.academic-calendar-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:630px;font-size:13px;line-height:1.5}.academic-calendar-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.academic-calendar-table th{background:#f7f8fa;border:1px solid #dce1e6;padding:8px 4px;text-align:center;font-size:12px;font-weight:600}.academic-calendar-table td{vertical-align:top;border:1px solid #dce1e6;height:105px;padding:0 0 7px}.academic-calendar-table .calendar-empty{background:#fafbfc}.calendar-day-number{display:block;padding:6px 8px 3px;font-size:12px;color:#294457;font-weight:600}.sunday{color:#e3233c!important}.saturday{color:#1264d9!important}.calendar-event{display:block;width:100%;text-align:left;background:#e5e1fb;margin:2px 0;padding:3px 6px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#29405a}.calendar-event:hover{background:#d4cef2}.calendar-holiday{background:#e93649;color:white}.calendar-holiday:hover{background:#c92035}.academic-calendar-table .calendar-is-today{box-shadow:inset 0 0 0 2px #1766b2}.academic-calendar-legend{font-size:12px;color:#63768a;margin-top:14px;white-space:normal}.annual-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.annual-month{border:1px solid #dce4ea;padding:18px;background:white;white-space:normal}.annual-month h2{font-size:20px;color:#1766b2;border-bottom:2px solid #e1edf6;padding-bottom:10px;margin-bottom:12px}.annual-month p{font-size:13px;color:#8a98a3}.annual-month button{display:block;text-align:left;font-size:13px;line-height:1.7;padding:4px 0;color:#34566e}.annual-month button:hover{text-decoration:underline}@media(max-width:760px){.annual-schedule-grid{grid-template-columns:1fr 1fr}.academic-calendar-table td{height:95px}.academic-calendar-bar{gap:8px}.academic-calendar-bar strong{font-size:21px}}@media(max-width:480px){.annual-schedule-grid{grid-template-columns:1fr}}

.calendar-exam{background:#ffe4c3;color:#74430b}.calendar-exam:hover{background:#ffd2a0}.calendar-assessment{background:#dcecff;color:#184b7d}.calendar-assessment:hover{background:#c4defb}
