/* Presentation refinement: readable controls, deliberate grouping, and responsive surfaces. */
.button{min-height:48px;font-size:14px;border-radius:6px;transition:background-color .2s,border-color .2s,box-shadow .2s}
.text-link svg,.button svg{transition:transform .2s}
.text-link:focus-visible svg,.button:focus-visible svg{transform:translateX(3px)}
.nav-trigger{font-size:13px}
.mega-link strong{font-size:15px}.mega-link span{font-size:13px}
.mega-feature>a,.mega-feature>div>a,.mega-footer{font-size:12px}
.hero-description{font-size:17px;line-height:1.75}
.hero-actions .text-link{font-size:14px}
.hero-bottom,.hero-bottom>a{font-size:12px}
.branch-control{font-size:12px;min-height:46px}
.root-control{font-size:12px;min-height:46px}
.explorer-foot{font-size:11px;min-height:48px}
.explorer-foot button{font-size:12px;min-height:44px}
/* The destination reads as a substantive part of the page, with an obvious way back. */
.practice-details{padding:24px 0 22px}
.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.detail-toolbar>p{font-size:13px;font-weight:600;line-height:1.5;color:#4f6846}
.back-to-tree{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 16px;border:1px solid #a8bb94;border-radius:6px;background:#fffef6;color:#315431;font-size:14px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .2s,border-color .2s,box-shadow .2s}
.back-to-tree svg{width:17px;height:17px}
.back-to-tree:hover,.back-to-tree:focus-visible{background:#d8e6be;border-color:#6c8e4e;box-shadow:0 3px 10px #3154310d}
.part-detail{grid-template-columns:1.12fr .86fr 1fr;gap:32px;min-height:0;align-items:stretch}
.part-detail .eyebrow{font-size:11px;margin-bottom:12px}
.part-intro h2{font-size:32px;line-height:1.13;max-width:410px}
.part-intro>p:last-child{font-size:15px;line-height:1.75;margin-top:13px;max-width:420px}
.part-measures,.part-support{min-height:0;padding:2px 0 0 27px}
.part-detail h3{font-size:14px;font-weight:600;margin-bottom:12px}
.part-measures ul{font-size:14px;line-height:1.6}
.part-measures li{padding:8px 0 8px 13px}
.part-measures li:before{top:18px}
.measure-note{font-size:12px;line-height:1.5;margin-top:12px}
.part-support>p{font-size:14px;line-height:1.8}
.part-support .text-link{font-size:14px;min-height:46px;margin-top:12px;gap:9px}
.detail-bottom{margin-top:24px;padding-top:18px;font-size:13px;line-height:1.6;color:#536949}
/* Clear service paths: a recognizable symbol, a strong headline, and a consistent action. */
#services{padding:64px 0 68px;background:#fff}
.section-header{gap:48px;margin-bottom:34px}
.section-header h2{font-size:46px;line-height:1.09}
.section-header>p{font-size:16px;line-height:1.75;max-width:420px}
.work-grid{gap:22px;align-items:stretch}
.work-item{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:28px;border:1px solid #d4dece;border-radius:10px;background:#f8f9f3;box-shadow:0 4px 12px #19372404;transition:transform .22s,box-shadow .22s,border-color .22s,background-color .22s}
.work-item:nth-child(2){background:#f1f5ee}.work-item:nth-child(3){background:#f5f6ed}
.work-number{display:flex;flex-direction:column;align-items:start;gap:20px;margin-bottom:17px;font-size:11px;line-height:1.5;letter-spacing:.035em}
.service-symbol{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid #bfd0b1;border-radius:14px;background:#e7eedb;color:#315b3d;transition:background-color .22s,border-color .22s,color .22s}
.service-symbol svg{width:30px;height:30px;stroke-width:1.45}
.work-number>span:last-child{font:500 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.025em;color:#486741}
.work-item h3{font-size:27px;line-height:1.2;font-weight:550}
.work-item>p{font-size:15px;line-height:1.75;margin-top:15px;max-width:none}
.work-item ul{font-size:14px;line-height:1.65;margin:19px 0 24px}
.work-item li{padding:7px 0}
.work-item li:before{margin-right:7px;color:#597d45}
.work-item>.text-link{border-top:1px solid #cbdac1;padding-top:16px;margin-top:auto;min-height:62px;font-size:14px;line-height:1.5;justify-content:space-between;gap:12px}
.work-item:focus-within{background:#edf3e4;border-color:#6f9564;box-shadow:0 12px 30px #173b2410}
.work-item:focus-within .service-symbol{background:#315b3d;border-color:#315b3d;color:#f1f5d9}
/* The same visual vocabulary carries into the foundations and resource links. */
.roots-grid{gap:18px}
.root-card{padding:24px 24px 0;border-radius:8px;transition:border-color .2s,background-color .2s,box-shadow .2s}
.root-number{font-size:10px}
.root-card h3{font-size:24px;line-height:1.2;margin-top:14px}
.root-promise{font-size:15px;line-height:1.7;min-height:52px}
.root-services{font-size:12px;line-height:1.65;min-height:40px;margin-top:14px}
.root-card summary{font-size:14px;min-height:58px;gap:8px}
.root-life strong{font-size:13px}.root-life p{font-size:14px}
.root-card:focus-within,.root-card:has(details[open]){border-color:#7c9c68;background:#fffef7;box-shadow:0 5px 18px #2746220c}
.root-lifecycle{gap:28px;margin-top:30px;padding-top:26px}
.root-lifecycle span{font-size:11px}.root-lifecycle h3{font-size:21px}.root-lifecycle p{font-size:14px}
.attention-steps{gap:24px}
.attention-steps li{border-top:2px solid #c1d2b7;padding-top:22px}
.attention-steps span{font-size:11px;margin-bottom:18px}
.attention-steps h3{font-size:22px;line-height:1.3;max-width:230px}
.attention-steps p{font-size:15px;line-height:1.75}
.attention-note{padding:24px 28px;border-radius:0 7px 7px 0}
.attention-note p{font-size:14px;max-width:690px}.attention-note button{font-size:14px}
.intelligence .section-header>p{font-size:16px;max-width:470px}
.team-card h3{font-size:16px}.team-card p{font-size:13px}
.team-foot{font-size:13px}.team-foot .text-link{font-size:14px;min-height:44px}
.question-grid{gap:22px}
.question-card{padding:26px;background:#fff;border:1px solid #d8e1d0;border-radius:8px;transition:background-color .2s,border-color .2s,box-shadow .2s}
.question-card .eyebrow{font-size:10px}.question-card h3{font-size:26px;max-width:none;line-height:1.23}
.question-card p:not(.eyebrow){font-size:15px;line-height:1.75;margin:15px 0 22px}
.question-card .text-link{font-size:14px;min-height:46px;gap:10px}
.question-card:focus-within{background:#f3f7ed;border-color:#829d72;box-shadow:0 8px 24px #1838210b}
.faq-list details{padding:18px 0}
.faq-list summary{font-size:16px;min-height:38px;line-height:1.5}
.faq-list details p{font-size:15px;line-height:1.8}
/* One cohesive invitation: the people, message, and action belong together. */
.cta-section{padding:44px 0;background:#f1f3e9;border-top:1px solid #dce5d2}
.cta-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);align-items:center;gap:44px;padding:42px 44px;background:#153d2c;border:1px solid #325a42;border-radius:12px;box-shadow:0 8px 28px #1b35210a}
.cta-inner .eyebrow{font-size:11px;margin-bottom:18px}
.cta-inner h2{font-size:46px;line-height:1.1;max-width:560px}
.cta-inner p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:510px;margin-top:19px}
.cta-inner p:not(.eyebrow) br{display:none}
.cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:28px;background:#ffffff08;border:1px solid #85a47754;border-radius:9px;text-align:left;min-width:0}
.cta-people{display:flex;flex-direction:column;align-items:start;gap:15px;margin-bottom:22px}
.cta-avatars{display:flex;padding-left:8px;flex-shrink:0}
.cta-avatars img{width:44px;height:44px;margin-left:-8px;object-fit:cover;border-radius:50%;border:2px solid #1d4633}
.cta-inner .cta-people>p{font-size:17px;line-height:1.4;color:#f0f4e8;font-weight:550;margin:0}
.cta-people>p>span{display:block;font-size:13px;line-height:1.6;font-weight:400;color:#c6d8bd;margin-top:5px}
.cta-actions .button{min-height:50px;font-size:15px;justify-content:space-between;padding:12px 18px}
.cta-actions>a.cta-phone{display:flex;justify-content:center;align-items:center;gap:7px;font-size:15px;line-height:1.5;min-height:44px;margin:11px 0 0;color:#e3ebd9}
.cta-phone span{color:#bdd0b3;font-size:13px}
.cta-phone:hover{text-decoration:underline;text-underline-offset:4px}
.footer-links{font-size:14px}.footer-links a{min-height:44px;display:inline-flex;align-items:center}
.footer-note{font-size:12px}
@media(hover:hover) and (pointer:fine){
  .work-item:hover{transform:translateY(-4px);background:#edf3e4;border-color:#779469;box-shadow:0 16px 36px #173b2414}
  .work-item:hover .service-symbol{background:#315b3d;border-color:#315b3d;color:#f1f5d9}
  .work-item:hover>.text-link svg,.question-card:hover .text-link svg,.text-link:hover svg,.button:hover svg{transform:translateX(4px)}
  .root-card:hover{border-color:#849e73;box-shadow:0 7px 20px #2746220d}
  .question-card:hover{background:#f3f7ed;border-color:#829d72;box-shadow:0 9px 24px #1838210d}
}
@media(max-width:1150px){
  .nav-trigger{font-size:12px}.hero-description{font-size:16px}
  .branch-control{font-size:11px}.root-control{font-size:11px}
  .part-detail{gap:24px}.part-measures,.part-support{padding-left:22px}
  .part-intro h2{font-size:29px}
  .work-grid{gap:18px}.work-item{padding:24px}.work-item h3{font-size:25px}
  .work-item ul{font-size:13px}.work-item>.text-link{font-size:13px}
  .root-card{padding:22px 20px 0}.root-card h3{font-size:23px}
  .question-card{padding:23px}.question-card h3{font-size:24px}
  .cta-inner{gap:32px;padding:36px;grid-template-columns:minmax(0,1fr) 310px}
  .cta-inner h2{font-size:42px}.cta-actions{padding:24px}
}
@media(max-width:900px){
  .nav-trigger{font-size:15px}.mega-link strong{font-size:15px}.mega-link span{font-size:13px}
  .hero-description{font-size:15px}.hero-actions .text-link{font-size:13px}
  .branch-control{font-size:10px}.root-control{font-size:11px}
  .explorer-foot{font-size:10px}.explorer-foot button{font-size:11px}
  .hero-bottom,.hero-bottom>a{font-size:11px}
  .part-detail{grid-template-columns:1fr 1fr;gap:24px}
  .part-intro{grid-column:1/-1;max-width:680px}.part-intro h2{font-size:32px;max-width:620px}.part-intro>p:last-child{max-width:620px}
  .part-measures{padding:0;border-left:0}.part-support{padding:0 0 0 24px}
  .section-header h2{font-size:40px}.section-header>p{font-size:15px;max-width:330px}
  #services{padding:52px 0}.work-grid{gap:15px}.work-item{padding:20px}.work-item h3{font-size:23px}
  .work-number>span:last-child{font-size:9px;letter-spacing:0}.work-item>p{font-size:14px}.work-item ul{font-size:13px}
  .work-item>.text-link{font-size:13px;align-items:center;min-height:63px}
  .root-card h3{font-size:24px}.root-card summary{font-size:13px}
  .root-lifecycle p{font-size:13px}.root-lifecycle h3{font-size:20px}
  .attention-steps{gap:20px}.attention-steps h3{font-size:20px}.attention-steps p{font-size:14px}
  .attention-note{padding:22px;gap:24px}.attention-note p{font-size:13px}.attention-note button{font-size:13px}
  .intelligence .section-header>p{font-size:15px;max-width:360px}
  .question-grid{grid-template-columns:1fr;gap:16px}
  .question-card{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:26px}
  .question-card .eyebrow{grid-column:1;margin-bottom:12px}
  .question-card h3{grid-column:1;grid-row:2/4;max-width:360px;font-size:27px}
  .question-card p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0 0 12px;font-size:15px}
  .question-card .text-link{grid-column:2;grid-row:3;font-size:14px}
  .cta-inner{grid-template-columns:minmax(0,1fr) 280px;gap:27px;padding:30px}
  .cta-inner h2{font-size:36px}.cta-inner p:not(.eyebrow){font-size:15px}.cta-inner .eyebrow{font-size:10px}
  .cta-actions{padding:22px}.cta-inner .cta-people>p{font-size:17px}.cta-people>p>span{font-size:13px}
}
@media(max-width:740px){
  .work-grid{grid-template-columns:1fr;gap:18px}
  .work-item{padding:26px}.work-number{flex-direction:row;align-items:center;gap:17px;margin-bottom:22px}
  .work-number>span:last-child{font-size:11px;letter-spacing:.025em}
  .work-item h3{font-size:29px}.work-item>p{font-size:15px;line-height:1.75}
  .work-item ul{font-size:14px;margin-top:17px;margin-bottom:20px}
  .work-item>.text-link{font-size:15px;min-height:61px}
  .cta-inner{grid-template-columns:1fr;gap:28px;padding:30px}
  .cta-inner h2{font-size:42px;max-width:540px}.cta-inner p:not(.eyebrow){max-width:550px;font-size:16px}
  .cta-actions{padding:24px}.cta-people{flex-direction:row;align-items:center;gap:18px}
  .cta-inner .cta-people>p{font-size:17px}.cta-actions .button{font-size:15px}
}
@media(max-width:600px){
  .hero-description{font-size:16px}.hero-actions .text-link{font-size:14px}
  .branch-control{font-size:11px;min-height:46px;padding:8px;gap:5px}
  .root-controls{grid-template-columns:1fr 1fr;gap:8px}.root-control{font-size:12px;min-height:46px;padding:9px 12px;gap:9px}
  .root-control .root-marker{font-size:9px}
  .explorer-heading{font-size:10px;line-height:1.5;letter-spacing:.045em}.explorer-heading>span:last-child{font-size:11px;line-height:1.5;max-width:135px;text-align:right}
  .explorer-foot{font-size:10px}.explorer-foot button{font-size:12px}
  .hero-bottom,.hero-bottom>a{font-size:12px}
  .practice-details{padding:20px 0 22px}.detail-toolbar{gap:15px;margin-bottom:22px}.detail-toolbar>p{font-size:12px;max-width:130px}
  .back-to-tree{font-size:14px;min-height:46px;padding:10px 13px;gap:7px}
  .part-detail{grid-template-columns:1fr;gap:23px}.part-intro{grid-column:auto}
  .part-intro h2{font-size:30px}.part-detail .eyebrow{font-size:11px}
  .part-intro>p:last-child{font-size:15px;margin-top:13px;line-height:1.7}
  .part-measures,.part-support{padding:20px 0 0;border-left:0;border-top:1px solid #ccd9bd}
  .part-detail h3{font-size:15px;margin-bottom:12px}
  .part-measures ul{font-size:15px}.part-support>p{font-size:15px;line-height:1.7}
  .part-support .text-link{font-size:14px;min-height:46px;margin-top:9px}
  .measure-note{font-size:12px}.detail-bottom{font-size:12px;margin-top:22px;padding-top:17px}
  .section-header{display:block;margin-bottom:28px}.section-header h2{font-size:39px}
  .section-header>p,.intelligence .section-header>p{max-width:490px;margin-top:18px;font-size:16px}
  #services{padding:45px 0 48px}.work-item{padding:25px}.service-symbol{width:50px;height:50px;border-radius:12px;flex-shrink:0}
  .work-number{gap:15px;margin-bottom:20px}.work-number>span:last-child{font-size:10px;letter-spacing:.02em}
  .work-item h3{font-size:28px}.work-item>p{font-size:15px}.work-item ul{font-size:14px}
  .work-item>.text-link{font-size:14px}
  .roots-grid{grid-template-columns:1fr;gap:16px}.root-card{padding:23px 23px 0}
  .root-card h3{font-size:26px;max-width:none}.root-promise{min-height:0;font-size:15px}.root-services{min-height:0;font-size:13px}
  .root-card summary{font-size:14px;min-height:59px}.root-life strong{font-size:14px}.root-life p{font-size:14px}
  .root-lifecycle{grid-template-columns:1fr;gap:23px}.root-lifecycle>div{grid-template-columns:125px 1fr;gap:0 20px}
  .root-lifecycle h3{font-size:20px}.root-lifecycle span{font-size:10px}.root-lifecycle p{font-size:14px}
  .attention-steps{grid-template-columns:1fr;gap:23px}
  .attention-steps li{display:grid;grid-template-columns:100px 1fr;gap:0 18px;padding-top:19px}
  .attention-steps span{grid-column:1;grid-row:1/3;font-size:10px;line-height:1.8;margin:2px 0 0}
  .attention-steps h3{grid-column:2;max-width:none;font-size:22px}
  .attention-steps p{grid-column:2;font-size:15px;margin-top:10px}
  .attention-note{padding:22px}.attention-note p{font-size:14px}.attention-note button{font-size:14px;min-height:46px;margin-top:12px}
  .team-card h3{font-size:16px}.team-card p{font-size:13px}.team-foot{font-size:13px}.team-foot .text-link{font-size:14px}
  .question-card{display:flex;padding:25px}.question-card .eyebrow{margin-bottom:14px;font-size:10px}
  .question-card h3{font-size:28px;max-width:none}.question-card p:not(.eyebrow){font-size:15px;margin:15px 0 19px}
  .question-card .text-link{font-size:14px;min-height:46px}
  .faq-list summary{font-size:16px;gap:18px}.faq-list details p{font-size:15px}
  .cta-section{padding:28px 0}.cta-inner{padding:27px 24px;gap:26px;border-radius:10px}
  .cta-inner .eyebrow{font-size:10px;line-height:1.8;letter-spacing:.04em}
  .cta-inner h2{font-size:36px}.cta-inner p:not(.eyebrow){font-size:15px;line-height:1.75;margin-top:17px}
  .cta-actions{padding:22px 19px}.cta-people{flex-direction:column;align-items:start;gap:14px;margin-bottom:20px}
  .cta-inner .cta-people>p{font-size:17px;margin:0;line-height:1.4}
  .cta-people>p>span{font-size:13px}.cta-actions .button{min-height:50px;font-size:15px;padding:12px 16px}
  .cta-actions>a.cta-phone{font-size:15px;min-height:44px;margin-top:10px;gap:7px}
  .footer-links{font-size:14px;gap:5px 23px}.footer-note{font-size:11px}
}
@media(max-width:360px){
  .hero-description{font-size:15px}.hero .eyebrow{font-size:9px;line-height:1.7}
  .branch-control{font-size:10px;padding:7px}.branch-control .branch-plus{font-size:14px}
  .root-control{font-size:11px;padding:9px 10px;gap:7px}
  .hero-bottom,.hero-bottom>a{font-size:11px}.explorer-heading{font-size:9px}.explorer-heading>span:last-child{font-size:10px;max-width:113px}
  .explorer-foot{font-size:9px}.explorer-foot button{font-size:11px}
  .detail-toolbar>p{font-size:12px;max-width:85px}.back-to-tree{font-size:13px;padding:10px 12px}
  .part-intro h2{font-size:28px}.part-detail .eyebrow{font-size:10px}
  .section-header h2{font-size:36px}.section-header>p,.intelligence .section-header>p{font-size:15px}
  .work-item{padding:22px}.work-number{gap:13px}.work-number>span:last-child{font-size:9px}
  .work-item h3{font-size:26px}.work-item ul{font-size:13px}.work-item>.text-link{font-size:14px}
  .root-card{padding:22px 19px 0}.root-card h3{font-size:24px}.root-card summary{font-size:13px}
  .root-lifecycle>div{grid-template-columns:1fr;gap:0}.root-lifecycle p{grid-column:1;grid-row:auto;margin-top:9px}
  .attention-steps li{grid-template-columns:1fr}.attention-steps span{grid-column:1;grid-row:1;margin:0 0 12px}
  .attention-steps h3,.attention-steps p{grid-column:1}.question-card{padding:22px}.question-card h3{font-size:26px}
  .cta-inner{padding:25px 20px}.cta-inner h2{font-size:32px}.cta-actions{padding:21px 16px}
  .cta-inner .cta-people>p{font-size:16px}.cta-people>p>span{font-size:12px}
  .team-card h3{font-size:15px}.team-card p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .work-item,.root-card,.question-card,.service-symbol,.back-to-tree,.button,.text-link svg,.button svg{transition:none}
  .work-item:hover,.text-link:hover svg,.button:hover svg,.work-item:hover>.text-link svg,.question-card:hover .text-link svg,.text-link:focus-visible svg,.button:focus-visible svg{transform:none}
}

/* Shared content tracks keep the three service paths easy to compare. */
@supports(grid-template-rows:subgrid){
  @media(min-width:741px){
    .work-grid{grid-template-rows:repeat(5,auto);row-gap:0}
    .work-item{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
  }
}
.cta-actions{margin:0}

/* Keep the Metolius affiliation beside PPS, including in the sticky header. */
.site-header .brand-endorsement{display:block;border-left:1px solid #cbd6ce;padding-left:13px;font-size:12px;line-height:1.45;font-weight:500;white-space:nowrap}
.utility .wrap{justify-content:flex-end}
@media(max-width:650px){.site-header .brand-endorsement{font-size:11px;padding-left:12px}}
