/* Approved R4 brand system, consolidated for Add1 and responsive reading. */
@font-face{font-family:'R4 Sans SC';src:url(r4-sans-sc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'R4 Serif SC';src:url(r4-serif-sc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'R4 Sans TC';src:url(r4-sans-tc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'R4 Serif TC';src:url(r4-serif-tc.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'R4 Latin Sans';src:url(r4-latin-sans.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'R4 Latin Serif';src:url(r4-latin-serif.woff2) format('woff2');font-weight:400 700;font-display:swap}
.r4-home{background:#f3f0e9;color:#24383c}
.r4-home main{font-family:var(--b-sans)}
.r4-home .r4-container{width:min(1160px,calc(100% - 112px));margin-inline:auto}
.r4-home main p{font-size:1.0625rem;line-height:1.85;color:#34464a;margin:0;text-wrap:pretty}
.r4-home main p+p{margin-top:17px}
.r4-home main :where(h1,h2,h3){text-align:start;overflow-wrap:break-word}
.r4-home main :where(h2,h3){font-family:var(--b-serif);font-weight:600;letter-spacing:0;color:#112f35;text-wrap:balance}
.r4-home main h2{font-size:2.125rem;line-height:1.5;margin:0 0 26px}
.r4-home main h3{font-size:1.5625rem;line-height:1.6;margin:0 0 17px}
.r4-home figure{margin:0;overflow:hidden;border-radius:10px}
.r4-home figure img{display:block;width:100%;height:auto}
.r4-home .r4-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:64px;align-items:center;padding-block:52px 65px}
.r4-home .r4-hero h1{font-family:var(--b-sans);font-weight:700;font-size:clamp(2.0625rem,3.2vw,2.75rem);line-height:1.5;letter-spacing:-.02em;margin:0 0 24px;text-wrap:pretty}
.r4-home .r4-hero h1>span{display:block;white-space:normal}
.r4-home .r4-service-line{font-size:1.25rem;line-height:1.75;color:#112f35;margin:0 0 18px}
.r4-home .r4-experience{max-width:30em;font-size:1rem;line-height:1.85;color:#53615f;text-wrap:pretty}
.r4-home .r4-count-phrase{white-space:nowrap}
.r4-home .r4-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:28px}
.r4-home .r4-explore{display:inline-flex;gap:16px;align-items:center;min-height:52px;font-size:1rem;color:#112f35;text-decoration:none}
.r4-home .r4-explore>.ie-link-arrow{font-size:1.1875rem}
.r4-home .r4-hero figure{aspect-ratio:4/3}
.r4-home .r4-hero img{height:100%;object-fit:contain}
.r4-home .r4-services{padding-block:35px 46px;scroll-margin-top:20px}
.r4-home .r4-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px}
.r4-home .r4-service{align-self:start;min-width:0;text-align:start}
.r4-home .r4-service h3{font-size:1.75rem;margin-bottom:17px}
.r4-home .r4-service p{font-size:1rem;line-height:1.85}
.r4-home .r4-service-image{aspect-ratio:4/3;margin:0 0 22px;border-radius:8px}
.r4-home .r4-service-image img{width:100%;height:100%;object-fit:contain}
.r4-home .r4-service[data-service=english] .r4-service-image{aspect-ratio:3/2}
.r4-home .r4-service .r4-evidence-label{font-family:var(--b-sans);font-size:1rem;line-height:1.7;font-weight:600;color:#112f35;margin:22px 0 10px;text-align:start}
.r4-home .r4-service h4+p.r4-service-evidence{margin-top:0}
.r4-home .r4-service p.r4-service-evidence{font-size:.9375rem;line-height:1.85;margin-top:20px;color:#53615f;font-weight:400}
.r4-home .r4-link{display:inline-flex;align-items:center;gap:18px;min-height:48px;max-width:100%;margin-top:14px;font-size:1rem;line-height:1.7;color:#775c29;text-decoration:none}
.r4-home .r4-link>.ie-link-arrow{font-size:1.3125rem;flex-shrink:0;transition:transform .15s}
.r4-home .r4-link:hover{color:#49391c}
.r4-home .r4-link:hover>.ie-link-arrow{transform:translateX(3px)}
.r4-home .r4-team{display:grid;grid-template-columns:340px minmax(0,1fr);grid-template-rows:max-content 1fr;column-gap:60px;row-gap:22px;padding-block:24px 48px;align-items:start}
.r4-home .r4-team-intro{grid-column:2;grid-row:1;margin:0;min-width:0}
.r4-home .r4-team-intro h2{margin-bottom:20px}
.r4-home .r4-team-intro p{font-size:1rem;line-height:1.85}
.r4-home .r4-team>figure{grid-column:1;grid-row:1/span 2;aspect-ratio:4/5;width:100%;align-self:start}
.r4-home .r4-team>figure img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.r4-home .r4-anna-copy{grid-column:2;grid-row:2;max-width:680px;min-width:0}
.r4-home .r4-anna-copy h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-bottom:14px;font-size:1.375rem;text-wrap:pretty}
.r4-home .r4-anna-name{font-family:'P5 Latin Serif',Georgia,serif;font-size:2.25rem;font-weight:500;line-height:1.15}
.r4-home .r4-anna-copy .r4-qualifications{font-size:.9375rem;line-height:1.85;margin-bottom:18px;color:#112f35;text-align:start}
.r4-home .r4-anna-copy>p:not(.r4-qualifications){font-size:1rem;line-height:1.85}
.r4-home .r4-practice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:start;padding-block:8px 44px}
.r4-home .r4-practice-intro{min-width:0}
.r4-home .r4-practice-intro h2{margin-bottom:19px}
.r4-home .r4-practice-intro p,.r4-home .r4-teaching-copy p{font-size:1rem;line-height:1.85}
.r4-home .r4-teaching-copy{padding-top:6px;min-width:0}
.r4-home .r4-teaching-copy h3{font-size:1.4375rem;margin-bottom:15px}
.r4-home .r4-contact{display:flex;justify-content:space-between;align-items:center;gap:50px;padding-block:17px 37px}
.r4-home .r4-contact h2{font-size:1.75rem;margin-bottom:12px}
.r4-home .r4-contact p{font-size:1rem;line-height:1.85;max-width:42em}
.r4-home .r4-contact .b-button{flex-shrink:0}
.r4-home .r4-mail{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:.9375rem;color:#775c29;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;margin-top:6px}
html[lang=en] .r4-home .r4-hero h1{font-size:2.5rem;line-height:1.2;letter-spacing:-.015em}
html[lang=en] .r4-home .r4-service-line{font-size:1.0625rem}
html[lang=en] .r4-home main h2{font-size:2.1875rem;line-height:1.25}
html[lang=en] .r4-home .r4-service h3{font-size:1.8125rem;line-height:1.3}
@media(max-width:1100px){
 .r4-home .r4-container{width:calc(100% - 80px)}
 .r4-home .r4-hero{gap:35px;padding-block:40px 45px}
 .r4-home .r4-hero h1{font-size:2.125rem;line-height:1.6}
 .r4-home .r4-service-line{font-size:1.1875rem}
 .r4-home .r4-actions{gap:16px 22px}
 .r4-home .r4-service-grid{gap:34px}
 .r4-home .r4-team{grid-template-columns:31% minmax(0,1fr);column-gap:40px}
 .r4-home .r4-practice{gap:36px}
 .r4-home .r4-contact{gap:35px}
 html[lang=en] .r4-home .r4-hero h1{font-size:2.125rem}
}
@media(max-width:767px){
 .r4-home .r4-container{width:calc(100% - 40px)}
 .r4-home main p{font-size:1rem;line-height:1.8}
 .r4-home main h2{font-size:1.75rem;line-height:1.55;margin-bottom:22px}
 .r4-home .r4-hero{display:flex;flex-direction:column;align-items:stretch;gap:27px;padding-block:30px 29px}
 .r4-home .r4-hero h1{font-size:1.875rem;line-height:1.55;letter-spacing:-.015em;margin-bottom:19px}
 .r4-home .r4-service-line{font-size:1.125rem;line-height:1.8;margin-bottom:14px}
 .r4-home .r4-experience{font-size:1rem;line-height:1.8;max-width:none}
 .r4-home .r4-actions{margin-top:21px;gap:20px}
 .r4-home .r4-actions .b-button{min-width:165px}
 .r4-home .r4-explore{gap:12px}
 .r4-home .r4-services{padding-block:18px 28px}
 .r4-home .r4-service-grid{display:flex;flex-direction:column;gap:34px}
 .r4-home .r4-service h3{font-size:1.5625rem;line-height:1.6;margin-bottom:12px}
 .r4-home .r4-service-image{width:min(100%,280px);margin-bottom:17px}
 .r4-home .r4-service p{font-size:1rem;line-height:1.8;text-wrap:wrap}
 .r4-home .r4-service p.r4-service-evidence{font-size:1rem;line-height:1.8;margin-top:17px}
 .r4-home .r4-link{margin-top:8px;min-height:48px}
 .r4-home .r4-team{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:24px;padding-block:15px 36px}
 .r4-home .r4-team-intro{grid-column:1;grid-row:1}
 .r4-home .r4-team-intro p,.r4-home .r4-anna-copy>p:not(.r4-qualifications){line-height:1.8}
 .r4-home .r4-team>figure{grid-column:1;grid-row:2;width:100%}
 .r4-home .r4-anna-copy{grid-column:1;grid-row:3}
 .r4-home .r4-anna-copy h3{font-size:1.25rem;gap:6px 14px}
 .r4-home .r4-anna-name{font-size:1.8125rem}
 .r4-home .r4-anna-copy .r4-qualifications{font-size:1rem;line-height:1.8}
 .r4-home .r4-qualifications .ie-text-unit{display:block}
 .r4-home .r4-qualifications .ie-text-unit+.ie-text-unit{margin-top:4px}
 .r4-home .r4-qualifications .ie-unit-separator{display:none}
 .r4-home .r4-anna-copy>p:not(.r4-qualifications){text-wrap:wrap}
 .r4-home .r4-practice{display:flex;flex-direction:column;gap:24px;padding-block:0 30px}
 .r4-home .r4-practice-intro p,.r4-home .r4-teaching-copy p{line-height:1.8}
 .r4-home .r4-teaching-copy{padding:0}
 .r4-home .r4-contact{display:block;padding-block:8px 32px}
 .r4-home .r4-contact h2{font-size:1.6875rem;margin-bottom:15px}
 .r4-home .r4-contact p{line-height:1.8}
 .r4-home .r4-contact .b-button{display:flex;width:100%;margin-top:18px}
 .r4-home .r4-mail{font-size:.9375rem}
 html[lang=en] .r4-home .r4-hero h1{font-size:2.0625rem;line-height:1.25}
 html[lang=en] .r4-home .r4-service-line{font-size:1rem}
 html[lang=en] .r4-home main h2{font-size:1.9375rem;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){.r4-home *{transition:none;scroll-behavior:auto}}
