/* Farm Yêu Thương — Partner page v2.3.2 | No overlap, all sections in normal flow */
.partner-v232 { isolation:isolate; }
.partner-v232 *, .partner-v232 *::before, .partner-v232 *::after { box-sizing:border-box; }
.partner-v232 :is(h1,h2,h3,p,li,a,figcaption) { overflow-wrap:break-word; }
.partner-v232 :is(.partner-hero>*,.partner-card,.partner-card-body,.partner-exchange-grid>*,.partner-steps>*,.partner-philosophy>*) { min-width:0; }
.partner-v232 .partner-hero { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(46px,6vw,88px) clamp(56px,7vw,100px); }
.partner-v232 .partner-hero h1 {font-size:clamp(2.1rem,4.9vw,4.3rem);line-height:1.15;letter-spacing:-.022em;margin:0 0 23px;text-wrap:balance;}
.partner-v232 .partner-hero p {color:var(--ink-700);max-width:55ch;line-height:1.8;}
.partner-v232 .partner-lead {font-size:clamp(1rem,1.5vw,1.19rem);}
.partner-v232 .partner-links {display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:25px;}
.partner-v232 .partner-links .button {justify-content:center;white-space:normal;text-align:center;min-height:46px;}
.partner-v232 .partner-photo {margin:0;overflow:hidden;background:#eee8d6;border:1px solid #e0d5bc;border-radius:clamp(18px,2.8vw,28px);}
.partner-v232 .partner-photo img {display:block;width:100%;object-fit:cover;object-position:center 52%;}
.partner-v232 .partner-photo figcaption {display:block;padding:11px 15px 13px;font-size:.78rem;line-height:1.5;color:var(--ink-700);background:#f5f0e4;}
.partner-v232 .partner-hero-photo {box-shadow:var(--shadow-card);}
.partner-v232 .partner-hero-photo img {aspect-ratio:5/5.3;}
.partner-v232 .partner-heading {max-width:780px;margin:0 0 clamp(24px,4vw,39px);}
.partner-v232 .partner-heading h2 {font-size:clamp(1.85rem,3.6vw,2.85rem);margin:0 0 15px;text-wrap:balance;}
.partner-v232 .partner-heading p {color:var(--ink-700);font-size:1.03rem;line-height:1.8;margin:0;}
.partner-v232 .partner-paths {padding-block:clamp(48px,6vw,84px) clamp(66px,8vw,105px);border-top:1px solid #e0dfd2;}
.partner-v232 .partner-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2.3vw,26px);align-items:stretch;}
.partner-v232 .partner-card {display:flex;flex-direction:column;background:#fffcf3;overflow:hidden;border:1px solid #ded9c6;border-radius:23px;box-shadow:0 8px 25px #1a32230a;}
.partner-v232 .partner-card .partner-photo {border:0;border-radius:0;}
.partner-v232 .partner-card .partner-photo img {aspect-ratio:1.27;transition:transform .35s ease;}
.partner-v232 .partner-card .partner-photo figcaption {border-bottom:1px solid #e6dfcf;}
.partner-v232 .partner-card-body {display:flex;flex:1;flex-direction:column;gap:12px;padding:clamp(20px,2.4vw,27px);}
.partner-v232 .partner-index {color:var(--basalt-700);font-size:.76rem;font-weight:750;letter-spacing:.12em;}
.partner-v232 .partner-card h3 {font-size:clamp(1.3rem,1.85vw,1.58rem);line-height:1.32;margin:0;}
.partner-v232 .partner-card p,.partner-v232 .partner-card li {color:var(--ink-700);font-size:.94rem;line-height:1.68;}
.partner-v232 .partner-card p {margin:0;}
.partner-v232 .partner-card ul {padding-left:21px;margin:0;display:grid;gap:7px;}
.partner-v232 .partner-card li::marker {color:var(--forest-600);}
.partner-v232 .partner-card .partner-card-note {margin-top:auto;border-top:1px solid #e4dcca;padding-top:13px;color:var(--basalt-700);font-size:.84rem;}
.partner-v232 .partner-exchange {background:#e9eddf;border-block:1px solid #d2dbc8;padding-block:clamp(56px,7vw,90px);}
.partner-v232 .partner-exchange-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,32px);align-items:stretch;}
.partner-v232 .partner-exchange-card {background:#fffdf4;border:1px solid #d6dccb;border-radius:23px;padding:clamp(22px,3vw,36px);}
.partner-v232 .partner-exchange-card h3 {font-size:clamp(1.35rem,2.4vw,1.9rem);margin:0 0 15px;}
.partner-v232 .partner-exchange-card ul {padding-left:22px;margin:0;display:grid;gap:12px;line-height:1.76;color:var(--ink-700);}
.partner-v232 .partner-process {padding-block:clamp(62px,7vw,102px);}
.partner-v232 .partner-steps {list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin:0;padding:0;}
.partner-v232 .partner-steps li {min-width:0;padding:clamp(20px,2.8vw,30px);border-radius:21px;border:1px dashed #cbc2aa;background:#fbf6e9;}
.partner-v232 .partner-step-number {display:block;font-family:var(--font-display);font-size:2rem;line-height:1.3;color:var(--basalt-700);margin-bottom:14px;}
.partner-v232 .partner-steps h3 {margin:0 0 10px;font-size:1.35rem;}
.partner-v232 .partner-steps p {margin:0;color:var(--ink-700);font-size:.94rem;line-height:1.75;}
.partner-v232 .partner-philosophy {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,5vw,66px);align-items:center;padding-block:clamp(45px,6vw,76px);border-top:1px solid #e1ddcd;}
.partner-v232 .partner-philosophy img {aspect-ratio:1.43;}
.partner-v232 .partner-philosophy h2 {font-size:clamp(1.85rem,3.2vw,2.7rem);margin:0 0 20px;}
.partner-v232 .partner-philosophy p {margin:0;color:var(--ink-700);line-height:1.8;}
.partner-v232 .partner-contact {background:var(--forest-900);color:var(--paper-50);border-radius:26px;margin-block:clamp(36px,5vw,68px) clamp(68px,7vw,96px);padding-block:clamp(50px,6vw,85px);}
.partner-v232 .partner-contact-inner {max-width:790px;margin:0 auto;padding-inline:clamp(22px,5vw,65px);text-align:center;}
.partner-v232 .partner-contact .eyebrow {color:#f4c87e;}
.partner-v232 .partner-contact h2 {color:var(--paper-50);font-size:clamp(1.88rem,3.75vw,3rem);margin:0 0 20px;text-wrap:balance;}
.partner-v232 .partner-contact p {max-width:58ch;margin:0 auto;color:#e4eadd;line-height:1.8;}
.partner-v232 .partner-contact .partner-links {justify-content:center;}
.partner-v232 .partner-contact .button {background:#f9f5e7;color:var(--forest-900);}
.partner-v232 .partner-contact-link {color:#f6d7a5;text-underline-offset:5px;padding:10px;}
@media (hover:hover) {.partner-v232 .partner-card:hover img {transform:scale(1.025);}}
@media(max-width:1000px) {
 .partner-v232 .partner-hero {grid-template-columns:minmax(0,1fr) minmax(0,.86fr);}
 .partner-v232 .partner-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
 .partner-v232 .partner-card:last-child {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}
 .partner-v232 .partner-card:last-child .partner-photo {display:flex;flex-direction:column;}
 .partner-v232 .partner-card:last-child img {height:100%;min-height:250px;aspect-ratio:auto;flex:1;}
}
@media(max-width:740px) {
 .partner-v232 .partner-hero,.partner-v232 .partner-exchange-grid,.partner-v232 .partner-philosophy {grid-template-columns:minmax(0,1fr);}
 .partner-v232 .partner-hero {padding-top:38px;}
 .partner-v232 .partner-hero-photo img {aspect-ratio:5/4.2;}
 .partner-v232 .partner-cards,.partner-v232 .partner-steps {grid-template-columns:minmax(0,1fr);}
 .partner-v232 .partner-card:last-child {display:flex;grid-column:auto;}
 .partner-v232 .partner-card:last-child img {height:auto;min-height:0;aspect-ratio:1.27;}
 .partner-v232 .partner-philosophy .partner-photo {order:0;}
 .partner-v232 .partner-philosophy > div {order:1;}
 .partner-v232 .partner-contact {border-radius:21px;}
}
@media(max-width:420px) {
 .partner-v232 .partner-links {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
 .partner-v232 .partner-links > * {text-align:center;justify-content:center;}
 .partner-v232 .partner-card-body {padding:19px;}
 .partner-v232 .partner-hero h1 {font-size:clamp(2rem,9vw,2.5rem);}
}
@media(prefers-reduced-motion:reduce) {.partner-v232 .partner-card img {transition:none;transform:none!important;}}

/* Partner images v2.3.3: photos above text, in normal document flow */
.partner-v232 .partner-exchange-card{display:flex;flex-direction:column;padding:0;overflow:hidden;min-width:0}
.partner-v232 .partner-exchange-figure{display:block;width:100%;margin:0;flex:0 0 auto;background:#e7edde;border-bottom:1px solid #d5dcc8}
.partner-v232 .partner-exchange-figure img{display:block;width:100%;height:auto;aspect-ratio:16/8.8;object-fit:cover;object-position:center 55%}
.partner-v232 .partner-exchange-figure figcaption{padding:10px clamp(20px,2.7vw,32px);font-size:.8rem;line-height:1.5;color:var(--forest-800);background:#f5f1e7}
.partner-v232 .partner-exchange-copy{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;padding:clamp(22px,3vw,36px)}
.partner-v232 .partner-exchange-copy h3{line-height:1.24;margin:0 0 16px;text-wrap:balance}
.partner-v232 .partner-exchange-copy ul{margin:0;padding-left:22px;line-height:1.72;overflow-wrap:anywhere}
.partner-v232 .partner-exchange-grid{align-items:stretch}
@media(max-width:740px){.partner-v232 .partner-exchange-card{border-radius:20px}.partner-v232 .partner-exchange-figure img{aspect-ratio:16/9}.partner-v232 .partner-exchange-copy{padding:22px 20px}}

/* ---------- v2.6.5: hiệu ứng rê chuột đồng bộ với các trang khác ---------- */
.partner-v232 .partner-card, .partner-v232 .partner-exchange-card, .partner-v232 .partner-steps li {
  position: relative;
  border-top: 4px solid var(--basalt-500);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease, background .35s ease, opacity .7s ease;
}
.partner-v232 .partner-card h3, .partner-v232 .partner-exchange-card h3, .partner-v232 .partner-steps h3 { transition: color .3s ease; }
.partner-v232 .partner-step-number, .partner-v232 .partner-index { display: inline-block; transform-origin: left bottom; transition: transform .35s cubic-bezier(.2,.8,.2,1), color .3s ease; }
.partner-v232 .partner-steps li { border-top-style: solid; }
.partner-v232 .partner-cards > .reveal:nth-child(2), .partner-v232 .partner-steps > .reveal:nth-child(2) { transition-delay: .08s; }
.partner-v232 .partner-cards > .reveal:nth-child(3), .partner-v232 .partner-steps > .reveal:nth-child(3) { transition-delay: .16s; }
@media (hover: hover) and (pointer: fine) {
  .partner-v232 .partner-card:hover, .partner-v232 .partner-card:focus-within,
  .partner-v232 .partner-exchange-card:hover, .partner-v232 .partner-steps li:hover {
    transform: translateY(-8px) rotate(-.3deg);
    box-shadow: 0 22px 44px rgba(26, 50, 35, .18);
    border-top-color: var(--sun-500); background: #fffef9;
  }
  .partner-v232 .partner-card:hover .partner-photo img { transform: scale(1.06); }
  .partner-v232 .partner-card:hover h3, .partner-v232 .partner-exchange-card:hover h3, .partner-v232 .partner-steps li:hover h3 { color: var(--forest-700); }
  .partner-v232 .partner-steps li:hover .partner-step-number { transform: scale(1.22) rotate(-4deg); color: var(--basalt-600); }
  .partner-v232 .partner-card:hover .partner-index { color: var(--basalt-600); transform: translateX(3px); }
  .partner-v232 .partner-hero-photo img { transition: transform .5s ease; }
  .partner-v232 .partner-hero-photo:hover img, .partner-v232 .partner-philosophy .partner-photo:hover img, .partner-v232 .partner-exchange-figure:hover img { transform: scale(1.04); }
  .partner-v232 .partner-contact-link { transition: transform .25s ease, background .25s ease; }
  .partner-v232 .partner-contact-link:hover { transform: translateY(-3px); }
}
.partner-v232 .partner-exchange-figure { overflow: hidden; }
.partner-v232 .partner-exchange-figure img { transition: transform .5s ease; }
@media (prefers-reduced-motion: reduce) {
  .partner-v232 .partner-card:hover, .partner-v232 .partner-exchange-card:hover, .partner-v232 .partner-steps li:hover { transform: none !important; }
  .partner-v232 * { transition: none !important; }
}
