/* Existing brand fonts; explicit component alignment and consolidated inner-page rules. */
@font-face{font-family:'P5 Sans SC';src:url(a4-sans-sc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'P5 Serif SC';src:url(a4-serif-sc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'P5 Sans TC';src:url(a4-sans-tc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'P5 Serif TC';src:url(a4-serif-tc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'P5 Latin Sans';src:url(a1-latin-sans.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'P5 Latin Serif';src:url(p5-latin-serif.woff2) format('woff2');font-weight:400 700;font-display:swap}
.b-preview{--b-sans:'P5 Latin Sans','P5 Sans SC','R4 Sans SC','Microsoft YaHei',sans-serif;--b-serif:'P5 Latin Serif','P5 Serif SC','R4 Serif SC','Songti SC',serif;font-family:var(--b-sans)}
html[lang=zh-Hant] .b-preview{--b-sans:'P5 Latin Sans','P5 Sans TC','P5 Sans SC','R4 Sans TC','Microsoft JhengHei',sans-serif;--b-serif:'P5 Latin Serif','P5 Serif TC','P5 Serif SC','R4 Serif TC','Songti TC',serif}
.b-preview .b-wordmark{font-family:'P5 Latin Serif',Georgia,serif}
/* Short semantic units may wrap as a unit; oversized units still reflow at text zoom. */
.ie-text-unit{display:inline-block;max-inline-size:100%;vertical-align:top;white-space:normal;overflow-wrap:break-word}
.ie-unit-tail{white-space:nowrap}
.r4-link .ie-link-label,.r4-explore .ie-link-label{text-decoration:underline;text-underline-offset:5px}
.r4-link .ie-link-label{min-width:0}
.r4-link .ie-link-arrow{flex-shrink:0}
.prod-page{font-family:var(--b-sans);font-size:1.0625rem;line-height:1.85;color:#24383c}
.prod-page .r4-container{width:min(1160px,calc(100% - 112px));margin-inline:auto}
.prod-page p{font-size:1.0625rem;line-height:1.85;color:#34464a;margin:0 0 19px;text-wrap:pretty}
.prod-page :where(h1,h2,h3){color:#112f35;letter-spacing:0;text-wrap:balance;overflow-wrap:break-word;text-align:start}
.prod-page h1{font-family:var(--b-sans);font-size:2.625rem;line-height:1.4;font-weight:700;margin:0 0 25px}
.prod-page h2{font-family:var(--b-serif);font-size:1.8125rem;line-height:1.55;font-weight:600;margin:0 0 20px}
.prod-page h3{font-family:var(--b-sans);font-size:1.25rem;line-height:1.6;font-weight:600;margin:0 0 14px}
.prod-page .prod-hero{padding-block:48px 34px;text-align:start}
.prod-page .prod-hero .prod-subtitle{font-size:1.5rem;line-height:1.6;margin:0 0 18px}
.prod-intro{max-width:48rem}
.prod-intro p:last-child{margin-bottom:0}
.prod-detail-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:65px;align-items:start;padding-block:20px 32px}
.prod-page-nav{position:sticky;top:25px;font-size:.9375rem;text-align:start;min-width:0}
.prod-page-nav>p{font-size:.875rem;color:#53615f;margin-bottom:12px}
.prod-page-nav ul{list-style:none;margin:0;padding:0}
.prod-page-nav a{display:flex;align-items:center;min-height:48px;padding-block:10px;border-bottom:1px solid #d5d7cd;font-size:.9375rem;line-height:1.7;overflow-wrap:break-word}
.prod-page-nav a:hover{color:#775c29}
.prod-reading{max-width:50rem;min-width:0}
.prod-section{margin:0 0 39px;scroll-margin-top:25px;text-align:start;min-width:0}
.prod-subsection{margin-top:27px}
.prod-section-copy{min-width:0}
.prod-page p.prod-emphasis{font-size:1.125rem;line-height:1.85;font-weight:600;color:#112f35;margin-bottom:20px}
.prod-page p.prod-credentials{font-size:1rem;line-height:1.85;font-weight:400;text-align:start}
.prod-section-copy>p:last-of-type{margin-bottom:0}
.prod-section-copy .r4-link{display:inline-flex;align-items:center;gap:18px;min-height:48px;max-width:100%;margin:12px 24px 0 0;color:#775c29;text-decoration:none;font-size:1rem;line-height:1.7}
.prod-section-copy .r4-link>.ie-link-arrow{flex-shrink:0}
.prod-consult{padding-block:0 43px}
.prod-consult .b-button>span{display:none}
.prod-sections{padding-block:8px 10px}
.prod-sections>.prod-section{max-width:48rem}
.prod-image{margin:0 0 25px;overflow:hidden;border-radius:10px;width:100%;max-width:760px}
.prod-image img{display:block;width:100%;height:auto;object-fit:contain}
/* Images are placed by meaning, rather than one shared page template. */
.prod-page .prod-section--illustrated{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr);column-gap:30px;max-width:none}
.prod-page .prod-section--illustrated>h2{grid-column:1/-1;grid-row:1}
.prod-page .prod-section--illustrated>.prod-section-copy{grid-column:1;grid-row:2}
.prod-page .prod-section--illustrated>.prod-image{grid-column:2;grid-row:2;align-self:start;margin:0}
.prod-page--english #philosophy{grid-template-columns:minmax(0,1fr) 350px;column-gap:45px}
.prod-page--english #collaboration{max-width:48rem}
.prod-page--english #teachers{margin-top:43px}
.prod-page--english #qualifications{margin-top:28px}
.prod-page--english #qualifications h2{font-size:1.4375rem}
.prod-collaboration{max-width:700px;margin:27px 0 0;padding:20px 0 0;border-top:1px solid #cbd1c9}
.prod-collaboration-teachers{display:flex;align-items:center;gap:20px;color:#112f35;font-weight:600;flex-wrap:wrap}
.prod-collaboration-teachers>span[aria-hidden]{font-size:1.4375rem;font-weight:400;color:#775c29}
.prod-collaboration figcaption{margin-top:15px;text-align:start}
.prod-collaboration figcaption p{font-size:1rem;margin-bottom:7px}
.prod-collaboration ul{font-size:.9375rem;line-height:1.85;margin:0;padding-left:1.2em;color:#53615f}
.prod-page--methods .prod-sections>.prod-section{display:grid;grid-template-columns:255px minmax(0,1fr);gap:26px 58px;max-width:none;margin-bottom:39px}
.prod-page--methods .prod-section>h2{font-size:1.625rem}
.prod-page--methods .prod-section-copy{max-width:47rem}
.prod-page--methods .prod-sections>.prod-section--illustrated{grid-template-columns:255px minmax(0,1fr) minmax(300px,.9fr);gap:0 32px}
.prod-page--methods .prod-section--illustrated>h2{grid-column:1;grid-row:1}
.prod-page--methods .prod-section--illustrated>.prod-section-copy{grid-column:2;grid-row:1}
.prod-page--methods .prod-section--illustrated>.prod-image{grid-column:3;grid-row:1}
.prod-example{margin:24px 0 0;padding-left:21px;border-left:2px solid #b99e68}
.prod-example p{font-size:1rem;line-height:1.85}
.prod-page--team #anna{display:grid;grid-template-columns:340px minmax(0,1fr);grid-template-rows:max-content 1fr;column-gap:60px;row-gap:15px;align-items:start;max-width:none;margin-block:39px}
.prod-page--team #anna>h2{grid-column:2;grid-row:1;font-size:1.875rem;margin-bottom:0}
.prod-page--team #anna>.prod-image{grid-column:1;grid-row:1/span 2;aspect-ratio:4/5;width:100%;max-width:340px;margin:0}
.prod-page--team #anna>.prod-image img{height:100%;object-fit:cover;object-position:50% 30%}
.prod-page--team #anna>.prod-section-copy{grid-column:2;grid-row:2;max-width:45rem}
.prod-page--team #privacy{margin-top:35px}
.prod-page--team #explore .prod-section-copy{display:flex;flex-wrap:wrap;gap:6px 22px}
.prod-page--team #explore .r4-link{margin:0;min-height:48px}
.prod-page--contact .prod-hero{padding-bottom:15px}
.prod-page--contact .prod-hero .b-button{margin-top:23px}
.prod-contact-body{scroll-margin-top:22px}
.prod-page--contact .ie-contact-layout{padding-top:25px}
.prod-page--contact .ie-faq{padding-top:35px}
.prod-page--contact .prod-contact-visual{padding-block:0 35px}
.prod-page--contact .prod-contact-visual .prod-image{max-width:300px;aspect-ratio:4/3;margin:0}
.prod-page--privacy .prod-hero{padding-bottom:64px}
.prod-page--privacy .prod-intro{max-width:48rem}
html[lang=en] .prod-page h1{font-size:2.75rem;line-height:1.25}
html[lang=en] .prod-page h2{font-size:1.9375rem;line-height:1.35}
html[lang=en] .prod-page h3{font-size:1.25rem;line-height:1.5}
@media(max-width:1100px){
 .prod-page .r4-container{width:calc(100% - 80px)}
 .prod-detail-layout{grid-template-columns:200px minmax(0,1fr);gap:40px}
 .prod-page .prod-section--illustrated{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);column-gap:25px}
 .prod-page--english #philosophy{grid-template-columns:minmax(0,1fr) 310px;column-gap:32px}
 .prod-page--methods .prod-sections>.prod-section,.prod-page--methods .prod-sections>.prod-section--illustrated{grid-template-columns:220px minmax(0,1fr);gap:22px 35px}
 .prod-page--methods .prod-section--illustrated>h2{grid-column:1;grid-row:1}
 .prod-page--methods .prod-section--illustrated>.prod-section-copy{grid-column:2;grid-row:1}
 .prod-page--methods .prod-section--illustrated>.prod-image{grid-column:2;grid-row:2;max-width:400px}
 .prod-page--team #anna{grid-template-columns:30% minmax(0,1fr);gap:18px 38px}
 .prod-page h1{font-size:2.375rem}
 .prod-page--team #anna>h2{font-size:1.75rem}
}
@media(max-width:767px){
 .prod-page .r4-container{width:calc(100% - 40px)}
 .prod-page{font-size:1rem;line-height:1.8}
 .prod-page p{font-size:1rem;line-height:1.8;margin-bottom:18px}
 .prod-page h1{font-size:2rem;line-height:1.5;margin-bottom:22px}
 .prod-page h2{font-size:1.5625rem;line-height:1.6;margin-bottom:18px}
 .prod-page h3{font-size:1.25rem;line-height:1.6;margin-bottom:12px}
 .prod-page .prod-hero{padding-block:32px 27px}
 .prod-page .prod-hero .prod-subtitle{font-size:1.375rem}
 .prod-detail-layout{display:block;padding-top:6px}
 .prod-page-nav{position:static;margin-bottom:32px}
 .prod-page-nav ul{display:block}
 .prod-page-nav a{min-height:48px;font-size:1rem;line-height:1.75;padding-block:10px}
 .prod-page-nav>p{font-size:.9375rem;margin-bottom:7px}
 .prod-section{margin-bottom:36px;scroll-margin-top:20px}
 .prod-subsection{margin-top:25px}
 .prod-page p.prod-emphasis{font-size:1.0625rem;line-height:1.8}
 .prod-page p.prod-credentials{font-size:1rem;line-height:1.8}
 .prod-credentials .ie-text-unit{display:block}
 .prod-credentials .ie-text-unit+.ie-text-unit{margin-top:4px}
 .prod-credentials .ie-unit-separator{display:none}
 .prod-consult{padding-block:0 33px}
 .prod-consult .b-button{width:100%;display:flex}
 .prod-sections{padding-top:4px}
 .prod-image{margin-bottom:21px;max-width:none}
 .prod-page .prod-section--illustrated,.prod-page--english #philosophy,.prod-page--methods .prod-sections>.prod-section,.prod-page--methods .prod-sections>.prod-section--illustrated{display:flex;flex-direction:column;gap:0}
 .prod-page .prod-section--illustrated>h2{order:0}
 .prod-page .prod-section--illustrated>.prod-section-copy{order:1}
 .prod-page .prod-section--illustrated>.prod-image{order:2;margin:22px 0 0;max-width:none}
 .prod-page--english #philosophy>.prod-image{max-width:330px;align-self:flex-start}
 .prod-page--english #teachers{margin-top:32px}
 .prod-page--english #qualifications h2{font-size:1.4375rem}
 .prod-page--methods .prod-section>h2{font-size:1.5625rem}
 .prod-example{padding-left:17px;margin-top:23px}
 .prod-example p{font-size:1rem;line-height:1.8}
 .prod-page--team #anna{display:flex;flex-direction:column;gap:22px;margin-block:30px}
 .prod-page--team #anna>h2{font-size:1.75rem;margin:0}
 .prod-page--team #anna>.prod-image{order:1;max-width:none;width:100%;margin:0}
 .prod-page--team #anna>.prod-section-copy{order:2;max-width:none}
 .prod-page--team #privacy{margin-top:28px}
 .prod-page--contact .ie-contact-layout{padding-top:17px}
 .prod-page--contact .ie-faq{padding-top:26px}
 .prod-page--contact .prod-contact-visual{padding-block:0 30px}
 .prod-page--contact .prod-contact-visual .prod-image{max-width:280px;width:100%;aspect-ratio:4/3}
 .prod-page--contact :where(.ie-email-address p,.ie-email-composer>p,.ie-contact-options label,.ie-enquiry-fields,.ie-faq summary,.ie-faq details p){font-size:1rem;line-height:1.8;text-align:start}
 .prod-page--contact .ie-email-address>a{font-size:1rem;max-width:100%;overflow-wrap:anywhere}
 .prod-page--contact .ie-contact-note{font-size:.9375rem;line-height:1.8}
 .prod-page--privacy .prod-hero{padding-bottom:40px}
 .prod-collaboration-teachers{gap:12px;font-size:1rem}
 .prod-collaboration ul{font-size:.9375rem}
 html[lang=en] .prod-page h1{font-size:2.1875rem;line-height:1.25}
 html[lang=en] .prod-page h2,html[lang=en] .prod-page--methods .prod-section>h2{font-size:1.75rem;line-height:1.35}
}
