/*
 * CORNALBA - K-FARM BY KAPRIOL
 * Prima implementazione responsive da preview 1920.
 * Breakpoint di progetto: 1800 / 1280 / 1024 / 768 / 390.
 */

.page-kfarm {
    --kf-blue: #313280;
    --kf-soft: #dfe1ea;
    --kf-light: #f2f3f6;
    --kf-orange: #ca511b;
    --kf-green: #445b44;
    --kf-black: #101010;
    --kf-white: #fff;
    --kf-content: 960px;
    overflow-x: hidden;
}

.page-kfarm main { overflow: hidden; }
.page-kfarm .kf-orange { color: var(--kf-orange); }

.kf-container {
    width: min(calc(100% - 48px), var(--kf-content));
    margin-inline: auto;
}

.kf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 24px;
    border-radius: 999px;
    background: var(--kf-orange);
    color: var(--kf-white);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none;
    transition: transform .18s ease, filter .18s ease;
}

.kf-btn:hover,
.kf-btn:focus-visible { filter: brightness(1.06); transform: translateY(-1px); }

/* HERO ------------------------------------------------------------------ */
.kf-hero {
    position: relative;
    height: 818px;
    background: #222;
    color: var(--kf-white);
}

.kf-hero__image,
.kf-hero__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.kf-hero__image { object-fit: cover; object-position: center center; }
.kf-hero__shade {
    background: linear-gradient(90deg, rgba(10,14,13,.36) 0%, rgba(10,14,13,.19) 42%, rgba(10,14,13,.10) 69%, rgba(10,14,13,.22) 100%);
}

.kf-hero__content {
    position: relative;
    z-index: 1;
    width: min(calc(100% - 48px), 860px);
    height: 100%;
    margin-inline: auto;
    padding-top: 264px;
}

.kf-hero__title {
    margin: 0;
    max-width: 610px;
    font-size: clamp(58px, 4.65vw, 89px);
    font-weight: 300;
    line-height: .86;
    letter-spacing: -.045em;
}

.kf-hero__title span { display: block; }
.kf-hero__logo { width: 280px; height: auto; margin: 35px 0 0 188px; }

/* INTRO ----------------------------------------------------------------- */
.kf-intro { padding: 84px 0 100px; background: var(--kf-white); }
.kf-intro__inner { max-width: 960px; }
.kf-intro__title {
    width: 760px;
    max-width: 100%;
    margin-bottom: 46px;
    color: var(--kf-blue);
    font-size: 31px;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.035em;
}
.kf-intro__title strong { font-weight: 800; }
.kf-intro__claim {
    margin-bottom: 56px;
    color: var(--kf-blue);
    font-size: 23px;
    font-weight: 800;
    line-height: 1.2;
}
.kf-intro__copy { max-width: 820px; color: var(--kf-black); font-size: 18px; line-height: 1.38; }
.kf-intro__copy p { margin-bottom: 27px; }
.kf-intro__copy strong { font-weight: 800; }
.kf-intro__closing { margin-top: 32px; margin-bottom: 0 !important; }

/* SPLIT: PRIMA PROTEZIONE ----------------------------------------------- */
.kf-protection { display: grid; grid-template-columns: 1fr 1fr; min-height: 686px; }
.kf-protection__media { min-width: 0; background: #dde1df; }
.kf-protection__media img { width: 100%; height: 100%; object-fit: cover; }
.kf-protection__panel { display: flex; align-items: stretch; background: var(--kf-blue); color: var(--kf-white); }
.kf-protection__inner {
    width: min(100%, 620px);
    padding: 70px 76px 56px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.kf-protection h2 { margin-bottom: 48px; font-size: 40px; font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.kf-protection h2 span,
.kf-protection h2 strong { display: block; }
.kf-protection h2 strong { color: var(--kf-orange); font-weight: 800; }
.kf-protection p { max-width: 430px; margin-bottom: 38px; font-size: 18px; line-height: 1.32; }
.kf-protection p strong { font-weight: 800; }
.kf-protection .kf-btn { margin-top: auto; }

/* PILASTRI / GIACCONE --------------------------------------------------- */
.kf-pillars { background: var(--kf-white); }
.kf-pillars__top { position: relative; height: 720px; background: linear-gradient(to bottom, var(--kf-white) 0 66%, var(--kf-soft) 66% 100%); }
.kf-pillars__stage { position: relative; width: min(calc(100% - 48px), 960px); height: 100%; margin-inline: auto; }
.kf-pillars__title {
    position: absolute;
    z-index: 3;
    top: 86px;
    left: 0;
    width: 700px;
    margin: 0;
    color: var(--kf-blue);
    font-size: 40px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.035em;
}
.kf-pillars__title strong { font-weight: 800; }
.kf-pillars__visual { position: absolute; inset: 0; }
.kf-pillars__jacket {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: -16px;
    width: 520px;
    max-width: none;
    transform: translateX(-50%);
}
.kf-callout {
    position: absolute;
    z-index: 4;
    color: var(--kf-orange);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.05;
}
.kf-callout span { display: block; }
.kf-callout::after {
    content: "";
    position: absolute;
    height: 1px;
    background: var(--kf-orange);
    transform-origin: left center;
}
.kf-callout--fabric { top: 286px; left: 0; width: 155px; }
.kf-callout--fabric::after { top: 31px; left: 146px; width: 108px; transform: rotate(38deg); }
.kf-callout--safety { top: 286px; right: 0; width: 170px; }
.kf-callout--safety::after { top: 33px; right: 157px; width: 120px; transform: rotate(139deg); transform-origin: right center; }
.kf-callout--weather { top: 495px; right: 0; width: 190px; }
.kf-callout--weather::after { top: 21px; right: 177px; width: 90px; transform-origin: right center; }

.kf-pillars__bottom { background: var(--kf-soft); padding: 48px 0 72px; }
.kf-pillars__cards { width: min(calc(100% - 48px), 960px); margin-inline: auto; display: grid; grid-template-columns: repeat(3, 1fr); }
.kf-pillar-card { min-height: 305px; padding: 0 36px 0 0; }
.kf-pillar-card + .kf-pillar-card { border-left: 1px solid rgba(255,255,255,.9); padding-left: 36px; }
.kf-pillar-card h3 { margin: 0 0 48px; color: var(--kf-orange); font-size: 28px; font-weight: 400; line-height: 1.01; letter-spacing: -.025em; }
.kf-pillar-card h3 span { display: block; }
.kf-pillar-card p { margin: 0; color: #171717; font-size: 15px; line-height: 1.32; }

/* COLLAGE --------------------------------------------------------------- */
.kf-collage { position: relative; overflow: hidden; background: #ddd; }
.kf-collage picture,
.kf-collage picture img { width: 100%; }
.kf-collage picture img { aspect-ratio: 1920 / 686; object-fit: cover; }
.kf-collage__logo { display: none; position: absolute; z-index: 2; height: auto; }

/* TESTO CENTRALE -------------------------------------------------------- */
.kf-reference { padding: 76px 0 84px; background: var(--kf-white); }
.kf-reference__inner { max-width: 960px; }
.kf-reference h2 { max-width: 920px; margin-bottom: 40px; color: var(--kf-blue); font-size: 39px; font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
.kf-reference h2 strong { color: var(--kf-orange); font-weight: 800; }
.kf-reference h3 { margin-bottom: 52px; color: var(--kf-blue); font-size: 26px; font-weight: 800; line-height: 1.2; }
.kf-reference p { max-width: 930px; margin-bottom: 48px; color: var(--kf-black); font-size: 18px; line-height: 1.38; }

/* COLLEZIONE ------------------------------------------------------------ */
.kf-collection { display: grid; grid-template-columns: 1fr 1fr; min-height: 700px; }
.kf-collection__media { background: var(--kf-light); }
.kf-collection__media img { width: 100%; height: 100%; object-fit: cover; }
.kf-collection__panel { background: var(--kf-green); color: var(--kf-white); }
.kf-collection__inner { width: min(100%, 640px); height: 100%; padding: 78px 76px 56px; display: flex; flex-direction: column; align-items: flex-start; }
.kf-collection h2 { margin-bottom: 52px; font-size: 40px; font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.kf-collection h2 span,
.kf-collection h2 strong { display: block; }
.kf-collection h2 strong { color: var(--kf-orange); font-weight: 800; }
.kf-collection__points p { margin-bottom: 26px; font-size: 16px; line-height: 1.28; }
.kf-collection__points strong { font-weight: 800; }
.kf-collection .kf-btn { margin-top: auto; }

/* RIVENDITORE ----------------------------------------------------------- */
.kf-retailer { height: 690px; background: var(--kf-white); }
.kf-retailer__inner { position: relative; width: min(calc(100% - 48px), 960px); height: 100%; display: grid; grid-template-columns: 46% 54%; }
.kf-retailer__copy { position: relative; z-index: 2; padding: 78px 0 0; }
.kf-retailer h2 { margin: 0 0 46px; color: var(--kf-blue); font-size: 46px; font-weight: 400; line-height: .99; letter-spacing: -.035em; }
.kf-retailer h2 strong { font-weight: 800; }
.kf-retailer__copy p { width: 390px; max-width: 100%; margin-bottom: 48px; font-size: 16px; line-height: 1.35; }
.kf-retailer__cornalba { width: 250px; height: auto; }
.kf-retailer__media { position: relative; height: 100%; }
.kf-retailer__media img { position: absolute; top: 24px; left: 12%; width: 500px; max-width: none; height: auto; }

/* B2B ------------------------------------------------------------------- */
.kf-b2b { display: grid; grid-template-columns: 1fr 1fr; min-height: 686px; }
.kf-b2b__panel { display: flex; justify-content: flex-end; background: var(--kf-blue); color: var(--kf-white); }
.kf-b2b__inner { width: min(100%, 620px); padding: 76px 76px 56px; display: flex; flex-direction: column; align-items: flex-start; }
.kf-b2b__brand { margin-bottom: 44px; font-size: 41px; font-weight: 400; line-height: .98; }
.kf-b2b__brand strong,
.kf-b2b__brand span { display: block; }
.kf-b2b__brand strong { font-weight: 800; }
.kf-b2b h2 { max-width: 420px; margin-bottom: 50px; font-size: 39px; font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.kf-b2b__point { max-width: 430px; margin-bottom: 36px; font-size: 17px; line-height: 1.3; }
.kf-b2b__point strong { font-weight: 800; }
.kf-b2b .kf-btn { margin-top: auto; }
.kf-b2b__media { min-width: 0; }
.kf-b2b__media img { width: 100%; height: 100%; object-fit: cover; }

/* <= 1799 --------------------------------------------------------------- */
@media (max-width: 1799px) {
    .kf-hero__content { width: min(calc(100% - 48px), 820px); }
    .kf-hero__logo { margin-left: 158px; }
}

/* <= 1280 --------------------------------------------------------------- */
@media (max-width: 1280px) {
    .kf-hero { height: 700px; }
    .kf-hero__content { width: min(calc(100% - 48px), 760px); padding-top: 230px; }
    .kf-hero__title { font-size: 68px; }
    .kf-hero__logo { width: 230px; margin-top: 30px; margin-left: 138px; }

    .kf-intro { padding: 72px 0 84px; }
    .kf-intro__title { font-size: 29px; }

    .kf-protection { min-height: 620px; }
    .kf-protection__inner { padding: 62px 54px 48px; }
    .kf-protection h2 { font-size: 36px; }
    .kf-protection p { font-size: 17px; }

    /* Manteniamo il disegno desktop del giaccone anche a 1280. */
    .kf-pillars__top { height: 690px; }
    .kf-pillars__stage { width: min(calc(100% - 48px), 900px); }
    .kf-pillars__title { top: 76px; font-size: 36px; }
    .kf-pillars__jacket { width: 490px; }
    .kf-callout--fabric { left: 8px; }
    .kf-callout--safety,
    .kf-callout--weather { right: 8px; }
    .kf-pillars__cards { width: min(calc(100% - 48px), 900px); }

    .kf-collage picture img { aspect-ratio: 1280 / 686; }
    .kf-collage__logo { display: block; width: 170px; left: 32.4%; top: 46%; transform: translate(-50%,-50%); }

    .kf-reference { padding-block: 70px 78px; }
    .kf-reference h2 { font-size: 36px; }

    .kf-collection { min-height: 630px; }
    .kf-collection__inner { padding: 66px 54px 48px; }
    .kf-collection h2 { font-size: 36px; }

    .kf-retailer { height: 630px; }
    .kf-retailer h2 { font-size: 40px; }
    .kf-retailer__media img { top: 36px; width: 450px; }

    .kf-b2b { min-height: 620px; }
    .kf-b2b__inner { padding: 66px 54px 48px; }
    .kf-b2b__brand { font-size: 37px; }
    .kf-b2b h2 { font-size: 35px; }
}

/* <= 1023: ancora schema giaccone desktop, compattato ------------------ */
@media (max-width: 1023px) {
    .kf-container,
    .kf-pillars__stage,
    .kf-pillars__cards,
    .kf-retailer__inner { width: min(calc(100% - 44px), 860px); }

    .kf-hero { height: 620px; }
    .kf-hero__image { object-position: 46% center; }
    .kf-hero__content { width: min(calc(100% - 44px), 650px); padding-top: 210px; }
    .kf-hero__title { font-size: 58px; }
    .kf-hero__logo { width: 205px; margin-left: 116px; }

    .kf-intro__copy { font-size: 17px; }

    .kf-protection { min-height: 560px; }
    .kf-protection__inner { padding: 52px 38px 42px; }
    .kf-protection h2 { margin-bottom: 34px; font-size: 31px; }
    .kf-protection p { margin-bottom: 30px; font-size: 15px; }

    .kf-pillars__top { height: 650px; }
    .kf-pillars__title { top: 66px; width: 620px; font-size: 32px; }
    .kf-pillars__jacket { width: 440px; bottom: -8px; }
    .kf-callout { font-size: 14px; }
    .kf-callout--fabric { top: 265px; left: 0; }
    .kf-callout--fabric::after { left: 129px; width: 90px; }
    .kf-callout--safety { top: 265px; right: 0; width: 150px; }
    .kf-callout--safety::after { right: 137px; width: 96px; }
    .kf-callout--weather { top: 445px; right: 0; width: 160px; }
    .kf-callout--weather::after { right: 150px; width: 62px; }
    .kf-pillars__bottom { padding: 44px 0 60px; }
    .kf-pillar-card { padding-right: 24px; }
    .kf-pillar-card + .kf-pillar-card { padding-left: 24px; }
    .kf-pillar-card h3 { margin-bottom: 34px; font-size: 24px; }
    .kf-pillar-card p { font-size: 14px; }

    .kf-collage picture img { aspect-ratio: 1024 / 686; }
    .kf-collage__logo { width: 160px; left: 23%; top: 47%; }

    .kf-reference h2 { font-size: 33px; }
    .kf-reference h3 { margin-bottom: 38px; font-size: 24px; }
    .kf-reference p { font-size: 17px; }

    .kf-collection { min-height: 570px; }
    .kf-collection__inner { padding: 54px 38px 42px; }
    .kf-collection h2 { margin-bottom: 36px; font-size: 31px; }
    .kf-collection__points p { margin-bottom: 19px; font-size: 14px; }

    .kf-retailer { height: 560px; }
    .kf-retailer__copy { padding-top: 58px; }
    .kf-retailer h2 { margin-bottom: 34px; font-size: 35px; }
    .kf-retailer__copy p { width: 330px; margin-bottom: 35px; font-size: 14px; }
    .kf-retailer__cornalba { width: 210px; }
    .kf-retailer__media img { top: 32px; left: 0; width: 410px; }

    .kf-b2b { min-height: 560px; }
    .kf-b2b__inner { padding: 54px 38px 42px; }
    .kf-b2b__brand { margin-bottom: 34px; font-size: 33px; }
    .kf-b2b h2 { margin-bottom: 36px; font-size: 31px; }
    .kf-b2b__point { font-size: 15px; }
}

/* <= 767: schema mobile alternativo ------------------------------------ */
@media (max-width: 767px) {
    .kf-container,
    .kf-pillars__stage,
    .kf-pillars__cards,
    .kf-retailer__inner { width: min(calc(100% - 40px), 560px); }

    .kf-btn { min-height: 43px; padding: 10px 20px; font-size: 14px; }

    .kf-hero { height: 620px; }
    .kf-hero__image { object-position: 40% center; }
    .kf-hero__shade { background: linear-gradient(90deg, rgba(9,12,11,.46), rgba(9,12,11,.15) 75%); }
    .kf-hero__content { width: calc(100% - 40px); padding-top: 200px; }
    .kf-hero__title { max-width: 440px; font-size: clamp(48px, 12vw, 64px); line-height: .9; }
    .kf-hero__logo { width: 190px; margin: 30px 0 0 70px; }

    .kf-intro { padding: 58px 0 66px; }
    .kf-intro__title { margin-bottom: 32px; font-size: 26px; }
    .kf-intro__claim { margin-bottom: 38px; font-size: 20px; }
    .kf-intro__copy { font-size: 16px; line-height: 1.42; }

    .kf-protection { grid-template-columns: 1fr; }
    .kf-protection__media { height: 500px; }
    .kf-protection__panel { min-height: 520px; }
    .kf-protection__inner { width: min(calc(100% - 40px), 560px); margin-inline: auto; padding: 54px 0 48px; }
    .kf-protection h2 { font-size: 34px; }
    .kf-protection p { max-width: 500px; font-size: 16px; }

    /* Il giaccone resta protagonista, ma le callout diventano label pulite. */
    .kf-pillars__top { height: auto; background: var(--kf-white); }
    .kf-pillars__stage { height: auto; padding: 64px 0 0; }
    .kf-pillars__title { position: static; width: auto; margin-bottom: 42px; font-size: 31px; }
    .kf-pillars__visual { position: relative; inset: auto; display: grid; grid-template-columns: 1fr; padding-bottom: 0; }
    .kf-pillars__jacket { position: relative; inset: auto; order: 1; width: min(86vw, 420px); margin: 0 auto -55px; transform: none; }
    .kf-callout { position: relative; inset: auto !important; order: 2; width: 100% !important; padding: 14px 0 0 18px; border-left: 2px solid var(--kf-orange); font-size: 16px; }
    .kf-callout::after { display: none; }
    .kf-callout + .kf-callout { margin-top: 18px; }
    .kf-callout--fabric { margin-top: 78px; }

    .kf-pillars__bottom { margin-top: 34px; padding: 42px 0 56px; }
    .kf-pillars__cards { grid-template-columns: 1fr; }
    .kf-pillar-card { min-height: 0; padding: 0 0 34px; }
    .kf-pillar-card + .kf-pillar-card { padding: 34px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.95); }
    .kf-pillar-card h3 { margin-bottom: 22px; font-size: 27px; }
    .kf-pillar-card p { max-width: 500px; font-size: 15px; }

    .kf-collage picture img { min-height: 420px; aspect-ratio: auto; object-fit: cover; }
    .kf-collage__logo { width: 145px; left: 28%; top: 51%; }

    .kf-reference { padding: 58px 0 66px; }
    .kf-reference h2 { margin-bottom: 28px; font-size: 30px; }
    .kf-reference h3 { margin-bottom: 34px; font-size: 22px; }
    .kf-reference p { margin-bottom: 34px; font-size: 16px; }

    .kf-collection { grid-template-columns: 1fr; }
    .kf-collection__media { height: 500px; }
    .kf-collection__panel { min-height: 560px; }
    .kf-collection__inner { width: min(calc(100% - 40px), 560px); margin-inline: auto; padding: 54px 0 48px; }
    .kf-collection h2 { font-size: 33px; }
    .kf-collection__points p { font-size: 15px; }

    .kf-retailer { height: auto; min-height: 760px; }
    .kf-retailer__inner { display: block; }
    .kf-retailer__copy { padding: 58px 0 0; }
    .kf-retailer h2 { position: relative; z-index: 2; margin-bottom: 30px; font-size: 36px; }
    .kf-retailer__copy p { position: relative; z-index: 2; width: 320px; font-size: 15px; }
    .kf-retailer__cornalba { position: relative; z-index: 2; width: 200px; }
    .kf-retailer__media { height: 350px; }
    .kf-retailer__media img { top: -10px; left: 46%; width: 365px; }

    .kf-b2b { grid-template-columns: 1fr; }
    .kf-b2b__panel { order: 1; justify-content: center; min-height: 530px; }
    .kf-b2b__inner { width: min(calc(100% - 40px), 560px); padding: 52px 0 48px; }
    .kf-b2b__brand { font-size: 36px; }
    .kf-b2b h2 { font-size: 33px; }
    .kf-b2b__point { font-size: 16px; }
    .kf-b2b__media { order: 2; height: 520px; }
}

@media (max-width: 390px) {
    .kf-container,
    .kf-pillars__stage,
    .kf-pillars__cards,
    .kf-retailer__inner { width: calc(100% - 34px); }

    .kf-hero { height: 570px; }
    .kf-hero__content { width: calc(100% - 34px); padding-top: 190px; }
    .kf-hero__title { font-size: 45px; }
    .kf-hero__logo { width: 170px; margin-left: 45px; }

    .kf-intro__title { font-size: 24px; }
    .kf-protection__media { height: 430px; }

    .kf-pillars__title { font-size: 28px; }
    .kf-pillars__jacket { width: 350px; }

    .kf-collage picture img { min-height: 360px; }
    .kf-collage__logo { width: 125px; }

    .kf-reference h2 { font-size: 28px; }
    .kf-collection__media { height: 430px; }

    .kf-retailer h2 { font-size: 33px; }
    .kf-retailer__media img { left: 34%; width: 350px; }

    .kf-b2b__media { height: 430px; }
}

/* Fase 2 — separatori solo dove non interviene un pannello blu. */
.page-kfarm .kf-protection,.page-kfarm .kf-b2b { gap:0; border:0; }
.kf-collage { border-top:2px solid #fff; }
.kf-collection { gap:2px; background:#fff; }
.kf-pillar-card + .kf-pillar-card { border-left:2px solid #fff; }
@media (max-width:767px) {
    .kf-pillar-card + .kf-pillar-card { border-left:0; border-top:2px solid #fff; }
}

/* Regola corretta: blu senza giunti verticali, con giunti orizzontali. */
.page-kfarm .kf-protection,.page-kfarm .kf-b2b { border-top:2px solid #fff; border-bottom:2px solid #fff; }
@media(max-width:767px) {
    .kf-protection__panel,.kf-b2b__media { border-top:2px solid #fff; }
}

/* Fase 2: salopette. Immagine e richiami nello stesso piano proporzionale. */
.page-kfarm .kf-pillars__top {
    height:auto;
    background:linear-gradient(to bottom,#fff 0 64%,var(--kf-soft) 64% 100%);
}
.page-kfarm .kf-pillars__stage {
    width:min(calc(100% - 48px),1000px);
    height:auto;
    padding-top:64px;
}
.page-kfarm .kf-pillars__title {
    position:static;
    width:min(100%,850px);
    margin:0 0 30px;
    font-size:clamp(30px,3.1vw,40px);
    line-height:1.12;
}
.page-kfarm .kf-pillars__visual {
    position:relative;
    inset:auto;
    aspect-ratio:1000 / 680;
}
.page-kfarm .kf-pillars__jacket {
    position:absolute;
    top:3%;
    bottom:auto;
    left:50%;
    width:auto;
    height:94%;
    max-width:none;
    margin:0;
    transform:translateX(-50%);
}
.kf-pillars__leaders {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:3;
    color:var(--kf-orange);
    pointer-events:none;
}
.page-kfarm .kf-callout {
    width:20%;
    padding:0;
    border:0;
    margin:0;
    font-size:clamp(13px,1.5vw,16px);
    line-height:1.22;
}
.page-kfarm .kf-callout::after { display:none; }
.page-kfarm .kf-callout--fabric { top:31%;left:0;right:auto; }
.page-kfarm .kf-callout--safety { top:15%;left:78%;right:auto;width:22%; }
.page-kfarm .kf-callout--weather { top:57%;left:78%;right:auto;width:22%; }
.page-kfarm .kf-pillar-card h3 { min-height:3.5em;margin-bottom:28px; }
@supports (grid-template-rows:subgrid) {
    .page-kfarm .kf-pillars__cards { grid-template-rows:auto 1fr;column-gap:0;row-gap:28px; }
    .page-kfarm .kf-pillar-card { display:grid;grid-template-rows:subgrid;grid-row:1 / 3; }
    .page-kfarm .kf-pillar-card:nth-child(1) { grid-column:1; }
    .page-kfarm .kf-pillar-card:nth-child(2) { grid-column:2; }
    .page-kfarm .kf-pillar-card:nth-child(3) { grid-column:3; }
    .page-kfarm .kf-pillar-card h3 { min-height:0;margin:0; }
}
@media(max-width:767px) {
    .page-kfarm .kf-pillars__top { background:#fff; }
    .page-kfarm .kf-pillars__stage { width:min(calc(100% - 40px),560px);padding-top:54px; }
    .page-kfarm .kf-pillars__title { margin-bottom:30px;font-size:30px; }
    .page-kfarm .kf-pillars__visual { display:flex;flex-direction:column;aspect-ratio:auto; }
    .page-kfarm .kf-pillars__jacket {
        position:relative;inset:auto;order:0;transform:none;
        width:auto;height:auto;max-width:60%;max-height:600px;margin:0 auto 32px;
    }
    .kf-pillars__leaders { display:none; }
    .page-kfarm .kf-callout {
        position:static;order:1;width:auto !important;left:auto;
        padding:12px 0 12px 18px;border-left:2px solid var(--kf-orange);
        margin:0;font-size:16px;
    }
    .page-kfarm .kf-callout + .kf-callout { margin-top:16px; }
    .page-kfarm .kf-pillars__cards { display:block; }
    .page-kfarm .kf-pillar-card { display:block; }
    .page-kfarm .kf-pillar-card h3 { min-height:0;margin-bottom:22px; }
}

/* Fase 2: giubbino a filo del blocco e logo sulla foto corretta. */
.page-kfarm .kf-retailer__media img {
    top:auto;
    bottom:0;
    left:auto;
    right:0;
    width:min(100%,500px);
    max-width:100%;
    max-height:100%;
    height:auto;
    object-fit:contain;
    object-position:right bottom;
}
.page-kfarm .kf-collage picture { display:block; }
@media(min-width:1025px) and (max-width:1280px) {
    .page-kfarm .kf-collage__logo {
        display:block;
        width:170px;
        left:50%;
        top:66%;
        bottom:auto;
        transform:translate(-50%,-50%);
    }
}
@media(max-width:1024px) {
    .page-kfarm .kf-collage picture img { aspect-ratio:1024 / 686; }
    .page-kfarm .kf-collage__logo {
        display:block;
        width:min(160px,calc(50% - 40px));
        left:calc(50% + 20px);
        right:auto;
        top:auto;
        bottom:20px;
        transform:none;
    }
}
@media(max-width:767px) {
    .page-kfarm .kf-retailer { height:auto;min-height:0; }
    .page-kfarm .kf-retailer__media { height:350px;margin-top:32px; }
    .page-kfarm .kf-retailer__media img {
        top:auto;bottom:0;left:auto;right:0;
        width:auto;height:100%;max-width:100%;max-height:100%;
    }
    .page-kfarm .kf-collage picture img { aspect-ratio:auto; }
}
