:root {
   --metal-bg: var(--catalog-bg, #1f1f1f);
   --metal-surface: var(--catalog-surface, #2a2a2a);
   --metal-surface-strong: var(--catalog-surface-strong, #303030);
   --metal-border: var(--catalog-border, rgba(255, 255, 255, 0.08));
   --metal-border-strong: var(--catalog-border-strong, rgba(255, 255, 255, 0.14));
   --metal-text: var(--catalog-text, #f5f7ff);
   --metal-muted: var(--catalog-muted, rgba(245, 247, 255, 0.72));
   --metal-accent: var(--catalog-accent, #f2b705);
   --metal-blue: var(--catalog-accent-strong, #1a3e6f);
   --metal-shadow: var(--catalog-shadow, 0 24px 60px rgba(0, 0, 0, 0.28));
}

.metal-constructions-page {
   padding: 34px var(--header-pad-x, 40px) 58px;
   background:
      radial-gradient(circle at top right, rgba(242, 183, 5, 0.12), transparent 24%),
      radial-gradient(circle at 12% 26%, rgba(26, 62, 111, 0.32), transparent 28%),
      linear-gradient(180deg, #1f1f1f 0%, var(--metal-bg) 100%);
   color: var(--metal-text);
}

.metal-shell {
   width: min(1400px, 100%);
   margin: 0 auto;
   display: grid;
   gap: 28px;
}

.metal-breadcrumbs {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 9px;
   color: var(--metal-muted);
   font-size: 14px;
}

.metal-breadcrumbs a {
   color: rgba(245, 247, 255, 0.8);
   transition: color 0.2s ease;
   text-decoration: none;
}

.metal-breadcrumbs a:hover,
.metal-breadcrumbs span:last-child {
   color: var(--metal-accent);
}

.metal-constructions-page a,
.metal-constructions-page button {
   font: inherit;
}

.metal-eyebrow {
   display: inline-flex;
   width: fit-content;
   align-items: center;
   padding: 8px 14px;
   border-radius: 999px;
   border: 1px solid var(--metal-border-strong);
   background: rgba(255, 255, 255, 0.08);
   color: var(--metal-accent);
   font-size: 12px;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.metal-hero,
.metal-section,
.metal-production,
.metal-instruction-card,
.metal-callback__card {
   border: 1px solid var(--metal-border);
   background: linear-gradient(180deg, rgba(48, 48, 48, 0.96), rgba(31, 31, 31, 0.98));
   border-radius: 32px;
   box-shadow: var(--metal-shadow);
}

.metal-hero {
   display: grid;
   grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
   gap: 28px;
   padding: clamp(26px, 4vw, 44px);
   position: relative;
   overflow: hidden;
}

.metal-hero::before,
.metal-hero::after {
   content: "";
   position: absolute;
   border-radius: 999px;
   pointer-events: none;
}

.metal-hero::before {
   width: 320px;
   height: 320px;
   right: -110px;
   top: -110px;
   background: rgba(242, 183, 5, 0.12);
}

.metal-hero::after {
   width: 420px;
   height: 420px;
   left: 30%;
   bottom: -330px;
   background: rgba(26, 62, 111, 0.3);
}

.metal-hero__copy,
.metal-hero__card {
   position: relative;
   z-index: 1;
}

.metal-hero__copy {
   display: grid;
   align-content: center;
   gap: 18px;
}

.metal-hero h1 {
   margin: 0;
   color: #fff;
   font-size: 60px;
   line-height: 0.98;
   letter-spacing: 0;
   font-weight: 800;
}

.metal-hero__subtitle {
   margin: 0;
   color: var(--metal-accent);
   font-size: 27px;
   font-weight: 700;
}

.metal-hero__description {
   max-width: 640px;
   margin: 0;
   color: var(--metal-muted);
   font-size: 16px;
   line-height: 1.75;
}

.metal-hero__actions,
.metal-form__actions,
.metal-section__center {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 14px;
}

.metal-btn {
   min-height: 48px;
   border: 0;
   border-radius: 999px;
   padding: 0 22px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   white-space: nowrap;
   gap: 10px;
   font-weight: 800;
   cursor: pointer;
   transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.metal-btn:hover {
   transform: translateY(-2px);
}

.metal-btn--accent {
   background: var(--metal-accent);
   color: #111726;
}

.metal-btn--accent:hover,
.metal-btn--primary:hover {
   background: #ffd764;
   color: #111726;
}

.metal-btn--primary {
   background: var(--metal-blue);
   color: #fff;
}

.metal-btn--ghost {
   border: 1px solid var(--metal-border-strong);
   background: rgba(255, 255, 255, 0.06);
   color: #fff;
}

.metal-btn--ghost:hover {
   border-color: rgba(242, 183, 5, 0.42);
   background: rgba(242, 183, 5, 0.11);
}

.metal-hero__card {
   display: grid;
   gap: 18px;
   padding: 30px;
   border-radius: 30px;
   background: linear-gradient(145deg, rgba(26, 62, 111, 0.92), rgba(12, 24, 43, 0.94));
   border: 1px solid rgba(242, 183, 5, 0.18);
}

.metal-hero__card h2 {
   margin: 0;
   padding-left: 16px;
   border-left: 3px solid var(--metal-accent);
   color: #fff;
   font-size: 24px;
}

.metal-hero__card-text {
   color: rgba(245, 247, 255, 0.88);
   line-height: 1.7;
}

.metal-hero__card-text p,
.metal-text-panel p,
.metal-production__copy p,
.metal-instruction-card__text p {
   margin: 0 0 16px;
}

.metal-hero__card-text p:last-child,
.metal-text-panel p:last-child,
.metal-production__copy p:last-child,
.metal-instruction-card__text p:last-child {
   margin-bottom: 0;
}

.metal-hero__badge,
.metal-hero__phone {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   color: var(--metal-accent);
   font-weight: 800;
}

.metal-hero__phone {
   color: #fff;
   text-decoration: none;
}

.metal-section {
   padding: clamp(24px, 4vw, 40px);
}

.metal-section__head {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 18px;
   margin-bottom: 30px;
}

.metal-section-title {
   position: relative;
   display: inline-block;
   margin: 0 0 28px;
   color: #fff;
   font-size: 37px;
   line-height: 1.12;
   font-weight: 800;
}

.metal-section-title::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: -10px;
   width: 72px;
   height: 3px;
   background: var(--metal-accent);
   transition: width 0.3s ease;
}

.metal-section-title:hover::after {
   width: 100%;
}

.metal-section-lead {
   max-width: 1000px;
   margin: -8px 0 28px;
   color: var(--metal-muted);
   line-height: 1.75;
}

.metal-categories__grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 24px;
}

.metal-category-card {
   position: relative;
   overflow: hidden;
   border-radius: 26px;
   border: 1px solid var(--metal-border);
   background: rgba(255, 255, 255, 0.045);
   cursor: pointer;
   transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.metal-category-card__link {
   position: absolute;
   inset: 0;
   z-index: 3;
   border-radius: inherit;
}

.metal-category-card__link:focus-visible {
   outline: 2px solid var(--metal-accent);
   outline-offset: 4px;
}

.metal-category-card:hover,
.metal-category-card:focus-within {
   transform: translateY(-6px);
   border-color: rgba(242, 183, 5, 0.42);
   background: rgba(255, 255, 255, 0.065);
   box-shadow: 0 24px 36px -20px rgba(242, 183, 5, 0.38);
}

.metal-category-card__front {
   position: relative;
   z-index: 1;
   padding: 26px 22px 24px;
}

.metal-category-card__icon {
   width: 58px;
   height: 58px;
   margin-bottom: 18px;
   display: grid;
   place-items: center;
   border-radius: 20px;
   background: rgba(242, 183, 5, 0.11);
   color: var(--metal-accent);
   font-size: 26px;
   transition: background-color 0.2s ease, color 0.2s ease;
}

.metal-category-card:hover .metal-category-card__icon {
   background: var(--metal-accent);
   color: #111726;
}

.metal-category-card h3 {
   margin: 0 0 10px;
   color: #fff;
   font-size: 20px;
   line-height: 1.25;
}

.metal-category-card p {
   margin: 0;
   color: var(--metal-muted);
   line-height: 1.55;
}

.metal-category-card__list {
   position: relative;
   z-index: 1;
   max-height: 0;
   overflow: hidden;
   border-top: 1px solid transparent;
   background: rgba(0, 0, 0, 0.2);
   transition: max-height 0.45s cubic-bezier(0.33, 1, 0.68, 1), padding 0.3s ease, border-color 0.3s ease;
   padding: 0 22px;
}

.metal-category-card:hover .metal-category-card__list,
.metal-category-card:focus-within .metal-category-card__list {
   max-height: 320px;
   padding: 16px 22px 20px;
   border-top-color: rgba(242, 183, 5, 0.2);
}

.metal-category-card__list ul,
.metal-instruction-card ul,
.metal-production__copy ul {
   list-style: none;
   padding: 0;
   margin: 0;
}

.metal-category-card__list li {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 8px 0;
   color: rgba(245, 247, 255, 0.84);
   border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
   font-size: 13px;
}

.metal-category-card__list li:last-child {
   border-bottom: 0;
}

.metal-category-card__list i {
   color: var(--metal-accent);
}

.metal-categories__empty {
   grid-column: 1 / -1;
   padding: 24px;
   border-radius: 22px;
   border: 1px dashed rgba(242, 183, 5, 0.32);
   background: rgba(255, 255, 255, 0.05);
   color: rgba(245, 247, 255, 0.78);
   line-height: 1.65;
   text-align: center;
}

.metal-section__center {
   justify-content: center;
   margin-top: 36px;
}

.metal-text-panel {
   padding: 28px 32px;
   border-radius: 28px;
   background: rgba(255, 255, 255, 0.045);
   border: 1px solid var(--metal-border);
   border-left: 5px solid var(--metal-accent);
   color: var(--metal-muted);
   line-height: 1.78;
}

.metal-form,
.metal-callback__card {
   padding: clamp(24px, 4vw, 36px);
}

.metal-form__head {
   display: flex;
   justify-content: space-between;
   gap: 24px;
   margin-bottom: 26px;
}

.metal-form__head h2,
.metal-callback__card h2,
.metal-production__copy h2 {
   margin: 0 0 10px;
   color: #fff;
   font-size: 31px;
}

.metal-form__head p,
.metal-callback__card > p {
   margin: 0;
   color: var(--metal-muted);
   line-height: 1.7;
}

.metal-form__badges {
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-end;
   gap: 10px;
}

.metal-form__badges span,
.metal-privacy {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 10px 14px;
   border-radius: 999px;
   border: 1px solid var(--metal-border);
   background: rgba(255, 255, 255, 0.05);
   color: var(--metal-muted);
   font-size: 13px;
}

.metal-form__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 16px;
}

.metal-field {
   display: grid;
   gap: 8px;
   color: #fff;
   font-weight: 700;
}

.metal-field--full {
   grid-column: 1 / -1;
   margin-top: 16px;
}

.metal-field span {
   font-size: 14px;
}

.metal-field input,
.metal-field textarea {
   width: 100%;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 22px;
   padding: 15px 18px;
   background: #1f1f1f;
   color: var(--metal-text);
   outline: none;
   transition: border-color 180ms ease, box-shadow 180ms ease;
}

.metal-field textarea {
   min-height: 130px;
   resize: vertical;
}

.metal-field input::placeholder,
.metal-field textarea::placeholder {
   color: rgba(245, 247, 255, 0.5);
}

.metal-field input:focus,
.metal-field textarea:focus {
   border-color: rgba(242, 183, 5, 0.52);
   box-shadow: 0 0 0 3px rgba(242, 183, 5, 0.12);
}

.metal-checks {
   margin-top: 22px;
   padding: 22px;
   border-radius: 26px;
   border: 1px solid var(--metal-border);
   background: rgba(255, 255, 255, 0.04);
}

.metal-checks__head {
   display: grid;
   gap: 4px;
   margin-bottom: 16px;
}

.metal-checks__head strong {
   color: #fff;
}

.metal-checks__head span {
   color: var(--metal-muted);
}

.metal-checks__grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
   gap: 12px;
}

.metal-check {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px 14px;
   border-radius: 999px;
   border: 1px solid var(--metal-border);
   background: rgba(255, 255, 255, 0.04);
   color: var(--metal-muted);
   cursor: pointer;
}

.metal-check:hover {
   border-color: rgba(242, 183, 5, 0.42);
   color: #fff;
}

.metal-check input {
   width: 18px;
   height: 18px;
   accent-color: var(--metal-accent);
}

.metal-upload {
   position: relative;
   min-height: 48px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding: 0 18px;
   border-radius: 999px;
   border: 1px dashed rgba(242, 183, 5, 0.48);
   background: rgba(242, 183, 5, 0.08);
   color: #fff8df;
   font-weight: 800;
   cursor: pointer;
}

.metal-upload input {
   position: absolute;
   width: 1px;
   height: 1px;
   opacity: 0;
   pointer-events: none;
}

.metal-form__actions {
   margin-top: 22px;
}

.metal-instructions {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 28px;
}

.metal-instruction-card {
   padding: 32px;
   transition: transform 0.2s ease, border-color 0.2s ease;
}

.metal-instruction-card:hover {
   transform: translateY(-4px);
   border-color: rgba(242, 183, 5, 0.35);
}

.metal-instruction-card h2 {
   margin: 0 0 18px;
   display: flex;
   gap: 12px;
   color: #fff;
   font-size: 24px;
}

.metal-instruction-card h2 i,
.metal-feature-card > i,
.metal-service-card > i,
.metal-production__copy li i {
   color: var(--metal-accent);
}

.metal-instruction-card__text {
   color: var(--metal-muted);
   line-height: 1.7;
}

.metal-instruction-card li,
.metal-production__copy li {
   display: flex;
   gap: 10px;
   padding: 8px 0;
   color: var(--metal-muted);
}

.metal-instruction-card li::before {
   content: "✓";
   color: var(--metal-accent);
   font-weight: 900;
}

.metal-instruction-card .metal-btn {
   margin-top: 20px;
}

.metal-factory__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 22px;
}

.metal-feature-card,
.metal-service-card,
.metal-guarantee {
   border: 1px solid var(--metal-border);
   border-radius: 26px;
   background: rgba(255, 255, 255, 0.045);
}

.metal-feature-card {
   padding: 26px;
}

.metal-feature-card > i,
.metal-service-card > i {
   display: inline-block;
   margin-bottom: 14px;
   font-size: 30px;
}

.metal-feature-card h3,
.metal-service-card h4,
.metal-subtitle {
   margin: 0 0 10px;
   color: #fff;
}

.metal-feature-card p,
.metal-service-card p,
.metal-guarantee,
.metal-production__copy {
   color: var(--metal-muted);
   line-height: 1.7;
}

.metal-subtitle {
   margin-top: 34px;
   font-size: 24px;
}

.metal-services {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}

.metal-service-card {
   padding: 24px;
   text-align: center;
}

.metal-guarantee {
   margin-top: 28px;
   padding: 26px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
}

.metal-production {
   display: grid;
   grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
   gap: 32px;
   padding: clamp(24px, 4vw, 40px);
   align-items: center;
}

.metal-production__image {
   min-height: 360px;
   border-radius: 28px;
   overflow: hidden;
   background: rgba(255, 255, 255, 0.05);
}

.metal-production__image img,
.metal-production__placeholder {
   width: 100%;
   height: 100%;
   min-height: 360px;
   object-fit: cover;
   display: flex;
}

.metal-production__placeholder {
   align-items: center;
   justify-content: center;
   flex-direction: column;
   gap: 12px;
   color: var(--metal-accent);
   font-weight: 800;
   background:
      radial-gradient(circle at center, rgba(242, 183, 5, 0.14), transparent 34%),
      linear-gradient(145deg, rgba(26, 62, 111, 0.86), rgba(20, 20, 20, 0.92));
}

.metal-production__placeholder i {
   font-size: 46px;
}

.metal-production__copy ul {
   margin: 18px 0 22px;
}

.metal-callback__card {
   max-width: 1060px;
   margin: 0 auto;
}

.metal-callback__card > h2,
.metal-callback__card > p {
   text-align: center;
}

.metal-callback__card > p {
   margin-bottom: 26px;
}

.metal-privacy {
   width: fit-content;
   margin: 18px auto 0;
}

.metal-manager-modal {
   position: fixed;
   inset: 0;
   z-index: 3000;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 20px;
   background: rgba(0, 0, 0, 0.72);
   backdrop-filter: blur(8px);
}

.metal-manager-modal[hidden] {
   display: none;
}

.metal-manager-modal__dialog {
   width: min(560px, 100%);
   max-height: min(760px, 92vh);
   overflow-x: hidden;
   overflow-y: auto;
   overscroll-behavior: contain;
   position: relative;
   padding: 30px;
   border-radius: 32px;
   border: 1px solid var(--metal-border-strong);
   border-top: 5px solid var(--metal-accent);
   background: linear-gradient(180deg, rgba(48, 48, 48, 0.98), rgba(31, 31, 31, 0.99));
   color: var(--metal-text);
   box-shadow: var(--metal-shadow);
}

.metal-manager-modal__close {
   position: absolute;
   top: 16px;
   right: 18px;
   width: 40px;
   height: 40px;
   border: 0;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.08);
   color: #fff;
   font-size: 26px;
   cursor: pointer;
   transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.metal-manager-modal__close:hover {
   background: var(--metal-accent);
   color: #111726;
   transform: rotate(90deg);
}

.metal-manager-modal h2 {
   margin: 0 44px 20px 0;
   color: #fff;
}

.metal-manager-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
   margin-bottom: 18px;
}

.metal-manager-card {
   display: grid;
   justify-items: center;
   gap: 5px;
   min-height: 104px;
   padding: 14px 8px;
   border-radius: 20px;
   border: 1px solid var(--metal-border);
   background: rgba(255, 255, 255, 0.06);
   color: #fff;
   cursor: pointer;
   transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.metal-manager-card strong {
   width: 42px;
   height: 42px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: var(--metal-blue);
   font-size: 20px;
   color: #fff;
}

.metal-manager-card span {
   font-weight: 800;
}

.metal-manager-card em {
   color: var(--metal-accent);
   font-style: normal;
   font-size: 12px;
}

.metal-manager-card.is-selected,
.metal-manager-card:hover:not(:disabled) {
   transform: translateY(-2px);
   border-color: rgba(242, 183, 5, 0.55);
   background: rgba(242, 183, 5, 0.12);
}

.metal-manager-card.is-busy {
   opacity: 0.45;
   cursor: not-allowed;
}

.metal-manager-form__submit {
   width: 100%;
   margin-top: 18px;
}

.metal-form .hp-field,
.metal-callback__card .hp-field,
.metal-manager-form .hp-field {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0;
}

@media (max-width: 1100px) {
   .metal-categories__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .metal-services {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 900px) {
   .metal-constructions-page {
      padding: 24px 18px 44px;
   }

   .metal-hero,
   .metal-production,
   .metal-instructions {
      grid-template-columns: 1fr;
   }

   .metal-form__head,
   .metal-guarantee {
      flex-direction: column;
      align-items: flex-start;
   }

   .metal-form__badges {
      justify-content: flex-start;
   }
}

@media (max-width: 680px) {
   .metal-hero,
   .metal-section,
   .metal-production,
   .metal-instruction-card,
   .metal-callback__card {
      border-radius: 24px;
   }

   .metal-categories__grid,
   .metal-factory__grid,
   .metal-form__grid,
   .metal-manager-grid {
      grid-template-columns: 1fr;
   }

   .metal-btn,
   .metal-upload {
      width: 100%;
   }

   .metal-hero h1 {
      font-size: 40px;
   }
}

/* ===== Responsive heading scale ===== */
.metal-hero h1,
.metal-hero__subtitle,
.metal-hero__card h2,
.metal-section-title,
.metal-category-card h3,
.metal-form__head h2,
.metal-callback__card h2,
.metal-production__copy h2,
.metal-instruction-card h2,
.metal-feature-card h3,
.metal-subtitle,
.metal-manager-modal h2 {
   letter-spacing: 0;
   overflow-wrap: anywhere;
}

.metal-hero h1 {
   font-size: 60px;
}

.metal-hero__subtitle {
   font-size: 27px;
}

.metal-hero__card h2 {
   font-size: 22px;
}

.metal-section-title {
   font-size: 37px;
}

.metal-category-card h3 {
   font-size: 19px;
}

.metal-form__head h2,
.metal-callback__card h2,
.metal-production__copy h2 {
   font-size: 31px;
}

.metal-instruction-card h2,
.metal-subtitle {
   font-size: 22px;
}

.metal-feature-card h3 {
   font-size: 19px;
}

.metal-manager-modal h2 {
   font-size: 24px;
}

@media (max-width: 1100px) {
   .metal-hero h1 {
      font-size: 48px;
   }

   .metal-hero__subtitle {
      font-size: 23px;
   }

   .metal-section-title {
      font-size: 32px;
   }

   .metal-form__head h2,
   .metal-callback__card h2,
   .metal-production__copy h2 {
      font-size: 28px;
   }
}

@media (max-width: 680px) {
   .metal-hero h1 {
      font-size: 40px;
   }

   .metal-hero__subtitle {
      font-size: 18px;
   }

   .metal-section-title,
   .metal-form__head h2,
   .metal-callback__card h2,
   .metal-production__copy h2 {
      font-size: 24px;
   }

   .metal-hero__card h2,
   .metal-instruction-card h2,
   .metal-subtitle {
      font-size: 21px;
   }
}

@media (max-width: 420px) {
   .metal-hero h1 {
      font-size: 30px;
   }

   .metal-section-title,
   .metal-form__head h2,
   .metal-callback__card h2,
   .metal-production__copy h2 {
      font-size: 22px;
   }
}
