/* Homepage visual target: website/mockups/approved-homepage.png. */
.home-page .container { width: min(1200px, calc(100% - 64px)); }
.home-page .header-inner { min-height: 80px; }
.home-page .brand { gap: 12px; font-size: 1.85rem; letter-spacing: -.035em; }
.home-page .brand img { width: 56px; height: 56px; }
.home-page .site-nav { gap: 42px; }
.home-page .site-nav a { font-size: 1.05rem; color: #F1F5F9; }
.home-page .home-intro { max-width: none; padding: 40px 8px 30px; }
.home-page .home-intro h1 { font-size: clamp(3rem, 5.35vw, 4.5rem); line-height: 1.03; margin: 0; font-weight: 750; letter-spacing: -.035em; }
.home-page .home-intro .lead { font-size: 1.3rem; line-height: 1.4; max-width: 860px; margin-top: 24px; }
.catalogue-section { border-top: 1px solid var(--border); padding-top: 24px; }
.catalogue-intro { padding-inline: 8px; margin-bottom: 16px; }
.catalogue-intro h2 { font-size: clamp(1.9rem, 3.2vw, 2.65rem); line-height: 1.2; }
.catalogue-intro p { color: var(--muted); font-size: 1.2rem; margin-top: 2px; }
.featured-tool { display: grid; grid-template-columns: minmax(0, .392fr) minmax(0, .608fr); border: 1px solid #354454; border-radius: 16px; overflow: hidden; background: #111A22; }
.featured-identity { background: linear-gradient(110deg, #063575 0%, #152759 48%, #21153E 100%); border-right: 1px solid #3B3D6C; padding: 28px; display: flex; align-items: center; justify-content: center; text-align: center; min-width: 0; }
.featured-identity-inner { display: flex; flex-direction: column; align-items: center; width: 100%; }
.halo-product-mark { display: block; width: 196px; height: auto; max-width: 100%; }
.featured-identity h3 { font-size: 3.5rem; font-weight: 730; letter-spacing: -.035em; margin-top: 10px; }
.featured-identity p { color: #B7C4DB; font-size: 1.3rem; margin-top: 4px; }
.featured-details { padding: 24px 26px 20px 38px; min-width: 0; }
.featured-details .status { border: 0; border-radius: 18px; padding: 4px 10px; font-size: .85rem; gap: 7px; background: #332D16; color: #FFDC73; }
.featured-details .status::before { content: ""; display: block; width: 9px; height: 9px; flex: 0 0 9px; background: currentColor; border-radius: 50%; }
.featured-details h3 { font-size: clamp(1.55rem, 2.3vw, 2rem); line-height: 1.25; letter-spacing: -.03em; margin-top: 18px; }
.featured-description { color: #A6B3C2; font-size: 1.17rem; line-height: 1.45; margin-top: 14px; max-width: 650px; }
.featured-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin: 25px 0 26px; padding: 0; list-style: none; }
.featured-capabilities li { display: flex; align-items: center; gap: 18px; color: #F1F5F9; font-size: 1.05rem; }
.cap-icon { display: inline-block; width: 26px; height: 26px; flex: 0 0 26px; background: #F4C76B; mask-position: center; mask-repeat: no-repeat; mask-size: contain; }
.cap-summary { mask-image: url('/assets/icons/article.svg'); }
.cap-facts { mask-image: url('/assets/icons/chart-bar.svg'); }
.cap-simple { mask-image: url('/assets/icons/lightbulb.svg'); }
.cap-question { mask-image: url('/assets/icons/chat-text.svg'); }
.featured-purchase { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 18px; border-top: 1px solid var(--border); padding-top: 17px; }
.target-price { color: var(--muted); font-size: 1.12rem; }
.target-price strong { color: var(--text); font-size: 1.13rem; font-weight: 650; white-space: nowrap; }
.featured-cta .button { width: 100%; font-size: 1.15rem; min-height: 54px; padding: 10px 16px; border-radius: 12px; background: #FFAD5C; }
.featured-cta .button:hover { background: #FFC184; }
.featured-cta p { text-align: center; color: var(--muted); font-size: .85rem; margin-top: 8px; }
.home-page .faq { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 32px; margin-top: 30px; padding: 16px 0 20px; align-items: start; }
.home-page .faq-heading h2 { font-size: clamp(1.7rem, 2.6vw, 2.3rem); margin: 10px 0 0 8px; }
.home-page .faq details:first-child { border-top: 0; }
.home-page .faq summary { font-size: .95rem; padding-block: 16px; }
.home-page .faq summary::after { top: 12px; }
.home-page .site-footer { padding-block: 18px; }
.home-page .footer-brand { font-size: 1.35rem; gap: 8px; }
.home-page .footer-brand img { width: 42px; height: 42px; }
.home-page .privacy { margin-top: 14px; }

@media (max-width: 1000px) {
  .featured-details { padding: 24px; }
  .featured-description { font-size: 1rem; }
  .featured-capabilities { gap: 14px; }
  .featured-capabilities li { gap: 10px; font-size: .93rem; }
  .featured-purchase { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .featured-cta p { text-align: left; }
  .halo-product-mark { width: 170px; }
  .featured-identity h3 { font-size: 3rem; }
  .featured-identity p { font-size: 1.05rem; }
}

@media (max-width: 700px) {
  .home-page .container { width: calc(100% - 40px); }
  .home-page .header-inner { min-height: 76px; }
  .home-page .brand { font-size: 1.35rem; gap: 7px; }
  .home-page .brand img { width: 34px; height: 34px; }
  .home-page .site-nav { gap: 22px; }
  .home-page .site-nav a { font-size: .85rem; }
  .home-page .home-intro { padding: 36px 0 28px; }
  .home-page .home-intro h1 { font-size: clamp(2.5rem, 8.7vw, 3.7rem); }
  .home-page .home-intro .lead { font-size: 1.03rem; line-height: 1.65; margin-top: 20px; }
  .desktop-break { display: none; }
  .catalogue-intro { padding-inline: 0; }
  .catalogue-intro p { font-size: 1rem; }
  .featured-tool { grid-template-columns: minmax(0, 1fr); }
  .featured-identity { border-right: 0; border-bottom: 1px solid #3B3D6C; padding: 28px 24px; }
  .halo-product-mark { width: 128px; }
  .featured-identity h3 { font-size: 2.5rem; margin-top: 6px; }
  .featured-details { padding: 24px; }
  .featured-details h3 { font-size: 1.6rem; }
  .featured-capabilities { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-block: 22px; }
  .featured-capabilities li { font-size: 1rem; gap: 14px; }
  .home-page .faq { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-block: 22px 30px; margin-top: 26px; }
  .home-page .faq-heading h2 { margin: 0; }
  .home-page .footer-main { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 20px; }
  .home-page .footer-brand { font-size: 1.15rem; }
  .home-page .footer-brand img { width: 28px; height: 28px; }
  .home-page .footer-links { gap: 20px; }
}

@media (max-width: 360px) {
  .home-page .container { width: calc(100% - 32px); }
  .home-page .brand { font-size: 1.2rem; }
  .home-page .site-nav { gap: 16px; }
}
