.balance-page { background: #f8f6f0; }
.balance-page main { padding-bottom: 48px; }
.balance-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 420px; margin: 32px 0; border: 1px solid #d7ddca; border-radius: 14px; overflow: hidden; background: #f8f6f0; }
.balance-hero > div { position: relative; z-index: 1; width: 43%; padding: 32px; background: linear-gradient(to right, #f8f6f0e8, #f8f6f0cc 85%, transparent); }
.balance-hero h1 { margin: 0 0 22px; font-size: clamp(2.3rem, 4vw, 3.6rem); line-height: 1.05; }
.balance-hero h1::after { content: none; }
.balance-hero p { max-width: 47ch; font: 17px/1.6 Georgia, serif; margin: 0 0 18px; }
.balance-hero p:last-child { margin-bottom: 0; }
.balance-hero img { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.balance-back { display: inline-block; padding-block: 12px; text-underline-offset: 4px; }
.balance-start { padding: 24px; border: 1px solid #e4dbcd; border-radius: 12px; background: #fcfaf5; }
.balance-start h2 { margin: 0 0 8px; font-size: 1.8rem; }
.balance-shortcuts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.balance-shortcuts a { min-height: 44px; padding: 10px 16px; border: 1px solid #b9c2ad; border-radius: 24px; background: #edf0e5; }
.balance-shortcuts a:hover { background: #dce4d3; }
.balance-reset-cards { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 24px; margin: 28px 0; }
.balance-reset-card { display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid #dfe1d4; border-radius: 12px; background: #f0f2e8; }
.balance-reset-card .eyebrow { color: #80545d; }
.balance-reset-card h2 { margin: 10px 0 12px; color: #273329; font: 400 2rem/1.15 Georgia, serif; }
.balance-reset-card > p { margin: 0 0 20px; font: .95rem/1.6 Georgia, serif; color: #58615b; }
.balance-reset-card ol { margin: 0; padding-left: 22px; font: .95rem/1.6 Georgia, serif; color: #35443b; }
.balance-reset-card li { padding-left: 4px; }
.balance-reset-card li + li { margin-top: 13px; }
.balance-reset-card li::marker { color: #9b626e; font-weight: 600; }
.reset-regulate-body { display: grid; grid-template-columns: minmax(0, 1fr) 40%; gap: 20px; flex: 1; }
.reset-regulate-body img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; object-position: 60% center; border-radius: 9px; }
.reset-sensory { background: #faf0ee; border-color: #e9d9d6; }
.balance-reset-card .reset-comfort-note { margin: auto 0 0; padding: 16px; border-radius: 8px; background: #f0dfdc; color: #564b49; font-size: .9rem; }
.reset-sensory > ol { margin-bottom: 24px; }
.balance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 28px 0; }
.balance-panel { min-width: 0; padding: 28px; border: 1px solid #e0d9ca; border-radius: 12px; background: #fcfaf6; scroll-margin-top: 130px; }
.balance-panel:nth-child(2), .balance-panel:nth-child(3) { background: #edf0e5; }
.balance-panel h2 { margin: 8px 0 14px; font-size: 1.85rem; }
.balance-panel h2::after { content: ''; display: block; width: 42px; height: 2px; margin-top: 14px; background: #bc8e94; }
.balance-panel > p { color: #58615b; line-height: 1.6; }
.balance-panel .eyebrow { color: #7e555e; }
.balance-panel details { border-top: 1px solid #d9ddcf; padding-block: 14px; }
.balance-panel summary { cursor: pointer; padding: 6px 0; color: #344633; font-weight: 600; line-height: 1.5; }
.balance-panel details p { margin: 12px 0 6px; line-height: 1.7; }
.balance-panel blockquote { margin: 14px 0 4px; padding: 16px; border-left: 3px solid #b9838c; background: #f3e6e5; font: italic 1.1rem/1.6 Georgia, serif; }
.balance-closing-row { display: grid; grid-template-columns: 46% minmax(0, 1fr); align-items: stretch; gap: 0; margin: 28px 0; border-radius: 12px; overflow: hidden; background: #eee3e1; }
.balance-reminder { display: flex; flex-direction: column; justify-content: center; padding: 24px 32px; text-align: left; }
.balance-closing-image { width: 100%; min-height: 210px; margin: 0; }
.balance-closing-image img { display: block; width: 100%; height: 100%; max-height: 270px; object-fit: cover; object-position: center; }
.balance-reminder p { max-width: 65ch; margin: 0 0 12px; line-height: 1.7; }
.balance-reminder .balance-back { align-self: flex-end; margin-top: auto; padding-top: 12px; padding-bottom: 0; text-align: right; }
.balance-page main a:focus-visible, .balance-page summary:focus-visible { outline: 3px solid #a86f7c; outline-offset: 4px; }
@media (max-width: 700px) {
  .balance-reset-cards { grid-template-columns: minmax(0, 1fr); }
  .balance-reset-card { padding: 22px; }
  .balance-closing-row { grid-template-columns: minmax(0, 1fr); }
  .balance-closing-image { min-height: 0; }
  .balance-closing-image img { height: 220px; }
  .balance-reminder { padding: 24px; }
  .balance-hero { display: flex; flex-direction: column; align-items: stretch; }
  .balance-hero > div { width: 100%; padding: 24px; }
  .balance-hero img { position: relative; inset: auto; height: 240px; object-position: right; }
  .balance-hero, .balance-grid { grid-template-columns: minmax(0, 1fr); }
  .balance-panel { padding: 22px; }
}
@media (max-width: 450px) {
  .reset-regulate-body { grid-template-columns: minmax(0, 1fr); }
  .reset-regulate-body img { height: 190px; min-height: 0; }
}
@media print {
  .balance-page .site-header, .balance-page .site-footer, .balance-shortcuts, .balance-back, .balance-hero img { display: none; }
  .balance-grid, .balance-hero { display: block; }
  .balance-panel { break-inside: avoid; margin-bottom: 20px; }
}
