/* Premium homepage management preview; appointments remain illustrative. */
.index-page .home-team {
  --team-ink: #123e67;
  --team-green: #39734b;
  --team-muted: #5f7180;
  --team-line: #d7e3e8;
  --team-card: #f9fbfc;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 94% 8%, rgba(77, 153, 112, .32), transparent 30%),
    radial-gradient(circle at 5% 96%, rgba(28, 126, 151, .25), transparent 32%),
    linear-gradient(140deg, #0b2942 0%, #123d55 54%, #0d3444 100%);
  padding-block: clamp(72px, 8vw, 112px);
}

.index-page .home-team::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -220px;
  right: -180px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 140px rgba(255, 255, 255, .018);
}

.home-team-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 54px;
  margin-bottom: 44px;
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.home-team-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #a8dcaa;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.home-team-kicker::before { content: ''; width: 28px; height: 2px; background: currentColor; }
.home-team-header h2 { margin: 13px 0 16px; color: #f4f9fb; font-size: clamp(40px, 2rem + 2vw, 58px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
.index-page .home-team #home-team-heading { color: #f4f9fb !important; }
.home-team-header h2 span { color: #9bd69d; }
.home-team-header p { max-width: 62ch; margin: 0; color: #cbd9df; font-size: 16px; line-height: 1.8; }
.home-team-badge { display: inline-flex; align-items: center; gap: 10px; padding: 11px 16px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; color: #eaf4f7; background: rgba(255, 255, 255, .07); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); backdrop-filter: blur(8px); font-size: 12px; font-weight: 500; white-space: nowrap; }
.home-team-badge i { color: #a8dcaa; font-size: 16px; }

.home-team-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(260px, auto)); gap: 22px; align-items: stretch; }
.home-team-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; background: var(--team-card); box-shadow: 0 26px 55px rgba(0, 15, 28, .24); transition: transform .3s ease, box-shadow .3s ease; }
.home-team-card:hover { transform: translateY(-5px); box-shadow: 0 32px 65px rgba(0, 15, 28, .34); }
.home-team-card:first-child { grid-column: 1 / span 7; grid-row: 1 / span 2; display: grid; grid-template-rows: minmax(285px, 1fr) auto; }
.home-team-card:nth-child(2),
.home-team-card:nth-child(3) { grid-column: 8 / -1; display: grid; grid-template-columns: 158px minmax(0, 1fr); }

.home-team-visual { position: relative; display: flex; align-items: center; justify-content: center; min-height: 100%; overflow: hidden; color: #fff; background: linear-gradient(135deg, #0f5e7a 0%, #218c84 100%); }
.home-team-card:nth-child(2) .home-team-visual { background: linear-gradient(145deg, #225943 0%, #4a895c 100%); }
.home-team-card:nth-child(3) .home-team-visual { background: linear-gradient(145deg, #264f6c 0%, #547b91 100%); }
.home-team-visual::before,
.home-team-visual::after { content: ''; position: absolute; border: 1px solid rgba(255, 255, 255, .22); border-radius: 50%; }
.home-team-visual::before { width: 290px; height: 290px; right: -105px; top: -160px; box-shadow: 0 0 0 44px rgba(255, 255, 255, .035); }
.home-team-visual::after { width: 190px; height: 190px; left: -80px; bottom: -120px; }
.home-team-number { position: absolute; z-index: 2; left: 24px; top: 22px; font-family: Georgia, serif; font-size: 18px; letter-spacing: .08em; opacity: .94; }
.home-team-symbol { position: relative; z-index: 1; display: grid; width: 86px; height: 86px; place-items: center; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; background: rgba(255, 255, 255, .1); box-shadow: 0 0 0 11px rgba(255, 255, 255, .05), 0 18px 34px rgba(0, 24, 38, .18); backdrop-filter: blur(5px); }
.home-team-symbol i { font-size: 34px; line-height: 1; }
.home-team-visual-label { position: absolute; z-index: 2; right: 24px; bottom: 21px; font-size: 9px; font-weight: 600; letter-spacing: .15em; text-align: right; text-transform: uppercase; opacity: .88; }
.home-team-card:first-child .home-team-visual-label { left: 26px; right: auto; }
.home-team-card:not(:first-child) .home-team-symbol { width: 66px; height: 66px; }
.home-team-card:not(:first-child) .home-team-symbol i { font-size: 27px; }
.home-team-card:not(:first-child) .home-team-visual-label { display: none; }

.home-team-copy { display: flex; min-width: 0; flex-direction: column; padding: 28px 27px 25px; }
.home-team-card:first-child .home-team-copy { min-height: 280px; padding: 36px 38px 32px; }
.home-team-role { margin: 0 0 9px; color: var(--team-green); font-size: 10px; font-weight: 700; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.home-team-copy h3 { margin: 0 0 12px; color: var(--team-ink); font-size: 23px; font-weight: 500; line-height: 1.3; letter-spacing: -.03em; }
.home-team-card:first-child .home-team-copy h3 { font-size: clamp(30px, 2.8vw, 39px); }
.home-team-description { margin: 0 0 22px; color: #334957; font-size: 14px; line-height: 1.75; }
.home-team-card:first-child .home-team-description { max-width: 46ch; font-size: 16px; }
.home-team-focus { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 17px; border-top: 1px solid #dfe8ec; }
.home-team-focus span { padding: 6px 9px; border-radius: 3px; color: #355268; background: #eaf1f4; font-size: 10px; font-weight: 600; letter-spacing: .04em; }
.home-team-note { display: flex; align-items: center; gap: 11px; margin: 25px 0 0; color: #b9ccd5; font-size: 11px; line-height: 1.65; }
.home-team-note::before { content: ''; width: 30px; height: 1px; flex: 0 0 30px; background: #9bd69d; }

.index-page.dark-mode .home-team { --team-card: #193247; --team-ink: #edf6fb; --team-green: #b4dba7; background: radial-gradient(circle at 94% 8%, rgba(77, 153, 112, .28), transparent 30%), linear-gradient(140deg, #071d2e, #102f43 58%, #092735); }
.index-page.dark-mode #home-team-heading { color: #f4f9fb !important; }
.dark-mode .home-team-description { color: #d8e4e9; }
.dark-mode .home-team-focus { border-color: #344e60; }
.dark-mode .home-team-focus span { color: #dbe8ef; background: #253f52; }

@media (max-width: 991px) {
  .home-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .home-team-card:first-child { grid-column: 1 / -1; grid-row: auto; grid-template-columns: minmax(260px, .8fr) 1.2fr; grid-template-rows: auto; }
  .home-team-card:nth-child(2),
  .home-team-card:nth-child(3) { grid-column: auto; display: block; }
  .home-team-card:nth-child(2) .home-team-visual,
  .home-team-card:nth-child(3) .home-team-visual { min-height: 170px; }
  .home-team-card:not(:first-child) .home-team-visual-label { display: block; }
  .home-team-card:first-child .home-team-copy { min-height: 300px; }
}

@media (max-width: 767px) {
  .index-page .home-team { padding-block: 68px; }
  .home-team-header { grid-template-columns: 1fr; gap: 22px; margin-bottom: 32px; padding-bottom: 27px; }
  .home-team-header h2 { font-size: 42px; }
  .home-team-badge { width: fit-content; }
  .home-team-grid { grid-template-columns: 1fr; gap: 17px; }
  .home-team-card:first-child,
  .home-team-card:nth-child(2),
  .home-team-card:nth-child(3) { grid-column: auto; display: grid; grid-template-columns: 105px minmax(0, 1fr); grid-template-rows: auto; }
  .home-team-visual,
  .home-team-card:nth-child(2) .home-team-visual,
  .home-team-card:nth-child(3) .home-team-visual { min-height: 252px; }
  .home-team-number { left: 15px; top: 16px; font-size: 16px; }
  .home-team-symbol,
  .home-team-card:not(:first-child) .home-team-symbol { width: 56px; height: 56px; }
  .home-team-symbol i,
  .home-team-card:not(:first-child) .home-team-symbol i { font-size: 24px; }
  .home-team-visual-label,
  .home-team-card:first-child .home-team-visual-label { display: none; }
  .home-team-copy,
  .home-team-card:first-child .home-team-copy { min-height: 252px; padding: 25px 20px 22px; }
  .home-team-card:first-child .home-team-copy h3,
  .home-team-copy h3 { font-size: 21px; }
  .home-team-description,
  .home-team-card:first-child .home-team-description { font-size: 13px; }
}

@media (max-width: 420px) {
  .home-team-header h2 { font-size: 38px; }
  .home-team-card:first-child,
  .home-team-card:nth-child(2),
  .home-team-card:nth-child(3) { grid-template-columns: 88px minmax(0, 1fr); }
  .home-team-copy,
  .home-team-card:first-child .home-team-copy { padding-inline: 17px; }
  .home-team-symbol,
  .home-team-card:not(:first-child) .home-team-symbol { width: 48px; height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-team-card { transition: none; }
}
