/* Editorial chronology: source copy stays native, motion is progressive enhancement. */
.heritage-section { position:relative; isolation:isolate; overflow:hidden; color:#f4f7fa; background:radial-gradient(ellipse at 12% 40%,#24455d80,transparent 53%),linear-gradient(118deg,#071b2b,#122d43 62%,#102439); }
.heritage-section::before { content:""; position:absolute; inset:0; width:auto; height:auto; top:0; border:0; border-radius:0; box-shadow:none; background:linear-gradient(105deg,transparent 46%,#c5d8e504 46.1%,transparent 46.25%); pointer-events:none; }
.heritage-section::after { content:""; position:absolute; inset-inline:0; bottom:0; height:1px; background:linear-gradient(90deg,transparent,#c9d7e536,transparent); }
.heritage-wrap { position:relative; z-index:1; min-width:0; }
.heritage-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr); gap:0 70px; align-items:end; margin-bottom:70px; }
.heritage-heading .eyebrow { grid-column:1 / -1; color:#9bbad1; }
.heritage-heading .eyebrow > span { color:#d5dee5; border-color:#d5dee540; }
.heritage-heading h2 { min-width:0; max-width:780px; color:#f4f7fa; overflow-wrap:break-word; hyphens:auto; }
.heritage-intro { max-width:360px; color:#adbfce; font-size:14px; line-height:1.9; padding-bottom:5px; }
.heritage-stage { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr); gap:72px; align-items:center; min-width:0; margin-bottom:64px; }
.heritage-year-window { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:1fr auto; min-width:0; position:relative; align-self:stretch; align-content:center; padding-block:18px 16px; }
.heritage-year-layer { grid-area:1 / 1; display:block; align-self:center; visibility:hidden; opacity:0; transform:translateY(13px); font:300 clamp(118px,14vw,214px)/.95 Arial,Helvetica,sans-serif; font-variant-numeric:tabular-nums; letter-spacing:-.075em; color:#e4ecf3; background:linear-gradient(160deg,#fbfdff 5%,#d1dce6 46%,#88a4b9 96%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; transition:opacity .42s ease,transform .46s cubic-bezier(.2,.7,.3,1); }
.heritage-range { grid-area:2 / 1; display:flex; gap:16px; align-items:center; margin-top:28px; color:#819db2; font-size:12px; letter-spacing:.13em; font-variant-numeric:tabular-nums; }
.heritage-range i { display:block; width:60px; height:1px; background:#94acbe65; }
.heritage-copy { min-width:0; min-height:260px; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; padding-inline-start:48px; border-inline-start:1px solid #bbcfde28; }
.heritage-milestone { grid-area:1 / 1; min-width:0; visibility:hidden; opacity:0; transform:translateY(13px); pointer-events:none; transition:opacity .42s ease,transform .46s cubic-bezier(.2,.7,.3,1); }
.heritage-milestone.is-active,.heritage-year-layer.is-active { visibility:visible; opacity:1; transform:translateY(0); }
.heritage-milestone.is-active { pointer-events:auto; }
.heritage-milestone.is-leaving,.heritage-year-layer.is-leaving { visibility:visible; transform:translateY(-10px); }
.heritage-milestone-meta { display:flex; justify-content:space-between; gap:20px; color:#8facc2; font-size:12px; letter-spacing:.08em; line-height:1.5; margin-bottom:20px; }
.heritage-milestone-meta > span { color:#6f8ca3; font-size:11px; direction:ltr; }
.heritage-milestone h3 { max-width:650px; color:#f2f6fa; font-size:clamp(26px,2.4vw,38px); line-height:1.3; font-weight:400; letter-spacing:-.025em; overflow-wrap:break-word; hyphens:auto; text-wrap:balance; }
.heritage-milestone-body { max-width:660px; margin-top:22px; color:#b6c8d6; font-size:15px; line-height:1.95; overflow-wrap:break-word; }
.heritage-navigation { min-width:0; border-top:1px solid #b8cddd20; padding-top:28px; }
.heritage-rail { position:relative; min-width:0; }
.heritage-rail-track { position:absolute; top:10px; inset-inline:6.25%; height:1px; background:#a8c0d236; overflow:hidden; }
.heritage-rail-track > span { display:block; width:100%; height:100%; background:linear-gradient(90deg,#829eb4,#e4edf5); transform:scaleX(0); transform-origin:left center; }
.heritage-years { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:0; min-width:0; }
.heritage-year-button { display:flex; flex-direction:column; gap:16px; align-items:center; justify-content:flex-start; position:relative; min-width:44px; min-height:68px; padding:6px 8px 12px; color:#7693a9; font-size:14px; font-variant-numeric:tabular-nums; line-height:1.4; transition:color .25s ease; }
.heritage-node { position:relative; z-index:1; display:block; width:9px; height:9px; border:1px solid #6e8aa0; border-radius:50%; background:#112c42; transition:background .25s ease,box-shadow .25s ease,border-color .25s ease; }
.heritage-year-button.is-past { color:#a1b6c6; }
.heritage-year-button.is-past .heritage-node { border-color:#a1b6c6; background:#a1b6c6; }
.heritage-year-button.is-active { color:#f3f7fb; }
.heritage-year-button.is-active .heritage-node { border-color:#e6eef5; background:#f0f6fb; box-shadow:0 0 0 5px #bcd4e21b,0 0 20px #9dbbd52b; }
.heritage-year-button:hover { color:#f3f7fb; }
.heritage-section button:focus-visible { outline:2px solid #d8e8f4; outline-offset:3px; border-radius:2px; }
.heritage-controls { display:flex; justify-content:space-between; align-items:center; gap:22px; padding-top:21px; margin-top:9px; border-top:1px solid #b8cddd20; }
.heritage-motion { display:inline-flex; gap:10px; align-items:center; min-height:44px; min-width:44px; padding:6px 0; color:#a9c0d2; font-size:12px; line-height:1.55; text-align:start; }
.heritage-motion:hover { color:#f4f8fb; }
.heritage-motion > [data-history-toggle-icon] { display:grid; place-items:center; width:28px; height:28px; border:1px solid #adcadb4d; border-radius:50%; flex:none; }
.heritage-motion .icon { width:13px; height:13px; }
.heritage-motion:disabled { opacity:.75; cursor:default; }
.heritage-steps { display:flex; gap:18px; align-items:center; flex:none; }
.heritage-step { display:grid; place-items:center; width:44px; height:44px; border:1px solid #a7c2d34d; border-radius:50%; color:#d4e1eb; transition:background .25s ease,border-color .25s ease; }
.heritage-step:hover { background:#b5cddd12; border-color:#c2d8e47a; }
.heritage-step .icon { width:17px; height:17px; }
.heritage-step-previous .icon { transform:rotate(180deg); }
.heritage-count { display:flex; gap:10px; align-items:center; color:#6f8da5; font-size:11px; letter-spacing:.03em; font-variant-numeric:tabular-nums; }
.heritage-count b { color:#dae6ee; font-weight:400; }
.heritage-count > span { color:#45657d; }
html[dir=rtl] .heritage-rail-track > span { transform-origin:right center; background:linear-gradient(270deg,#829eb4,#e4edf5); }
html[dir=rtl] .heritage-step-previous .icon { transform:none; }
html[dir=rtl] .heritage-step-next .icon { transform:rotate(180deg); }
html[dir=rtl] .heritage-milestone-body { font-size:17px; }
@media(max-width:1079.98px) {
  .heritage-heading { gap:0 42px; margin-bottom:54px; }
  .heritage-stage { gap:40px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); margin-bottom:50px; }
  .heritage-copy { padding-inline-start:32px; min-height:280px; }
  .heritage-year-layer { font-size:clamp(118px,15vw,166px); }
  .heritage-milestone h3 { font-size:30px; }
}
@media(max-width:759.98px) {
  .heritage-heading { grid-template-columns:minmax(0,1fr); gap:0; margin-bottom:38px; }
  .heritage-heading h2 { max-width:640px; }
  .heritage-intro { max-width:560px; margin-top:20px; padding:0; font-size:13px; }
  .heritage-stage { grid-template-columns:minmax(0,1fr); gap:30px; margin-bottom:36px; }
  .heritage-year-window { padding:0; grid-template-columns:1fr auto; grid-template-rows:1fr; align-items:end; }
  .heritage-year-layer { font-size:clamp(100px,20vw,146px); }
  .heritage-range { grid-area:1 / 2; flex-direction:column; gap:10px; margin:0 0 5px 20px; font-size:10px; align-items:center; letter-spacing:.08em; }
  .heritage-range i { width:1px; height:28px; }
  .heritage-copy { padding:28px 0 0; border-inline-start:0; border-top:1px solid #bbcfde28; min-height:0; }
  .heritage-milestone-meta { margin-bottom:15px; }
  .heritage-milestone h3 { font-size:27px; max-width:600px; }
  .heritage-milestone-body { font-size:14px; line-height:1.85; margin-top:17px; }
  .heritage-navigation { padding-top:22px; }
  .heritage-year-button { font-size:12px; min-width:0; padding-inline:3px; }
  .heritage-controls { margin-top:4px; padding-top:15px; }
  .heritage-steps { gap:13px; }
  html[dir=rtl] .heritage-milestone-body { font-size:16px; }
}
@media(max-width:479.98px) {
  .heritage-heading h2 { font-size:clamp(26px,8vw,34px); }
  .heritage-years { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 0; }
  .heritage-rail-track { position:relative; inset:auto; width:100%; top:auto; margin-bottom:20px; }
  .heritage-year-button { min-height:58px; padding:4px 8px 9px; gap:12px; font-size:13px; }
  .heritage-node { width:7px; height:7px; }
  .heritage-controls { gap:12px; margin-top:12px; }
  .heritage-motion { max-width:52%; font-size:12px; gap:8px; }
  .heritage-steps { gap:10px; }
  .heritage-count { gap:7px; font-size:10px; }
  .heritage-step { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .heritage-year-layer,.heritage-milestone,.heritage-node,.heritage-year-button,.heritage-step { transition:none!important; transform:none; }
}
@media print {
  .heritage-section { background:#12263a!important; }
  .heritage-year-window,.heritage-navigation { display:none; }
  .heritage-stage { display:block; }
  .heritage-copy { display:block; border:0; padding:0; }
  .heritage-milestone,.heritage-milestone[hidden] { display:block!important; visibility:visible; opacity:1; transform:none; break-inside:avoid; margin-bottom:30px; }
}
