/* Shared reading scale: page references retain their art and hierarchy, with readable interface text. */
.reference-home{--reading-copy:1rem;--reading-secondary:.875rem;--reading-action:.9375rem}
.reference-home main p,.reference-home main li{font-size:var(--reading-copy)!important;line-height:1.5!important}
.reference-home main h3{font-size:1.125rem!important;line-height:1.25!important}
.reference-home main summary{font-size:var(--reading-action)!important;line-height:1.4!important;min-height:44px}
.reference-home main small{font-size:var(--reading-secondary)!important;line-height:1.4!important}
.reference-home main :is(.rf-kicker,.fq-label),.reference-home main .members h2{font-size:.875rem!important;line-height:1.4!important}
.reference-home main :is(.sw-detail-body,.tp-detail-body,.cp-detail-body,.ep-detail-body,.ar-detail-body,.faqanswer){font-size:1rem!important;line-height:1.55!important}
.reference-home :is(.sw-button,.tp-button,.ep-button,.cp-button,.rf-button),.reference-home main button{font-size:.9375rem!important;line-height:1.35!important;min-height:44px}
.reference-home :is(.sw-jobtags span,.tp-chips span,.tp-fieldtags>span,.cp-tags span,.ep-tags span,.tp-destination-tease>span,.sw-budget-tag){font-size:.875rem!important;line-height:1.4!important;white-space:normal}
.reference-home :is(.sw-facts b,.tp-facts b,.cp-facts b,.ep-facts b,.tp-summary-copy b,.ep-summary-copy b,.cp-role-text b){font-size:1rem!important;line-height:1.3!important}
.reference-home :is(.sw-budget-preview,.tp-preview,.cp-preview,.ep-preview){font-size:1rem!important;line-height:1.5!important}
.reference-home :is(.sw-process li,.tp-process li,.cp-process li,.ep-process li){height:auto;min-width:0}
.reference-home :is(.sw-process,.tp-process,.cp-process,.ep-process) h3{min-height:0}
.reference-home :is(.sw-process,.tp-process,.cp-process,.ep-process) .sw-detail-body p{font-size:1rem!important}
.reference-home :is(.sw-process,.tp-process,.cp-process,.ep-process) :is(.sw-step-number,.tp-step-number,.cp-step-number,.ep-step-number),.reference-home .sw-process li>b{font-size:.875rem!important}
.reference-home .rf-footer :is(a,span,p,button){font-size:.9375rem!important;line-height:1.5!important}
.reference-home .rf-footer h3{font-size:1.125rem!important;line-height:1.3!important}
.reference-home .rf-footer :is(.rf-footer-bottom span,.rf-footer-bottom button){font-size:.8125rem!important}
.reference-home .rf-footer-chat>b{font-size:1rem!important}
.reference-home .hr-caption p{font-size:.8125rem!important}
.reference-home .faqtopics a,.reference-home .fq-quick a{font-size:.9375rem!important;line-height:1.4!important}
.reference-home .fq-sidebar-title{font-size:1rem!important;line-height:1.3!important}
.reference-home .rf-header{min-height:72px!important;padding:10px 4%!important;gap:18px!important}
.reference-home .rf-header #navigation{gap:20px}
.reference-home .rf-header #navigation>a,.reference-home .rf-header #navigation>.pn-menu>summary,.reference-home .rf-header :is(.rf-header-cta,.sw-language,.tp-language,.cp-language,.ep-language,.ar-language,.fq-language){font-size:.9375rem!important;line-height:1.3!important}
.reference-home .rf-header .rf-header-cta{min-height:44px;padding:10px 18px}
.reference-home .rf-header .brand{width:auto;flex-shrink:0}
.reference-home .rf-header .brand img{width:140px!important;height:auto!important;max-height:48px;object-fit:contain}
.reference-home .pn-panel>p,.reference-home .pn-links small{font-size:.875rem!important}
.reference-home .pn-links strong{font-size:1rem!important}
@media(min-width:761px){
 .reference-home main h2:not(.rf-kicker):not(.fq-sidebar-title):not(.members h2){font-size:clamp(1.75rem,2.8vw,2.625rem)!important;line-height:1.1!important}
 .reference-home :is(.sw-heading,.tp-heading,.cp-heading,.ep-heading){margin-bottom:20px}
 .reference-home :is(.sw-intro,.tp-modalities,.tp-fields,.tp-docs,.tp-benefits,.cp-intro,.cp-docs,.ep-intro,.ep-docs){padding-block:28px}
 .reference-home :is(.sw-requirements,.sw-process,.sw-budget,.tp-profile,.tp-process,.tp-budget,.cp-requirements,.cp-process,.cp-coverage,.ep-profile,.ep-process,.ep-coverage){padding-block:28px}
 .reference-home :is(.sw-process li,.tp-process li,.cp-process li,.ep-process li){padding:20px 12px 14px}
 .reference-home :is(.sw-process,.tp-process,.cp-process,.ep-process) .sw-detail,.reference-home :is(.sw-process,.tp-process,.cp-process,.ep-process) .tp-detail{margin-top:10px}
 .reference-home .tp-category-copy{padding:20px}
 .reference-home .tp-category p{max-width:58%;margin-left:0}
 .reference-home .tp-category{min-height:220px}
 .reference-home .tp-category h3{max-width:65%}
 .reference-home .tp-chips{flex-wrap:wrap;max-width:66%}
 .reference-home .tp-budget-card{padding:16px}
 .reference-home .tp-benefit-cards article{padding:16px 8px}
 .reference-home .rf-footer-grid{gap:24px}
}
@media(min-width:761px) and (max-width:1100px){
 .reference-home :is(.sw-intro,.cp-intro){grid-template-columns:1fr 1fr}
 .reference-home .sw-features{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-home .sw-friends{width:100%}
 .reference-home :is(.sw-process ol,.tp-process ol,.cp-process ol,.ep-process ol){grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%}
 .reference-home :is(.sw-process-postcard,.sw-process-hand,.tp-process-plane,.cp-process-plane,.ep-process-plane){display:none}
 .reference-home :is(.sw-three,.tp-three){grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-home :is(.tp-fields,.tp-benefits){grid-template-columns:1fr}
 .reference-home :is(.sw-budget-grid,.tp-budget>.tp-container){grid-template-columns:1fr 1fr}
 .reference-home .tp-budget-photo{display:none}
 .reference-home .tp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-home .rf-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-home .rf-footer-chat{grid-column:1/-1}
}
@media(max-width:1100px){
 .reference-home .rf-header{position:sticky;top:0;flex-wrap:wrap;z-index:60}
 .reference-home .rf-header .menubtn{display:block;margin-left:auto;min-height:44px;padding:8px 16px;border-radius:100px}
 .reference-home .rf-header #navigation{display:none}
 .reference-home .rf-header #navigation.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;width:100%;margin:0;padding:16px 5%;gap:10px;background:#fff;border-bottom:1px solid #dcebf0;max-height:calc(100dvh - 145px);overflow-y:auto}
 .reference-home .rf-header :is(.rf-header-cta,.rf-search){display:none}
 .reference-home header #navigation>.pn-menu{width:100%}
 .reference-home header #navigation>.pn-menu>summary{justify-content:space-between;min-height:44px}
 .reference-home header #navigation .pn-panel{position:static;width:100%;max-width:none;margin:6px 0 10px;padding:10px;box-shadow:none;background:#f6fbfd}
}
@media(max-width:760px){
 .reference-home :is(.sw-facts,.tp-facts,.cp-facts,.ep-facts){gap:10px}
 .reference-home :is(.sw-facts>div,.tp-facts>div,.cp-facts>div,.ep-facts>div){align-items:flex-start}
 .reference-home :is(.sw-hero-copy,.tp-hero-copy,.cp-hero-copy,.ep-hero-copy){padding-bottom:28px}
 .reference-home .sw-hero{height:auto;min-height:610px}
 .reference-home .tp-category .tp-chips{flex-wrap:wrap}
 .reference-home .tp-category{min-height:280px}
}
/* Expanded text stays inside its card; heading-sized labels keep their hierarchy. */
.reference-home main :is(p,h3,summary,li){overflow-wrap:anywhere}
.reference-home main :is(.sw-detail-body,.tp-detail-body,.cp-detail-body,.ep-detail-body,.ar-detail-body) p{max-width:none!important;margin-left:0!important}
.reference-home main :is(.tp-category h3,.ar-founder h3){font-size:clamp(1.5rem,2vw,2rem)!important}
.reference-home main :is(.rf-hero-lead,.sw-hero-copy>p,.tp-hero-copy>p,.cp-hero-copy>p,.ep-hero-copy>p,.ar-hero-copy>p,.fq-hero-copy>p):not(.rf-kicker):not(.sw-label):not(.fq-label){font-size:clamp(1rem,1.5vw,1.3rem)!important;line-height:1.4!important}
.reference-home main .rf-hero-lead{font-size:clamp(1.1rem,1.8vw,1.5rem)!important}
.reference-home .hr-caption p{font-size:.875rem!important}
.reference-home .tp-modalities>.tp-detail:not([open]){position:static;margin-top:16px}
.reference-home .tp-category .tp-detail[open]{width:100%}
.reference-home .tp-category:has(.tp-detail[open]) .tp-chips{max-width:100%}
.reference-home .tp-benefit-cards h3{hyphens:auto}
@media(min-width:761px) and (max-width:1100px){
 .reference-home .cp-four,.reference-home .ar-values{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-home .ar-purpose{grid-template-columns:1fr}
 .reference-home .ep-growth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-home .ep-growth-grid .ep-detail{grid-column:auto}
 .reference-home .ar-hero-copy h1{font-size:clamp(2rem,4.5vw,3rem)}
}
@media(max-width:480px){.reference-home .cp-requirements .cp-four{grid-template-columns:1fr}}
.reference-home main a,.reference-home main .cp-small-cta,.reference-home main .ar-link{font-size:.9375rem!important;line-height:1.4!important}
.reference-home .ar-proof a,.reference-home .ar-proof span,.reference-home .fq-sidebar-help strong,.reference-home .faqclusterhead>span,.reference-home .faqcount,.reference-home .sw-label{font-size:.875rem!important;line-height:1.4!important}
.reference-home :is(.tp-plus,.cp-plus,.ep-plus,.ar-plus){font-size:1rem!important;min-width:20px;min-height:20px}
.reference-home .faqcount{min-width:24px;min-height:24px}
.reference-home .faqrelated{flex-wrap:wrap}
.reference-home .faqrelated a{white-space:normal}
.reference-home .cp-sectionhead{flex-wrap:wrap;gap:16px}
@media(min-width:1101px){.reference-home :is(.sw-process,.tp-process,.cp-process,.ep-process) h3{min-height:2.5em}}
.reference-home main h4{font-size:1rem!important;line-height:1.4!important}
.reference-home .fq-search input{font-size:1rem}
.reference-home .fq-chat h2{font-size:clamp(1.5rem,1.9vw,2rem)!important}
.reference-home .fq-quick-title{font-size:1.25rem!important}
.reference-home .faqclusterhead h3{font-size:clamp(1.25rem,1.8vw,1.7rem)!important}
.reference-home #programs .rf-program h3{font-size:clamp(1.5rem,2.35vw,2.65rem)!important;line-height:1.05!important}
.reference-home #programs .rf-program p{font-size:clamp(1rem,1.3vw,1.25rem)!important;line-height:1.35!important}
@media(max-width:760px){
 .reference-home :is(.sw-hero,.tp-hero,.cp-hero,.ep-hero) :is(.sw-actions,.tp-actions,.cp-actions,.ep-actions){flex-wrap:wrap!important}
 .reference-home :is(.sw-hero,.tp-hero,.cp-hero,.ep-hero) :is(.sw-button,.tp-button,.cp-button,.ep-button){max-width:100%;white-space:normal;text-align:center}
 .reference-home #programs .rf-program h3{font-size:1.9rem!important}
}
@media(max-width:480px){.reference-home .sw-handwriting{display:none}}
/* On phones, the photograph follows the copy instead of occupying a fixed text height. */
@media(max-width:760px){
 .reference-home :is(.sw-hero,.tp-hero,.cp-hero,.ep-hero){display:flex;flex-direction:column;height:auto;min-height:0}
 .reference-home :is(.sw-hero-copy,.tp-hero-copy,.cp-hero-copy,.ep-hero-copy){order:0;width:100%;max-width:none;padding:28px 5% 30px;box-sizing:border-box}
 .reference-home :is(.sw-hero-art,.tp-hero-art,.cp-hero-art,.ep-hero-art){order:1;position:relative;inset:auto;z-index:0;width:100%;height:clamp(280px,85vw,440px);flex-shrink:0}
 .reference-home :is(.sw-hero-art,.tp-hero-art,.cp-hero-art,.ep-hero-art) img{width:100%;height:100%;object-fit:cover}
 .reference-home :is(.sw-hero-copy,.tp-hero-copy,.cp-hero-copy,.ep-hero-copy) .rf-social-proof{margin-bottom:0}
}
