/* ============================================================================
   VTN Industries · pagini.css: contact, paginile legale și 404 (peste bc.css)
   Aceeași identitate ca prima pagină: fond alb cald, titluri Big Shoulders cu majuscule, etichete Geist Mono,
   portocaliul mărcii, albastrul pentru software, linii de cotă punctuale. Fără animații de apariție (conținut imediat).
   ============================================================================ */
.page { position: relative; width: min(100%, var(--maxw)); margin: 0 auto; padding: calc(var(--nav) + clamp(2rem, 6vh, 4.5rem)) var(--pad) clamp(3rem, 8vh, 5rem); }
.page__title { margin-top: 1rem; font: 900 clamp(3rem, 7vw, 6.4rem)/1.12 var(--display); text-transform: uppercase; letter-spacing: -.004em; }
.page__cota { width: min(26rem, 70%); height: 16px; margin-top: .9rem; }
.page__lead { max-width: 36rem; margin-top: 1rem; font-size: clamp(1.02rem, 1.2vw, 1.15rem); color: var(--ink2); }
.page__blob { position: absolute; z-index: -1; pointer-events: none; border-radius: 50%; filter: blur(60px); opacity: .55; }
.page__blob--o { width: 34rem; height: 34rem; right: -8rem; top: 2rem; background: radial-gradient(circle, rgba(255, 91, 31, .3), rgba(255, 91, 31, 0) 70%); }
.page__blob--b { width: 30rem; height: 30rem; left: -10rem; top: 30rem; background: radial-gradient(circle, rgba(47, 91, 255, .22), rgba(47, 91, 255, 0) 70%); }
main { isolation: isolate; }
.nav__links a[aria-current="page"] { background: rgba(18, 20, 24, .07); }

/* ------------------------------------------------ contact */
.ct { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.ct__copy .btn-row { margin-top: 1.5rem; }
.ct__list { display: grid; margin-top: 2rem; border-top: 1px solid var(--line); max-width: 34rem; }
.ct__list li { display: grid; grid-template-columns: 7.5rem 1fr; align-items: center; gap: 1rem; min-height: 56px; border-bottom: 1px solid var(--line); }
.ct__k { font: 500 .74rem/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
.ct__v { font-size: 1.08rem; font-weight: 500; color: var(--ink); overflow-wrap: anywhere; }
a.ct__v { display: inline-flex; align-items: center; min-height: 44px; text-decoration-color: rgba(18, 20, 24, .3); text-underline-offset: 4px; }
@media (hover: hover) and (pointer: fine) { a.ct__v:hover { color: var(--orange-t); text-decoration-color: currentColor; } }
.ct__note { margin-top: 1.4rem; font-size: .9rem; color: var(--mute); max-width: 34rem; }

.plate-wrap { position: relative; }
.plate { position: relative; aspect-ratio: 5 / 4; border-radius: 28px; overflow: hidden;
  background: radial-gradient(120% 90% at 70% 20%, #ffffff 0%, #f1eee7 55%, #e6e1d6 100%);
  box-shadow: inset 0 0 0 1px rgba(18, 20, 24, .07), 0 40px 80px -50px rgba(18, 30, 80, .45); }
.plate canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; cursor: grab; }
.plate canvas:active { cursor: grabbing; }
.plate::before, .plate::after { content: ""; position: absolute; width: 22px; height: 22px; border: 0 solid var(--orange); pointer-events: none; z-index: 1; }
.plate::before { left: 16px; top: 16px; border-left-width: 1.5px; border-top-width: 1.5px; }
.plate::after { right: 16px; bottom: 16px; border-right-width: 1.5px; border-bottom-width: 1.5px; }
.plate__load { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; font: 500 .8rem/1.4 var(--mono); color: var(--mute); transition: opacity .4s; }
.plate.is-ready .plate__load { opacity: 0; }
.plate__fail { display: none; }
.plate.is-failed .plate__load { display: none; }
.plate.is-failed .plate__fail { display: grid; position: absolute; inset: 0; place-items: center; padding: 2rem; text-align: center; color: var(--ink2); }
.plate__hint { margin-top: .8rem; font: 500 .74rem/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--mute); text-align: center; }
.plate__hint .t { display: none; }
@media (pointer: coarse) { .plate__hint .m { display: none; } .plate__hint .t { display: inline; } }
.no-js .plate-wrap { display: none; }

/* ------------------------------------------------ paginile legale */
.legal { width: min(100%, 50rem); margin: 0 auto; padding: calc(var(--nav) + clamp(2rem, 6vh, 4rem)) var(--pad) clamp(3rem, 8vh, 5rem); }
.legal .eyebrow { display: inline-flex; align-items: center; gap: .6rem; font: 500 .78rem/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
.legal .eyebrow::before { content: "§"; display: inline-grid; place-items: center; min-width: 2.2em; padding: .2em .45em; border-radius: 6px; background: var(--orange); color: var(--ink); font-weight: 600; }
.legal h1 { margin-top: 1rem; font: 900 clamp(2.6rem, 6vw, 4.6rem)/1.12 var(--display); text-transform: uppercase; letter-spacing: -.003em; }
.legal h1::after { content: ""; display: block; width: min(18rem, 60%); height: 14px; margin-top: .9rem;
  background: linear-gradient(var(--orange), var(--orange)) 0 50% / 100% 1.5px no-repeat,
    linear-gradient(var(--orange), var(--orange)) 0 0 / 1.5px 100% no-repeat,
    linear-gradient(var(--orange), var(--orange)) 100% 0 / 1.5px 100% no-repeat; }
.legal__updated { margin-top: 1rem; font: 500 .8rem/1.4 var(--mono); color: var(--mute); }
/* titlurile de secțiune în Geist, nu în fontul condensat: acolo cratima («site-ului») ar arăta ca o liniuță lungă */
.legal h2 { margin: 2.4rem 0 .7rem; font: 600 clamp(1.25rem, 2vw, 1.45rem)/1.3 var(--sans); letter-spacing: -.01em; color: var(--ink); }
.legal p, .legal li { color: var(--ink2); font-size: 1.02rem; line-height: 1.7; }
.legal p + p { margin-top: .9rem; }
.legal ul { margin: .6rem 0 0; padding-left: 1.2rem; list-style: disc; }
.legal li + li { margin-top: .35rem; }
.legal strong, .legal b { color: var(--ink); font-weight: 600; }
.legal a { color: var(--blue-t); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal__entity { margin-top: 2.6rem; padding: 1.3rem 1.4rem; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--orange); font-size: .95rem; line-height: 1.8; color: var(--ink2); overflow-wrap: anywhere; }
.legal__note { margin: 1.4rem 0 0; padding: 1rem 1.2rem; border-radius: 14px; background: var(--blue-50); color: var(--ink2); font-size: .95rem; }

/* ------------------------------------------------ 404 */
.nf { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 2rem 4rem; align-items: center; min-height: calc(100svh - 12rem); }
.nf__lang + .nf__lang { margin-top: 2.6rem; padding-top: 2.2rem; border-top: 1px solid var(--line); }
.nf__lang .page__title { font-size: clamp(2.6rem, 6vw, 5.2rem); }
.nf__lang .h-en { font-size: clamp(2rem, 4.4vw, 3.6rem); }
.nf__emb { width: min(100%, 22rem); justify-self: center; overflow: visible; }
.nf__emb polygon, .nf__emb path { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.nf__emb polygon { stroke: var(--ink); stroke-width: 3; stroke-dasharray: 10 8; }
.nf__emb .v { stroke: var(--orange); stroke-width: 9; }
.nf__emb .gap { stroke: var(--orange); stroke-width: 1.5; stroke-dasharray: 3 4; }
.nf__emb circle { fill: var(--blue); }
.nf__emb text { font: 500 7px/1 var(--mono); fill: var(--mute); letter-spacing: .06em; }

@media (max-width: 960px) {
  .ct, .nf { grid-template-columns: 1fr; }
  .nf { min-height: 0; }
  .nf__emb { order: -1; width: 11rem; justify-self: start; }
}
@media (max-width: 760px) {
  .page { padding-top: calc(var(--nav) + 1.6rem); }
  .page__title { font-size: clamp(2.8rem, 15vw, 4.4rem); }
  .ct__copy .btn-row .btn { flex: 1 1 auto; }
  .ct__list li { grid-template-columns: 5.4rem 1fr; gap: .6rem; }
  .ct__v { font-size: 1rem; }
  .plate { aspect-ratio: 4 / 3.4; border-radius: 22px; }
  .legal { padding-top: calc(var(--nav) + 1.6rem); }
  .legal p, .legal li { font-size: .98rem; }
}
.nav__end > .lang--always { display: inline-flex; }
.brand + .nav__end { margin-left: auto; }
