.page-dcf main { max-width: 1280px; padding-top: 26px; }
.dcf-guide { color: #17313a; }
.dcf-guide * { box-sizing: border-box; }
.dcf-hero { min-height: 560px; padding: clamp(36px, 6vw, 72px); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: clamp(30px, 6vw, 70px); align-items: center; background: radial-gradient(circle at 86% 14%, rgba(214,164,83,.28), transparent 24%), linear-gradient(135deg, #123541, #245866 62%, #718a79); border-radius: 26px; overflow: hidden; color: #fffaf0; box-shadow: 0 20px 55px rgba(43,52,44,.15); }
.dcf-eyebrow, .dcf-step { display: block; color: #d7a656; font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.dcf-hero h1 { margin: 14px 0 18px; max-width: 720px; font: 700 clamp(32px, 4.2vw, 54px)/1.18 "STSong","Songti SC",serif; letter-spacing: -.04em; }
.dcf-hero p { max-width: 660px; margin: 0; color: #d7e4e0; font-size: 14px; line-height: 1.8; }
.dcf-actions { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-top: 32px; }
.dcf-hero .primary-action { background: #c36b49; }
.dcf-hero .text-action { color: #fff; }
.dcf-equation { padding: clamp(28px, 4vw, 44px); background: rgba(255,250,240,.1); border: 1px solid rgba(255,255,255,.24); border-radius: 8px 28px 8px 28px; backdrop-filter: blur(9px); }
.dcf-equation small { display: block; color: #e6c987; font-weight: 800; letter-spacing: .13em; }
.dcf-equation strong { display: block; margin: 20px 0; font: 700 clamp(20px, 2.2vw, 29px)/1.55 Georgia,"Times New Roman",serif; }
.dcf-equation span { color: #cbdcd8; line-height: 1.65; }
.hero-terms { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 24px 0 0; }
.hero-terms div { display: grid; grid-template-columns: 58px 1fr; gap: 8px; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.16); }
.hero-terms dt, .hero-terms dd { margin: 0; }
.hero-terms dt { color: #e6c987; font: 700 14px/1.4 Georgia,serif; }
.hero-terms dd { color: #d5e2df; font-size: 12px; line-height: 1.5; }
.dcf-toc { position: sticky; top: 70px; z-index: 4; display: flex; gap: 5px; overflow-x: auto; margin: 22px 0 0; padding: 8px; background: rgba(255,250,240,.9); border: 1px solid #ddd0bc; border-radius: 14px; backdrop-filter: blur(12px); scrollbar-width: none; }
.dcf-toc::-webkit-scrollbar { display: none; }
.dcf-toc a { flex: 1 0 auto; padding: 10px 13px; color: #536562; text-align: center; text-decoration: none; font-size: 13px; font-weight: 800; border-radius: 9px; }
.dcf-toc a:hover { background: #f0dfc7; color: #17313a; }
.dcf-section { scroll-margin-top: 145px; margin-top: 20px; padding: clamp(32px, 5vw, 56px); background: rgba(255,250,240,.78); border: 1px solid #ddd0bc; border-radius: 22px; }
.dcf-section h2 { max-width: 860px; margin: 10px 0 22px; font: 700 clamp(24px, 3.2vw, 38px)/1.25 "STSong","Songti SC",serif; letter-spacing: -.03em; }
.dcf-section h3 { color: #234c57; }
.dcf-section p, .dcf-section li { color: #5f6e6b; line-height: 1.8; font-size: 15px; }
.section-intro { font-size: 15px; }
.section-intro { max-width: 800px; margin: -14px 0 30px; }
.dcf-intro-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(34px, 6vw, 78px); }
.dcf-intro-grid blockquote { margin: 24px 0 0; padding: 20px 24px; color: #73553f; background: #f1e2ca; border-left: 4px solid #c36b49; border-radius: 0 12px 12px 0; font: 700 16px/1.8 "STSong","Songti SC",serif; }
.dcf-concepts { display: grid; gap: 12px; }
.dcf-concepts article { padding: 22px; background: #f8f0e2; border: 1px solid #e1d2bc; border-radius: 14px; }
.dcf-concepts b { display: block; color: #b75f43; font: 700 22px/1 Georgia,serif; }
.dcf-concepts span { display: block; margin-top: 7px; color: #315b65; font-size: 12px; font-weight: 800; }
.dcf-concepts p { margin: 8px 0 0; font-size: 14px; }
.dcf-roadmap { display: grid; grid-template-columns: repeat(7, minmax(120px,1fr)); gap: 1px; padding: 0; list-style: none; overflow-x: auto; }
.dcf-roadmap li { min-width: 136px; padding: 24px 18px; background: #f6ecdc; border-top: 4px solid #b96a4d; }
.dcf-roadmap li:nth-child(even) { border-color: #4f7b83; background: #edf1eb; }
.dcf-roadmap b, .dcf-roadmap span { display: block; }
.dcf-roadmap b { color: #17313a; }
.dcf-roadmap span { margin-top: 8px; font-size: 13px; line-height: 1.55; }
.statement-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.statement-grid article { padding: 26px; background: #173b46; border-radius: 14px; color: #fff; }
.statement-grid h3 { margin: 0; color: #fff; }
.statement-grid small { color: #e2bc72; }
.statement-grid p { margin-bottom: 0; color: #cadbd7; font-size: 14px; }
.formula-card { margin: 18px 0; padding: clamp(22px,3.5vw,34px); text-align: center; background: #f3e4ca; border: 1px solid #dcc49e; border-radius: 16px; }
.formula-card.dark { color: #fff; background: #173b46; border-color: #173b46; }
.formula-card small { display: block; color: #ad6549; font-weight: 900; letter-spacing: .12em; }
.formula-card.dark small { color: #e2bc72; }
.formula-card strong { display: block; margin: 11px 0; font: 700 clamp(17px,2.3vw,27px)/1.5 Georgia,"Times New Roman",serif; }
.formula-card p { max-width: 780px; margin: auto; }
.formula-card.dark p { color: #cadbd7; }
.term-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 25px 0 0; text-align: left; }
.term-grid div { display: grid; grid-template-columns: minmax(62px,.36fr) 1fr; gap: 10px; align-items: start; padding: 14px; background: rgba(255,250,240,.66); border: 1px solid rgba(153,112,66,.2); border-radius: 10px; }
.term-grid dt, .term-grid dd { margin: 0; }
.term-grid dt { color: #ad5d43; font: 700 15px/1.4 Georgia,"Times New Roman",serif; }
.term-grid dd b, .term-grid dd span { display: block; }
.term-grid dd b { color: #234c57; font-size: 13px; }
.term-grid dd span { margin-top: 4px; color: #6a7470; font-size: 11px; line-height: 1.5; }
.term-grid-dark div { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); }
.term-grid-dark dt { color: #e5bd74; }
.term-grid-dark dd b { color: #fff; }
.term-grid-dark dd span { color: #c7d8d4; }
.term-grid.compact { grid-template-columns: 1fr; gap: 6px; margin-top: 18px; }
.term-grid.compact div { grid-template-columns: 72px 1fr; padding: 10px 12px; }
.cash-bridge, .forecast-flow { display: flex; align-items: stretch; gap: 8px; }
.cash-bridge article, .forecast-flow article { flex: 1; padding: 22px 16px; background: #f8f1e5; border: 1px solid #e1d4c1; border-radius: 13px; }
.cash-bridge b, .cash-bridge span, .forecast-flow b, .forecast-flow span { display: block; }
.cash-bridge b, .forecast-flow b { color: #1d4d59; font-size: 15px; }
.cash-bridge span, .forecast-flow span { margin-top: 5px; color: #a75c43; font-size: 12px; font-weight: 800; }
.cash-bridge p { margin-bottom: 0; font-size: 13px; }
.cash-bridge i, .forecast-flow i { align-self: center; color: #b7986e; font: normal 700 22px Georgia,serif; }
.dcf-note, .audit-list { margin-top: 20px; padding: 24px 28px; background: #eef2eb; border-left: 4px solid #748c75; border-radius: 0 14px 14px 0; }
.dcf-note p { margin-bottom: 0; }
.forecast-flow article { text-align: center; }
.forecast-flow span { color: #667671; line-height: 1.55; }
.dcf-columns { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.dcf-columns > div { padding: 28px; background: #f8f1e5; border: 1px solid #e0d2bd; border-radius: 15px; }
.dcf-columns h3 { margin-top: 0; }
.dcf-columns ul { padding-left: 20px; }
.mini-formula { padding: 14px; color: #173b46; background: #e5ece8; border-radius: 10px; font: 700 16px/1.5 Georgia,serif; text-align: center; }
.result-line { margin-top: 16px; padding: 15px; background: #f1e1c4; border-radius: 10px; text-align: center; }
.result-line strong { color: #af5d42; font-size: 21px; }
.calc-steps { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.calc-steps li { display: grid; grid-template-columns: minmax(105px,.45fr) 1fr; gap: 12px; padding: 11px 13px; background: #efe6d7; border-radius: 8px; }
.calc-steps span { color: #8d674e; font-size: 12px; font-weight: 800; }
.calc-steps b { color: #234c57; font-size: 13px; }
.worked-example { margin: 18px 0; padding: 22px 26px; background: #eef2eb; border-left: 4px solid #748c75; border-radius: 0 12px 12px 0; }
.worked-example h3 { margin: 0 0 8px; }
.worked-example p { margin: 0 0 10px; }
.worked-example > b { display: block; color: #b25e43; font: 700 18px/1.55 Georgia,"Times New Roman",serif; }
.worked-example small { display: block; margin-top: 7px; color: #67736f; }
.calculator-section { background: #fffaf0; }
.calculator-terms { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 22px; padding: 16px 18px; background: #e9eee8; border-radius: 12px; color: #53645f; font-size: 12px; }
.calculator-terms > b { width: 100%; color: #234c57; }
.calculator-terms span { padding-right: 10px; border-right: 1px solid #c7d2ca; }
.calculator-terms strong { color: #b15f45; }
.dcf-calculator { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.55fr); gap: 18px; }
.calc-inputs, .calc-results { padding: 24px; border-radius: 18px; }
.calc-inputs { background: #f1e5d2; border: 1px solid #ddc9aa; }
.calc-inputs fieldset { margin: 0 0 20px; padding: 0; border: 0; }
.calc-inputs fieldset:last-of-type { margin-bottom: 0; }
.calc-inputs legend { margin-bottom: 13px; color: #1d4d59; font-weight: 900; }
.fcf-input-row, .calc-grid { display: grid; gap: 10px; }
.fcf-input-row { grid-template-columns: repeat(5,1fr); }
.calc-grid { grid-template-columns: repeat(3,1fr); }
.calc-inputs label { color: #5c6966; font-size: 12px; font-weight: 800; }
.calc-inputs input { width: 100%; margin-top: 6px; padding: 11px 10px; color: #17313a; background: #fffaf0; border: 1px solid #cfbea5; border-radius: 8px; font: 700 15px/1 system-ui,sans-serif; }
.calc-inputs input:focus { outline: 3px solid rgba(55,103,122,.18); border-color: #37677a; }
.calc-error { min-height: 24px; margin: 15px 0 0; color: #a33f2e !important; font-weight: 800; }
.calc-results { display: grid; gap: 9px; color: #fff; background: #173b46; }
.calc-results article { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: end; padding: 13px 15px; border-bottom: 1px solid rgba(255,255,255,.13); }
.calc-results article span { color: #c7d7d3; font-size: 13px; }
.calc-results article strong { font: 700 24px/1 Georgia,serif; }
.calc-results article small { grid-column: 2; color: #9eb6b1; text-align: right; }
.calc-results .result-primary { margin-top: 4px; background: #c36b49; border: 0; border-radius: 12px; }
.calc-results .result-primary span, .calc-results .result-primary small { color: #fff1e4; }
.calc-results .result-primary strong { font-size: 34px; }
.terminal-share { display: flex; justify-content: space-between; padding: 13px 15px; color: #c9d8d5; }
.terminal-share b { color: #e5c37f; }
.sensitivity-wrap { display: grid; grid-template-columns: .6fr 1.4fr; gap: 25px; margin-top: 30px; align-items: center; }
.sensitivity-wrap h3 { margin-top: 0; }
.sensitivity-scroll { overflow-x: auto; }
.sensitivity-table { width: 100%; min-width: 520px; border-collapse: separate; border-spacing: 3px; }
.sensitivity-table th, .sensitivity-table td { padding: 12px 9px; text-align: center; border-radius: 6px; }
.sensitivity-table th { color: #d8e4e1; background: #234c57; font-size: 12px; }
.sensitivity-table td { color: #36545b; background: #e9ede7; font-weight: 800; }
.sensitivity-table td.center { color: #fff; background: #c36b49; box-shadow: inset 0 0 0 2px #fff; }
.sensitivity-table td.invalid { color: #9f7c72; background: #eee4df; }
.mistake-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.mistake-grid article { padding: 24px; background: #f8f1e5; border: 1px solid #e0d2bd; border-radius: 14px; }
.mistake-grid b { color: #c06b4d; font: 700 26px/1 Georgia,serif; }
.mistake-grid h3 { margin: 10px 0 6px; }
.mistake-grid p { margin: 0; font-size: 14px; }
.audit-list h3 { margin-top: 0; }
.audit-list ul { columns: 2; gap: 42px; padding-left: 20px; }
.glossary-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.glossary-grid dl { display: grid; grid-template-columns: 110px 1fr; margin: 0; background: #f8f1e5; border: 1px solid #e0d2bd; border-radius: 15px; overflow: hidden; }
.glossary-grid dt, .glossary-grid dd { margin: 0; padding: 16px 18px; border-bottom: 1px solid #e4d8c6; }
.glossary-grid dt { color: #a95c44; font-weight: 900; }
.glossary-grid dd { color: #304f56; }
.glossary-grid dd span { color: #6b7774; font-size: 13px; }
.dcf-disclaimer { margin: 22px 0 50px; padding: 28px 34px; color: #fff; background: #173b46; border-radius: 18px; }
.dcf-disclaimer b { color: #e3bd75; }
.dcf-disclaimer p { margin-bottom: 0; color: #cadbd7; line-height: 1.8; }

@media (max-width: 900px) {
  .dcf-hero, .dcf-intro-grid, .dcf-calculator, .sensitivity-wrap { grid-template-columns: 1fr; }
  .dcf-hero { min-height: auto; }
  .statement-grid, .mistake-grid { grid-template-columns: repeat(2,1fr); }
  .term-grid { grid-template-columns: repeat(2,1fr); }
  .cash-bridge, .forecast-flow { display: grid; grid-template-columns: 1fr 34px 1fr; }
  .cash-bridge i, .forecast-flow i { text-align: center; }
  .dcf-roadmap { grid-template-columns: repeat(7,150px); }
}

@media (max-width: 620px) {
  .page-dcf main { padding-top: 12px; }
  .dcf-hero { padding: 38px 24px; border-radius: 20px; }
  .dcf-hero h1 { font-size: 42px; }
  .dcf-equation { padding: 24px 20px; }
  .dcf-toc { top: 62px; }
  .dcf-section { padding: 34px 20px; border-radius: 18px; }
  .statement-grid, .dcf-columns, .mistake-grid, .glossary-grid { grid-template-columns: 1fr; }
  .term-grid { grid-template-columns: 1fr; }
  .hero-terms { grid-template-columns: 1fr; }
  .cash-bridge, .forecast-flow { grid-template-columns: 1fr; }
  .cash-bridge i, .forecast-flow i { transform: rotate(90deg); }
  .fcf-input-row { grid-template-columns: repeat(2,1fr); }
  .calc-grid { grid-template-columns: repeat(2,1fr); }
  .calc-inputs, .calc-results { padding: 18px; }
  .audit-list ul { columns: 1; }
  .calc-steps li { grid-template-columns: 1fr; gap: 3px; }
  .glossary-grid dl { grid-template-columns: 82px 1fr; }
}
