.programs-page{max-width:1320px;width:calc(100% - 80px);margin:0 auto;padding:52px 0 80px;color:#164d47}.program-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:50px}.program-tabs button{position:relative;display:flex;align-items:center;gap:18px;text-align:right;padding:22px;border:1px solid transparent;border-radius:12px;background:linear-gradient(120deg,#f8f9f7,#edf4f2);color:#164d47;font:inherit;cursor:pointer}.program-symbol{width:70px;height:70px;border-radius:50%;background:#164d470b;display:grid;place-items:center;flex-shrink:0;font-size:38px}.program-tabs strong{display:block;font-size:23px;line-height:1.5}.program-tabs small{display:block;color:#7e9095;margin-top:5px;font-size:13px;line-height:1.7}.program-tabs [aria-selected=true]{background:linear-gradient(120deg,#075d58,#003e3e);color:#fff;box-shadow:0 8px 24px #004c4212}.program-tabs [aria-selected=true] small{color:#c4d9d5}.program-tabs [aria-selected=true] .program-symbol{background:#ffffff15}.program-tabs [aria-selected=true]::after{content:"";position:absolute;bottom:-10px;left:calc(50% - 10px);border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #07534f}.program-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:28px}.program-heading h2{font-size:25px;display:flex;align-items:center;gap:16px;margin:0}.program-heading h2::before{content:"";width:36px;height:3px;background:#c99b50;flex-shrink:0}.program-heading p{max-width:480px;color:#819099;line-height:1.8;margin:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-card{border:1px solid #e7ece9;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 10px 30px #173c3508}.project-photo{position:relative;height:220px}.project-photo img{width:100%;height:100%;object-fit:cover}.project-icon{position:absolute;bottom:-27px;right:28px;display:grid;place-items:center;width:76px;height:76px;border:8px solid white;border-radius:50%;background:#eaf2ef;color:#16534b;font-size:33px}.project-copy{padding:35px 26px 20px}.project-copy h3{margin:0 0 10px;font-size:24px;color:#164d47}.project-copy>p{color:#819099;font-size:17px;line-height:1.8;min-height:62px;margin:0 0 22px}.project-features{display:flex;gap:10px;padding:0;list-style:none;margin:0 0 20px}.project-features li{flex:1;background:#f2f6f5;border-radius:9px;padding:10px 5px;text-align:center;color:#70878a;font-size:13px}.project-features li::before{content:"✓";color:#165b50;margin-inline-end:6px}.project-details{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:#c2954e;font:700 18px var(--body);cursor:pointer;padding:0}.project-details span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#c99b50;color:white;font:30px Arial}.program-empty{padding:70px 25px;text-align:center;background:#f5f8f6;border:1px dashed #cbd9d3;border-radius:16px;color:#647e78}.programs-page [hidden]{display:none!important}.programs-page button:focus-visible,.project-dialog button:focus-visible{outline:3px solid #c99b50;outline-offset:4px}.project-dialog{border:0;border-radius:22px;padding:45px;width:min(580px,calc(100% - 32px));max-height:85vh;overflow:auto;color:#164d47;box-shadow:0 25px 90px #002b3430}.project-dialog::backdrop{background:#082d32a6;backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:10px;left:14px;background:#edf3f0;border:0;border-radius:50%;width:34px;height:34px;color:#164d47;font-size:25px;cursor:pointer}.detail-kicker{color:#ba914b;font-size:13px}.project-dialog h2{font-size:28px;margin:14px 0}.project-dialog p{line-height:1.9;color:#70858a}.detail-contact{display:inline-flex;gap:25px;padding:13px 20px;border-radius:8px;background:#07534f;color:white;margin-top:15px}@media(max-width:980px){.programs-page{width:calc(100% - 40px)}.program-tabs button{padding:15px;gap:10px}.program-symbol{width:48px;height:48px;font-size:28px}.program-tabs strong{font-size:18px}.program-heading{align-items:flex-start;flex-direction:column;gap:14px}.program-heading p{max-width:100%}.project-features{flex-wrap:wrap}.project-features li{min-width:90px}}@media(max-width:650px){.programs-page{padding:28px 0 50px;width:calc(100% - 32px)}.program-tabs{grid-template-columns:1fr;gap:10px;margin-bottom:34px}.program-tabs button{padding:15px}.program-tabs [aria-selected=true]::after{display:none}.program-tabs strong{font-size:20px}.program-tabs small{font-size:12px}.project-grid{grid-template-columns:1fr;gap:24px}.program-heading h2{font-size:21px}.project-photo{height:190px}.project-copy{padding:35px 20px 20px}.project-copy h3{font-size:22px}.project-copy>p{font-size:16px;min-height:0}.project-dialog{padding:42px 24px 28px}}
/* Align the page content with the main navigation edges. */
body.inner .programs-page { width: calc(100% - 240px); max-width: none; }
@media (max-width:980px) { body.inner .programs-page { width: calc(100% - 96px); } }
@media (max-width:650px) { body.inner .programs-page { width: calc(100% - 32px); } }
/* Breathing room below the page header, scoped to programs. */
body.inner .inner-main.programs-page { padding-top: 64px; }
@media (max-width: 980px) {
  body.inner .inner-main.programs-page { padding-top: 48px; }
}
@media (max-width: 650px) {
  body.inner .inner-main.programs-page { padding-top: 32px; }
}
/* Wide project details: use horizontal space for complete descriptions. */
.project-dialog {
  width: min(1240px, calc(100vw - 64px));
  max-width: none;
  max-height: calc(100dvh - 48px);
  padding: 32px 40px;
}
.project-detail-columns { display: grid; grid-template-columns: 1.65fr 1fr; gap: 36px; }
.project-detail-columns section { min-width: 0; }
.project-detail-columns section + section { border-inline-start: 1px solid #e4ece8; padding-inline-start: 30px; }
.project-dialog h2 { margin: 10px 0 18px; }
.project-detail-columns h3 { margin: 0 0 10px; font-size: 20px; }
.project-detail-columns p { margin: 0; font-size: 16px; line-height: 1.85; }
.project-dialog .detail-contact { margin-top: 22px; }
@media (max-width: 650px) {
  .project-dialog { width: calc(100vw - 24px); padding: 40px 22px 24px; max-height: calc(100dvh - 24px); }
  .project-detail-columns { grid-template-columns: 1fr; gap: 20px; }
  .project-detail-columns section + section { border-inline-start: 0; padding-inline-start: 0; }
  .project-dialog h2 { font-size: 23px; }
}