/* Scoped editorial addition: OUR PROMISE. Existing layouts and actions stay intact. */
.our-promise{background:#fffaf4;padding:100px 0 80px;scroll-margin-top:90px;border-top:1px solid #f1e4d7;border-bottom:1px solid #f1e4d7}
.our-promise .eyebrow,.promise-note .eyebrow{color:#a94916;letter-spacing:.1em}
.promise-heading{max-width:950px;margin-bottom:50px}.promise-heading h2{font-size:clamp(28px,3.3vw,45px);line-height:1.65;letter-spacing:.025em;margin:16px 0 20px;text-wrap:balance}.promise-subtitle{font-size:clamp(19px,2vw,25px);line-height:1.9;color:#a94916;font-weight:700}
.promise-copy{display:grid;grid-template-columns:1fr 1fr;gap:64px;line-height:2.1;font-size:16px}.promise-copy p{margin:0 0 1.2em}.promise-copy>div:first-child p:nth-child(2){font-weight:700}.promise-copy>div:last-child p:first-child{padding-left:20px;border-left:3px solid #e99146}
.promise-cycle{margin-top:54px;padding:42px 28px 30px;background:#fff;border:1px solid #f0e2d3;border-radius:28px}.promise-cycle-heading{text-align:center}.promise-cycle-heading h3{font-size:34px;letter-spacing:.08em;margin:10px 0;color:#a94916}.promise-cycle-heading>p:last-child{font-size:16px;line-height:1.8}.promise-diagram{margin:28px -8px 10px}.promise-diagram img{display:block;width:100%;height:auto}.promise-diagram figcaption{font-size:14px;text-align:right;margin-top:14px}
.promise-text-cycle{margin-top:28px;border-top:1px solid #eadaca;padding-top:20px}.promise-text-cycle summary{cursor:pointer;font-size:16px;font-weight:700;line-height:1.8;color:#664531}.promise-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px;padding:0!important;margin:28px 0 0!important;list-style:none!important}.promise-step{position:relative;display:flex;gap:12px;align-items:flex-start;margin:0!important;padding:0!important}.promise-step-number{font-size:18px;font-weight:800;color:#a94916;background:#fff0dc;flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.promise-step h4{font-size:17px;line-height:1.7;margin:4px 0 10px}.promise-step p,.promise-step ul{font-size:15px;line-height:1.9;margin:0}.promise-step ul{padding-left:1.25em}.promise-step li{margin-bottom:4px}.promise-return{font-size:15px;font-weight:700;text-align:center;line-height:1.9;background:#fff5e6;border-radius:12px;padding:16px 20px;margin:25px 0 0}.promise-return span{font-size:24px;margin-right:6px}.promise-closing{max-width:760px;margin:52px auto 0;text-align:center;font-size:17px;line-height:2}.promise-closing p{margin:0 0 8px}.promise-closing p:nth-last-child(2){color:#a94916;font-size:24px;font-weight:700;margin-top:24px}.promise-site-link{text-align:center;margin-top:30px}
.promise-note{background:#fff8ee;border-left:3px solid #e6a264;border-radius:0 12px 12px 0;padding:23px 26px;margin:32px 0;max-width:900px}.promise-note .eyebrow{font-size:12px;margin:0 0 9px}.promise-note p:not(.eyebrow){font-size:15px;line-height:1.9;margin:0 0 12px}.promise-note .text-link{font-size:14px;line-height:1.8}
.promise-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:45px auto 0;max-width:960px}.promise-photos figure{margin:0}.promise-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px;display:block}.promise-photos figcaption{font-size:13px;line-height:1.8;color:#65645d;margin-top:10px}
@media(max-width:1050px){.promise-steps{grid-template-columns:1fr 1fr}.promise-copy{gap:36px}}
@media(max-width:700px){.our-promise{padding:64px 0 52px}.promise-heading{margin-bottom:30px}.promise-heading h2{font-size:28px;line-height:1.65;text-wrap:initial}.promise-subtitle{font-size:19px}.promise-copy{display:block;font-size:16px;line-height:2}.promise-copy>div+div{margin-top:25px}.promise-cycle{margin-top:30px;padding:26px 18px 22px;border-radius:20px}.promise-cycle-heading h3{font-size:28px}.promise-cycle-heading>p:last-child{font-size:15px}.promise-diagram{display:none}.promise-text-cycle{border:0;margin-top:14px;padding-top:0}.promise-text-cycle summary{display:list-item;font-size:15px}.promise-steps{display:flex!important;flex-direction:column;gap:32px;margin-top:24px!important}.promise-step:not(:last-child)::after{content:'↓';position:absolute;bottom:-29px;left:12px;color:#ce762c;font-size:23px;line-height:1}.promise-step h4{font-size:18px}.promise-step p,.promise-step ul{font-size:16px}.promise-return{font-size:15px;text-align:left;padding:15px}.promise-closing{text-align:left;font-size:16px;margin-top:32px}.promise-closing p:nth-last-child(2){font-size:22px}.promise-note{padding:20px;margin:26px 0}.promise-photos{grid-template-columns:1fr;gap:24px;margin-top:30px}.promise-site-link{text-align:left}}

.promise-mobile-diagram{display:none}@media(max-width:700px){.promise-mobile-diagram{display:block;font-size:14px;line-height:1.8;margin:20px 0}}

/* TOP: a shorter promise immediately after the service entrances and examples. */
.our-promise .promise-funding{display:block}@media(max-width:700px){.our-promise .promise-cycle .promise-funding{display:none}}
.our-promise{padding:64px 0 52px}.our-promise .promise-heading{margin-bottom:24px}.our-promise .promise-heading h2{font-size:clamp(26px,3vw,38px);line-height:1.5;margin:12px 0}.our-promise .promise-subtitle{font-size:18px;line-height:1.8;margin:0}.our-promise .promise-cycle{margin-top:24px;padding:28px 24px 24px}.our-promise .promise-cycle-heading h3{font-size:30px}.our-promise .promise-funding{max-width:800px;margin:12px auto 0}.our-promise .promise-diagram{margin-top:20px}.our-promise .promise-closing{margin-top:24px;font-size:17px;line-height:1.8}.our-promise .promise-photos{margin-top:24px}.our-promise .promise-site-link{margin-top:20px}
@media(max-width:700px){.our-promise{padding:40px 0 36px}.our-promise .promise-heading h2{font-size:26px}.our-promise .promise-cycle{padding:22px 16px 20px;margin-top:20px}.our-promise .promise-cycle-heading{text-align:left}.our-promise .promise-cycle-heading h3{font-size:26px}.our-promise .promise-text-cycle>summary{display:none}.our-promise .promise-steps{gap:28px;margin-top:22px!important}.our-promise .promise-step h4{font-size:17px;margin-bottom:6px}.our-promise .promise-step p,.our-promise .promise-step ul{font-size:15px;line-height:1.85}.our-promise .promise-step-number{flex-basis:32px;width:32px;height:32px;font-size:16px}.our-promise .promise-step:not(:last-child)::after{left:9px;bottom:-25px;font-size:20px}.our-promise .promise-mobile-diagram{margin:14px 0}.our-promise .promise-closing{text-align:left;font-size:16px}.our-promise .promise-photos{gap:20px}}
