/* Галка — клуб аэросъёмки. Общие стили. Шрифты лежат у нас (/static/fonts/), лицензия OFL. */
@font-face{font-family:"Sofia Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/sofia-sans-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sofia Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/sofia-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sofia Sans";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/sofia-sans-cyrillic-400-italic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sofia Sans";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/sofia-sans-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Sofia Sans";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/sofia-sans-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sofia Sans";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/sofia-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Sofia Cond";font-weight:400;font-display:swap;src:url(fonts/sofia-sans-condensed-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sofia Cond";font-weight:400;font-display:swap;src:url(fonts/sofia-sans-condensed-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Sofia Cond";font-weight:600;font-display:swap;src:url(fonts/sofia-sans-condensed-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sofia Cond";font-weight:600;font-display:swap;src:url(fonts/sofia-sans-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Sofia Cond";font-weight:800;font-display:swap;src:url(fonts/sofia-sans-condensed-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sofia Cond";font-weight:800;font-display:swap;src:url(fonts/sofia-sans-condensed-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Martian Mono";font-weight:400;font-display:swap;src:url(fonts/martian-mono-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Martian Mono";font-weight:400;font-display:swap;src:url(fonts/martian-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}

:root{--paper:#F2F0E9;--card:#FBFAF6;--ink:#1D262B;--mute:#5E6A6E;--rule:#D3CEC1;--sea:#D3E0DF;--land:#F8F5EC;--coast:#9C937C;
--mag:#A8215F;--mag2:#7C1746;--blue:#2C6478;--ochre:#B48A2C;--cond:"Sofia Cond","Arial Narrow",sans-serif;--mono:"Martian Mono",Consolas,monospace}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16.5px/1.55 "Sofia Sans",Arial,sans-serif}
a{color:var(--blue)}
a:hover{color:var(--mag)}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--cond);font-weight:800;line-height:1.12;letter-spacing:.005em;margin:1.3em 0 .45em}
h1{font-size:2.05rem;margin-top:.35em}
h2{font-size:1.45rem}
h3{font-size:1.15rem;font-weight:600}
p{margin:.55em 0 .8em}
small,.mute{color:var(--mute)}
.num,.mono{font-family:var(--mono);font-size:.82em;letter-spacing:-.02em}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:6px 10px;z-index:9}

/* шапка: узкая полоса как на старых клубных сайтах */
.top{background:var(--ink);color:#E9E6DD}
.top .in{max-width:1280px;margin:0 auto;padding:0 18px;display:flex;align-items:center;gap:22px;min-height:58px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.logo svg{flex:none}
.logo b{font:800 1.5rem/1 var(--cond);letter-spacing:.02em}
.logo small{display:block;color:#A9B3B3;font:400 .78rem/1.2 var(--cond);letter-spacing:.04em}
.menu{display:flex;flex-wrap:wrap;gap:2px 16px;margin-left:auto;font:600 1rem/1 var(--cond);letter-spacing:.02em}
.menu a{color:#E9E6DD;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a.on{border-bottom-color:var(--mag);color:#fff}
.mbtn{display:none;margin-left:auto;background:none;border:1px solid #6B777A;color:#fff;font:600 .95rem var(--cond);padding:6px 10px;border-radius:2px}
.wrap{max-width:1280px;margin:0 auto;padding:18px 18px 40px}
.narrow{max-width:860px}
.crumbs{font:400 .9rem var(--cond);color:var(--mute);letter-spacing:.02em}
.crumbs a{color:var(--mute)}

/* главная: карта + правая колонка */
.home{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:22px;align-items:start}
.mapbox{background:var(--sea);border:1px solid var(--rule);position:relative}
.mapbox svg{display:block;width:100%;height:auto;touch-action:manipulation}
.mapbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:7px 10px;border-top:1px solid var(--rule);background:var(--card);font:400 .9rem var(--cond)}
.mapbar button{font:600 .9rem var(--cond);background:var(--ink);color:#fff;border:0;padding:5px 10px;border-radius:2px;cursor:pointer}
.mapbar button[hidden]{display:none}
.mapbar .where{font-weight:600}
.mapbar .grow{flex:1}
.land{fill:var(--land);stroke:var(--coast);stroke-width:.6;vector-effect:non-scaling-stroke}
.lake{fill:var(--sea);stroke:var(--coast);stroke-width:.4;vector-effect:non-scaling-stroke}
.river{fill:none;stroke:#93B5BA;stroke-width:.9;vector-effect:non-scaling-stroke}
.grat{fill:none;stroke:#BFD0CE;stroke-width:.5;vector-effect:non-scaling-stroke}
.rg circle{fill:var(--mag);stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}
.rg text{font:600 19px var(--cond);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px;stroke-linejoin:round;cursor:pointer}
.rg:hover circle,.rg:focus-visible circle{fill:var(--mag2)}
.rg:focus,.trk a:focus{outline:none}
.rg:focus-visible circle{stroke:var(--ink);stroke-width:3}
.trk polyline{fill:none;stroke:var(--mag);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.trk circle{fill:var(--mag);stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer}
.trk a:hover circle,.trk a.hl circle{fill:var(--ink)}
.trk a:hover polyline,.trk a:focus polyline,.trk a.hl polyline{stroke:var(--ink);stroke-width:3.2}
#karta .trk{opacity:0;pointer-events:none;transition:opacity .3s}
#karta.z .trk{opacity:1;pointer-events:auto}
#karta.z .rg{opacity:0;pointer-events:none}
.legend{font:400 .85rem var(--cond);color:var(--mute);margin:6px 2px 0}
.legend i{display:inline-block;width:22px;height:3px;background:var(--mag);vertical-align:middle;margin-right:5px}
.legend s{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--mag);border:1.5px solid #fff;outline:1px solid var(--mag);vertical-align:middle;margin:0 5px 0 12px}

.col h2{font-size:1.1rem;margin:.2em 0 .5em;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--mute)}
.col section{background:var(--card);border:1px solid var(--rule);padding:12px 14px 10px;margin-bottom:14px}
.rlist{list-style:none;margin:0;padding:0}
.rlist li{display:flex;gap:8px;align-items:baseline;border-bottom:1px dotted var(--rule);padding:5px 0}
.rlist li:last-child{border:0}
.rlist a{flex:1}
.rlist .num{color:var(--mute)}
.flist{list-style:none;margin:0;padding:0}
.flist li{padding:7px 0;border-bottom:1px dotted var(--rule);line-height:1.3}
.flist li:last-child{border:0}
.flist .k{display:block;font:400 .84rem var(--cond);color:var(--mute);margin-top:2px}
.note{font-size:.95rem}
.note .d{font:400 .84rem var(--cond);color:var(--mute)}

/* полоса под картой */
.strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:22px}
.card{background:var(--card);border:1px solid var(--rule)}
.card .th{display:block;position:relative;aspect-ratio:16/9;background:#C9D3D2;overflow:hidden}
.card .th img{display:block;width:100%;height:100%;object-fit:cover}
.card .th span{position:absolute;right:6px;bottom:6px;background:rgba(20,26,29,.82);color:#fff;font:400 .72rem var(--mono);padding:2px 5px}
.card .b{padding:8px 10px 10px}
.card h3{margin:0 0 4px;font-size:1.05rem}
.card h3 a{color:var(--ink);text-decoration:none}
.card .k{font:400 .84rem var(--cond);color:var(--mute)}

/* каталог маршрутов */
.filters{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:end;background:var(--card);border:1px solid var(--rule);padding:10px 12px;margin:12px 0 16px}
.filters label{display:flex;flex-direction:column;font:600 .85rem var(--cond);color:var(--mute);gap:3px}
.filters select{font:400 .95rem "Sofia Sans",sans-serif;padding:4px 6px;border:1px solid var(--rule);background:#fff;min-width:150px}
.filters output{font:400 .9rem var(--cond);margin-left:auto}
table.t{border-collapse:collapse;width:100%;font-size:.95rem;background:var(--card)}
table.t th{font:600 .85rem var(--cond);text-align:left;color:var(--mute);border-bottom:2px solid var(--ink);padding:6px 8px;letter-spacing:.03em}
table.t td{border-bottom:1px solid var(--rule);padding:6px 8px;vertical-align:top}
table.t td.r,table.t th.r{text-align:right;white-space:nowrap}
table.t tr[hidden]{display:none}
.tw{overflow-x:auto}

/* страница полёта */
.fhead .k{font:400 1rem var(--cond);color:var(--mute);margin:-.2em 0 1em}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.stage{background:#111;position:relative}
.stage video{display:block;width:100%;aspect-ratio:16/9;background:#111}
.pbar{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:#1D262B;color:#C9D0CF;padding:6px 10px;font:400 .85rem var(--cond)}
.pbar select{font:400 .85rem var(--cond);background:#2B353A;color:#fff;border:1px solid #46525A}
.pbar .grow{flex:1}
.tele{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule);border-top:0;background:var(--card)}
.tele div{padding:7px 10px;border-right:1px solid var(--rule)}
.tele div:last-child{border:0}
.tele b{display:block;font:400 1.05rem var(--mono);letter-spacing:-.03em;white-space:nowrap}
.tele span{font:400 .78rem var(--cond);color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.mini{background:var(--card);border:1px solid var(--rule)}
.mini svg{display:block;width:100%;height:auto}
.mini .cap{font:400 .82rem var(--cond);color:var(--mute);padding:5px 9px;border-top:1px solid var(--rule)}
.g1{stroke:#E1DDD1;stroke-width:1}.g2{stroke:#CDC7B7;stroke-width:1}
.tr0{fill:none;stroke:#D7A3BC;stroke-width:3;stroke-linejoin:round}
.tr1{fill:none;stroke:var(--mag);stroke-width:3.2;stroke-linejoin:round}
.home-pt{fill:#fff;stroke:var(--ink);stroke-width:2}
.me{fill:var(--mag);stroke:#fff;stroke-width:2.5}
.lbl{font:400 12px var(--cond);fill:var(--mute)}
.lbl2{font:600 22px var(--cond);fill:var(--ink)}
.flist.long li{border:0;padding:3px 0}
.prof{margin-top:12px;background:var(--card);border:1px solid var(--rule)}
.prof svg{display:block;width:100%;height:auto;cursor:crosshair}
.prof .cap{display:flex;gap:16px;font:400 .82rem var(--cond);color:var(--mute);padding:5px 9px;border-top:1px solid var(--rule)}
.prof .cap i{display:inline-block;width:16px;height:3px;vertical-align:middle;margin-right:5px}
.alt{fill:#E7D7C0;stroke:var(--ochre);stroke-width:1.5}
.spd{fill:none;stroke:var(--blue);stroke-width:1.3}
.cur{stroke:var(--mag);stroke-width:2}
.two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;margin-top:6px}
dl.wx{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;margin:0;font-size:.95rem}
dl.wx dt{color:var(--mute);font-family:var(--cond)}
dl.wx dd{margin:0}
.files{list-style:none;padding:0;margin:0}
.files li{padding:6px 0;border-bottom:1px dotted var(--rule)}
.files .num{color:var(--mute);margin-left:6px}
.pn{display:flex;justify-content:space-between;gap:20px;margin-top:26px;border-top:1px solid var(--rule);padding-top:10px;font-size:.95rem}
.pn a{max-width:46%}
.quote{border-left:3px solid var(--mag);padding:2px 0 2px 14px;margin:10px 0}
.upd{font:400 .88rem var(--cond);color:var(--mute);background:#EDE7D8;padding:4px 8px;display:inline-block}

/* дневник, пилоты, тексты */
.diary{list-style:none;padding:0;margin:0}
.diary li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule)}
.diary .d{font:400 .9rem var(--cond);color:var(--mute)}
.diary p{margin:.2em 0 0;font-size:.95rem}
.arch{columns:3 180px;font-size:.95rem}
.arch div{break-inside:avoid;margin-bottom:12px}
.arch b{font-family:var(--cond)}
.pilots{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.pilot{background:var(--card);border:1px solid var(--rule);padding:12px 14px;display:grid;grid-template-columns:44px 1fr;gap:4px 12px}
.pilot .mk{grid-row:span 3;width:44px;height:44px;display:grid;place-items:center;font:800 1.2rem var(--cond);color:#fff}
.pilot h3{margin:0}
.pilot p{margin:0;font-size:.93rem}
.pilot .k{font:400 .84rem var(--cond);color:var(--mute)}
.text ul,.text ol{padding-left:1.3em}
.text li{margin:.25em 0}
form.f{background:var(--card);border:1px solid var(--rule);padding:14px 16px;max-width:620px}
form.f label{display:block;font:600 .9rem var(--cond);margin:10px 0 3px}
form.f input[type=text],form.f input[type=email],form.f select,form.f textarea{width:100%;font:400 1rem "Sofia Sans",sans-serif;padding:6px 8px;border:1px solid #BDB6A6;background:#fff}
form.f textarea{min-height:140px}
form.f .ch{font-weight:400;font-family:"Sofia Sans",sans-serif;display:flex;gap:8px;align-items:flex-start}
form.f button{margin-top:14px;font:600 1rem var(--cond);background:var(--mag);color:#fff;border:0;padding:8px 18px;cursor:pointer}
form.f .hp{position:absolute;left:-5000px}

.ft{border-top:3px solid var(--ink);margin-top:34px;padding:12px 18px 26px;font:400 .9rem var(--cond);color:var(--mute)}
.ft .in{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;gap:6px 18px}
.ft a{color:var(--mute)}
.ft .grow{flex:1}

@media (max-width:1000px){
 .home,.fgrid,.two{grid-template-columns:1fr}
 .tele{grid-template-columns:repeat(3,1fr)}
 .tele div:nth-child(3){border-right:0}
}
@media (max-width:760px){
 body{font-size:16px}
 .top .in{flex-wrap:wrap;padding:8px 16px}
 .mbtn{display:block}
 .menu{display:none;width:100%;flex-direction:column;gap:0;margin:0 0 8px}
 .menu.open{display:flex}
 .menu a{padding:9px 0;border-bottom:1px solid #34404A}
 .wrap{padding:12px 16px 30px}
 h1{font-size:1.6rem}
 .diary li{grid-template-columns:1fr;gap:2px}
 .tele{grid-template-columns:repeat(2,1fr)}
 .tele div{border-bottom:1px solid var(--rule)}
 .filters select{min-width:0;width:100%}
 .filters label{flex:1 1 140px}
 .pn{flex-direction:column}.pn a{max-width:none}
}
