.partner-case-section { background:#f7f0e5; }
.partner-case-heading { max-width:860px; margin:0 auto 34px; text-align:center; }
.partner-case-heading .eyebrow,.partner-itinerary-heading .eyebrow { color:var(--partner-red); }
.partner-case-heading .section-title { margin:14px auto 16px; }
.partner-case-heading > p { max-width:740px; margin:0 auto; color:#68756e; font-size:1.08rem; line-height:1.8; }
.partner-case-heading .partner-case-lead { margin-bottom:10px; color:var(--partner-green); font-size:1.16rem; }
.partner-case-tags { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:22px 0 0; padding:0; list-style:none; }
.partner-case-tags li { padding:8px 13px; border:1px solid #e5d6c5; border-radius:999px; background:#fffdf9; color:#486157; font-size:.88rem; font-weight:750; }
.partner-case-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.partner-case-gallery figure { min-width:0; margin:0; overflow:hidden; border:1px solid #e5d9cb; border-radius:19px; background:#fffdf9; box-shadow:0 10px 26px rgba(44,55,46,.06); }
.partner-case-photo { display:grid; width:100%; aspect-ratio:16/10; place-items:center; overflow:hidden; background:#f0ebe3; }
.partner-case-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.partner-case-gallery figcaption { min-height:52px; padding:14px 16px; color:#53645b; font-size:.91rem; font-weight:700; line-height:1.5; }
.partner-case-section-alt { border-top:1px solid #e5d9cb; background:#fffdf9; }
.partner-case-gallery-portrait { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:900px; margin:0 auto; }
.partner-case-gallery-portrait .partner-case-photo { aspect-ratio:3/4; background:#eee8df; }
.partner-itinerary { margin-top:72px; }
.partner-itinerary-heading { margin-bottom:25px; text-align:center; }
.partner-itinerary-heading h3 { margin:10px 0 0; color:var(--partner-green); font-family:var(--inner-serif,serif); font-size:clamp(1.75rem,3vw,2.4rem); }
.partner-day-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.partner-day-card { position:relative; min-width:0; padding:25px 27px 23px; border:1px solid #e5d9cb; border-radius:19px; background:#fffdf9; }
.partner-day-number { color:var(--partner-red); font-size:.76rem; font-weight:900; letter-spacing:.16em; }
.partner-day-card h4 { margin:9px 0 15px; color:var(--partner-green); font-family:var(--inner-serif,serif); font-size:1.32rem; line-height:1.4; }
.partner-day-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin:0; padding:0; list-style:none; }
.partner-day-card li { position:relative; padding-left:16px; color:#647169; font-size:.94rem; line-height:1.6; }
.partner-day-card li::before { position:absolute; top:.68em; left:0; width:6px; height:6px; border-radius:50%; background:#c9984b; content:""; }
.partner-birthday-note { display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:20px; margin-top:24px; padding:29px 32px; border:1px solid #e5d2ad; border-radius:20px; background:#fff9ed; }
.partner-birthday-note .eyebrow { color:var(--partner-red); }
.partner-birthday-note h3 { margin:9px 0 9px; color:var(--partner-green); font-family:var(--inner-serif,serif); font-size:1.55rem; }
.partner-birthday-note p { margin:7px 0 0; color:#647169; line-height:1.75; }
.partner-feature-note { margin-top:24px; padding:29px 32px; border:1px solid #d9d3c6; border-radius:20px; background:#f3f7f4; }
.partner-feature-note .eyebrow { color:var(--partner-red); }
.partner-feature-note h3 { margin:9px 0; color:var(--partner-green); font-family:var(--inner-serif,serif); font-size:1.55rem; }
.partner-feature-note p { margin:7px 0 0; color:#647169; line-height:1.75; }
.partner-birthday-mark { display:grid; width:90px; aspect-ratio:1; place-items:center; border:1px solid #e8d7b7; border-radius:50%; background:#f8edda; color:var(--partner-red); font-size:3rem; }
.partner-case-note { margin:22px 0 0; color:#7b827b; font-size:.86rem; line-height:1.7; text-align:center; }
.partner-case-cta { margin-top:20px; text-align:center; }
@media(max-width:900px) { .partner-case-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
  .partner-case-heading { margin-bottom:25px; text-align:left; }
  .partner-case-heading .section-title { font-size:2rem; line-height:1.32; }
  .partner-case-heading > p { font-size:1rem; }
  .partner-case-tags { justify-content:flex-start; }
  .partner-case-gallery { gap:11px; }
  .partner-case-gallery figure { border-radius:14px; }
  .partner-case-photo { aspect-ratio:16/10; }
  .partner-case-gallery figcaption { min-height:61px; padding:11px; font-size:.82rem; }
  .partner-case-gallery-portrait { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-case-gallery-portrait .partner-case-photo { aspect-ratio:3/4; }
  .partner-itinerary { margin-top:48px; }
  .partner-itinerary-heading { text-align:left; }
  .partner-day-grid { grid-template-columns:1fr; gap:12px; }
  .partner-day-card { padding:22px 20px; }
  .partner-day-card ul { grid-template-columns:1fr; gap:7px; }
  .partner-birthday-note { grid-template-columns:minmax(0,1fr) 54px; gap:12px; padding:22px 18px; }
  .partner-feature-note { padding:22px 18px; }
  .partner-birthday-mark { width:50px; font-size:1.8rem; }
  .partner-case-cta .btn { width:100%; text-align:center; }
}
