/* ═══════════ ГЛАВНАЯ-МАНИФЕСТ (front-page) — грузится только на главной ═══════════ */
.progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 200; }
.progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--acc), var(--acc2)); transform-origin: left; transform: scaleX(0); }
/* HERO */
.hero { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.hero-img { position: absolute; inset: -6% -2%; will-change: transform; }
.hero-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.5) contrast(1.08) brightness(.52); }
[data-mode="light"] .hero-img img { filter: grayscale(.35) contrast(1.04) brightness(.9); }
.hero-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--ov1), transparent 35%, var(--ov2) 88%), linear-gradient(100deg, var(--tint), transparent 50%); }
.hero-body { position: relative; z-index: 2; padding: 0 2.6rem 1rem; }
.hero-kick { display: inline-flex; align-items: center; gap: .9rem; font-size: .66rem; font-weight: 700; letter-spacing: .32em; text-transform: uppercase; color: var(--acc2); }
.hero-kick::before { content: ''; width: 3rem; height: 1px; background: var(--acc); }
.hero-h1 { font-family: 'Oswald', sans-serif; font-weight: 700; text-transform: uppercase; font-size: clamp(2.7rem, 1.2rem + 7.6vw, 8.4rem); line-height: .94; letter-spacing: -.005em; margin-top: 1rem; max-width: 15ch; }
.hero-h1 .line { display: block; overflow: hidden; }
.hero-h1 .line span { display: block; transform: translateY(112%); animation: riseUp 1s cubic-bezier(.65,.01,.05,.99) forwards; }
.hero-h1 .line:nth-child(2) span { animation-delay: .12s; color: var(--acc); }
.hero-h1 .line:nth-child(3) span { animation-delay: .24s; }
@keyframes riseUp { to { transform: translateY(0); } }
.hero-sub { margin-top: 1.4rem; max-width: 58ch; color: var(--sub); font-size: 1.02rem; }
.hero-sub b { color: var(--text); }
.hero-cta-row { display: flex; gap: 1.1rem; margin-top: 2rem; flex-wrap: wrap; }
.fact-bar { position: relative; z-index: 2; margin-top: 3rem; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.fact { padding: 1.3rem 2.6rem 1.5rem; border-right: 1px solid var(--line); }
.fact:last-child { border-right: none; }
.fact b { display: block; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.22rem; text-transform: uppercase; letter-spacing: .04em; }
.fact span { font-size: .72rem; color: var(--dim); letter-spacing: .06em; }
/* БЕГУЩАЯ СТРОКА */
.marq { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bg2); }
.marq-track { display: flex; gap: 4rem; width: max-content; white-space: nowrap; padding: .95rem 0; font-family: 'Oswald', sans-serif; font-weight: 700; font-size: clamp(1.4rem, 1rem + 1.9vw, 2.7rem); text-transform: uppercase; letter-spacing: .06em; animation: marqL 30s linear infinite; }
.marq-track .o { color: transparent; -webkit-text-stroke: 1px var(--dim); }
.marq-track .c { color: var(--acc); }
@keyframes marqL { to { transform: translateX(-50%); } }
/* МАНИФЕСТ */
.manifest { padding: 6.5rem 2.6rem 5.5rem; max-width: 1500px; margin: 0 auto; }
.mf-line { font-family: 'Oswald', sans-serif; font-weight: 600; text-transform: uppercase; font-size: clamp(1.55rem, .95rem + 3.2vw, 3.9rem); line-height: 1.14; padding: 1.5rem 0; border-bottom: 1px solid var(--line); display: flex; align-items: baseline; gap: 2rem; color: var(--mf-dim); position: relative; overflow: hidden; transition: color .5s, padding-left .5s cubic-bezier(.23,1,.32,1); }
.mf-line .idx { font-family: 'JetBrains Mono', monospace; font-size: .85rem; color: var(--dim); flex: none; }
.mf-line em { font-style: normal; color: var(--acc); }
.mf-line.in, .mf-line:hover { color: var(--text); }
.mf-line:hover { padding-left: 1.4rem; }
/* ФЛАГМАН AVIATOR */
.aviator { max-width: 1500px; margin: 0 auto; padding: 0 2.6rem; }
.av-card { display: grid; grid-template-columns: 1.1fr .9fr; border: 1px solid var(--line); background: var(--bg2); overflow: hidden; }
.av-img { position: relative; overflow: hidden; min-height: 420px; }
.av-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05) brightness(.9); transition: transform .9s cubic-bezier(.23,1,.32,1); }
.av-card:hover .av-img img { transform: scale(1.04); }
.av-img::after { content: 'ФЛАГМАН КОЛЛЕКЦИИ'; position: absolute; top: 1.2rem; left: 1.2rem; font-family: 'JetBrains Mono', monospace; font-size: .58rem; letter-spacing: .26em; background: var(--acc); color: var(--btn-ink); padding: .45rem .9rem; }
.av-body { padding: 3rem 3rem 2.6rem; display: flex; flex-direction: column; justify-content: center; }
.av-name { font-family: 'Oswald', sans-serif; font-weight: 700; text-transform: uppercase; font-size: clamp(2.2rem, 1.6rem + 3vw, 4.6rem); line-height: .95; letter-spacing: .01em; }
.av-name .a { color: var(--acc); }
.av-sub { color: var(--sub); margin-top: 1.1rem; max-width: 44ch; }
.av-sub b { color: var(--text); }
.av-stats { display: flex; gap: 2.4rem; margin-top: 1.8rem; flex-wrap: wrap; }
.av-stat b { display: block; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.7rem; color: var(--acc2); line-height: 1; }
.av-stat span { font-size: .66rem; color: var(--dim); letter-spacing: .1em; text-transform: uppercase; }
.av-cta { margin-top: 2rem; }
/* ЗНАКОВЫЕ ВЕЩИ */
.icons-sec { max-width: 1500px; margin: 6rem auto 0; padding: 0 2.6rem; }
.products { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.prod { grid-column: span 4; background: var(--bg); position: relative; overflow: hidden; cursor: pointer; text-decoration: none; color: inherit; transition: background .45s; }
.prod.wide { grid-column: span 8; }
.prod-img { aspect-ratio: 4/3; overflow: hidden; position: relative; background: var(--bg2); }
.prod.wide .prod-img { aspect-ratio: auto; height: 100%; min-height: 400px; }
.prod-img img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.04) brightness(.9); transition: transform .8s cubic-bezier(.23,1,.32,1), filter .5s; }
.prod:hover .prod-img img { transform: scale(1.06); filter: contrast(1.06) brightness(1); }
.prod-meta { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 1.2rem 1.4rem; background: linear-gradient(180deg, transparent, var(--ov2) 62%); display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.prod-name { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .04em; line-height: 1.25; }
.prod-cat { font-size: .64rem; color: var(--dim); letter-spacing: .16em; text-transform: uppercase; margin-top: .25rem; }
.prod-price { font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: .95rem; color: var(--acc2); white-space: nowrap; }
.prod-price .woocommerce-Price-amount { color: var(--acc2); }
.swipe-hint { display: none; }
/* КАТЕГОРИИ */
.cats { max-width: 1500px; margin: 6rem auto 0; padding: 0 2.6rem; }
.cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.cat { background: var(--bg); position: relative; overflow: hidden; cursor: pointer; text-decoration: none; color: inherit; transition: background .45s; }
.cat-img { aspect-ratio: 3/4; overflow: hidden; background: var(--bg2); }
.cat-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) contrast(1.05) brightness(.82); transition: transform .8s cubic-bezier(.23,1,.32,1), filter .5s; }
.cat:hover .cat-img img { transform: scale(1.07); filter: grayscale(0) contrast(1.04) brightness(.96); }
.cat-meta { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.2rem 1.3rem; background: linear-gradient(180deg, transparent, var(--ov2) 70%); }
.cat-no { font-family: 'JetBrains Mono', monospace; font-size: .6rem; color: var(--acc2); letter-spacing: .2em; }
.cat-name { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.35rem; text-transform: uppercase; letter-spacing: .04em; margin-top: .2rem; }
.cat-n { font-size: .68rem; color: var(--dim); margin-top: .15rem; }
/* ТРИ ИСТОЧНИКА */
.ways { max-width: 1500px; margin: 6.5rem auto 0; padding: 0 2.6rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.way { border: 1px solid var(--line); padding: 2rem 1.8rem; background: var(--bg2); position: relative; transition: border-color .3s, background .45s; text-decoration: none; color: inherit; display: block; }
.way:hover { border-color: var(--acc); }
.way-no { font-family: 'JetBrains Mono', monospace; font-size: .62rem; color: var(--acc); letter-spacing: .2em; }
.way b { display: block; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.35rem; text-transform: uppercase; letter-spacing: .03em; margin-top: .7rem; }
.way p { color: var(--dim); font-size: .84rem; margin-top: .6rem; }
.way p strong { color: var(--sub); font-weight: 600; }
/* ШОУРУМ */
.show { max-width: 1500px; margin: 6.5rem auto 0; padding: 0 2.6rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.show-img { position: relative; overflow: hidden; }
.show-img img { filter: grayscale(.3) contrast(1.05) brightness(.85); transition: filter .6s, transform 1.3s cubic-bezier(.65,.01,.05,.99); width: 100%; }
.show-img:hover img { filter: grayscale(0) brightness(.95); }
[data-motion="h"] .show-img { clip-path: inset(0 100% 0 0); transition: clip-path 1.3s cubic-bezier(.65,.01,.05,.99); }
[data-motion="h"] .show-img.in { clip-path: inset(0 0 0 0); }
.show-img::after { content: 'ШОУ-РУМ · ПАВЕЛЕЦКАЯ НАБ. 2С3'; position: absolute; left: 1.2rem; bottom: 1.1rem; font-family: 'JetBrains Mono', monospace; font-size: .62rem; letter-spacing: .2em; color: var(--text); background: var(--hd); padding: .45rem .9rem; }
.show-title { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: clamp(1.8rem, 1.4rem + 2vw, 3.2rem); text-transform: uppercase; line-height: 1.05; }
.show-title em { font-style: normal; color: var(--acc); }
.show .lead { color: var(--sub); margin-top: 1.2rem; max-width: 48ch; }
.show .lead b { color: var(--text); }
.show-rows { margin-top: 1.6rem; }
.show-row { display: flex; align-items: baseline; gap: 1.4rem; padding: .95rem 0; border-bottom: 1px solid var(--line); }
.show-row .no { font-family: 'JetBrains Mono', monospace; font-size: .7rem; color: var(--acc); flex: none; }
.show-row b { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1rem; text-transform: uppercase; letter-spacing: .05em; }
.show-row span { color: var(--dim); font-size: .82rem; margin-left: auto; text-align: right; }
/* ИСТОРИЯ */
.story { max-width: 1060px; margin: 7rem auto 0; padding: 0 2.6rem; text-align: center; }
.story-q { font-family: 'Oswald', sans-serif; font-weight: 500; text-transform: uppercase; font-size: clamp(1.35rem, 1rem + 1.9vw, 2.5rem); line-height: 1.34; letter-spacing: .02em; }
.story-q em { font-style: normal; color: var(--acc); }
.story-sign { margin-top: 1.6rem; font-family: 'JetBrains Mono', monospace; font-size: .64rem; letter-spacing: .3em; color: var(--dim); text-transform: uppercase; }
/* ДОВЕРИЕ */
.trust { max-width: 1500px; margin: 6.5rem auto 0; padding: 0 2.6rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.tr-cell { background: var(--bg2); padding: 2.1rem 1.8rem; transition: background .3s; }
.tr-num { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 2.7rem; line-height: 1; color: var(--acc); }
.tr-num small { font-size: .45em; color: var(--text); }
.tr-lbl { font-weight: 700; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; margin-top: .8rem; }
.tr-txt { color: var(--dim); font-size: .78rem; margin-top: .4rem; }
/* ФИНАЛЬНЫЙ CTA */
.foot-cta { margin-top: 7rem; border-top: 1px solid var(--line); padding: 5.5rem 2.6rem 3rem; text-align: center; position: relative; overflow: hidden; }
.foot-cta::before { content: 'OLD LOFT'; position: absolute; left: 50%; top: 54%; transform: translate(-50%,-50%); font-family: 'Oswald', sans-serif; font-weight: 700; font-size: clamp(6rem, 22vw, 21rem); color: transparent; -webkit-text-stroke: 1px var(--ghost); white-space: nowrap; pointer-events: none; }
.fc-title { position: relative; font-family: 'Oswald', sans-serif; font-weight: 700; font-size: clamp(1.9rem, 1.4rem + 2.9vw, 4.3rem); text-transform: uppercase; line-height: 1.05; }
.fc-title em { font-style: normal; color: var(--acc); }
.fc-sub { position: relative; color: var(--dim); margin-top: 1.2rem; }
.fc-row { position: relative; display: flex; justify-content: center; gap: 1.1rem; margin-top: 2.2rem; flex-wrap: wrap; }
@media (max-width: 1100px) {
  .fact-bar { grid-template-columns: 1fr 1fr; }
  .fact { border-bottom: 1px solid var(--line); padding: 1.1rem 1.4rem; }
  .hero-body { padding-left: 1.3rem; padding-right: 1.3rem; }
  .manifest, .aviator, .cats, .ways, .show, .trust, .story, .icons-sec { padding-left: 1.3rem; padding-right: 1.3rem; }
  .av-card { grid-template-columns: 1fr; }
  .av-img { min-height: 56vw; }
  .av-body { padding: 1.8rem 1.4rem 2rem; }
  .products { display: flex; gap: .8rem; background: none; border: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -1.3rem; padding: 0 1.3rem .6rem; }
  .products::-webkit-scrollbar { display: none; }
  .prod, .prod.wide { flex: 0 0 78vw; max-width: 340px; scroll-snap-align: start; border: 1px solid var(--line); }
  .prod.wide .prod-img { aspect-ratio: 4/3; min-height: 0; height: auto; }
  .swipe-hint { display: block; font-family: 'JetBrains Mono', monospace; font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--dim); margin-top: .7rem; text-align: right; }
  .cat-grid { display: flex; gap: .8rem; background: none; border: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -1.3rem; padding: 0 1.3rem .6rem; }
  .cat-grid::-webkit-scrollbar { display: none; }
  .cat { flex: 0 0 62vw; max-width: 270px; scroll-snap-align: start; border: 1px solid var(--line); }
  .ways { grid-template-columns: 1fr; }
  .show { grid-template-columns: 1fr; gap: 2rem; }
  .trust { grid-template-columns: 1fr 1fr; }
}
