/* Final black/green academy design with minimum 11px text. */
:root{
 --primary:#76b900;--primary-active:#5a8d00;--ink:#000000;--body:#1a1a1a;
 --muted:#757575;--line:#cccccc;--paper:#ffffff;--soft:#f7f7f7;
 --card:#ffffff;--dark:#000000;--on-dark:#ffffff;--navy:#000000;--mint:#76b900;
 --display:"Inter","Pretendard","Malgun Gothic",Arial,sans-serif;
}
body{background:var(--paper);color:var(--body);letter-spacing:0}
h1,h2{font-family:var(--display);font-weight:700;color:var(--ink);word-break:keep-all}
a:hover{color:var(--primary-active)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--primary-active)}
.topline{background:var(--soft);color:var(--muted)}.topline a{color:var(--body)}
header{background:#fffffff5;border-bottom:1px solid var(--line)}
.nav{gap:24px}.brand{color:var(--ink);font-family:var(--display);font-weight:600;font-size:25px}.brand small{font-family:"Malgun Gothic",sans-serif;font-weight:400;color:var(--muted)}
.nav nav{gap:22px;font-size:14px;font-weight:500}.nav nav a{padding:8px 0}
.button,.button.small,.button.mint{background:var(--primary);color:white;border-radius:999px;box-shadow:none;font-weight:500;gap:16px;min-height:42px;padding:13px 20px;transition:background .18s}
.button:hover,.button.small:hover,.button.mint:hover{background:var(--primary-active);color:white;transform:none}
.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:500;color:var(--primary-active)}
.academy-highlight{color:inherit}.section-head h2{font-size:36px;letter-spacing:-1px;line-height:1.4}
.hero{background:var(--paper);color:var(--ink);border-radius:0}.hero-wave{display:none}
.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:48px;padding-top:72px;padding-bottom:72px;min-height:0}
.hero .eyebrow{color:var(--muted);font-size:14px;letter-spacing:0;font-weight:400;margin-bottom:24px}
.hero h1{font-size:clamp(38px,4.1vw,58px);font-weight:400;line-height:1.35;letter-spacing:-1.8px;margin-bottom:26px}
.hero h1 em{color:var(--ink);font-weight:400}.intro{font-size:16px;color:var(--body);line-height:1.8}
.hero .actions{gap:24px;margin-top:32px}.text-link{color:var(--ink);font-size:19px;font-weight:600}.hero-note{color:var(--muted);font-size:13px;margin-top:22px}
.hero-visual{min-width:0}.hero-photo{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#fff}
.hero-photo img{display:block;width:100%;height:auto;object-fit:contain}.hero-photo figcaption{position:absolute;right:12px;bottom:9px;color:var(--muted);background:#ffffffe8;padding:2px 8px;font-size:11px;border-radius:4px;line-height:1.5}
.hero-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--card);margin-top:12px;border-radius:999px;overflow:hidden}
.hero-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 18px;color:var(--ink);font-size:15px;font-weight:500;border-right:1px solid var(--line)}
.hero-shortcuts a:last-child{border:0}.hero-shortcuts span{color:var(--primary-active)}
.courses{padding-top:48px;padding-bottom:56px}.course-grid{gap:16px}.course{background:var(--card);border:0;border-radius:12px;padding:28px 24px 24px;box-shadow:none;transition:none;--accent:var(--primary-active)}
.blue,.cyan,.teal{--tint:var(--card);--accent:var(--primary-active)}
.course .number{font-size:12px;font-weight:400;color:var(--muted);margin-bottom:26px;letter-spacing:.6px}.course h3{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.4;color:var(--ink)}
.course p{font-size:14px;color:var(--body);line-height:1.8}.course ul{color:var(--body);font-size:13px;line-height:1.9;margin:20px 0 24px}.course>a{border-color:#cacacb;color:var(--primary-active);font-weight:500;padding-top:17px}
.course-contact-label small{color:var(--muted)}.course.green{background:var(--dark);color:var(--on-dark);--accent:var(--primary)}
.course.green h3,.course.green p,.course.green ul{color:var(--on-dark)}.course.green .number,.course.green .course-contact-label small{color:#cacacb}.course.green>a{border-color:#47443e;color:#ffffff}
.learning-callout{background:var(--primary);padding:36px 0;color:white}.learning-callout .wrap{display:flex;align-items:center;gap:32px}.learning-callout h2{font-size:32px;color:white;line-height:1.4;flex:1}
.learning-callout p{font-size:14px;line-height:1.7;padding-left:28px;border-left:1px solid #ffffff66;margin:0}.learning-callout .button{background:transparent;border:1px solid #ffffff99;min-width:160px}.learning-callout .button:hover{background:#ffffff15}
.course-guide{background:var(--soft);padding:88px 0;border:0}.guide-grid{gap:20px}.guide-grid article{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:32px;box-shadow:none}.guide-grid .review-invite{background:var(--card)}.guide-grid article>span{color:var(--muted)}.guide-grid h3{font-family:var(--display);font-size:23px;font-weight:400;line-height:1.5}.guide-grid p{color:var(--body);line-height:1.8}.guide-grid article>a{color:var(--primary-active);font-weight:500}
.about{background:var(--paper);padding:88px 0}.facility-gallery{gap:24px}.facility-gallery figure{background:var(--soft);border:0;border-radius:12px;overflow:hidden;box-shadow:none}.about .facility-gallery img{border-radius:0;width:100%;aspect-ratio:16/9;object-fit:cover}.facility-gallery figcaption{padding:12px;margin:0;color:var(--muted);font-size:13px}.director-profile{border-color:var(--line);padding-top:32px}.director-intro h3{font-family:var(--display);font-weight:700;color:var(--ink)}.director-records h4,.director-intro .director-experience{color:var(--primary-active);font-weight:500}.director-records li{color:var(--body)}
.news{padding-top:80px;padding-bottom:72px}.news-row{border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;margin:0;background:transparent;transition:none}.news-row:last-of-type{border-bottom:1px solid var(--line)}.news-row h3{font-size:16px;font-weight:500;line-height:1.6}.tag{border-radius:999px;background:var(--card);color:var(--body)}.news-row .tag{padding:5px 8px;font-size:11px}.dark-link{color:var(--primary-active);font-weight:500}
.faq{gap:48px;padding-top:16px}.faq-list{border-top:1px solid var(--line)}.faq-list details{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:0}.faq-list summary{font-weight:500;padding-top:22px;padding-bottom:22px}.faq-list summary:after{color:var(--primary-active)}.faq-list details p{color:var(--body);line-height:1.8}
.materials{padding-top:60px;padding-bottom:80px}.materials-tools{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:24px;gap:14px}.materials input,.materials select{background:var(--paper);color:var(--body);border-color:var(--line);border-radius:999px}.materials button{border-radius:999px}.materials .button{border-radius:999px}.material-row{border:0;border-bottom:1px solid var(--line);padding:24px 0;background:transparent;margin:0;border-radius:0}.material-actions button{background:var(--paper);border-radius:999px}.materials-dialog{background:var(--paper);color:var(--body);border-radius:12px;border-color:var(--line);box-shadow:0 20px 60px #11111126}.materials-dialog::backdrop{background:#11111180}.materials-dialog h3{font-family:var(--display);font-weight:700;color:var(--ink)}.materials .danger{background:#a73434;color:white}.materials .danger-outline{color:#a73434;border-color:#d8aaaa}
.contact{background:var(--soft);color:var(--body);padding:72px 0}.contact .eyebrow{color:var(--primary-active)}.contact h2{font-family:var(--display);font-weight:700;color:var(--ink);line-height:1.5}.contact .phone{color:var(--ink);font-weight:500}.contact p{color:var(--muted)}.contact .button.mint{background:var(--primary);color:white}.contact .button.mint:hover{background:var(--primary-active)}.contact .visit-card,.contact .class-hours{border-color:var(--line)}.visit-card>span{color:var(--muted)}.visit-card h3{font-family:var(--display);color:var(--ink);font-weight:400}.visit-card address{color:var(--body)}.visit-card small{color:var(--muted)}.visit-card>a{color:var(--primary-active)}.visit-divider{border-color:var(--line)}.class-hours h3{color:var(--ink);font-family:var(--display);font-weight:700}.class-hours dl>div{border-color:var(--line)}.class-hours dt{color:var(--ink);font-weight:500}.class-hours dd{color:var(--body)}.class-hours dd small{color:var(--muted)}.class-hours dd.hours-closed{color:var(--primary-active)}
footer{background:var(--dark);color:var(--on-dark);padding:48px 0 28px}footer>div>strong{font-family:var(--display);font-weight:700;font-size:22px}footer p,.footer-bottom{color:#cacacb}.footer-bottom{border-color:#3b3832}footer a:hover{color:#ffffff}
html.lenis{scroll-behavior:auto!important}
@media(max-width:1100px) and (min-width:721px){.nav nav{gap:16px}.hero-inner{gap:30px}.hero h1{font-size:42px}.hero-shortcuts a{padding:18px 12px;font-size:13px}.course-grid{gap:12px}.course{padding:24px 18px}.course h3{font-size:21px}.learning-callout h2{font-size:27px}.learning-callout .wrap{gap:20px}}
@media(max-width:720px){.brand{font-size:21px}.nav nav{gap:4px 16px}.hero-inner{grid-template-columns:minmax(0,1fr);padding-top:42px;padding-bottom:40px;gap:32px}.hero h1{font-size:38px;letter-spacing:-1.3px;line-height:1.35}.hero .eyebrow{font-size:12px;margin-bottom:22px}.intro{font-size:15px}.hero .actions{gap:18px;align-items:center}.hero-note{font-size:12px}.hero-photo{border-radius:12px}.hero-photo figcaption{font-size:11px;bottom:5px;right:6px;padding:1px 5px}.hero-shortcuts a{font-size:13px;padding:16px 12px}.hero-shortcuts{margin-top:10px}.courses,.news{padding-top:44px;padding-bottom:44px}.course-grid{grid-template-columns:minmax(0,1fr);gap:14px}.course{padding:24px;border-radius:12px}.course h3{font-size:26px}.course .number{margin-bottom:18px}.course ul{margin:16px 0 20px;font-size:14px}.course p{font-size:15px}.learning-callout{padding:32px 0}.learning-callout .wrap{flex-direction:column;align-items:flex-start;gap:18px}.learning-callout h2{font-size:27px}.learning-callout p{padding:0;border:0}.learning-callout .button{min-width:0}.course-guide,.about{padding:50px 0}.guide-grid article{padding:26px}.section-head{gap:12px}.section-head h2{font-size:28px}.facility-gallery{gap:18px}.news-row{padding:20px 0}.news-row h3{font-size:14px}.faq{gap:24px}.faq-list summary{font-size:14px}.materials{padding-top:44px;padding-bottom:48px}.materials-tools{padding:18px}.material-row{padding:22px 0}.contact{padding:48px 0}.contact .visit-card,.contact .class-hours{border-color:var(--line)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}


/* Angular green actions and a dark education hero. */
.brand{font-family:var(--display);font-weight:800}.brand small{font-weight:400}.nav nav{font-weight:700}.button,.button.small,.button.mint{background:var(--primary);color:#000000;border-radius:2px;font-weight:700;min-height:44px;padding:12px 24px;box-shadow:none}.button:hover,.button.small:hover,.button.mint:hover{background:var(--primary-active);color:#000000}.hero{background:#000000;color:#fff}.hero-inner{grid-template-columns:minmax(0,.92fr) minmax(0,1.14fr);gap:48px;padding-top:64px;padding-bottom:64px}.hero h1{color:#fff;font-size:48px;line-height:1.28;font-weight:750;letter-spacing:-1.4px}.hero h1 em{color:var(--primary);font-weight:750}.hero .eyebrow{color:var(--primary);font-weight:700;font-size:13px;letter-spacing:.4px}.hero .intro{color:#d0d0d0;line-height:1.8}.hero .text-link{color:#fff;font-size:20px}.hero-note{color:#a7a7a7}.hero .actions{gap:24px}.hero-photo{border-radius:2px;background:#1a1a1a}.hero-photo img{display:block;width:100%;height:auto}.hero-photo figcaption{background:#000000cc;color:#fff;border-radius:2px;padding:4px 8px;bottom:8px;right:8px;font-size:11px}.hero-shortcuts{background:#1a1a1a;border-radius:2px;border:1px solid #393939}.hero-shortcuts a{color:#fff;font-weight:700;border-right-color:#393939;font-size:14px;padding:18px 16px}.hero-shortcuts span{color:var(--primary)}.hero-shortcuts a:hover{color:var(--primary)}
.section-head h2{font-weight:750;font-size:36px}.eyebrow{color:#3f8500;font-weight:700}.courses,.news{padding-top:64px;padding-bottom:64px}.course-grid{gap:20px}.course{position:relative;background:#fff;border:1px solid var(--line);border-radius:2px;padding:28px 24px}.course::before{content:"";position:absolute;left:-1px;top:-1px;width:10px;height:10px;background:var(--primary)}.course h3{font-weight:700;font-size:23px}.course>a{color:#3f8500}.course.green{background:#000000;border-color:#5e5e5e}.course.green>a{color:var(--primary)}.course.green .number,.course.green .course-contact-label small{color:#a7a7a7}.learning-callout{background:#000000;color:white}.learning-callout h2{font-weight:750}.learning-callout .button{background:var(--primary);border:0;color:#000000}.learning-callout .button:hover{background:var(--primary-active);color:#000000}.course-guide{background:var(--soft);padding:64px 0}.guide-grid article,.guide-grid .review-invite{background:white;border-radius:2px;border-color:var(--line);padding:28px}.guide-grid h3{font-weight:700}.guide-grid article>a{color:#3f8500}.about{padding:64px 0}.facility-gallery figure{border-radius:2px}.director-intro h3,.director-records h4{font-weight:700}.news-row .tag,.tag{background:var(--soft);border-radius:2px;color:var(--body)}.faq-list summary:after{color:#3f8500}.materials-tools{border-radius:2px;background:var(--soft)}.materials input,.materials select,.materials button,.materials .button,.material-actions button{border-radius:2px}.materials-dialog{border-radius:2px}.materials-dialog h3{font-weight:700}.materials .danger{background:#e52020;color:white}.materials .danger-outline{color:#c01b1b;border-color:#c01b1b}.contact{background:var(--soft);padding:64px 0}.contact .button.mint{background:var(--primary);color:#000000}.contact .button.mint:hover{background:var(--primary-active);color:#000000}.contact h2,.visit-card h3,.class-hours h3{font-weight:700}.contact .phone{font-weight:750}.visit-card>a{color:#3f8500}.class-hours dd.hours-closed{color:#3f8500}.contact .eyebrow{color:#3f8500}footer{background:#000000}footer>div>strong{font-weight:700}footer a:hover{color:var(--primary)}
@media(min-width:721px) and (max-width:1100px){.hero-inner{gap:28px}.hero h1{font-size:40px}.hero-shortcuts a{font-size:12px;padding:16px 12px}.hero .actions{gap:16px}}
@media(max-width:720px){.hero-inner{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:40px;padding-bottom:40px}.hero h1{font-size:36px;letter-spacing:-1px;line-height:1.3}.hero .eyebrow{font-size:12px}.hero-photo{border-radius:2px}.hero-shortcuts a{font-size:12px;padding:16px 10px}.hero-photo figcaption{font-size:11px}.section-head h2{font-size:28px}.course{border-radius:2px;padding:24px}.course h3{font-size:23px}.courses,.news,.course-guide,.about,.contact{padding-top:48px;padding-bottom:48px}.learning-callout h2{font-size:26px}}

/* Final selected black/green palette; keep readable captions. */
.button,.button.small,.button.mint,.button:hover,.button.small:hover,.button.mint:hover,.contact .button.mint,.contact .button.mint:hover,.learning-callout .button,.learning-callout .button:hover{color:#000}.hero{background:#000}.hero .eyebrow,.hero h1 em{color:#76b900}.hero .intro{color:#d0d0d0}.hero-note{color:#a7a7a7}.hero-shortcuts{background:#1a1a1a;border-color:#393939}.hero-shortcuts a{border-right-color:#393939}.hero-shortcuts span,.hero-shortcuts a:hover{color:#76b900}.hero-photo figcaption{background:#000c;color:#fff;font-size:11px}.course.green{background:#000;border-color:#5e5e5e}.course.green>a{color:#76b900}.course.green .number,.course.green .course-contact-label small{color:#a7a7a7}.learning-callout,footer{background:#000}footer a:hover{color:#76b900}footer p,.footer-bottom{color:#cacacb}.footer-bottom{border-color:#393939}
@media(max-width:720px){.hero-photo figcaption,.brand small,.topline,.course .number{font-size:11px}}

/* Restore balanced spacing; retain photo-only horizontal mirroring. */
.hero .hero-photo img{transform:scaleX(-1)}
