/*
 * MEGA MAKINA / public-site v2
 * Loaded after assets/style.css. This file intentionally contains no external
 * font, image, or icon dependency: it is safe to use on the production host.
 */

:root {
  --mega-red: #be1f25;
  --mega-red-bright: #e22336;
  --mega-red-deep: #8d171e;
  --mega-ink: #0c151d;
  --mega-navy: #111e29;
  --mega-slate: #1b2a36;
  --mega-steel: #66727c;
  --mega-muted: #5f6972;
  --mega-line: #dce1e4;
  --mega-line-dark: rgba(255, 255, 255, 0.14);
  --mega-surface: #ffffff;
  --mega-soft: #f5f7f8;
  --mega-shadow: 0 18px 42px rgba(7, 19, 29, 0.12);
  --mega-radius: 3px;
  --mega-max: 1376px;
}

/* Foundation ------------------------------------------------------------- */

html {
  min-height: 100%;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  color: var(--mega-navy);
  background: var(--mega-surface);
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Keep the viewport as the sticky header's scroll container. */
body.site-v2:not(.lightbox-open) {
  overflow-x: clip;
}

/* Use normal document flow so browser zoom scales the complete page naturally. */
body.site-v2 {
  display: block;
  min-height: 0;
}

body.site-v2 > .footer {
  margin-top: 0;
}

body,
input,
textarea,
select,
button {
  font-family: Inter, Arial, Helvetica, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
svg,
iframe {
  max-width: 100%;
}

img,
video {
  display: block;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
[type="button"],
[type="submit"],
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(226, 35, 54, 0.46);
  outline-offset: 3px;
}

main {
  flex: 1 0 auto;
}

.container {
  width: min(var(--mega-max), calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}

.small {
  max-width: 760px;
  margin: 0;
  color: var(--mega-muted);
  font-size: 14px;
  line-height: 1.65;
}

h1,
h2,
h3,
h4,
p {
  margin-top: 0;
}

h1,
h2,
h3,
h4 {
  color: currentColor;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 650;
  letter-spacing: -0.027em;
}

h1 {
  margin-bottom: 10px;
  font-size: clamp(38px, 3.65vw, 52px);
  line-height: 1.02;
}

h2 {
  margin-bottom: 12px;
  font-size: clamp(26px, 2.35vw, 36px);
  line-height: 1.12;
}

h3 {
  margin-bottom: 8px;
  font-size: 20px;
  line-height: 1.18;
}

h4 {
  margin-bottom: 10px;
  font-size: 14px;
  letter-spacing: 0;
}

/* Small red rule used in the accepted layout and reusable section headers. */
.tag,
.hero-kicker,
.v2-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 9px;
  color: var(--mega-navy);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tag::before,
.hero-kicker::before,
.v2-eyebrow::before {
  width: 22px;
  height: 3px;
  content: "";
  background: var(--mega-red);
}

.section {
  padding: 72px 0;
}

.section--soft,
.v2-section-soft {
  background: var(--mega-soft);
}

.section-heading {
  max-width: 760px;
  margin: 0 auto 36px;
  text-align: center;
}

.section-heading .tag {
  justify-content: center;
}

.section-heading .small {
  margin-right: auto;
  margin-left: auto;
}

/* Buttons ---------------------------------------------------------------- */

.button,
.v2-button {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 23px;
  border: 1px solid var(--mega-red);
  border-radius: var(--mega-radius);
  color: #fff;
  background: var(--mega-red);
  box-shadow: 0 8px 18px rgba(190, 31, 37, 0.2);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.015em;
  line-height: 1;
  text-align: center;
  text-transform: none;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.button::after,
.v2-button--arrow::after {
  content: "→";
  font-size: 18px;
  font-weight: 400;
  line-height: 0;
}

.button:hover,
.v2-button:hover {
  border-color: var(--mega-red-bright);
  background: var(--mega-red-bright);
  box-shadow: 0 12px 24px rgba(190, 31, 37, 0.29);
  transform: translateY(-1px);
}

.button.light,
.v2-button--outline {
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
  background: transparent;
  box-shadow: none;
}

.button.light:hover,
.v2-button--outline:hover {
  border-color: #fff;
  color: var(--mega-ink);
  background: #fff;
  box-shadow: none;
}

.button.whatsapp {
  border-color: #1fa95f;
  background: #1fa95f;
}

.button.whatsapp::after {
  display: none;
}

.button.is-success {
  border-color: #16894c;
  background: #16894c;
}

.button:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

/* Header ----------------------------------------------------------------- */

.topbar {
  min-height: 28px;
  color: #e5ebee;
  background: linear-gradient(90deg, #263542 0%, #202d38 50%, #192630 100%);
  font-size: 10px;
  line-height: 1;
}

.topbar .container {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.topbar .container > span {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  white-space: nowrap;
}

.topbar .container > span:last-child {
  color: #dde4e8;
}

.topbar a,
.whatsapp-link {
  color: inherit;
  font-weight: 600;
}

.topbar a:hover {
  color: #fff;
}

.whatsapp-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.nav {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 58px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  background: rgba(10, 21, 30, 0.965);
  box-shadow: 0 7px 22px rgba(4, 10, 15, 0.17);
  backdrop-filter: blur(14px);
}

.nav .container {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.brand {
  width: 207px;
  display: flex;
  align-items: center;
  flex: 0 0 207px;
}

.brand-logo {
  width: 186px;
  max-height: 49px;
  object-fit: contain;
  object-position: left center;
}

.brand.brand--horizontal {
  height: 50px;
  overflow: hidden;
}

.brand--horizontal .brand-logo {
  width: 100%;
  height: auto;
  max-height: none;
  flex: 0 0 100%;
}

.menu {
  min-width: 0;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  align-self: stretch;
  gap: 0;
}

.menu > a:not(.button) {
  position: relative;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  color: #ecf0f3;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  transition: color 150ms ease, background-color 150ms ease;
}

.menu > a:not(.button)::after {
  position: absolute;
  right: 16px;
  bottom: 0;
  left: 16px;
  height: 2px;
  content: "";
  background: transparent;
  transition: background-color 150ms ease;
}

.menu > a:not(.button):hover,
.menu > a:not(.button).active {
  color: #fff;
}

.menu > a:not(.button):hover::after,
.menu > a:not(.button).active::after {
  background: var(--mega-red);
}

.menu .button {
  min-height: 36px;
  margin: auto 0 auto 20px;
  padding: 0 19px;
  border-radius: 3px;
  font-size: 11px;
  white-space: nowrap;
}

.mobile-menu-toggle {
  width: 42px;
  height: 40px;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  color: #fff;
  background: transparent;
}

.mobile-menu-toggle span {
  width: 20px;
  height: 2px;
  display: block;
  background: currentColor;
  transition: transform 150ms ease, opacity 150ms ease;
}

.mobile-menu-toggle.is-open span:first-child {
  transform: translateY(7px) rotate(45deg);
}

.mobile-menu-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.is-open span:last-child {
  transform: translateY(-7px) rotate(-45deg);
}

/* Hero ------------------------------------------------------------------- */

.hero,
.v2-hero {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: #101d27;
}

.hero-video-bg,
.v2-hero-media {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
  background: #101b24;
}

.hero-video-bg::after,
.v2-hero-media::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(7, 15, 22, 0.88) 0%, rgba(7, 15, 22, 0.69) 32%, rgba(7, 15, 22, 0.2) 66%, rgba(7, 15, 22, 0.55) 100%),
    linear-gradient(0deg, rgba(6, 15, 22, 0.38), transparent 55%);
}

.hero-video-bg video,
.v2-hero-media img,
.v2-hero-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  filter: saturate(0.78) contrast(1.06);
  transform: scale(1.015);
  transition: opacity 900ms ease;
}

.hero-video-bg video:first-child,
.hero-video-bg video.is-active,
.v2-hero-media > :first-child {
  opacity: 1;
}

.hero-video-bg.is-rotating video:first-child:not(.is-active) {
  opacity: 0;
}

.hero-grid,
.v2-hero-grid {
  min-height: 280px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(130px, 0.18fr);
  align-items: center;
  gap: 38px;
  padding: 30px 0 27px;
}

.hero-content,
.v2-hero-copy {
  max-width: 720px;
}

.hero-kicker,
.v2-hero .v2-eyebrow {
  margin-bottom: 12px;
  color: #f5f7f8;
  font-size: 10px;
}

.hero-kicker::before,
.v2-hero .v2-eyebrow::before {
  background: var(--mega-red);
}

.hero h1,
.v2-hero h1 {
  max-width: 720px;
  margin-bottom: 5px;
  color: #fff;
  font-size: clamp(42px, 3.55vw, 50px);
  font-weight: 700;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.36);
}

.hero h1 .accent,
.v2-hero h1 .accent {
  display: block;
  color: #f1f3f4;
  font-size: clamp(27px, 2.15vw, 32px);
  font-weight: 400;
  letter-spacing: -0.028em;
  line-height: 1.08;
  text-transform: none;
}

.lead,
.v2-hero-lead {
  max-width: 565px;
  margin: 12px 0 0;
  color: #f0f3f5;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

.hero-note {
  display: none;
}

.actions,
.v2-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 23px;
}

.actions .button.light {
  min-height: 36px;
  padding: 0;
  border: 0;
  color: #fff;
  font-weight: 600;
}

.actions .button.light::before,
.v2-watch-link::before {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  content: "▶";
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: 10px;
}

.actions .button.light::after {
  display: none;
}

.actions .button.light:hover {
  color: #fff;
  background: transparent;
  transform: none;
}

.hero-panel {
  width: min(100%, 144px);
  justify-self: end;
  display: grid;
  gap: 24px;
  padding: 18px 0 18px 16px;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.hero-panel > .tag {
  display: none;
}

.panel-item {
  position: relative;
  display: block;
  padding: 0 0 19px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.34);
  background: transparent;
}

.panel-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.panel-icon,
.panel-item p {
  display: none;
}

.panel-item h3 {
  margin: 0;
  color: #f4f6f7;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.65;
  text-transform: uppercase;
}

/* v2 components: the home-page structure can use these explicit classes. */
.v2-service-row {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: -1px;
  padding: 12px 0 0;
}

.v2-service-card {
  min-height: 154px;
  display: grid;
  grid-template-columns: 41% 1fr;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #182833, #101c25);
}

.v2-service-card__media {
  min-height: 154px;
  overflow: hidden;
  background: #253440;
}

.v2-service-card__media img,
.v2-service-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.1);
  transition: transform 250ms ease, filter 250ms ease;
}

.v2-service-card:hover .v2-service-card__media img,
.v2-service-card:hover .v2-service-card__media video {
  filter: grayscale(0.35) contrast(1.05);
  transform: scale(1.055);
}

.v2-service-card__body {
  min-width: 0;
  padding: 17px 18px;
}

.v2-service-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  border: 2px solid var(--mega-red);
  border-radius: 50%;
  color: var(--mega-red);
}

.v2-service-icon svg {
  width: 17px;
  height: 17px;
}

.v2-service-card h3 {
  margin-bottom: 5px;
  font-size: 17px;
}

.v2-service-card p {
  display: -webkit-box;
  margin: 0 0 7px;
  overflow: hidden;
  color: #d7dde1;
  font-size: 11px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.v2-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
}

.v2-text-link::after {
  content: "→";
  color: var(--mega-red);
  font-size: 17px;
  line-height: 0;
}

/* Intro + process -------------------------------------------------------- */

.v2-intro-process {
  display: grid;
  grid-template-columns: minmax(255px, 0.87fr) minmax(0, 1.13fr);
  gap: 50px;
  min-height: 169px;
  padding: 14px 0 15px;
  border-bottom: 1px solid var(--mega-line);
}

.v2-intro-process.v2-intro-process--full {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding-block: 24px;
}

.v2-intro-process--full .v2-process-step p {
  max-width: 240px;
  font-size: 12px;
}

.v2-intro-process--full .v2-process-step h3 {
  font-size: 14px;
}

.v2-intro-copy h2 {
  margin-bottom: 7px;
  font-size: 20px;
}

.v2-intro-copy p {
  max-width: 510px;
  margin: 0;
  color: var(--mega-muted);
  font-size: 13px;
  line-height: 1.58;
}

.v2-intro-copy .v2-button {
  min-height: 30px;
  margin-top: 11px;
  padding: 0 14px;
  border: 1px solid var(--mega-red);
  color: var(--mega-red);
  background: #fff;
  box-shadow: none;
  font-size: 10px;
}

.v2-intro-copy .v2-button:hover {
  color: #fff;
  background: var(--mega-red);
}

.v2-process {
  min-width: 0;
}

.v2-process__heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--mega-navy);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.v2-process__heading::before {
  width: 22px;
  height: 3px;
  content: "";
  background: var(--mega-red);
}

.v2-process-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-process-step {
  position: relative;
  min-width: 0;
  padding-right: 17px;
}

.v2-process-step:not(:last-child)::after {
  position: absolute;
  top: 26px;
  right: -9px;
  content: "→";
  color: var(--mega-navy);
  font-size: 22px;
  font-weight: 300;
}

.v2-process-number {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  margin-bottom: 6px;
  border: 1px solid var(--mega-line);
  border-radius: 50%;
  color: var(--mega-navy);
  background: #f6f8f9;
  font-size: 12px;
  font-weight: 800;
}

.v2-process-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  margin: -37px 0 9px 47px;
  color: var(--mega-red);
}

.v2-process-icon svg {
  width: 30px;
  height: 30px;
}

.v2-process-step h3 {
  margin-bottom: 4px;
  font-size: 13px;
}

.v2-process-step p {
  margin: 0;
  color: var(--mega-muted);
  font-size: 11px;
  line-height: 1.45;
}

/* Product strip and quality statement ------------------------------------ */

.v2-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(280px, 1fr);
  gap: 42px;
  padding: 15px 0 14px;
}

.v2-showcase__header,
.v2-quality__header {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 13px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--mega-line);
  color: var(--mega-navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v2-showcase__header::before,
.v2-quality__header::before {
  width: 21px;
  height: 3px;
  content: "";
  background: var(--mega-red);
}

.v2-showcase__header a {
  margin-left: auto;
  color: var(--mega-muted);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.v2-showcase__header a::after {
  margin-left: 6px;
  content: "→";
  color: var(--mega-red);
  font-size: 15px;
}

.v2-product-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.v2-product {
  /* The source sheet has square cells: show the whole cell without clipping. */
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #dfe3e4;
}

.v2-product img,
.v2-product video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.05);
  transition: transform 220ms ease, filter 220ms ease;
}

.v2-product:hover img,
.v2-product:hover video {
  filter: grayscale(0.1) contrast(1.05);
  transform: scale(1.055);
}

.v2-quality {
  padding-left: 34px;
  border-left: 1px solid var(--mega-line);
}

.v2-quality h2 {
  margin-bottom: 6px;
  font-size: 20px;
}

.v2-quality > p {
  margin: 0;
  color: var(--mega-muted);
  font-size: 12px;
  line-height: 1.55;
}

.v2-quality-points {
  display: flex;
  flex-wrap: wrap;
  gap: 13px 17px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.v2-quality-points li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--mega-muted);
  font-size: 10px;
  white-space: nowrap;
}

.v2-quality-points svg {
  width: 24px;
  height: 24px;
  color: var(--mega-red);
}

/* Existing public page cards --------------------------------------------- */

.services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 25px;
}

.card,
.form-card,
.info-card {
  border: 1px solid var(--mega-line);
  border-radius: var(--mega-radius);
  background: #fff;
  box-shadow: none;
}

.card {
  padding: 24px;
}

.service-card {
  overflow: hidden;
  padding: 0;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.service-card:hover {
  box-shadow: var(--mega-shadow);
  transform: translateY(-3px);
}

.service-image {
  position: relative;
  height: 234px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--mega-line);
  background: #15232c;
  cursor: pointer;
}

.service-image img,
.service-image video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 0;
  filter: grayscale(0.65) contrast(1.05);
  transition: transform 240ms ease, filter 240ms ease;
}

.service-image:hover img,
.service-image:hover video {
  filter: grayscale(0.1) contrast(1.04);
  transform: scale(1.04);
}

.service-body {
  padding: 20px;
}

.service-label {
  display: block;
  margin-bottom: 7px;
  color: var(--mega-red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.service-body h3 {
  margin-bottom: 7px;
  font-size: 20px;
}

.service-body p {
  margin: 0 0 8px;
  color: var(--mega-muted);
  font-size: 13px;
  line-height: 1.6;
}

.service-card-media-only .service-image {
  height: 330px;
  border-bottom: 0;
}

.gallery-grid {
  gap: 12px;
}

.gallery-grid .service-card {
  height: auto;
}

.gallery-grid .service-image,
.gallery-card-media-only .service-image {
  height: 225px !important;
}

.gallery-card-media-only .service-image {
  background: #15232c;
}

.gallery-card-media-only .service-image img,
.gallery-card-media-only .service-image video {
  object-fit: cover;
}

.gallery-grid .service-body {
  padding: 14px 16px;
}

.gallery-grid .service-body h3 {
  font-size: 16px;
}

.gallery-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gallery-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gallery-grid-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gallery-grid-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.gallery-play {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 0;
  color: #fff;
  background: rgba(9, 19, 27, 0.82);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* About / machinery ------------------------------------------------------ */

.breadcrumb {
  padding: 15px 0;
  border-bottom: 1px solid var(--mega-line);
  color: var(--mega-muted);
  background: #fff;
  font-size: 12px;
}

.breadcrumb strong {
  color: var(--mega-navy);
}

.about-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(310px, 0.8fr);
  align-items: start;
  gap: 54px;
}

.site-v2 h1 { text-shadow: none; }
.site-v2 .section-heading h1 {
  font-size: clamp(28px, 2.7vw, 36px);
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.about-copy h1,
.about-copy h2 {
  max-width: 650px;
  font-size: clamp(30px, 2.65vw, 36px);
}

.about-copy h1 .accent,
.about-copy h2 .accent {
  color: var(--mega-red);
}

.about-copy > p {
  max-width: 720px;
  color: var(--mega-muted);
}

.about-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--mega-line);
}

.about-value {
  padding: 17px;
  border-left: 2px solid var(--mega-red);
  background: var(--mega-soft);
}

.about-value-icon {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  margin-bottom: 11px;
  border: 1px solid rgba(190, 31, 37, 0.3);
  color: var(--mega-red);
  font-size: 19px;
}

.about-value h3,
.stat-card h3 {
  margin-bottom: 5px;
  font-size: 15px;
}

.about-value p,
.stat-card p {
  margin: 0;
  color: var(--mega-muted);
  font-size: 12px;
  line-height: 1.55;
}

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

.stat-card {
  min-height: 145px;
  padding: 20px;
  border: 1px solid var(--mega-line);
  background: linear-gradient(135deg, #fff, #f5f7f8);
}

.stat-number {
  display: block;
  margin-bottom: 11px;
  color: var(--mega-red);
  font-size: 29px;
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1;
}

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

.standard-card {
  position: relative;
  min-height: 202px;
  overflow: hidden;
}

.standard-card::after {
  position: absolute;
  top: 12px;
  right: 18px;
  content: attr(data-step);
  color: rgba(13, 29, 40, 0.055);
  font-size: 58px;
  font-weight: 800;
  line-height: 1;
}

.standard-card p {
  margin: 0;
  color: var(--mega-muted);
  font-size: 13px;
}

.machinery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.machine-card {
  display: grid;
  grid-template-columns: minmax(190px, 0.85fr) minmax(0, 1.15fr);
  min-height: 270px;
  padding: 0;
  overflow: hidden;
}

.machine-image {
  position: relative;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #e8ecee;
}

.machine-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(135deg, transparent 30%, rgba(11, 27, 38, 0.08));
}

.machine-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 17px;
  mix-blend-mode: multiply;
  transition: transform 220ms ease;
}

.machine-card:hover .machine-image img {
  transform: scale(1.045);
}

.machine-badge {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(190, 31, 37, 0.25);
  color: var(--mega-red);
  background: #fff;
}

.machine-badge svg {
  width: 18px;
  height: 18px;
}

.machine-body {
  padding: 28px;
}

.machine-type {
  display: block;
  margin-bottom: 8px;
  color: var(--mega-red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.machine-body h3 {
  margin-bottom: 9px;
  font-size: 24px;
}

.machine-body p {
  margin: 0;
  color: var(--mega-muted);
  font-size: 13px;
}

/* Contact / quote form --------------------------------------------------- */

.contact-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.68fr) minmax(0, 1.32fr);
  align-items: start;
  gap: 20px;
}

.contact-info {
  display: grid;
  gap: 12px;
}

.info-card,
.form-card {
  padding: 27px;
}

.info-card h3 {
  margin-bottom: 7px;
  font-size: 19px;
}

.info-card p {
  margin: 0 0 10px;
  color: var(--mega-muted);
  font-size: 13px;
}

.info-card p strong {
  color: var(--mega-navy);
}

.contact-actions {
  margin-top: 13px;
}

.map-card {
  padding-bottom: 20px;
}

.map-frame {
  width: 100%;
  height: 194px;
  display: block;
  margin: 12px 0;
  border: 0;
  filter: grayscale(0.8) contrast(0.9);
}

.form-card > h2 {
  font-size: clamp(26px, 2.5vw, 34px);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
  margin-top: 25px;
}

.field {
  min-width: 0;
}

.field.full,
.quote-actions {
  grid-column: 1 / -1;
}

.field label {
  display: block;
  margin-bottom: 6px;
  color: var(--mega-navy);
  font-size: 12px;
  font-weight: 700;
}

.field input,
.field select,
.field textarea,
.calculator-select-wrap select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #cdd5da;
  border-radius: 2px;
  outline: 0;
  color: var(--mega-navy);
  background: #fff;
  font-size: 13px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

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

.field input::placeholder,
.field textarea::placeholder {
  color: #8e989f;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.calculator-select-wrap select:focus {
  border-color: var(--mega-red);
  box-shadow: 0 0 0 3px rgba(190, 31, 37, 0.1);
}

.field input[type="file"] {
  min-height: 47px;
  padding: 9px;
  background: var(--mega-soft);
}

.field input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 7px 11px;
  border: 0;
  border-radius: 1px;
  color: #fff;
  background: var(--mega-navy);
  font-size: 11px;
  font-weight: 700;
}

.upload-progress {
  position: relative;
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  padding: 7px 9px;
  overflow: hidden;
  border: 1px solid var(--mega-line);
  color: var(--mega-muted);
  background: var(--mega-soft);
  font-size: 11px;
}

.upload-progress::before {
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: var(--upload-progress, 0%);
  content: "";
  background: rgba(190, 31, 37, 0.09);
  transition: width 180ms ease;
}

.upload-progress span,
.upload-progress strong {
  position: relative;
  z-index: 1;
}

.upload-progress strong {
  color: var(--mega-red);
}

.selected-files {
  display: grid;
  gap: 5px;
  margin-top: 8px;
}

.selected-file-item {
  padding: 6px 8px;
  border-left: 2px solid var(--mega-red);
  color: var(--mega-muted);
  background: var(--mega-soft);
  font-size: 11px;
}

.flash {
  margin-top: 17px;
  padding: 12px 13px;
  border-left: 3px solid var(--mega-navy);
  color: var(--mega-navy);
  background: var(--mega-soft);
  font-size: 13px;
}

.flash.success {
  border-color: #16894c;
}

.flash.error {
  border-color: var(--mega-red);
}

/* Technical calculator: keeps the existing tool visually coherent. ------- */

.calculator-section {
  background: linear-gradient(180deg, #fff 0%, #f4f6f7 100%);
}

.calculator-shell {
  display: block;
}

.calculator-card {
  overflow: hidden;
  border: 1px solid var(--mega-line);
  border-radius: var(--mega-radius);
  background: #fff;
  box-shadow: var(--mega-shadow);
}

.calculator-card-top {
  padding: 14px;
  border-bottom: 1px solid var(--mega-line);
  background: var(--mega-soft);
}

.calculator-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.calculator-tabs button {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 8px 13px;
  border: 1px solid var(--mega-line);
  border-radius: 2px;
  color: var(--mega-navy);
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.calculator-tabs button span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  color: var(--mega-red);
}

.calculator-tabs button.active {
  border-color: var(--mega-navy);
  color: #fff;
  background: var(--mega-navy);
}

.calculator-tabs button.active span {
  color: #fff;
}

.calculator-select-wrap {
  display: none;
}

.calc-panel {
  display: none;
  padding: 28px;
}

.calc-panel.active {
  display: block;
}

.calc-panel > h3 {
  margin-bottom: 4px;
  font-size: 24px;
}

.calc-workspace,
.thread-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(245px, 0.9fr);
  gap: 20px;
  margin-top: 20px;
}

.calc-input-panel,
.thread-input-panel,
.calc-result-panel,
.thread-result-panel,
.weight-history {
  padding: 20px;
  border: 1px solid var(--mega-line);
  background: #fff;
}

.calc-input-panel .form-grid {
  margin-top: 0;
}

.thread-input-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.calc-button {
  margin-top: 18px;
}

.calc-subtitle {
  padding-bottom: 9px;
  border-bottom: 1px solid var(--mega-line);
  font-size: 14px;
}

.calc-results {
  display: grid;
  gap: 10px;
}

.calc-results > div {
  padding: 12px;
  border-left: 3px solid var(--mega-red);
  background: var(--mega-soft);
}

.calc-results span,
.calc-results small {
  display: block;
  color: var(--mega-muted);
  font-size: 11px;
}

.calc-results strong {
  display: block;
  color: var(--mega-navy);
  font-size: 24px;
  line-height: 1.2;
}

.thread-type-tabs,
.whitworth-series-tabs,
.shape-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 15px;
}

.thread-type-tabs button,
.whitworth-series-tabs button,
.shape-tabs button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--mega-line);
  border-radius: 1px;
  color: var(--mega-navy);
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.thread-type-tabs button.active,
.whitworth-series-tabs button.active,
.shape-tabs button.active {
  border-color: var(--mega-red);
  color: #fff;
  background: var(--mega-red);
}

.thread-standard-list {
  margin-bottom: 14px;
}

.thread-help,
.thread-note,
.material-summary {
  display: block;
  margin: 12px 0 0;
  color: var(--mega-muted);
  font-size: 11px;
  line-height: 1.55;
}

.calc-inline-alert {
  display: none;
  margin-top: 12px;
  padding: 10px;
  border-left: 3px solid var(--mega-red);
  color: var(--mega-red-deep);
  background: #fff2f3;
  font-size: 12px;
}

.calc-inline-alert:not(:empty) {
  display: block;
}

.weight-top-tabs {
  grid-column: 1 / -1;
}

.weight-top-tabs > span {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
}

.shape-select {
  display: none;
}

.weight-history {
  grid-column: 1 / -1;
}

.weight-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 11px;
}

.weight-history-head h4 {
  margin: 0;
}

.weight-history-head button {
  padding: 4px 8px;
  border: 0;
  color: var(--mega-red);
  background: transparent;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.weight-history-empty {
  color: var(--mega-muted);
  font-size: 12px;
}

.weight-history ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.weight-history li {
  padding: 8px;
  color: var(--mega-muted);
  background: var(--mega-soft);
  font-size: 11px;
}

.calculator-stats {
  margin-top: 18px;
  padding: 24px;
  border-left: 4px solid var(--mega-red);
  background: var(--mega-navy);
  color: #fff;
}

.calculator-stats h3 {
  margin-bottom: 18px;
  color: #fff;
  font-size: 20px;
}

.calculator-stats h3 strong {
  color: #fff;
}

.calculator-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.calculator-stat-card {
  padding: 13px;
  border: 1px solid var(--mega-line-dark);
}

.calculator-stat-card small,
.calculator-stat-card strong {
  display: block;
}

.calculator-stat-card small {
  color: #cbd3d9;
  font-size: 10px;
}

.calculator-stat-card strong {
  margin-top: 5px;
  color: #fff;
  font-size: 22px;
}

.stat-dot {
  width: 7px;
  height: 7px;
  display: inline-block;
  margin-right: 5px;
  border-radius: 50%;
  background: var(--mega-red);
}

/* Footer ----------------------------------------------------------------- */

.footer {
  margin-top: auto;
  padding: 0;
  color: #edf1f3;
  background:
    linear-gradient(90deg, rgba(7, 17, 24, 0.97), rgba(14, 31, 41, 0.98)),
    #0d1c26;
}

.footer .container {
  padding-top: 27px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.45fr 0.82fr 1fr 1fr;
  gap: 38px;
  padding-bottom: 24px;
}

.footer-logo {
  width: 180px;
  margin-bottom: 10px;
}

.footer-logo-img {
  width: 100%;
  max-height: 62px;
  object-fit: contain;
  object-position: left center;
}

.footer-logo.footer-logo--horizontal {
  display: flex;
  align-items: center;
  width: 200px;
  height: 50px;
  overflow: hidden;
}

.footer-logo--horizontal .footer-logo-img {
  width: 100%;
  height: auto;
  max-height: none;
  flex: 0 0 100%;
}

.footer-brand p {
  max-width: 235px;
  margin: 0;
  color: #d5dce0;
  font-size: 12px;
  line-height: 1.6;
}

.footer h4 {
  margin: 3px 0 10px;
  color: #fff;
  font-size: 12px;
}

.footer-links {
  display: grid;
  gap: 1px;
}

.footer-links a,
.footer-contact li,
.footer-contact a {
  color: #d1d9dd;
  font-size: 11px;
  line-height: 1.45;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: #fff;
}

.footer-contact {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-contact li {
  display: grid;
  grid-template-columns: 60px 8px minmax(0, 1fr);
  align-items: baseline;
  column-gap: 6px;
}

.footer-contact .footer-contact__label,
.footer-contact .footer-contact__separator {
  min-width: 0;
  white-space: nowrap;
  color: var(--mega-red-bright);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.footer-contact__separator {
  justify-self: center;
}

.footer-contact li a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.footer-bottom {
  min-height: 38px;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  color: #aeb9c0;
  font-size: 10px;
}

/* Future-compatible footer slogan used by the v2 home structure. */
.v2-footer-slogan {
  align-self: center;
  padding-left: 22px;
  border-left: 3px solid var(--mega-red);
  color: #fff;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.12em;
  line-height: 1.55;
  text-transform: uppercase;
}

/* Responsive ------------------------------------------------------------- */

@media (max-width: 1190px) {
  .container {
    width: min(var(--mega-max), calc(100% - 36px));
  }

  .menu > a:not(.button) {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 10px;
  }

  .menu > a:not(.button)::after {
    right: 10px;
    left: 10px;
  }

  .menu .button {
    margin-left: 12px;
  }

  .v2-intro-process {
    gap: 36px;
  }

  .v2-showcase {
    gap: 28px;
  }

  .v2-quality {
    padding-left: 26px;
  }
}

@media (max-width: 980px) {
  .topbar .container > span:last-child {
    display: none;
  }

  .nav .container {
    gap: 15px;
  }

  .brand {
    width: 177px;
    flex-basis: 177px;
  }

  .brand-logo {
    width: 166px;
  }

  .menu > a:not(.button) {
    padding-right: 8px;
    padding-left: 8px;
    font-size: 9px;
  }

  .menu .button {
    margin-left: 7px;
    padding-right: 13px;
    padding-left: 13px;
  }

  .hero-grid,
  .v2-hero-grid {
    grid-template-columns: minmax(0, 1fr) 120px;
  }

  .v2-service-card {
    grid-template-columns: 37% 1fr;
  }

  .v2-service-card__body {
    padding: 15px;
  }

  .v2-service-card h3 {
    font-size: 15px;
  }

  .v2-intro-process,
  .v2-showcase {
    grid-template-columns: 1fr;
  }

  .v2-quality {
    padding-top: 25px;
    padding-left: 0;
    border-top: 1px solid var(--mega-line);
    border-left: 0;
  }

  .v2-product-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .about-hero,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .machinery-grid {
    gap: 14px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
  }
}

@media (max-width: 760px) {
  body {
    font-size: 14px;
  }

  .container {
    width: min(var(--mega-max), calc(100% - 28px));
  }

  .section {
    padding: 48px 0;
  }

  .topbar {
    min-height: 31px;
  }

  .topbar .container {
    min-height: 31px;
    justify-content: center;
  }

  .topbar .container > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nav,
  .nav .container {
    min-height: 62px;
  }

  .brand {
    width: 160px;
    flex-basis: 160px;
  }

  .brand-logo {
    width: 154px;
    max-height: 48px;
  }

  .mobile-menu-toggle {
    display: flex;
  }

  .menu {
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100vh - 94px);
    overflow-y: auto;
    padding: 8px 14px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    background: #0d1b25;
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.28);
  }

  .menu.is-open {
    display: grid;
  }

  .menu > a:not(.button) {
    min-height: 44px;
    padding: 0 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 13px;
  }

  .menu > a:not(.button)::after {
    display: none;
  }

  .menu .button {
    min-height: 42px;
    margin: 12px 0 0;
    font-size: 12px;
  }

  .hero,
  .v2-hero {
    min-height: 478px;
  }

  .hero-video-bg::after,
  .v2-hero-media::after {
    background: linear-gradient(90deg, rgba(7, 15, 22, 0.9), rgba(7, 15, 22, 0.62));
  }

  .hero-grid,
  .v2-hero-grid {
    min-height: 478px;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 12px;
    padding: 48px 0;
  }

  .hero h1,
  .v2-hero h1 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .lead,
  .v2-hero-lead {
    font-size: 13px;
  }

  .hero-panel {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    padding: 14px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    border-left: 0;
  }

  .panel-item {
    padding: 0 8px 0 0;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 0;
  }

  .panel-item:last-child {
    border-right: 0;
  }

  .panel-item h3 {
    font-size: 8px;
    line-height: 1.45;
  }

  .v2-service-row,
  .services {
    grid-template-columns: 1fr;
  }

  .v2-service-card {
    min-height: 142px;
    grid-template-columns: 39% 1fr;
  }

  .v2-service-card__media {
    min-height: 142px;
  }

  .v2-intro-process {
    gap: 30px;
    padding: 34px 0;
  }

  .v2-process-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 19px;
  }

  .v2-process-step:nth-child(2)::after {
    display: none;
  }

  .v2-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-showcase {
    padding-top: 10px;
  }

  .gallery-grid-3,
  .gallery-grid-4,
  .gallery-grid-5,
  .gallery-grid-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-grid .service-image,
  .gallery-card-media-only .service-image {
    height: 174px !important;
  }

  .about-values,
  .standards-grid {
    grid-template-columns: 1fr;
  }

  .machinery-grid {
    grid-template-columns: 1fr;
  }

  .machine-card {
    grid-template-columns: 42% 1fr;
    min-height: 215px;
  }

  .machine-image {
    min-height: 215px;
  }

  .machine-body {
    padding: 20px;
  }

  .machine-body h3 {
    font-size: 20px;
  }

  .form-grid,
  .thread-input-grid,
  .calc-workspace,
  .thread-workspace,
  .calculator-stats-grid {
    grid-template-columns: 1fr;
  }

  .form-card,
  .info-card {
    padding: 21px;
  }

  .calc-panel {
    padding: 19px;
  }

  .calculator-tabs {
    display: none;
  }

  .calculator-select-wrap {
    display: block;
  }

  .calculator-select-wrap label {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 700;
  }

  .shape-tabs {
    display: none;
  }

  .shape-select {
    display: block;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px 18px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 440px) {
  .container {
    width: calc(100% - 24px);
  }

  h2 {
    font-size: 28px;
  }

  .actions,
  .v2-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .actions .button,
  .v2-actions .v2-button {
    width: 100%;
  }

  .actions .button.light {
    justify-content: flex-start;
  }

  .hero-panel {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .panel-item,
  .panel-item:last-child {
    padding: 0 0 8px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .panel-item:last-child {
    border-bottom: 0;
  }

  .v2-process-list {
    grid-template-columns: 1fr;
  }

  .v2-process-step::after,
  .v2-process-step:nth-child(2)::after {
    display: none;
  }

  .v2-product-grid,
  .gallery-grid-3,
  .gallery-grid-4,
  .gallery-grid-5,
  .gallery-grid-6,
  .stats-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .machine-card {
    grid-template-columns: 1fr;
  }

  .machine-image {
    min-height: 220px;
  }

  .footer-brand {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Small v2 additions ------------------------------------------------------ */

.v2-skip-link {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  border-radius: 2px;
  color: #fff;
  background: var(--mega-red);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
  font-size: 12px;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform 160ms ease;
}

.v2-skip-link:focus {
  transform: translateY(0);
}

.v2-language-switcher {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 13px;
  color: rgba(235, 241, 244, 0.58);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.v2-language-switcher a {
  color: inherit;
  transition: color 150ms ease;
}

.v2-language-switcher a:hover,
.v2-language-switcher a.is-current {
  color: #fff;
}

.v2-language-switcher a.is-current {
  text-decoration: underline;
  text-decoration-color: var(--mega-red);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.v2-watch-link {
  min-height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  transition: color 150ms ease, opacity 150ms ease;
}

.v2-watch-link:hover {
  color: #fff;
  opacity: 0.78;
}

.v2-watch-link::before {
  flex: 0 0 27px;
}

.footer-grid--v2 {
  grid-template-columns: 1.25fr 0.78fr 0.92fr 1.08fr 1.16fr;
  gap: 28px;
}

.footer-grid--v2 .v2-footer-slogan {
  max-width: 230px;
  margin: 0;
}

@media (max-width: 1190px) {
  .v2-language-switcher {
    margin-left: 8px;
    font-size: 9px;
  }
}

@media (max-width: 980px) {
  .footer-grid--v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
  }

  .footer-grid--v2 .v2-footer-slogan {
    align-self: end;
  }
}

@media (max-width: 760px) {
  .v2-language-switcher {
    min-height: 36px;
    align-self: auto;
    justify-content: flex-start;
    margin: 0;
    padding: 0 5px;
    font-size: 12px;
  }

  .v2-watch-link {
    justify-content: flex-start;
  }

  .footer-grid--v2 .v2-footer-slogan {
    grid-column: 1 / -1;
    padding-top: 8px;
  }
}

@media (max-width: 440px) {
  .footer-grid--v2 .v2-footer-slogan {
    grid-column: auto;
  }
}

/* Match the approved composition: inset header/hero, wide lower sections. */
.hero-panel {
  width: 174px;
  max-width: none;
  gap: 10px;
  padding: 0;
}
.hero-panel .panel-item,
.hero-panel .panel-item:last-child {
  min-height: 62px;
  display: flex;
  align-items: center;
  padding: 13px 17px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 5px;
  background: linear-gradient(125deg,rgba(255,255,255,.13),rgba(18,31,41,.24));
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  box-shadow: 0 5px 18px rgba(0,0,0,.1), inset 0 1px rgba(255,255,255,.06);
}
.hero-panel .panel-item::before {
  content: "";
  width: 3px;
  height: 22px;
  flex: 0 0 3px;
  margin-right: 10px;
  border-radius: 2px;
  background: var(--mega-red-bright);
}
.v2-service-card__media img,
.v2-service-card__media video,
.v2-service-card:hover .v2-service-card__media img,
.v2-service-card:hover .v2-service-card__media video {
  transition: none;
  transform: none;
  filter: grayscale(.75) contrast(1.02);
}
.topbar .container,
.nav .container,
.v2-hero-grid {
  width: min(1168px, calc(100% - 48px));
}
.nav .container { gap: 22px; }
.brand { flex-basis: 186px; width: 186px; }
.menu > a:not(.button) { padding-inline: 12px; font-size: 10px; }
.menu .button { margin-left: 19px; }
.v2-hero-media img { object-position: center 56%; }
.v2-hero-media::after {
  background: linear-gradient(90deg, rgba(8,17,24,.36) 0%, rgba(8,17,24,.18) 47%, rgba(8,17,24,.03) 70%, rgba(8,17,24,.68) 100%);
}
.v2-hero-lead { max-width: 500px; font-size: 13px; line-height: 1.5; }
.v2-actions { margin-top: 16px; gap: 30px; }
.v2-actions .button { min-height: 38px; min-width: 132px; }
.hero-panel { border-left: 0; }
.v2-service-card { border-radius: 3px; }
.v2-service-card__media { position: relative; }
.v2-service-card__media img { position: absolute; inset: 0; object-position: 32% center; }
.v2-service-card:last-child .v2-service-card__media img { object-position: 35% center; }
.v2-intro-copy p { font-size: 12px; line-height: 1.4; }
.v2-process { padding-top: 3px; }
.v2-process__heading::after { content: ""; height: 1px; flex: 1; background: var(--mega-line); }
.v2-process-list { margin-top: 20px; }
.v2-process-step h3 { margin-top: 16px; }
.v2-showcase { background: linear-gradient(90deg, #f6f8f9, #fff); }
.v2-product--single img,
.v2-product--single:hover img { object-fit: contain; object-position: center; transform: none; }
.v2-product--tile { position: relative; }
.v2-product--tile img,
.v2-product--tile:hover img {
  position: absolute;
  top: 50%;
  left: calc(var(--tile-column) * -100%);
  width: 300%;
  max-width: none;
  height: auto;
  transform: translateY(calc(var(--tile-center) * -1%));
}
.v2-quality-points { gap: 12px; }
.v2-quality-points li { font-size: 9px; }
.footer-logo { display: block; }
.footer .container { padding-top: 24px; }
.footer-grid { padding-bottom: 20px; border-bottom: 0; }
.topbar .v2-topbar-contact { gap: 22px; }
.v2-topbar-contact > span { overflow: hidden; text-overflow: ellipsis; max-width: 290px; }
#kalite, #hakkimizda, #teklif { scroll-margin-top: 90px; }
@media (min-width: 981px) {
  .v2-hero-copy { margin-right: -60px; }
}
@media (max-width: 1180px) {
  .nav .container { min-height: 62px; }
  .mobile-menu-toggle { display: flex; }
  .menu {
    position: absolute; top: 100%; right: 0; left: 0;
    display: none; max-height: calc(100vh - 95px); overflow-y: auto;
    padding: 10px 24px 20px; background: #101d27;
    box-shadow: 0 15px 30px #0004;
  }
  .menu.is-open { display: grid; }
  .site-v2 .menu > a:not(.button) {
    min-height: 44px;
    padding-inline: 12px;
    border-radius: 0;
    border-bottom: 1px solid #ffffff18;
    color: #fff;
    background: transparent;
    font-size: 13px;
  }
  .site-v2 .menu > a:not(.button):hover,
  .site-v2 .menu > a:not(.button):focus-visible,
  .site-v2 .menu > a:not(.button).active {
    color: #fff;
    background: rgba(255, 255, 255, 0.07);
    border-bottom-color: var(--mega-red);
  }
  .menu > a:not(.button)::after { display: none; }
  .v2-language-switcher { margin: 10px 0; font-size: 12px; min-height: 28px; }
  .menu .button { margin: 8px 0 0; min-height: 42px; }
  .topbar .container > span:last-child { display: none; }
}
@media (max-width: 980px) {
  .v2-hero-grid { min-height: 340px; }
  .v2-hero h1 .accent { max-width: 600px; }
  .v2-intro-process, .v2-showcase { grid-template-columns: 1fr; }
  .v2-intro-process { gap: 28px; padding: 28px 0; }
}
@media (max-width: 760px) {
  .footer-grid--v2 .footer-contact-column { grid-column: 1 / -1; }
  .topbar .container, .nav .container, .v2-hero-grid { width: calc(100% - 32px); }
  .topbar .v2-topbar-contact > span { display: none; }
  .topbar .v2-topbar-contact { gap: 15px; font-size: 9px; }
  .v2-hero-grid { min-height: 440px; }
  .v2-hero-media::after { background: linear-gradient(90deg,#081118dd,#08111870); }
  .v2-hero h1 { font-size: clamp(34px, 10vw, 46px); }
  .v2-hero h1 .accent { font-size: .64em; line-height: 1.15; margin-top: 8px; }
  .hero-panel { width: 100%; margin-top: 12px; border-top: 0; padding: 0; }
  .hero-panel .panel-item { min-height: 70px; padding: 10px; }
  .hero-panel .panel-item::before { margin-right: 7px; }
  .v2-service-card__media { min-height: 154px; }
  .v2-product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 440px) {
  .v2-actions { align-items: flex-start; gap: 16px; }
  .v2-actions .button { width: 100%; }
  .hero-panel { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .hero-panel .panel-item, .hero-panel .panel-item:last-child { min-height: 68px; padding: 9px 7px; }
  .v2-process-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v2-process-step h3 { font-size: 12px; }
  .footer-grid--v2 { grid-template-columns: 1fr 1fr; }
  .footer-brand, .v2-footer-slogan { grid-column: 1 / -1 !important; }
}

/* A reserved language area remains visible even when the main menu collapses. */
.nav .container { gap: 16px; }
.nav .v2-language-switcher {
  flex: 0 0 78px;
  align-self: center;
  justify-content: flex-end;
  gap: 3px;
  min-height: 32px;
  margin: 0;
  padding: 0 0 0 10px;
  border-left: 1px solid rgba(255, 255, 255, .2);
  font-size: 11px;
}
.nav .v2-language-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 36px;
}

.v2-laser-feature {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--mega-line);
  font-size: 13px;
}
.v2-laser-feature > span {
  flex: 0 0 auto;
  color: var(--mega-red);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
}
.v2-laser-feature a:hover,
.service-detail-link:hover { color: var(--mega-red); }
.service-detail-link { margin-top: 6px; font-size: 13px; font-weight: 600; }
.services-page-title { margin: 8px 0 14px; font-size: clamp(26px, 2.6vw, 34px); font-weight: 650; line-height: 1.2; }
@media (max-width: 620px) {
  .v2-laser-feature { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* Services: calm, alternating media-and-copy cards. */
.page-services .services {
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  margin-top: 28px;
}

.page-services .service-card,
.page-services .service-card-laser {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 36fr) minmax(0, 64fr);
  align-items: stretch;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--mega-line);
  border-radius: var(--mega-radius);
  background: #fff;
  box-shadow: none;
  transition: none;
}

.page-services .service-card:hover,
.page-services .service-card-laser:hover {
  box-shadow: none;
  transform: none;
}

.page-services .service-card-laser {
  scroll-margin-top: 80px;
}

.page-services .service-image {
  min-height: 0;
  height: auto;
  max-height: none;
  aspect-ratio: 3 / 2;
  align-self: center;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-right: 1px solid var(--mega-line);
  background: #17242e;
  cursor: default;
}

.page-services .service-card:nth-child(even) {
  grid-template-columns: minmax(0, 64fr) minmax(0, 36fr);
}

.page-services .service-card:nth-child(even) .service-image {
  order: 2;
  border-right: 0;
  border-left: 1px solid var(--mega-line);
}

.page-services .service-card:nth-child(even) .service-body {
  order: 1;
}

.page-services .service-image img,
.page-services .service-image video,
.page-services .service-image:hover img,
.page-services .service-image:hover video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  padding: 0;
  filter: grayscale(0.12) contrast(1.03);
  transform: none;
  transition: none;
}

.page-services .service-body {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding: 28px 32px;
}

.page-services .service-image--light,
.page-services .service-image--light video {
  background: #fff;
}

.page-services .service-label {
  margin-bottom: 8px;
  font-weight: 700;
}

.page-services .service-body h3 {
  margin-bottom: 10px;
  font-size: clamp(22px, 1.8vw, 24px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.18;
}

.page-services .service-body p {
  max-width: 620px;
  margin-bottom: 9px;
  font-size: 14px;
  line-height: 1.65;
}

.page-services .service-body p:last-child {
  margin-bottom: 0;
}

.page-services .services-quote {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

@media (max-width: 1180px) {
  .nav .container { justify-content: flex-start; gap: 10px; }
  .nav .v2-language-switcher { margin-left: auto; }
  .mobile-menu-toggle { flex: 0 0 40px; }
}
@media (max-width: 760px) {
  .page-services .services {
    gap: 18px;
  }

  .page-services .service-card,
  .page-services .service-card:nth-child(even),
  .page-services .service-card-laser {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .page-services .service-image,
  .page-services .service-card:nth-child(even) .service-image {
    min-height: 0;
    height: auto;
    max-height: none;
    order: 0;
    border-right: 0;
    border-bottom: 1px solid var(--mega-line);
    border-left: 0;
  }

  .page-services .service-body,
  .page-services .service-card:nth-child(even) .service-body {
    order: 1;
    padding: 24px 22px 26px;
  }
}
@media (max-width: 440px) {
  .nav .brand { width: 150px; flex-basis: 150px; }
  .nav .v2-language-switcher { flex-basis: 72px; padding-left: 6px; }
}

/* V1 height trial: add 45px on desktop; retain the existing mobile crop. */
@media (min-width: 981px) {
  .page-home .v2-hero-grid {
    min-height: 325px;
    padding-top: 52.5px;
    padding-bottom: 49.5px;
  }
}
