:root{--media-orange:#F57C00;--media-orange-solid:#F57C00;--media-purple:#6b4f7c;--media-ink:#1c1712;--media-muted:rgba(28,23,18,.62);--media-line:rgba(28,23,18,.12);--media-paper:rgba(255,255,255,.55)}
.media-page{color:var(--media-ink);background:transparent;min-height:80vh;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.media-wrap{max-width:1280px;margin:auto;padding:0 32px}
.media-hero{padding:56px 0 44px;background:linear-gradient(180deg,rgba(245,124,0,.07),rgba(122,92,140,.04));border-bottom:1px solid var(--media-line)}
.media-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.12;font-weight:700;letter-spacing:-.025em;margin:0 0 16px;color:var(--media-ink)}
.media-hero p{max-width:680px;line-height:1.65;color:var(--media-muted);margin:0}
.media-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.media-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.media-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--media-orange-solid);background:var(--media-orange-solid);color:#fff;font-size:14px;font-weight:650;cursor:pointer;text-decoration:none;line-height:1.4;white-space:nowrap;transition:background .2s,transform .2s}
.media-btn:hover{background:#EF6C00;border-color:#EF6C00;transform:translateY(-1px)}
.media-btn.secondary{background:var(--media-paper);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:var(--media-line);color:var(--media-ink)}
.media-btn.secondary:hover{border-color:var(--media-orange);color:var(--media-orange);background:rgba(255,255,255,.75)}
.media-stat{color:var(--media-purple);font-size:15px;font-weight:650;white-space:nowrap}
.media-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid var(--media-line);margin-bottom:28px;flex-wrap:wrap}
.media-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:5px;background:rgba(255,255,255,.5);border:1px solid var(--media-line);border-radius:999px}
.media-tab{border:0;background:transparent;color:var(--media-muted);padding:10px 18px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s,color .2s}
.media-tab:hover{color:var(--media-ink)}
.media-tab[aria-pressed=true]{background:var(--media-purple);color:#fff;box-shadow:0 0 0 1px var(--media-purple) inset}
.media-tab span{margin-left:8px;opacity:.75;font-size:12px}
.media-search{border:1px solid var(--media-line);border-radius:999px;padding:10px 16px;max-width:230px;background:rgba(255,255,255,.6);color:var(--media-ink);font:inherit;font-size:14px}
.media-caption{color:var(--media-muted);font-size:14px;line-height:1.6;margin:0 0 24px;max-width:760px}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;padding-bottom:24px}
.media-card{min-width:0;margin:0}
.media-image{display:block;width:100%;padding:0;border:1px solid var(--media-line);background:rgba(255,255,255,.45);border-radius:20px;overflow:hidden;cursor:zoom-in;position:relative;aspect-ratio:4/3;box-shadow:0 16px 40px -18px rgba(28,23,18,.18);transition:border-color .2s,transform .2s,box-shadow .2s}
.media-image:hover{border-color:rgba(245,124,0,.5);transform:translateY(-2px);box-shadow:0 20px 46px -16px rgba(28,23,18,.24)}
.media-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.media-image:hover img{transform:scale(1.04)}
.media-card.plan .media-image{background:#fff;border-color:#e5e5e5}.media-card.plan img{object-fit:contain;padding:10px}
.media-card figcaption{padding-top:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.media-card h2{font-size:15px;font-weight:650;margin:0 0 5px;color:var(--media-ink)}.media-card small{color:var(--media-muted);font-size:12px}.media-card a{color:var(--media-orange);text-underline-offset:3px;font-size:13px}.media-card-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.media-count{font-size:13px;color:var(--media-muted)}.media-empty{padding:40px 0;color:var(--media-muted)}

/* ================= карусель фото/интерьеров со стрелками ================= */
.os-car{position:relative;padding-bottom:32px}
.os-car-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 2px 4px;cursor:grab}
.os-car-track::-webkit-scrollbar{display:none}
.os-car-track.os-car-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;-webkit-user-select:none;user-select:none}
.os-car-track>.media-card{flex:0 0 calc(33.333% - 15px);max-width:calc(33.333% - 15px);scroll-snap-align:start}
.os-car-arrow{position:absolute;top:38%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border-radius:999px;background:rgba(255,255,255,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--media-line);box-shadow:0 8px 24px -6px rgba(28,23,18,.22);display:flex;align-items:center;justify-content:center;color:var(--media-ink);z-index:5;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.os-car-arrow:hover{background:var(--media-orange);color:#fff;border-color:var(--media-orange)}
.os-car-arrow[disabled]{opacity:.35;cursor:default;pointer-events:none}
.os-car-prev{left:-1.375rem}
.os-car-next{right:-1.375rem}
@media(max-width:900px){.os-car-track>.media-card{flex:0 0 calc(50% - 11px);max-width:calc(50% - 11px)}.os-car-prev{left:-.5rem}.os-car-next{right:-.5rem}}
@media(max-width:639px){.os-car-arrow{display:none}.os-car-track>.media-card{flex:0 0 82%;max-width:82%}}

/* ================= Glass Explorer — иммерсивный просмотрщик ================= */
.ge-viewer{border:0;background:#050506;color:#fff;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;inset:0;overflow:hidden}
.ge-viewer::backdrop{background:#000}
.ge-viewer-inner{display:flex;height:100%;flex-direction:column;padding:18px;gap:14px;background:
    radial-gradient(900px 520px at 20% 0%,rgba(199,154,108,.10),transparent 60%),
    radial-gradient(800px 560px at 90% 100%,rgba(124,106,138,.12),transparent 60%),#050506}
.ge-viewer-top,.ge-viewer-bottom{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:999px;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4)}
.ge-viewer-top{justify-content:space-between}
.ge-viewer-cat{font-size:13px;font-weight:650;color:rgba(255,255,255,.75);padding-left:6px;letter-spacing:.01em}
.ge-viewer-top-actions{display:flex;align-items:center;gap:8px}
.ge-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-size:16px;line-height:1;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s}
.ge-icon-btn:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.ge-icon-btn[aria-pressed=true]{background:var(--media-orange);border-color:var(--media-orange);color:#1a1207}

.ge-stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.ge-slide{position:absolute;top:50%;left:50%;width:min(78vw,900px);height:100%;max-height:78vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  transform:translate(-50%,-50%) translateX(calc(var(--ge-x,0px) + var(--ge-drag,0px))) scale(var(--ge-s,1));
  filter:blur(var(--ge-blur-amt,0px)) brightness(var(--ge-bright,1));opacity:var(--ge-o,1);
  transition:transform .45s cubic-bezier(.22,.9,.32,1),filter .45s ease,opacity .45s ease;
  will-change:transform,filter,opacity;cursor:pointer}
.ge-stage.dragging .ge-slide{transition:none}
.ge-slide.is-current{cursor:grab}
.ge-stage.dragging .ge-slide.is-current{cursor:grabbing}
/* Рамка облегает само изображение (fit-content), а не тянется до размеров
   слота — так у портретных фото не остаётся чёрных полей по бокам. */
.ge-slide-frame{position:relative;width:fit-content;height:fit-content;max-width:100%;max-height:100%;border-radius:24px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px -20px rgba(0,0,0,.7)}
.ge-slide-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;background:#0c0c0d;transition:transform .35s;-webkit-user-drag:none}
.ge-slide-frame.zoomed{overflow:auto}
.ge-slide-frame.zoomed img{position:static;max-width:none;width:auto;height:auto;margin:auto;cursor:zoom-out}
.ge-slide.plan .ge-slide-frame{background:#fff;padding:16px}
.ge-slide.plan .ge-slide-frame img{background:#fff}
.ge-slide-scrim{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 18px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82) 78%);display:flex;align-items:flex-end;justify-content:space-between;gap:12px;opacity:0;transition:opacity .3s}
.ge-slide.is-current .ge-slide-scrim{opacity:1}
.ge-slide-label{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0;line-height:1.15}
.ge-slide-sub{display:block;font-size:12px;font-weight:500;color:rgba(255,255,255,.65);margin-top:4px}
.ge-slide-count{font-size:13px;font-weight:650;color:rgba(255,255,255,.8);white-space:nowrap;padding:4px 10px;background:rgba(255,255,255,.12);border-radius:999px}

.ge-viewer-bottom{justify-content:center;align-self:center;gap:20px}
.ge-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-size:20px;cursor:pointer;transition:background .2s,transform .2s}
.ge-nav-btn:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.ge-viewer-meta{display:flex;flex-direction:column;align-items:center;min-width:160px;text-align:center}
.ge-viewer-title{font-size:13px;font-weight:650;color:#fff;max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ge-viewer-pos{font-size:11px;color:rgba(255,255,255,.55);margin-top:2px}

.project-media-feature{max-width:1280px;margin:40px auto;padding:0 32px}.project-media-feature-inner{display:grid;grid-template-columns:1.1fr 1fr;background:rgba(255,255,255,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--media-line);border-radius:24px;overflow:hidden;box-shadow:0 20px 50px -24px rgba(28,23,18,.2)}.project-media-feature img{width:100%;height:100%;min-height:280px;object-fit:cover}.project-media-feature-content{padding:36px;align-self:center}.project-media-feature h2{font-size:28px;font-weight:700;line-height:1.2;margin:0 0 14px;color:var(--media-ink)}.project-media-feature p{color:var(--media-muted);line-height:1.6}.project-media-links{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.project-nav-link{color:var(--media-orange)!important;font-weight:650;white-space:nowrap}.project-block-links{max-width:1280px;margin:20px auto;padding:0 32px;display:flex;gap:10px;flex-wrap:wrap}.project-demo-note{max-width:1280px;padding:10px 32px;margin:0 auto;color:var(--media-muted);font-size:12px}.project-inline-link{display:inline-flex;margin:8px 0;color:var(--media-orange);font-weight:600;text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-hero-inner{align-items:flex-start;flex-direction:column;gap:18px}.project-media-feature-inner{grid-template-columns:1fr 1fr}.project-media-feature-content{padding:24px}.ge-slide{width:88vw}}
@media(max-width:600px){.media-wrap{padding:0 18px}.media-hero{padding:30px 0}.media-hero h1{font-size:32px}.media-grid{gap:24px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.media-card h2{font-size:13px}.media-card figcaption{display:block}.media-card small{font-size:11px}.media-image{aspect-ratio:3/4}.media-card.plan .media-image{aspect-ratio:4/3}.media-search{max-width:none;width:100%}.media-toolbar{gap:14px;padding:20px 0}.media-tab{padding:9px 14px;font-size:13px}.media-tab span{margin-left:4px}.media-actions{gap:8px}.media-btn{padding:11px 16px;font-size:13px}
  .ge-viewer-inner{padding:10px;gap:10px}.ge-viewer-top,.ge-viewer-bottom{padding:8px 10px;border-radius:20px}.ge-slide{width:94vw;max-height:64vh}.ge-slide-label{font-size:17px}.ge-viewer-title{max-width:32vw;font-size:11px}.ge-nav-btn{width:36px;height:36px;font-size:17px}.ge-icon-btn{width:34px;height:34px}
  .project-media-feature{padding:0 16px}.project-media-feature-inner{grid-template-columns:1fr}.project-media-feature img{height:210px;min-height:0}.project-media-feature-content{padding:24px}.project-block-links{padding:0 16px}.project-demo-note{padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.media-image img{transition:none}.ge-slide{transition:none}}
.media-page :focus-visible,.ge-viewer :focus-visible{outline:3px solid var(--media-orange);outline-offset:4px}
.media-page ::selection{background:rgba(245,124,0,.22);color:var(--media-ink)}
.ge-viewer ::selection{background:rgba(245,124,0,.4);color:#fff}
.media-search::placeholder{color:var(--media-muted);opacity:1}.media-search{min-width:250px}
@media(min-width:768px) and (max-width:1200px){body>header nav{display:none!important}body>header .md\:hidden:not(.hidden){display:block!important}body>header #mobileMenu:not(.hidden){display:block!important}}
