@font-face{font-family:Work;src:url('catalogo/fonts/WorkSans-Variable.ttf?v=completa-20261014') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Work;src:url('catalogo/fonts/WorkSans-Italic-Variable.ttf?v=completa-20261014') format('truetype');font-weight:100 900;font-style:italic;font-display:swap}
/* ============================================================
   Sistema compartido · web + catálogo

   Un color, una familia, una escala, un gesto.
   Todo lo que las dos superficies tienen en común vive aquí;
   cada una añade solo lo propio de su formato.
   ============================================================ */

:root{
  /* --- Marca (manual Yailus Color) --- */
  --brand-wine:#6c173a;
  --brand-cream:#fcf2e7;

  /* --- Escala derivada del mismo matiz (H≈335) --- */
  --wine-800:#3c0b20;
  --wine-700:#4a0f28;
  --wine-600:#5b1431;
  --wine-500:#6c173a;
  --wine-400:#8a2450;

  /* --- Antracita: el neutro de la versión B/N del manual --- */
  --ink-900:#141113;
  --ink-800:#191618;
  --ink-700:#231f20;
  --ink-600:#2e2a2b;

  /* --- Roles --- */
  --accent:var(--brand-wine);
  --accent-deep:var(--brand-wine);
  --brand-accent:var(--brand-wine);
  --brand-ink:var(--ink-800);
  --brand-paper:var(--brand-cream);
  --brand-line:rgba(25,22,24,.14);

  /* Texto sobre oscuro / sobre crema */
  --on-dark:var(--brand-cream);
  --on-dark-dim:rgba(252,242,231,.72);
  --on-dark-mute:rgba(252,242,231,.46);
  --rule-dark:rgba(252,242,231,.18);
  --on-cream-dim:#6b5a52;

  /* --- Radios: dos, no ocho --- */
  --r-prod:10px;   /* producto, imagen y visor 3D */
  --r-doc:0;       /* superficie de documento */
  --r-pill:48px;   /* cabecera y botones de cabecera */

  /* --- Movimiento: un muelle, dos duraciones --- */
  --spring:cubic-bezier(.22,1.15,.36,1);
  --brand-ease:cubic-bezier(.22,1.15,.36,1);
  --t-fast:220ms;
  --t-slow:520ms;

  /* --- Tipografía: Work Sans, la que fija el manual para digital.
         Se autoaloja en catalogo/fonts, así que no depende de red. --- */
  --brand-sans:'Work','Work Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}

html{scroll-padding-top:90px}

/* ============ Cabecera flotante compartida ============ */
.brand-nav{
  box-sizing:border-box;position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:100;
  display:flex;align-items:center;gap:30px;padding:10px 14px 10px 22px;
  max-width:calc(100% - 28px);width:max-content;
  background:#fcf2e8; /* Fondo exacto del JPG original crema: RGB 252,242,232. */
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border-radius:var(--r-pill);
  box-shadow:inset 0 0 0 1px rgba(108,23,58,.16),0 8px 32px rgba(20,17,19,.14);
  color:var(--brand-ink);
  font-family:var(--brand-sans);line-height:1.5;
}
.brand-wordmark{display:flex;align-items:center;flex-shrink:0;font-size:18px;font-weight:600;letter-spacing:-.02em;text-decoration:none!important;white-space:nowrap}
.brand-links{display:flex;align-items:center;gap:24px;font-size:14px;white-space:nowrap}
.brand-links a,.brand-menu a{color:var(--ink-800);text-decoration:none;transition:color var(--t-fast)}
.brand-links a:hover,.brand-menu a:hover{color:var(--brand-accent)}
.brand-links [aria-current=page],.brand-menu [aria-current=page]{color:var(--brand-accent);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.brand-cta{
  display:block;flex-shrink:0;background:var(--brand-accent);color:var(--brand-cream)!important;
  padding:10px 18px;border-radius:var(--r-pill);font-size:13px;font-weight:600;
  text-decoration:none!important;white-space:nowrap;
  transition:background var(--t-fast),transform 150ms var(--spring);
}
.brand-cta:hover{background:var(--wine-400)}
.brand-cta:active{transform:scale(.97)}
.brand-menu-button{display:none;border:0;background:transparent;padding:10px 8px;cursor:pointer;color:var(--brand-ink);line-height:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Tres rayas que se cruzan al abrir */
.brand-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:22px;height:16px}
.brand-burger i{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform var(--t-fast) var(--spring),opacity .18s}
.brand-menu-button[aria-expanded="true"] .brand-burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.brand-menu-button[aria-expanded="true"] .brand-burger i:nth-child(2){opacity:0}
.brand-menu-button[aria-expanded="true"] .brand-burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.brand-menu[hidden]{display:none}
.brand-menu{position:absolute;top:calc(100% + 10px);left:0;right:0;display:grid;gap:0;background:var(--brand-cream);box-shadow:inset 0 0 0 1px rgba(108,23,58,.16),0 12px 30px rgba(20,17,19,.18);border-radius:14px;padding:10px 16px;font-size:14px}
.brand-menu a{padding:12px 8px}
.brand-nav a:focus-visible,.brand-nav button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}

/* ============ Puente al catálogo, en la web ============ */
.unified-website .btn-primary{color:var(--brand-cream);background:var(--brand-accent)}
.unified-website .btn-primary:hover{background:var(--wine-400)}
.catalogue-contact-bridge{padding:40px;background:var(--brand-cream);color:var(--brand-ink);border-top:2px solid var(--brand-accent);box-shadow:inset 0 0 0 1px var(--brand-line);border-radius:var(--r-doc)}
.catalogue-contact-bridge .eyebrow{color:var(--brand-accent)}
.catalogue-contact-bridge .eyebrow::before{background:var(--brand-accent)}
.catalogue-contact-bridge h3{font-size:30px;line-height:1.1;letter-spacing:-.03em;margin:16px 0 22px;color:var(--brand-ink)}
.catalogue-contact-bridge p{margin-bottom:22px;color:var(--on-cream-dim)}
.catalogue-contact-bridge .btn-primary{background:var(--brand-accent);color:var(--brand-cream)}
.catalogue-contact-bridge .btn-primary:hover{background:var(--wine-400)}
.bridge-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px}
.catalogue-contact-bridge .btn{justify-content:center;min-height:48px;text-align:center}
.catalogue-contact-bridge .btn-anthracite{background:var(--ink-700);color:var(--brand-cream)}
.catalogue-contact-bridge .btn-anthracite:hover{background:var(--ink-900)}
.catalogue-contact-bridge a:focus-visible,.contact-card-switch button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:5px}
.contact-card{margin-top:32px;padding-top:26px;border-top:1px solid var(--brand-line)}
.contact-card-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:20px}
.contact-card-heading h4{margin:0;font-size:20px;font-weight:600;letter-spacing:-.025em;line-height:1.25}
.contact-card-switch{display:flex;gap:4px;padding:3px;border:1px solid var(--brand-line);border-radius:5px}
.contact-card-switch[hidden],.contact-card-face[hidden]{display:none}
.contact-card-switch button{min-height:38px;padding:8px 12px;border-radius:3px;font-size:12px;font-weight:600;color:var(--ink-700)}
.contact-card-switch button[aria-pressed="true"]{background:var(--ink-700);color:var(--brand-cream)}
.contact-card-face{width:100%;max-width:420px;margin:0 auto 20px}
.contact-card-face a{display:block}
.contact-card-face img{display:block;width:100%;height:auto;box-shadow:0 8px 20px rgba(25,22,24,.12)}
.contact-card-download{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.contact-card-download>span{font-size:12px;line-height:1.5;color:var(--on-cream-dim)}
@media(max-width:480px){
  .bridge-actions{flex-direction:column}
  .bridge-actions .btn,.contact-card-download .btn{width:100%;padding-inline:16px}
  .contact-card-heading{align-items:flex-start;flex-direction:column}
  .contact-card-switch button{min-height:44px}
  .contact-card-download{flex-direction:column;align-items:flex-start;gap:10px}
}

@media(max-width:760px){
  .brand-nav{top:10px;width:calc(100% - 28px);justify-content:space-between;padding:8px 10px 8px 16px;gap:8px}
  .brand-links{display:none}
  .brand-menu-button{display:block}
  .brand-cta{font-size:12px;padding:10px 13px}
  .brand-wordmark{font-size:17px}
  .catalogue-contact-bridge{padding:26px}
}
@media(max-width:380px){
  .brand-nav{gap:6px;padding-inline:10px}
  .brand-wordmark{font-size:16px}
    .brand-menu-button{padding:6px;font-size:12px}
  .brand-cta{font-size:11px;padding:10px 12px}
}

@media(prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:brand-fade-out .18s ease both}
  ::view-transition-new(root){animation:brand-fade-in .35s ease both}
  @keyframes brand-fade-out{to{opacity:0}}
  @keyframes brand-fade-in{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .unified-website .r,.unified-website .glass-cell,.unified-website .exc-card,.unified-website .stat-cell{opacity:1!important;transform:none!important}
  .unified-website .scale-title,.unified-website .stack-card{transform:none!important}
}
@media print{.brand-nav{display:none!important}}

/* Logo original aportado por el usuario: imagen intacta, escala uniforme. */
.brand-wordmark .brand-logo-original{display:block;width:124px;height:auto;max-height:46px;object-fit:contain;flex-shrink:0;filter:none;transform:none}
.footer-logo-original{display:block;width:155px;height:auto;object-fit:contain;filter:none;transform:none}
.page-head img.logo{filter:none!important;height:auto;object-fit:contain}
@media(max-width:600px){.brand-wordmark .brand-logo-original{width:106px;max-height:38px}}

/* Tarjeta de contacto: una flecha curva gira la tarjeta (anverso ↔ reverso) */
.contact-card-flip{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--brand-line);border-radius:50%;background:transparent;color:var(--ink-700);cursor:pointer;transition:background .2s,color .2s}
.contact-card-flip[hidden]{display:none}
.contact-card-flip svg{display:block;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.contact-card-flip.is-turned svg{transform:rotate(180deg)}
.contact-card-flip:hover{background:var(--ink-700);color:var(--brand-cream)}
.contact-card-flip:focus-visible{outline:2px solid var(--brand-accent);outline-offset:5px}
.contact-card-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.contact-card-face.is-flipping{animation:cardTurn .5s cubic-bezier(.2,.7,.2,1)}
@keyframes cardTurn{from{opacity:0;transform:perspective(900px) rotateY(-70deg)}to{opacity:1;transform:none}}
@media(max-width:480px){.contact-card-heading{flex-direction:row;align-items:center}}
@media(prefers-reduced-motion:reduce){.contact-card-flip,.contact-card-flip svg{transition:none}.contact-card-face.is-flipping{animation:none}}
