:root { color-scheme: light; --navy:#143c67; --ink:#222; --link:#003399; --muted:#777; --line:#e6e6e6; --yellow:#fdd530; --paper:#fff; }
* { box-sizing: border-box; }
body { margin:0; background:#fff; color:var(--ink); font:13px/1.4 "Segoe UI", Arial, sans-serif; }
a { color:var(--link); text-decoration:none; }
a:hover { text-decoration:underline; }
img { max-width:100%; height:auto; display:block; }
.mast { background:var(--navy); }
.mast-row { max-width:1180px; margin:0 auto; display:flex; align-items:center; gap:18px; padding:12px 16px; }
.logo img { height:46px; width:auto; }
.finder { flex:1; display:flex; max-width:460px; }
.finder input { flex:1; border:0; background:#0f273c; color:#fff; padding:8px 12px; font-size:12px; }
.finder input::placeholder { color:rgba(255,255,255,.55); }
.finder button, .post { background:var(--yellow); color:#111; border:0; font-weight:700; cursor:pointer; }
.finder button { padding:0 14px; }
.account { margin-left:auto; display:flex; align-items:center; gap:8px; }
.account a, .account button { color:#fff; background:transparent; border:0; font-size:13px; font-weight:600; cursor:pointer; }
.account .post { color:#111; padding:8px 14px; border-radius:3px; }
.shell { max-width:1180px; margin:16px auto; padding:0 16px; display:grid; grid-template-columns:250px 1fr; gap:18px; }
.rail { font-size:13px; }
.meters, .jumps, .tree { list-style:none; margin:0 0 12px; padding:0; background:#fff; border:1px solid var(--line); }
.meters li, .jumps li { display:flex; justify-content:space-between; align-items:center; padding:8px 10px; border-bottom:1px solid #f2f2f2; }
.meters b { background:#3f475f; color:#fff; border-radius:10px; min-width:28px; text-align:center; padding:1px 7px; font-weight:600; }
.jumps a { color:#003399; font-weight:600; }
.jumps .split { display:block; }
.jumps .split span { color:#aaa; }
.tree > li { padding:8px 10px 4px; border-bottom:1px solid #f3f3f3; }
.tree .root { font-weight:700; color:#003399; }
.tree i { display:inline-block; width:18px; height:18px; border-radius:50%; vertical-align:-4px; margin-right:6px; }
.tree ul { list-style:none; margin:4px 0 4px 24px; padding:0; }
.tree ul li { display:flex; justify-content:space-between; gap:8px; padding:2px 0; }
.tree span, .tile p { color:#888; }
.band { display:flex; justify-content:space-between; align-items:baseline; margin:14px 0 8px; }
.band h2, .sheet h1, main h1 { margin:0; color:var(--navy); font-size:18px; }
.banner { margin:0 0 8px; }
.banner img { width:100%; max-height:220px; object-fit:cover; }
.tiles { display:grid; grid-template-columns:repeat(4,1fr); gap:12px 10px; }
.tile h3 { margin:6px 0 2px; font-size:12px; font-weight:600; line-height:1.3; max-height:2.6em; overflow:hidden; }
.tile h3 a { color:#333; }
.shot { position:relative; display:block; background:#eee; }
.shot img, .shot .empty { width:100%; height:112px; object-fit:cover; }
.shot b { position:absolute; left:0; right:0; bottom:0; padding:3px 6px; background:rgba(20,28,40,.72); color:#fff; font-size:12px; }
.panel, .sheet, .note { background:#fff; border:1px solid var(--line); padding:12px; }
.note { background:#eef4ff; border-color:#d5e2f7; }
.price { color:var(--navy); font-weight:700; font-size:18px; }
.muted { color:var(--muted); }
.hero { display:grid; grid-template-columns:1.4fr .8fr; gap:12px; }
.gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:8px; }
.gallery img { height:72px; object-fit:cover; width:100%; }
.map { width:100%; height:220px; border:0; margin-top:8px; }
form.stack { display:grid; gap:8px; }
input, textarea, select { width:100%; border:1px solid #ccc; padding:8px; }
button, .btn { background:var(--navy); color:#fff; border:0; border-radius:3px; padding:8px 14px; cursor:pointer; }
.quick { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 12px; }
.quick a { background:#fff; border:1px solid var(--line); border-radius:3px; padding:6px 10px; }
.pager { display:flex; gap:6px; flex-wrap:wrap; }
.pager a { border:1px solid var(--line); padding:4px 8px; }
.foot { background:#f7f8fa; border-top:1px solid var(--line); margin-top:24px; padding:22px 16px 70px; }
.foot-cols { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.foot b { display:block; color:var(--navy); margin-bottom:6px; }
.foot a { display:block; margin:3px 0; color:#444; }
.reach { max-width:1180px; margin:14px auto 0; }
.reach a { display:inline; margin-right:14px; color:var(--navy); font-weight:700; }
.wa { position:fixed; left:18px; bottom:18px; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.2); }
@media (max-width:900px) {
  .mast-row, .shell, .hero, .tiles, .foot-cols { display:block; }
  .finder { max-width:none; margin-top:8px; }
  .account { margin:8px 0 0; }
  .logo img { height:36px; }
  .tile { margin-bottom:12px; }
}
