/*
 * ArtMeble: strona główna (styl Kave).
 * Tokeny i komponenty wspólne: kave.css.
 */

/* ---------- 01 Hero ---------- */

.mf-home-hero{
    padding:24px 0 0;
}

.mf-home-hero__inner{
    position:relative;
    padding:0;
}

.mf-home-hero__viewport{
    overflow:hidden;
}

.mf-home-hero__track{
    display:flex;
    transition:transform .6s var(--kv-ease);
}

.mf-home-hero__slide{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    flex:0 0 100%;
    gap:16px;
    min-width:0;
}

.mf-home-hero__nav{
    position:absolute;
    right:20px;
    bottom:20px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px;
    border-radius:var(--kv-radius-full);
    background:rgba(248,250,252,.94);
    color:var(--kv-ink);
    backdrop-filter:blur(8px);
}

.mf-home-hero__arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid var(--kv-line-strong);
    border-radius:var(--kv-radius-full);
    background:var(--kv-surface);
    color:var(--kv-green);
    font-size:1.125rem;
    cursor:pointer;
    transition:background var(--kv-t),color var(--kv-t),border-color var(--kv-t);
}

.mf-home-hero__arrow:hover{
    border-color:var(--kv-green);
    background:var(--kv-green);
    color:#fff;
}

.mf-home-hero__count{
    min-width:3.5em;
    font-size:13px;
    font-weight:600;
    text-align:center;
    font-variant-numeric:tabular-nums;
}

.mf-home-hero__content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:24px;
    padding:clamp(32px,5vw,80px);
    border-radius:var(--kv-radius-xl);
    background:var(--kv-green-deep);
    color:#fff;
}

.mf-home-hero__title{
    margin:0;
    color:#fff;
    font-family:var(--kv-font-serif);
    font-size:clamp(2.5rem,4.4vw,4.25rem);
    font-weight:400;
    line-height:1.08;
    letter-spacing:-.02em;
    text-wrap:balance;
}

.mf-home-hero__title em{
    display:block;
    color:#c7d4ea;
    font-family:var(--kv-font-serif);
    font-style:italic;
    font-weight:400;
    letter-spacing:-.02em;
}

.mf-home-hero__lead{
    max-width:34em;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:1rem;
    line-height:1.7;
}

.mf-home-hero__actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 24px;
}

.mf-home-hero__link{
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    text-decoration:underline;
    text-underline-offset:6px;
    text-decoration-color:rgba(255,255,255,.4);
    transition:text-decoration-color var(--kv-t);
}

.mf-home-hero__link:hover{
    text-decoration-color:#fff;
}

.mf-home-hero__visual{
    position:relative;
    min-height:520px;
    margin:0;
    overflow:hidden;
    border-radius:var(--kv-radius-xl);
}

.mf-home-hero__visual img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

/* ---------- 02 Zalety ---------- */

.mf-home-usp{
    padding:clamp(56px,8vw,112px) 0 clamp(56px,8vw,112px);
}

.mf-home-usp__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(24px,4vw,64px);
    align-items:center;
    padding:0;
}

.mf-home-usp__card{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:420px;
    overflow:hidden;
    padding:clamp(24px,3vw,40px);
    border-radius:var(--kv-radius-xl);
    background:var(--kv-green-deep);
    color:#fff;
}

.mf-home-usp__card-copy{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
}

.mf-home-usp__card h2{
    margin:0;
    color:#fff;
    font-family:var(--kv-font-serif);
    font-size:clamp(1.5rem,2.2vw,2rem);
    font-weight:400;
    line-height:1.2;
}

.mf-home-usp__card p{
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:.9375rem;
    line-height:1.65;
}

.mf-home-usp__more{
    align-self:flex-start;
    margin-top:16px;
}

.mf-home-usp__arch{
    position:relative;
    flex:0 0 auto;
    width:calc(100% + 2 * clamp(24px,3vw,40px));
    aspect-ratio:3 / 2;
    margin:clamp(24px,3vw,40px) calc(-1 * clamp(24px,3vw,40px)) calc(-1 * clamp(24px,3vw,40px));
    overflow:hidden;
}

.mf-home-usp__arch img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.mf-home-usp__list{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    padding:8px 0;
}

.mf-home-usp__list article{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:20px;
    row-gap:4px;
    align-items:start;
    padding:20px 0;
}

.mf-home-usp__list article + article{
    border-top:1px solid var(--kv-line-strong);
}

.mf-home-usp__icon{
    display:inline-flex;
    grid-row:1 / span 2;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border:1px solid var(--kv-line-strong);
    border-radius:var(--kv-radius-full);
    color:var(--kv-green);
    font-size:1.5rem;
}

.mf-home-usp__list h3{
    margin:0;
    color:var(--kv-ink);
    font-family:var(--kv-font-serif);
    font-size:1.125rem;
    font-weight:500;
}

.mf-home-usp__list p{
    margin:0;
    color:var(--kv-muted);
    font-size:.875rem;
    line-height:1.55;
}

/* ---------- 03 Sekcje: wspólny rytm ---------- */

.mf-home-categories,
.mf-home-products,
.mf-home-story,
.mf-home-custom,
.mf-home-materials,
.mf-home-service,
.mf-home-reviews{
    padding:clamp(56px,8vw,112px) 0 0;
}

.mf-home-categories__header,
.mf-section-head,
.mf-home-service__header,
.mf-home-reviews__header{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px 32px;
    margin-bottom:40px;
}

.mf-section-head p{
    max-width:32em;
    margin:16px 0 0;
    color:var(--kv-muted);
    line-height:1.7;
}

.mf-home-service__header{
    justify-content:center;
    text-align:center;
}

/* ---------- 04 Kategorie ---------- */

.mf-home-categories__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.mf-home-categories__card{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:28px;
    aspect-ratio:4 / 5;
    overflow:hidden;
    border-radius:var(--kv-radius-lg);
    background:var(--kv-green-deep);
    color:#fff;
    text-decoration:none;
}

.mf-home-categories__photo{
    position:absolute;
    inset:0;
    margin:0;
}

.mf-home-categories__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s var(--kv-ease);
}

.mf-home-categories__card:hover .mf-home-categories__photo img,
.mf-home-categories__card:focus-visible .mf-home-categories__photo img{
    transform:scale(1.06);
}

.mf-home-categories__card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(12,20,36,.92) 0%,rgba(12,20,36,.6) 38%,rgba(12,20,36,0) 65%);
    pointer-events:none;
}

.mf-home-categories__caption{
    display:contents;
}

.mf-home-categories__caption small{
    position:absolute;
    z-index:1;
    top:24px;
    right:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:var(--kv-radius-full);
    border:1px solid rgba(255,255,255,.4);
    background:var(--kv-green-deep);
    color:#fff;
    font-size:.8125rem;
    font-weight:600;
}

.mf-home-categories__caption h3{
    position:relative;
    z-index:1;
    margin:0;
    color:#fff;
    font-family:var(--kv-font-serif);
    font-size:1.5rem;
    font-weight:500;
}

.mf-home-categories__caption p,
.mf-home-categories__cta{
    position:relative;
    z-index:1;
    max-height:0;
    margin:0;
    overflow:hidden;
    opacity:0;
    transform:translateY(16px);
    transition:max-height .5s var(--kv-ease),opacity .4s var(--kv-ease),transform .5s var(--kv-ease),margin .5s var(--kv-ease),background-color .25s var(--kv-ease),color .25s var(--kv-ease);
}

.mf-home-categories__caption p{
    color:rgba(255,255,255,.82);
    font-size:.9375rem;
    line-height:1.6;
}

.mf-home-categories__cta{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    gap:10px;
    min-height:0;
    padding:0 24px;
    border-radius:var(--kv-radius-full);
    background:#fff;
    color:var(--kv-green);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.mf-home-categories__card:hover .mf-home-categories__caption p,
.mf-home-categories__card:focus-visible .mf-home-categories__caption p{
    max-height:8em;
    margin-top:8px;
    opacity:1;
    transform:none;
}

.mf-home-categories__card:hover .mf-home-categories__cta,
.mf-home-categories__card:focus-visible .mf-home-categories__cta{
    max-height:52px;
    min-height:52px;
    margin-top:16px;
    opacity:1;
    transform:none;
}

.mf-home-categories__cta:hover{
    background:var(--kv-sage);
}

@media (hover:none){
    .mf-home-categories__caption p,
    .mf-home-categories__cta{
        display:none;
    }
}

/* ---------- 05 Wybrane modele ---------- */

.mf-home-products__footer{
    display:flex;
    justify-content:center;
    margin-top:40px;
}

.mf-home-products__empty{
    padding:48px 24px;
    border-radius:var(--kv-radius-lg);
    background:var(--kv-surface);
    color:var(--kv-muted);
    text-align:center;
}

/* ---------- 06 O marce ---------- */

.mf-home-story__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:clamp(32px,6vw,88px);
}

.mf-home-story__visual{
    position:relative;
    order:2;
    overflow:hidden;
    border-radius:var(--kv-radius-xl);
    aspect-ratio:1 / 1;
}

.mf-home-story__visual img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.mf-home-story__content{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
}

.mf-home-story__link{
    position:absolute;
    bottom:24px;
    left:24px;
}

.mf-home-story__lead{
    margin:0;
}

.mf-home-story__stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    width:100%;
    padding-top:24px;
    border-top:1px solid var(--kv-line-strong);
}

.mf-home-story__stats div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.mf-home-story__stats div+div{
    padding-left:24px;
    border-left:1px solid var(--kv-line-strong);
}

.mf-home-story__stats strong{
    color:var(--kv-green);
    font-family:var(--kv-font-serif);
    font-size:2rem;
    font-weight:400;
    line-height:1.1;
}

.mf-home-story__stats span{
    color:var(--kv-muted);
    font-size:.8125rem;
    line-height:1.5;
}

/* ---------- 07 Własny wymiar ---------- */

.mf-home-custom__inner{
    padding:clamp(24px,3.5vw,48px);
    border-radius:var(--kv-radius-xl);
    background:var(--kv-green-deep);
    color:#fff;
    display:grid;
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    grid-template-areas:"visual intro" "visual steps";
    gap:clamp(24px,3vw,40px) clamp(24px,3vw,48px);
    align-items:stretch;
}

.mf-home-custom__visual{
    position:relative;
    grid-area:visual;
    min-height:420px;
    margin:0;
    overflow:hidden;
    border-radius:var(--kv-radius-xl);
}

.mf-home-custom__visual img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.mf-home-custom__intro{
    grid-area:intro;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:20px;
}

.mf-home-custom__intro .kv-title{
    color:#fff;
}

.mf-home-custom__intro .kv-title em{
    color:#c7d4ea;
}

.mf-home-custom__intro p{
    margin:0;
    color:rgba(255,255,255,.76);
    line-height:1.7;
}

.mf-home-custom__btn{
    background:#fff;
    color:var(--kv-green-deep);
}

.mf-home-custom__btn:hover{
    background:var(--kv-sage);
    color:var(--kv-green-deep);
}

.mf-home-custom__steps{
    grid-area:steps;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.mf-home-custom__steps li{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:20px;
    border-radius:var(--kv-radius-lg);
    background:rgba(255,255,255,.08);
    color:#fff;
}

.mf-home-custom__step-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:var(--kv-radius-full);
    font-size:1.25rem;
}

.mf-home-custom__steps h3{
    margin:0 0 6px;
    color:#fff;
    font-family:var(--kv-font-serif);
    font-size:1.0625rem;
    font-weight:500;
}

.mf-home-custom__steps p{
    margin:0;
    color:rgba(255,255,255,.74);
    font-size:.8125rem;
    line-height:1.55;
}

/* ---------- 08 Materiały ---------- */

.mf-home-materials__row{
    display:flex;
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}

.mf-home-materials__row::-webkit-scrollbar{
    display:none;
}

.mf-home-materials__nav{
    display:flex;
    gap:8px;
    justify-content:flex-end;
    margin-top:24px;
}

.mf-home-materials__arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid var(--kv-line-strong);
    border-radius:var(--kv-radius-full);
    background:var(--kv-surface);
    color:var(--kv-green);
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}

.mf-home-materials__arrow:hover:not(:disabled){
    border-color:var(--kv-green);
    background:var(--kv-green);
    color:#fff;
}

.mf-home-materials__arrow:disabled{
    cursor:default;
    opacity:.4;
}

.mf-home-materials__arrow:focus-visible{
    outline:2px solid var(--kv-green);
    outline-offset:3px;
}

.mf-home-materials__arrow svg{
    width:18px;
    height:18px;
}

.mf-home-materials__arrow--prev svg{
    transform:rotate(180deg);
}

.mf-home-materials__card{
    display:flex;
    flex:0 0 calc((100% - 48px) / 4);
    flex-direction:column;
    gap:16px;
    scroll-snap-align:start;
}

.mf-home-materials__photo{
    aspect-ratio:3 / 4;
    margin:0;
    overflow:hidden;
    border-radius:var(--kv-radius-lg);
}

.mf-home-materials__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s var(--kv-ease);
}

.mf-home-materials__card:hover .mf-home-materials__photo img{
    transform:scale(1.04);
}

.mf-home-materials__body h3{
    margin:0 0 6px;
    color:var(--kv-ink);
    font-family:var(--kv-font-serif);
    font-size:1.125rem;
    font-weight:500;
}

.mf-home-materials__body p{
    margin:0;
    color:var(--kv-muted);
    font-size:.875rem;
    line-height:1.55;
}

/* ---------- 09 Jak kupujesz ---------- */

.mf-home-service__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
}

.mf-home-service__grid article{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
}

.mf-home-service__grid article:not(:last-child)::before{
    content:"";
    position:absolute;
    top:32px;
    left:80px;
    right:-16px;
    border-top:1px dashed var(--kv-green);
    opacity:.5;
}

.mf-home-service__number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    margin-bottom:12px;
    border:1px solid var(--kv-green);
    border-radius:var(--kv-radius-full);
    background:var(--kv-surface);
    color:var(--kv-green);
    font-size:1.5rem;
}

.mf-home-service__grid h3{
    margin:0;
    font-family:var(--kv-font-serif);
    font-size:1.25rem;
    font-weight:500;
}

.mf-home-service__grid p{
    margin:0;
    color:var(--kv-muted);
    font-size:.9375rem;
    line-height:1.6;
}

/* ---------- 10 Opinie ---------- */

.mf-home-reviews__side{
    display:flex;
    align-items:center;
    gap:24px;
}

.mf-home-reviews__rating{
    display:flex;
    align-items:center;
    gap:10px;
}

.mf-home-reviews__rating strong{
    color:var(--kv-ink);
    font-family:var(--kv-font-serif);
    font-size:2rem;
    font-weight:500;
}

.mf-home-reviews__stars{
    display:inline-flex;
    gap:2px;
    color:var(--kv-green);
    font-size:.875rem;
}

.mf-home-reviews__rating small{
    color:var(--kv-muted);
    font-size:.8125rem;
}

.mf-home-reviews__controls{
    display:flex;
    gap:8px;
}

.mf-home-reviews__controls button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border:1px solid var(--kv-line-strong);
    border-radius:var(--kv-radius-full);
    background:var(--kv-surface);
    color:var(--kv-green);
    cursor:pointer;
    transition:background .25s var(--kv-ease),color .25s var(--kv-ease);
}

.mf-home-reviews__controls button:hover:not(:disabled){
    background:var(--kv-green);
    color:#fff;
}

.mf-home-reviews__controls button:disabled{
    opacity:.4;
    cursor:default;
}

.mf-home-reviews__track{
    display:flex;
    gap:24px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}

.mf-home-reviews__track::-webkit-scrollbar{
    display:none;
}

.mf-home-reviews__track blockquote{
    display:flex;
    flex:0 0 calc((100% - 48px) / 3);
    flex-direction:column;
    justify-content:space-between;
    gap:24px;
    margin:0;
    padding:32px;
    border-radius:var(--kv-radius-lg);
    background:var(--kv-surface);
    scroll-snap-align:start;
}

.mf-home-reviews__track blockquote p{
    margin:0;
    color:var(--kv-text);
    font-family:var(--kv-font-serif);
    font-size:1.125rem;
    line-height:1.6;
}

.mf-home-reviews__author{
    display:flex;
    align-items:center;
    gap:12px;
}

.mf-home-reviews__avatar{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:var(--kv-radius-full);
    background:var(--kv-sage);
    color:var(--kv-green);
    font-weight:600;
}

.mf-home-reviews__author-copy{
    display:flex;
    flex-direction:column;
    font-size:.8125rem;
}

.mf-home-reviews__author-copy strong{
    color:var(--kv-ink);
    font-size:.9375rem;
}

.mf-home-reviews__author-copy span{
    color:var(--kv-muted);
}

.mf-home-reviews__dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:32px;
}

.mf-home-reviews__dot{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:var(--kv-radius-full);
    background:var(--kv-line-strong);
    cursor:pointer;
    transition:width .35s var(--kv-ease),background-color .25s var(--kv-ease);
}

.mf-home-reviews__dot:hover{
    background:var(--kv-muted);
}

.mf-home-reviews__dot.is-active{
    width:32px;
    background:var(--kv-green);
}

/* ---------- 11 Kontakt (oferta) ---------- */

.mf-home-contact{
    padding:clamp(56px,8vw,112px) 0 0;
}

.mf-home-contact__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    overflow:hidden;
    border-radius:var(--kv-radius-xl);
    background:var(--kv-sage);
    padding:0;
}

.mf-home-contact__copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:20px;
    padding:clamp(32px,5vw,72px);
}

.mf-home-contact__copy p{
    max-width:30em;
    margin:0;
    color:var(--kv-text);
    line-height:1.7;
}

.mf-home-contact__note{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:8px;
    padding-top:20px;
    border-top:1px solid rgba(30,47,77,.2);
    align-self:stretch;
}

.mf-home-contact__note-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid rgba(30,47,77,.35);
    border-radius:var(--kv-radius-full);
    color:var(--kv-green);
    font-size:1.25rem;
}

.mf-home-contact__note strong{
    display:block;
    color:var(--kv-ink);
    font-size:.9375rem;
}

.mf-home-contact__note small{
    color:var(--kv-muted);
    font-size:.8125rem;
}

.mf-home-contact__visual{
    position:relative;
    min-height:380px;
    margin:0;
}

.mf-home-contact__visual img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

/* ---------- 11b Tła sekcji ---------- */

.mf-home-products,
.mf-home-reviews{
    padding-bottom:clamp(56px,8vw,112px);
    background:var(--kv-bg-soft);
}

.mf-home-products{
    margin-top:clamp(56px,8vw,112px);
}

.mf-home-service{
    padding-bottom:clamp(56px,8vw,112px);
    background:var(--kv-sage);
}

.mf-home-service{
    margin-top:clamp(56px,8vw,112px);
}

.mf-home-reviews{
    margin-top:0;
}

/* ---------- 12 Responsywność ---------- */

@media (max-width:1100px){
    .mf-home-usp__inner{
        grid-template-columns:minmax(0,1fr);
    }

    .mf-home-usp__list{
        order:3;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:24px;
    }

    .mf-home-usp__list article + article{
        border-top:0;
    }

    .mf-home-service__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .mf-home-service__grid{
        row-gap:40px;
    }

    .mf-home-service__grid article::before{
        display:none;
    }

    .mf-home-custom__inner{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        grid-template-areas:"visual intro" "steps steps";
    }

    .mf-home-materials__card{
        flex-basis:calc((100% - 32px) / 3);
    }

    .mf-home-reviews__track blockquote{
        flex-basis:calc((100% - 24px) / 2);
    }
}

@media (max-width:860px){
    .mf-home-categories__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .mf-home-hero__slide,
    .mf-home-story__inner,
    .mf-home-contact__inner{
        grid-template-columns:minmax(0,1fr);
    }

    .mf-home-hero__visual{
        min-height:340px;
    }

    .mf-home-usp__list{
        grid-template-columns:minmax(0,1fr);
        gap:0;
    }

    .mf-home-usp__list article + article{
        border-top:1px solid var(--kv-line-strong);
    }

    .mf-home-custom__inner{
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:"visual" "intro" "steps";
    }

    .mf-home-custom__visual{
        min-height:300px;
    }

    .mf-home-contact__visual{
        min-height:260px;
    }
}

@media (max-width:600px){
    .mf-home-hero{
        padding-top:12px;
    }

    .mf-home-usp__inner{
        grid-template-columns:minmax(0,1fr);
    }

    .mf-home-usp__card{
        min-height:360px;
    }

    .mf-home-materials__card{
        flex-basis:calc((100% - 16px) / 2);
    }

    .mf-home-categories__grid,
    .mf-home-service__grid,
    .mf-home-custom__steps{
        grid-template-columns:minmax(0,1fr);
    }

    .mf-home-story__stats{
        grid-template-columns:minmax(0,1fr);
    }

    .mf-home-reviews__track blockquote{
        flex-basis:88%;
    }

    .mf-home-reviews__side{
        width:100%;
        justify-content:space-between;
    }
}

@media (max-width:600px){
    .mf-home-service__grid{
        row-gap:32px;
    }

    .mf-home-service__grid article{
        min-height:64px;
        padding-left:88px;
    }

    .mf-home-service__number{
        position:absolute;
        top:0;
        left:0;
        margin:0;
    }

    .mf-home-service__grid article:not(:last-child)::before{
        display:block;
        top:72px;
        bottom:-28px;
        left:32px;
        right:auto;
        border-top:0;
        border-left:1px dashed var(--kv-green);
    }
}

/* ---------- Animacja wjazdu sekcji (home.js dodaje data-reveal) ---------- */

[data-reveal]{
    opacity:0;
    translate:0 28px;
    transition:opacity .7s var(--kv-ease) var(--kv-reveal-delay,0ms),translate .7s var(--kv-ease) var(--kv-reveal-delay,0ms);
}

[data-reveal].is-visible{
    opacity:1;
    translate:0 0;
}
