/* Homepage hierarchy and site-wide readability refinements. */

html { font-size: 17px; }

.desktop-nav .nav-main-link,
.desktop-nav .nav-item > .nav-main-link { font-size: .84rem; }
.header-utility { font-size: .75rem; }
.header-report,
.header-mail-menu > summary,
.language-switch { font-size: .81rem; }
.nav-mega-heading span,
.nav-mega-grid h2 { font-size: .66rem; }
.desktop-nav .nav-mega-grid a { font-size: .75rem; }
.mobile-nav .mobile-nav-group-content section a { font-size: .78rem; }
.eyebrow,
.hero-kicker,
.section-kicker { font-size: .78rem; }

.page-home .support-hero {
  padding: 48px 0 58px;
  background:
    radial-gradient(circle at 82% 34%, rgba(116,27,54,.07), transparent 27%),
    linear-gradient(118deg,#fff 0%,#f1f3f4 100%);
}
.page-home .support-hero::before { background: linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.18) 78%); }
.page-home .support-hero-simplified { grid-template-columns: minmax(0,760px) 1fr; min-height: 250px; }
.page-home .support-hero-copy h1.hero-task-headline { max-width: 735px; margin: 0; color: #596066; font-family: "Open Sans",Arial,sans-serif; font-size: clamp(1.6rem,2.05vw,2.2rem); font-weight: 600; line-height: 1.03; letter-spacing: -.05em; }
.hero-task-headline strong { color: #b47787; font-weight: 600; }
.page-home .hero-task-headline + .support-search {
  width: min(680px,100%);
  min-height: 64px;
  margin-top: 40px;
  box-shadow: 0 14px 34px rgba(23,32,42,.075);
}
.page-home .hero-task-headline + .support-search button { min-height: 48px; }

.home-overview { position: relative; padding: 0 0 40px; border-top: 1px solid #e0e3e6; border-bottom: 1px solid #d9dde1; background: linear-gradient(122deg,#f0f2f3 0%,#fafafa 58%,#eef0f2 100%); }
.home-overview::before { position: absolute; width: 520px; height: 430px; left: -170px; bottom: -230px; content: ""; background: url('../img/hero-tech-grid.svg') center/contain no-repeat; opacity: .055; filter: grayscale(1); pointer-events: none; }
.home-overview-grid { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0,2fr) minmax(330px,1fr); gap: 20px; align-items: stretch; margin-top: -48px; }
.home-overview-grid.without-news { grid-template-columns: minmax(330px,410px); justify-content: end; }
.home-news-feed { position: relative; overflow: hidden; min-height: 310px; padding: 25px 30px 22px; border: 1px solid #d5d9dd; border-left: 5px solid var(--brand); border-radius: 14px; background: linear-gradient(112deg,#fff 0%,#f8f9fa 72%,#eef1f3 100%); box-shadow: 0 14px 34px rgba(27,32,39,.08); }
.home-news-feed::after { position: absolute; width: 330px; height: 275px; right: -95px; bottom: -95px; content: ""; background: url('../img/hero-tech-grid.svg') center/contain no-repeat; opacity: .09; pointer-events: none; }
.home-news-feed > * { position: relative; z-index: 1; }
.home-news-feed-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 15px; }
.home-news-feed-heading > div > span { display: inline-flex; align-items: center; gap: 8px; color: var(--brand-dark); font-size: .68rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.home-news-feed-heading > div > span .icon { width: 16px; }
.home-news-feed-heading h2 { margin-top: 3px; font-size: 1.28rem; font-weight: 650; letter-spacing: -.025em; }
.home-news-feed-heading > a { display: inline-flex; align-items: center; gap: 7px; color: var(--brand-dark); font-size: .77rem; font-weight: 800; white-space: nowrap; }
.home-news-feed-heading > a .icon { width: 15px; }
.home-news-feed-list { border-top: 1px solid #d7dadd; }
.home-news-feed-item { display: grid; grid-template-columns: minmax(0,1fr) 18px; gap: 18px; align-items: center; min-height: 75px; padding: 12px 3px; border-bottom: 1px solid #dde0e3; color: #22252a; }
.home-news-feed-item:last-child { border-bottom: 0; }
.home-news-feed-item > .icon { width: 16px; color: #8b9299; transition: color .18s ease,transform .18s ease; }
.home-news-feed-meta { display: flex; align-items: center; gap: 9px; color: #697078; font-size: .67rem; }
.home-news-feed-meta span { color: var(--brand-dark); font-weight: 820; letter-spacing: .045em; text-transform: uppercase; }
.home-news-feed-meta time::before { margin-right: 9px; color: #a7abb0; content: "·"; }
.home-news-feed-item h3 { margin-top: 4px; font-size: 1rem; font-weight: 650; line-height: 1.3; letter-spacing: -.018em; }
.home-news-feed-item p { margin-top: 4px; color: #5e656c; font-size: .76rem; line-height: 1.45; }
.home-news-feed-item:hover h3, .home-news-feed-item:hover > .icon { color: var(--brand-dark); }
.home-news-feed-item:hover > .icon { transform: translateX(2px); }
.home-quick-actions { padding: 19px; border: 1px solid #d5d9dd; border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 14px 34px rgba(27,32,39,.1); }
.home-quick-actions-heading { margin-bottom: 15px; }
.home-quick-actions-heading > span { color: var(--brand-dark); font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.home-quick-actions-heading h2 { margin-top: 3px; font-size: 1.12rem; font-weight: 650; }
.home-quick-action-grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
.home-quick-action { position: relative; display: grid; min-width: 0; min-height: 70px; grid-template-columns: 39px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 10px 12px; border: 1px solid #dce0e3; border-radius: 10px; background: #f7f8f9; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.home-quick-action > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 9px; color: var(--brand); background: #fff; box-shadow: 0 5px 13px rgba(27,32,39,.06); }
.home-quick-action > span .icon { width: 20px; height: 20px; }
.home-quick-action > .icon { width: 14px; color: #8a9096; }
.home-quick-action strong,.home-quick-action small { display: block; }
.home-quick-action strong { color: #202328; font-size: .84rem; line-height: 1.28; }
.home-quick-action small { margin-top: 3px; color: #666d74; font-size: .67rem; line-height: 1.4; }
.home-quick-action:hover { border-color: #c9cdd1; background: #fff; box-shadow: 0 11px 24px rgba(27,32,39,.1); transform: translateY(-2px); }
.home-quick-action.is-emphasis { border-color: var(--brand); background: var(--brand); }
.home-quick-action.is-emphasis > span { color: var(--brand); }
.home-quick-action.is-emphasis strong,.home-quick-action.is-emphasis small,.home-quick-action.is-emphasis > .icon { color: #fff; }

.page-home .role-services {
  padding: 68px 0;
  border-top: 1px solid #dfe2e5;
  border-bottom: 1px solid #d9dde1;
  background: linear-gradient(112deg,#eef1f3 0%,#f8f9fa 68%,#fff 100%);
}
.page-home .role-services > .shell { position: relative; z-index: 1; }
.page-home .role-services::after {
  background: linear-gradient(90deg,rgba(238,241,243,.98) 0%,rgba(248,249,250,.88) 57%,rgba(255,255,255,.12) 100%);
}
.page-home .role-intro p,
.page-home .role-panel > p { color: #4f555c; font-size: .95rem; line-height: 1.65; }
.audience-intro { max-width: 760px; margin-bottom: 28px; }
.audience-intro h2 { margin-top: 8px; font-size: clamp(2rem,3vw,3rem); line-height: 1.05; }
.audience-intro p { max-width: 690px; margin-top: 14px; }
.audience-card-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; align-items: start; }
.audience-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #d5d9dd; border-radius: 13px; background: #fff; box-shadow: 0 14px 34px rgba(25,30,37,.08); }
.audience-card > header { min-height: 98px; display: flex; align-items: center; gap: 14px; padding: 20px; color: #fff; background: var(--brand); }
.audience-card.audience-employees > header { background: linear-gradient(135deg,#7b213b 0%,#96304c 100%); }
.audience-card.audience-other > header { background: #34383e; }
.audience-card > header > span { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.42); border-radius: 11px; background: rgba(255,255,255,.14); }
.audience-card > header .icon { width: 25px; height: 25px; }
.audience-card > header small { display: block; color: rgba(255,255,255,.74); font-size: .65rem; font-weight: 830; letter-spacing: .07em; text-transform: uppercase; }
.audience-card > header h3 { margin-top: 2px; color: #fff; font-size: 1.15rem; line-height: 1.25; }
.audience-card > p { min-height: 70px; margin: 0; padding: 16px 20px 12px; color: #555b62; font-size: .83rem; line-height: 1.55; }
.audience-service-list { padding: 0 13px; }
.audience-service-list > a { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 54px; padding: 8px 7px; border-top: 1px solid #e3e5e7; color: #292c31; font-size: .82rem; }
.audience-service-list > a > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; color: var(--brand); background: #f1f3f4; }
.audience-employees .audience-service-list > a > span { color: #842540; }
.audience-other .audience-service-list > a > span { color: #34383e; }
.audience-service-list > a > span .icon { width: 17px; }
.audience-service-list > a > .icon { width: 15px; color: #8b9096; }
.audience-service-list > a:hover strong,.audience-service-list > a:hover > .icon { color: var(--brand-dark); }
.page-home .role-tabs {
  border-color: #d8dce0;
  background: #fff;
  box-shadow: 0 8px 20px rgba(24,31,40,.06);
}
.page-home .role-tabs button { font-size: .85rem; }
.page-home .role-link-grid a {
  border-color: #d9dde1;
  background: rgba(255,255,255,.95);
  box-shadow: 0 7px 18px rgba(24,31,40,.045);
}
.page-home .role-link-grid strong { font-size: .93rem; }
.page-home .role-link-grid small { color: #5d6269; font-size: .76rem; line-height: 1.45; }

.page-home .home-project-focus {
  position: relative;
  overflow: hidden;
  padding: 72px 0;
  border: 0;
  color: #fff;
  background: linear-gradient(122deg,#6f1b32 0%,#84203a 58%,#9a2845 100%);
}
.page-home .home-project-focus::before {
  width: 650px;
  height: 560px;
  right: -90px;
  top: -150px;
  opacity: .14;
  filter: brightness(0) invert(1);
}
.home-project-focus > .shell { position: relative; z-index: 1; }
.home-project-heading {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(300px,.72fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 34px;
}
.home-project-heading .section-kicker { color: #fff; opacity: .78; }
.home-project-heading h2 {
  max-width: 700px;
  margin-top: 8px;
  color: #fff;
  font-size: clamp(2.1rem,3vw,3.1rem);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -.045em;
}
.home-project-heading > p { margin: 0 0 3px; color: rgba(255,255,255,.84); font-size: 1rem; line-height: 1.7; }
.home-project-pilars { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.home-project-pilars > a {
  display: grid;
  grid-template-columns: 56px minmax(0,1fr) auto;
  gap: 18px;
  align-items: start;
  min-height: 190px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 13px;
  color: #22252a;
  background: #fff;
  box-shadow: 0 18px 40px rgba(22,4,10,.18);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-project-pilars > a:hover { transform: translateY(-3px); box-shadow: 0 23px 46px rgba(22,4,10,.24); }
.home-project-pilars .project-pillar-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--brand);
}
.home-project-pilars .project-pillar-icon .icon { width: 27px; height: 27px; }
.home-project-pilars small { display: block; color: var(--brand-dark); font-size: .71rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.home-project-pilars strong { display: block; margin-top: 6px; color: #17191d; font-size: 1.22rem; line-height: 1.35; }
.home-project-pilars p { margin-top: 8px; color: #555b63; font-size: .87rem; line-height: 1.58; }
.home-project-pilars > a > .icon { width: 19px; margin-top: 18px; color: var(--brand); }
.home-project-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 24px; }
.home-project-links > span { margin-right: 2px; color: rgba(255,255,255,.67); font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.home-project-links a { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.32); border-radius: 7px; color: #fff; font-size: .8rem; font-weight: 720; }
.home-project-links a:hover { border-color: #fff; background: rgba(255,255,255,.1); }
.home-project-links .icon { width: 15px; }

/* Inner pages: preserve the compact system, but remove the undersized feel. */
.page-inner .page-intro p,
.page-inner .article-lead,
.page-inner .prose,
.page-inner .service-card p,
.page-inner .guide-row small,
.page-inner .faq-answer { font-size: max(.88rem,15px); }
.page-inner .service-card h2,
.page-inner .guide-row strong { font-size: max(.94rem,16px); }
.page-inner .filter-panel,
.page-inner .breadcrumb { font-size: max(.78rem,13px); }
.footer-main p,
.footer-main a { font-size: max(.76rem,13px); }

@media (max-width: 980px) {
  .home-overview-grid { grid-template-columns: 1fr; }
  .home-quick-actions { padding: 20px; }
  .home-project-heading { grid-template-columns: 1fr; gap: 16px; }
  .home-project-heading > p { max-width: 700px; }
  .audience-card-grid { grid-template-columns: 1fr 1fr; }
  .audience-card.audience-other { grid-column: 1/-1; }
}

@media (max-width: 760px) {
  html { font-size: 16px; }
  .page-home .support-hero { padding: 38px 0 46px; }
  .page-home .support-hero-simplified { min-height: 0; grid-template-columns: 1fr; }
  .page-home .support-hero-copy h1 { font-size: clamp(2.45rem,11vw,3.25rem); }
  .page-home .support-hero-copy h1.hero-task-headline { font-size: clamp(1.42rem,6vw,1.9rem); }
  .page-home .hero-task-headline + .support-search { width: 100%; margin-top: 28px; }
  .home-overview { padding: 0 0 30px; }
  .home-overview-grid { margin-top: -24px; }
  .home-news-feed { min-height: 0; padding: 23px 21px 17px; }
  .page-home .role-services { padding: 54px 0; }
  .page-home .role-intro h2 { font-size: clamp(2rem,10vw,2.75rem); }
  .audience-card-grid { grid-template-columns: 1fr; }
  .audience-card.audience-other { grid-column: auto; }
  .audience-card > p { min-height: 0; }
  .page-home .home-project-focus { padding: 54px 0; }
  .home-project-heading { margin-bottom: 24px; }
  .home-project-heading h2 { font-size: clamp(2rem,10vw,2.8rem); }
  .home-project-pilars { grid-template-columns: 1fr; }
  .home-project-pilars > a { grid-template-columns: 48px minmax(0,1fr) auto; min-height: 0; padding: 22px; }
  .home-project-pilars .project-pillar-icon { width: 48px; height: 48px; }
  .home-project-links { align-items: stretch; flex-direction: column; }
  .home-project-links > span { margin-bottom: 2px; }
  .home-project-links a { justify-content: space-between; }
}

@media (max-width: 460px) {
  .home-news-feed-heading { align-items: flex-start; }
  .home-news-feed-heading > a { margin-top: 4px; }
  .home-news-feed-item { gap: 11px; }
  .home-news-feed-meta { align-items: flex-start; flex-direction: column; gap: 2px; }
  .home-news-feed-meta time::before { display: none; }
  .home-quick-actions { padding: 17px; }
  .home-quick-action { min-height: 64px; padding: 9px 10px; }
  .home-quick-action-grid { gap: 8px; }
  .home-quick-action small { display: none; }
}
