

/* Start:/local/projects/projects.css?17911214334649*/
.projects { padding-block:40px 96px; color:var(--color-text); }
.projects-heading { margin-bottom:36px; }
.projects-heading h1 { font-size:clamp(36px,4.5vw,64px); line-height:1.12; letter-spacing:-.035em; font-weight:600; max-width:1000px; text-wrap:balance; }
.projects-heading h2 { font-size:clamp(28px,3vw,42px); line-height:1.2; letter-spacing:-.025em; font-weight:600; }
.projects-heading p { margin-top:22px; max-width:720px; color:var(--color-text-muted); font-size:20px; line-height:1.65; }
.projects-heading--home { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.projects-heading--home p { font-size:17px; margin-top:16px; }
.projects--home { padding-block:70px; }
.projects-note { max-width:760px; color:var(--color-text-muted); font-size:14px; line-height:1.7; margin-bottom:40px; }
.projects-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 36px; }
.project-card { min-width:0; }
.project-card__image { display:block; aspect-ratio:1672/941; overflow:hidden; border:1px solid var(--border-color); border-radius:12px; background:var(--color-bg-warm); }
.project-card__image img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .25s ease-out; }
.project-card__image:hover img { transform:scale(1.015); }
.project-card__meta { font-size:14px; color:var(--color-text-muted); margin:23px 0 12px; }
.project-card h3 { font-size:clamp(23px,2.3vw,31px); line-height:1.3; letter-spacing:-.02em; font-weight:600; margin:0; }
.project-card h3 a { color:inherit; text-decoration:none; }
.project-card h3 a:hover { color:var(--color-gold); }
.project-card__summary { color:var(--color-text-muted); font-size:16px; line-height:1.75; margin:15px 0 20px; max-width:60ch; }
.projects-link,.projects-back { color:var(--color-gold-deep); text-decoration:none; font-weight:500; line-height:1.5; display:inline-block; padding-block:6px; }
[data-theme="dark"] .projects-link,[data-theme="dark"] .projects-back { color:#75adff; }
.projects-link:hover,.projects-back:hover { text-decoration:underline; text-underline-offset:5px; }
.projects a:focus-visible { outline:3px solid var(--color-gold); outline-offset:5px; }
.projects-back { font-size:15px; margin-bottom:25px; }
.project-facts { display:flex; flex-wrap:wrap; gap:28px 64px; margin-top:34px; }
.project-facts dt { font-size:13px; color:var(--color-text-muted); margin-bottom:6px; }
.project-facts dd { font-size:17px; margin:0; }
.project-screen { margin:46px 0 0; }
.project-screen img { display:block; width:100%; height:auto; border-radius:12px; border:1px solid var(--border-color); }
.project-screen figcaption { display:flex; justify-content:space-between; gap:20px; font-size:13px; color:var(--color-text-muted); line-height:1.6; margin-top:14px; }
.project-story { display:grid; grid-template-columns:1fr 2fr; gap:80px; margin-top:72px; }
.project-story h2 { font-size:27px; line-height:1.3; margin:0 0 20px; font-weight:600; letter-spacing:-.02em; }
.project-story p,.project-copy li { font-size:17px; line-height:1.85; color:var(--color-text-muted); }
.project-scope p { font-size:15px; }
.project-copy section + section { margin-top:46px; }
.project-copy ul { padding-left:22px; }
.project-copy li + li { margin-top:13px; }
.project-stack { list-style:none; padding:0; margin:24px 0 0; }
.project-stack li { border-top:1px solid var(--border-color); padding:11px 0; font-size:14px; }
.project-contact { border-top:1px solid var(--border-color); margin-top:72px; padding-top:40px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.project-contact h2 { font-size:30px; line-height:1.3; margin-bottom:12px; }
.project-contact p { color:var(--color-text-muted); font-size:16px; line-height:1.65; }
.projects-empty { padding:40px 0; }
@media(max-width:760px) {
 .projects { padding-block:24px 60px; }
 .projects-grid { grid-template-columns:1fr; gap:42px; }
 .projects-heading--home { display:block; }
 .projects-heading--home > a { margin-top:20px; }
 .projects-heading p { font-size:17px; }
 .projects-note { margin-bottom:28px; }
 .project-story { grid-template-columns:1fr; gap:38px; margin-top:42px; }
 .project-facts { gap:24px 32px; }
 .project-screen { margin-top:30px; }
 .project-screen figcaption { display:block; }
 .project-screen figcaption span { display:block; margin-top:7px; }
 .project-contact { display:block; margin-top:48px; }
 .project-contact .btn { margin-top:24px; }
 .projects--home { padding-block:48px; }
}
@media(prefers-reduced-motion:reduce) { .project-card__image img { transition:none; } .project-card__image:hover img { transform:none; } }

/* End */


/* Start:/local/templates/site-v2/components/bitrix/news.list/news-slider/style.css?17911215901249*/

.card {
    --card-radius: 16px;
    --card-padding: 4px;
    padding: var(--card-padding);
    border-radius: var(--card-radius);
    overflow: hidden;
    cursor: pointer;
    height: 100%;
    background-color: var(--card_bg_black);
}
.card:hover {
    -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.card:hover .card-images img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.card-images {
    border-radius: calc(var(--card-radius) - var(--card-padding));
    overflow: hidden;
    position: relative;
    aspect-ratio: 3/2;
}
.card-images img {
    -webkit-transition: var(--animation);
    transition: var(--animation);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.card-labels {
    position: absolute;
    top: 1em;
    left: 1em;
}
.card-inner {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 18px 18px 8px;
}
.card-name {
    line-height: 1.3;
    margin-bottom: 0.25em;
}
.card-preview {
    margin: 0.25em 0;
}
.card-preview p {
    margin: 0;
}
.card-info {
    margin-top: auto;
}
.card-info .svg {
    top: -1px;
    width: 18px;
    height: 18px;
}
/* End */


/* Start:/local/components/mvmolkov/contact.form/templates/.default/style.css?17911215452164*/
.contact-form-trap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    pointer-events: none;
}
.contact-form-captcha { min-height: 100px; margin-bottom: 20px; }

[data-contact-component] { --contact-error: #b32438; }
[data-theme="dark"] [data-contact-component] { --contact-error: #ff9baa; }
[data-contact-component] .form-input[aria-invalid="true"],
[data-contact-component] input[type="checkbox"][aria-invalid="true"] {
    border-color: var(--contact-error);
    outline: 2px solid var(--contact-error);
    outline-offset: 2px;
}
[data-contact-component] .form-error,
[data-contact-component] .form-status--error { color: var(--contact-error); }
[data-contact-component] .form-error { margin-top: 8px; font-size: 14px; line-height: 1.5; }
[data-contact-captcha][aria-invalid="true"] { outline: 2px solid var(--contact-error); outline-offset: 4px; }
.contact-result {
    margin: auto;
    width: min(480px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    padding: 48px 28px 28px;
    border: 1px solid var(--border-color, #d6d2cd);
    border-radius: var(--radius-md, 16px);
    background: var(--color-bg, #f7f5f2);
    color: var(--color-text, #141414);
    font: inherit;
    overflow: auto;
    overscroll-behavior: contain;
}
.contact-result::backdrop { background: rgb(0 0 0 / 55%); }
.contact-result .contact-result__title { margin: 0 0 16px; font-size: clamp(24px, 5vw, 30px); line-height: 1.2; }
.contact-result .contact-result__message { margin: 0 0 28px; font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.contact-result .contact-result__close {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 28px;
    cursor: pointer;
}
.contact-result .contact-result__close:hover { background: var(--border-color); }
.contact-result button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body:has(.contact-result[open]) { overflow: hidden; }

/* End */
/* /local/projects/projects.css?17911214334649 */
/* /local/templates/site-v2/components/bitrix/news.list/news-slider/style.css?17911215901249 */
/* /local/components/mvmolkov/contact.form/templates/.default/style.css?17911215452164 */
