/* Shared refinements; the original industrial identity stays recognizable. */
:root { --color-blue: #00796B; --color-green: #2E7D32; }
body { font-weight: 400; }
:focus-visible { outline: 3px solid #00796B; outline-offset: 4px; }
.logo-icon { color: #fff; }
.logo-icon svg { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.order-flow-dot { position: absolute; z-index: 0; top: 10px; left: calc(var(--flow-from) + 17px); width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: #C62828; box-shadow: 0 0 0 4px rgba(198,40,40,.12); animation: flowBetweenStages 2.2s cubic-bezier(.4,0,.2,1) infinite; pointer-events: none; }
.header-phone, .map-link, .service-link { display: inline-flex; align-items: center; min-height: 44px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.action-primary, .action-secondary { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 10px 22px; font-weight: 700; text-decoration: none; }
.action-primary { background: #C62828; color: white; }
.action-primary:hover { background: #A71F1F; }
.action-secondary { border: 1px solid #37474F; color: #37474F; background: white; }
.hero-location { margin-top: 18px; font-size: 14px; color: #546E7A; }
.contact-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin:54px 0 50px; padding:28px 32px; color:#fff; background:#263238; border-left:6px solid #C62828; box-shadow:0 12px 28px rgba(38,50,56,.12); }
.contact-cta .section-kicker { color:#8ED8CE; }
.contact-cta h2 { margin:0 0 8px; font:600 clamp(26px,3vw,38px)/1.1 var(--font-heading); }
.contact-cta p { max-width:580px; margin:0; color:#D7E0E4; }
.contact-cta-actions { display:flex; flex-wrap:wrap; gap:10px; flex:none; }
.contact-cta .action-secondary { color:#fff; border-color:#fff; background:transparent; }
.section-kicker { display:block; margin-bottom:6px; color:#00796B; font:600 13px/1 var(--font-heading); letter-spacing:.08em; text-transform:uppercase; }
.section-link { display:inline-flex; align-items:center; min-height:44px; color:#C62828; font-weight:700; text-decoration:none; }
.service-strip { margin-bottom:48px; }
.service-strip-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-tile { display:flex; align-items:center; gap:14px; min-height:104px; padding:18px; color:#263238; background:#fff; border:1px solid #D7E0E4; border-top:4px solid #C62828; text-decoration:none; box-shadow:0 8px 20px rgba(38,50,56,.05); }
.service-tile-teal { border-top-color:#00796B; }
.service-tile-yellow { border-top-color:#D88900; }
.service-tile-icon { display:grid; place-items:center; width:42px; height:42px; flex:none; color:#fff; background:#263238; }
.service-tile-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.service-tile strong,.service-tile small { display:block; }
.service-tile strong { font:600 20px/1.1 var(--font-heading); }
.service-tile small { margin-top:6px; color:#607D8B; font-size:14px; line-height:1.35; }
.work-card { max-width:none; }
.work-body { min-height:205px; }
.work-title { overflow-wrap:anywhere; }
.photo-viewer img { max-width:94vw; max-height:90vh; }
.work-text { font-weight: 400; font-size: 1rem; }
.work-card { max-width: 520px; }
.status-ready { background: #2E7D32 !important; }
.hero-price { color: #9A5700; }
.client-link { padding: 18px; background: #F2F6F6; margin-bottom: 20px; overflow-wrap: anywhere; }
.client-link p { margin: 8px 0 14px; }
.client-link code { user-select: all; }
@media(max-width:560px) {
    .header-right { flex-wrap: wrap; gap: 8px; }
    .header-right .header-phone { display: none; }
    .header-right .cabinet-btn { flex: 1; justify-content: center; }
    .header-content { padding: 10px 0; }
    .cabinet-btn { min-height: 44px; }
    .hero { padding: 2rem 0; }
    .hero-title { font-size: clamp(1.7rem, 8vw, 2.5rem); }
    .hero-subtitle, .advantage-text { font-weight: 400; }
    .hero-actions a { flex: 1 1 150px; }
    .header { position: static; }
    .logo { min-width: 0; }
    .logo span { min-width: 0; overflow-wrap: anywhere; }
    .service-strip-grid { grid-template-columns:1fr; }
    .service-tile { min-height:86px; }
    .contact-cta { display:block; margin:38px 0; padding:24px 20px; }
    .contact-cta-actions { margin-top:18px; }
    .contact-cta-actions a { flex:1 1 150px; }
}
.issued-code { background: #E6F2ED; border-left: 4px solid #00796B; padding: 16px; margin-top: 14px; }
.issued-code>strong { font-size: 1.25rem; letter-spacing: .04em; }
.issued-code button { padding: 8px 12px; min-height: 44px; cursor: pointer; }
@keyframes flowBetweenStages {
    0% { left: calc(var(--flow-from) + 17px); opacity: 0; transform: scale(.75); }
    15% { opacity: 1; }
    82% { opacity: 1; }
    100% { left: calc(var(--flow-to) - 17px); opacity: 0; transform: scale(1.05); }
}
