.header { position:relative; }
.header nav [aria-current="page"] { color:var(--red); font-weight:700; }
.nav-toggle,.search-toggle { background:none; border:0; color:var(--ink); }
.nav-toggle { display:none; width:40px; height:40px; padding:10px 7px; }
.nav-toggle span { display:block; height:2px; margin:5px 0; background:currentColor; }
.search-toggle { font:32px/1 Arial,sans-serif; width:36px; height:40px; padding:0; }
.search-toggle svg { display:block; width:21px; height:21px; margin:auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.header-order { white-space:nowrap; color:var(--red); font-size:14px; font-weight:700; }
.site-search { position:absolute; z-index:8; top:76px; left:0; right:0; display:flex; align-items:center; gap:16px; padding:20px max(32px,calc((100% - 1180px)/2)); border-bottom:1px solid var(--line); background:var(--paper); box-shadow:0 8px 15px #29262212; }
.site-search[hidden] { display:none; }
.site-search label { margin:0; white-space:nowrap; }
.site-search input { max-width:520px; margin:0; }
.site-search button,.address-form button { align-self:stretch; border:1px solid var(--red); background:var(--red); color:#fff; padding:8px 20px; font-weight:700; }
.site-search button:hover,.address-form button:hover { background:#842e23; }
.page-main { padding:38px 0 110px; }
.page-heading { display:flex; align-items:baseline; gap:12px; margin-bottom:42px; border-bottom:2px solid var(--ink); }
.page-heading > a,.page-heading > span { color:var(--muted); font-size:13px; }
.page-heading h1 { margin:0 0 24px; font-size:clamp(46px,6vw,76px); }
.page-intro { max-width:720px; font-size:clamp(22px,2.5vw,32px); line-height:1.32; font-weight:700; letter-spacing:-.035em; }
.about-story { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:start; }
.about-story > div > p:not(.page-intro) { max-width:570px; color:var(--muted); font-size:17px; }
.about-story .button { margin-top:14px; }
.about-story img { display:block; width:100%; height:480px; object-fit:cover; }
.faq-section,.story-list { margin-top:95px; }
.faq-section h2,.story-list h2,.contact-page-grid h2 { font-size:clamp(31px,3.4vw,43px); }
.faq-list { max-width:850px; border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); padding:20px 0; }
.faq-list summary { cursor:pointer; font-weight:700; font-size:18px; }
.faq-list p { max-width:660px; margin:13px 0 0; color:var(--muted); }
.feature-story { display:grid; grid-template-columns:1.05fr .95fr; gap:6%; align-items:center; margin-top:46px; }
.feature-story img { display:block; width:100%; height:460px; object-fit:cover; }
.feature-story h2 { font-size:clamp(34px,4vw,56px); line-height:1.05; margin:0 0 24px; }
.feature-story p:not(.story-type) { color:var(--muted); font-size:16px; }
.story-type { color:var(--red); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.inline-link { color:var(--red); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.story-list { border-top:2px solid var(--ink); padding-top:32px; }
.story-row { display:grid; grid-template-columns:210px 1fr; gap:30px; max-width:850px; margin-top:30px; padding-bottom:30px; border-bottom:1px solid var(--line); }
.story-row img { width:210px; height:160px; object-fit:cover; }
.story-row h3 { font-size:27px; margin:0 0 10px; }
.story-row p { color:var(--muted); }
.story-row .story-type { color:var(--red); }
.share-button { border:1px solid var(--red); background:transparent; color:var(--red); min-height:42px; padding:8px 17px; font-weight:700; }
.share-button:hover { background:var(--red); color:#fff; }
.share-result { margin-left:12px; color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
.contact-page-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; margin-top:56px; }
.contact-page-grid > section > p { color:var(--muted); }
.demo-note { border-left:3px solid var(--red); padding-left:13px; font-size:13px; }
.branch-address { margin:12px 0; font-weight:700; }
.branch-map { display:block; width:100%; height:320px; border:1px solid var(--line); margin-bottom:12px; background:var(--soft); }
.address-form { margin-top:36px; border-top:1px solid var(--line); padding-top:24px; }
.address-form > div { display:flex; gap:8px; }
.address-form input { margin:0; min-width:0; }
.form-help { margin:8px 0; color:var(--muted); font-size:12px; }
.feedback-form { border-top:1px solid var(--line); padding-top:24px; }
.feedback-form textarea { min-height:160px; }
#feedback-result { margin:14px 0; color:var(--red); }
.admin-feedback { margin-top:60px; max-width:760px; }
.admin-feedback h2 { font-size:38px; }
.feedback-entry { padding:18px 0; border-top:1px solid var(--line); }
.feedback-entry p { white-space:pre-wrap; overflow-wrap:anywhere; }

@media (max-width:920px) {
  .header { gap:12px; }
  .nav-toggle { display:block; margin-left:auto; }
  .header nav { display:none; position:absolute; z-index:9; top:100%; left:0; right:0; width:auto; padding:18px; margin:0; background:var(--paper); border:1px solid var(--line); box-shadow:0 10px 20px #29262218; }
  .header nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .header nav a { display:block; padding:10px 0; border-bottom:1px solid var(--line); }
  .header nav a:last-child { border:0; }
  .site-search { top:76px; }
}
@media (max-width:650px) {
  .header { min-height:68px; flex-wrap:nowrap; padding:10px 0; }
  .header nav { order:initial; }
  .header .text-button { margin:0; }
  .header-order { font-size:13px; }
  .search-toggle { width:30px; }
  .site-search { top:68px; display:grid; gap:8px; padding:16px 18px; }
  .site-search label,.site-search input,.site-search button { width:100%; }
  .page-main { padding:26px 0 70px; }
  .page-heading { margin-bottom:30px; flex-wrap:wrap; }
  .page-heading h1 { width:100%; margin:0 0 14px; font-size:49px; }
  .about-story,.feature-story,.contact-page-grid { grid-template-columns:1fr; gap:26px; }
  .about-story img { height:300px; }
  .feature-story { margin-top:30px; }
  .feature-story img { height:280px; }
  .faq-section,.story-list { margin-top:65px; }
  .story-row { grid-template-columns:100px 1fr; gap:15px; }
  .story-row img { width:100px; height:105px; }
  .story-row h3 { font-size:21px; }
  .contact-page-grid { margin-top:34px; }
}
@media (max-width:390px) {
  .logo { font-size:19px; }
  .header { gap:7px; }
  .nav-toggle { width:34px; }
  .header .text-button,.header-order { font-size:12px; }
  .address-form > div { display:block; }
  .address-form button { margin-top:8px; }
}
/* Главная: адрес, новостная лента и версия для телефона. */
.hero-address { max-width:410px; margin-top:34px; }
.hero-address label { margin:0 0 8px; font-size:13px; color:var(--muted); }
.hero-address > div { display:flex; border:1px solid var(--line); background:#fff; }
.hero-address input:not([type=checkbox]) { min-width:0; margin:0; border:0; background:transparent; }
.hero-address button { width:48px; flex:none; border:0; border-left:1px solid var(--line); background:#fff; color:var(--red); font-size:22px; }
.hero-address button:hover { background:var(--red); color:#fff; }
.intro-visual { position:relative; }
.intro-visual figcaption { position:absolute; right:0; bottom:0; width:min(370px,84%); padding:17px 22px; background:var(--paper); }
.intro-visual figcaption span { display:block; margin-bottom:5px; color:var(--muted); font-size:11px; }
.intro-visual figcaption a { color:var(--ink); font-size:17px; font-weight:700; line-height:1.2; }
.latest { padding:75px 0 85px; border-top:2px solid var(--ink); }
.latest-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }
.latest-head h2 { margin:0; font-size:clamp(40px,4.5vw,59px); }
.latest-head p { margin:0; color:var(--muted); }
.slider-controls { display:flex; gap:8px; }
.slider-controls button { width:42px; height:42px; border:1px solid var(--line); background:transparent; color:var(--ink); font-size:23px; }
.slider-controls button:hover { border-color:var(--red); background:var(--red); color:#fff; }
.latest-slide { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:6%; border-top:1px solid var(--line); padding-top:25px; }
.latest-slide[hidden] { display:none; }
.latest-slide img { width:100%; height:310px; object-fit:cover; }
.latest-slide span { color:var(--red); font-size:13px; font-weight:700; }
.latest-slide h3 { margin:12px 0; max-width:420px; font-size:clamp(28px,3vw,42px); }
.latest-slide p { max-width:440px; color:var(--muted); }
.catalog { border-top:2px solid var(--ink); }
.mobile-site { background:var(--soft); padding:67px 0; }
.mobile-site-layout { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.mobile-site h2 { max-width:570px; margin:0 0 17px; font-size:clamp(39px,4.6vw,60px); }
.mobile-site p { max-width:530px; color:#514a43; font-size:17px; }
.mobile-site-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.mobile-site .form-help { margin-top:13px; font-size:12px; }
.mobile-site-qr { width:175px; text-align:center; }
.mobile-site-qr img { display:block; width:175px; height:175px; padding:8px; background:#fff; }
.mobile-site-qr small { display:block; margin-top:8px; color:var(--muted); font-size:11px; }
@media (max-width:650px) {
  .intro-visual figcaption { padding:13px 16px; }
  .intro-visual figcaption a { font-size:15px; }
  .latest { padding:57px 0 66px; }
  .latest-head h2 { font-size:41px; }
  .latest-slide { grid-template-columns:1fr; gap:22px; }
  .latest-slide img { height:245px; }
  .latest-slide h3 { font-size:30px; }
  .mobile-site { padding:55px 0; }
  .mobile-site-layout { grid-template-columns:1fr; gap:30px; }
  .mobile-site-qr { width:150px; }
  .mobile-site-qr img { width:150px; height:150px; }
}
