/* Порядок блоков соответствует утверждённой навигации. */
#catalog,#solutions,#services,#materials,#company,#contact,#formats,#process{scroll-margin-top:130px}
.section-actions{display:flex;flex-wrap:wrap;gap:20px 40px}.section-actions .text-link{margin-top:32px}
.home-solutions{position:relative;background:var(--soft)}.anchor-alias{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.solution-item{border-top:1px solid var(--line);padding-top:22px}.solution-number{font-size:11px;color:var(--muted)}.solution-item h3{font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:22px 0 14px}.solution-item p{font-size:15px;color:var(--muted);max-width:330px}.solution-bottom{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-top:34px}.solution-bottom>p{font-size:13px;color:var(--muted);max-width:480px}.solution-bottom .text-link{flex-shrink:0}
.company-details{display:flex;align-items:start;justify-content:space-between;gap:50px;padding-top:30px;border-top:1px solid var(--line)}.company-details p{font-size:16px;color:var(--muted);max-width:690px}.company-details .text-link{margin-top:0;flex-shrink:0}
.contact-details{margin-top:40px;padding-top:26px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:20px 42px}.contact-details>a{font-size:25px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}.contact-details p{font-size:13px;color:var(--muted);margin:0}.footer-phone{font-size:13px;color:var(--blue);justify-self:end}
@media(max-width:1100px){.solution-grid{gap:24px}.solution-item h3{font-size:22px}.company-details{gap:30px}.company-details p{max-width:540px}}
@media(max-width:680px){.solution-grid{grid-template-columns:1fr;gap:26px}.solution-item h3{margin-top:15px}.solution-item p{max-width:none;font-size:14px}.solution-bottom,.company-details{display:block}.solution-bottom>p{font-size:12px}.solution-bottom .text-link,.company-details .text-link{margin-top:22px}.company-details{padding-top:24px}.company-details p{font-size:15px}.contact-details{align-items:flex-start;flex-direction:column;gap:13px;margin-top:30px}.contact-details>a{font-size:24px}.footer-phone{justify-self:start;font-size:12px}.section-actions{gap:0 25px}.section-actions .text-link{font-size:13px}.home-contact .final-cta h2{font-size:38px}}

/* Square catalog cards with temporary conceptual illustrations. */
.catalog-grid{display:grid;grid-template-columns:1fr;gap:20px}
.catalog-card{--card-bg:var(--blue);position:relative;isolation:isolate;display:flex;align-items:flex-end;min-width:0;aspect-ratio:1;overflow:hidden;border-radius:14px;background:var(--card-bg);color:#fff;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.catalog-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 15%,color-mix(in srgb,var(--card-bg) 15%,transparent) 36%,var(--card-bg) 72%);pointer-events:none}
.catalog-card-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.catalog-card-copy{width:100%;padding:22px 20px;min-width:0}
.catalog-card h3{font-size:20px;line-height:1.18;letter-spacing:-.025em;font-weight:600;margin:0 0 9px;overflow-wrap:anywhere}
.catalog-card p{font-size:13px;line-height:1.5;color:#dce0e4;margin:0;padding-right:43px}
.catalog-card-arrow{position:absolute;right:18px;bottom:21px;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;font-size:21px;line-height:1;transition:background .2s,border-color .2s,color .2s}
.catalog-card:hover .catalog-card-image,.catalog-card:focus-visible .catalog-card-image{transform:scale(1.045)}
.catalog-card:hover .catalog-card-arrow,.catalog-card:focus-visible .catalog-card-arrow{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.catalog-card:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
@media(min-width:560px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1150px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-card h3{font-size:19px}.catalog-card-copy{padding:20px 18px}.catalog-card p{font-size:12px;padding-right:35px}.catalog-card-arrow{right:14px;bottom:20px;width:32px;height:32px}}

/* Services and workflow share one compact, ordered list. */
#services.service-development{position:relative;padding-block:60px;background:var(--soft);color:var(--ink)}
#services .service-development-heading{margin-bottom:28px}
#services .eyebrow{color:var(--blue);margin-bottom:16px}
#services .service-development-heading h2{font-size:clamp(30px,3vw,42px);line-height:1.16}
.service-development-steps{list-style:none;margin:0;padding:0}
.service-development-steps li{border-top:1px solid var(--line)}
.service-development-steps li:last-child{border-bottom:1px solid var(--line)}
.service-step-number{padding-top:2px;font-size:14px;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}
.service-development-steps h3{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:.025em;text-transform:uppercase;margin:0 0 7px;overflow-wrap:anywhere}
.service-development-steps p{max-width:1070px;font-size:15px;line-height:1.6;color:var(--muted);margin:0}
.service-development-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
.service-development-footer p{max-width:660px;font-size:14px;line-height:1.6;color:var(--muted)}
.service-development-footer .button{flex-shrink:0;min-height:46px;font-size:14px;padding:11px 18px}
@media(max-width:680px){#services.service-development{padding-block:40px}#services .service-development-heading{margin-bottom:24px}#services .service-development-heading h2{font-size:30px}.service-step-number{font-size:12px}.service-development-steps h3{font-size:16px;letter-spacing:.015em}.service-development-steps p{font-size:14px}.service-development-footer{display:block;margin-top:22px}.service-development-footer .button{margin-top:18px;width:100%}}

/* Interactive service stages with native keyboard and touch support. */
#services .service-offer-line{margin-top:18px;color:var(--muted);font-size:15px;line-height:1.7}
.service-offer-line span{padding-inline:9px;color:var(--orange)}
.service-step{transition:background-color .18s ease,box-shadow .18s ease}
.service-step summary{display:grid;grid-template-columns:64px minmax(0,1fr) 24px;align-items:start;gap:20px;padding:20px 12px 20px 0;list-style:none;cursor:pointer;transition:color .18s ease}
.service-step summary::-webkit-details-marker{display:none}
.service-development-steps .service-step h3{margin:0}
.service-step-toggle{justify-self:end;font-size:22px;line-height:1}
.service-step-toggle::before{content:"+"}
.service-step[open] .service-step-toggle::before{content:"−"}
.service-step[open] summary{padding-bottom:7px}
.service-development-steps .service-step>p{padding:0 44px 20px 84px;max-width:none}
.service-step:focus-within{background:var(--white);box-shadow:inset 3px 0 var(--orange)}
.service-step summary:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
.service-step:focus-within .service-step-number,.service-step:focus-within .service-step-toggle{color:var(--ink);font-weight:700}
@media(hover:hover){.service-step:hover{background:var(--white);box-shadow:inset 3px 0 var(--orange)}.service-step:hover .service-step-number,.service-step:hover .service-step-toggle{color:var(--ink);font-weight:700}}
@media(max-width:680px){#services .service-offer-line{font-size:14px;margin-top:16px}.service-offer-line span{padding-inline:4px}.service-step summary{grid-template-columns:32px minmax(0,1fr) 20px;gap:12px;padding:18px 8px 18px 0}.service-development-steps .service-step>p{padding:0 32px 18px 44px}}
@media(prefers-reduced-motion:reduce){.service-step,.service-step summary{transition:none}}
