:root{--brand:#b90f10;--brand-dark:#8c0c0d;--text:#333;--muted:#666;--line:#e5e5e5;--paper:#f7f5f2;--width:1200px;--radius:2px;color-scheme:light}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei","PingFang SC",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--brand)}img{display:block;max-width:100%;height:auto}button,input{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:5px}button:active,.button:active{transform:scale(.98)}.wrap{width:min(var(--width),calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:12px;z-index:20}.skip:focus{top:12px}.brand-row{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand-logo{width:490px;max-width:58vw}.contact-top{text-align:right;font-size:13px;color:var(--muted);line-height:1.5}.contact-top a{display:block;color:var(--brand);font-size:26px;font-weight:650;letter-spacing:.02em;font-variant-numeric:tabular-nums}.nav-band{background:var(--brand);color:#fff}.desktop-nav{display:flex;align-items:center;gap:0;justify-content:space-between}.desktop-nav a{padding:13px 24px;display:block;min-height:50px;color:#fff;white-space:nowrap}.desktop-nav a[aria-current=page]{background:var(--brand-dark)}.desktop-nav a:hover{background:var(--brand-dark)}.mobile-nav{display:none}.page-head{padding:38px 0 32px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--brand);font-size:14px;margin:0 0 12px}.page-head h1{font-size:34px;font-weight:600;margin:0;line-height:1.45}.page-head p{color:var(--muted);max-width:760px;margin:14px 0 0}.breadcrumbs{font-size:13px;color:var(--muted);padding-top:24px;display:flex;gap:10px;flex-wrap:wrap}.home-hero{margin-top:28px}.home-hero img{width:100%;height:auto}.home-intro{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;padding:44px 0 48px;align-items:start}.home-intro h1{font-weight:600;font-size:32px;line-height:1.5;margin:0 0 14px}.home-intro .motto{font-size:20px;color:var(--brand);margin:0}.home-intro p{margin-top:0;font-size:16px;line-height:1.9}.section{padding:52px 0}.section+.section{border-top:1px solid var(--line)}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:28px}.section-title h2{font-size:28px;font-weight:600;line-height:1.4;margin:0}.section-title>a{color:var(--brand);font-size:14px;white-space:nowrap}.practice-list{display:flex;flex-wrap:wrap;gap:0;list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.practice-list li{width:33.333%;border-bottom:1px solid var(--line);padding:17px 0;font-size:18px}.practice-list a{display:inline-block}.number{font-family:Georgia,serif;color:var(--brand);margin-right:20px;font-size:16px}.listing{list-style:none;margin:0;padding:0}.article-row{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.article-row:first-child{border-top:1px solid var(--line)}.article-row time{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:4px}.article-row h2,.article-row h3{font-size:20px;font-weight:550;line-height:1.6;margin:0 0 9px}.article-row p{font-size:14px;line-height:1.8;margin:0;color:var(--muted)}.category{color:var(--brand);font-size:12px}.content-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(220px,1fr);gap:64px;align-items:start;padding-top:32px;padding-bottom:60px}.article-header{padding:8px 0 27px;border-bottom:1px solid var(--line);margin-bottom:32px}.article-header h1{font-size:32px;font-weight:600;line-height:1.5;margin:0 0 20px;overflow-wrap:anywhere}.meta{display:flex;gap:8px 24px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.article-content{font-size:18px;line-height:1.9;overflow-wrap:anywhere;min-width:0}.article-content p{margin:0 0 1.3em}.article-content p:empty{display:none}.article-content>div{margin-bottom:20px}.article-content img{max-width:100%;width:auto;height:auto;margin:22px auto}.article-content h2{font-size:25px;line-height:1.6;margin:36px 0 18px}.article-content h3{font-size:21px;margin-top:28px}.article-content a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.article-content ul,.article-content ol{padding-left:1.5em}.article-content blockquote{background:var(--paper);padding:20px;margin:24px 0}.table-scroll{overflow:auto;max-width:100%}.article-content table{border-collapse:collapse;min-width:100%;font-size:15px}.article-content th,.article-content td{padding:10px;border:1px solid var(--line)}.image-missing{display:block;margin:22px 0;padding:20px;background:var(--paper);font-size:14px;color:var(--muted)}.side-section{padding-top:14px;border-top:2px solid var(--brand);margin-top:8px}.side-section+.side-section{margin-top:38px}.side-section h2{font-size:18px;font-weight:600;margin:0 0 20px}.side-links{list-style:none;padding:0;margin:0}.side-links li{border-bottom:1px solid var(--line);padding:14px 0;font-size:14px;line-height:1.8}.side-section address{font-style:normal;font-size:14px;line-height:1.9}.side-section .phone{color:var(--brand);font-size:23px;font-weight:600}.article-pager{display:grid;gap:14px;border-top:1px solid var(--line);margin-top:40px;padding-top:24px;font-size:14px}.article-pager a{color:var(--brand)}.pagination{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 0;align-items:center}.pagination a,.pagination span{padding:7px 13px;min-height:40px;border:1px solid var(--line);font-size:14px}.pagination [aria-current=page]{background:var(--brand);color:#fff;border-color:var(--brand)}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 30px}.person{min-width:0}.portrait{aspect-ratio:3/4;background:var(--paper);overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;margin:0}.person h2,.person h3{font-weight:600;font-size:20px;margin:16px 0 8px}.person p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 10px}.person .detail-link{font-size:13px;color:var(--brand)}.portrait-name{display:flex;align-items:center;justify-content:center;height:100%;font-size:28px;color:var(--brand)}.profile-intro{display:grid;grid-template-columns:210px 1fr;gap:44px;align-items:start}.profile-intro h1{font-size:34px;margin:0 0 16px}.profile-intro .portrait{width:210px}.profile-intro .article-content{font-size:17px}.profile-title{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.teacher-item{display:grid;grid-template-columns:125px 1fr;gap:32px;padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}.teacher-item h2{font-weight:600;font-size:23px;margin:0 0 12px}.teacher-item .portrait{width:125px}.teacher-item details{font-size:16px}.teacher-item summary{cursor:pointer;color:var(--brand);min-height:40px;padding:6px 0}.teacher-item .article-content{margin-top:20px;font-size:16px;line-height:1.85}.about-layout{max-width:920px;margin-inline:auto}.about-layout .article-content{margin-block:34px}.image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:36px 0}.image-gallery img{width:100%;height:auto}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:52px 0}.contact-layout h2{font-size:27px;margin-top:0}.contact-layout p{font-size:18px;line-height:1.9}.contact-layout .phone{font-size:30px;font-weight:600;color:var(--brand)}.contact-image img{max-width:320px;margin-left:auto}.search-form{display:flex;gap:10px;max-width:700px;margin:25px 0}.search-form input{min-width:0;flex:1;border:1px solid #bdbdbd;padding:11px 14px;min-height:46px;border-radius:var(--radius)}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;min-height:46px;background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:var(--radius);text-decoration:none}.button:hover{background:var(--brand-dark);color:#fff}.search-status{color:var(--muted);font-size:14px}.empty-state{max-width:700px;padding:72px 0}.empty-state h1{font-size:32px;margin:0 0 20px}.footer{background:var(--paper);margin-top:35px;padding:42px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:28px}.footer h2{font-size:20px;font-weight:600;margin:0 0 12px}.footer p,.footer address{font-size:14px;font-style:normal;margin:5px 0;color:var(--muted)}.footer-phone{font-size:25px;color:var(--brand)}.footer-bottom{border-top:1px solid #dedbd7;padding-top:18px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);flex-wrap:wrap}.inline-links{display:flex;gap:20px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
body{min-height:100vh;display:flex;flex-direction:column}body>main{flex:1}
@media(max-width:1100px){.desktop-nav a{padding-inline:14px}.content-layout{gap:38px;grid-template-columns:minmax(0,1fr) 240px}.home-intro{gap:40px}.team-grid{gap:30px 22px}}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.brand-row{min-height:88px;gap:20px}.brand-logo{width:420px;max-width:65vw}.contact-top{font-size:11px}.contact-top a{font-size:20px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{padding:12px 0;cursor:pointer;color:#fff;min-height:48px}.mobile-nav nav{display:grid;grid-template-columns:repeat(4,1fr);padding:0 0 15px;gap:8px}.mobile-nav nav a{color:#fff;font-size:14px;min-height:40px;padding:6px 0}.mobile-nav nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.content-layout{grid-template-columns:minmax(0,1fr);gap:35px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:25px}.side-section+.side-section{margin-top:8px}.home-intro{grid-template-columns:1fr;gap:24px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section{padding-block:38px}.home-hero{margin-top:20px}.article-header h1{font-size:30px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.brand-row{min-height:76px}.brand-logo{width:100%;max-width:85vw}.contact-top{display:none}.mobile-nav nav{grid-template-columns:repeat(3,1fr)}.page-head{padding:28px 0 24px}.page-head h1{font-size:28px}.home-intro{padding:28px 0 32px}.home-intro h1{font-size:26px}.home-intro .motto{font-size:18px}.home-intro p{font-size:15px}.section-title{gap:16px}.section-title h2{font-size:24px}.practice-list li{width:50%;font-size:16px}.number{margin-right:13px}.article-row{grid-template-columns:1fr;gap:8px;padding:23px 0}.article-row h2,.article-row h3{font-size:18px}.article-row time{font-size:12px;padding:0}.article-header{padding-top:0;margin-bottom:25px}.article-header h1{font-size:26px;line-height:1.55}.meta{gap:7px 16px;font-size:12px}.article-content{font-size:17px;line-height:1.85}.article-content h2{font-size:22px}.article-content h3{font-size:19px}.content-layout{padding-top:24px;padding-bottom:38px}.sidebar{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.person h2,.person h3{font-size:19px;margin-top:12px}.person p{font-size:13px}.profile-intro{grid-template-columns:1fr;gap:25px}.profile-intro .portrait{width:170px}.profile-intro h1{font-size:29px}.teacher-item{grid-template-columns:85px 1fr;gap:20px}.teacher-item .portrait{width:85px}.teacher-item h2{font-size:21px}.teacher-item .article-content{grid-column:1/-1;font-size:16px}.image-gallery{grid-template-columns:1fr;gap:20px}.contact-layout{grid-template-columns:1fr;gap:30px;padding-block:32px}.contact-image img{margin-left:0;max-width:230px}.search-form{gap:8px}.button{padding-inline:16px}.footer{padding-top:32px}.footer-top{flex-direction:column;gap:20px}.footer h2{font-size:19px}.footer-bottom{font-size:11px}.breadcrumbs{padding-top:20px}.pagination{gap:7px}.pagination a,.pagination span{padding:7px 11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.nav-band,.sidebar,.search-form,.footer,.article-pager,.breadcrumbs{display:none}.wrap{width:100%;max-width:none}.brand-row{min-height:80px}.brand-logo{max-width:400px}.content-layout{display:block}.article-header h1{font-size:25px}.article-content{font-size:12pt}.article-content img{break-inside:avoid}.article-content a{color:#333;text-decoration:none}}

/* Source images retain the existing red and white page system. */
.hero-banners{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;align-items:flex-start;gap:0}.hero-banners>img{flex:0 0 100%;width:100%;max-width:100%;scroll-snap-align:start;object-fit:contain}.practice-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;gap:20px;padding:0}.practice-images img{width:100%;height:auto}.source-banner{margin-top:26px}.source-banner img{width:100%}.footer-images{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;margin:25px 0}.footer-images img{width:auto;max-width:200px;max-height:150px;object-fit:contain}.historical-list>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0}.historical-list>ul>li{min-width:0;border-bottom:1px solid var(--line);padding-bottom:25px;font-size:15px;overflow-wrap:anywhere}.historical-list img{max-height:260px;width:100%;object-fit:contain;margin-bottom:15px}.historical-list a{color:var(--brand)}.historical-list .image-missing{font-size:13px}.article-pager span{color:var(--muted)}
@media(max-width:900px){.historical-list>ul{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-images{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.historical-list>ul{grid-template-columns:1fr}.footer-images{gap:16px}.footer-images img{max-width:140px;max-height:120px}.practice-images{gap:14px}}
