/* =========================================================
   CLUB DE VENTAS — Design System
   Tokens + componentes base compartidos por todas las páginas.
   ========================================================= */

:root{
  /* ---- Color: marca real (logo) = rojo + blanco. Un solo acento, sin excepción ---- */
  --ink:#1A1418;               /* texto principal, con un pelo de calidez hacia el rojo */
  --ink-soft:#5C5459;          /* texto secundario */
  --ink-faint:#948C90;         /* texto terciario / meta */
  --paper:#FFFFFF;             /* fondo blanco: "más amigable" */
  --surface:#FFFFFF;
  --header-bg:#1A1418;

  --primary:#E11242;           /* rojo de marca (muestreado del logo), ÚNICO color de botón/CTA */
  --primary-dark:#AF0E33;
  --primary-soft:#FCECEF;

  --accent:#E11242;            /* mismo rojo: precio, badges, eyebrows (sin segundo acento) */
  --accent-dark:#AF0E33;
  --accent-soft:#FCECEF;

  --success:#3FA345;           /* verde neutro, solo para checkmarks (no compite como acento de marca) */
  --success-soft:#EBF6EC;

  --line:rgba(26,20,24,.08);
  --line-soft:rgba(26,20,24,.05);

  /* ---- Radios ---- */
  --r-lg:28px;
  --r-md:20px;
  --r-sm:14px;
  --r-pill:999px;

  /* ---- Sombras difusas, multi-capa ---- */
  --shadow-soft:0 1px 2px rgba(20,22,30,.04), 0 8px 24px rgba(20,22,30,.05), 0 32px 64px rgba(20,22,30,.05);
  --shadow-lift:0 2px 6px rgba(20,22,30,.06), 0 20px 48px rgba(20,22,30,.10);

  /* ---- Movimiento ---- */
  --ease:cubic-bezier(.32,.72,0,1);

  /* ---- Tipografía ---- */
  --font-head:'Montserrat',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--surface);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-head);text-wrap:balance;line-height:1.15;letter-spacing:-.01em;}
.container{max-width:1200px;margin:0 auto;padding:0 28px;}
section{padding:120px 0;}
@media (max-width:768px){
  section{padding:64px 0;}
  .container{padding:0 20px;}
}

/* ===== Eyebrow — usar con moderación: máx. 1 cada 3 secciones ===== */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-dark);background:var(--accent-soft);
  padding:7px 16px;border-radius:var(--r-pill);margin-bottom:20px;
  border:1px solid rgba(225,18,66,.14);
}
.eyebrow.on-dark{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);}

.section-head{max-width:640px;margin:0 auto 64px;text-align:center;}
.section-head h2{font-size:clamp(28px,3.6vw,42px);font-weight:800;margin-bottom:16px;}
.section-head p{color:var(--ink-soft);font-size:17px;}

/* ===== Botones — único color de acción, arquitectura botón-en-botón ===== */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:12px;
  padding:17px 12px 17px 30px;border-radius:var(--r-pill);
  font-family:var(--font-head);font-weight:700;font-size:15.5px;
  border:1px solid transparent;cursor:pointer;min-height:52px;
  transition:transform 140ms var(--ease), box-shadow 220ms var(--ease), background 220ms var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.btn:active{transform:scale(.97);transition-duration:120ms;}
.btn .icon-wrap{
  flex:none;width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:transform 220ms var(--ease);
}
@media (hover:hover) and (pointer:fine){
  .btn:hover .icon-wrap{transform:translate(2px,-2px) scale(1.06);}
}

.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(225,18,66,.30);}
.btn-primary .icon-wrap{background:rgba(255,255,255,.16);}
.btn-primary:hover{background:var(--primary-dark);box-shadow:0 14px 32px rgba(225,18,66,.38);}

.btn-ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.22);padding-right:30px;}
.btn-ghost-dark:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);}

.btn-ghost-light{background:transparent;color:var(--ink);border-color:var(--line);padding-right:30px;}
.btn-ghost-light:hover{background:var(--paper);border-color:rgba(21,23,28,.18);}

.btn-outline-primary{background:transparent;color:var(--primary);border-color:rgba(225,18,66,.35);padding-right:30px;}
.btn-outline-primary:hover{background:var(--primary-soft);border-color:var(--primary);}

.btn-block{width:100%;justify-content:space-between;}

/* ===== Doble marco (Doppelrand) para tarjetas premium ===== */
.bezel{
  padding:7px;border-radius:calc(var(--r-lg) + 7px);
  background:linear-gradient(180deg, rgba(21,23,28,.045), rgba(21,23,28,.01));
  border:1px solid var(--line-soft);
}
.bezel-inner{
  border-radius:var(--r-lg);background:#fff;padding:36px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), var(--shadow-soft);
}
.bezel.on-dark{background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.015));border-color:rgba(255,255,255,.08);}
.bezel.on-dark .bezel-inner{background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:#fff;}

/* ===== Reveal on scroll: visible por defecto, JS agrega .oculto ===== */
.reveal-init.oculto{
  opacity:0;filter:blur(6px);transform:translateY(26px);
  transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease);
}
.reveal-init.oculto.visible{opacity:1;filter:blur(0);transform:none;}
.reveal-init[style*="--i"]{transition-delay:calc(var(--i,0) * 70ms);}

@media (prefers-reduced-motion: reduce){
  .reveal-init.oculto,
  .btn, .btn .icon-wrap, .nav-toggle span, nav.main-nav, nav.main-nav a{
    transition-duration:1ms !important;
  }
  .reveal-init.oculto{opacity:1;filter:none;transform:none;}
}

/* ===== Servicios: lista dividida en vez de 3 tarjetas idénticas ===== */
.serv-list{border-top:1px solid var(--line);}
.serv-row{
  display:grid;grid-template-columns:64px 1.3fr 1fr auto;gap:28px;align-items:center;
  padding:32px 0;border-bottom:1px solid var(--line);
}
.serv-row .serv-num{font-family:var(--font-head);font-weight:800;font-size:14px;color:var(--primary);}
.serv-row h3{font-size:19px;font-weight:700;}
.serv-row p{color:var(--ink-soft);font-size:14.5px;}
@media (max-width:820px){
  .serv-row{grid-template-columns:1fr;gap:12px;padding:26px 0;}
  .serv-row .serv-num{font-size:12px;}
}

/* ===== Testimonios: cita destacada (rompe el zigzag en el 3er bloque) ===== */
.pull-quote{text-align:center;max-width:760px;margin:0 auto;}
.pull-quote .stars{justify-content:center;display:flex;}
.pull-quote .test-quote{font-size:24px;margin-bottom:24px;}
.pull-quote .test-name{font-size:15px;}

/* ===== Placeholder de imagen (hasta reemplazar por fotos reales) ===== */
.ph-img{
  position:relative;overflow:hidden;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;
  font-family:var(--font-head);font-weight:700;
  background:linear-gradient(155deg,#1c2029,#3a4150);
}
.ph-img span{font-size:12.5px;font-weight:600;padding:0 16px;opacity:.75;font-family:var(--font-body);}
.ph-img svg{width:26px;height:26px;opacity:.55;margin-bottom:8px;}

/* ===== Header ===== */
header.site-header{
  position:sticky;top:0;z-index:999;
  background:rgba(20,22,27,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;gap:24px;max-width:1200px;margin:0 auto;}
.logo-wrap{display:flex;align-items:center;gap:12px;color:#fff;}
.logo-mark{
  height:36px;width:auto;display:block;border-radius:8px;flex:none;
}
.logo-text-group{display:flex;flex-direction:column;line-height:1.15;}
.logo-text{font-family:var(--font-head);font-weight:800;font-size:17px;letter-spacing:-.01em;}
.logo-tagline{font-size:10.5px;color:rgba(255,255,255,.5);font-weight:500;letter-spacing:.02em;}
nav.main-nav{display:flex;align-items:center;gap:34px;}
nav.main-nav a{color:rgba(255,255,255,.78);font-weight:600;font-size:14.5px;transition:color .25s;}
nav.main-nav a:hover{color:#fff;}
.header-cta .btn{padding:12px 10px 12px 22px;font-size:13.5px;min-height:auto;}
.header-cta .btn .icon-wrap{width:26px;height:26px;}
.nav-toggle{display:none;background:none;border:0;color:#fff;cursor:pointer;width:36px;height:36px;position:relative;}
.nav-toggle span{position:absolute;left:8px;right:8px;height:2px;background:#fff;border-radius:2px;transition:transform .4s var(--ease), opacity .3s;}
.nav-toggle span:nth-child(1){top:13px;}
.nav-toggle span:nth-child(2){top:20px;}
.nav-toggle span:nth-child(3){top:27px;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:1040px){
  nav.main-nav{
    position:absolute;top:100%;left:0;right:0;background:rgba(20,22,27,.98);backdrop-filter:blur(16px);
    flex-direction:column;align-items:flex-start;padding:8px 28px 26px;gap:18px;
    max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease), opacity .4s var(--ease);
  }
  nav.main-nav.open{max-height:400px;opacity:1;}
  nav.main-nav a{opacity:0;transform:translateY(14px);transition:opacity .4s var(--ease), transform .4s var(--ease);}
  nav.main-nav.open a{opacity:1;transform:none;}
  nav.main-nav.open a:nth-child(1){transition-delay:.08s;}
  nav.main-nav.open a:nth-child(2){transition-delay:.13s;}
  nav.main-nav.open a:nth-child(3){transition-delay:.18s;}
  nav.main-nav.open a:nth-child(4){transition-delay:.23s;}
  nav.main-nav.open a:nth-child(5){transition-delay:.28s;}
  .nav-toggle{display:block;}
  .header-cta .btn span.long{display:none;}
}

/* ===== Footer ===== */
footer.site-footer{background:var(--header-bg);color:rgba(255,255,255,.6);padding:88px 0 28px;}

/* ---- Footer: formulario de contacto ---- */
.footer-contact{
  display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;
  padding-bottom:64px;margin-bottom:64px;border-bottom:1px solid rgba(255,255,255,.08);
}
@media (max-width:820px){.footer-contact{grid-template-columns:1fr;gap:36px;}}
.footer-contact-info h3{color:#fff;font-size:clamp(24px,3vw,30px);font-weight:800;margin-bottom:12px;}
.footer-contact-info p{font-size:15px;color:rgba(255,255,255,.6);margin-bottom:22px;max-width:340px;}
.footer-email{
  display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:var(--font-head);font-weight:700;font-size:17px;
  padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.25);transition:border-color .2s;
}
.footer-email:hover{border-color:var(--primary);}
.contact-form{display:flex;flex-direction:column;gap:14px;}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:520px){.contact-form .form-row{grid-template-columns:1fr;}}
.contact-form input,.contact-form textarea{
  width:100%;padding:14px 18px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);color:#fff;font-size:14.5px;font-family:var(--font-body);resize:vertical;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.4);}
.contact-form .btn{align-self:flex-start;margin-top:4px;}

.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;margin-bottom:64px;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-col h4{color:#fff;font-family:var(--font-head);font-size:12.5px;margin-bottom:20px;text-transform:uppercase;letter-spacing:.12em;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-col a{color:rgba(255,255,255,.6);font-size:14px;transition:color .2s;}
.footer-col a:hover{color:#fff;}
.footer-about p{font-size:14px;color:rgba(255,255,255,.55);margin-bottom:22px;max-width:320px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);padding-top:26px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;font-size:12.5px;color:rgba(255,255,255,.4);
}
.footer-bottom a{color:rgba(255,255,255,.4);}
.footer-bottom a:hover{color:#fff;}

/* =========================================================
   BLOG — plantilla de artículo + listado (compartido por
   todas las entradas del blog, no duplicar por post).
   ========================================================= */

/* ---- Breadcrumb ---- */
.breadcrumb{font-size:13px;color:var(--ink-faint);margin-bottom:28px;}
.breadcrumb a{color:var(--ink-faint);}
.breadcrumb a:hover{color:var(--primary);}
.breadcrumb .sep{margin:0 8px;opacity:.5;}

/* ---- Cabecera de artículo ---- */
.article-head{padding:56px 0 0;}
.article-head .container{max-width:820px;}
.article-title{font-size:clamp(32px,5vw,48px);font-weight:800;margin:18px 0 26px;line-height:1.15;color:var(--ink);}
.article-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:44px;}
.article-meta .avatar-ph{width:40px;height:40px;font-size:13px;}
.article-meta-text{font-size:14px;color:var(--ink-soft);}
.article-meta-text strong{color:var(--ink);font-weight:700;}
.read-time{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--primary);
  background:var(--primary-soft);padding:6px 12px;border-radius:var(--r-pill);
}

.article-featured{max-width:980px;margin:0 auto;padding:0 28px 56px;}
.article-featured .ph-img{height:440px;border-radius:var(--r-lg);}
@media (max-width:768px){.article-featured .ph-img{height:260px;}}

/* ---- Cuerpo de artículo ---- */
.article-body{max-width:720px;margin:0 auto;padding:0 28px 72px;font-size:17px;line-height:1.8;color:var(--ink-soft);}
.article-body p{margin-bottom:22px;}
.article-body h2{font-size:28px;font-weight:800;color:var(--ink);margin:52px 0 20px;line-height:1.25;}
.article-body h3{font-size:20px;font-weight:700;color:var(--ink);margin:32px 0 14px;}
.article-body ul,.article-body ol{margin:0 0 22px 22px;display:flex;flex-direction:column;gap:10px;}
.article-body a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.article-body strong{color:var(--ink);}
.article-body blockquote{
  margin:36px 0;padding:28px 32px;border-left:3px solid var(--primary);background:var(--paper);
  border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:19px;font-style:italic;color:var(--ink);
}
.article-inline-img{margin:40px 0;}
.article-inline-img .ph-img{height:280px;}
.article-inline-img figcaption{font-size:13px;color:var(--ink-faint);margin-top:10px;text-align:center;}

/* ---- CTA dentro del artículo ---- */
.article-cta{max-width:720px;margin:0 auto 72px;padding:0 28px;}
.article-cta .bezel-inner{padding:44px 36px;background:linear-gradient(150deg,var(--primary),var(--primary-dark));color:#fff;text-align:center;box-shadow:none;}
.article-cta h3{font-size:24px;margin-bottom:10px;}
.article-cta p{color:rgba(255,255,255,.82);margin-bottom:24px;font-size:15px;}

/* ---- Tags + caja de autor ---- */
.article-tags{display:flex;gap:10px;flex-wrap:wrap;max-width:720px;margin:0 auto 40px;padding:0 28px;}
.article-tags a{
  font-size:12.5px;font-weight:600;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);
  padding:7px 14px;border-radius:var(--r-pill);
}
.article-tags a:hover{color:var(--primary);border-color:var(--primary);}

.author-box{max-width:720px;margin:0 auto 72px;padding:0 28px;}
.author-box .bezel-inner{display:flex;gap:18px;align-items:center;padding:28px;}
.author-box .avatar-ph{width:56px;height:56px;font-size:18px;flex:none;}
.author-box h4{font-size:15px;margin-bottom:4px;}
.author-box p{font-size:13.5px;color:var(--ink-soft);margin:0;}

.related-wrap{max-width:1200px;margin:0 auto;padding:0 28px;}

/* ---- Listado del blog (/blog) ---- */
.blog-hero{background:var(--paper);text-align:center;padding-bottom:64px;}
.blog-hero .section-head{margin-bottom:0;}

.category-filter{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:36px 0 0;}
.category-filter a{
  font-size:13.5px;font-weight:700;color:var(--ink-soft);background:#fff;border:1px solid var(--line);
  padding:10px 20px;border-radius:var(--r-pill);transition:background .2s,color .2s,border-color .2s;
}
.category-filter a:hover{border-color:var(--primary);color:var(--primary);}
.category-filter a.active{background:var(--primary);border-color:var(--primary);color:#fff;}

.featured-post{margin-bottom:56px;}
.featured-post .bezel-inner{padding:0;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;}
@media (max-width:820px){.featured-post .bezel-inner{grid-template-columns:1fr;}}
.featured-post .ph-img{border-radius:0;height:100%;min-height:280px;}
.featured-post-body{padding:40px;display:flex;flex-direction:column;justify-content:center;}
.featured-post-body h2{font-size:26px;margin:14px 0 14px;line-height:1.3;}
.featured-post-body p{font-size:15px;color:var(--ink-soft);margin-bottom:22px;}

.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:56px;}
.pagination a{
  min-width:42px;height:42px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--ink-soft);
  transition:background .2s,color .2s,border-color .2s;
}
.pagination a.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.pagination a:hover:not(.active){border-color:var(--primary);color:var(--primary);}
.pagination a.disabled{opacity:.35;pointer-events:none;}

/* =========================================================
   PÁGINAS INTERNAS: servicios, nosotros, contacto, legales
   ========================================================= */
nav.main-nav a[aria-current="page"]{color:#fff;}
.page-hero{background:var(--paper);text-align:center;padding:72px 0 64px;}
.page-hero .section-head{margin-bottom:0;}
.page-hero .section-head h1{font-size:clamp(30px,4.4vw,46px);font-weight:800;margin-bottom:16px;}
.page-hero .section-head p{max-width:600px;margin:0 auto;}

/* ---- Servicios: detalle ---- */
.svc-stack{display:flex;flex-direction:column;gap:28px;}
.svc-detail .bezel-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;padding:44px;}
@media (max-width:820px){.svc-detail .bezel-inner{grid-template-columns:1fr;gap:28px;padding:30px;}}
.svc-detail .svc-tag{font-family:var(--font-head);font-weight:800;font-size:12px;color:var(--primary);letter-spacing:.06em;}
.svc-detail h2{font-size:26px;margin:10px 0 14px;}
.svc-detail p{color:var(--ink-soft);font-size:15px;margin-bottom:18px;}
.svc-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.svc-meta span{font-size:12.5px;font-weight:600;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);padding:6px 12px;border-radius:var(--r-pill);}
.svc-inc h3{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:16px;font-family:var(--font-head);}
.svc-inc ul{list-style:none;display:flex;flex-direction:column;gap:14px;}
.svc-inc li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--ink);}
.svc-inc li::before{content:'\2713';flex:none;width:22px;height:22px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px;}

.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:step;}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.steps{grid-template-columns:1fr;}}
.steps li{counter-increment:step;border-top:2px solid var(--line);padding-top:22px;}
.steps li::before{content:counter(step,decimal-leading-zero);font-family:var(--font-head);font-weight:800;font-size:13px;color:var(--primary);display:block;margin-bottom:14px;}
.steps h3{font-size:17px;margin-bottom:8px;}
.steps p{font-size:14px;color:var(--ink-soft);}

.faq{max-width:760px;margin:0 auto;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);padding:22px 0;}
.faq summary{cursor:pointer;list-style:none;font-family:var(--font-head);font-weight:700;font-size:16.5px;display:flex;justify-content:space-between;gap:20px;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';font-size:22px;color:var(--primary);transition:transform 220ms var(--ease);}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{margin-top:14px;color:var(--ink-soft);font-size:15px;}

/* ---- Formularios en fondo claro ---- */
.form-light{display:flex;flex-direction:column;gap:14px;}
.form-light .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:520px){.form-light .form-row{grid-template-columns:1fr;}}
.form-light label.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink);}
.form-light input,.form-light select,.form-light textarea{
  width:100%;padding:14px 16px;border-radius:var(--r-sm);border:1px solid rgba(26,20,24,.18);background:#fff;color:var(--ink);
  font-size:15px;font-family:var(--font-body);font-weight:400;resize:vertical;
}
.form-light input:focus,.form-light select:focus,.form-light textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary);}
.form-light .check-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink-soft);}
.form-light .check-row input{width:auto;margin-top:3px;}
.form-light .check-row a{color:var(--primary);text-decoration:underline;}
.form-light .btn{align-self:flex-start;}
.form-card .bezel-inner{padding:40px;}
@media (max-width:520px){.form-card .bezel-inner{padding:26px;}}
.form-card h2{font-size:24px;margin-bottom:8px;}
.form-card > .bezel-inner > p{color:var(--ink-soft);font-size:14.5px;margin-bottom:26px;}

/* ---- Contacto ---- */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:36px;}}
.contact-side h2{font-size:26px;margin-bottom:14px;}
.contact-side p{color:var(--ink-soft);font-size:15px;margin-bottom:26px;}
.contact-side .footer-email{color:var(--ink);border-bottom-color:rgba(26,20,24,.25);}
.contact-note{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-soft);}
.contact-note a{color:var(--primary);font-weight:600;text-decoration:underline;}

/* ---- Sobre nosotros ---- */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media (max-width:820px){.about-split{grid-template-columns:1fr;gap:32px;}}
.about-split .about-img{height:420px;border-radius:var(--r-lg);background-size:cover;background-position:center 30%;}
@media (max-width:820px){.about-split .about-img{height:280px;}}
.about-split h2{font-size:clamp(26px,3.2vw,34px);margin-bottom:18px;}
.about-split p{color:var(--ink-soft);font-size:16px;margin-bottom:18px;}
.principles{max-width:820px;margin:0 auto;border-top:1px solid var(--line);}
.principle{display:grid;grid-template-columns:.7fr 1.3fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--line);}
@media (max-width:700px){.principle{grid-template-columns:1fr;gap:10px;}}
.principle h3{font-size:19px;}
.principle p{color:var(--ink-soft);font-size:15px;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:820px){.team-grid{grid-template-columns:1fr;}}
.team-card .ph-img{height:260px;border-radius:var(--r-md);margin-bottom:16px;}
.team-card h3{font-size:17px;}
.team-card p{font-size:14px;color:var(--ink-soft);}

/* ---- Páginas legales ---- */
.legal{max-width:760px;margin:0 auto;padding:0 28px 96px;font-size:16px;line-height:1.8;color:var(--ink-soft);}
.legal h2{font-size:22px;font-weight:800;color:var(--ink);margin:44px 0 14px;}
.legal p{margin-bottom:16px;}
.legal ul{margin:0 0 18px 22px;display:flex;flex-direction:column;gap:8px;}
.legal a{color:var(--primary);text-decoration:underline;font-weight:600;}
.legal .upd{font-size:13px;color:var(--ink-faint);margin-bottom:32px;}
.legal mark{background:var(--primary-soft);color:var(--primary-dark);padding:1px 6px;border-radius:4px;font-weight:600;}

/* ---- Home: franja de confianza (reemplaza testimonios sin verificar) ---- */
.trust-strip{background:var(--paper);}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media (max-width:820px){.trust-grid{grid-template-columns:1fr;}}
.trust-card{padding:8px 0;}
.trust-card .icon-badge{width:52px;height:52px;border-radius:14px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.trust-card .icon-badge svg{width:24px;height:24px;}
.trust-card h3{font-size:18px;margin-bottom:8px;}
.trust-card p{font-size:14.5px;color:var(--ink-soft);}
