/* EVENOR — estilos comunes a todas las plantillas (generado desde mockups/, luego editado a mano) */
:root{--burdeos:#7a263f; --burdeos-dark:#5e1c30; --ink:#3f3e3e; --gold:#c4a26e; --teal:#2f524d; --beige:#f5eee9; --line:#ececec; --line-warm:#e3d8cc; --muted:#6f6c6c; --muted-2:#8a8684; --muted-3:#9a9694; --ease-out:cubic-bezier(.22,1,.36,1); --ease-sweep:cubic-bezier(.5,0,.2,1);}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Roboto',sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p,li{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
img{max-width:100%}
::selection{background:var(--burdeos);color:#fff}
a{color:inherit}
:focus-visible{outline:2px solid var(--burdeos);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--burdeos);color:#fff;padding:10px 18px;z-index:200;font-family:'Roboto Condensed',sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:14px;text-decoration:none}
.skip-link:focus{left:12px;top:12px}
.wrap{max-width:1280px;margin:0 auto;padding-left:40px;padding-right:40px}
.wrap-narrow{max-width:1080px;margin:0 auto;padding-left:40px;padding-right:40px}
.eyebrow{display:flex;align-items:center;gap:13px}
.eyebrow .tick{width:34px;height:1px;background:var(--burdeos);flex:none}
.eyebrow .txt{font-family:'Roboto Condensed',sans-serif;font-size:22px;letter-spacing:.18em;text-transform:uppercase;color:var(--burdeos);text-wrap:balance}
.eyebrow.on-dark .tick{background:var(--gold)}
.eyebrow.on-dark .txt{color:var(--gold)}
.h-display{font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:clamp(30px,4.4vw,54px);line-height:1.06;text-transform:uppercase;color:var(--ink)}
.h-mid{font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.12;text-transform:uppercase;color:var(--ink)}
.kicker{font-family:'Roboto Condensed',sans-serif;font-size:22px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.body-txt{font-size:16px;line-height:1.75;color:var(--muted);font-weight:300}
.dash-list{list-style:none;display:grid;gap:10px}
.dash-list li{display:flex;gap:12px;font-size:16px;line-height:1.6;color:var(--muted);font-weight:300}
.dash-list li>span{color:var(--burdeos);flex:none}
.btn{display:inline-block;text-decoration:none;font-family:'Roboto Condensed',sans-serif;font-size:16px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.btn-fill{position:relative;overflow:hidden;z-index:0;background:var(--burdeos);color:#fff;padding:16px 30px;font-weight:500;border:none}
.btn-fill::before{content:"";position:absolute;inset:0;background:var(--burdeos-dark);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-sweep);z-index:-1}
.btn-fill:hover::before,.btn-fill:focus-visible::before{transform:scaleX(1)}
.btn-fill.teal{background:var(--teal)}
.btn-fill.teal::before{background:#24413d}
.btn-ghost{border:1px solid #d7cfc6;color:var(--ink);padding:16px 30px;transition:background .4s ease,color .4s ease,border-color .4s ease}
.btn-ghost:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-ghost.on-dark{border-color:rgba(255,255,255,.45);color:#fff}
.btn-ghost.on-dark:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
#site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--line);transition:box-shadow .45s ease}
#site-header.scrolled{box-shadow:0 6px 26px rgba(63,62,62,.08)}
#site-header-inner{max-width:1280px;margin:0 auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;gap:36px;transition:padding .45s ease}
#site-header.scrolled #site-header-inner{padding:11px 40px}
.logo-link{display:flex;align-items:center;text-decoration:none}
.logo-link img{height:62px;width:auto;display:block;transition:height .45s ease}
#site-header.scrolled .logo-link img{height:46px}
.main-nav{display:flex;align-items:center;gap:16px;white-space:nowrap;font-family:'Roboto Condensed',sans-serif;font-size:16px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.navlink{position:relative;text-decoration:none;color:inherit}
.navlink::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:var(--burdeos);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
.navlink:hover::after,.navlink:focus-visible::after{transform:scaleX(1);transform-origin:left}
.btn-nav{padding:11px 20px;letter-spacing:.13em}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--burdeos);transform:scaleX(0);transform-origin:left;pointer-events:none}
.burger{display:none;background:none;border:none;cursor:pointer;padding:10px;margin-right:-10px}
.burger span{display:block;width:26px;height:2px;background:var(--ink);margin:6px 0;transition:transform .35s ease,opacity .35s ease}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:90;background:#fff;padding:140px 40px 40px;display:flex;flex-direction:column;gap:26px;overflow-y:auto}
.mobile-nav[hidden]{display:none}
.mobile-nav a{font-family:'Roboto Condensed',sans-serif;font-size:28px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:18px}
.mobile-nav .btn-fill{align-self:flex-start;margin-top:10px;border-bottom:none;font-size:16px}
.figure{position:relative;overflow:hidden;background:var(--beige)}
.fig-media{position:absolute;left:0;right:0;top:-34px;bottom:-34px;will-change:transform}
.fig-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--ease-out)}
.figure:hover .fig-media img{transform:scale(1.05)}
.fig-frame{position:absolute;inset:16px;border:1px solid rgba(255,255,255,.35);pointer-events:none;transition:inset .8s var(--ease-out)}
.figure:hover .fig-frame{inset:10px}
.ln{display:block;overflow:hidden}
.ln>span{display:block;transform:none}
footer{background:var(--ink);color:#fff;padding:80px 0 36px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-grid img{width:210px;height:auto;display:block;margin-bottom:24px}
.footer-desc{font-size:16px;line-height:1.7;color:rgba(255,255,255,.6);max-width:300px;font-weight:300}
.footer-col-title{font-family:'Roboto Condensed',sans-serif;font-size:16px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer-links{display:grid;gap:11px;font-size:16px;color:rgba(255,255,255,.72)}
.footer-links a{color:inherit;text-decoration:none;transition:color .3s ease}
.footer-links a:hover{color:#fff}
.footer-txt{font-size:16px;line-height:1.7;color:rgba(255,255,255,.72);font-weight:300}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:28px;font-size:16px;color:rgba(255,255,255,.45)}
.footer-bottom a{color:inherit;text-decoration:none}
.footer-bottom a:hover{color:rgba(255,255,255,.8)}
@media (prefers-reduced-motion: no-preference){
  @keyframes ev-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  @keyframes ev-line{from{transform:translateY(112%)}to{transform:none}}
  @keyframes ev-fade{from{opacity:0}to{opacity:1}}
  html.js .ln>span{animation:ev-line 1s var(--ease-out) both}
  html.js .hero-in{animation:ev-rise .9s var(--ease-out) both}
  html.js .hero-in.d0{animation-delay:.10s}
  html.js.io .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s var(--ease-out)}
  html.js.io .reveal.in{opacity:1;transform:none}
  html.js.io .rv-d1{transition-delay:.12s}
  html.js.io .rv-d2{transition-delay:.24s}
  html.js.io .rv-d3{transition-delay:.36s}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

@media (max-width:880px){
  .hide-m{display:none!important}
  .main-nav{display:none}
  .burger{display:block}
  .logo-link img{height:48px}
  #site-header.scrolled .logo-link img{height:40px}
  .wrap,.wrap-narrow{padding-left:24px;padding-right:24px}
  .footer-grid{grid-template-columns:1fr}
}

/* Formulario de contacto (Home y Contacto): estado de envío, errores y campo trampa */
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{font-size:15px;line-height:1.55;color:var(--teal);min-height:0}
.form-status:empty{display:none}
.form-status.is-error{color:var(--burdeos)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-bottom-color:var(--burdeos)}
.form-card .btn-fill[disabled]:not(.sent){opacity:.7;cursor:progress}

/* Sección actual en el menú (la Home no marca ninguna) */
.navlink[aria-current="page"]{color:var(--burdeos)}
.navlink[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.mobile-nav a[aria-current="page"]{color:var(--burdeos)}
