Способы применения рамок — Аспро: Максимум

  • :root { --primary-color: #111111; /* Насыщенный черный */ --accent-color: #d4af37; /* Золото */ --accent-hover: #b89028; /* Темное золото */ --bg-light: #faf8f5; /* Мягкий светлый фон */ --bg-card: #ffffff; /* Фон карточки */ --text-main: #262626; /* Цвет текста */ --text-muted: #5a5a5a; /* Приглушенный текст */ --border-color: #e5dfd5; /* Линия разграничения */ --transition-speed: 0.4s; } .aspro-max-section { font-family: 'Montserrat', sans-serif; color: var(--text-main); background-color: var(--bg-light); padding: 5rem 2rem; max-width: 1280px; margin: 0 auto; box-sizing: border-box; } .aspro-max-section * { box-sizing: border-box; margin: 0; padding: 0; } .section-header { text-align: center; margin-bottom: 5rem; } .section-title { font-family: 'Playfair Display', serif; font-size: 2.8rem; font-weight: 600; color: var(--primary-color); line-height: 1.25; margin-bottom: 1.5rem; } .section-title span { font-weight: 400; font-style: italic; color: var(--accent-color); } .section-desc { max-width: 800px; margin: 0 auto; font-size: 1.2rem; line-height: 1.7; color: var(--text-muted); font-weight: 400; } .header-divider { width: 80px; height: 2px; background-color: var(--accent-color); margin: 2rem auto 0; } .scenario-block { margin-bottom: 6rem; } .scenario-block:last-child { margin-bottom: 0; } .scenario-info { display: flex; align-items: flex-start; margin-bottom: 2.5rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1.5rem; } .scenario-number { font-family: 'Playfair Display', serif; font-size: 3.5rem; font-weight: 600; color: var(--accent-color); line-height: 1; margin-right: 2rem; opacity: 0.8; user-select: none; } .scenario-text-wrapper { flex: 1; } .scenario-name { font-size: 1.5rem; font-weight: 700; color: var(--primary-color); margin-bottom: 0.5rem; letter-spacing: -0.01em; } .scenario-description { font-size: 1rem; line-height: 1.6; color: var(--text-muted); font-weight: 400; } /* Сетка фото строго 3 в ряд */ .photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; } .photo-card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 4px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03); transition: all var(--transition-speed) cubic-bezier(0.16, 1, 0.3, 1); cursor: pointer; position: relative; } .photo-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(212, 175, 55, 0.15); border-color: var(--accent-color); } /* Фиксированные пропорции 3:4 */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; background-color: #151515; } .image-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); } .photo-card:hover .image-container img { transform: scale(1.05); } .card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(17, 17, 17, 0.6); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity var(--transition-speed) ease; } .photo-card:hover .card-overlay { opacity: 1; } .overlay-btn { background-color: transparent; color: #ffffff; border: 1px solid #ffffff; padding: 0.75rem 1.5rem; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; border-radius: 0; transform: translateY(15px); transition: all var(--transition-speed) cubic-bezier(0.16, 1, 0.3, 1); } .photo-card:hover .overlay-btn { transform: translateY(0); background-color: var(--accent-color); border-color: var(--accent-color); color: #111111; } /* Блок: Конструкция (Слева текст, справа картинка) */ .specs-block { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 4rem; align-items: center; margin-top: 6rem; padding-top: 5rem; border-top: 1px solid var(--border-color); } .specs-left { display: flex; flex-direction: column; } .specs-title { font-family: 'Playfair Display', serif; font-size: 2.2rem; font-weight: 600; color: var(--primary-color); line-height: 1.3; margin-bottom: 1.5rem; } .specs-text { font-size: 1.05rem; line-height: 1.7; color: var(--text-muted); margin-bottom: 2rem; } /* Элементы параметров */ .specs-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } .feature-item { border-left: 2px solid var(--accent-color); padding-left: 1rem; } .feature-num { font-family: 'Playfair Display', serif; font-size: 1.6rem; font-weight: 600; color: var(--primary-color); margin-bottom: 0.25rem; } .feature-desc { font-size: 0.85rem; color: var(--text-muted); line-height: 1.4; font-weight: 500; } .specs-right { background-color: #ffffff; border: 1px solid var(--border-color); padding: 1.5rem; border-radius: 6px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all var(--transition-speed) ease; } .specs-right:hover { border-color: var(--accent-color); box-shadow: 0 12px 25px rgba(212, 175, 55, 0.1); } .specs-image { width: 100%; height: auto; display: block; object-fit: contain; } /* Новый блок: Индивидуальный заказ */ .custom-size-banner { margin-top: 4rem; padding: 2.5rem; background-color: var(--bg-card); border: 1px solid var(--border-color); border-left: 4px solid var(--accent-color); border-radius: 4px; display: flex; align-items: center; gap: 2rem; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02); } .banner-icon-container { color: var(--accent-color); width: 48px; height: 48px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; } .banner-icon-container svg { width: 100%; height: 100%; } .banner-content-wrapper { flex: 1; } .banner-heading { font-size: 1.2rem; font-weight: 700; color: var(--primary-color); margin-bottom: 0.5rem; letter-spacing: -0.01em; } .banner-paragraph { font-size: 1rem; line-height: 1.6; color: var(--text-muted); font-weight: 400; } /* Модальное окно просмотра в полный размер */ .lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(10, 10, 10, 0.98); z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1); } .lightbox.active { opacity: 1; pointer-events: auto; } .lightbox-content { max-width: 90%; max-height: 90%; position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; } .lightbox-img { max-width: 90vw; max-height: 80vh; object-fit: contain; /* Картинка выводится полностью без обрезок */ border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 25px 60px rgba(0,0,0,0.9); border-radius: 2px; background-color: #111111; } .lightbox-caption { color: #ffffff; margin-top: 1.5rem; font-size: 1.2rem; font-weight: 400; font-family: 'Playfair Display', serif; letter-spacing: 0.03em; } .lightbox-close { position: absolute; top: -50px; right: 0px; background: none; border: none; color: #ffffff; font-size: 2.5rem; cursor: pointer; transition: color 0.2s ease, transform 0.2s ease; line-height: 1; } .lightbox-close:hover { color: var(--accent-color); transform: scale(1.1); } /* Адаптивность */ @media (max-width: 1024px) { .photo-grid { gap: 1.5rem; } .section-title { font-size: 2.3rem; } .specs-block { gap: 2.5rem; } } @media (max-width: 991px) { .specs-block { grid-template-columns: 1fr; gap: 3rem; margin-top: 4rem; padding-top: 3.5rem; } } @media (max-width: 768px) { .aspro-max-section { padding: 3.5rem 1rem; } .section-title { font-size: 1.9rem; } .scenario-info { flex-direction: column; align-items: flex-start; gap: 0.5rem; } .scenario-number { font-size: 2.8rem; margin-right: 0; } /* Скролл "в ряд" на мобильных, чтобы не нарушать сетку */ .photo-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1.25rem; padding-bottom: 1.5rem; scrollbar-width: thin; scrollbar-color: var(--accent-color) var(--border-color); } .photo-grid::-webkit-scrollbar { height: 4px; } .photo-grid::-webkit-scrollbar-thumb { background-color: var(--accent-color); border-radius: 2px; } .photo-card { min-width: 280px; scroll-snap-align: start; flex-shrink: 0; } .custom-size-banner { flex-direction: column; align-items: flex-start; gap: 1.25rem; padding: 1.75rem; margin-top: 3rem; } }

    Варианты оформления

    Мы выделили 3 основных способа применения рамок.

    01

    Основа дизайна (Главный акцент)

    Рамка проектируется как неотъемлемая часть памятника. Она задает общую геометрию, пропорции и стиль всего памятника.

    Классическая овальная рамка из гранита — основа дизайна памятника
    Прямоугольное обрамление из черного гранита — строгий и лаконичный акцент
    Эксклюзивный фигурный багет для сложного резного памятника
    02

    Баланс композиции

    Решение для случаев, когда рамку невозможно или не хочется монтировать прямо на памятник — например, из-за сложной формы стелы или чтобы не перегружать её гравировкой.

    Симметрия и визуальное равновесие элементов мемориального комплекса
    Одиночное портретное обрамление для создания визуального центра на стеле
    Интеграция рамки в многосоставные и асимметричные монументы
    03

    Дополнение мемориала

    Универсальный способ дополнить и благоустроить мемориал. Рамка устанавливается в любой части комплекса — чаще всего на горизонтальную могильную плиту, в цветник или на гранитную ограду. Идеально, если нужно добавить портрет на уже установленный памятник.

    Монтаж рамки без демонтажа надгробия на установленном памятнике
    Использование на надгробных горизонтальных плитах
    Благоустройство и оформление портретов в закрытых мемориальных нишах

    Конструкция и монтаж ниши

    Конструкция гранитной рамки оптимизирована под установку портрета. Мы предусмотрели технологический зазор в 2 мм с каждой стороны под медальон. Наличие этого зазора значительно упрощает центровку и фиксацию изделия, исключая сложности при подгонке деталей.

    18х24 см
    Размер внутреннего медальона
    +2 мм
    Зазор под центровку и клей
    Чертеж гранитной рамки и профиля ниши под медальон 18x24 мм
    /* Резервная заглушка на случай ошибок с загрузкой основных фото */ function handleImageError(imageElement) { const fallbackSvg = `data:image/svg+xml;charset=utf-8,` + encodeURIComponent(` РАМКА 3:4 `); imageElement.src = fallbackSvg; } /* Специальный векторный интерактивный рендер чертежа при ошибке (для Preview) */ function handleDrawingError(imageElement) { const fallbackSvg = `data:image/svg+xml;charset=utf-8,` + encodeURIComponent(` Ниша под медальон 18х24 (для рамок и стел) 32мм 21мм 12мм 21мм 32мм 226мм 286мм `); imageElement.src = fallbackSvg; } /* Лайтбокс */ function openLightbox(cardElement) { const img = cardElement.querySelector('img'); const lightbox = document.getElementById('customLightbox'); const lightboxImg = document.getElementById('lightboxImg'); const lightboxCaption = document.getElementById('lightboxCaption'); lightboxImg.src = img.src; lightboxCaption.textContent = img.alt || "Просмотр рамки"; lightbox.classList.add('active'); } function closeLightbox() { const lightbox = document.getElementById('customLightbox'); lightbox.classList.remove('active'); } document.addEventListener('keydown', function(event) { if (event.key === 'Escape') { closeLightbox(); } });