*{box-sizing:border-box}
:root{--bg:#fff;--ink:#2b2f33;--mute:#6b7178;--line:#dfe3e7;--blue:#0a5bc4;--btn:#0a5bc4;--green:#3f9e2f;--gbg:#5cbb47;--soft:#f3f6f9;--head:#000;--cut:#b3261e;--cutbg:#fde8e7;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#14181c;--ink:#e8ebee;--mute:#9aa2aa;--line:#2b3238;--blue:#6aa8ff;--btn:#2f6fd0;--green:#7fd36b;--soft:#1c2228;--head:#e8ebee;--cut:#ffb4ab;--cutbg:#3a1f1d}}
:root[data-theme="dark"]{--bg:#14181c;--ink:#e8ebee;--mute:#9aa2aa;--line:#2b3238;--blue:#6aa8ff;--btn:#2f6fd0;--green:#7fd36b;--soft:#1c2228;--head:#e8ebee;--cut:#ffb4ab;--cutbg:#3a1f1d}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 Barlow,"Helvetica Neue",Arial,sans-serif}
a{color:var(--blue)}
.top{background:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 28px;padding:10px 20px}
.top img{height:56px;width:auto;display:block}
.top nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px}
.top nav a{color:#000;font-weight:700;text-decoration:none;padding:8px 2px}
.wrap{max-width:820px;margin:0 auto}
.in{padding:0 20px}
h1{font-size:clamp(28px,5vw,40px);line-height:1.15;color:var(--blue);margin:28px 0 10px}
h2{font-size:24px;margin:28px 0 10px;color:var(--blue)}
p{max-width:62ch;margin:0 0 14px}
ul{margin:0;padding-left:20px}li{margin:0 0 6px}
.show{position:relative}
.sl{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.sl::-webkit-scrollbar{display:none}
.sl img{flex:0 0 100%;width:100%;aspect-ratio:4/3;max-height:70vh;object-fit:cover;scroll-snap-align:start}
.cnt{position:absolute;right:12px;bottom:12px;background:rgba(30,30,30,.82);color:#fff;font-weight:700;padding:6px 12px;border-radius:6px}
.nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#222;font-size:24px;cursor:pointer}
.nav.p{left:10px}.nav.n{right:10px}
a:focus-visible,.nav:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.by{margin:16px 0 12px;color:var(--mute)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span,.st{padding:5px 12px;border-radius:6px;font-weight:700;font-size:16px;background:var(--soft);display:inline-block}
.tags .cut{background:var(--cutbg);color:var(--cut)}
.tags i,.st i{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--green);margin-right:8px}
.price{font-size:clamp(38px,9vw,52px);font-weight:700;line-height:1.1;margin:14px 0 6px}
.facts{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:20px;margin:0 0 6px}
.addr{font-size:20px;margin:0 0 20px}
.bar{position:sticky;bottom:0;display:flex;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line)}
.btn{flex:1;text-align:center;padding:14px 10px;border-radius:6px;font-weight:700;font-size:18px;text-decoration:none;border:2px solid var(--btn);color:var(--blue);background:none;font-family:inherit;cursor:pointer}
.btn.f{background:var(--btn);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin:8px 0 40px}
.card{display:block;text-decoration:none;color:var(--head);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.card div{padding:14px 16px 16px}
.card b{display:block;font-size:30px;line-height:1.2;margin:8px 0 2px}
.card span.m{display:block;color:var(--head)}
.cl{color:var(--head)}
.contact{background:var(--soft);border-left:4px solid var(--gbg);padding:4px 20px 14px;margin:28px 0}
form{display:grid;gap:12px;max-width:520px;margin:16px 0 40px}
label{font-weight:700;display:grid;gap:4px}
input,textarea,select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}
.foot{border-top:1px solid var(--line);color:var(--mute);font-size:15px;padding:20px;text-align:center}
@media (max-width:700px){.top img{height:44px}}
.lead{font-size:20px}
.pics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 6px}
.pics img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
.cap{color:var(--mute);font-size:15px;margin:0 0 8px}
.steps{margin:0 0 14px;padding-left:22px}
@media (max-width:700px){.pics{grid-template-columns:1fr}}
.wide{margin:14px 0 8px}.wide img{width:100%;display:block;border-radius:6px}
.pics.two{grid-template-columns:repeat(2,1fr);margin-top:8px}.pics.two img{aspect-ratio:16/10}
@media (max-width:700px){.pics.two{grid-template-columns:1fr}}
.plain h1,.plain h2{color:var(--head)}
.plain h2{font-size:24px}
.foot a{color:inherit;text-decoration:none}
#map{height:440px;border:1px solid var(--line);border-radius:8px;margin:8px 0 40px;z-index:0}
.pin{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.pop{font-family:inherit;width:210px}.pop img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
.pop b{display:block;font-size:20px;margin:8px 0 2px}.pop span{display:block;font-size:14px;line-height:1.35}.pop a{font-weight:700;text-decoration:none;display:inline-block;margin-top:6px}
