/* GasolineraHoy. Образ: испанская трасса в полдень, ценовой монолит у заправки (README «Дизайн»). */
@font-face{font-family:"Barlow Condensed";src:url(/fonts/barlowcond-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Work Sans";src:url(/fonts/worksans.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:optional}
@font-face{font-family:"Work Sans Fallback";src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('LiberationSans');font-weight:400 700;size-adjust:112.54%;ascent-override:82.64%;descent-override:21.59%;line-gap-override:0%}
:root{
  --sand:#f5ecdc; --sand-2:#efe2c8; --card:#fffaf0; --ink:#1b2233; --muted:#5d5545; --line:#e2d3b4; --line-2:#cdb98f;
  --road:#1f3b6e; --road-2:#2b5196; --road-ink:#132649; --terra:#b9472a; --ochre:#d8952b; --asphalt:#24272c; --asphalt-2:#33373e; --on-asphalt:#ffffff; --on-asphalt-2:#cfc8b8; --led:#ffb23e; --led-dim:#c9b48c;
  --cheap:#2f7a4f; --dear:#b9472a; --c1:#c0532f; --c2:#1f3b6e; --dot:#8f7a55;
  --r-sm:6px; --r:10px; --r-lg:16px;
  --sh:0 1px 0 rgba(80,60,20,.08),0 12px 26px -16px rgba(80,60,20,.42);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:36px; --s7:56px;
  --head:"Barlow Condensed","Arial Narrow",sans-serif; --text:"Work Sans","Work Sans Fallback",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--ink);font:400 16.5px/1.6 var(--text)}
a{color:var(--road-2);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--terra)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.05;letter-spacing:.005em;color:var(--road-ink)}
h1{font-size:clamp(34px,5.4vw,60px);margin:var(--s3) 0 var(--s4);text-transform:uppercase;letter-spacing:.01em}
h2{font-size:clamp(26px,3.2vw,36px);margin:var(--s7) 0 var(--s3);display:flex;align-items:center;gap:var(--s3)}
h2::before{content:"";flex:none;width:30px;height:6px;border-radius:2px;background:linear-gradient(90deg,var(--ochre) 0 45%,transparent 45% 60%,var(--ochre) 60%)}
section>h2:first-child{margin-top:var(--s6)}
table,.price,.big,.tp,.num,.viz{font-variant-numeric:tabular-nums}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.muted,.note{color:var(--muted)}
.note{font-size:14.5px}
.lead{font-size:18px;max-width:720px;margin:0 0 var(--s4)}

/* шапка: синяя полоса автовии и охряная разметка */
.top{background:var(--road);color:#fff;position:relative}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:repeating-linear-gradient(90deg,var(--ochre) 0 34px,transparent 34px 56px)}
.top .wrap{display:flex;align-items:center;gap:var(--s5);min-height:66px;padding-bottom:4px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 27px/1 var(--head);letter-spacing:.02em}
.logo:hover{color:#fff}
.logo svg{width:34px;height:34px;flex:none}
.logo .v{color:var(--led);font-weight:700}
.top nav{margin-left:auto;display:flex;gap:var(--s5)}
.top nav a{color:#e6ecf7;text-decoration:none;font:600 15px var(--text);white-space:nowrap}
.top nav a:hover{color:var(--led)}
main{padding-bottom:var(--s7)}
.crumbs{font-size:14px;color:var(--muted);margin:var(--s5) 0 0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--muted)}

/* монолит: карточка ответа */
.totem{background:var(--asphalt);color:#fff;border-radius:var(--r-lg);padding:var(--s4) var(--s4) var(--s3);box-shadow:var(--sh);border:3px solid var(--asphalt-2);outline:2px solid var(--road);outline-offset:-9px}
.totem-head{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;font:700 16px/1.2 var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--led-dim);padding:6px 8px 10px}
.trow{display:grid;grid-template-columns:auto 1fr;gap:2px var(--s4);align-items:center;padding:10px 8px;border-top:1px solid var(--asphalt-2)}
.tf{display:inline-flex;align-items:center;gap:8px;font:700 19px/1 var(--head);letter-spacing:.04em;text-transform:uppercase}
.tf i{width:12px;height:12px;border-radius:3px;background:var(--c1)}
.tf i.f2{background:#5d86d6}
.tp{justify-self:end;font:700 clamp(40px,6vw,58px)/1 var(--head);color:var(--led);letter-spacing:.02em;text-shadow:0 0 18px rgba(255,178,62,.28)}
.tw{grid-column:1/-1;font-size:14.5px;color:#d9d4c8;line-height:1.4}
.tw a{color:#fff}
.tw a:hover{color:var(--led)}
.tfoot{display:flex;flex-wrap:wrap;gap:4px 18px;padding:10px 8px 4px;border-top:1px solid var(--asphalt-2);font-size:14px;color:#d9d4c8}
.tfoot .v{color:#fff;font-weight:600}

/* первый экран страниц */
.topgrid{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);gap:var(--s6);align-items:start;margin-top:var(--s2)}
.topgrid .lead{font-size:17.5px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3);margin:var(--s4) 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3) var(--s4);border-top:5px solid var(--ochre)}
.stat .lbl{font:700 16px var(--head);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.stat .big{font:700 34px/1.1 var(--head);color:var(--ink)}
.stat .sub{font-size:13.5px;color:var(--muted)}

/* главная */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"txt art" "totem art" "totem find";gap:var(--s4) var(--s6);margin:var(--s5) 0 var(--s4);align-items:start}
.hero .txt{grid-area:txt}
.hero .totem{grid-area:totem}
.hero .art{grid-area:art;margin:0;border-radius:22px;overflow:hidden;border:6px solid var(--card);box-shadow:0 0 0 3px var(--road),var(--sh)}
.hero .art img{width:100%;aspect-ratio:7/4;object-fit:cover}
.hero .search{grid-area:find;margin:0}
.search{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);margin:var(--s4) 0;box-shadow:var(--sh)}
.search label{display:block;font:700 20px var(--head);letter-spacing:.04em;text-transform:uppercase;color:var(--road-ink);margin-bottom:var(--s2)}
.search div{display:flex;gap:var(--s2)}
.search input{flex:1;min-width:0;font:inherit;font-size:17px;padding:12px 14px;border:2px solid var(--line-2);border-radius:var(--r);background:#fff;color:var(--ink)}
.search input:focus{outline:none;border-color:var(--road-2)}
.search button,#loc{font:700 19px var(--head);letter-spacing:.05em;text-transform:uppercase;padding:12px 20px;border:0;border-radius:var(--r);background:var(--terra);color:#fff;cursor:pointer}
.search button:hover,#loc:hover{background:#9c3a21}
.search .note{margin:var(--s3) 0 0}

/* графики */
.fig{margin:var(--s5) 0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4) var(--s4) var(--s3)}
.fig .ft{font:700 21px/1.1 var(--head);letter-spacing:.03em;text-transform:uppercase;color:var(--road-ink);margin:0 0 4px}
.fig .fs{font-size:14px;color:var(--muted);margin:0 0 var(--s3)}
.fig figcaption{font-size:13.5px;color:var(--muted);margin-top:var(--s2)}
.figs{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.figs .fig{margin:0}
.viz{display:block;width:100%;height:auto;overflow:visible;font-family:var(--text)}
.v-m{display:none}
.viz .tick{fill:var(--muted);font-size:12px}
.viz .lab{fill:var(--muted);font-size:12.5px}
.viz .lab,.viz .val{paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round}
.viz .val{fill:var(--ink);font:700 15px var(--head)}
.viz .axis{stroke:var(--line-2);stroke-width:1.5}
.viz .grid{stroke:var(--line-2);stroke-dasharray:10 8}
.viz .dot{fill:var(--dot);opacity:.55}
.viz .ref{stroke:var(--muted);stroke-width:1.2;stroke-dasharray:3 3}
.viz .pin{fill:var(--card);stroke:var(--muted);stroke-width:2}
.viz .ref-min{stroke:var(--cheap);stroke-dasharray:none;stroke-width:2}.viz .pin-min{fill:var(--cheap);stroke:var(--cheap)}.viz .val-min{fill:var(--cheap)}
.viz .ref-mun,.viz .ref-brand,.viz .ref-prov{stroke:var(--road)}.viz .pin-mun,.viz .pin-brand{fill:var(--road);stroke:var(--road)}
.viz .ref-nat{stroke:var(--terra)}.viz .pin-nat{stroke:var(--terra)}.viz .val-nat{fill:var(--terra)}
.viz .bin{fill:var(--ochre);opacity:.85}
.viz .line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.viz .line-s1{stroke:var(--c1)}.viz .line-s2{stroke:var(--c2)}
.viz .area{opacity:.10;stroke:none}.viz .area-s1{fill:var(--c1)}.viz .area-s2{display:none}
.viz .end-s1{fill:var(--c1)}.viz .end-s2{fill:var(--c2)}
.viz .val-s1{fill:var(--c1)}.viz .val-s2{fill:var(--c2)}
.viz .name{fill:var(--ink);font-size:13px}
.viz .dv-lo{fill:var(--cheap)}.viz .dv-hi{fill:var(--dear)}
.viz .dvt{fill:var(--muted);font-size:12px}
.viz .dvt-in{fill:#fff;font-weight:700}
.viz .cut{fill:var(--card)}
.viz .cutn{font-weight:700}
.viz .zero{stroke:var(--ink);stroke-width:1.5}
.k{display:inline-block;width:14px;height:4px;border-radius:2px;margin:0 6px 3px 10px;vertical-align:middle}
.k:first-child{margin-left:0}
.k1{background:var(--c1)}.k2{background:var(--c2)}

/* списки и таблицы */
.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.cheap{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;counter-reset:c}
.cheap li{display:flex;gap:var(--s3);padding:11px var(--s4);border-top:1px solid var(--line);align-items:baseline;counter-increment:c}
.cheap li:first-child{border-top:0;background:#fbf1dc}
.price{font:700 22px/1 var(--head);white-space:nowrap;color:var(--ink);min-width:74px}
.cheap li:first-child .price{color:var(--cheap)}
.who{font-size:15px}
.addr{display:block;color:var(--muted);font-size:14px;text-decoration:none}
.ad{display:block;color:var(--muted);font-size:14px}
.ad .addr{display:inline}
.addr:hover{text-decoration:underline;color:var(--terra)}
.tablewrap.tall{max-height:75vh}
.tablewrap{overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:9px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
thead th{position:sticky;top:0;z-index:1;background:var(--road);color:#fff;border-top:0;font:700 15px var(--head);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
th[data-k]{cursor:pointer}
th[data-k]::after{content:" ↕";opacity:.6}
th.on{background:var(--terra)}
tbody tr:hover td{background:#fbf1dc}
tbody tr:nth-child(even) td{background:rgba(239,226,200,.35)}
tbody tr:nth-child(even):hover td{background:#fbf1dc}
td.n{text-align:right;white-space:nowrap}
.brand{font-weight:600;display:block}
.brand a{color:var(--ink);text-decoration:none}
td.hours{font-size:13px;color:var(--muted);white-space:nowrap}

/* FAQ, карточки соседей, чипы */
.faq{max-width:820px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin:var(--s2) 0;padding:0 var(--s4)}
.faq summary{cursor:pointer;font-weight:600;padding:var(--s3) 0;list-style:none;display:flex;justify-content:space-between;gap:var(--s3)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:700 24px/1 var(--head);color:var(--terra)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 var(--s3)}
.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s3)}
.cards li{position:relative;background:var(--card);border:1px solid var(--line);border-left:6px solid var(--road);border-radius:var(--r);padding:10px 14px}
.cards li:hover{border-left-color:var(--terra)}
.cards a{font:700 20px/1.1 var(--head);color:var(--road-ink);text-decoration:none}
.cards a::after{content:"";position:absolute;inset:0}
.cards .muted{display:block;font-size:13.5px}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.chips li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 13px;font-size:14.5px}
.chips a{text-decoration:none;color:var(--road-ink);font-weight:600}
.chips a:hover{color:var(--terra)}
.back{margin-top:var(--s5)}
.prose{max-width:720px;font-size:17px}
.band{margin:var(--s7) 0 0;height:220px;background:url(/art/band.webp) center 40%/cover no-repeat;border-top:4px solid var(--ochre)}

/* cerca de mí */
.nearbar{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);align-items:center}
.nearbar label{display:flex;gap:6px;align-items:center;font:600 15px var(--text);text-transform:none;letter-spacing:0;margin:0;color:var(--ink)}
.nearbar select{font:inherit;padding:8px;border:2px solid var(--line-2);border-radius:var(--r-sm);background:#fff;color:var(--ink)}

/* подвал: асфальт с прерывистой охряной разметкой, заголовки колонок синими табличками автовии (DESIGN-STANDARD §7) */
.foot{background:var(--asphalt);color:var(--on-asphalt-2);font-size:14px;border-top:6px solid var(--road);position:relative}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:repeating-linear-gradient(90deg,var(--ochre) 0 34px,transparent 34px 58px);opacity:.85}
.foot a{color:var(--on-asphalt);text-decoration:none}
.foot a:hover{color:var(--led);text-decoration:underline}
.foot-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s6) var(--s5);padding:var(--s6) 0 var(--s5)}
.fh{display:inline-block;margin:0 0 var(--s3);font:700 17px/1 var(--head);letter-spacing:.03em;text-transform:uppercase;color:var(--on-asphalt);background:var(--road);border:2px solid var(--on-asphalt);border-radius:var(--r-sm);padding:6px 10px 5px;box-shadow:0 0 0 2px var(--road)}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{padding:4px 0;line-height:1.3}
.foot-base{border-top:1px solid var(--asphalt-2)}
.foot-base .wrap{padding-top:var(--s5);padding-bottom:var(--s6)}
.foot-base p{max-width:860px;margin:0 0 var(--s2)}
.foot-name{font:700 19px var(--head);color:var(--on-asphalt)}
.foot-name .v{color:var(--led)}
.foot-meta{font-size:13px}
@media (max-width:1000px){.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s4)}
  .fcol:nth-child(5){grid-column:1/-1}
  .fcol:nth-child(5) ul{columns:2;column-gap:var(--s4)}
  .fcol li{padding:6px 0;break-inside:avoid}
  .fh{font-size:15px}
}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;grid-template-areas:"txt" "find" "totem" "art"}
  .topgrid{grid-template-columns:1fr;gap:var(--s4)}
}
@media (max-width:700px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .v-d{display:none}.v-m{display:block}
  .two,.figs{grid-template-columns:1fr}
  h2{margin-top:var(--s6)}
  .top .wrap{flex-wrap:wrap;gap:6px;padding-top:10px;padding-bottom:12px}
  .top nav{margin-left:0;width:100%;gap:18px;overflow-x:auto}
  .logo{font-size:24px}
  .fig{padding:var(--s3)}
  th,td{padding:7px 8px}
  table{font-size:14px}
  .tall td:first-child{min-width:170px}
  thead th{font-size:14px;letter-spacing:.02em}
  .band{height:140px}
  .cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s2)}
  .cards a{font-size:18px}
  .search div{flex-wrap:wrap}.search input{flex:1 1 100%}.search button{flex:1}
  .stat .sub{font-size:12.5px}
}
main>h1:first-child{margin-top:var(--s6)}
