/* =========================================================
   velvet-suite.com · Marca v3 (28/10/2026) · tema Velvet Suite
   Fuente de verdad: Design System "Laura Melgar" (tema velvet).
   DM Sans · fondo marfil · vino dominante · granate en la palabra clave
   ========================================================= */
:root{
  --papel:#F6F2EE;          /* fondo único */
  --papel-2:#FFFFFF;        /* tarjetas */
  --burdeos:#5E1326;        /* logo */
  --vino:#4A0F1E;           /* bloque y botón primario de Velvet */
  --vino-noche:#2A0A13;     /* pie, velo del vídeo, menú móvil */
  --acento:#7A1A33;         /* palabra clave sobre claro (9,8:1) */
  --rosa:#C9A2AC;           /* solo el logo */
  --rosa-suave:#E3CCD2;     /* secundario y palabra clave sobre oscuro */
  --tinta:#2B2526;
  --tinta-suave:#5A4F52;
  --apagado:#7A6A70;
  --linea:rgba(94,19,38,.16);
  --linea-oscura:rgba(255,255,255,.18);
  --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --radio:20px;
  --ancho:1180px;
  --gutter:clamp(20px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:var(--vino)}
a:hover{color:var(--acento)}
p{margin:0}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.04em;line-height:1.02;text-wrap:balance}
h1 em,h2 em{font-style:normal;color:var(--acento)}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.oscuro :focus-visible{outline-color:var(--rosa-suave)}
.wrap{max-width:var(--ancho);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:3.4px;text-transform:uppercase;color:var(--apagado)}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--acento)}
.oscuro .eyebrow{color:var(--rosa-suave)}
.oscuro .eyebrow::before{background:var(--rosa-suave)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.btn-lg{min-height:54px;padding:0 32px}
.btn-primario{background:var(--vino);color:#fff}
.btn-primario:hover{background:var(--burdeos);color:#fff;transform:translateY(-1px)}
.btn-secundario{background:transparent;color:var(--tinta);border-color:var(--linea)}
.btn-secundario:hover{border-color:var(--tinta);color:var(--tinta)}
.btn-claro{background:#fff;color:var(--vino)}
.btn-claro:hover{background:var(--rosa-suave);color:var(--vino)}
.btn-fantasma{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.55)}
.btn-fantasma:hover{background:rgba(255,255,255,.14);color:#fff}

/* Tarjetas */
.tarjeta{background:var(--papel-2);border:1px solid var(--linea);border-radius:var(--radio);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.tarjeta:hover{transform:translateY(-3px);border-color:rgba(94,19,38,.32);box-shadow:0 22px 50px -26px rgba(94,19,38,.35)}

/* Logo */
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo svg{width:44px;height:26px;flex-shrink:0}
.logo-txt{display:flex;flex-direction:column;line-height:1}
.logo-txt b{font-size:21px;font-weight:800;letter-spacing:-.04em;color:#fff}
.logo-txt i{font-style:normal;font-size:11px;font-weight:500;letter-spacing:2px;color:var(--rosa-suave);margin-top:5px}

/* Cabecera */
.cabecera{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:transparent;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease}
.cabecera.solida{background:rgba(42,10,19,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:rgba(255,255,255,.1)}
.cabecera .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.nav{display:flex;gap:28px;font-size:14px}
.nav a{color:#fff;text-decoration:none;padding:10px 0}
.nav a:hover{color:var(--rosa-suave)}
.cab-acciones{display:flex;align-items:center;gap:8px}
.cab-acciones .btn{min-height:44px;padding:0 22px;font-size:14px;border-color:rgba(227,204,210,.4)}
.menu-movil{display:none;position:relative}
.menu-movil summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center}
.menu-movil summary::-webkit-details-marker{display:none}
.menu-movil nav{position:absolute;right:0;top:54px;min-width:230px;background:var(--vino-noche);border:1px solid var(--linea-oscura);border-radius:16px;padding:8px 20px;display:flex;flex-direction:column}
.menu-movil nav a{color:#fff;text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.menu-movil nav a:last-child{border-bottom:0}
@media (max-width:860px){.nav{display:none}.menu-movil{display:block}}
@media (max-width:420px){.logo-txt i{display:none}.cab-acciones .btn{padding:0 16px}}

/* Hero con vídeo */
.hero{position:relative;min-height:clamp(600px,82vh,800px);display:flex;align-items:center;overflow:hidden;background:var(--vino-noche);color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.35);transform-origin:0% 55%}
.hero-velo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,10,19,.84) 0%,rgba(42,10,19,.62) 45%,rgba(42,10,19,.28) 100%)}
.hero .wrap{position:relative;width:100%;padding-top:clamp(128px,14vw,168px);padding-bottom:clamp(72px,9vw,112px)}
.hero-txt{max-width:660px;display:flex;flex-direction:column;gap:26px}
.hero h1{font-size:clamp(48px,7vw,96px);line-height:.94;letter-spacing:-.05em;color:#fff}
.hero h1 em{color:var(--rosa-suave)}
.hero p{max-width:540px;font-size:clamp(17px,1.6vw,19px);line-height:1.6;color:rgba(255,255,255,.9)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
@media (max-width:760px){.hero-velo{background:rgba(42,10,19,.72)}.hero-video{transform:none}}

/* Secciones */
.seccion{padding-top:clamp(72px,9vw,112px);padding-bottom:clamp(72px,9vw,112px)}
.cabeza{display:flex;flex-wrap:wrap;gap:20px 64px;align-items:flex-end;justify-content:space-between}
.cabeza > div{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px}
.cabeza > p{flex:0 1 400px;min-width:0;color:var(--tinta-suave)}
.h2{font-size:clamp(34px,4.4vw,56px)}
.h2-m{font-size:clamp(30px,3.4vw,44px)}

/* Método */
.pasos{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.paso{padding:26px;display:flex;flex-direction:column;gap:8px}
.paso-n{font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--acento)}
.paso svg{width:28px;height:28px;margin-bottom:6px}
.paso h3{font-size:22px;letter-spacing:-.03em}
.paso p{font-size:15px;color:var(--tinta-suave)}
.icono{fill:none;stroke:var(--vino);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Servicios */
.niveles{margin-top:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;align-items:stretch}
.nivel{padding:30px;display:flex;flex-direction:column;gap:16px}
.nivel-n{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--acento)}
.nivel h3{font-size:30px;letter-spacing:-.04em}
.nivel > p{font-size:15px;color:var(--tinta-suave)}
.nivel ul{list-style:none;margin:0;padding:0;font-size:15px}
.nivel li{padding:10px 0;border-top:1px solid var(--linea)}
.nivel .nota{font-size:13.5px;color:var(--apagado)}
.nivel-pie{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.nivel-pie span{font-size:13.5px;color:var(--apagado)}
.nivel-pie .btn{min-height:44px;padding:0 20px;font-size:14px}
.nivel-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;border-radius:999px;padding:5px 12px}
.nivel.destacado{background:var(--vino);border-color:var(--vino);color:#fff}
.nivel.destacado:hover{border-color:var(--vino)}
.nivel.destacado .nivel-n{color:var(--rosa-suave)}
.nivel.destacado > p,.nivel.destacado .nota,.nivel.destacado .nivel-pie span{color:var(--rosa-suave)}
.nivel.destacado li{border-top-color:rgba(255,255,255,.2)}
.nivel.destacado .chip{background:var(--rosa-suave);color:var(--vino)}
.centro{margin-top:40px;display:flex;justify-content:center}

/* IA + Marca y web */
.dobles{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.doble{padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;gap:16px}
.doble h2{font-size:clamp(28px,3vw,38px)}
.doble > p{color:var(--tinta-suave)}
.items{display:flex;flex-direction:column}
.items div{padding:16px 0;border-top:1px solid var(--linea)}
.items div:last-child{border-bottom:1px solid var(--linea)}
.items strong{font-size:18px;font-weight:700;letter-spacing:-.02em}
.items p{margin-top:4px;font-size:15px;color:var(--tinta-suave)}
.doble .nota{font-size:14px;color:var(--tinta-suave)}
.chip-borde{align-self:flex-start;color:var(--vino);border:1px solid var(--linea)}

/* Para quién (oscuro) */
.oscuro{background:var(--vino);color:#fff}
.oscuro h2{color:#fff}
.oscuro h2 em{color:var(--rosa-suave)}
.pq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 80px;align-items:start}
.pq-intro{display:flex;flex-direction:column;gap:20px}
.pq-intro > p{color:rgba(255,255,255,.88);max-width:480px}
.pq-si{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;font-size:15px}
.pq-si li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.pq-si li::before{content:"";flex:none;width:18px;height:18px;margin-top:1px;border-radius:999px;background:var(--rosa-suave) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A0F1E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.pq-perfiles{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea-oscura)}
.pq-perfiles li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--linea-oscura)}
.pq-perfiles span{font-size:13px;font-weight:600;letter-spacing:1.5px;color:var(--rosa-suave);padding-top:3px}
.pq-perfiles h3{font-size:20px;letter-spacing:-.025em;line-height:1.25}
.pq-perfiles p{margin-top:4px;font-size:15px;color:var(--rosa-suave)}
@media (max-width:860px){.pq{grid-template-columns:1fr}}
@media (max-width:480px){.pq-si{grid-template-columns:1fr}}

/* Equipo */
.equipo{margin-top:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 16px}
.persona img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radio);background:#EDE6E3}
.persona h3{margin-top:16px;font-size:20px;letter-spacing:-.025em}
.persona p{margin-top:2px;font-size:14.5px;color:var(--tinta-suave)}
.persona a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:none}

/* Contacto */
.contacto{text-align:center}
.contacto .wrap{display:flex;flex-direction:column;align-items:center;gap:22px}
.contacto h2{font-size:clamp(40px,5.6vw,76px);line-height:.98;max-width:820px}
.contacto p{max-width:560px;color:var(--rosa-suave)}
.contacto .hero-ctas{justify-content:center}
.contacto .micro{font-size:13.5px}

/* Pie */
.pie{background:var(--vino-noche);color:var(--rosa-suave);padding-bottom:env(safe-area-inset-bottom,0px)}
.pie-top{display:flex;flex-wrap:wrap;gap:40px 56px;justify-content:space-between;padding-top:56px;padding-bottom:32px}
.pie-id{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:18px}
.pie-id > p{max-width:320px;font-size:14.5px}
.pie nav{display:flex;flex-direction:column;gap:2px;font-size:14.5px}
.pie nav span{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--rosa);margin-bottom:8px}
.pie nav a{color:#fff;text-decoration:none;padding:6px 0}
.pie nav a:hover{color:var(--rosa-suave)}
.pie-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13.5px}
.pie-bottom div{display:flex;flex-wrap:wrap;gap:4px 20px}
.pie-bottom a,.pie-bottom button{color:var(--rosa-suave);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

/* Newsletter */
.nl{display:flex;flex-wrap:wrap;gap:8px;max-width:400px}
.nl label[for]{width:100%;font-size:14px;font-weight:600;color:#fff}
.nl input[type=email]{flex:1 1 180px;min-width:0;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:14.5px}
.nl input[type=email]::placeholder{color:rgba(255,255,255,.6)}
.nl .btn{min-height:46px;padding:0 20px;font-size:14px}
.nl .consent{width:100%;display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.5}
.nl .consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--rosa-suave);flex-shrink:0}
.nl .consent a{color:#fff}
.nl-msg{width:100%;font-size:13.5px;color:#fff}
.nl-ok{font-size:20px;font-weight:700;letter-spacing:-.02em;color:#fff}

/* Cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:300;max-width:1080px;margin:0 auto;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:0 18px 40px -20px rgba(42,10,19,.4);padding:20px 24px;color:var(--tinta)}
.cookies-fila{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.cookies-fila > p{flex:1 1 320px;min-width:0;font-size:14px;line-height:1.55}
.cookies-fila a{color:var(--vino);text-decoration:underline}
.cookies-botones{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cookies-botones .btn{min-height:44px;padding:0 20px;font-size:14px}
.btn-texto{background:none;border:0;color:var(--tinta-suave);font:inherit;font-size:14px;min-height:44px;padding:0 12px;cursor:pointer}
.btn-texto:hover{color:var(--vino)}
.cookies-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:14px}
.cookie-op{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cookie-op strong{display:block;font-size:14.5px}
.cookie-op span{display:block;font-size:13.5px;color:var(--tinta-suave)}
.cookie-op input{width:20px;height:20px;margin-top:2px;accent-color:var(--vino);flex-shrink:0}
.cookies-panel .cookies-botones{justify-content:flex-end}

/* Páginas legales */
.legal-cab{background:var(--vino)}
.legal-cab .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.legal-cab a.volver{color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.legal{padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(64px,8vw,104px)}
.legal-txt{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:22px;font-size:15.5px;line-height:1.75}
.legal-txt h1{font-size:clamp(34px,4vw,44px)}
.legal-txt h2{font-size:18px;letter-spacing:-.02em;line-height:1.3;color:var(--vino);margin-bottom:-14px}
.legal-ficha{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:24px 26px;display:flex;flex-direction:column;gap:6px}
.tabla-wrap{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:18px 20px;overflow-x:auto}
.tabla{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}
.tabla th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--apagado);padding:0 12px 10px 0;border-bottom:1px solid var(--linea)}
.tabla td{padding:14px 12px 14px 0;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla td:first-child{font-weight:600;color:var(--vino);white-space:nowrap}
@media (max-width:560px){
  .tabla,.tabla thead,.tabla tbody,.tabla th,.tabla td,.tabla tr{display:block}
  .tabla thead{display:none}
  .tabla tr{border-bottom:1px solid var(--linea);padding:12px 0}
  .tabla td{border-bottom:0;padding:2px 0}
  .tabla td::before{content:attr(data-label);display:block;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--apagado);margin-top:8px}
  .tabla td:first-child::before{content:none}
}
.pie-legal{background:var(--vino-noche);color:var(--rosa-suave)}
.pie-legal .pie-bottom{border-top:0;padding-top:28px}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
