.spreadsheet-download-page main { min-height: 72vh; }
.spreadsheet-hero { position: relative; overflow: hidden; padding: clamp(52px, 8vw, 96px) 0 clamp(66px, 9vw, 108px); background: linear-gradient(145deg, #f3fff7 0%, #fff 62%); }
.spreadsheet-hero::before { content: ""; position: absolute; width: 420px; height: 420px; right: -180px; top: -230px; border: 58px solid rgba(41, 215, 124, .12); border-radius: 50%; }
.spreadsheet-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); gap: clamp(42px, 7vw, 92px); align-items: center; }
.spreadsheet-copy { max-width: 650px; }
.spreadsheet-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: #65808b; font-size: .82rem; font-weight: 750; }
.spreadsheet-breadcrumb a { color: #087a52; }
.spreadsheet-copy h1 { margin: 12px 0 0; font-size: clamp(2.65rem, 5.8vw, 5rem); line-height: .96; letter-spacing: -.06em; }
.spreadsheet-copy .lead { max-width: 590px; margin: 24px 0 0; color: #516f7b; font-size: clamp(1.02rem, 1.7vw, 1.22rem); line-height: 1.6; }
.spreadsheet-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 20px; margin-top: 30px; }
.spreadsheet-actions .content-download { min-height: 52px; padding: 12px 24px; }
.spreadsheet-file-note { color: #607b86; font-size: .84rem; font-weight: 750; }
.spreadsheet-preview { position: relative; padding: 18px; border: 1px solid #c8dde4; border-radius: 28px; background: rgba(255, 255, 255, .86); box-shadow: 0 28px 70px rgba(0, 46, 69, .13); transform: rotate(1.2deg); }
.spreadsheet-preview::before { content: ""; position: absolute; inset: 18px -14px -14px 18px; z-index: -1; border-radius: inherit; background: #b8ffcc; opacity: .74; }
.spreadsheet-window { overflow: hidden; border: 1px solid #d8e6ea; border-radius: 18px; background: #fff; }
.spreadsheet-window-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; color: #fff; background: #003b55; }
.spreadsheet-window-head strong { color: #fff; font-size: .98rem; }
.spreadsheet-window-head span { color: #b8ffcc; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.spreadsheet-table { width: 100%; border-collapse: collapse; font-size: .72rem; }
.spreadsheet-table th, .spreadsheet-table td { padding: 13px 12px; border-right: 1px solid #e0eaed; border-bottom: 1px solid #e0eaed; text-align: left; white-space: nowrap; }
.spreadsheet-table th { color: #31525f; background: #edf7fa; font-size: .66rem; text-transform: uppercase; }
.spreadsheet-table td { color: #52707c; }
.spreadsheet-table td:last-child { color: #087a52; font-weight: 900; }
.spreadsheet-table tr:last-child td { border-bottom: 0; }
.spreadsheet-table th:last-child, .spreadsheet-table td:last-child { border-right: 0; }
.spreadsheet-total { display: flex; justify-content: flex-end; gap: 24px; padding: 15px 18px; color: #fff; background: #087a52; font-size: .77rem; }
.spreadsheet-total strong { color: #fff; }
@media (max-width: 900px) {
  .spreadsheet-hero-grid { grid-template-columns: 1fr; }
  .spreadsheet-copy { margin: 0 auto; text-align: center; }
  .spreadsheet-breadcrumb, .spreadsheet-actions { justify-content: center; }
  .spreadsheet-preview { width: min(100%, 680px); margin: 0 auto; transform: none; }
}
@media (max-width: 560px) {
  .spreadsheet-hero { padding-top: 38px; }
  .spreadsheet-copy h1 { font-size: clamp(2.45rem, 12vw, 3.3rem); }
  .spreadsheet-actions { display: grid; }
  .spreadsheet-actions .content-download { width: 100%; }
  .spreadsheet-preview { padding: 10px; border-radius: 20px; }
  .spreadsheet-window { border-radius: 13px; }
  .spreadsheet-window-head { padding: 14px; }
  .spreadsheet-window-head span { display: none; }
  .spreadsheet-table th, .spreadsheet-table td { padding: 10px 8px; }
  .spreadsheet-table th:nth-child(3), .spreadsheet-table td:nth-child(3), .spreadsheet-table th:nth-child(4), .spreadsheet-table td:nth-child(4) { display: none; }
  .spreadsheet-total { justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) { .spreadsheet-preview { transform: none; } }
