@font-face{font-family:"Noto Sans VN";src:url("fonts/noto-sans-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Noto Sans VN";src:url("fonts/noto-sans-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:"Noto Sans VN";src:url("fonts/noto-sans-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:"Noto Serif VN";src:url("fonts/noto-serif-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Noto Serif VN";src:url("fonts/noto-serif-italic-400.ttf") format("truetype");font-style:italic;font-weight:400;font-display:swap}:root{--ink:#182820;--green:#244e3a;--gold:#b88731;--cream:#f4f0e6;--paper:#fffdf8;--muted:#6d746f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 "Noto Sans VN",Arial,sans-serif}.site-header{height:84px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:rgba(244,240,230,.94);border-bottom:1px solid #d9d2c2;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-family:"Noto Serif VN",serif;font-size:20px;line-height:1.05}.brand small{display:block;font:10px/1.5 "Noto Sans VN",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}nav{display:flex;gap:28px}nav a{color:var(--ink);text-decoration:none;font-size:14px}.hero{background:linear-gradient(115deg,rgba(19,51,37,.97),rgba(32,76,55,.9)),radial-gradient(circle at 80% 20%,#a57c36,transparent 45%);color:#fff;padding:78px max(7vw,28px) 62px}.eyebrow{color:#d8b266;font-size:12px;letter-spacing:.24em;font-weight:700}.hero h1,.detail h1,.tour h1{font:clamp(42px,6vw,78px)/1.08 "Noto Serif VN",serif;margin:18px 0}.hero em,.tour em{color:#e1ba6d;font-weight:400}.hero>p{max-width:650px;color:#dce5df;font-size:18px}.search{display:grid;grid-template-columns:minmax(260px,1fr) 190px 130px;max-width:920px;margin-top:34px;background:#fff;padding:7px;border-radius:6px;box-shadow:0 14px 34px #0a1e1655}.search input,.search select,.search button{font-family:"Noto Sans VN",sans-serif}.search input,.search select{border:0;background:#fff;padding:15px;font-size:15px;outline:none}.search select{border-left:1px solid #ddd}.search button{border:0;border-radius:4px;background:var(--gold);color:#fff;font-weight:700}.stats{display:flex;align-items:center;gap:14px;margin-top:34px;color:#dce5df}.stats b{font:32px "Noto Serif VN",serif;color:#e1ba6d}.results,.detail{max-width:1180px;margin:auto;padding:58px 24px}.section-title{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #d5cebd;padding-bottom:20px;margin-bottom:25px}.section-title span{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:700}.section-title h2{font:34px "Noto Serif VN",serif;margin:6px 0 0}.section-title p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.card{display:grid;grid-template-columns:42px 1fr 24px;gap:14px;align-items:start;padding:22px;background:var(--paper);border:1px solid #ded7c8;color:var(--ink);text-decoration:none;transition:.2s}.card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 24px #47381715}.card h3{font:22px "Noto Serif VN",serif;margin:0 0 5px}.card p{margin:0;color:var(--muted);font-size:14px}.flame{color:var(--gold);font-size:20px}.arrow{color:var(--gold)}dl{display:flex;gap:25px;margin:18px 0 0}dl div{display:flex;flex-direction:column}dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}dd{margin:0;font-weight:700}.pagination{justify-content:center;margin-top:35px;align-items:center}.pagination a{background:var(--green);color:white;padding:10px 18px;border-radius:4px}.pagination span{color:var(--muted)}.empty{padding:40px;background:white;border:1px solid #ddd}.back{color:var(--green)}.memorial-card{display:flex;align-items:center;gap:30px;padding:50px 0;border-bottom:1px solid #d5cebd}.portrait{width:110px;height:110px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:32px}.memorial-card h1{font-size:clamp(40px,6vw,68px);margin:12px 0}.place{color:var(--muted);font-size:18px}.facts{display:grid;grid-template-columns:repeat(5,1fr);margin:30px 0;background:var(--paper);border:1px solid #d9d2c2}.facts div{padding:22px;border-right:1px solid #ddd}.facts div:last-child{border:0}.facts span{display:block;font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.source,.notice{padding:20px;border-left:3px solid var(--gold);background:#ece4d2}.source a{color:var(--green)}.tour{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:70px max(7vw,28px);background:var(--green);color:#fff}.tour p{color:#dae5df;font-size:18px}.notice{color:var(--ink);margin-top:30px}.tour-placeholder{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;border:1px solid #c9a55c;background:radial-gradient(circle at 35% 25%,#65806f,#142b20 65%);box-shadow:inset 0 0 70px #07130d}.tour-placeholder span{font:64px "Noto Serif VN",serif;color:#dfb966}.tour-placeholder p{font-size:14px}footer{padding:35px max(5vw,24px);background:#14251d;color:#aebbb4;text-align:center;font-size:12px}footer p{margin:4px}@media(max-width:760px){.site-header nav{display:none}.hero{padding-top:50px}.search{grid-template-columns:1fr}.search select{border-left:0;border-top:1px solid #ddd}.search button{padding:14px}.cards{grid-template-columns:1fr}.section-title{align-items:start}.facts{grid-template-columns:repeat(2,1fr)}.facts div{border-bottom:1px solid #ddd}.tour{grid-template-columns:1fr}.tour-placeholder{max-width:440px}.memorial-card{align-items:flex-start}.portrait{width:70px;height:70px;flex:none}dl{gap:15px}}
