/* Expense page composition follows the approved rental advertising page. */
.expense-story { background:var(--surface); color:var(--text); }
.expense-story *, .expense-story *::before, .expense-story *::after { box-sizing:border-box; }
.expense-story .ex-wrap { width:min(1140px,calc(100% - 64px)); margin-inline:auto; }
.expense-story .ex-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:center; }
.expense-story .ex-copy, .expense-story figure { min-width:0; }
.expense-story .ex-hero { padding-block:64px 40px; }
.expense-story .ex-section { padding-block:100px; }
body.public-design #main-content .expense-story :is(h1,h2,h3,p) { margin:0; }
body.public-design #main-content .expense-story :is(h1,h2) { margin-bottom:20px; }
body.public-design #main-content .expense-story :is(h1,h2) span { color:var(--brand-purple-ink); }
body.public-design #main-content .expense-story h3 { font:700 22px/1.4 "Open Sans",Arial,sans-serif; margin-bottom:12px; }
body.public-design #main-content .expense-story :is(p,li) { font-size:18px; line-height:1.55; }
body.public-design #main-content .expense-story .ex-eyebrow { margin-bottom:14px; color:var(--link-ink); font-size:14px; line-height:1.5; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.expense-story .ex-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-block:24px 12px; }
.expense-story .ex-primary { display:inline-flex; align-items:center; justify-content:center; border-radius:6px; text-decoration:none; }
body.public-design #main-content .expense-story .ex-next { max-width:42ch; margin-bottom:14px; color:var(--text-muted); font-size:14px; line-height:1.5; }
.expense-story .rental-film-inline { width:min(390px,100%); margin:0; align-self:center; }
.expense-story .rental-film-inline video { width:100%; height:auto; max-height:none; object-fit:contain; }
.expense-story .ex-repair-facts { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,1.3fr); gap:18px 20px; margin:30px 0 0; padding-top:22px; border-top:1px solid var(--border); }
.expense-story .ex-repair-facts div:last-child { grid-column:1 / -1; }
.expense-story .ex-repair-facts dt { margin:0 0 5px; color:var(--text-muted); font:400 14px/1.5 "Open Sans",sans-serif; }
.expense-story .ex-repair-facts dd { margin:0; font:700 18px/1.5 "Open Sans",sans-serif; overflow-wrap:anywhere; }
.expense-story .ex-repair-facts div:first-child dd { font-size:28px; line-height:1.25; overflow-wrap:normal; }
.expense-story .ex-tint { background:var(--surface-canvas); }
.expense-story .ex-section-intro { max-width:760px; }
.expense-story .ex-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0; margin:40px 0 0; list-style:none; }
.expense-story .ex-steps > li { border-top:2px solid var(--border); padding-top:20px; }
.expense-story .ex-step-number { display:block; margin-bottom:12px; color:var(--brand-purple-ink); font:600 22px/1.4 "Open Sans",sans-serif; }
.expense-story .ex-steps p, .expense-story .ex-report-points p { color:var(--text-muted); }
.expense-story .ex-list { margin:24px 0; padding-left:24px; list-style-type:square; }
.expense-story .ex-list li + li { margin-top:12px; }
body.public-design #main-content .expense-story .ex-note { display:flex; align-items:flex-start; gap:10px; width:fit-content; padding:12px; background:var(--hint-bg); color:var(--attention-ink); border-radius:4px; font-size:14px; line-height:1.5; }
.expense-story .ex-note i { flex:none; padding-top:3px; }
.expense-story .ex-dark { background:var(--brand-purple-deep-2); color:var(--surface); }
body.public-design #main-content .expense-story .ex-dark :is(h2 span,.ex-eyebrow) { color:var(--ink-purple-lime); }
body.public-design #main-content .expense-story .ex-dark .ex-disclosure { margin-top:24px; padding-top:20px; border-top:1px solid var(--brand-purple); font-size:16px; line-height:1.5; }
body.public-design #main-content#main-content .expense-story .ex-dark .feature-artwork figcaption { color:inherit; }
.expense-story .ex-report-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-block:36px; }
.expense-story .ex-report-points article { border-left:2px solid var(--border); padding-left:20px; }
body.public-design #main-content .expense-story .ex-report-note { max-width:80ch; margin-bottom:24px; color:var(--text-muted); font-size:14px; line-height:1.5; }
.expense-story .ex-accounting-shot { padding:20px; border:1px solid var(--border); border-radius:4px; background:var(--surface-canvas); }
.expense-story .ex-accounting-shot img { display:block; width:100%; height:auto; }
.expense-story .ex-report-links, .expense-story .ex-closing-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:20px; }
.expense-story .ex-text-link { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; color:var(--link-ink); font:600 16px/1.5 "Open Sans",sans-serif; text-decoration:underline; text-underline-offset:3px; }
.expense-story .ex-faq { display:grid; grid-template-columns:1fr 1.3fr; gap:64px; }
.expense-story .ex-questions details { border-bottom:1px solid var(--border); }
.expense-story .ex-questions summary { min-height:56px; padding:16px 24px 16px 0; font:600 18px/1.5 "Open Sans",sans-serif; cursor:pointer; }
body.public-design #main-content .expense-story .ex-questions p { padding-block:0 20px; color:var(--text-muted); }
.expense-story .ex-closing { padding-block:64px; background:var(--surface-tint-2); text-align:center; }
.expense-story .ex-closing [data-feature-prose] { margin-inline:auto; }
.expense-story .ex-closing-links { justify-content:center; }
body.public-design #main-content .expense-story .ex-small { margin-top:16px; color:var(--text-muted); font-size:14px; line-height:1.5; }
.expense-story :is(a,button,summary,input):focus-visible { outline:2px solid var(--brand-purple-ink); outline-offset:4px; }
/* Preserve the shared live categorizer and fit its controls to this page's reading scale. */
.expense-story .aitry { padding-block:80px; opacity:1; transform:none; }
.expense-story .aitry-wrap { width:min(1140px,calc(100% - 64px)); max-width:none; padding:0; }
.expense-story .aitry-card { max-width:860px; margin:auto; border:1px solid var(--border); border-radius:4px; padding:32px; box-shadow:none; }
body.public-design #main-content .expense-story .aitry-h { font-size:22px; line-height:1.4; font-weight:600; margin-bottom:16px; }
body.public-design #main-content .expense-story .aitry-sub { font-size:16px; line-height:1.5; margin-bottom:24px; }
body.public-design #main-content .expense-story .aitry-f span { font:600 16px/1.5 "Open Sans",Arial,sans-serif; }
body.public-design #main-content .expense-story .aitry-f input { font:400 16px/1.5 "Open Sans",Arial,sans-serif; border-radius:4px; min-height:44px; max-width:100%; }
body.public-design #main-content .expense-story .aitry-f input[type="file"] { padding:8px; }
body.public-design #main-content .expense-story .aitry-fine { font-size:14px; line-height:1.5; margin-top:20px; }
@media (max-width:900px) {
  .expense-story .ex-split, .expense-story .ex-faq { gap:40px; }
  .expense-story .ex-hero { padding-top:40px; }
  .expense-story .ex-steps, .expense-story .ex-report-points { gap:24px; }
}
@media (max-width:650px) {
  .expense-story .ex-wrap, .expense-story .aitry-wrap { width:calc(100% - 40px); }
  .expense-story .ex-split, .expense-story .ex-faq, .expense-story .ex-steps, .expense-story .ex-report-points { grid-template-columns:minmax(0,1fr); }
  .expense-story .ex-hero { padding-block:36px 40px; }
  .expense-story .ex-section { padding-block:64px; }
  body.public-design #main-content .expense-story :is(p,li) { font-size:16px; line-height:1.55; }
  .expense-story .ex-dark .feature-artwork { order:2; }
  .expense-story .ex-steps { margin-top:32px; }
  .expense-story .ex-accounting-shot { padding:8px; }
  .expense-story .ex-faq { gap:12px; }
  .expense-story .ex-questions summary { font-size:16px; }
  .expense-story .aitry { padding-block:56px; }
  .expense-story .aitry-card { padding:20px 16px; }
  .expense-story .ex-closing { padding-block:48px; }
}
