.card-grid { display: grid; gap: 1.25rem; }
.icon-box { display: grid; flex: 0 0 auto; width: 52px; height: 52px; place-items: center; color: var(--color-primary-dark); background: #e5f6e9; border-radius: .85rem; font-size: 1.35rem; }
.services-grid { grid-template-columns: repeat(4, 1fr); }
.services-grid.full { grid-template-columns: repeat(3, 1fr); }
.service-card { position: relative; min-height: 320px; padding: 2rem; overflow: hidden; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.service-card:hover { border-color: rgba(0,169,58,.42); box-shadow: var(--shadow-card); transform: translateY(-5px); }
.service-card::after { position: absolute; right: 0; bottom: 0; width: 0; height: 3px; background: var(--color-primary); content: ""; transition: width .25s ease; }
.service-card:hover::after { width: 100%; }
.service-card .card-number { position: absolute; top: 1.8rem; right: 1.8rem; color: #d2ded6; font-size: .75rem; font-weight: 850; letter-spacing: .1em; }
.service-card h3 { margin: 2.5rem 0 .85rem; }
.service-card p { margin: 0; color: var(--color-muted); font-size: .93rem; }

.project-grid { grid-template-columns: repeat(3, 1fr); }
.project-card { overflow: hidden; background: #fff; border-radius: var(--radius); box-shadow: 0 14px 38px rgba(3, 27, 16, .16); }
.project-grid.light .project-card { border: 1px solid var(--color-line); box-shadow: 0 10px 35px rgba(16,61,38,.07); }
.project-image { position: relative; display: block; overflow: hidden; }
.project-image img { width: 100%; aspect-ratio: 1.5; object-fit: cover; transition: transform .4s ease; }
.project-card:hover .project-image img { transform: scale(1.035); }
.stage-badge { display: inline-flex; align-items: center; padding: .35rem .65rem; color: var(--color-primary-deep); background: #dff6e4; border-radius: 999px; font-size: .7rem; font-weight: 800; }
.project-image .stage-badge { position: absolute; right: 1rem; bottom: 1rem; }
.project-body { padding: 1.5rem; }
.project-category { color: var(--color-primary-dark); font-size: .7rem; font-weight: 820; letter-spacing: .12em; text-transform: uppercase; }
.project-body h3 { margin: .55rem 0 .75rem; }
.project-body h3 a { color: var(--color-heading); }
.project-body p { color: var(--color-muted); font-size: .9rem; }
.project-body .text-link { font-size: .85rem; }

.empty-state { max-width: 760px; margin: 1rem auto 0; padding: clamp(2rem, 5vw, 4rem); text-align: center; background: rgba(255,255,255,.06); border: 1px dashed rgba(255,255,255,.2); border-radius: var(--radius); }
.empty-state .icon-box { margin: 0 auto 1rem; }
.empty-state h3 { margin-bottom: .5rem; }
.empty-state p { max-width: 580px; margin: 0 auto 1.3rem; }
.section:not(.dark-section) .empty-state { background: var(--color-soft); border-color: #bfd4c5; }
.section:not(.dark-section) .empty-state h3 { color: var(--color-heading); }

.event-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.event-card { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; padding: 1.5rem; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }
.event-card time { display: flex; flex-direction: column; align-items: center; align-self: start; padding: .8rem .35rem; color: #fff; background: var(--color-primary-deep); border-radius: .7rem; }
.event-card time b { font-size: 1.5rem; line-height: 1; }
.event-card time span { margin-top: .35rem; font-size: .65rem; font-weight: 750; text-transform: uppercase; }
.event-card h3 { margin: .4rem 0 .65rem; }
.event-card p { color: var(--color-muted); font-size: .88rem; }
.event-venue { color: var(--color-primary-dark); font-size: .75rem; font-weight: 750; }

.achievement-grid { grid-template-columns: repeat(3, 1fr); }
.achievement-card { padding: 2rem; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }
.achievement-card time { display: block; margin-top: 2rem; color: var(--color-muted); font-size: .75rem; text-transform: uppercase; }
.achievement-card h3 { margin: .7rem 0; }

.values-grid { grid-template-columns: repeat(4, 1fr); }
.value-card { position: relative; min-height: 280px; padding: 2rem; overflow: hidden; color: var(--color-text); background: rgba(255,255,255,.94); border: 1px solid #cfe1ec; border-radius: var(--radius); box-shadow: 0 14px 36px rgba(35,91,126,.08); transition: transform .25s ease, box-shadow .25s ease; }
.value-card::before { position: absolute; top: 0; right: 0; bottom: 0; width: 3px; background: var(--color-secondary); content: ""; }
.value-card:hover { box-shadow: 0 20px 44px rgba(35,91,126,.13); transform: translateY(-4px); }
.value-card .icon-box { margin-inline: auto; color: #1769aa; background: #e7f3fb; }
.value-card h3 { margin: 2rem 0 .65rem; }
.value-card p, .vision-card .foundation-copy { margin-bottom: 0; color: var(--color-muted); font-family: inherit; font-size: .9rem; font-weight: 400; letter-spacing: normal; line-height: 1.7; }
.focus-grid { grid-template-columns: repeat(3, 1fr); }
.focus-card { padding: 2rem; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }
.focus-card h3 { margin: 2rem 0 .65rem; }
.focus-card p { margin: 0; color: var(--color-muted); font-size: .9rem; }

.team-grid { grid-template-columns: repeat(3, 1fr); }
.team-card { overflow: hidden; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }
.team-photo img { width: 100%; aspect-ratio: .92; object-fit: cover; background: #dfe9e2; }
.team-copy { padding: 1.5rem; }
.team-copy > span { color: var(--color-primary-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.team-copy h3 { margin: .45rem 0 .65rem; }
.team-copy p { color: var(--color-muted); font-size: .88rem; }
