:root{--ink:#122d46;--muted:#536779;--accent:#146bae;--line:#dce5ec;--light:#f3f7fa;--paper:#fff;--ease:cubic-bezier(.23,1,.32,1);font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}.jd{--ink:#292922;--muted:#6e6a5f;--accent:#876c32;--line:#dedacf;--light:#f4f2eb;--paper:#fdfcf8;background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}p{font-size:1rem;line-height:1.9;margin:0 0 1rem;color:var(--muted)}h1,h2,h3{margin:0;font-weight:600;line-height:1.4}h1{font-size:clamp(2.5rem,4.15vw,4rem);letter-spacing:.01em}h2{font-size:clamp(1.65rem,2.8vw,2.65rem);letter-spacing:-.02em}h3{font-size:1.3rem}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #dd9839;outline-offset:5px}button:active,.button:active{transform:scale(.985)}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:var(--paper);box-shadow:0 1px 0 var(--line)}.masthead{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:86px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:48px;height:48px;object-fit:contain}.brand .jd-mark{width:85px}.brand strong{font-size:1.15rem;letter-spacing:.03em;display:block;white-space:nowrap}.brand small{font-size:.75rem;letter-spacing:.13em;color:var(--muted);display:block;margin-top:5px}.brand-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:300px;flex-shrink:0;gap:6px;align-items:center;padding:5px;background:var(--light);border-radius:8px}.brand-switch a{font-size:.95rem;min-width:100px;text-align:center;padding:10px 23px;border-radius:5px;color:var(--muted);border:1px solid transparent;white-space:nowrap;transition:color 160ms ease,background 160ms ease}.brand-switch strong{font-weight:500}.brand-switch a[aria-current]{background:var(--paper);border-color:var(--line);color:var(--accent);box-shadow:0 2px 5px #102d4510}.contact-link{font-size:.87rem;display:flex;gap:23px;white-space:nowrap}.menu-button{display:none;background:none;border:1px solid var(--line);padding:9px 12px;gap:12px}.navigation-bar{border-top:1px solid var(--line)}.navigation-bar>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:47px}.nav{display:flex;align-items:center;gap:31px;font-size:.85rem}.nav a{padding:12px 0;white-space:nowrap}.nav a:hover{color:var(--accent)}.nav-caption{font-size:.76rem;color:var(--muted)}.hero{position:relative;min-height:550px;height:clamp(520px,40vw,650px);display:flex;align-items:center;background:#e6f3fd;isolation:isolate}.hero-art{position:absolute;inset:0;z-index:-1}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-inner{padding-bottom:25px}.hero-copy{width:46%;max-width:600px}.company-name{font-size:.95rem;color:var(--ink);margin-bottom:23px}.hero h1{line-height:1.4;font-weight:600}.hero-description{font-size:1rem;color:#37556e;margin-top:24px;max-width:480px}.hero .actions{margin-top:30px}.actions{display:flex;flex-wrap:wrap;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;background:var(--accent);color:white;padding:13px 24px;border:1px solid var(--accent);font-size:.9rem;transition:background 160ms ease,transform 120ms var(--ease)}.button.outline{background:#ffffff65;border-color:#7699b2;color:var(--ink)}.hero-bottom{position:absolute;left:0;right:0;bottom:24px;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--ink)}.hero-bottom a{display:flex;gap:25px}.hero-jd{background:#eee9dd}.hero-jd .hero-copy{width:32%}.hero-jd h1{font-family:'STSong','SimSun',serif;font-weight:500;letter-spacing:.06em}.hero-jd .hero-description{color:#61553e;max-width:300px}.hero-jd .button.outline{border-color:#b0a17d}.section{padding:88px 0}.section.light{background:var(--light)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-head p{margin:15px 0 0;font-size:.95rem}.section-label{display:block;color:var(--accent);font-size:.86rem;margin-bottom:22px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.small-meta{font-size:.86rem;margin-top:22px}.company-text{padding-top:8px}.company-text p{font-size:1.08rem;line-height:2;margin-bottom:22px}.text-link{display:inline-flex;align-items:center;gap:30px;min-height:40px;border-bottom:1px solid currentColor;font-size:.9rem;padding:7px 0;color:var(--accent);white-space:nowrap}.company-text .text-link{margin-top:4px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccdce7;border-bottom:1px solid #ccdce7}.service-grid article{padding:34px 25px;position:relative;border-right:1px solid #ccdce7}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border:0}.service-index{font-size:.83rem;font-variant-numeric:tabular-nums;color:var(--accent);display:block;margin-bottom:30px}.service-grid h3{font-size:1.5rem}.service-english{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-top:12px}.training-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:90px}.training-heading p{margin-top:24px;max-width:375px}.course-list article{display:grid;grid-template-columns:35px 1fr 44px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:26px 0}.course-list article:last-child{border-bottom:1px solid var(--line)}.course-number{font-size:.85rem;color:var(--accent)}.course-list h3{font-size:1.15rem}.course-list p{font-size:.87rem;margin:9px 0 0}.course-list a{display:grid;place-items:center;width:44px;height:44px;background:var(--light);border:1px solid var(--line);border-radius:50%}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 25px}.gallery-item{min-width:0}.gallery-button{width:100%;border:0;background:transparent;text-align:left;padding:0}.image-frame{display:flex;position:relative;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f0efeb;padding:10px;overflow:hidden}.image-frame img{width:100%;height:100%;object-fit:contain;transition:transform 180ms var(--ease)}.enlarge{position:absolute;bottom:12px;right:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#ffffffea;color:#33454e;font-size:1rem}.image-label{display:block;font-size:.94rem;line-height:1.7;margin-top:15px}.image-meta{font-size:.79rem;line-height:1.8;display:block;margin-top:6px;color:var(--muted)}.certificate-gallery .image-frame{background:white;padding:18px}.certificate-gallery .image-label{font-weight:500}.footnote{font-size:.81rem;color:var(--muted);line-height:1.8;margin:28px 0 0}.footer{background:var(--paper);padding:42px 0 24px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-top strong{font-size:1rem;font-weight:500}.footer-top p{font-size:.82rem;margin:10px 0 0}.footer-links{display:flex;gap:27px;font-size:.84rem}.footer-bottom{margin-top:35px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}.jd-services{display:grid;grid-template-columns:repeat(4,1fr);gap:38px}.jd-services article{border-top:1px solid #b9aa88;padding-top:27px}.jd-services h3{font-family:'STSong','SimSun',serif;font-size:1.6rem;font-weight:500}.jd-services p{font-size:.92rem;line-height:1.9;margin-top:18px}.teacher-jump{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}.teacher-jump a{padding:20px 12px;text-align:center;line-height:1.6;font-size:.98rem;transition:background 160ms ease}.teacher-jump a:hover{background:var(--light)}.teacher-jump span{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.teacher-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:65px;padding:48px 0;border-bottom:1px solid var(--line);scroll-margin-top:160px}.teacher-identity{display:flex;align-items:center;gap:20px;margin-bottom:23px}.portrait-button{padding:0;border:0;background:transparent;flex-shrink:0;position:relative}.portrait-button img{width:84px;height:110px;object-fit:cover;object-position:top}.teacher-profile h3{font-size:1.55rem;letter-spacing:.03em}.teacher-craft{color:var(--accent);font-size:.94rem;margin:7px 0}.teacher-role{font-size:.8rem;margin:8px 0 0;line-height:1.8}.teacher-intro{font-size:.9rem;line-height:1.9;margin:0 0 14px}.teacher-profile details{font-size:.86rem;line-height:1.9}.teacher-profile summary{display:inline-flex;align-items:center;gap:25px;color:var(--accent);cursor:pointer;list-style:none;min-height:40px}.teacher-profile summary::-webkit-details-marker{display:none}.teacher-profile details p{font-size:.87rem;margin-top:12px}.teacher-profile details[open] summary span{transform:rotate(45deg)}.craft-seal{width:84px;min-height:110px;display:grid;place-items:center;border:1px solid #9e8556;font-family:serif;font-size:1.2rem;color:#846934;letter-spacing:.1em;flex-shrink:0}.teacher-works{min-width:0}.mini-gallery{gap:14px}.mini-gallery .image-frame{padding:6px;aspect-ratio:1.2}.mini-gallery .enlarge{width:24px;height:24px;bottom:8px;right:8px}.mini-gallery .image-label{font-size:.78rem;line-height:1.7;margin-top:11px}.teacher-works>.text-link{float:right;margin-top:20px;font-size:.82rem}.qualification-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:center}.qualification-layout p{margin-top:20px;font-size:.9rem}.jd-certificates{grid-template-columns:1fr 1fr;gap:35px}.jd-certificates .image-frame{height:230px;aspect-ratio:auto;padding:15px;background:var(--light)}.page-title{padding:52px 0 55px;background:var(--light)}.breadcrumb{font-size:.81rem;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.page-title h1{font-size:clamp(2rem,3.5vw,3.4rem)}.page-title p{margin-top:20px;max-width:700px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.timeline>div{border-top:2px solid var(--accent);padding-top:25px}.timeline strong{font-size:2.3rem;font-weight:400}.timeline p{font-size:.88rem;margin-top:18px}.history-copy{margin-top:35px;max-width:950px}.history-copy p{font-size:.96rem}.tags{display:flex;flex-wrap:wrap;gap:12px}.tags span{border:1px solid var(--line);padding:12px 20px;font-size:.92rem}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 22px}.filter{padding:10px 19px;background:transparent;border:1px solid var(--line);font-size:.88rem;transition:background 160ms ease}.filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}.count{font-size:.82rem;margin-bottom:25px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-grid article+article{border-left:1px solid var(--line);padding-left:60px}.contact-grid h2{font-size:1.7rem}.contact-grid p{font-size:.95rem;margin-top:22px}.contact-grid ul{padding-left:20px;line-height:2.2;color:var(--muted);font-size:.94rem}.contact-status{border-top:1px solid var(--line);margin:45px 0 0;padding-top:25px;font-size:.86rem}.lightbox{border:0;padding:0;background:#101c24;color:white;width:min(1150px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px)}.lightbox::backdrop{background:#07101adc}.lightbox-shell{display:flex;flex-direction:column;height:min(850px,calc(100dvh - 32px))}.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:20px}.lightbox-top h2{font-size:1rem;line-height:1.8}.lightbox button{border:1px solid #637381;background:transparent;color:white;padding:8px 14px;min-width:44px;min-height:44px}.lightbox-top button{flex-shrink:0;white-space:nowrap}.lightbox-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:5px 60px}.lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-bottom{display:flex;align-items:center;justify-content:center;gap:20px;padding:15px}.lightbox-bottom span{font-size:.85rem;min-width:65px;text-align:center}.lightbox-error{position:absolute;background:#101c24;padding:25px;text-align:center;max-width:90%;line-height:1.8}.lightbox-error p{color:white}.lightbox-loading{position:absolute;bottom:14px;background:#101c24;padding:7px 14px;font-size:.85rem;color:white}.img-failed{outline:1px dashed var(--line);min-height:80px}[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){.gallery-button:hover img{transform:scale(1.025)}.button:hover{background:#0d538b}.jd .button:hover{background:#6a511f}.button.outline:hover{background:#ffffffc0}.text-link:hover{opacity:.75}.brand-switch a:hover{color:var(--accent)}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.brand-switch a{padding:10px 18px;min-width:85px}.masthead{gap:20px}.nav{gap:24px}.nav-caption{display:none}.hero{min-height:500px;height:500px}.hero h1{font-size:3rem}.hero-jd .hero-copy{width:34%}.hero-jd h1{font-size:2.65rem}.company-name{font-size:.86rem}.hero-jd .actions{gap:10px}.hero-jd .button{padding:12px 15px;gap:16px}.about-grid,.training-layout{gap:55px}.teacher-row{gap:35px}.teacher-jump{grid-template-columns:repeat(4,1fr)}.teacher-jump a{padding:16px 10px}.qualification-layout{gap:45px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.brand strong{font-size:1rem}.brand small{font-size:.75rem}.brand-mark{width:42px;height:42px}.brand .jd-mark{width:64px}.masthead{min-height:80px;gap:16px}.brand-switch a{font-size:.85rem;padding:9px 16px;min-width:auto}.contact-link{display:none}.hero{min-height:440px;height:440px}.hero h1{font-size:2.5rem}.hero-jd h1{font-size:2.2rem}.hero-description{font-size:.9rem;max-width:310px}.hero .button{padding:11px 18px;gap:18px;font-size:.83rem}.hero-jd .hero-copy{width:35%}.hero-jd .hero-description{max-width:220px}.hero-jd .actions{display:block}.hero-jd .actions a+a{margin-top:10px}.hero-bottom{font-size:.75rem}.hero-copy{width:48%}.hero-jd .company-name{font-size:.76rem}.nav{gap:20px}.nav a{font-size:.78rem}.section{padding:65px 0}.about-grid,.training-layout{gap:35px}.company-text p{font-size:1rem}.service-grid h3{font-size:1.22rem}.service-grid article{padding:28px 20px}.service-english{font-size:.75rem}.gallery{gap:25px 18px}.image-frame{padding:7px}.image-label{font-size:.86rem}.image-meta{font-size:.75rem}.jd-services{gap:22px}.jd-services h3{font-size:1.4rem}.jd-services p{font-size:.87rem}.teacher-row{grid-template-columns:1fr;gap:24px}.teacher-profile{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.teacher-identity{grid-row:1/3;margin:0}.teacher-intro{margin:0}.teacher-profile details{grid-column:2}.mini-gallery .image-frame{aspect-ratio:4/3}.mini-gallery .image-label{font-size:.85rem}.qualification-layout{grid-template-columns:1fr;gap:30px}.qualification-layout p{margin-top:15px}.jd-certificates{max-width:760px}.footer-links{gap:18px}.footer-top{align-items:flex-start}.footer-bottom{font-size:.75rem}.contact-grid{gap:35px}.contact-grid article+article{padding-left:35px}}
@media(max-width:700px){html{scroll-padding-top:147px}.wrap{width:calc(100% - 36px)}.masthead{display:grid;grid-template-columns:1fr auto;gap:13px 14px;padding:14px 0 11px}.brand{gap:10px}.brand strong{white-space:normal}.brand small{font-size:.75rem}.brand-switch{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;padding:4px}.brand-switch a{font-size:.92rem;padding:10px 3px}.menu-button{display:flex;align-items:center;font-size:.8rem;white-space:nowrap}.navigation-bar{display:none;position:absolute;left:0;right:0;background:var(--paper);box-shadow:0 8px 14px #152c4314}.site-header.menu-open .navigation-bar{display:block}.navigation-bar>.wrap{display:block}.nav{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;padding:10px 0 18px}.nav a{font-size:.9rem;padding:12px 0}.hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;background:#edf7ff}.hero-art{position:relative;order:2;z-index:0;aspect-ratio:1050/591;width:100%;margin-top:12px}.hero-art img{object-fit:cover;aspect-ratio:1050/591;width:100%;height:auto}.hero-inner{order:1;padding:37px 0 15px}.hero-copy,.hero-jd .hero-copy{width:100%;max-width:none}.company-name,.hero-jd .company-name{font-size:.81rem;margin-bottom:17px}.hero h1,.hero-jd h1{font-size:clamp(2rem,8.5vw,2.9rem);line-height:1.45}.hero-description,.hero-jd .hero-description{font-size:.91rem;max-width:none;margin:18px 0 0}.hero .actions,.hero-jd .actions{display:flex;margin-top:24px;gap:12px}.hero-jd .actions a+a{margin-top:0}.hero .button,.hero-jd .button{font-size:.82rem;padding:11px 18px;gap:18px}.hero-bottom{position:relative;bottom:auto;order:3;padding:18px 0;font-size:.75rem}.hero-jd{background:#f5f0e6}.section{padding:50px 0}.section-head{gap:20px;align-items:flex-start;margin-bottom:27px}.section-head p{font-size:.86rem;line-height:1.8;margin-top:13px}.section-head>.text-link{font-size:.8rem;gap:15px;margin-top:1px}.section-label{font-size:.81rem;margin-bottom:15px}.about-grid,.training-layout{grid-template-columns:1fr;gap:24px}.small-meta{font-size:.8rem;margin:17px 0 0}.company-text{padding:0}.company-text p{font-size:.96rem;line-height:1.95}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:24px 20px;border-right:0;border-bottom:1px solid #ccdce7}.service-grid article:first-child{padding-left:20px}.service-grid article:nth-child(odd){border-right:1px solid #ccdce7}.service-grid article:nth-child(n+3){border-bottom:0}.service-index{margin-bottom:22px}.service-grid h3{font-size:1.18rem}.training-heading p{max-width:none;margin-top:18px;font-size:.93rem}.course-list article{padding:22px 0;gap:14px;grid-template-columns:25px 1fr 42px}.course-list h3{font-size:1.07rem}.course-list p{font-size:.8rem}.gallery{grid-template-columns:1fr 1fr;gap:25px 14px}.certificate-gallery{grid-template-columns:1fr}.certificate-gallery .image-frame{aspect-ratio:1.7;padding:17px}.certificate-gallery .image-label{font-size:.94rem}.certificate-gallery .image-meta{font-size:.78rem}.jd-services{grid-template-columns:1fr 1fr;gap:24px}.jd-services article{padding-top:21px}.jd-services h3{font-size:1.45rem}.jd-services p{margin-top:12px}.teacher-jump{grid-template-columns:repeat(4,1fr)}.teacher-jump a{font-size:.83rem;padding:15px 3px}.teacher-jump span{font-size:.75rem;margin-top:6px}.teacher-row{padding:34px 0;scroll-margin-top:153px}.teacher-profile{display:block}.teacher-identity{margin-bottom:19px;gap:18px}.teacher-profile h3{font-size:1.4rem}.portrait-button img{width:76px;height:100px}.teacher-craft{font-size:.91rem}.teacher-role{font-size:.78rem}.teacher-intro{font-size:.88rem;margin-bottom:10px}.teacher-profile details p{font-size:.86rem}.mini-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini-gallery .image-frame{aspect-ratio:1;padding:3px}.mini-gallery .image-label{font-size:.75rem}.mini-gallery .enlarge{width:22px;height:22px;right:5px;bottom:5px}.teacher-works>.text-link{font-size:.8rem;margin-top:16px}.jd-certificates{grid-template-columns:1fr 1fr;gap:18px}.jd-certificates .image-frame{height:185px;padding:8px}.jd-certificates .image-label{font-size:.83rem}.footer{padding:32px 0 24px}.footer-top,.footer-bottom{display:block}.footer-top strong{font-size:.94rem}.footer-links{margin-top:25px;gap:18px;flex-wrap:wrap;font-size:.82rem}.footer-bottom{margin-top:25px;font-size:.75rem;line-height:1.9}.footer-bottom>span{display:block;margin-top:5px}.page-title{padding:35px 0}.breadcrumb{margin-bottom:25px;font-size:.77rem;gap:9px}.page-title h1{font-size:2rem}.page-title p{font-size:.9rem;margin:16px 0 0}.timeline{grid-template-columns:1fr 1fr;gap:25px}.timeline strong{font-size:2rem}.timeline p{font-size:.8rem}.history-copy p{font-size:.91rem}.tags{gap:9px}.tags span{font-size:.85rem;padding:9px 13px}.filters{gap:8px}.filter{font-size:.83rem;padding:9px 14px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid article+article{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.contact-grid p{font-size:.91rem}.contact-status{font-size:.81rem;margin-top:30px}.lightbox-stage{padding:5px 12px}.lightbox-top{padding:12px;align-items:flex-start}.lightbox-top h2{font-size:.88rem}.lightbox-bottom{gap:12px}.lightbox button{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hero-jd:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(249,246,237,.8),rgba(249,246,237,.5) 23%,rgba(249,246,237,0) 43%)}
@media(max-width:700px){.hero-jd:before{display:none}}

.hero-jd:before{z-index:0}.hero-inner{position:relative;z-index:1}.hero-bottom{z-index:1}
/* A bounded, continuous certificate wall; originals remain available to keyboards. */
.certificate-wall{--cert-row:18rem;--cert-gap:20px}.certificate-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;font-size:.875rem;color:var(--muted)}.certificate-controls button{padding:9px 15px;min-height:42px;background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer}.certificate-window{height:calc(var(--cert-row)*2 + var(--cert-gap));overflow:hidden;position:relative;isolation:isolate}.certificate-track{animation:certificate-rise 90s linear infinite;will-change:transform}.certificate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--cert-row);gap:var(--cert-gap);padding-bottom:var(--cert-gap)}.certificate-wall .gallery-item{min-width:0;background:var(--paper);border:1px solid var(--line);padding:14px}.certificate-wall .gallery-button{height:100%;width:100%;display:flex;flex-direction:column;text-align:left}.certificate-wall .image-frame{height:10.5rem;flex-shrink:0;aspect-ratio:auto;width:100%;padding:7px;background:#f6f8fa}.certificate-wall .image-frame img{height:100%;width:100%;object-fit:contain}.certificate-wall .image-label{font-size:.875rem;line-height:1.6;margin-top:12px}.certificate-wall .image-meta{font-size:.75rem;line-height:1.6;margin-top:5px}.certificate-wall.is-paused .certificate-track,.gallery-open .certificate-track,.certificate-window:active .certificate-track{animation-play-state:paused}.certificate-wall.keyboard-browsing .certificate-track{animation:none;transform:none}.certificate-wall.keyboard-browsing .certificate-repeat,.certificate-wall.keyboard-browsing .certificate-copy{display:none}.certificate-wall.keyboard-browsing .certificate-window{overflow-y:auto}.certificate-wall.keyboard-browsing .certificate-controls button{visibility:hidden}@keyframes certificate-rise{to{transform:translateY(-50%)}}@media(hover:hover){.certificate-window:hover .certificate-track{animation-play-state:paused}}@media(max-width:900px){.certificate-wall{--cert-row:18.5rem;--cert-gap:14px}.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-track{animation-duration:160s}}@media(max-width:420px){.certificate-wall{--cert-row:17.5rem;--cert-gap:10px}.certificate-wall .gallery-item{padding:9px}.certificate-wall .image-frame{height:9rem;padding:3px}.certificate-wall .image-label{font-size:.8125rem}.certificate-controls{font-size:.8125rem;gap:10px}}@media(prefers-reduced-motion:reduce){.certificate-track{animation:none;transform:none}.certificate-repeat,.certificate-copy{display:none}.certificate-window{overflow-y:auto}.certificate-controls button{display:none}}
/* Full artist chapters: prominent portraits and open, varied artwork silhouettes. */
.teacher-row{grid-template-columns:minmax(260px,.72fr) minmax(0,1.65fr);gap:70px;padding:80px 0;align-items:start}.teacher-profile{position:sticky;top:155px}.teacher-identity{display:block}.portrait-button{display:block;width:100%;max-width:280px;margin-bottom:27px}.portrait-button img{width:100%;height:auto;max-height:360px;object-fit:contain;object-position:left center}.teacher-profile h3{font-size:2rem}.teacher-role{font-size:.875rem}.teacher-intro,.teacher-detail{font-size:.9375rem;line-height:1.95;margin:22px 0 0}.craft-seal{margin-bottom:25px;width:120px;min-height:150px}.artwork-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 32px;align-items:start}.artwork-composition .gallery-item:nth-child(even){padding-top:65px}.artwork-composition .gallery-item:nth-child(4n+3){width:86%;justify-self:center}.artwork-composition .gallery-item:nth-child(4n+4){width:94%;justify-self:end}.artwork-composition .image-frame{padding:0;background:transparent;aspect-ratio:auto;overflow:visible;height:auto;border:0}.artwork-composition .image-frame img{width:100%;height:auto;max-height:420px;object-fit:contain;filter:drop-shadow(0 12px 12px #41371912)}.artwork-composition .image-label{font-size:.8125rem;line-height:1.7;text-align:center;margin-top:18px;color:var(--muted)}.artwork-composition .enlarge{display:none}.artwork-composition .gallery-button{width:100%}.artwork-composition .gallery-button:hover img{transform:translateY(-3px)}@media(max-width:1000px){.teacher-row{gap:36px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr)}.artwork-composition{gap:35px 20px}.artwork-composition .gallery-item:nth-child(even){padding-top:40px}}@media(max-width:700px){.teacher-row{display:block;padding:48px 0}.teacher-profile{position:static;display:block;margin-bottom:35px}.teacher-identity{display:grid;grid-template-columns:minmax(130px,.9fr) 1fr;align-items:center;gap:24px}.portrait-button{margin:0;max-width:240px}.portrait-button img{width:100%;height:auto;max-height:300px}.teacher-profile h3{font-size:1.65rem}.teacher-role{font-size:.8125rem}.teacher-intro,.teacher-detail{font-size:.9rem;margin-top:18px}.artwork-composition{gap:28px 17px}.artwork-composition .gallery-item:nth-child(even){padding-top:35px}.artwork-composition .image-label{font-size:.75rem;margin-top:12px}.artwork-composition .image-frame img{max-height:300px}.craft-seal{margin:0}}
.teacher-profile{display:block}
@media(max-width:700px){.brand-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-switch a{white-space:normal;min-width:0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-english{overflow-wrap:anywhere}}@media(max-width:420px){.certificate-wall{--cert-row:19rem}}
.teacher-profile{position:static}
.teacher-profile .portrait-button img{aspect-ratio:3/4;height:auto;max-height:none;object-fit:cover;object-position:center}
.artwork-mask-defs{position:absolute;overflow:hidden}.artwork-crop{display:block;position:relative;aspect-ratio:var(--art-ratio);width:min(100%,calc(420px * var(--art-ratio)));margin:auto;overflow:hidden}.artwork-composition .artwork-crop img{filter:none}.artwork-composition .gallery-button:hover .artwork-crop img{transform:none}.artwork-composition .artwork-crop{filter:drop-shadow(0 10px 10px #41371910)}.work-gallery .artwork-crop{max-height:260px;width:min(100%,calc(260px * var(--art-ratio)))}@media(max-width:700px){.artwork-crop{width:min(100%,calc(300px * var(--art-ratio)))}}
.artwork-composition .gallery-item.wide-artwork{grid-column:1/-1;width:100%;padding-top:0}.artwork-composition .wide-artwork .artwork-crop{width:100%}.artwork-composition .wide-artwork .image-frame>img{width:100%;max-height:none}.work-gallery .image-frame:has(.artwork-crop){height:260px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center}.work-gallery .artwork-crop{width:min(100%,calc(220px * var(--art-ratio)))}
/* Artist introduction above a full-width arrangement of original artworks. */
.teacher-row{display:block;padding:64px 0}.teacher-profile{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px;align-items:stretch;margin-bottom:50px}.teacher-portrait{position:relative;min-height:400px}.teacher-portrait .portrait-button{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0}.teacher-portrait .portrait-button img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}.teacher-copy{align-self:center;padding:12px 0;min-width:0}.teacher-copy h3{font-size:2rem}.teacher-copy .teacher-intro,.teacher-copy .teacher-detail{font-size:1rem;line-height:1.9;margin-top:18px;max-width:790px}.teacher-copy .teacher-role{font-size:.9375rem}.teacher-portrait .craft-seal{width:100%;height:100%;min-height:400px;margin:0;font-size:2rem}.teacher-works .artwork-composition{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 38px;align-items:center}.teacher-works .artwork-composition .gallery-item{width:100%;padding-top:0;justify-self:center}.teacher-works .artwork-composition .gallery-item:nth-child(3n+2){padding-top:52px;width:90%}.teacher-works .artwork-composition .gallery-item:nth-child(3n){width:88%}.teacher-works .artwork-composition .wide-artwork{grid-column:span 2;width:100%;padding-top:0}.teacher-works .artwork-composition .image-label{font-size:.875rem}.teacher-works .artwork-composition .wide-artwork .artwork-crop{width:min(100%,calc(420px * var(--art-ratio)))}
@media(max-width:900px){.teacher-profile{grid-template-columns:240px minmax(0,1fr);gap:32px}.teacher-portrait{min-height:360px}.teacher-copy .teacher-intro,.teacher-copy .teacher-detail{font-size:.9375rem}.teacher-works .artwork-composition{gap:34px 24px}}
@media(max-width:600px){.teacher-profile{grid-template-columns:minmax(110px,.8fr) minmax(0,1.3fr);gap:20px;margin-bottom:32px}.teacher-portrait{min-height:260px}.teacher-copy{padding:0}.teacher-copy h3{font-size:1.5rem}.teacher-copy .teacher-role,.teacher-copy .teacher-intro,.teacher-copy .teacher-detail{font-size:.875rem;line-height:1.8;margin-top:12px}.teacher-portrait .portrait-button img{object-fit:contain;object-position:top}.teacher-portrait .craft-seal{min-height:260px;font-size:1.2rem}.teacher-works .artwork-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.teacher-works .artwork-composition .gallery-item:nth-child(3n+2){width:100%;padding-top:0}.teacher-works .artwork-composition .gallery-item:nth-child(even){padding-top:30px;width:90%}.teacher-works .artwork-composition .wide-artwork{grid-column:1/-1;width:100%;padding-top:0}.teacher-works .artwork-composition .image-label{font-size:.8125rem}.teacher-row{padding:42px 0}}
.company-history{margin-top:36px}.company-history h3{margin-bottom:24px}.company-history .timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.company-history .timeline p{font-size:.9rem;line-height:1.8}.company-history .history-note{font-size:.8125rem;margin:24px 0}.training-directions{margin-top:44px}.training-directions h3{margin-bottom:22px}.course-list article{grid-template-columns:35px minmax(0,1fr)}.company-text ul{color:var(--muted);padding-left:1.25rem;line-height:2;margin-bottom:20px}@media(max-width:700px){.menu-button{display:none}.navigation-bar{display:block}.navigation-bar .nav{display:flex;flex-wrap:wrap;gap:0 20px;padding:8px 0}.navigation-bar .nav a{padding:6px 0}.navigation-bar>.wrap{display:block}.nav-caption{display:none}.teacher-row{scroll-margin-top:20px}}
.teacher-jump{grid-template-columns:repeat(8,minmax(0,1fr))}.teacher-affiliations{padding-left:1.2rem;margin:18px 0 0;line-height:1.9;color:var(--muted);font-size:1rem;columns:2;column-gap:32px}.teacher-affiliations li{break-inside:avoid}.teacher-gallery-title{font-size:1rem;font-weight:500;color:var(--muted);margin:0 0 28px}.teacher-photo-landscape .teacher-profile{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px}.teacher-photo-landscape .teacher-portrait{min-height:0;display:flex;align-items:center}.teacher-photo-landscape .portrait-button{position:static;height:auto}.teacher-photo-landscape .portrait-button img{height:auto;aspect-ratio:auto;object-fit:contain}.teacher-photo-performance .portrait-button img{object-fit:contain}@media(max-width:900px){.teacher-jump{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-affiliations{columns:1;font-size:.9375rem}.teacher-photo-landscape .teacher-profile{gap:24px}}@media(max-width:600px){.teacher-photo-landscape .teacher-profile{grid-template-columns:1fr}.teacher-photo-landscape .teacher-portrait{min-height:0}.teacher-photo-landscape .teacher-copy{padding-top:0}.teacher-affiliations{font-size:.875rem;line-height:1.8;margin-top:12px}}

@media(min-width:1001px){.masthead{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.contact-link{justify-self:end}}@media(min-width:701px) and (max-width:1000px){.brand-switch{width:260px}}
