.home-page { background: var(--color-deep-ocean-navy); }
.home-page .home-section { padding: var(--space-10) 0; }
.home-page .eyebrow { margin-bottom: var(--space-3); }
.home-page .home-copper-rule { width: 5rem; height: 1px; margin-top: var(--space-5); background: var(--color-burnished-copper); }
.home-page a:focus-visible, .home-filter-sheet button:focus-visible { outline: 2px solid var(--color-focus-amber); outline-offset: 3px; }

.home-hero { position: relative; display: flex; align-items: center; min-height: 47rem; overflow: hidden; isolation: isolate; }
.home-hero__image, .home-hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero__image { object-fit: cover; object-position: 68% center; z-index: -2; }
.home-hero__overlay { background: linear-gradient(90deg, rgb(7 25 35 / 96%) 0%, rgb(7 25 35 / 78%) 38%, rgb(9 46 61 / 32%) 68%, rgb(7 25 35 / 30%) 100%), linear-gradient(0deg, rgb(7 25 35 / 84%) 0%, transparent 50%); z-index: -1; }
.home-hero__container { width: min(100% - (var(--container-gutter) * 2), var(--container-max)); }
.home-hero__content { width: min(100%, 38.75rem); display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: var(--space-9) 0; }
.home-hero__content > * { margin: 0; min-width: 0; }
.home-hero__content h1 { max-width: 38.75rem; }
.home-hero__lead { max-width: 35rem; color: var(--color-pearl-white); font-size: var(--text-lead); line-height: var(--leading-lead); }
.home-search { width: min(100%, 38.75rem); display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-2); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgb(13 41 53 / 85%); box-shadow: var(--shadow-floating); backdrop-filter: blur(12px); }
.home-search label { color: var(--color-pearl-white); font-size: var(--text-label); font-weight: 700; }
.home-search__controls { display: flex; gap: var(--space-3); min-width: 0; }
.home-search__controls > * { min-width: 0; }
.home-search__controls input { flex: 1 1 19rem; }
.home-search__controls button { flex: 0 0 auto; }
.home-search__hint, .home-search__message { margin: 0; color: var(--color-mist); font-size: var(--text-label); line-height: var(--leading-label); }
.home-search__message { color: var(--color-focus-amber); }

.home-section__intro { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.home-section__intro > * { margin: 0; min-width: 0; }

.home-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-topic-grid > * { min-width: 0; width: 100%; }
.home-topic-card__body { gap: var(--space-4); }
.home-topic-card__body > * { margin: 0; min-width: 0; }
.home-topic-card__number, .home-step-grid__number, .home-method__number { color: var(--color-burnished-copper); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.home-topic-card__body h3 { font-size: var(--text-heading-sm); }
.home-topic-card__body p:not(.home-topic-card__number) { color: var(--color-mist); }
.home-topic-card__links { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; margin-top: auto; }
.home-topic-card__links > * { min-width: 0; }

.home-catalog { padding: var(--space-10) 0; background: var(--color-abyss-blue); }
.home-filter-panel { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-7); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgb(7 25 35 / 50%); }
.home-filter-panel__desktop-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(10rem, 11.25rem); gap: var(--space-3); align-items: end; }
.home-filter-panel__desktop-fields > * { min-width: 0; width: 100%; }
.home-filter-field { display: flex; flex-direction: column; gap: var(--space-2); }
.home-filter-field label { color: var(--color-mist); font-size: var(--text-label); font-weight: 700; }
.home-filter-field select { width: 100%; }
.home-filter-panel__note { margin: 0; color: var(--color-mist); font-size: var(--text-label); }
.home-filter-panel__open { display: none; }
.home-compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-compare-grid > * { min-width: 0; width: 100%; padding-right: var(--space-5); border-right: 1px solid var(--color-border-subtle); }
.home-compare-grid > *:last-child { padding-right: 0; border-right: 0; }
.home-compare-grid h3 { margin-bottom: var(--space-3); font-family: var(--font-body); font-size: var(--text-ui); }
.home-compare-grid p { margin: 0; color: var(--color-mist); font-size: 1rem; }
.home-filter-sheet { position: fixed; inset: 0; z-index: 50; display: flex; align-items: end; justify-content: center; padding: var(--space-4); background: rgb(0 0 0 / 60%); }
.home-filter-sheet__panel { width: min(100%, 40rem); display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md) var(--radius-md) 0 0; background: var(--color-abyss-blue); }
.home-filter-sheet__heading, .home-filter-sheet__actions { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); min-width: 0; }
.home-filter-sheet__heading > *, .home-filter-sheet__actions > * { min-width: 0; }
.home-filter-sheet__heading h2 { margin: 0; font-size: var(--text-heading-sm); }
.home-filter-sheet__heading button { width: var(--touch-target); min-width: var(--touch-target); min-height: var(--touch-target); color: var(--color-pearl-white); font-size: 2rem; line-height: 1; }
.home-filter-sheet__fields { display: flex; flex-direction: column; gap: var(--space-4); }
.home-filter-sheet__fields .home-filter-field { width: 100%; }
.home-filter-sheet__fields .home-filter-field select { display: none; }
.home-filter-sheet__fields .home-filter-field::after { content: "Wybierz"; display: flex; align-items: center; min-height: var(--control-height); padding: 0 var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-mist); }
#mobile-filter-form { display: flex; flex-direction: column; gap: var(--space-4); }
#mobile-filter-form select { width: 100%; }
.home-sheet-open { overflow: hidden; }

.home-deck__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: calc(var(--space-5) * 2); margin-top: var(--space-7); align-items: start; }
.home-deck__layout > * { min-width: 0; width: 100%; }
.home-deck__figure { margin: 0; }
.home-deck__figure img { width: 100%; height: 35rem; object-fit: cover; object-position: center; border-radius: var(--radius-md); }
.home-deck__figure figcaption, .home-life__figure figcaption { margin-top: var(--space-2); }
.home-deck__copy { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; max-width: 26.25rem; }
.home-deck__copy > * { margin: 0; min-width: 0; }
.home-deck__copy h3 { font-size: var(--text-heading-sm); }
.home-day-rhythm { display: flex; flex-direction: column; gap: var(--space-4); }
.home-day-rhythm > * { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border-subtle); }
.home-day-rhythm h4 { margin-bottom: var(--space-2); font-family: var(--font-body); font-size: var(--text-ui); }
.home-day-rhythm p { margin: 0; color: var(--color-mist); font-size: 1rem; }

.home-cabin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: var(--space-7); border-top: 1px solid var(--color-border-subtle); border-bottom: 1px solid var(--color-border-subtle); }
.home-cabin-grid > * { min-width: 0; width: 100%; padding: var(--space-5); border-right: 1px solid var(--color-border-subtle); }
.home-cabin-grid > *:first-child { padding-left: 0; }
.home-cabin-grid > *:last-child { padding-right: 0; border-right: 0; }
.home-cabin-grid h3 { font-size: var(--text-heading-sm); }
.home-cabin-grid p { margin: 0; color: var(--color-mist); }
.home-cabins__link { display: inline-block; margin-top: var(--space-5); }

.home-life__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: calc(var(--space-5) * 2); align-items: start; }
.home-life__layout > * { min-width: 0; width: 100%; }
.home-life__copy { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; max-width: 31.25rem; }
.home-life__copy > * { margin: 0; min-width: 0; }
.home-life__blocks { display: flex; flex-direction: column; gap: var(--space-5); }
.home-life__blocks > * { min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border-subtle); }
.home-life__blocks h3 { font-size: var(--text-heading-sm); }
.home-life__blocks p { color: var(--color-mist); }
.home-life__links { display: flex; flex-direction: column; gap: var(--space-3); }
.home-life__figure { margin: 0; }
.home-life__figure img { width: 100%; height: 36.25rem; object-fit: cover; border-radius: var(--radius-md); }

.home-method { padding: var(--space-10) 0; background: var(--color-storm-grey); }
.home-method__layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7); align-items: start; }
.home-method__layout > * { min-width: 0; width: 100%; }
.home-method__intro { display: flex; flex-direction: column; gap: var(--space-3); max-width: 24.375rem; }
.home-method__intro > * { margin: 0; min-width: 0; }
.home-method__rules { display: flex; flex-direction: column; min-width: 0; }
.home-method__rules > * { display: grid; grid-template-columns: 3.75rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding: var(--space-5) 0; border-top: 1px solid rgb(244 240 232 / 22%); }
.home-method__rules > *:last-child { border-bottom: 1px solid rgb(244 240 232 / 22%); }
.home-method__rules h3 { margin-bottom: var(--space-2); font-size: var(--text-heading-sm); }
.home-method__rules p { margin: 0; color: var(--color-pearl-white); }
.home-method__number { margin: 0; }

.home-first__intro > a { margin-top: var(--space-2); }
.home-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-step-grid > * { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; width: 100%; padding-top: var(--space-5); border-top: 1px solid var(--color-border-subtle); }
.home-step-grid > * > * { margin: 0; min-width: 0; }
.home-step-grid h3 { font-size: var(--text-heading-sm); }
.home-step-grid p { color: var(--color-mist); }
.home-step-grid > article > div { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; margin-top: auto; }
.home-step-grid > article > div > * { min-width: 0; }

.home-cta { padding: var(--space-9) 0; background: var(--color-abyss-blue); }
.home-cta__content { width: min(100%, 45rem); display: flex; flex-direction: column; gap: var(--space-4); margin-inline: auto; min-width: 0; }
.home-cta__content > * { margin: 0; min-width: 0; }
.home-cta__content p { max-width: 42rem; color: var(--color-mist); font-size: var(--text-lead); line-height: var(--leading-lead); }
.home-cta__content .button-group { margin-top: var(--space-2); }
.home-cta__content .button { min-width: 12.5rem; }

@media (max-width: 68.75rem) {
.home-hero { min-height: 44rem; }
.home-hero__overlay { background: linear-gradient(90deg, rgb(7 25 35 / 94%) 0%, rgb(7 25 35 / 77%) 53%, rgb(9 46 61 / 45%) 100%), linear-gradient(0deg, rgb(7 25 35 / 78%) 0%, transparent 55%); }
.home-filter-panel__desktop-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-filter-panel__desktop-fields > .button { grid-column: 3; }
.home-life__layout { grid-template-columns: 1fr; gap: var(--space-6); }
.home-life__copy { max-width: 100%; order: 2; }
.home-life__figure { order: 1; }
.home-life__figure img { height: auto; aspect-ratio: 4 / 3; }
}

@media (max-width: 61.25rem) {
.home-page .home-section, .home-catalog, .home-method { padding: var(--space-9) 0; }
.home-deck__layout { grid-template-columns: 1fr; gap: var(--space-6); }
.home-deck__figure img { height: auto; aspect-ratio: 4 / 3; }
.home-deck__copy { max-width: 100%; }
.home-deck__copy > a { align-self: flex-start; }
}

@media (max-width: 56.25rem) {
.home-topic-grid, .home-step-grid { grid-template-columns: 1fr; }
.home-cabin-grid { grid-template-columns: 1fr; gap: var(--space-4); border: 0; }
.home-cabin-grid > * { padding: var(--space-5); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); background: var(--color-abyss-blue); }
.home-method__layout { grid-template-columns: 1fr; gap: var(--space-6); }
.home-method__intro { max-width: 100%; }
}

@media (max-width: 44.9375rem) {
.home-page .home-section, .home-catalog, .home-method { padding: var(--space-8) 0; }
.home-hero { min-height: 43rem; align-items: end; }
.home-hero__image { object-position: 62% top; }
.home-hero__overlay { background: linear-gradient(0deg, rgb(7 25 35 / 98%) 0%, rgb(7 25 35 / 91%) 43%, rgb(7 25 35 / 38%) 76%, rgb(7 25 35 / 18%) 100%); }
.home-hero__content { gap: var(--space-3); padding: var(--space-7) 0 var(--space-6); }
.home-hero__content h1 { font-size: 2.25rem; line-height: 1.17; }
.home-hero__lead { font-size: 1.0625rem; line-height: 1.588; }
.home-search { padding: var(--space-4); }
.home-search__controls { flex-direction: column; }
.home-search__controls input, .home-search__controls button { width: 100%; flex: 1 1 auto; min-height: 3.25rem; }
.home-filter-panel { padding: var(--space-4); }
.home-filter-panel__desktop-fields { display: none; }
.home-filter-panel__open { display: inline-flex; width: 100%; min-height: 3.25rem; }
.home-filter-panel__note { font-size: var(--text-meta); }
.home-compare-grid { grid-template-columns: 1fr; gap: 0; }
.home-compare-grid > * { padding: var(--space-4) 0; border-right: 0; border-bottom: 1px solid var(--color-border-subtle); }
.home-compare-grid > *:last-child { border-bottom: 0; }
.home-deck__layout, .home-life__layout { margin-top: var(--space-6); }
.home-method__rules > * { grid-template-columns: 1fr; gap: var(--space-2); }
.home-method__number { font-size: var(--text-ui); }
.home-cta { padding: var(--space-8) 0; }
.home-cta__content .button-group { flex-direction: column; align-items: stretch; }
.home-cta__content .button { width: 100%; min-width: 0; min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
.home-page .card, .home-page .card:hover { transform: none; transition: none; }
}