.packages-page { max-width: 1240px; margin: auto; padding: 60px 40px 45px; }
.packages-page h1, .website-packages > h2 { text-align: center; font-size: clamp(25px, 3.1vw, 40px); font-weight: 700; margin: 0 0 48px; letter-spacing: -1.2px; }
.packages-page h1 { color: var(--fc-orange); }
.packages-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.package-card { background: #f2f2f2; border-radius: 40px; overflow: hidden; display: flex; flex-direction: column; text-align: center; }
.package-body { padding: 25px 18px 30px; flex: 1; }
.package-body h3 { font-size: clamp(22px, 2.6vw, 34px); font-weight: 700; letter-spacing: -1.2px; margin: 0 0 20px; }
.package-body ul { list-style: none; margin: 0; padding: 0; }
.package-body li { font-size: 16px; line-height: 1.15; margin-bottom: 14px; }
.package-price { display: block; padding: 15px 8px; background: var(--fc-charcoal); color: white; font-size: 32px; font-weight: 700; line-height: 1.15; }
.package-price:hover { color: white; background: #535352; }
.package-price:focus-visible { outline-offset: -6px; }
.starter-packages .package-body { min-height: 340px; }
.starter-packages h3 { color: var(--fc-orange); }
.starter-packages .package-price { background: var(--fc-orange); }
.starter-packages .package-price:hover { background: #d87d00; }
.website-packages { margin-top: 80px; }
.website-packages .packages-grid .package-body { min-height: 515px; }
.package-extras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; align-items: center; margin-top: 30px; }
.package-monitor { grid-column: 1 / 4; width: 72%; height: auto; justify-self: center; }
.package-extras .package-price { font-size: 22px; }
/* Individual offers share a consistent card layout. */
.individual-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 100px; }
.individual-services > div { display: grid; grid-template-rows: 1fr 1fr; gap: 24px; min-width: 0; }
.individual-services > div:nth-child(2) { grid-template-rows: 1fr; }
.individual-services article { display: flex; flex-direction: column; padding: 30px; background: #f7f7f6; border: 1px solid #eaeae7; border-radius: 20px; }
.individual-services article::before { content: ''; width: 32px; height: 4px; flex-shrink: 0; background: var(--fc-orange); border-radius: 2px; margin-bottom: 22px; }
.individual-services h2 { font-size: 21px; line-height: 1.3; font-weight: 700; letter-spacing: -.5px; margin: 0 0 16px; }
.individual-services p, .individual-services ul { color: #666; font-size: 15px; line-height: 1.65; letter-spacing: 0; margin: 0 0 26px; padding: 0; list-style: none; }
.individual-services li { position: relative; padding-left: 19px; }
.individual-services li::before { content: ''; position: absolute; left: 0; top: .72em; width: 5px; height: 5px; border-radius: 50%; background: var(--fc-orange); }
.individual-price { display: block; font-size: 27px; font-weight: 700; margin-top: auto; padding-top: 20px; border-top: 1px solid #deded9; line-height: 1.2; }
.individual-price:hover { color: var(--fc-orange); }
.individual-services > div:nth-child(2) article { background: #fff8ec; border-color: #f5d8a6; }
.logo-prices { margin: auto 0 0; }
.logo-prices dt { font-size: 29px; font-weight: 700; line-height: 1.2; padding-top: 25px; border-top: 1px solid #eadcc4; }
.logo-prices dd { font-size: 13px; color: #756954; line-height: 1.5; margin: 7px 0 26px; }
.logo-prices dd:last-child { margin-bottom: 0; }
.usage-rights { margin-top: 100px; font-size: 16px; line-height: 1.3; font-weight: 300; }
.usage-rights p { margin-bottom: 24px; }
.usage-rights strong { font-weight: 600; }
@media (max-width: 1000px) {
  .packages-page { padding-inline: 25px; }
  .packages-grid, .package-extras { gap: 20px; }
  .package-body { padding-inline: 12px; }
  .package-body li { font-size: 14px; }
  .package-price { font-size: 26px; }
  .individual-services { gap: 16px; }
  .individual-services > div { gap: 16px; }
  .individual-services article { padding: 22px; }
}
@media (max-width: 767px) {
  .packages-page { padding-top: 35px; }
  .packages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .package-card { border-radius: 28px; }
  .package-extras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .package-monitor { grid-column: 1; width: 100%; }
  .individual-services { grid-template-columns: 1fr; gap: 20px; margin-top: 60px; }
  .individual-services > div { grid-template-rows: auto; gap: 20px; }
  .individual-services article { padding: 26px; }
  .usage-rights { margin-top: 60px; font-size: 14px; }
}
@media (max-width: 420px) {
  .packages-grid, .package-extras { grid-template-columns: 1fr; }
  .starter-packages .package-body, .website-packages .packages-grid .package-body { min-height: 0; }
  .package-body li { font-size: 16px; }
  .package-body h3 { font-size: 28px; }
  .package-monitor { margin-block: 15px; }
}
