:root { --copy-ink:#101319; --copy-blue:#00a7d9; --copy-pink:#e5007d; --copy-yellow:#ffe100; }
.copy-page { color:#fff; background:#101319; }
.copy-main { min-height:0; font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif; }
.copy-hero { position:relative; isolation:isolate; min-height:calc(100vh - 104px); overflow:hidden; background:#101319; }
.copy-video { position:absolute; z-index:0; top:-96px; left:0; width:100%; height:calc(100% + 96px); object-fit:cover; object-position:center center; background:#101319; }
.copy-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(6,10,14,.91) 0%,rgba(6,10,14,.72) 48%,rgba(6,10,14,.78) 100%); pointer-events:none; }
.copy-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(360px,.85fr) minmax(560px,1.15fr); gap:clamp(46px,6vw,100px); width:min(1450px,100%); margin:0 auto; padding:clamp(64px,7vw,110px) clamp(26px,5vw,74px); align-items:start; }
.copy-kicker,.copy-form__heading p { margin:0 0 18px; color:var(--copy-blue); font-size:12px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.copy-content h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.6rem,6.5vw,7.4rem); font-weight:400; line-height:.86; letter-spacing:-.055em; }
.copy-content h1 em { color:var(--copy-yellow); font-weight:400; }
.copy-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:52px 0 0; padding:0; list-style:none; font-size:clamp(.94rem,1.1vw,1.08rem); line-height:1.45; }
.copy-services li { position:relative; padding-left:19px; }
.copy-services li::before { content:""; position:absolute; top:.55em; left:0; width:8px; height:8px; border-radius:50%; background:var(--copy-pink); }
.copy-note { max-width:650px; margin:42px 0 0; padding:22px 24px; border-left:4px solid var(--copy-blue); color:#d9dde3; background:rgba(255,255,255,.08); font-size:1rem; line-height:1.65; backdrop-filter:blur(8px); }
.copy-note strong { color:#fff; }
.copy-form { padding:clamp(27px,3.8vw,50px); border:1px solid rgba(255,255,255,.28); border-top:5px solid var(--copy-pink); border-radius:24px; color:var(--copy-ink); background:rgba(255,255,255,.94); box-shadow:0 35px 90px rgba(0,0,0,.38); backdrop-filter:blur(12px); }
.copy-form__heading h2 { margin:0 0 34px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.3rem,3.4vw,4.2rem); font-weight:400; line-height:.95; letter-spacing:-.04em; }
.copy-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.copy-fields label { display:grid; gap:8px; min-width:0; }
.copy-fields label > span { font-size:12px; font-weight:900; letter-spacing:.035em; }
.copy-fields label small { color:#6d737c; font-weight:500; }
.copy-fields b { color:var(--copy-pink); }
.copy-fields input,.copy-fields select,.copy-fields textarea { width:100%; border:1px solid #cfd4da; border-radius:10px; color:var(--copy-ink); background:#fff; font:inherit; font-size:14px; }
.copy-fields input,.copy-fields select { height:50px; padding:0 13px; }
.copy-fields textarea { min-height:135px; padding:13px; resize:vertical; }
.copy-fields input:focus,.copy-fields select:focus,.copy-fields textarea:focus { border-color:var(--copy-blue); outline:0; box-shadow:0 0 0 4px rgba(0,167,217,.13); }
.copy-field--wide,.copy-field--file,.copy-consent { grid-column:1/-1; }
.copy-field--file input { height:auto; padding:12px; }
.copy-consent { display:grid!important; grid-template-columns:auto 1fr; gap:11px!important; align-items:start; }
.copy-consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--copy-pink); }
.copy-form__footer { display:flex; gap:24px; align-items:center; justify-content:space-between; margin-top:28px; }
.copy-form__footer p { max-width:380px; margin:0; color:#667085; font-size:12px; line-height:1.5; }
.copy-form button { display:inline-flex; gap:16px; align-items:center; min-height:52px; padding:0 22px; border:0; border-radius:999px; color:#fff; background:var(--copy-pink); font:inherit; font-size:13px; font-weight:900; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.copy-form button:hover,.copy-form button:focus-visible { background:#c9006d; outline:0; transform:translateY(-2px); }
@media (max-width:980px) { .copy-hero { min-height:0; } .copy-layout { grid-template-columns:1fr; } .copy-content { max-width:760px; } .copy-video { top:-72px; height:calc(100% + 72px); } }
@media (max-width:600px) { .copy-layout { padding:58px 18px 72px; } .copy-content h1 { font-size:clamp(3.3rem,16vw,5.1rem); } .copy-services,.copy-fields { grid-template-columns:1fr; } .copy-form { padding:25px 18px; border-radius:18px; } .copy-form__footer { align-items:stretch; flex-direction:column; } .copy-form button { justify-content:center; width:100%; } }
@media (prefers-reduced-motion:reduce) { .copy-form button { transition:none; } }
/* Fusión progresiva del vídeo central con el fondo */
.copy-video { top: 0; height: 100%; }
.copy-video--ambient {
  z-index: 0;
  object-fit: cover;
  filter: blur(34px) saturate(.82) brightness(.62);
  opacity: .92;
  transform: scale(1.09);
}
.copy-video--main {
  z-index: .25;
  object-fit: contain;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.copy-hero::before {
  position: absolute;
  z-index: .7;
  inset: 0;
  background: linear-gradient(90deg, #101319 0%, rgba(16,19,25,.28) 13%, transparent 27%, transparent 73%, rgba(16,19,25,.28) 87%, #101319 100%);
  content: "";
  pointer-events: none;
}
.copy-overlay { z-index: 1; }
.copy-layout { z-index: 2; }

/* Selector de archivo accesible y personalizado */
.copy-field--file > span:first-child { display: block; }
.copy-file-control {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 56px;
  padding: 7px;
  overflow: hidden;
  border: 1px solid #cfd4da;
  border-radius: 12px;
  background: #ffffff;
  cursor: pointer;
}
.copy-file-control:focus-within { border-color: var(--copy-blue); box-shadow: 0 0 0 4px rgba(0,167,217,.13); }
.copy-file-control input[type="file"] {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
.copy-file-control__button {
  padding: 11px 16px;
  border-radius: 8px;
  color: #ffffff;
  background: var(--copy-blue);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
  transition: background 180ms ease;
}
.copy-file-control:hover .copy-file-control__button { background: #0088b3; }
.copy-file-control__name {
  min-width: 0;
  overflow: hidden;
  color: #626a75;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.copy-field--wide > span small { display: inline; font-size: 13px; font-weight: 650; line-height: 1.45; }
.copy-field--wide textarea { min-height: 170px; }
@media (max-width: 600px) {
  .copy-video--main { -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
  .copy-file-control { grid-template-columns: 1fr; gap: 7px; }
  .copy-file-control__button { text-align: center; }
  .copy-file-control__name { padding: 2px 6px; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .copy-file-control__button { transition: none; } }
/* Vídeo de copistería ampliado, sin bandas negras */
.copy-page,
.copy-hero { background: #ffffff; }
.copy-video { background: #ffffff; }
.copy-video--ambient {
  left: 50%;
  width: 138%;
  filter: blur(28px) saturate(.88) brightness(1.08);
  opacity: .72;
  transform: translateX(-50%) scale(1.08);
}
.copy-video--main {
  left: 50%;
  width: 138%;
  max-width: none;
  object-fit: cover;
  -webkit-mask-image: none;
  mask-image: none;
  transform: translateX(-50%) scale(1.06);
}
.copy-hero::before {
  background: linear-gradient(90deg, rgba(255,255,255,.5) 0%, transparent 12%, transparent 88%, rgba(255,255,255,.5) 100%);
}
.copy-overlay { background: linear-gradient(90deg, rgba(6,10,14,.78) 0%, rgba(6,10,14,.52) 45%, rgba(6,10,14,.42) 100%); }
@media (max-width: 980px) {
  .copy-video--ambient,
  .copy-video--main { top: 0; width: 165%; height: 100%; }
}
/* Encuadre del vídeo recortado proporcionado, sin fondo negro */
.copy-page,
.copy-hero,
.copy-video { background: #ffffff; }
.copy-video--main {
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: translateX(-50%);
}
.copy-hero::before { display: none; }
.copy-overlay { background: linear-gradient(90deg, rgba(6,10,14,.64) 0%, rgba(6,10,14,.34) 45%, rgba(6,10,14,.18) 100%); }
@media (max-width: 980px) {
  .copy-video--main { top: 0; width: 100%; height: 100%; transform: translateX(-50%); }
}