:root{--accent:#c44e3a;--ink:#111;--bg:#fcfcf2;--sand:#d9c7b7;--line:#cbb9aa;--soft:#f3ece2;color:var(--ink);background:var(--bg);font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0;line-height:1.55}h1,h2,h3{letter-spacing:-.01em;font-weight:500;line-height:1.15}h1{font-size:clamp(1.8rem,4vw,3rem)}a{color:inherit}main{max-width:1240px;margin:0 auto;padding:1.5rem 1.25rem 6rem}.eyebrow,.top a,label,th,.btn{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:500}.top{background:var(--bg);border-bottom:1px solid var(--line);z-index:5;flex-wrap:wrap;align-items:center;gap:1.75rem;padding:1.1rem 1.25rem;display:flex;position:sticky;top:0}.top a{text-decoration:none}.top .brand{letter-spacing:.2em;margin-right:auto;font-size:.95rem;font-weight:600}.top a.active,.top a:hover{color:var(--accent)}.hero{background:var(--sand) center/cover no-repeat;align-items:flex-end;min-height:72vh;margin:-1.5rem -1.25rem 0;display:flex}.hero-text{color:#fff;text-shadow:0 1px 12px #0008;max-width:760px;padding:2rem 1.25rem}.hero-text h1{text-transform:uppercase;margin:.25rem 0;font-size:clamp(2.4rem,7vw,5.5rem)}.search{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:1rem;margin:2rem 0 3rem;padding:1.25rem 0;display:grid}label{flex-direction:column;gap:.4rem;display:flex}label.check{flex-direction:row;align-items:center}input,select,textarea{font:inherit;text-transform:none;letter-spacing:0;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;border-radius:0;padding:.55rem 0;font-size:1rem}input:focus,select:focus,textarea:focus{border-bottom-color:var(--ink);outline:none}textarea{min-height:5rem}.btn{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:0;margin:.15rem;padding:.8rem 1.4rem;font-family:inherit;text-decoration:none;display:inline-block}.btn:hover,.btn.primary{background:var(--ink);color:var(--bg)}.btn.primary:hover{background:var(--accent);border-color:var(--accent)}.btn.danger{color:#b3261e;border-color:#b3261e}.btn:disabled{opacity:.4;cursor:not-allowed}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem 1.25rem;display:grid}.card{color:inherit;text-decoration:none;display:block}.card img{aspect-ratio:4/5;object-fit:cover;background:var(--soft);width:100%;transition:opacity .3s;display:block}.card:hover img{opacity:.85}.card h3{text-transform:uppercase;letter-spacing:.08em;margin:.9rem 0 .2rem;font-size:1rem}.card p{color:#555;margin:.15rem 0;font-size:.9rem}.types .card h3{text-align:center}.price{color:var(--ink);font-weight:500}.card .price{color:var(--accent)}.gallery{scroll-snap-type:x mandatory;gap:.5rem;margin:0 -1.25rem 1.5rem;display:flex;overflow-x:auto}.gallery img{object-fit:cover;scroll-snap-align:start;max-width:92vw;height:min(70vh,560px)}.pre{white-space:pre-line}.form{flex-direction:column;gap:1.1rem;max-width:620px;margin:1rem 0;padding:0;display:flex}.form.narrow{max-width:380px;margin:4rem auto}.policy{background:var(--soft);padding:.75rem 1.25rem}.qr{width:240px;max-width:100%}.code{font-family:ui-monospace,monospace;font-size:1.1em}.error{color:#b3261e}.warn{background:#fff3cd;margin:0;padding:.5rem 1.25rem}.note{background:var(--soft);padding:.5rem .75rem}.muted{color:#6b6257;font-size:.85rem}.foot{border-top:1px solid var(--line);max-width:1240px;margin:0 auto;padding:2.5rem 1.25rem 6rem;font-size:.9rem}.contact{z-index:10;gap:.5rem;display:flex;position:fixed;bottom:1rem;right:1rem}.contact .zalo{color:#fff;background:#0068ff;border-color:#0068ff}.contact .call{color:#fff;background:#1e8e3e;border-color:#1e8e3e}.thumbs{flex-wrap:wrap;gap:.5rem;display:flex}.thumbs figure{width:140px;margin:0}.thumbs img{aspect-ratio:3/2;object-fit:cover;width:100%}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .5rem}@media (width<=600px){.hero{min-height:60vh}.grid{gap:2rem 1rem}.contact .btn{padding:.6rem .9rem}}
