.opc-apps{
  --opc-ink:#082f2b;
  --opc-muted:#657773;
  --opc-green:#079251;
  --opc-green-2:#1aa96a;
  --opc-mint:#eefaf3;
  --opc-line:#dfe9e5;
  --opc-panel:#fbfdfc;
  --opc-white:#fff;
  --opc-radius-lg:18px;
  --opc-radius-md:14px;
  --opc-shadow:0 14px 42px rgba(23,76,58,.06);
}

.opc-apps, .opc-apps *{box-sizing:border-box}

.opc-apps{
  width:min(1480px,calc(100% - 48px));
  margin:32px auto 0;
}

.opc-apps__tabs{
  display:grid;
  grid-template-columns:1fr 1fr 1fr .78fr;
  gap:14px;
  align-items:center;
  margin-bottom:16px;
}

.opc-apps .opc-tab{
  min-height:52px;
  border:1px solid var(--opc-line);
  border-radius:999px;
  background:#fff;
  color:#526763;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 18px;
  font-size:16px;
  font-weight:650;
  cursor:pointer;
  transition:.2s ease;
}
.opc-apps .opc-tab img{width:28px;height:24px;object-fit:contain}
.opc-apps .opc-tab:hover{border-color:#b8d9ca;background:#fbfffd}
.opc-apps .opc-tab.is-active{border-color:#55bd88;background:linear-gradient(180deg,#f5fff9,#effaf4);color:#087c45}

.opc-apps__more-link{
  text-decoration:none;color:#50635f;font-weight:650;font-size:16px;
  display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;
}


.opc-apps__panel{
  border:1px solid #e4eeea;
  border-radius:var(--opc-radius-lg);
  background:linear-gradient(180deg,#fff 0%,#fcfefd 100%);
  box-shadow:var(--opc-shadow);
  padding:30px 34px 28px;
}
.opc-apps__intro{margin-bottom:18px}
.opc-apps__eyebrow{color:var(--opc-green);font-size:14px;font-weight:750;margin-bottom:12px}
.opc-apps__intro h2{font-size:29px;line-height:1.24;margin:0 0 9px;letter-spacing:-.02em}
.opc-apps__intro p{margin:0;color:var(--opc-muted);font-size:15px;line-height:1.7}

.opc-apps__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.88fr);
  gap:14px;
}

.opc-apps .opc-card,.opc-apps .opc-more-card{
  min-height:238px;
  border:1px solid var(--opc-line);
  border-radius:var(--opc-radius-md);
  background:#fff;
  position:relative;
  overflow:hidden;
}
.opc-apps .opc-card{padding:22px 22px 18px;display:flex;flex-direction:column}
.opc-apps .opc-card__copy{padding-right:88px;position:relative;z-index:1}
.opc-apps .opc-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 14px;border-radius:999px;background:var(--opc-mint);color:var(--opc-green);font-size:13px;font-weight:750}
.opc-apps .opc-card h3,.opc-apps .opc-more-card h3{font-size:21px;line-height:1.3;margin:14px 0 8px;letter-spacing:-.01em}
.opc-apps .opc-card p{font-size:14px;line-height:1.62;margin:0;color:var(--opc-muted)}
.opc-apps .opc-card__art{position:absolute;right:15px;top:26px;width:92px;height:86px;object-fit:contain;mix-blend-mode:multiply}
.opc-apps .opc-card__art--policy{width:100px}
.opc-apps .opc-card__art--analysis{width:92px}
.opc-apps .opc-card__tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:20px}
.opc-apps .opc-card__tags span,.opc-apps .opc-more-card__tags span{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:0 13px;border-radius:999px;background:#f6f9f8;border:1px solid #edf2f0;color:#657571;font-size:12px;white-space:nowrap}

.opc-apps .opc-more-card{
  padding:22px 24px 18px;
  background:linear-gradient(145deg,#fff 10%,#f7fcfa 100%);
  border-style:dashed;
  display:flex;
  flex-direction:column;
}
.opc-apps .opc-more-card h3{margin:0 0 14px}
.opc-apps .opc-more-card__tags{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opc-apps .opc-more-card__cta{margin-top:auto;min-height:38px;border-radius:999px;background:linear-gradient(90deg,#f0fbf5,#e9f8f0);color:var(--opc-green);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:14px;font-weight:750;border:1px solid #d9eee4}

@media (max-width:1120px){
  .opc-apps__tabs{grid-template-columns:1fr 1fr 1fr}.opc-apps__more-link{grid-column:1/-1;justify-content:flex-end;min-height:34px}
  .opc-apps__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .opc-apps{width:min(100% - 28px,1480px);margin-top:20px}
  .opc-apps__tabs{display:flex;overflow-x:auto;padding-bottom:4px;gap:10px}.opc-apps .opc-tab{min-width:max-content;padding:0 16px}.opc-apps__more-link{min-width:max-content;padding:0 8px}
  .opc-apps__panel{padding:24px 18px 20px}.opc-apps__intro h2{font-size:24px}.opc-apps__grid{grid-template-columns:1fr}.opc-apps .opc-card,.opc-apps .opc-more-card{min-height:220px}
}

/* Integrates with the existing home-directions.js tab controller. */
.opc-apps { margin: 48px auto; color: var(--opc-ink); }
.opc-apps [data-scene-panel] { display: none; }
.opc-apps [data-scene-panel].is-active { display: block; }
.opc-apps .opc-tab { font-family: inherit; }
.opc-apps .opc-card__copy { padding-right: 0; }
.opc-apps .opc-card__copy h3 { position: relative; padding-top: 44px; margin-top: 0; }
.opc-apps .opc-card__art { top: 16px; width: 72px; height: 68px; }
.opc-apps .opc-card__copy--full h3 { padding-top: 14px; }
.opc-apps .opc-more-card { background: #f8fcfa; color: #50635f; }
.opc-apps .opc-more-card h3 { font-size: 18px; }
.opc-apps .opc-more-card__tags { grid-template-columns: repeat(2,minmax(0,1fr)); }
.opc-apps .opc-more-card__tags span { padding: 0 6px; }
.opc-apps .opc-more-card__cta { margin-top: 16px; }
.opc-apps .opc-apps__note { display: block; margin-top: 14px; font-size: 12px; color: var(--opc-muted); line-height: 1.6; }
.opc-apps :is(button,a):focus-visible { outline: 2px solid #087c45; outline-offset: 4px; }
@media(min-width:1400px) {
 .opc-apps .opc-card__copy { padding-right: 82px; }
 .opc-apps .opc-card__copy h3 { padding-top: 0; margin-top: 14px; }
 .opc-apps .opc-card__art { top: 26px; width: 92px; height: 86px; }
 .opc-apps .opc-card__copy--full { padding-right: 0; }
}
@media(max-width:720px) { .opc-apps { margin: 28px auto; } }
@media(prefers-reduced-motion:reduce) { .opc-apps .opc-tab { transition:none; } }

/* Home hero: remove excess top whitespace while retaining fixed-header clearance. */
.government-home .hero-layout { min-height: 0; align-items: start; }
.government-home .hero-content { padding-top: 24px; padding-bottom: 48px; }
@media (max-width:700px) {
  .government-home .hero-layout { padding-top: 24px; align-items: center; }
  .government-home .hero-content { padding-top: 0; padding-bottom: 24px; }
}
