.home-page{ --home-red:#dc3545; --home-red-dark:#b42333; --home-text:#1f2937; --home-muted:#6b7280; --home-border:#e5e7eb; --home-shadow:0 18px 42px rgba(15,23,42,.08); }
    .home-page .hero-shell{ border-radius:1.8rem; background:linear-gradient(135deg,#fff 0%,#f8fafc 100%); box-shadow:var(--home-shadow); position:relative; }
    .home-page .hero-pattern{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at top right,rgba(220,53,69,.15),transparent 30%), radial-gradient(circle at bottom left,rgba(220,53,69,.07),transparent 28%); }
    .home-page .hero-search-card{ background:#fff; border:1px solid var(--home-border); border-radius:1.25rem; padding:.85rem; box-shadow:0 12px 30px rgba(15,23,42,.07); }
    .home-page .home-label{ font-size:.76rem; font-weight:800; color:var(--home-muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.35rem; display:block; }
    .home-page .hero-panel{ background:rgba(255,255,255,.82); border:1px solid rgba(0,0,0,.05); border-radius:1.4rem; padding:1.1rem; box-shadow:0 10px 28px rgba(15,23,42,.05); }
    .home-page .hero-panel-top{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
    .home-page .hero-panel-icon,.home-page .feature-icon{ width:3rem; height:3rem; border-radius:1rem; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--home-red) 0%,#ff7a7a 100%); color:#fff; font-size:1.2rem; }
    .home-page .mini-card{ background:#fff; border:1px solid var(--home-border); border-radius:1.05rem; padding:1rem; display:flex; flex-direction:column; gap:.35rem; box-shadow:0 10px 22px rgba(15,23,42,.05); }
    .home-page .mini-card i{ color:var(--home-red); font-size:1.35rem; }
    .home-page .mini-card span{ color:var(--home-muted); font-size:.9rem; }
    .home-page .section-header-row{ display:flex; justify-content:space-between; align-items:end; gap:1rem; flex-wrap:wrap; }
    .home-page .section-heading{ font-weight:800; letter-spacing:-.02em; color:var(--home-text); }
    .home-page .badge-soft{ background:#fff1f2; color:var(--home-red-dark); border:1px solid rgba(220,53,69,.12); padding:.55rem .9rem; border-radius:999px; font-size:.85rem; font-weight:700; }
    .home-page .feature-card,.home-page .listing-card,.home-page .story-card,.home-page .cta-card{ background:#fff; border:1px solid var(--home-border); border-radius:1.35rem; box-shadow:var(--home-shadow); }
    .home-page .story-card,.home-page .cta-card{ background:linear-gradient(135deg,#fff 0%,#f8fafc 100%); border-radius:1.6rem; }
    .home-page .cta-card-soft{ background:linear-gradient(135deg,#fff8f8 0%,#f8fafc 100%); }
    .home-page .check-card{ background:#fff; border:1px solid var(--home-border); border-radius:1rem; padding:1rem; font-weight:700; display:flex; gap:.65rem; align-items:center; height:100%; }
    .home-page .check-card i{ color:var(--home-red); font-size:1.25rem; }
    .home-page .company-logo-box{ width:72px; height:72px; border-radius:1rem; background:#f8fafc; border:1px solid var(--home-border); display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .home-page .company-logo-box img{ width:100%; height:100%; object-fit:contain; padding:.35rem; background:#fff; }
    .home-page .listing-media{ min-height:220px; background:#f8fafc; display:flex; align-items:center; justify-content:center; overflow:hidden; border-bottom:1px solid var(--home-border); }
    .home-page .listing-media img{ width:100%; height:220px; object-fit:cover; }
    .home-page .listing-media-placeholder{ color:var(--home-muted); text-align:center; padding:2rem; }
    .home-page .empty-card{ background:#fff; border:1px dashed #d1d5db; border-radius:1.4rem; }
    .home-page .empty-icon{ width:84px; height:84px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:2rem; color:var(--home-red); background:#fff1f2; }
    .home-page .btn-swiss{ border:0; border-radius:999px; background:linear-gradient(135deg,var(--home-red) 0%,#ef4444 100%); color:#fff; font-weight:800; box-shadow:0 12px 26px rgba(220,53,69,.22); }
    .home-page .btn-swiss:hover{ color:#fff; transform:translateY(-1px); }
    @media (max-width:991.98px){ .home-page .display-4{ font-size:2.4rem; } }
    @media (max-width:767.98px){ .home-page .hero-shell{ border-radius:1.2rem; } .home-page .hero-search-card{ padding:.75rem; } .home-page .section-header-row{ align-items:flex-start; flex-direction:column; } .home-page .company-logo-box{ width:82px; height:82px; } .home-page .listing-card{ border-radius:1.1rem; } }
