/* Compact editorial rhythm shared by Dining and Proposal. */
.page-dining .tk-section, .page-proposal .tk-section { padding-block: 68px; }
.page-dining .tk-section-intro-row, .page-proposal .tk-section-intro-row { margin-bottom: 32px; }
.page-dining .ti-split, .page-proposal .ti-split { gap: 56px; }
.page-dining .ti-hero-image { object-position: center 58%; }
.td-photo { margin: 0; }
.td-photo img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; border-radius: 12px; }
.td-signature { background: linear-gradient(130deg,#f7f2ed,#f4eaf2); }
.td-signature-name { font: 500 clamp(42px,5vw,68px)/1.02 Newsreader,Georgia,serif; color: var(--tk-plum-800); margin: 24px 0; }
.td-signature-note { border-top: 1px solid var(--tk-border); padding-top: 20px; margin-top: 24px; }
.td-finale { background: linear-gradient(110deg,#f5eef3,#fbf9f7); }
.td-finale .ti-planning-list { padding: 28px; border: 1px solid var(--tk-border); border-radius: 12px; background: #fffdfbaa; }
.td-finale .ti-planning-list article:first-child { padding-top: 0; border-top: 0; }
.td-finale .ti-planning-list article:last-child { padding-bottom: 0; }
.td-arrangements { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.td-arrangements article { border-top: 1px solid var(--tk-border); padding-top: 20px; }
.td-arrangements i { color: var(--tk-lotus-600); font-size: 18px; }
.td-arrangements h3 { font: 500 29px/1.15 Newsreader,Georgia,serif; margin: 16px 0 12px; }
.td-arrangements p { font-size: 13px; color: var(--tk-charcoal-700); line-height: 1.8; }
.page-dining .faq, .page-proposal .faq { margin-top: 0; }
.tp-form-section { background: radial-gradient(ellipse at left bottom,#eadbe6,transparent 62%),var(--tk-ivory-100); }
.page-proposal .proposal-grid { gap: 56px; }
.page-proposal .form { margin: 0; padding: 30px; }
.tp-form-section .tk-h2 { font-size: clamp(40px,4vw,58px); }
.tp-form-note { font-size: 11px; line-height: 1.8; color: var(--tk-charcoal-700); }
.tp-location { background: linear-gradient(180deg,#fbf9f7,#f7f2ed); }
.tp-location-actions { display: flex !important; flex-wrap: wrap !important; gap: 24px !important; align-items: center !important; margin-top: 24px !important; }
.tp-location-actions .tk-text-link { display: inline-flex !important; align-items: center !important; gap: 8px !important; min-height: 44px !important; font-weight: 600 !important; }
@media(min-width:851px) { .tp-location .ti-planning-list { position: -webkit-sticky; position: sticky; top: var(--sticky-offset, 112px); align-self: start; } }
.tp-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; border-top: 1px solid var(--tk-border); margin-top: 32px; padding-top: 26px; }
.tp-steps span { font-size: 10px; color: var(--tk-lotus-600); }
.tp-steps h3 { font: 500 27px/1.1 Newsreader,Georgia,serif; margin: 12px 0; }
.tp-steps p { margin: 0; font-size: 13px; line-height: 1.8; color: var(--tk-charcoal-700); }
@media(max-width:850px) {
  .page-dining .tk-section, .page-proposal .tk-section { padding-block: 48px; }
  .page-dining .ti-split, .page-proposal .ti-split, .page-proposal .proposal-grid { gap: 28px; }
  .td-arrangements { gap: 20px; }
}
@media(max-width:600px) {
  .page-dining .tk-section, .page-proposal .tk-section { padding-block: 40px; }
  .page-dining .tk-section-intro-row, .page-proposal .tk-section-intro-row { margin-bottom: 26px; }
  .td-arrangements, .tp-steps { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .td-finale .ti-planning-list, .page-proposal .form { padding: 22px; }
  .tp-location-actions { flex-direction: column; gap: 10px; }
}
