/* New pages extend the approved homepage styles and exact brand tokens. */
[hidden]{display:none!important}
.link-arrow{width:22px;height:22px;flex-shrink:0;display:inline-block;vertical-align:middle}
.pages-site .header nav>a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:10px;text-decoration-thickness:2px}
.page-intro .hero-main>.button{display:inline-flex;align-items:center}
.pages-site .button .link-arrow,.pages-site .line-link .link-arrow{width:23px;height:23px}
.pages-site .line-link{line-height:1.6}
.page-closing,.page-feature-cta{display:flex;align-items:center;justify-content:space-between;gap:60px}
.page-closing h2,.page-feature-cta h2{font-size:clamp(38px,4.2vw,64px);line-height:1.12}
.page-closing p,.page-feature-cta p{font-size:18px;line-height:1.75;max-width:620px;margin-top:22px}
.page-closing>.button,.page-feature-cta>.button{flex-shrink:0;align-self:center;min-height:52px;font-size:17px;padding:17px 21px;display:inline-flex;align-items:center;gap:24px;border-radius:5px}
.services-directory{padding:42px 30px 30px;overflow:clip}
.services-index{position:sticky;top:126px;z-index:20;background:var(--parchment);padding:0 24px 24px;border-bottom:1px solid #adb7a177;margin-bottom:24px}
.services-index h2,.library-heading h2{font-size:clamp(37px,3.6vw,54px);letter-spacing:-1.8px;line-height:1.15}
.services-index nav{display:flex;gap:5px 25px;flex-wrap:wrap;margin-top:15px}
.services-index nav a{font-size:17px;line-height:1.5;padding:12px 0 9px;border-bottom:2px solid transparent;color:var(--muted)}
.services-index nav a:hover,.services-index nav a[aria-current]{color:var(--forest);border-bottom-color:var(--forest)}
.service-chapter{background:linear-gradient(135deg,var(--forest),var(--forest-dark));color:var(--parchment);border:1px solid #adb7a177;border-radius:10px;padding:38px 30px;margin-bottom:24px;scroll-margin-top:310px}
.service-chapter:last-child{margin-bottom:0}
.chapter-heading{border-bottom:1px solid #adb7a159;padding-bottom:26px;margin-bottom:30px}
.chapter-heading h3{font-size:clamp(34px,3.2vw,46px);font-weight:400;letter-spacing:-1.3px;line-height:1.16;color:var(--parchment)}
.chapter-heading>p{font-size:20px;line-height:1.6;margin-top:16px;max-width:950px}
.chapter-columns{display:grid;grid-template-columns:.95fr 1.05fr;gap:7%}
.service-chapter h4{font-family:var(--serif);font-size:26px;line-height:1.25;font-weight:400;letter-spacing:-.5px;color:var(--parchment)}
.service-chapter p{line-height:1.75}
.chapter-context>p,.chapter-example p{font-size:18px;color:var(--parchment);margin-top:17px}
.chapter-example{margin-top:30px;padding-top:25px;border-top:1px solid #adb7a159}
.chapter-example h4{font-size:24px;color:var(--sage)}
.chapter-scope{list-style:none;margin:18px 0 0;padding:0}
.chapter-scope li{border-bottom:1px solid #adb7a159;padding:16px 0}
.chapter-scope li:first-child{padding-top:0}
.chapter-scope li:last-child{border:0;padding-bottom:0}
.chapter-scope h4{font-size:24px}
.chapter-scope p{font-size:17px;margin-top:9px;color:var(--parchment)}
.chapter-deliverables{border-top:1px solid #adb7a159;margin-top:30px;padding-top:26px}
.chapter-deliverables>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:20px 0 0}
.chapter-deliverables li{font-size:17px;line-height:1.7;border-left:1px solid #adb7a159;padding-left:18px}
.chapter-deliverables li:first-child{border-left:0;padding-left:0}
.chapter-actions{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:30px;flex-wrap:wrap}
.chapter-actions .button{font-size:17px;min-height:52px;padding:16px 20px;display:inline-flex;gap:24px;align-items:center;border-radius:5px}
.chapter-actions .line-link{font-size:17px;min-height:48px;max-width:510px;text-align:left;gap:18px}
.chapter-note{font-size:16px;margin-top:24px;color:var(--sage);max-width:950px}
.faq-list{margin-top:35px}
.faq-list details{border-top:1px solid #adb7a177;padding:20px 0}
.faq-list details:last-child{padding-bottom:0}
.faq-list summary{cursor:pointer;font-family:var(--serif);font-size:28px;line-height:1.35;padding-right:20px}
.faq-list details>p{font-size:18px;line-height:1.8;max-width:880px;margin-top:18px}
.library-heading{display:flex;justify-content:space-between;align-items:center;gap:35px}
.publication-search{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:300px;border:1px solid var(--sage);border-radius:5px;padding:11px 14px;background:var(--parchment);color:var(--forest)}
.publication-search svg{width:23px;height:23px;flex-shrink:0}
.publication-search input{font-family:var(--sans);font-size:17px;color:var(--forest);background:transparent;border:0;padding:4px 0;width:100%;min-width:0;outline-offset:7px}
.publication-search input::placeholder{color:var(--muted);opacity:1}
.publication-topics{display:flex;flex-wrap:wrap;gap:6px 28px;margin:25px 0 22px}
.topic-filter{font-size:17px;line-height:1.5;min-height:48px;padding:10px 0;border-bottom:2px solid transparent;color:var(--muted)}
.topic-filter[aria-pressed="true"],.topic-filter:hover{color:var(--forest);border-bottom-color:var(--forest)}
.publication-feature{display:grid;grid-template-columns:1.7fr .65fr;gap:30px;background:linear-gradient(135deg,var(--forest),var(--forest-dark));color:var(--parchment);border:1px solid #adb7a177;border-radius:10px;overflow:hidden;margin-bottom:24px}
.publication-feature>div:first-child{padding:35px 0 35px 32px}
.publication-meta{font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--muted)}
.publication-feature .publication-meta{color:var(--sage);margin-bottom:17px}
.publication-feature h3{font-family:var(--serif);font-size:clamp(31px,3vw,44px);line-height:1.16;letter-spacing:-1.1px;font-weight:400}
.publication-feature>div>p:not(.publication-meta){font-size:18px;line-height:1.75;margin-top:18px;max-width:720px}
.publication-feature .line-link{font-size:17px;min-height:48px;margin-top:20px;gap:24px}
.publication-feature-photo{min-width:0;position:relative;overflow:hidden}
.publication-feature-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--forest-dark),#162c2600 85%);z-index:1}
.publication-feature-photo img{width:100%;height:100%;object-fit:cover;object-position:73% center}
.publication-row{display:grid;grid-template-columns:155px 1fr 34px;align-items:start;gap:30px;border-top:1px solid #adb7a177;padding:26px 0}
.publication-row .publication-meta>span{display:block;margin-top:7px;font-size:16px}
.publication-row h3{font-size:30px;line-height:1.22;letter-spacing:-.6px;font-weight:400;color:var(--forest)}
.publication-row>div>p{font-size:18px;line-height:1.7;margin-top:10px;max-width:780px}
.publication-row h3 a:hover,.publication-feature h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.row-arrow{align-self:center;padding:12px 0;display:flex;justify-content:center;color:var(--forest);min-height:48px}
.row-arrow .link-arrow{width:28px;height:28px}
.publication-count{font-size:16px;color:var(--muted);border-top:1px solid #adb7a177;padding-top:20px}
.library-review-note{font-size:16px;line-height:1.7;margin-top:12px;color:var(--muted)}
.publication-empty{padding:35px 0 45px}
.publication-empty h3{font-size:34px;font-weight:400;line-height:1.2}
.publication-empty p{font-size:18px;line-height:1.75;margin:20px 0}
.publication-empty .button{font-size:17px;min-height:52px;padding:16px 20px;display:inline-flex;align-items:center;gap:20px;border-radius:5px}
.mission-panel{display:grid;grid-template-columns:.7fr 1.7fr;gap:8%;align-items:center}
.mission-panel h2{font-size:clamp(38px,4.1vw,62px)}
.mission-panel>p{font-size:26px;line-height:1.6;border-left:1px solid var(--brass);padding-left:35px}
.team-panel>h2{max-width:1000px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:42px}
.team-member{display:grid;grid-template-columns:minmax(150px,.85fr) 1fr;align-items:center;gap:30px}
.team-member img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:8px;border:1px solid #adb7a177}
.team-member h3{font-size:34px;font-weight:400;letter-spacing:-.7px;line-height:1.2}
.company-story{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.company-story h2{font-size:clamp(38px,4vw,60px)}
.company-story p{font-size:18px;line-height:1.8;margin-bottom:22px}
.company-story p:last-child{margin-bottom:0}
.principle-rows{margin-top:36px}
.principle-rows article{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;padding:25px 0;border-top:1px solid #adb7a177}
.principle-rows h3{font-size:30px;line-height:1.25;font-weight:400;letter-spacing:-.5px}
.principle-rows p{font-size:18px;line-height:1.75}
.page-footer{margin:0 24px 24px;padding:32px 40px;background:#162c26f0;border:1px solid #adb7a159;border-radius:18px;color:var(--parchment)}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:35px}
.footer-name{font-family:var(--serif);font-size:32px;line-height:1.2;letter-spacing:-.8px}
.footer-main nav{display:flex;flex-wrap:wrap;gap:8px 30px;font-size:17px}
.footer-main a:not(.footer-name),.footer-fine a,.footer-fine button{min-height:44px;display:inline-flex;align-items:center}
.footer-fine{display:flex;gap:15px 30px;align-items:center;flex-wrap:wrap;border-top:1px solid #adb7a159;margin-top:25px;padding-top:17px;font-size:16px;color:var(--limestone)}
.review-note{font-size:14px;line-height:1.7;color:var(--limestone);margin-top:14px}
.article-page .page-panels{padding-top:152px}
.article-header>.line-link{font-size:17px;margin-bottom:25px;min-height:44px}
.article-header h1{color:var(--forest);text-shadow:none;font-size:clamp(43px,5.2vw,78px);line-height:1.12;letter-spacing:-2px;max-width:1120px}
.article-intro{font-size:23px;line-height:1.65;margin-top:30px;max-width:950px}
.article-meta{font-size:16px;line-height:1.7;color:var(--muted);margin-top:22px}
.article-header{border-bottom:1px solid #adb7a177;padding-bottom:36px;margin-bottom:42px}
.article-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:7%}
.article-toc{position:sticky;top:138px;align-self:start}
.article-toc h2{font-family:var(--sans);font-size:17px;letter-spacing:0;line-height:1.5;font-weight:400;margin-bottom:15px}
.article-toc nav{display:flex;flex-direction:column;gap:15px}
.article-toc a{font-size:16px;line-height:1.6;color:var(--muted)}
.article-toc a:hover{color:var(--forest);text-decoration:underline;text-underline-offset:4px}
.article-prose{max-width:760px;font-size:19px;line-height:1.85}
.article-prose section{scroll-margin-top:138px}
.article-prose h2{font-size:clamp(30px,2.9vw,40px);line-height:1.22;letter-spacing:-.8px;margin-bottom:22px;text-wrap:pretty}
.article-prose p{margin-bottom:22px}
.article-prose section+section{margin-top:42px}
.article-prose ul{padding-left:24px;margin:22px 0}
.article-prose li{margin-bottom:13px;padding-left:6px}
.article-prose a{color:var(--forest);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.article-takeaway{border-top:1px solid var(--brass);border-bottom:1px solid #adb7a177;padding:28px 0 12px;margin:40px 0}
.article-takeaway h2{font-size:31px}
.article-sources{padding-top:15px}
.article-sources h2{font-size:29px}
.article-sources li,.article-sources>p{font-size:16px;line-height:1.75}
@media(max-width:1100px){.team-member{grid-template-columns:1fr;gap:22px}.team-member img{max-width:360px}.chapter-columns{gap:5%}.article-grid{grid-template-columns:190px minmax(0,1fr);gap:5%}.page-closing,.page-feature-cta{gap:35px}.page-closing>.button,.page-feature-cta>.button{max-width:310px;text-align:left}.publication-search{min-width:270px}.services-index{top:126px}}
@media(max-width:900px){.page-closing,.page-feature-cta{display:block}.page-closing>.button,.page-feature-cta>.button{margin-top:28px;max-width:none}.services-index{position:static;padding:0 5px 23px}.chapter-columns{grid-template-columns:1fr;gap:30px}.chapter-example{margin-top:23px}.chapter-deliverables>ul{gap:22px}.publication-feature{grid-template-columns:1fr}.publication-feature>div:first-child{padding:30px}.publication-feature-photo{display:none}.publication-row{grid-template-columns:130px 1fr 25px;gap:22px}.library-heading{flex-direction:column;align-items:stretch}.publication-search{width:100%;min-width:0}.mission-panel{grid-template-columns:1fr;gap:25px}.mission-panel>p{padding-left:0;border-left:0;font-size:25px}.company-story{grid-template-columns:1fr;gap:30px}.team-grid{gap:40px}.team-member img{max-width:none}.footer-main{display:block}.footer-main nav{margin-top:20px}.article-grid{grid-template-columns:1fr;gap:32px}.article-toc{position:static;border-bottom:1px solid #adb7a177;padding-bottom:26px}.article-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}.article-prose{max-width:none}}
@media(max-width:620px){.page-intro .hero-main{padding-bottom:75px}.page-intro .hero-main>.button{font-size:17px;min-height:52px;padding:17px;gap:18px;width:auto;max-width:100%}.services-directory{padding:29px 14px 14px}.services-index{padding:0 7px 24px;margin-bottom:18px}.services-index h2,.library-heading h2{font-size:38px;letter-spacing:-1.6px}.services-index nav{display:grid;grid-template-columns:1fr;gap:0;margin-top:22px}.services-index nav a{font-size:17px;min-height:48px;padding:12px 0;white-space:normal;border-bottom:1px solid #adb7a177}.services-index nav a[aria-current]{border-bottom-color:var(--forest)}.service-chapter{padding:27px 19px;margin-bottom:18px;scroll-margin-top:108px}.chapter-heading h3{font-size:34px;letter-spacing:-1px;line-height:1.18}.chapter-heading>p{font-size:19px;line-height:1.65;margin-top:20px}.chapter-heading{padding-bottom:24px;margin-bottom:26px}.chapter-columns{gap:27px}.service-chapter h4{font-size:27px}.chapter-context>p,.chapter-example p{font-size:17px;line-height:1.8}.chapter-scope h4{font-size:25px;line-height:1.25}.chapter-scope p{font-size:17px;line-height:1.8}.chapter-scope li{padding:20px 0}.chapter-deliverables>ul{grid-template-columns:1fr;gap:17px}.chapter-deliverables li{padding:0 0 0 17px;font-size:17px;border-left:1px solid #adb7a159}.chapter-deliverables li:first-child{border-left:1px solid #adb7a159;padding-left:17px}.chapter-actions{gap:22px}.chapter-actions .button{padding:17px;font-size:17px;min-height:52px;text-align:left;max-width:100%;gap:18px}.chapter-actions .line-link{font-size:17px;line-height:1.7;gap:14px}.chapter-note{font-size:16px;line-height:1.8}.faq-list{margin-top:28px}.faq-list summary{font-size:27px;line-height:1.35;padding-right:0}.faq-list details>p{font-size:17px;line-height:1.8}.page-closing h2,.page-feature-cta h2{font-size:38px;line-height:1.15;letter-spacing:-1.5px}.page-closing p,.page-feature-cta p{font-size:17px;line-height:1.8}.page-closing>.button,.page-feature-cta>.button{font-size:17px;max-width:100%;gap:18px;text-align:left;padding:17px}.library-heading{gap:25px}.publication-search{padding:12px;font-size:17px;gap:11px}.publication-search input{font-size:17px}.publication-topics{gap:6px 23px;margin:20px 0}.topic-filter{font-size:17px}.publication-feature>div:first-child{padding:26px 20px}.publication-feature h3{font-size:33px;line-height:1.19;letter-spacing:-1px}.publication-feature>div>p:not(.publication-meta){font-size:17px;line-height:1.8}.publication-feature .publication-meta{font-size:16px;line-height:1.6}.publication-feature .line-link{font-size:17px;line-height:1.6}.publication-row{grid-template-columns:1fr 28px;gap:15px;padding:25px 0}.publication-row .publication-meta{grid-column:1/-1;font-size:16px}.publication-row .publication-meta>span{display:inline;margin-left:16px}.publication-row h3{font-size:29px;line-height:1.25}.publication-row>div>p{font-size:17px;line-height:1.8}.publication-count,.library-review-note{font-size:16px;line-height:1.75}.publication-empty h3{font-size:31px}.publication-empty p{font-size:17px}.mission-panel>p{font-size:24px;line-height:1.6}.team-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.team-member{grid-template-columns:1fr;gap:20px}.team-member img{max-width:400px;width:100%}.team-member h3{font-size:33px}.team-panel>h2{font-size:38px;line-height:1.16}.company-story h2,.owner-principles h2{font-size:38px;line-height:1.15}.company-story p,.principle-rows p{font-size:17px;line-height:1.8}.principle-rows{margin-top:27px}.principle-rows article{grid-template-columns:1fr;gap:15px;padding:23px 0}.principle-rows h3{font-size:29px;line-height:1.25}.page-footer{margin:0 12px 20px;padding:28px 24px;border-radius:13px}.footer-name{font-size:30px}.footer-main nav{display:grid;grid-template-columns:1fr;gap:0;font-size:17px}.footer-fine{gap:0 20px;font-size:16px}.review-note{font-size:14px}.article-page .page-panels{padding-top:112px}.article-reading{padding:29px 24px}.article-header>.line-link{font-size:17px;margin-bottom:24px}.article-header h1{font-size:39px;line-height:1.16;letter-spacing:-1.5px}.article-intro{font-size:20px;line-height:1.7;margin-top:25px}.article-meta{font-size:16px;line-height:1.8}.article-header{padding-bottom:28px;margin-bottom:29px}.article-toc nav{grid-template-columns:1fr;gap:15px}.article-toc a{font-size:16px}.article-prose{font-size:18px;line-height:1.85}.article-prose h2{font-size:31px;line-height:1.25;letter-spacing:-.6px}.article-prose section{scroll-margin-top:108px}.article-prose section+section{margin-top:35px}.article-prose ul{padding-left:20px}.article-prose li{padding-left:0}.article-takeaway h2{font-size:29px}.article-sources h2{font-size:28px}.article-sources li,.article-sources>p{font-size:16px}}
@media(max-width:360px){.chapter-heading h3{font-size:31px}.service-chapter{padding:25px 17px}.services-index h2,.library-heading h2,.team-panel>h2,.company-story h2,.owner-principles h2,.page-closing h2,.page-feature-cta h2{font-size:34px}.publication-feature h3{font-size:30px}.article-header h1{font-size:35px}.article-reading{padding:27px 21px}.article-prose h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pages-site .panel{opacity:1;translate:none;transition:none}}
/* Final alignment with the homepage and native heading resets. */
.pages-site h4{margin:0}
.team-member img{height:auto}
.service-chapter{scroll-margin-top:380px}
.publication-feature h3{font-size:clamp(34px,3.2vw,46px)}
.article-header h1{font-size:clamp(50px,5.8vw,92px)}
@media(max-width:900px){.service-chapter{scroll-margin-top:138px}}
@media(max-width:620px){.service-chapter{scroll-margin-top:108px}.publication-feature h3{font-size:33px}.article-header h1{font-size:clamp(39px,9.5vw,56px)}}
@media(max-width:360px){.publication-feature h3{font-size:31px}.article-header h1{font-size:38px}}
/* Keep the homepage's single fixed banner; the service index scrolls with its card. */
.services-index{position:static}
.service-chapter{scroll-margin-top:138px}
@media(max-width:620px){.service-chapter{scroll-margin-top:108px}}
/* Match the homepage's outer card inset and green-frame text edge. */
.services-directory{padding:clamp(34px,4.2vw,68px)}
.services-index{padding-left:0;padding-right:0}
@media(max-width:620px){.services-directory{padding:29px 18px 18px}.services-index{padding-left:4px;padding-right:4px}}
/* Founder profiles retain the homepage palette and typography, with room for full biographies. */
.team-panel--bios .team-grid{grid-template-columns:1fr;gap:0;margin-top:44px}
.team-panel--bios .team-member{grid-template-columns:minmax(200px,280px) minmax(0,1fr);align-items:start;gap:clamp(36px,5vw,76px);padding:46px 0}
.team-panel--bios .team-member:first-child{padding-top:0}
.team-panel--bios .team-member:last-child{padding-bottom:0}
.team-panel--bios .team-member+.team-member{border-top:1px solid var(--panel-rule)}
.team-panel--bios .team-member img{width:100%;height:auto;max-width:280px;aspect-ratio:1}
.team-panel--bios .team-biography{min-width:0;max-width:76ch}
.team-panel--bios .team-member h3{font-family:var(--serif);font-size:clamp(34px,3vw,44px);font-weight:400;line-height:1.15;letter-spacing:-1px;margin:0 0 22px}
.team-panel--bios .team-biography p{font-family:var(--sans);font-size:18px;line-height:1.8;color:var(--parchment);margin:0}
.team-panel--bios .team-biography p+p{margin-top:18px}
@media(max-width:1000px){.team-panel--bios .team-member{grid-template-columns:minmax(160px,210px) minmax(0,1fr);gap:34px}}
@media(max-width:760px){.team-panel--bios .team-grid{margin-top:32px}.team-panel--bios .team-member{grid-template-columns:1fr;gap:26px;padding:36px 0}.team-panel--bios .team-member img{max-width:280px}.team-panel--bios .team-member h3{font-size:34px;margin-bottom:20px}.team-panel--bios .team-biography p{font-size:18px;line-height:1.8}}
