/* Shared architectural identity. Presentation only; catalogue and form logic stays in its original modules. */
body.site-atelier {
    --atelier-paper: #f5f1ea;
    --atelier-card: #faf8f4;
    --atelier-ink: #1a365d;
    --atelier-night: #142b46;
    --atelier-line: #ddd7ce;
    --atelier-muted: #657080;
    --atelier-accent: #99531f;
    background: var(--atelier-paper);
    color: var(--atelier-ink);
}
.site-atelier .container { max-width: 1220px; padding-inline: 32px; }
.site-atelier :is(h1,h2,h3,h4) { text-wrap: balance; }
.site-atelier :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #ed8936; outline-offset: 4px; }
.site-atelier :is(input,select,textarea) { accent-color: #99531f; }
.site-atelier a[href^='tel:'] { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.site-atelier .hover-glow:hover { box-shadow: none; }
.site-atelier .hover-glow::before { display: none; }
.site-atelier .navbar, .site-atelier .navbar.scrolled { background: #142b46f5; border-bottom: 1px solid #ffffff16; box-shadow: none; backdrop-filter: blur(12px); padding-block: 14px; }
.site-atelier .navbar .logo { color: #fff; font-weight: 500; font-size: 1.4rem; gap: 9px; direction: ltr; }
.site-atelier .navbar .logo-accent { color: #f6ad55; }
.site-atelier .navbar .logo-icon { color: #f6ad55; background: none; border: 1px solid #ed8936; border-radius: 4px; }
.site-atelier .navbar .nav-links { gap: clamp(14px,1.8vw,26px); background: transparent; }
.site-atelier .navbar .nav-links a { color: #f2eee8; font-size: .85rem; font-weight: 500; }
.site-atelier .navbar .nav-links a:is(:hover,.active) { color: #f6ad55 !important; }
.site-atelier .navbar .nav-actions { gap: 12px; }
.site-atelier .navbar .cta-btn { background: #ed8936; color: #142b46; box-shadow: none; border-radius: 999px; font-size: .8rem; padding: .65rem 1.2rem; }
.site-atelier .navbar .i18n-switcher__button { color: #fff; border-color: #ffffff40; background: transparent; border-radius: 999px; }
.site-atelier .nav-toggle span { background: #fff; }
.site-atelier .footer { background: var(--atelier-night); color: #d7dfe6; border-radius: 46% 8% 0 0 / 4% 2% 0 0; padding-top: 64px; box-shadow: none; border-top: 1px solid #ed893650; }
.site-atelier .footer::before, .site-atelier .footer::after { display: none; }
.site-atelier .footer-grid { gap: 40px; }
.site-atelier .footer :is(h3,h4) { color: #f5f1ea; font-size: 1.3rem; font-weight: 500; }
.site-atelier .footer h4::after { background: #ed8936; width: 32px; }
.site-atelier .footer :is(p,li,a) { color: #d7dfe6; font-size: .85rem; line-height: 1.9; }
.site-atelier .footer a:hover { color: #f6ad55; }
.site-atelier .footer .social-links a { width: 40px; height: 40px; min-height: 40px; padding: 0; border: 1px solid #ffffff30; border-radius: 50%; background: transparent; box-shadow: none; }
.site-atelier .footer-bottom { background: transparent; border-top-color: #ffffff20; color: #d7dfe6; }
.site-atelier .footer-bottom :is(a,p) { font-size: .77rem; }
@media (max-width: 900px) {
    .site-atelier .navbar .nav-links { background: #142b46; border-color: #ffffff24; }
}
@media (max-width: 640px) {
    .site-atelier .container { padding-inline: 20px; }
    .site-atelier .navbar .logo { font-size: 1.1rem; gap: 6px; }
    .site-atelier .navbar .nav-actions { gap: 6px; }
    .site-atelier .footer { padding-top: 48px; border-radius: 36% 6% 0 0 / 2% 1% 0 0; }
    .site-atelier .footer-grid { gap: 30px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-atelier *, .site-atelier *::before, .site-atelier *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Product-family illustrations retain the complete equipment silhouette. */
.steel-page .pc-visual img[src*="/images/catalog-2026/"],
.he-product-image img[src*="/images/catalog-2026/"],
.product-card-image img[src*="/images/catalog-2026/"],
.sp-photo img[src*="/images/catalog-2026/"] { object-fit: contain; background: #f3f5f6; }
.catalog-illustration-label { display: block; margin: 0 0 .45rem; font-size: .72rem; line-height: 1.5; opacity: .85; }
