.pm-shell .pm-compact-hero{min-height:340px;padding:28px 0;background:#243d32;align-items:center}
.pm-shell .pm-compact-hero .pm-hero-background{object-position:65% center}
.pm-shell .pm-compact-hero .pm-hero-content{max-width:580px}
.pm-shell .pm-compact-hero h1{font-size:clamp(35.7px,3.485vw,49.3px);line-height:1.08;margin:0 0 14px}
.pm-shell .pm-compact-hero p{font-size:18px;line-height:1.45;margin:0 0 16px;max-width:530px}
.pm-shell .pm-compact-hero .pm-eyebrow{font-size:12px;line-height:1.4;margin-bottom:10px}
.pm-shell .pm-compact-hero .pm-actions{margin:18px 0 0}
.pm-shell .pm-compact-hero .pm-button{box-sizing:border-box;min-height:48px}
.pm-shell .pm-compact-hero.pm-range-hero h1{font-size:clamp(32.3px,3.06vw,45.9px)}
.pm-detail-content{max-width:980px}
.pm-detail-content .pm-prose{max-width:850px}
.pm-detail-content .pm-prose>p:first-child{font-size:20px;line-height:1.55}
.pm-detail-content #project-form{scroll-margin-top:106px}
.pm-detail-content .cpp-resource-faq{margin:42px 0}
.pm-shell.pm-detail-page .cpp-resource-faq>h2{font-size:clamp(24.65px,2.55vw,35.7px)!important;font-family:Alegreya,Georgia,serif!important;font-weight:500!important;line-height:1.15!important}
.pm-shell.pm-detail-page .cpp-resource-faq__list{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.pm-shell.pm-detail-page .cpp-resource-faq__item{background:#fff;border:1px solid #d9ddcf;border-radius:8px;padding:22px}
.pm-shell.pm-detail-page .cpp-resource-faq__item h3{font-size:22.95px!important;font-family:Alegreya,Georgia,serif!important;font-weight:500!important;line-height:1.2!important;margin:0 0 10px!important}
.pm-shell.pm-detail-page .cpp-resource-faq__item p{margin:0 0 10px}
.pm-shell.pm-detail-page .cpp-resource-faq__item p:last-child{margin-bottom:0}
.pm-detail-nav{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:28px;margin-top:44px;border-top:1px solid #d9ddcf}
.pm-blog-intro{max-width:760px;margin-bottom:36px}
.pm-blog-grid>article{min-width:0}
.pm-blog-grid h2{line-height:1.18}
@media(max-width:980px){
.pm-shell .pm-compact-hero{display:block;min-height:0;padding:0;background:#243d32}
.pm-shell .pm-compact-hero::before{display:none}
.pm-shell .pm-compact-hero .pm-hero-background{position:relative;inset:auto;display:block;height:190px;object-fit:cover;object-position:85% center;z-index:auto}
.pm-shell .pm-compact-hero>.pm-wrap{width:100%;margin:0;padding:24px 24px 28px;box-sizing:border-box}
.pm-shell .pm-compact-hero .pm-hero-content{max-width:720px}
.pm-shell .pm-compact-hero h1,.pm-shell .pm-compact-hero.pm-range-hero h1{font-size:32.3px;line-height:1.1}
.pm-shell .pm-compact-hero p{font-size:18px;max-width:660px}
.pm-detail-content #project-form{scroll-margin-top:93px}
}
@media(max-width:540px){
.pm-shell .pm-compact-hero .pm-hero-background{height:180px;object-position:85% center}
.pm-shell .pm-compact-hero>.pm-wrap{padding:22px 16px 26px}
.pm-shell.pm-detail-page .cpp-resource-faq__item{padding:18px}
}

.pm-format-section{padding-bottom:24px}
.pm-format-section h2{max-width:800px;margin:0 0 16px}
.pm-format-intro{max-width:760px;margin:0 0 32px}
.pm-format-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pm-format-tile{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d9ddcf;border-radius:12px;overflow:hidden;text-decoration:none;color:#243d32;transition:box-shadow .18s ease,transform .18s ease}
.pm-format-tile:hover{box-shadow:0 8px 24px #243d3214;transform:translateY(-3px)}
.pm-format-tile:focus-visible{outline:3px solid #527341;outline-offset:4px}
.pm-format-tile>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:85% center}
.pm-format-tile-copy{display:flex;flex:1;flex-direction:column;padding:24px}
.pm-shell .pm-format-tile h3{font-size:25.5px;line-height:1.15;margin:0 0 12px}
.pm-format-tile p{color:#252825;margin:0 0 20px;line-height:1.5}
.pm-format-tile-link{margin-top:auto;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.pm-range-guidance{padding-top:36px}
@media(max-width:980px){.pm-format-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:640px){.pm-format-tiles{grid-template-columns:minmax(0,1fr)}.pm-format-tile-copy{padding:20px}.pm-format-intro{margin-bottom:24px}.pm-format-section{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.pm-format-tile{transition:none}.pm-format-tile:hover{transform:none}}
