/* Teacher site 1.0.2: explicit theme boundaries; Elementor per-widget controls retain priority. */
body.yhp-site{--muted:#526068;color:var(--ink);font-size:16px;line-height:1.85}
body.yhp-site :where(.yh-block) :where(h1,h2,h3,h4,h5,h6){color:inherit}
.yhp-site :is(.hero-description,.about-text>p,.section-heading>p,.research-summary,.research-expanded,.principle p,.career-intro,.milestone p,.market-row p,.enterprise p,.contact-copy>p,.office-panel address,.office-panel address>span,.philosophy-intro,.faq-item p){font-size:16px;line-height:1.85}
.yhp-site .about-text>p:first-child{font-size:18px}
.yhp-site :is(.hero-description,.research-summary,.research-expanded,.research .section-heading>p,.contact-copy>p,.market-row p,.office-panel address,.office-panel address>span){color:#c9d3d8}
.yhp-site :is(.principle p,.philosophy-intro,.enterprise p,.career-intro,.milestone p){color:#526068}
.yhp-site .hero-roles{font-size:13px;color:#e0e4e3;line-height:1.8;flex-wrap:wrap}
.yhp-site .hero-buttons{flex-wrap:wrap;row-gap:16px}
.yhp-site :is(.button,.text-link,.hero-buttons>.text-link,.office-actions>.button,.office-actions>.text-link){font-size:14px}
.yhp-site .section-label{font-size:12px;letter-spacing:.08em;color:#806235}
.yhp-site :is(.hero-cover,.research,.contact,.perspectives-cover) .section-label{color:#d7c39e}
.yhp-site :is(.micro,.research-name>.micro,.office-panel>.micro){font-size:12px;letter-spacing:.04em}
.yhp-site .research-name>.micro{color:#b9c8ce}
.yhp-site :is(.footer-person small,.footer-bottom>div>span,.footer-bottom p){font-size:12px;color:#526068;line-height:1.8}
.yhp-site .footer-person small{max-width:320px}
.yhp-site .desktop-nav{gap:21px}
.yhp-site .desktop-nav>a{font-size:14px}
.yhp-site .header-contact{font-size:13px;min-height:44px}
.yhp-site .language-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 10px;border:1px solid #8d9a9c80;border-radius:3px;background:transparent;color:inherit;font-size:14px;font-weight:500;line-height:1.4;text-transform:none;letter-spacing:0;box-shadow:none}
.yhp-site .language-toggle:hover,.yhp-site .language-toggle[aria-expanded=true]{background:#b89d6d20}
.yhp-site .language-options{z-index:30;width:190px;top:calc(100% + 8px);background:#fbfaf7;color:#142632;border-color:#c3cacb}
.yhp-site .language-options>a{min-height:46px;font-size:14px;gap:12px}
.yhp-site .language-options>a:hover{background:#e7e7df;color:#142632}
.yhp-site svg.flag{display:inline-block;width:28px;height:19px;min-width:28px;flex:0 0 28px;overflow:hidden;stroke:none;stroke-width:0;border-radius:2px;box-shadow:0 0 0 1px #ffffff38;vertical-align:middle}
.yhp-site svg.flag *{stroke:none;stroke-width:0;vector-effect:none}
.yhp-site .language-toggle>svg:last-child:not(.flag){display:block;width:10px;height:10px;stroke:currentColor;stroke-width:1.6;fill:none}
.yhp-site .market-row .flag{width:25px;min-width:25px;height:17px;flex-basis:25px}
.yhp-site .career-tabs>button{font:inherit;text-transform:none;letter-spacing:0;color:#526068;border-radius:0;box-shadow:none}
.yhp-site .career-tabs>button[aria-selected=true]{background:#101e29;color:#f7f4ec}
.yhp-site .career-tabs strong{font-size:14px;font-weight:500;line-height:1.65}
.yhp-site .phase-dates{font-size:12px;letter-spacing:.03em}
.yhp-site .office-actions{flex-wrap:wrap;gap:18px 24px}
.yhp-site :is(.button,.text-link,.header-contact,.contact-arrow) svg:not(.flag){stroke-width:1.6}
.yhp-site :is(.scroll-circle,.back-top) svg{transform:none;stroke-width:1.6}
.yhp-site .scroll-cue{font-size:12px}
.yhp-site .scroll-cue:hover .scroll-circle{transform:translateX(3px)}
.yhp-site .contact-arrow:hover{transform:translateX(3px)}
.yhp-site .back-top{font-size:12px}
.yhp-site .yh-form input,.yhp-site .yh-form textarea{font-size:16px}
.yhp-site .yh-form label{font-size:14px;color:#243d4e}
.yhp-site .brand-mark,.yhp-site .brand-mark img{width:76px;height:64px}
.yhp-site .brand-mark img{object-fit:contain}
@media(min-width:1181px) and (max-width:1380px){.yhp-site .header-inner{gap:18px}.yhp-site .desktop-nav{gap:15px}.yhp-site .desktop-nav>a{font-size:13px}.yhp-site .header-contact{padding:10px 12px;gap:12px}}
@media(max-width:1180px){.yhp-site .header-inner{gap:14px}.yhp-site .header-actions{gap:15px}.yhp-site .mobile-nav>a{font-size:16px;min-height:48px;color:#142632}.yhp-site .menu-toggle{min-width:44px;min-height:44px}}
@media(max-width:700px){
 .yhp-site :is(.hero-description,.about-text>p,.section-heading>p,.research-summary,.research-expanded,.principle p,.career-intro,.milestone p,.market-row p,.enterprise p,.contact-copy>p,.office-panel address,.office-panel address>span,.philosophy-intro,.faq-item p){font-size:15px;line-height:1.9}
 .yhp-site .about-text>p:first-child{font-size:17px}.yhp-site .hero-roles{font-size:12px}.yhp-site .language-toggle{font-size:12px;gap:6px;padding:8px 7px}.yhp-site .language-toggle>svg:last-child:not(.flag){display:none}
 .yhp-site .header-inner{gap:10px}.yhp-site .header-actions{gap:8px}.yhp-site .brand{gap:8px}.yhp-site .brand-mark,.yhp-site .brand-mark img{width:48px;height:48px}.yhp-site .brand-copy strong{font-size:20px}.yhp-site .brand-copy>span{font-size:8px}
 .yhp-site .career-tabs strong{font-size:12px;line-height:1.65;min-height:0}.yhp-site .career-tabs>button{padding:18px 10px;gap:10px}.yhp-site .phase-dates{font-size:11px}.yhp-site .tab-num{font-size:20px}
 .yhp-site .footer-top{flex-wrap:wrap;gap:24px}.yhp-site .footer-person small{font-size:11px;max-width:250px}.yhp-site .footer-bottom{flex-direction:column;gap:18px}.yhp-site .footer-bottom p{font-size:11px}.yhp-site .back-top{font-size:12px;gap:10px}
 .yhp-site .office-panel h3{overflow-wrap:anywhere}.yhp-site .market-row h3{font-size:22px}.yhp-site .research-footnote{font-size:9px}
 html[lang=en] .yhp-site .brand-copy strong{font-size:18px}html[lang=en] .yhp-site .brand-copy>span{font-size:7px}
}
@media(max-width:380px){.yhp-site .brand-copy strong{font-size:18px}.yhp-site .brand-mark,.yhp-site .brand-mark img{width:38px;height:44px}.yhp-site .language-toggle{padding:7px 5px}.yhp-site .header-actions{gap:5px}.yhp-site .hero-buttons{gap:16px}.yhp-site .career-tabs>button{padding:16px 8px}}
@media print{.yhp-site :is(.hero-cover,.research,.contact,.perspectives-cover){color:#142632}.yhp-site :is(.hero-description,.research-summary,.research-expanded,.research .section-heading>p,.contact-copy>p,.market-row p,.office-panel address,.office-panel address>span){color:#243d4e}}

/* OceanWP applies additional defaults to native buttons; keep these controls local. */
.yhp-site a.button{border:1px solid transparent;border-radius:0;text-transform:none;font-weight:500;letter-spacing:.02em}
.yhp-site button.text-link{border:0;border-bottom:1px solid #6b7a7e;border-radius:0;background:none;padding:7px 0;text-transform:none;letter-spacing:0;min-height:44px}
.yhp-site .menu-toggle{border:0;border-radius:0;background:none;padding:8px}
.yhp-site .career-tabs>button{border-top:0;border-right:0;border-left:0;background:transparent}
.yhp-site .career-tabs>button[aria-selected=true]{background:#101e29}
@media(max-width:700px){.yhp-site .career-tabs>button+button{border-left:1px solid var(--line)}}
/* Prevent the longer English name from squeezing the mobile language control. */
html[lang=en] .yhp-site .brand-copy strong{font-family:var(--serif);letter-spacing:0;white-space:nowrap}
@media(max-width:700px){.yhp-site .brand-copy>span{letter-spacing:.035em;line-height:1.4}html[lang=en] .yhp-site .brand-copy strong{font-size:18px}}
@media(max-width:380px){.yhp-site .header-inner{width:calc(100% - 24px);gap:8px}.yhp-site .brand{gap:6px}html[lang=en] .yhp-site .brand-copy strong{font-size:16px}}
