/* ==========================================================================
   CANTABRIA MARKETING — Hoja de estilos principal
   Paleta: crema / coral / verde bosque / salvia / mostaza
   Tipografía: Bricolage Grotesque
   ========================================================================== */

:root{
  --cream:#FBF5EC;
  --coral:#FF6B4D;
  --coral-deep:#E85A3D;
  --forest:#1E3D34;
  --sage:#D9E8DD;
  --marigold:#F4B740;
  --ink-soft: rgba(30,61,52,.7);
  --line: rgba(30,61,52,.14);
  --maxw: 1240px;
  --gutter: clamp(22px, 5vw, 76px);
  --radius: 28px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{ margin:0; background:var(--cream); color:var(--forest); font-family:"Bricolage Grotesque", sans-serif; font-optical-sizing:auto; -webkit-font-smoothing:antialiased; }
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
section{position:relative;}
.wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}
em{font-style:italic; font-weight:500; color:var(--coral);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

.eyebrow{ display:inline-flex; align-items:center; gap:9px; font-size:13px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--coral-deep); margin-bottom:16px; }
.eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--coral); display:inline-block; }
.eyebrow.light{ color:var(--marigold); }
.eyebrow.light::before{ background:var(--marigold); }
.eyebrow.center{ justify-content:center; width:100%; }

.btn{ display:inline-flex; align-items:center; gap:10px; padding:16px 30px; border-radius:999px; font-weight:700; font-size:15px; border:2px solid var(--forest); background:transparent; color:var(--forest); transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.btn:hover{ transform:translateY(-2px); }
.btn-solid{ background:var(--coral); border-color:var(--coral); color:#fff; box-shadow:0 10px 26px rgba(255,107,77,.35); }
.btn-solid:hover{ background:var(--forest); border-color:var(--forest); color:var(--cream); box-shadow:0 10px 26px rgba(30,61,52,.25); }
.btn-outline-light{ border-color:rgba(251,245,236,.6); color:var(--cream); }
.btn-outline-light:hover{ background:var(--cream); color:var(--forest); }
.link-arrow{ font-weight:700; font-size:15px; display:inline-flex; align-items:center; gap:8px; }
.link-arrow span{ transition:transform .2s ease; }
.link-arrow:hover span{ transform:translateX(4px); }

.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-left, .reveal-right{ opacity:0; transition:opacity .7s ease, transform .7s ease; }
.reveal-left{ transform:translateX(-60px); }
.reveal-right{ transform:translateX(60px); }
.reveal-left.in, .reveal-right.in{ opacity:1; transform:translateX(0); }
@media (max-width:600px){ .reveal-left, .reveal-right{ transform:translateY(30px); } }

.photo{ border-radius:var(--radius); overflow:hidden; background:var(--sage); }
.photo img{ width:100%; height:100%; object-fit:cover; display:block; }

.divider-v{ width:1px; background:var(--line); align-self:stretch; }
.section-head{ max-width:660px; margin-bottom:56px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head h2{ font-size:clamp(32px,4.2vw,50px); font-weight:800; letter-spacing:-.02em; margin:0; line-height:1.06; }

/* ==========================================================================
   HEADER + NAV (con desplegable)
   ========================================================================== */
.site-header{ position:sticky; top:0; z-index:100; background:rgba(251,245,236,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.site-nav{ display:flex; align-items:center; justify-content:space-between; padding:14px var(--gutter); max-width:var(--maxw); margin:0 auto; }
.site-logo img{ height:32px; width:auto; display:block; }

.main-menu{ display:flex; align-items:center; gap:6px; }
.main-menu > li{ position:relative; }
/* "Inicio" oculto en escritorio (el logo ya hace esa función) — solo se
   muestra en el menú móvil, ver la media query de abajo. */
.main-menu > li:first-child{ display:none; }
.main-menu > li > a{ display:block; padding:10px 14px; font-weight:600; font-size:14.5px; position:relative; }
.main-menu > li > a::after{ content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px; width:0; background:var(--coral); transition:width .25s ease; }
.main-menu > li > a:hover::after{ width:calc(100% - 28px); }
.main-menu > li.menu-item-has-children > a{ display:inline-flex; align-items:center; gap:6px; }
.main-menu > li.menu-item-has-children > a::before{ content:"▾"; font-size:11px; order:2; }

/* Para los desplegables cuyo propio título SÍ lleva a una página (a diferencia
   de un desplegable puramente de categoría, como "Qué necesitas"): un
   subrayado fino permanente, para que se note que el texto es clicable y no
   solo la flecha. Añade la clase "has-own-page" al elemento de menú en
   Apariencia → Menús → (activa "Clases de CSS" en Opciones de pantalla si no
   la ves) → campo "Clases de CSS (opcional)". */
.main-menu > li.has-own-page > a::after{ width:calc(100% - 28px); opacity:0.45; }
.main-menu > li.has-own-page > a:hover::after{ opacity:1; }
/* El propio texto ya no dispara el desplegable en los que tienen página
   propia — para eso se añade por JS un botón aparte (.submenu-caret), así
   el texto se puede tocar para navegar y el botón para desplegar. */
.main-menu > li.has-own-page > a::before{ display:none; }
.main-menu > li.has-own-page{ display:flex; align-items:center; }
.submenu-caret{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-color:transparent !important; background-image:none !important;
  border:0 !important; box-shadow:none !important; outline:none;
  padding:10px; margin:0; border-radius:50%;
  font: inherit; font-size:12px; line-height:1; color:var(--forest);
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  transition:background-color .2s ease, color .2s ease;
}
.submenu-caret:hover, .submenu-caret:focus-visible{ background-color:rgba(30,61,52,.08) !important; color:var(--coral); }

.sub-menu{
  position:absolute; top:calc(100% + 10px); left:0; min-width:240px;
  background:var(--cream); border-radius:16px; padding:10px;
  box-shadow:0 20px 44px rgba(30,61,52,.18);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:50;
}
.main-menu li.menu-item-has-children:hover > .sub-menu,
.main-menu li.menu-item-has-children:focus-within > .sub-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.sub-menu li a{ display:block; padding:11px 14px; border-radius:10px; font-weight:600; font-size:14px; }
.sub-menu li a:hover{ background:var(--sage); color:var(--forest); }

.nav-cta{ display:flex; align-items:center; gap:16px; }
/* "Cuéntanos tu caso" oculto en escritorio, solo visible en móvil (ver
   media query de abajo). */
.nav-cta > a.btn{ display:none; }
.menu-toggle{ display:none; background:none; border:none; flex-direction:column; gap:5px; padding:6px; }
.menu-toggle span{ width:22px; height:2px; background:var(--forest); display:block; }

@media (max-width:960px){
  .main-menu{ display:none; }
  .menu-toggle{ display:flex; }
  .nav-cta .btn{ padding:11px 18px; font-size:13.5px; white-space:nowrap; }
  .nav-cta > a.btn{ display:inline-flex; } /* en móvil sí se ve */
  .site-header.nav-open .main-menu > li:first-child{ display:block; } /* "Inicio" sí se ve en móvil */
  .site-header.nav-open .main-menu{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    position:absolute; top:100%; left:0; right:0; background:var(--cream);
    padding:10px 20px 20px; border-bottom:1px solid var(--line);
  }
  .site-header.nav-open .main-menu > li > a{ padding:14px 4px; }
  .site-header.nav-open .main-menu > li.has-own-page{ display:flex; flex-wrap:wrap; align-items:center; }
  .site-header.nav-open .main-menu > li.has-own-page > a{ flex:1; order:1; }
  .site-header.nav-open .main-menu > li.has-own-page > .submenu-caret{ order:2; }
  .site-header.nav-open .main-menu > li.has-own-page > .sub-menu{ order:3; flex-basis:100%; width:100%; }
  .site-header.nav-open .submenu-caret{ padding:14px 10px; }
  .site-header.nav-open .sub-menu{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; padding-left:14px; display:none; }
  .site-header.nav-open li.menu-item-has-children.open > .sub-menu{ display:block; }
}
@media (max-width:400px){
  .site-nav{ padding-left:16px; padding-right:16px; }
  .nav-cta{ gap:8px; }
  .nav-cta .btn{ padding:9px 13px; font-size:12px; }
  .site-logo img{ height:26px; }
}

/* ==========================================================================
   HERO base (usado por la portada del blog, home.php)
   ========================================================================== */
.hero{ padding:76px 0 0; text-align:center; }
.hero h1{ font-size:clamp(38px,6.4vw,84px); line-height:1.02; font-weight:800; letter-spacing:-.025em; margin:0 0 24px; max-width:900px; margin-left:auto; margin-right:auto;}
.hero-sub{ font-size:18.5px; line-height:1.6; color:var(--ink-soft); max-width:640px; margin:0 auto 36px; }
.hero-actions{ display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; margin-bottom:70px;}


/* ==========================================================================
   FOOTER + FORMULARIO
   ========================================================================== */
.site-footer{ background:#0B2027; color:var(--cream); padding:90px 0 28px; }
.footer-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.footer-intro .site-logo img{ height:30px; margin-bottom:18px; }
.footer-intro p{ font-size:14.5px; color:rgba(251,245,236,.65); max-width:300px; line-height:1.6; margin:0 0 26px; }
.footer-social{ display:flex; gap:10px; }
.footer-social a{ width:38px; height:38px; border-radius:50%; background:rgba(251,245,236,.1); display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
.footer-social a:hover{ background:var(--coral); }
.footer-social svg{ width:16px; height:16px; fill:var(--cream); }

.footer-cols{ display:flex; gap:60px; flex-wrap:wrap; }
.footer-col h4{ font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--marigold); margin:0 0 20px; }
.footer-col li{ margin-bottom:12px; font-size:14.5px; color:rgba(251,245,236,.78); }
.footer-col li a:hover{ color:var(--marigold); }
.footer-col.contacto li{ display:flex; align-items:flex-start; gap:10px; }
.footer-col.contacto svg{ width:15px; height:15px; fill:var(--marigold); margin-top:3px; flex-shrink:0; }

.footer-form{ padding-bottom:48px; margin-bottom:48px; border-bottom:1px solid rgba(251,245,236,.22); }
.footer-form form{ margin-bottom:8px; }
.footer-form .full:last-child{ margin-top:6px; }
.footer-form h4{ font-size:22px; font-weight:800; margin:0 0 8px; color:var(--cream); }
.footer-form > p{ font-size:14.5px; color:rgba(251,245,236,.65); margin:0 0 28px; max-width:460px; }
.footer-form form{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.footer-form .full{ grid-column:1/-1; }
.footer-form label{ font-size:12px; font-weight:700; letter-spacing:.03em; display:block; margin-bottom:6px; color:rgba(251,245,236,.7); }
.footer-form input, .footer-form textarea{ width:100%; background:rgba(251,245,236,.08); border:1.5px solid rgba(251,245,236,.24); border-radius:12px; padding:12px 14px; color:var(--cream); font-family:inherit; font-size:14.5px; }
.footer-form input::placeholder, .footer-form textarea::placeholder{ color:rgba(251,245,236,.4); }
.footer-form input:focus, .footer-form textarea:focus{ outline:2px solid var(--marigold); outline-offset:1px; border-color:var(--marigold); }
.footer-form textarea{ min-height:90px; resize:vertical; }
.footer-form .consent{ display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:rgba(251,245,236,.7); }
.footer-form .consent input{ width:auto; margin-top:3px; }
.form-notice{ grid-column:1/-1; padding:12px 16px; border-radius:10px; font-size:13.5px; font-weight:600; }
.form-notice.success{ background:rgba(244,183,64,.18); color:var(--marigold); }
.form-notice.error{ background:rgba(255,107,77,.18); color:var(--coral); }

.footer-bottom{ display:flex; justify-content:space-between; padding-top:26px; font-size:12.5px; color:rgba(251,245,236,.5); flex-wrap:wrap; gap:10px; }
.footer-bottom ul{ display:flex; gap:18px; flex-wrap:wrap; }
.footer-bottom a:hover{ color:var(--marigold); }

@media (max-width:860px){
  .footer-grid{ grid-template-columns:1fr; gap:40px; }
  .footer-form form{ grid-template-columns:1fr; }
}

/* ==========================================================================
   BLOG — listado (home.php / archive.php)
   ========================================================================== */
.blog-archive{ padding:110px 0 130px; }
.archive-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:20px; }
.post-card{ display:flex; flex-direction:column; }
.post-card-photo{ aspect-ratio:4/3; margin-bottom:20px; }
.post-card-body .tag{ font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--coral-deep); margin-bottom:10px; display:inline-block; }
.post-card-body h3{ font-size:20px; font-weight:800; line-height:1.28; margin:0 0 10px; letter-spacing:-.01em; }
.post-card-body p{ font-size:14.5px; color:var(--ink-soft); line-height:1.55; margin:0 0 14px; }
.post-card-meta{ font-size:12.5px; font-weight:600; color:var(--ink-soft); opacity:.8; }
@media (max-width:900px){ .archive-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .archive-grid{ grid-template-columns:1fr; } }

.archive-pagination{ display:flex; justify-content:center; gap:14px; margin-top:64px; }
.archive-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; border-radius:999px; font-weight:700; font-size:14px; background:var(--sage); color:var(--forest); }
.archive-pagination .page-numbers.current{ background:var(--coral); color:#fff; }
.archive-pagination .page-numbers:hover{ background:var(--forest); color:var(--cream); }

/* ==========================================================================
   ARTÍCULO INDIVIDUAL (single.php)
   ========================================================================== */
.single-hero{ padding:90px 0 40px; text-align:center; }
.single-hero h1{ font-size:clamp(32px,5vw,56px); font-weight:800; letter-spacing:-.02em; line-height:1.08; max-width:820px; margin:14px auto 18px; }
.single-meta{ font-size:14px; font-weight:600; color:var(--ink-soft); }
.single-featured-image{ aspect-ratio:16/8; margin-bottom:60px; }

.entry-content{ max-width:720px; margin:0 auto 100px; font-size:17.5px; line-height:1.75; color:var(--forest); }
.entry-content p{ margin:0 0 26px; }
.entry-content h2{ font-size:30px; font-weight:800; letter-spacing:-.02em; margin:52px 0 20px; line-height:1.2; }
.entry-content h3{ font-size:23px; font-weight:800; letter-spacing:-.01em; margin:40px 0 16px; }
.entry-content ul, .entry-content ol{ margin:0 0 26px; padding-left:22px; }
.entry-content li{ margin-bottom:10px; }
.entry-content ul{ list-style:disc; }
.entry-content ul li::marker{ color:var(--coral); }

.entry-content ul.icon-list{ list-style:none; padding:0; margin:0 0 26px; }
.entry-content ul.icon-list li{ position:relative; padding-left:34px; margin-bottom:12px; }
.entry-content ul.icon-list li::before{
  position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%;
  color:#fff; font-size:13px; font-weight:800; line-height:22px; text-align:center;
}
.entry-content ul.icon-list.is-check li::before{ content:"✓"; background:rgb(167, 209, 178); }
.entry-content ul.icon-list.is-cross li::before{ content:"✕"; background:rgb(154, 60, 55); }

/* También funciona si la clase se aplica línea a línea (a cada elemento), en vez de a toda la lista */
.entry-content li.icon-list{ position:relative; padding-left:34px; list-style:none; margin-bottom:12px; }
.entry-content li.icon-list::before{
  position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%;
  color:#fff; font-size:13px; font-weight:800; line-height:22px; text-align:center;
}
.entry-content li.icon-list.is-check::before{ content:"✓"; background:rgb(167, 209, 178); }
.entry-content li.icon-list.is-cross::before{ content:"✕"; background:rgb(154, 60, 55); }

.author-signature{ display:flex; align-items:center; gap:18px; background:var(--forest); border-radius:20px; padding:22px 26px; max-width:720px; margin:0 auto 60px; }
.author-signature img{ width:64px; height:64px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.author-signature strong{ display:block; color:var(--cream); font-size:16px; font-weight:800; margin-bottom:4px; }
.author-signature span{ display:block; color:rgba(251,245,236,.68); font-size:14px; }
.entry-content ol{ list-style:decimal; }
.entry-content a{ color:var(--coral-deep); text-decoration:underline; text-underline-offset:2px; }
.entry-content blockquote{ border-left:3px solid var(--coral); margin:36px 0; padding:4px 0 4px 24px; font-size:19px; font-style:italic; color:var(--ink-soft); }
.entry-content img{ border-radius:20px; margin:36px 0; }
.entry-content figcaption{ font-size:13px; color:var(--ink-soft); text-align:center; margin-top:-24px; margin-bottom:36px; }
.entry-content hr{ border:none; border-top:1px solid var(--line); margin:48px 0; }

.related-posts{ padding:100px 0 130px; background:var(--sage); }

/* ==========================================================================
   NUEVO DISEÑO (nd-) — Fraunces / Instrument Sans / IBM Plex Mono
   Todo va dentro de <main class="nd-page"> para no tocar el resto del sitio.
   Las fuentes se cargan siempre (ver functions.php).
   Página por página, esto es lo único que hay que ampliar aquí.
   ========================================================================== */

/* ---------- Base + variables (scopeadas a .nd-page, no a :root) ---------- */
.nd-page{
  --nd-ink:#0B2027;
  --nd-ink-soft:#173039;
  --nd-foam:#F6F2E9;
  --nd-foam-dim:#EDE7D8;
  --nd-coral:#FF5A36;
  --nd-petrol:#12676F;
  --nd-brass:#C9A227;
  --nd-line: rgba(11,32,39,0.14);
  --nd-line-light: rgba(246,242,233,0.22);
  --nd-sage:#DCE6DD;

  background:var(--nd-foam);
  color:var(--nd-ink);
  font-family:'Instrument Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.6;
}
.nd-page *{ box-sizing:border-box; }
.nd-page ::selection{ background:var(--nd-coral); color:var(--nd-foam); }
.nd-page a{ color:inherit; }
.nd-page img{ max-width:100%; display:block; }
.nd-page .nd-wrap{ max-width:1180px; margin:0 auto; padding-left:32px !important; padding-right:32px !important; }

/* ---------- Componentes compartidos por cualquier página nd- ---------- */
.nd-page .nd-eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:17px; font-weight:400;
  letter-spacing:0.13em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:10px;
  color:var(--nd-ink); margin-bottom:0;
}
.nd-page .nd-eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--nd-coral); box-shadow:0 0 0 4px rgba(255,90,54,0.18); flex-shrink:0; }

.nd-page [data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity 0.9s cubic-bezier(.16,.8,.24,1), transform 0.9s cubic-bezier(.16,.8,.24,1); }
.nd-page [data-reveal].is-visible{ opacity:1; transform:translateY(0); }
.nd-page [data-reveal="fade"]{ transform:translateY(10px); }

.nd-page .nd-photo{ position:relative; border-radius:20px; overflow:hidden; background:var(--nd-ink); }
.nd-page .nd-photo img{ width:100%; height:100%; object-fit:cover; filter:grayscale(0.55) contrast(1.08) brightness(0.95); }
.nd-page .nd-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(155deg, rgba(11,32,39,0.6), rgba(255,90,54,0.2) 55%, rgba(18,103,111,0.24)); mix-blend-mode:multiply; }
.nd-page .nd-photo::before{ content:""; position:absolute; inset:0; border:1px solid rgba(246,242,233,0.18); border-radius:20px; z-index:2; }

.nd-page .nd-photo-badge{
  position:absolute; z-index:3; bottom:16px; left:16px;
  background:var(--nd-foam); color:var(--nd-ink); border-radius:12px;
  padding:10px 14px; font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.02em;
  box-shadow:0 14px 26px -12px rgba(0,0,0,0.4);
}
.nd-page .nd-photo-badge-stat{
  position:absolute; z-index:3; bottom:18px; left:18px;
  background:var(--nd-foam); color:var(--nd-ink); border-radius:14px;
  padding:14px 18px; display:flex; align-items:baseline; gap:8px;
  box-shadow:0 14px 30px -12px rgba(0,0,0,0.45);
}
.nd-page .nd-photo-badge-stat .n{ font-family:'Fraunces',serif; font-weight:600; font-size:29px; color:var(--nd-coral); }
.nd-page .nd-photo-badge-stat .t{ font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.04em; max-width:11ch; line-height:1.25; }

.nd-page .nd-btn-primary{ font-family:'IBM Plex Mono', monospace; font-size:17px; letter-spacing:0.07em; text-transform:uppercase; background:var(--nd-coral); color:var(--nd-foam); padding:17px 30px; border-radius:100px; text-decoration:none; display:inline-flex; align-items:center; gap:12px; transition:transform 0.3s cubic-bezier(.34,1.56,.64,1), box-shadow 0.3s ease; box-shadow:0 10px 24px -10px rgba(255,90,54,0.55); border:none; }
.nd-page .nd-btn-primary:hover{ transform:translateY(-2px) scale(1.02); box-shadow:0 16px 30px -10px rgba(255,90,54,0.6); }
.nd-page .nd-btn-primary svg{ width:14px; height:14px; transition:transform 0.3s ease; }
.nd-page .nd-btn-primary:hover svg{ transform:translateX(4px); }

.nd-page .nd-btn-ghost{
  font-weight:600; font-size:17.85px; text-decoration:none; color:var(--nd-ink);
  display:inline-flex; align-items:center; gap:10px; padding-bottom:2px; border-bottom:1.5px solid var(--nd-line);
  transition:border-color 0.3s ease, gap 0.3s ease;
}
.nd-page .nd-btn-ghost:hover{ border-color:var(--nd-coral); gap:14px; }
.nd-page .nd-btn-ghost svg{ width:14px; height:14px; }

.nd-page .nd-link-arrow{ font-weight:600; font-size:17.3px; text-decoration:none; color:var(--nd-petrol); display:inline-flex; align-items:center; gap:8px; }
.nd-page .nd-link-arrow svg{ width:13px; height:13px; transition:transform 0.3s ease; }
.nd-page .nd-link-arrow:hover svg{ transform:translateX(4px); }

.nd-page .nd-quicknav-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:24px;
  padding:38px 42px; display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap;
}
.nd-page .nd-quicknav-card::before{
  content:""; position:absolute; top:-130px; right:-90px; width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,90,54,0.16), transparent 65%); pointer-events:none;
}
.nd-page .nd-quicknav-card::after{
  content:""; position:absolute; bottom:-140px; left:15%; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(18,103,111,0.14), transparent 65%); pointer-events:none;
}
.nd-page .nd-quicknav-head{ position:relative; z-index:1; display:flex; flex-direction:column; gap:10px; }
.nd-page .nd-quicknav-head .nd-eyebrow{ font-size:14px; letter-spacing:0.11em; }
.nd-page .nd-quicknav-title{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(20px,2.4vw,26px); margin:0; color:var(--nd-ink); white-space:nowrap; }
.nd-page .nd-quicknav{ position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:center; gap:12px; flex:none; max-width:640px; }

.nd-page .nd-qn-pill{
  position:relative;
  display:inline-flex; align-items:center; gap:10px;
  font-family:'IBM Plex Mono', monospace; font-size:15px; letter-spacing:0.04em; text-transform:uppercase;
  text-decoration:none; color:var(--nd-ink); background:var(--nd-foam); border:1px solid var(--nd-line);
  padding:11px 20px 11px 16px; border-radius:100px;
  transition:background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s cubic-bezier(.34,1.56,.64,1), box-shadow 0.3s ease;
}
.nd-page .nd-qn-pill .dot{ width:8px; height:8px; border-radius:50%; background:var(--nd-coral); flex-shrink:0; transition:background 0.3s ease; }
.nd-page .nd-qn-pill[data-accent="petrol"] .dot{ background:var(--nd-petrol); }
.nd-page .nd-qn-pill[data-accent="brass"] .dot{ background:var(--nd-brass); }

.nd-page .nd-qn-pill:hover{ transform:translateY(-3px); background:var(--nd-coral); border-color:var(--nd-coral); color:var(--nd-foam); box-shadow:0 14px 24px -14px rgba(255,90,54,0.5); }
.nd-page .nd-qn-pill:hover .dot{ background:var(--nd-foam); }
.nd-page .nd-qn-pill[data-accent="petrol"]:hover{ background:var(--nd-petrol); border-color:var(--nd-petrol); box-shadow:0 14px 24px -14px rgba(18,103,111,0.5); }
.nd-page .nd-qn-pill[data-accent="brass"]:hover{ background:var(--nd-brass); border-color:var(--nd-brass); box-shadow:0 14px 24px -14px rgba(201,162,39,0.5); }

@media (max-width:760px){ .nd-page .nd-quicknav-card{ flex-direction:column; align-items:center; text-align:center; padding:30px 28px; } .nd-page .nd-quicknav-head{ align-items:center; } }

.nd-page .nd-final{ position:relative; margin-top:120px; background:var(--nd-ink); color:var(--nd-foam); padding:150px 0 70px; overflow:hidden; }
.nd-page .nd-final .nd-final-bgphoto{ position:absolute; inset:0; z-index:0; }
.nd-page .nd-final .nd-final-bgphoto img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1) brightness(0.35); }
.nd-page .nd-final .nd-final-bgphoto::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,32,39,0.75), var(--nd-ink) 85%); }
.nd-page .nd-final::before{ content:""; position:absolute; z-index:1; top:-200px; left:50%; transform:translateX(-50%); width:900px; height:900px; border-radius:50%; background:radial-gradient(circle, rgba(255,90,54,0.18), transparent 65%); }
.nd-page .nd-final-inner{ position:relative; z-index:2; text-align:center; }
.nd-page .nd-final .nd-eyebrow{ color:var(--nd-brass); justify-content:center; width:100%; }
.nd-page .nd-final .nd-eyebrow::before{ background:var(--nd-brass); box-shadow:0 0 0 4px rgba(201,162,39,0.2); }
.nd-page .nd-final h2{ font-family:'Fraunces', serif; font-weight:400; font-style:italic; font-size:clamp(32px,6vw,72px); line-height:1.05; margin:26px auto 44px; max-width:16ch; color:var(--nd-foam); }
.nd-page .nd-final .nd-btn-primary{ background:var(--nd-foam); color:var(--nd-ink); box-shadow:0 10px 24px -10px rgba(0,0,0,0.4); }
.nd-page .nd-final .nd-btn-primary:hover{ background:var(--nd-coral); color:var(--nd-foam); }

@media (max-width:560px){ .nd-page .nd-wrap{ padding-left:20px !important; padding-right:20px !important; } }

/* Ruta / waypoints — usado por Servicios y Automatizaciones-IA (y cualquier
   página futura con el mismo patrón de "parada a parada") */
.nd-page .nd-route{ position:relative; }
.nd-page .nd-route-track{ position:relative; }
.nd-page .nd-route-line-svg{ position:absolute; left:38px; top:0; bottom:0; width:6px; height:100%; z-index:0; }
.nd-page .nd-route-line-svg svg{ width:100%; height:100%; display:block; overflow:visible; }
.nd-page .nd-route-path{ fill:none; stroke:var(--nd-ink); stroke-opacity:0.16; stroke-width:2; stroke-dasharray:7 9; stroke-linecap:round; }
.nd-page .nd-route-path-fill{ fill:none; stroke:var(--nd-coral); stroke-width:2; stroke-linecap:round; stroke-dasharray:2000; stroke-dashoffset:2000; transition:stroke-dashoffset 0.1s linear; }

.nd-page .nd-waypoint{ position:relative; z-index:1; display:grid; grid-template-columns:76px 1fr; gap:0 44px; padding:70px 0; border-bottom:1px solid var(--nd-line); }
.nd-page .nd-waypoint:last-child{ border-bottom:none; }
.nd-page .nd-waypoint-marker{ display:flex; flex-direction:column; align-items:center; padding-top:10px; }
.nd-page .nd-waypoint-marker .nd-pin-dot{ width:16px; height:16px; border-radius:50%; background:var(--nd-foam); border:2.5px solid var(--nd-ink); position:relative; flex-shrink:0; transition:border-color 0.3s ease, background 0.3s ease; }
.nd-page .nd-waypoint.is-visible .nd-waypoint-marker .nd-pin-dot{ background:var(--nd-coral); border-color:var(--nd-coral); }
.nd-page .nd-waypoint-marker .nd-pin-dot::after{ content:""; position:absolute; inset:-8px; border-radius:50%; border:1px solid var(--nd-coral); opacity:0; transform:scale(0.7); transition:opacity 0.4s ease, transform 0.4s ease; }
.nd-page .nd-waypoint.is-visible .nd-waypoint-marker .nd-pin-dot::after{ opacity:0.5; transform:scale(1); }
.nd-page .nd-waypoint-coord{ font-family:'IBM Plex Mono', monospace; font-size:17px; letter-spacing:0.03em; color:var(--nd-ink); opacity:0.4; margin-top:14px; writing-mode:vertical-rl; text-orientation:mixed; transform:rotate(180deg); }

.nd-page .nd-waypoint-body{ max-width:900px; }
.nd-page .nd-wp-top{ display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:start; margin-bottom:36px; }
.nd-page .nd-wp-media .nd-photo{ aspect-ratio:5/4; }
.nd-page .nd-wp-label{ font-family:'IBM Plex Mono', monospace; font-size:17px; letter-spacing:0.1em; text-transform:uppercase; color:var(--nd-coral); display:block; margin-bottom:16px; }
.nd-page .nd-wp-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.4vw,44px); margin:0 0 20px; line-height:1.05; letter-spacing:-0.01em; color:var(--nd-ink); }
.nd-page .nd-wp-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-wp-lede{ font-size:17px; line-height:1.65; max-width:620px; opacity:0.82; margin:0; }
.nd-page .nd-wp-lede strong{ color:var(--nd-ink); font-weight:600; opacity:1; }
.nd-page .nd-wp-cta{ margin-top:34px; }

.nd-page .nd-wp-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px,1fr)); gap:0; background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:16px; overflow:hidden; }
.nd-page .nd-wp-cell{ background:var(--nd-foam); padding:24px 22px; min-height:150px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--nd-line); border-bottom:1px solid var(--nd-line); transition:background 0.3s ease; }
.nd-page .nd-wp-cell:hover{ background:var(--nd-foam-dim); }
.nd-page .nd-wp-cell .tag{ font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.06em; opacity:0.4; text-transform:uppercase; }
.nd-page .nd-wp-cell p{ font-size:17px; line-height:1.5; margin:14px 0 0; font-weight:500; }
@media (max-width:640px){
  .nd-page .nd-wp-grid{ grid-template-columns:1fr; }
  .nd-page .nd-waypoint{ grid-template-columns:40px 1fr; gap:0 20px; padding:50px 0; }
  .nd-page .nd-waypoint-coord{ display:none; }
  .nd-page .nd-wp-top{ grid-template-columns:1fr; }
}

.nd-page .nd-waypoint[data-accent="petrol"] .nd-wp-label{ color:var(--nd-petrol); }
.nd-page .nd-waypoint[data-accent="petrol"] .nd-wp-title em{ color:var(--nd-coral); }
.nd-page .nd-waypoint[data-accent="petrol"].is-visible .nd-waypoint-marker .nd-pin-dot{ background:var(--nd-petrol); border-color:var(--nd-petrol); }
.nd-page .nd-waypoint[data-accent="petrol"].is-visible .nd-waypoint-marker .nd-pin-dot::after{ border-color:var(--nd-petrol); }
.nd-page .nd-waypoint[data-accent="brass"] .nd-wp-label{ color:var(--nd-brass); }
.nd-page .nd-waypoint[data-accent="brass"].is-visible .nd-waypoint-marker .nd-pin-dot{ background:var(--nd-brass); border-color:var(--nd-brass); }
.nd-page .nd-waypoint[data-accent="brass"].is-visible .nd-waypoint-marker .nd-pin-dot::after{ border-color:var(--nd-brass); }

/* Variante de marcador con letra (en vez de punto) — para métodos paso a paso */
.nd-page .nd-waypoint-marker .letter-badge{ width:52px; height:52px; border-radius:50%; background:var(--nd-line); color:var(--nd-ink); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; font-size:22px; flex-shrink:0; transition:background 0.4s ease, color 0.4s ease, transform 0.4s ease; }
.nd-page .nd-waypoint.is-visible .nd-waypoint-marker .letter-badge{ transform:scale(1.08); }
.nd-page .nd-waypoint[data-accent="petrol"].is-visible .nd-waypoint-marker .letter-badge{ background:var(--nd-petrol); color:var(--nd-foam); }
.nd-page .nd-waypoint[data-accent="coral"].is-visible .nd-waypoint-marker .letter-badge{ background:var(--nd-coral); color:var(--nd-foam); }
.nd-page .nd-waypoint[data-accent="brass"].is-visible .nd-waypoint-marker .letter-badge{ background:var(--nd-brass); color:var(--nd-foam); }

/* Cita de cierre opcional al final de una parada */
.nd-page .nd-wp-quote{ font-family:'Fraunces',serif; font-style:italic; font-size:19px; line-height:1.5; color:var(--nd-petrol); margin:30px 0 0; max-width:60ch; }

/* Nota pequeña y tenue dentro del CTA final (para un segundo párrafo más discreto) */
.nd-page .nd-final .nd-final-note{ font-size:15px; opacity:0.55; max-width:52ch; margin:0 auto 36px; }

/* Píldoras rápidas insertadas dentro de un hero (más ligeras que la tarjeta nd-quicknav-card) */
.nd-page .nd-quick-pills{ display:flex; flex-wrap:wrap; gap:12px; }
.nd-page .nd-quick-pill{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); color:var(--nd-ink); text-decoration:none;
  font-weight:600; font-size:17px; padding:11px 18px 11px 14px; border-radius:100px;
  transition:background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.nd-page .nd-quick-pill .dot{ width:8px; height:8px; border-radius:50%; background:var(--nd-coral); flex-shrink:0; }
.nd-page .nd-quick-pill:hover{ background:var(--nd-ink); color:var(--nd-foam); border-color:var(--nd-ink); transform:translateY(-2px); }

/* Chip circular sobre una foto (icono, esquina superior) */
.nd-page .nd-photo-chip{
  position:absolute; z-index:3; top:16px; right:16px; width:44px; height:44px; border-radius:50%;
  background:var(--nd-foam); color:var(--nd-ink); display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 26px -12px rgba(0,0,0,0.4);
}
.nd-page .nd-photo-chip svg{ width:20px; height:20px; }

/* Tarjeta de cita / declaración de confianza, fondo oscuro */
.nd-page .nd-trust{ padding:70px 0 120px; }
.nd-page .nd-trust-card{ background:var(--nd-ink); color:var(--nd-foam); border-radius:26px; padding:56px 60px; position:relative; overflow:hidden; }
.nd-page .nd-trust-card::before{ content:""; position:absolute; top:-140px; right:-100px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle, rgba(255,90,54,0.18), transparent 65%); }
.nd-page .nd-trust-card p{ position:relative; z-index:1; font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:clamp(20px,2.6vw,28px); line-height:1.45; margin:0; max-width:52ch; }
.nd-page .nd-trust-card p strong{ font-style:normal; font-weight:600; color:var(--nd-brass); }
@media (max-width:640px){ .nd-page .nd-trust-card{ padding:40px 30px; } }
.nd-page .nd-trust-card.center{ text-align:center; }
.nd-page .nd-trust-card.center p{ margin:0 auto; max-width:26ch; }

/* Tarjeta para capturas/gráficos (no lleva el tratamiento de foto editorial) */
.nd-page .nd-screenshot-card{ max-width:820px; margin:0 auto; background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:22px; padding:18px; box-shadow:0 20px 40px -26px rgba(11,32,39,0.24); }
.nd-page .nd-screenshot-card img{ width:100%; border-radius:14px; display:block; }
.nd-page .nd-screenshot-caption{ text-align:center; font-size:14px; color:var(--nd-ink); opacity:0.6; margin:14px 6px 4px; }

.nd-page .nd-final .nd-final-sub{ font-size:19px; opacity:0.75; max-width:44ch; margin:0 auto 36px; }

/* ==========================================================================
   NUEVO DISEÑO — página CONSEGUIR CLIENTES (/captacion-de-clientes-en-cantabria/)
   ========================================================================== */
.nd-page .nd-hero{ position:relative; padding:70px 0 90px; overflow:hidden; background:radial-gradient(1000px 560px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center; }
.nd-page h1.nd-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(34px,5vw,58px); line-height:1.05; letter-spacing:-0.01em; margin:22px 0 26px; color:var(--nd-ink); }
.nd-page h1.nd-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-hero-sub{ font-size:19.5px; line-height:1.6; opacity:0.85; margin:0 0 20px; max-width:46ch; }
.nd-page .nd-hero-lede{ font-family:'Fraunces',serif; font-style:italic; font-size:22.1px; color:var(--nd-coral); margin:0 0 26px; }
.nd-page .nd-hero-ctas{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.nd-page .nd-hero-photo{ position:relative; }
.nd-page .nd-hero-photo .nd-photo{ aspect-ratio:4/5; }
.nd-page .nd-hero-photo .ring{ position:absolute; inset:-16px; border:1.5px dashed var(--nd-line); border-radius:30px; z-index:-1; }
@media (max-width:920px){
  .nd-page .nd-hero-grid{ grid-template-columns:1fr; }
  .nd-page .nd-hero-photo{ order:-1; max-width:340px; margin:0 auto; }
}

.nd-page .nd-problem{ padding:110px 0 90px; }
.nd-page .nd-problem-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:center; }
.nd-page .nd-problem h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.8vw,42px); line-height:1.12; margin:20px 0 22px; color:var(--nd-ink); }
.nd-page .nd-problem h2 em{ font-style:italic; color:var(--nd-coral); }
.nd-page .nd-problem-intro{ font-size:18.4px; line-height:1.65; opacity:0.85; margin:0 0 10px; }
.nd-page .nd-leak-visual{ position:relative; }
.nd-page .nd-leak-visual svg{ width:100%; height:auto; }
.nd-page .nd-pain-list{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:2px; background:var(--nd-line); border:1px solid var(--nd-line); border-radius:18px; overflow:hidden; }
.nd-page .nd-pain-list li{ background:var(--nd-foam); padding:20px 22px; display:flex; gap:16px; align-items:flex-start; font-size:17.3px; line-height:1.5; transition:background 0.3s ease; }
.nd-page .nd-pain-list li:hover{ background:var(--nd-foam-dim); }
.nd-page .nd-pain-list li .ico{ flex-shrink:0; width:26px; height:26px; margin-top:1px; }
.nd-page .nd-pain-list li .ico svg{ width:100%; height:100%; }
@media (max-width:900px){ .nd-page .nd-problem-grid{ grid-template-columns:1fr; } }

.nd-page .nd-solution{ position:relative; background:var(--nd-ink); color:var(--nd-foam); padding:110px 0; margin-top:20px; overflow:hidden; }
.nd-page .nd-solution::before{ content:""; position:absolute; top:-260px; right:-160px; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle, rgba(255,90,54,0.20), transparent 65%); }
.nd-page .nd-solution-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center; }
.nd-page .nd-solution .nd-eyebrow{ color:var(--nd-brass); }
.nd-page .nd-solution .nd-eyebrow::before{ background:var(--nd-brass); box-shadow:0 0 0 4px rgba(201,162,39,0.22); }
.nd-page .nd-solution h2{ font-family:'Fraunces', serif; font-weight:400; font-style:italic; font-size:clamp(28px,4vw,44px); line-height:1.16; margin:22px 0 26px; }
.nd-page .nd-solution p{ font-size:18.4px; line-height:1.65; opacity:0.85; max-width:48ch; }
.nd-page .nd-solution p + p{ margin-top:18px; }
.nd-page .nd-solution-photo .nd-photo{ aspect-ratio:5/4; }
@media (max-width:900px){ .nd-page .nd-solution-grid{ grid-template-columns:1fr; } }

.nd-page .nd-channels{ padding:70px 0 110px; }
.nd-page .nd-channels-card{ position:relative; overflow:hidden; background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:28px; padding:56px 60px; box-shadow:0 34px 60px -42px rgba(11,32,39,0.28); }
.nd-page .nd-channels-card::before{ content:""; position:absolute; top:-140px; right:-120px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(255,90,54,0.14), transparent 65%); pointer-events:none; }
.nd-page .nd-channels-head{ position:relative; z-index:1; max-width:680px; margin-bottom:44px; }
.nd-page .nd-channels-head h2{ font-family:'Fraunces', serif; font-weight:600; font-size:clamp(24px,3vw,34px); line-height:1.15; margin:0 0 14px; }
.nd-page .nd-channels-head p{ font-size:18.4px; line-height:1.6; opacity:0.78; margin:0; }
.nd-page .nd-channel-pills{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:16px; }
.nd-page .nd-channel-pill{ display:inline-flex; align-items:center; gap:11px; background:var(--nd-coral); color:var(--nd-foam); text-decoration:none; font-weight:600; font-size:17.85px; padding:16px 15px 16px 22px; border-radius:100px; box-shadow:0 16px 28px -16px rgba(255,90,54,0.55); transition:transform 0.4s cubic-bezier(.34,1.56,.64,1), box-shadow 0.4s ease, background 0.3s ease; }
.nd-page .nd-channel-pill .ico{ width:19px; height:19px; flex-shrink:0; }
.nd-page .nd-channel-pill .ico svg{ width:100%; height:100%; }
.nd-page .nd-channel-pill .arrow{ width:26px; height:26px; border-radius:50%; background:rgba(246,242,233,0.22); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform 0.35s ease, background 0.3s ease; }
.nd-page .nd-channel-pill .arrow svg{ width:13px; height:13px; }
.nd-page .nd-channel-pill:hover{ transform:translateY(-4px) scale(1.035); box-shadow:0 24px 38px -16px rgba(255,90,54,0.65); background:var(--nd-ink); }
.nd-page .nd-channel-pill:hover .arrow{ transform:translateX(3px); background:rgba(255,90,54,0.9); }
@media (max-width:640px){ .nd-page .nd-channels-card{ padding:38px 30px; } .nd-page .nd-channel-pill{ font-size:17px; padding:14px 12px 14px 18px; } }

.nd-page .nd-pillars{ padding:120px 0 40px; }
.nd-page .nd-pillars-intro{ max-width:640px; margin-bottom:56px; }
.nd-page .nd-pillars-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.8vw,44px); line-height:1.1; margin:20px 0 0; color:var(--nd-ink); }
.nd-page .nd-pillars-intro h2 em{ font-style:italic; color:var(--nd-petrol); }
.nd-page .nd-pillars-grid{ display:grid; grid-template-columns:1fr 1fr; gap:34px 40px; }
.nd-page .nd-pillar{ display:grid; grid-template-columns:128px 1fr; gap:22px; align-items:center; padding:26px; border:1px solid var(--nd-line); border-radius:22px; background:var(--nd-foam); transition:transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }
.nd-page .nd-pillar:hover{ transform:translateY(-3px); box-shadow:0 20px 34px -22px rgba(11,32,39,0.25); border-color:transparent; }
.nd-page .nd-pillar-media{ position:relative; }
.nd-page .nd-pillar-media .schema{ width:100%; height:auto; border-radius:16px; border:1px solid var(--nd-line); background:var(--nd-foam-dim); padding:14px; }
.nd-page .nd-pillar-tag{ font-family:'Fraunces',serif; font-weight:600; font-size:27.2px; color:var(--nd-line); line-height:1; margin-bottom:8px; }
.nd-page .nd-pillar-title{ font-family:'Fraunces', serif; font-weight:500; font-size:21.75px; margin:0 0 8px; line-height:1.2; color:var(--nd-ink); }
.nd-page .nd-pillar-text{ font-size:17px; line-height:1.55; opacity:0.8; }
@media (max-width:900px){ .nd-page .nd-pillars-grid{ grid-template-columns:1fr; } }
@media (max-width:560px){ .nd-page .nd-pillar{ grid-template-columns:1fr; } .nd-page .nd-pillar-media{ max-width:160px; } }

.nd-page .nd-activa{ padding:130px 0 100px; }
.nd-page .nd-activa-intro{ max-width:680px; margin-bottom:90px; }
.nd-page .nd-activa-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(30px,4.4vw,50px); line-height:1.06; margin:20px 0 20px; color:var(--nd-ink); }
.nd-page .nd-activa-intro h2 em{ font-style:italic; color:var(--nd-coral); }
.nd-page .nd-activa-intro p{ font-size:18.7px; line-height:1.65; opacity:0.82; max-width:56ch; }
.nd-page .nd-pipeline{ position:relative; padding:30px 0 10px; }
.nd-page .nd-pipe-line{ position:absolute; top:74px; left:0; right:0; height:4px; background:var(--nd-line); border-radius:4px; z-index:0; }
.nd-page .nd-pipe-line .fill{ position:absolute; inset:0; background:var(--nd-coral); border-radius:4px; width:0%; transition:width 1.4s cubic-bezier(.16,.8,.24,1); }
.nd-page .nd-pipe-stations{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.nd-page .nd-station{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.nd-page .nd-station .dot{ width:20px; height:20px; border-radius:50%; background:var(--nd-foam); border:3px solid var(--nd-ink); margin-bottom:20px; transition:background 0.4s ease, border-color 0.4s ease, transform 0.4s ease; position:relative; }
.nd-page .nd-station.on .dot{ background:var(--nd-coral); border-color:var(--nd-coral); transform:scale(1.15); }
.nd-page .nd-station .letter{ font-family:'Fraunces',serif; font-weight:600; font-size:30.6px; color:var(--nd-petrol); margin-bottom:8px; }
.nd-page .nd-station .name{ font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.04em; text-transform:uppercase; opacity:0.65; max-width:11ch; line-height:1.35; }
@media (max-width:900px){ .nd-page .nd-pipe-stations{ grid-template-columns:repeat(3,1fr); row-gap:50px; } .nd-page .nd-pipe-line{ display:none; } }
@media (max-width:520px){ .nd-page .nd-pipe-stations{ grid-template-columns:repeat(2,1fr); } }
.nd-page .nd-activa-credit{ margin-top:70px; padding-top:40px; border-top:1px solid var(--nd-line); font-family:'Fraunces',serif; font-style:italic; font-size:20.4px; color:var(--nd-petrol); max-width:56ch; }

.nd-page .nd-benefits{ padding:60px 0 120px; }
.nd-page .nd-benefits-intro{ max-width:640px; margin-bottom:70px; }
.nd-page .nd-benefits-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.8vw,44px); line-height:1.1; margin:20px 0 0; color:var(--nd-ink); }
.nd-page .nd-benefits-intro h2 em{ font-style:italic; color:var(--nd-petrol); }
.nd-page .nd-benefits-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--nd-line); border:1px solid var(--nd-line); border-radius:20px; overflow:hidden; }
.nd-page .nd-benefit-cell{ background:var(--nd-foam); padding:34px 28px; min-height:200px; display:flex; flex-direction:column; gap:16px; transition:background 0.3s ease; }
.nd-page .nd-benefit-cell:hover{ background:var(--nd-foam-dim); }
.nd-page .nd-benefit-cell .ico{ width:34px; height:34px; color:var(--nd-coral); }
.nd-page .nd-benefit-cell .ico svg{ width:100%; height:100%; }
.nd-page .nd-benefit-cell h3{ font-family:'Fraunces',serif; font-weight:600; font-size:19.55px; margin:0; color:var(--nd-ink); }
.nd-page .nd-benefit-cell p{ font-size:17px; line-height:1.55; opacity:0.8; margin:0; }
@media (max-width:900px){ .nd-page .nd-benefits-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-benefits-grid{ grid-template-columns:1fr; } }

.nd-page .nd-credibility{ padding:20px 0 120px; }
.nd-page .nd-cred-card{ background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:26px; padding:56px; display:grid; grid-template-columns:0.9fr 1.1fr; gap:52px; align-items:center; }
.nd-page .nd-cred-card .nd-photo{ aspect-ratio:16/11; }
.nd-page .nd-cred-num{ font-family:'Fraunces',serif; font-weight:600; font-size:clamp(46px,6vw,72px); color:var(--nd-coral); line-height:1; margin-bottom:10px; }
.nd-page .nd-cred-card p{ font-size:18.4px; line-height:1.65; opacity:0.85; max-width:48ch; margin:0 0 26px; }
.nd-page .nd-chips{ display:flex; flex-wrap:wrap; gap:12px; }
.nd-page .nd-chip{ font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.03em; background:var(--nd-foam); border:1px solid var(--nd-line); padding:9px 16px; border-radius:100px; }
@media (max-width:840px){ .nd-page .nd-cred-card{ grid-template-columns:1fr; padding:34px; } }

@media (max-width:560px){ .nd-page .nd-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página SERVICIOS (/servicios/)
   ========================================================================== */
.nd-page .nd-svc-hero{ position:relative; min-height:90vh; display:flex; flex-direction:column; justify-content:center; padding:60px 0 110px; overflow:hidden; background:radial-gradient(1100px 600px at 82% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-svc-hero-inner{ position:relative; z-index:3; }
.nd-page .nd-svc-hero-eyebrow{ margin-bottom:26px; }
.nd-page h1.nd-svc-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(40px, 6.2vw, 84px); line-height:0.98; letter-spacing:-0.01em; max-width:14ch; margin:0 0 30px; color:var(--nd-ink); }
.nd-page h1.nd-svc-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-svc-hero-sub{ font-size:clamp(17px,1.6vw,19px); line-height:1.55; max-width:520px; opacity:0.82; margin:0 0 40px; }
.nd-page .nd-svc-hero-ctas{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.nd-page .nd-svc-hero-note{ font-family:'IBM Plex Mono', monospace; font-size:17px; letter-spacing:0.05em; opacity:0.55; }

.nd-page .nd-beacon{ position:absolute; top:-120px; right:-160px; width:640px; height:640px; z-index:1; pointer-events:none; }
.nd-page .nd-beacon-ring{ position:absolute; inset:0; border-radius:50%; border:1px solid var(--nd-line); }
.nd-page .nd-beacon-ring:nth-child(2){ inset:70px; }
.nd-page .nd-beacon-ring:nth-child(3){ inset:140px; }
.nd-page .nd-beacon-ring:nth-child(4){ inset:210px; }
.nd-page .nd-beacon-sweep{ position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, rgba(255,90,54,0.30), transparent 32%); animation:nd-sweep 6s linear infinite; mix-blend-mode:multiply; }
@keyframes nd-sweep{ to{ transform:rotate(360deg); } }
.nd-page .nd-beacon-dot{ position:absolute; top:50%; left:50%; width:9px; height:9px; margin:-4.5px 0 0 -4.5px; border-radius:50%; background:var(--nd-coral); box-shadow:0 0 0 6px rgba(255,90,54,0.16); }

.nd-page .nd-coastline{ position:absolute; left:0; right:0; bottom:0; z-index:2; line-height:0; }
.nd-page .nd-coastline svg{ width:100%; height:auto; display:block; }
.nd-page .nd-coastline .swell{ animation:nd-drift 14s ease-in-out infinite; }
@keyframes nd-drift{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(-2%); } }

.nd-page .nd-marquee-band{ position:relative; background:var(--nd-ink); color:var(--nd-foam); padding:22px 0; transform:rotate(-1.1deg); margin:-40px 0 -20px; z-index:5; overflow:hidden; border-top:1px solid var(--nd-line-light); border-bottom:1px solid var(--nd-line-light); }
.nd-page .nd-marquee-track{ display:flex; width:max-content; animation:nd-scroll-left 26s linear infinite; }
@keyframes nd-scroll-left{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.nd-page .nd-marquee-track span{ font-family:'Fraunces', serif; font-style:italic; font-weight:400; font-size:clamp(20px,2.6vw,30px); padding:0 34px; white-space:nowrap; opacity:0.92; }
.nd-page .nd-marquee-track span.nd-mk-accent{ color:var(--nd-coral); font-style:normal; font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.1em; text-transform:uppercase; align-self:center; }

.nd-page .nd-statement{ padding:170px 0 130px; position:relative; }
.nd-page .nd-statement-inner{ max-width:900px; }
.nd-page .nd-statement p{ font-family:'Fraunces', serif; font-weight:400; font-size:clamp(24px,3.6vw,42px); line-height:1.28; margin:0; letter-spacing:-0.005em; }
.nd-page .nd-statement p .nd-muted{ opacity:0.32; }
.nd-page .nd-statement p em{ font-style:italic; color:var(--nd-petrol); }
.nd-page .nd-statement-foot{ display:flex; gap:60px; margin-top:70px; flex-wrap:wrap; border-top:1px solid var(--nd-line); padding-top:36px; }
.nd-page .nd-statement-foot .col{ max-width:280px; }
.nd-page .nd-statement-foot .col .num{ font-family:'IBM Plex Mono', monospace; font-size:17px; color:var(--nd-coral); letter-spacing:0.08em; display:block; margin-bottom:10px; }
.nd-page .nd-statement-foot .col p{ font-family:'Instrument Sans',sans-serif; font-size:17px; line-height:1.55; font-weight:400; opacity:0.75; }

.nd-page .nd-chart-section{ position:relative; padding:60px 0 40px; }
.nd-page .nd-chart-intro{ position:relative; z-index:2; max-width:640px; margin-bottom:100px; }
.nd-page .nd-chart-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(30px,4.2vw,52px); line-height:1.05; margin:20px 0 0; letter-spacing:-0.01em; color:var(--nd-ink); }
.nd-page .nd-chart-intro h2 em{ font-style:italic; color:var(--nd-petrol); }

@media (max-width:820px){
  .nd-page .nd-statement-foot{ gap:32px; }
  .nd-page .nd-beacon{ width:420px; height:420px; right:-140px; top:-60px; }
}
@media (max-width:560px){
  .nd-page .nd-svc-hero{ padding-top:40px; }
}

/* ==========================================================================
   NUEVO DISEÑO — página INICIO (/)
   ========================================================================== */
.nd-page .nd-home-hero{ position:relative; padding:70px 0 100px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-home-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center; }
.nd-page h1.nd-home-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(38px,5.6vw,66px); line-height:1.02; letter-spacing:-0.01em; margin:22px 0 26px; color:var(--nd-ink); }
.nd-page h1.nd-home-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-home-hero-sub{ font-size:19.55px; line-height:1.6; opacity:0.85; margin:0 0 34px; max-width:48ch; }
.nd-page .nd-home-hero-ctas{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.nd-page .nd-home-hero-photo .nd-photo{ aspect-ratio:4/5; }
@media (max-width:920px){ .nd-page .nd-home-hero-grid{ grid-template-columns:1fr; } .nd-page .nd-home-hero-photo{ order:-1; max-width:340px; margin:0 auto; } }
.nd-page .nd-home-growth-line{ position:absolute; left:0; right:0; bottom:0; z-index:0; opacity:0.5; }
.nd-page .nd-home-growth-line svg{ width:100%; height:auto; display:block; }

.nd-page .nd-compare{ padding:100px 0 110px; position:relative; }
.nd-page .nd-compare-intro{ max-width:680px; margin-bottom:64px; }
.nd-page .nd-compare-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.8vw,44px); line-height:1.12; margin:20px 0 0; color:var(--nd-ink); }
.nd-page .nd-compare-intro h2 em{ font-style:italic; color:var(--nd-coral); }
.nd-page .nd-compare-grid{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:stretch; }
.nd-page .nd-compare-vs{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3;
  width:56px; height:56px; border-radius:50%; background:var(--nd-coral); color:var(--nd-foam);
  display:flex; align-items:center; justify-content:center;
  font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.03em;
  box-shadow:0 14px 26px -10px rgba(255,90,54,0.5);
}
.nd-page .nd-compare-card{ border-radius:24px; padding:40px 34px; }
.nd-page .nd-compare-card.old, .nd-page .nd-compare-card.light{ background:var(--nd-foam-dim); opacity:0.85; }
.nd-page .nd-compare-card.new, .nd-page .nd-compare-card.dark{ background:var(--nd-ink); color:var(--nd-foam); }
.nd-page .nd-compare-card h3{ font-family:'IBM Plex Mono',monospace; font-size:17px; letter-spacing:0.08em; text-transform:uppercase; margin:0 0 26px; opacity:0.6; }
.nd-page .nd-compare-card.new h3, .nd-page .nd-compare-card.dark h3{ color:var(--nd-brass); opacity:1; }
.nd-page .nd-compare-card ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.nd-page .nd-compare-card li{ display:flex; gap:12px; align-items:flex-start; font-size:17.85px; line-height:1.45; }
.nd-page .nd-compare-card .ic{ width:22px; height:22px; flex-shrink:0; margin-top:1px; }
.nd-page .nd-compare-card.old .ic, .nd-page .nd-compare-card.light .ic{ color:var(--nd-ink); opacity:0.35; }
.nd-page .nd-compare-card.new .ic, .nd-page .nd-compare-card.dark .ic{ color:var(--nd-coral); }
@media (max-width:760px){ .nd-page .nd-compare-grid{ grid-template-columns:1fr; } .nd-page .nd-compare-vs{ display:none; } }

.nd-page .nd-needs{ padding:20px 0 110px; }
.nd-page .nd-needs-intro{ max-width:640px; margin-bottom:56px; }
.nd-page .nd-needs-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.8vw,44px); margin:20px 0 0; line-height:1.1; color:var(--nd-ink); }
.nd-page .nd-needs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.nd-page .nd-need-card{ background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:22px; overflow:hidden; display:flex; flex-direction:column; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.nd-page .nd-need-card:hover{ transform:translateY(-5px); box-shadow:0 24px 40px -24px rgba(11,32,39,0.28); }
.nd-page .nd-need-photo{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--nd-ink); }
.nd-page .nd-need-photo img{ width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.nd-page .nd-need-card:hover .nd-need-photo img{ transform:scale(1.05); }
.nd-page .nd-need-body{ padding:28px 30px 32px; display:flex; flex-direction:column; gap:14px; flex:1; }
.nd-page .nd-need-body h3{ font-family:'Fraunces',serif; font-weight:600; font-size:22.95px; margin:0; color:var(--nd-ink); }
.nd-page .nd-need-body p{ font-size:17.5px; line-height:1.55; opacity:0.78; margin:0; flex-grow:1; }
@media (max-width:900px){ .nd-page .nd-needs-grid{ grid-template-columns:1fr; } }

.nd-page .nd-flow{ background:var(--nd-sage); padding:110px 0; }
.nd-page .nd-flow-intro{ max-width:680px; margin:0 auto 70px; text-align:center; }
.nd-page .nd-flow-intro .nd-eyebrow{ justify-content:center; }
.nd-page .nd-flow-intro h2{ font-family:'Instrument Sans', sans-serif; font-weight:700; font-size:clamp(28px,4vw,44px); line-height:1.18; margin:20px 0 0; letter-spacing:-0.01em; color:var(--nd-ink); }
.nd-page .nd-flow-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.nd-page .nd-flow-cell{ background:var(--nd-foam); border-radius:22px; padding:34px 30px; display:flex; flex-direction:column; gap:22px; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.nd-page .nd-flow-cell:hover{ transform:translateY(-5px); box-shadow:0 24px 40px -26px rgba(11,32,39,0.28); }
.nd-page .nd-flow-cell .step{ width:42px; height:42px; border-radius:50%; background:var(--nd-coral); color:var(--nd-foam); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:17px; font-weight:600; }
.nd-page .nd-flow-cell h3{ font-family:'Instrument Sans',sans-serif; font-weight:700; font-size:17.85px; letter-spacing:0.03em; text-transform:uppercase; margin:0; color:var(--nd-ink); }
.nd-page .nd-flow-chips{ display:flex; flex-direction:column; }
.nd-page .nd-flow-chips span{ font-size:17px; padding:11px 0; border-bottom:1px solid var(--nd-line); }
.nd-page .nd-flow-chips span:last-child{ border-bottom:none; }
@media (max-width:900px){ .nd-page .nd-flow-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-flow-grid{ grid-template-columns:1fr; } }

.nd-page .nd-products{ padding:100px 0 120px; }
.nd-page .nd-products-intro{ max-width:640px; margin-bottom:56px; }
.nd-page .nd-products-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.8vw,44px); margin:20px 0 0; line-height:1.1; color:var(--nd-ink); }
.nd-page .nd-products-intro h2 em{ font-style:italic; color:var(--nd-coral); }
.nd-page .nd-products-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nd-page .nd-product-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:22px; padding:32px 28px;
  display:flex; flex-direction:column; gap:14px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease, border-color 0.4s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-product-card[data-accent="coral"]{ --accent: var(--nd-coral); }
.nd-page .nd-product-card[data-accent="brass"]{ --accent: var(--nd-brass); }
.nd-page .nd-product-card::before{
  content:""; position:absolute; top:-70px; right:-70px; width:170px; height:170px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-product-card:hover{ transform:translateY(-7px); box-shadow:0 26px 44px -24px rgba(11,32,39,0.28); border-color:transparent; }
.nd-page .nd-product-card:hover::before{ transform:scale(1.25); }
.nd-page .nd-ghost-num{
  position:absolute; right:10px; bottom:-14px; z-index:0; pointer-events:none;
  font-family:'Fraunces',serif; font-weight:600; font-size:88px; line-height:1;
  color:var(--accent); opacity:0.08;
}
.nd-page .nd-product-icon{
  position:relative; z-index:1; width:46px; height:46px; border-radius:14px;
  background:color-mix(in srgb, var(--accent) 14%, transparent);
  color:var(--accent); display:flex; align-items:center; justify-content:center;
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1);
}
.nd-page .nd-product-card:hover .nd-product-icon{ transform:rotate(-8deg) scale(1.08); }
.nd-page .nd-product-icon svg{ width:24px; height:24px; }
.nd-page .nd-product-top{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.nd-page .nd-product-badge{ font-family:'IBM Plex Mono', monospace; font-size:17px; letter-spacing:0.04em; text-transform:uppercase; color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, transparent); padding:6px 12px; border-radius:100px; }
.nd-page .nd-product-card h3{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:22.1px; margin:0; color:var(--nd-ink); }
.nd-page .nd-product-card p{ position:relative; z-index:1; font-size:17.3px; line-height:1.55; opacity:0.78; margin:0; flex-grow:1; }
.nd-page .nd-product-card .nd-link-arrow{ position:relative; z-index:1; }
@media (max-width:900px){ .nd-page .nd-products-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .nd-page .nd-products-grid{ grid-template-columns:1fr; } }

.nd-page .nd-home-activa{ background:var(--nd-ink); color:var(--nd-foam); padding:120px 0; position:relative; overflow:hidden; }
.nd-page .nd-home-activa::before{ content:""; position:absolute; top:-260px; left:-140px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(255,90,54,0.16), transparent 65%); }
.nd-page .nd-home-activa-grid{ position:relative; z-index:1; display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:center; margin-bottom:76px; }
.nd-page .nd-home-activa .nd-eyebrow{ color:var(--nd-brass); }
.nd-page .nd-home-activa .nd-eyebrow::before{ background:var(--nd-brass); box-shadow:0 0 0 4px rgba(201,162,39,0.22); }
.nd-page .nd-home-activa h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(30px,4vw,46px); line-height:1.1; margin:20px 0 22px; }
.nd-page .nd-home-activa h2 em{ font-style:italic; color:var(--nd-coral); }
.nd-page .nd-home-activa p{ font-size:18.36px; line-height:1.65; opacity:0.82; max-width:46ch; margin:0 0 24px; }
.nd-page .nd-home-activa-photo .nd-photo{ aspect-ratio:5/4; }
@media (max-width:900px){ .nd-page .nd-home-activa-grid{ grid-template-columns:1fr; } }
.nd-page .nd-home-activa .nd-link-arrow{ color:var(--nd-foam); border-bottom:1.5px solid rgba(246,242,233,0.3); padding-bottom:2px; }

.nd-page .nd-home-pipeline{ position:relative; z-index:1; padding:20px 0 0; }
.nd-page .nd-home-pipe-line{ position:absolute; top:30px; left:0; right:0; height:4px; background:rgba(246,242,233,0.16); border-radius:4px; z-index:0; }
.nd-page .nd-home-pipe-line .fill{ position:absolute; inset:0; background:var(--nd-coral); border-radius:4px; width:0%; transition:width 1.4s cubic-bezier(.16,.8,.24,1); }
.nd-page .nd-home-pipe-stations{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.nd-page .nd-home-station{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.nd-page .nd-home-station .dot{ width:20px; height:20px; border-radius:50%; background:var(--nd-ink); border:3px solid rgba(246,242,233,0.4); margin-bottom:20px; transition:background 0.4s ease, border-color 0.4s ease, transform 0.4s ease; }
.nd-page .nd-home-station.on .dot{ background:var(--nd-coral); border-color:var(--nd-coral); transform:scale(1.15); }
.nd-page .nd-home-station .letter{ font-family:'Fraunces',serif; font-weight:600; font-size:28.9px; color:var(--nd-brass); }
@media (max-width:700px){ .nd-page .nd-home-pipe-stations{ grid-template-columns:repeat(3,1fr); row-gap:36px; } .nd-page .nd-home-pipe-line{ display:none; } }

.nd-page .nd-cases{ padding:110px 0; }
.nd-page .nd-cases-head{ text-align:center; margin-bottom:60px; }
.nd-page .nd-cases-head h2{ font-family:'Fraunces', serif; font-weight:500; font-style:italic; font-size:clamp(24px,3.2vw,34px); margin:16px 0 0; color:var(--nd-ink); }

.nd-page .nd-pin-wall{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px 28px; }
.nd-page .nd-pin{ background:var(--nd-foam); border-radius:12px; padding:14px 14px 20px; box-shadow:0 14px 28px rgba(11,32,39,.14); transform:rotate(var(--tilt,-1.5deg)); transition:transform .35s ease, box-shadow .35s ease; }
.nd-page .nd-pin:nth-child(3n+1){ --tilt:-1.5deg; }
.nd-page .nd-pin:nth-child(3n+2){ --tilt:1.2deg; }
.nd-page .nd-pin:nth-child(3n+3){ --tilt:-1deg; }
.nd-page .nd-pin:hover{ transform:rotate(0deg) scale(1.03); box-shadow:0 20px 40px rgba(11,32,39,.2); z-index:5; }
.nd-page .nd-pin .nd-pin-photo{ aspect-ratio:4/3.1; border-radius:6px; overflow:hidden; margin-bottom:16px; background:var(--nd-ink); }
.nd-page .nd-pin .nd-pin-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.nd-page .nd-pin figcaption{ text-align:center; font-family:'Fraunces',serif; font-weight:600; font-size:16px; letter-spacing:-0.01em; margin:0; color:var(--nd-ink); }
@media (max-width:860px){ .nd-page .nd-pin-wall{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .nd-page .nd-pin-wall{ grid-template-columns:1fr; } }

.nd-page .nd-why{ background:var(--nd-sage); padding:110px 0; }
.nd-page .nd-why-intro{ max-width:640px; margin-bottom:70px; }
.nd-page .nd-why-intro h2{ font-family:'Instrument Sans', sans-serif; font-weight:700; font-size:clamp(28px,3.8vw,44px); margin:20px 0 0; line-height:1.18; letter-spacing:-0.01em; color:var(--nd-ink); }
.nd-page .nd-why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.nd-page .nd-why-cell{ display:flex; flex-direction:column; gap:16px; }
.nd-page .nd-why-cell .topline{ width:56px; height:3px; background:var(--nd-coral); border-radius:2px; }
.nd-page .nd-why-cell h3{ font-family:'Instrument Sans',sans-serif; font-weight:700; font-size:18.7px; margin:0; color:var(--nd-ink); }
.nd-page .nd-why-cell p{ font-size:17px; line-height:1.5; opacity:0.75; margin:0; }
@media (max-width:900px){ .nd-page .nd-why-grid{ grid-template-columns:repeat(2,1fr); row-gap:38px; } }
@media (max-width:560px){ .nd-page .nd-why-grid{ grid-template-columns:1fr; } }
.nd-page .nd-why + .nd-final{ margin-top:0; }

@media (max-width:560px){ .nd-page .nd-home-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página AUTOMATIZACIONES / IA (/automatizaciones-ia-cantabria/)
   ========================================================================== */
.nd-page .nd-ia-hero{ position:relative; padding:70px 0 90px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-ia-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.nd-page h1.nd-ia-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(36px,5.2vw,58px); line-height:1.04; letter-spacing:-0.01em; margin:22px 0 18px; color:var(--nd-ink); }
.nd-page h1.nd-ia-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-ia-hero-lede{ font-family:'Fraunces',serif; font-style:italic; font-size:21.25px; color:var(--nd-coral); margin:0 0 20px; }
.nd-page .nd-ia-hero-sub{ font-size:18.7px; line-height:1.6; opacity:0.85; margin:0 0 30px; max-width:48ch; }
.nd-page .nd-ia-hero-ctas{ margin-bottom:36px; }
.nd-page .nd-ia-hero-photo .nd-photo{ aspect-ratio:4/5; }
@media (max-width:920px){ .nd-page .nd-ia-hero-grid{ grid-template-columns:1fr; } .nd-page .nd-ia-hero-photo{ order:-1; max-width:340px; margin:0 auto; } }

/* decoración de circuito con pulsos, exclusiva de esta página */
.nd-page .nd-ia-circuit{ position:absolute; top:-40px; right:-60px; width:520px; height:520px; z-index:0; pointer-events:none; opacity:0.9; }
.nd-page .nd-ia-circuit svg{ width:100%; height:100%; }
.nd-page .nd-ia-circuit .pulse{ animation:nd-ia-pulse-fade 2.4s ease-in-out infinite; }
@keyframes nd-ia-pulse-fade{ 0%,100%{ opacity:0.15; } 50%{ opacity:1; } }

.nd-page .nd-flowzone{ position:relative; padding:90px 0 40px; }
.nd-page .nd-flowzone-intro{ max-width:660px; margin-bottom:90px; }
.nd-page .nd-flowzone-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.8vw,46px); line-height:1.08; margin:20px 0 0; letter-spacing:-0.01em; color:var(--nd-ink); }
.nd-page .nd-flowzone-intro h2 em{ font-style:italic; color:var(--nd-petrol); }

@media (max-width:560px){ .nd-page .nd-ia-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página CIBERSEGURIDAD (/ciberseguridad-en-cantabria/)
   ========================================================================== */
.nd-page .nd-cyber-hero{ position:relative; padding:70px 0 40px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-cyber-hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; }
.nd-page h1.nd-cyber-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(36px,5.2vw,58px); line-height:1.04; letter-spacing:-0.01em; margin:22px 0 22px; color:var(--nd-ink); }
.nd-page h1.nd-cyber-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-cyber-hero-sub{ font-size:19px; line-height:1.6; opacity:0.85; margin:0 0 34px; max-width:48ch; }
@media (max-width:920px){ .nd-page .nd-cyber-hero-grid{ grid-template-columns:1fr; } .nd-page .nd-cyber-hero-photo{ order:-1; max-width:300px; margin:0 auto; } }

/* escudo animado del hero */
.nd-page .nd-shield-wrap{ display:flex; align-items:center; justify-content:center; }
.nd-page .nd-shield-wrap svg{ width:100%; max-width:280px; height:auto; }
.nd-page .nd-scanline{ animation:nd-scan-move 3.2s ease-in-out infinite; }
@keyframes nd-scan-move{ 0%{ transform:translateY(-20px); opacity:0.9; } 85%{ transform:translateY(240px); opacity:0.9; } 100%{ transform:translateY(240px); opacity:0; } }
.nd-page .nd-shield-check{ animation:nd-check-fade 3.2s ease-in-out infinite; transform-origin:center; }
@keyframes nd-check-fade{ 0%,78%{ opacity:0; transform:scale(0.7); } 90%,100%{ opacity:1; transform:scale(1); } }
.nd-page .nd-risk-dot{ animation:nd-risk-clear 3.2s ease-in-out infinite; }
@keyframes nd-risk-clear{ 0%,40%{ fill:var(--nd-coral); } 60%,100%{ fill:var(--nd-petrol); } }

/* servicios (3 tarjetas) */
.nd-page .nd-cyber-services{ padding:40px 0 40px; }
.nd-page .nd-cyber-services-intro{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; margin-bottom:70px; }
.nd-page .nd-cyber-services-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(28px,3.6vw,42px); line-height:1.14; margin:20px 0 18px; color:var(--nd-ink); }
.nd-page .nd-cyber-services-intro h2 em{ font-style:italic; color:var(--nd-petrol); }
.nd-page .nd-cyber-services-intro p{ font-size:18.36px; line-height:1.65; opacity:0.82; max-width:46ch; margin:0; }
.nd-page .nd-cyber-services-photo .nd-photo{ aspect-ratio:5/4; }
@media (max-width:900px){ .nd-page .nd-cyber-services-intro{ grid-template-columns:1fr; } }

.nd-page .nd-cyber-services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.nd-page .nd-cyber-service-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:22px; padding:32px 28px;
  display:flex; flex-direction:column; gap:16px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
}
.nd-page .nd-cyber-service-card:hover{ transform:translateY(-6px); box-shadow:0 24px 40px -26px rgba(11,32,39,0.28); }
.nd-page .nd-cyber-service-icon{ width:46px; height:46px; border-radius:14px; background:rgba(18,103,111,0.12); color:var(--nd-petrol); display:flex; align-items:center; justify-content:center; }
.nd-page .nd-cyber-service-card:nth-child(2) .nd-cyber-service-icon{ background:rgba(255,90,54,0.12); color:var(--nd-coral); }
.nd-page .nd-cyber-service-card:nth-child(3) .nd-cyber-service-icon{ background:rgba(201,162,39,0.16); color:var(--nd-brass); }
.nd-page .nd-cyber-service-icon svg{ width:24px; height:24px; }
.nd-page .nd-cyber-service-card h3{ font-family:'Fraunces',serif; font-weight:600; font-size:20.4px; margin:0; line-height:1.25; color:var(--nd-ink); }
.nd-page .nd-cyber-service-card p{ font-size:17px; line-height:1.55; opacity:0.78; margin:0; flex-grow:1; }
@media (max-width:900px){ .nd-page .nd-cyber-services-grid{ grid-template-columns:1fr; } }
.nd-page .nd-cyber-services-cta{ text-align:center; margin-top:56px; }

/* diferencia (4 celdas) */
.nd-page .nd-cyber-difference{ padding:100px 0; }
.nd-page .nd-cyber-difference-intro{ max-width:680px; margin-bottom:56px; }
.nd-page .nd-cyber-difference-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-cyber-difference-intro p{ font-size:18.36px; opacity:0.8; margin:0; max-width:50ch; }
.nd-page .nd-diff-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--nd-line); border:1px solid var(--nd-line); border-radius:22px; overflow:hidden; }
.nd-page .nd-diff-cell{ background:var(--nd-foam); padding:30px 26px; display:flex; flex-direction:column; gap:14px; transition:background 0.3s ease; }
.nd-page .nd-diff-cell:hover{ background:var(--nd-foam-dim); }
.nd-page .nd-diff-cell .num{ font-family:'IBM Plex Mono',monospace; font-size:17px; color:var(--nd-coral); }
.nd-page .nd-diff-cell h3{ font-family:'Fraunces',serif; font-weight:600; font-size:18.7px; margin:0; color:var(--nd-ink); }
.nd-page .nd-diff-cell p{ font-size:17px; line-height:1.5; opacity:0.78; margin:0; }
@media (max-width:900px){ .nd-page .nd-diff-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-diff-grid{ grid-template-columns:1fr; } }

/* ISO / confianza */
.nd-page .nd-iso{ padding:0 0 130px; }
.nd-page .nd-iso-card{ background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:26px; padding:56px 60px; display:grid; grid-template-columns:0.6fr 1.4fr; gap:50px; align-items:center; }
.nd-page .nd-iso-badge{ display:flex; align-items:center; justify-content:center; }
.nd-page .nd-iso-badge img, .nd-page .nd-iso-badge svg{ width:150px; height:150px; object-fit:contain; }
.nd-page .nd-iso-text h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(24px,3vw,34px); line-height:1.2; margin:16px 0 14px; color:var(--nd-ink); }
.nd-page .nd-iso-text p{ font-size:18px; opacity:0.8; margin:0 0 28px; max-width:52ch; }
@media (max-width:820px){ .nd-page .nd-iso-card{ grid-template-columns:1fr; text-align:center; padding:40px 30px; } .nd-page .nd-iso-text p{ margin-left:auto; margin-right:auto; } }

@media (max-width:560px){ .nd-page .nd-cyber-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página PRODUCTOS (/productos/)
   ========================================================================== */
.nd-page .nd-prod-hero{ position:relative; padding:70px 0 50px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-prod-hero-inner{ max-width:760px; }
.nd-page h1.nd-prod-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(38px,6vw,66px); line-height:1.02; letter-spacing:-0.01em; margin:22px 0 24px; color:var(--nd-ink); }
.nd-page h1.nd-prod-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-coral); }
.nd-page .nd-prod-hero-sub{ font-size:19px; line-height:1.65; opacity:0.82; max-width:62ch; margin:0; }

.nd-page .nd-pricing{ padding:60px 0 60px; }
.nd-page .nd-pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px 24px; align-items:start; }
@media (max-width:980px){ .nd-page .nd-pricing-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .nd-page .nd-pricing-grid{ grid-template-columns:1fr; } }

.nd-page .nd-plan{
  position:relative;
  background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:26px;
  padding:38px 32px 32px; display:flex; flex-direction:column; gap:22px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease, border-color 0.4s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-plan[data-accent="coral"]{ --accent: var(--nd-coral); }
.nd-page .nd-plan[data-accent="brass"]{ --accent: var(--nd-brass); }
.nd-page .nd-plan::before{ content:""; position:absolute; top:0; left:26px; right:26px; height:4px; border-radius:0 0 4px 4px; background:var(--accent); }
.nd-page .nd-plan:hover{ transform:translateY(-6px); box-shadow:0 26px 44px -26px rgba(11,32,39,0.28); border-color:transparent; }

.nd-page .nd-plan.popular{ border-color:var(--nd-ink); box-shadow:0 30px 50px -28px rgba(11,32,39,0.32); }
@media (min-width:641px){ .nd-page .nd-plan.popular{ transform:translateY(-18px); } .nd-page .nd-plan.popular:hover{ transform:translateY(-24px); } }
.nd-page .nd-plan-ribbon{
  position:absolute; top:22px; right:-34px; transform:rotate(40deg);
  background:var(--nd-ink); color:var(--nd-foam);
  font-family:'IBM Plex Mono',monospace; font-size:15px; letter-spacing:0.08em; text-transform:uppercase;
  padding:5px 40px; box-shadow:0 6px 14px -6px rgba(0,0,0,0.3);
}

.nd-page .nd-plan-tagline{ display:flex; align-items:center; gap:8px; font-size:17px; font-weight:600; color:var(--accent); }
.nd-page .nd-plan-tagline svg{ width:14px; height:14px; flex-shrink:0; }
.nd-page .nd-plan h3{ font-family:'Fraunces',serif; font-weight:600; font-size:23.8px; margin:0; line-height:1.2; color:var(--nd-ink); }

.nd-page .nd-plan-price{ display:flex; align-items:baseline; gap:8px; }
.nd-page .nd-plan-price .from{ font-family:'IBM Plex Mono',monospace; font-size:17px; opacity:0.55; }
.nd-page .nd-plan-price .amount{ font-family:'Fraunces',serif; font-weight:700; font-size:42.5px; letter-spacing:-0.02em; color:var(--nd-ink); }
.nd-page .nd-plan-price .period{ font-family:'IBM Plex Mono',monospace; font-size:17px; opacity:0.55; }
.nd-page .nd-plan-price.custom .amount{ font-size:25.5px; font-weight:600; font-style:italic; font-family:'Fraunces',serif; color:var(--accent); }

.nd-page .nd-plan-features{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; flex-grow:1; }
.nd-page .nd-plan-features li{ display:flex; gap:10px; align-items:flex-start; font-size:17px; line-height:1.4; }
.nd-page .nd-plan-features .ic{ width:18px; height:18px; flex-shrink:0; margin-top:2px; color:var(--accent); }

.nd-page .nd-plan .nd-btn-primary{ width:100%; justify-content:center; }

@media (max-width:640px){ .nd-page .nd-plan-ribbon{ display:none; } .nd-page .nd-plan.popular{ transform:none !important; } }
@media (max-width:560px){ .nd-page .nd-prod-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página MÉTODO A.C.T.I.V.A. (/metodo-activa/)
   ========================================================================== */
.nd-page .nd-activa-hero{ position:relative; padding:100px 0 80px; text-align:center; overflow:hidden; background:radial-gradient(1100px 600px at 50% -10%, rgba(255,90,54,0.08), transparent 60%); }
.nd-page .nd-activa-hero-letters{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; gap:clamp(10px,3vw,40px); z-index:0; pointer-events:none; white-space:nowrap; }
.nd-page .nd-activa-hero-letters span{ font-family:'Fraunces',serif; font-weight:600; font-size:clamp(60px,14vw,220px); color:var(--nd-ink); opacity:0.045; line-height:1; }
.nd-page .nd-activa-hero-inner{ position:relative; z-index:1; max-width:720px; margin:0 auto; }
.nd-page .nd-activa-hero .nd-eyebrow{ justify-content:center; }
.nd-page h1.nd-activa-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(38px,6.4vw,76px); line-height:1.02; letter-spacing:-0.01em; margin:22px 0 22px; color:var(--nd-ink); }
.nd-page h1.nd-activa-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-coral); }
.nd-page .nd-activa-hero-sub{ font-size:19px; line-height:1.6; opacity:0.85; margin:0 auto 34px; max-width:52ch; }

.nd-page .nd-activa-open-photo{ padding:0 0 20px; }
.nd-page .nd-activa-open-photo .nd-photo{ aspect-ratio:2.1/1; }
@media (max-width:700px){ .nd-page .nd-activa-open-photo .nd-photo{ aspect-ratio:4/3; } }

.nd-page .nd-activa-manifesto{ padding:100px 0 90px; text-align:center; }
.nd-page .nd-activa-manifesto .nd-eyebrow{ justify-content:center; margin-bottom:30px; }
.nd-page .nd-activa-manifesto .nd-trust-card{ text-align:left; max-width:760px; margin:0 auto; }
.nd-page .nd-activa-manifesto .nd-trust-card p{ max-width:none; }
.nd-page .nd-activa-manifesto .nd-trust-card p strong{ font-style:normal; color:var(--nd-brass); }
.nd-page .nd-activa-manifesto-note{ max-width:640px; margin:40px auto 0; font-size:17.3px; line-height:1.65; opacity:0.75; }

.nd-page .nd-activa-steps{ padding:40px 0 60px; }

.nd-page .nd-activa-close{ position:relative; margin-top:120px; background:var(--nd-ink); color:var(--nd-foam); padding:130px 0 80px; overflow:hidden; text-align:center; }
.nd-page .nd-activa-close::before{ content:""; position:absolute; top:-220px; left:50%; transform:translateX(-50%); width:900px; height:900px; border-radius:50%; background:radial-gradient(circle, rgba(255,90,54,0.16), transparent 65%); }
.nd-page .nd-activa-close-inner{ position:relative; z-index:2; }
.nd-page .nd-activa-close .nd-eyebrow{ color:var(--nd-brass); justify-content:center; }
.nd-page .nd-activa-close .nd-eyebrow::before{ background:var(--nd-brass); box-shadow:0 0 0 4px rgba(201,162,39,0.2); }
.nd-page .nd-activa-close h2{ font-family:'Fraunces', serif; font-weight:400; font-style:italic; font-size:clamp(30px,5vw,56px); line-height:1.1; margin:24px auto 26px; max-width:20ch; color:var(--nd-foam); }
.nd-page .nd-activa-close-sub{ font-size:18.7px; opacity:0.8; max-width:56ch; margin:0 auto 34px; }
.nd-page .nd-activa-letters-row{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin:0 0 30px; }
.nd-page .nd-activa-letters-row span{ width:52px; height:52px; border-radius:14px; background:rgba(246,242,233,0.08); border:1px solid var(--nd-line-light); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; font-size:24px; color:var(--nd-brass); }
.nd-page .nd-activa-close-note{ font-size:15px; opacity:0.55; max-width:56ch; margin:0 auto 36px; }
.nd-page .nd-activa-close .nd-btn-primary{ background:var(--nd-foam); color:var(--nd-ink); box-shadow:0 10px 24px -10px rgba(0,0,0,0.4); }
.nd-page .nd-activa-close .nd-btn-primary:hover{ background:var(--nd-coral); color:var(--nd-foam); }

@media (max-width:560px){ .nd-page .nd-activa-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página CONTACTO (/contacto/)
   ========================================================================== */
.nd-page .nd-contact-hero{ position:relative; padding:100px 0 70px; text-align:center; overflow:hidden; background:radial-gradient(1100px 600px at 50% -10%, rgba(255,90,54,0.08), transparent 60%); }
.nd-page .nd-contact-hero .nd-eyebrow{ justify-content:center; }
.nd-page h1.nd-contact-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(36px,5.6vw,62px); line-height:1.04; letter-spacing:-0.01em; margin:22px 0 14px; color:var(--nd-ink); }
.nd-page .nd-contact-hero-sub{ font-size:19px; opacity:0.8; margin:0 auto; }

.nd-page .nd-contact{ padding:20px 0 110px; }
.nd-page .nd-contact-info-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:44px; }
.nd-page .nd-contact-card{
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:22px; padding:30px 28px;
  display:flex; flex-direction:column; gap:14px; align-items:flex-start;
  transition:transform 0.35s ease, box-shadow 0.35s ease;
}
.nd-page .nd-contact-card:hover{ transform:translateY(-5px); box-shadow:0 24px 40px -26px rgba(11,32,39,0.28); }
.nd-page .nd-contact-icon{ width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(18,103,111,0.12); color:var(--nd-petrol); }
.nd-page .nd-contact-card:nth-child(2) .nd-contact-icon{ background:rgba(255,90,54,0.12); color:var(--nd-coral); }
.nd-page .nd-contact-card:nth-child(3) .nd-contact-icon{ background:rgba(201,162,39,0.16); color:var(--nd-brass); }
.nd-page .nd-contact-icon svg{ width:22px; height:22px; fill:currentColor; }
.nd-page .nd-contact-card strong{ font-family:'IBM Plex Mono', monospace; font-size:15px; letter-spacing:0.08em; text-transform:uppercase; opacity:0.55; font-weight:500; }
.nd-page .nd-contact-card span, .nd-page .nd-contact-card a{ font-family:'Fraunces',serif; font-size:19.5px; font-weight:500; color:var(--nd-ink); text-decoration:none; line-height:1.35; }
.nd-page .nd-contact-card a:hover{ color:var(--nd-coral); }
@media (max-width:900px){ .nd-page .nd-contact-info-row{ grid-template-columns:1fr; } }

.nd-page .nd-contact-map{ border-radius:26px; overflow:hidden; border:1px solid var(--nd-line); box-shadow:0 24px 50px -30px rgba(11,32,39,0.3); }
.nd-page .nd-contact-map iframe{ width:100%; height:420px; border:0; display:block; filter:grayscale(0.25) contrast(1.05); }
@media (max-width:560px){ .nd-page .nd-contact-hero{ padding-top:120px; } .nd-page .nd-contact-map iframe{ height:320px; } }

/* ==========================================================================
   NUEVO DISEÑO — página DISEÑO WEB (/diseno-web-cantabria/)
   ========================================================================== */
.nd-page .nd-dweb-hero{ position:relative; padding:70px 0 90px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-dweb-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.nd-page h1.nd-dweb-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(34px,5vw,58px); line-height:1.05; letter-spacing:-0.01em; margin:22px 0 22px; color:var(--nd-ink); }
.nd-page h1.nd-dweb-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-dweb-hero-sub{ font-size:18.7px; line-height:1.6; opacity:0.85; margin:0 0 34px; max-width:46ch; }
@media (max-width:920px){ .nd-page .nd-dweb-hero-grid{ grid-template-columns:1fr; } .nd-page .nd-dweb-browser-wrap{ order:-1; max-width:380px; margin:0 auto; } }

/* navegador de wireframe animado */
.nd-page .nd-dweb-browser-wrap{ position:relative; width:100%; animation:nd-dweb-float 5s ease-in-out infinite; }
@keyframes nd-dweb-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
.nd-page .nd-dweb-browser{ background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:18px; overflow:hidden; box-shadow:0 30px 50px -28px rgba(11,32,39,0.28); }
.nd-page .nd-dweb-browser-bar{ display:flex; align-items:center; gap:6px; padding:12px 16px; border-bottom:1px solid var(--nd-line); }
.nd-page .nd-dweb-browser-bar span{ width:9px; height:9px; border-radius:50%; background:var(--nd-line); }
.nd-page .nd-dweb-browser-body{ padding:22px; display:flex; flex-direction:column; gap:12px; }
.nd-page .nd-dweb-block{ background:var(--nd-line); border-radius:6px; opacity:0; animation:nd-block-in 0.6s ease forwards; }
.nd-page .nd-dweb-block.b1{ height:34px; width:55%; background:var(--nd-coral); animation:nd-block-in-coral 0.6s ease forwards 0.1s, nd-pulse-soft 3.2s ease-in-out infinite 0.8s; }
.nd-page .nd-dweb-block.tag{ height:20px; width:32%; border-radius:100px; background:var(--nd-brass); animation:nd-block-in-brass 0.6s ease forwards 0.24s, nd-pulse-soft 3.2s ease-in-out infinite 1.1s; }
.nd-page .nd-dweb-block.b2{ height:12px; width:80%; animation-delay:0.4s; }
.nd-page .nd-dweb-block.b3{ height:12px; width:65%; animation-delay:0.55s; }
.nd-page .nd-dweb-block.b4{ height:90px; width:100%; margin-top:8px; background:var(--nd-petrol); animation:nd-block-in-petrol 0.6s ease forwards 0.72s, nd-shift-soft 4.4s ease-in-out infinite 1.4s; }
.nd-page .nd-dweb-block.b5{ height:34px; width:40%; margin-top:6px; border-radius:100px; background:var(--nd-ink); animation:nd-block-in-ink 0.6s ease forwards 0.98s; }
@keyframes nd-block-in{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
@keyframes nd-block-in-coral{ from{ opacity:0; transform:translateY(10px); } to{ opacity:0.85; transform:translateY(0); } }
@keyframes nd-block-in-brass{ from{ opacity:0; transform:translateY(10px); } to{ opacity:0.9; transform:translateY(0); } }
@keyframes nd-block-in-petrol{ from{ opacity:0; transform:translateY(10px); } to{ opacity:0.18; transform:translateY(0); } }
@keyframes nd-block-in-ink{ from{ opacity:0; transform:translateY(10px); } to{ opacity:0.9; transform:translateY(0); } }
@keyframes nd-pulse-soft{ 0%,100%{ opacity:0.85; } 50%{ opacity:1; } }
@keyframes nd-shift-soft{ 0%,100%{ opacity:0.16; transform:scale(1); } 50%{ opacity:0.24; transform:scale(1.015); } }

.nd-page .nd-dweb-badge{
  position:absolute; top:-18px; right:-18px; z-index:3;
  width:56px; height:56px; border-radius:50%; background:var(--nd-brass); color:var(--nd-foam);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 16px 30px -12px rgba(201,162,39,0.55);
  animation:nd-badge-bounce 2.6s ease-in-out infinite;
}
.nd-page .nd-dweb-badge svg{ width:24px; height:24px; }
@keyframes nd-badge-bounce{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-7px) rotate(-6deg); } }

.nd-page .nd-dweb-problem{ padding:90px 0 40px; }
.nd-page .nd-dweb-problem-intro{ max-width:680px; margin:0 auto 56px; text-align:center; }
.nd-page .nd-dweb-problem-intro .nd-eyebrow{ justify-content:center; }
.nd-page .nd-dweb-problem-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-dweb-problem-intro p{ font-size:18px; opacity:0.8; margin:0 auto; max-width:56ch; }
.nd-page .nd-dweb-problem-note{ text-align:center; max-width:56ch; margin:44px auto 0; font-size:18px; opacity:0.8; }

.nd-page .nd-dweb-process{ padding:90px 0 40px; }
.nd-page .nd-dweb-process-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:start; }
.nd-page .nd-dweb-process-intro{ max-width:560px; margin-bottom:36px; }
.nd-page .nd-dweb-process-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-dweb-process-intro p{ font-size:18px; opacity:0.82; margin:0; max-width:60ch; }
.nd-page .nd-dweb-process-intro p strong{ color:var(--nd-ink); }
.nd-page .nd-dweb-process-photo{ position:sticky; top:110px; }
.nd-page .nd-dweb-process-photo .nd-photo{ aspect-ratio:4/5; }
.nd-page .nd-dweb-process-photo .nd-photo img{ filter:none; }
.nd-page .nd-dweb-process-photo .nd-photo::after{ display:none; }
@media (max-width:900px){ .nd-page .nd-dweb-process-grid{ grid-template-columns:1fr; } .nd-page .nd-dweb-process-photo{ position:static; max-width:380px; margin:0 auto; } }
.nd-page .nd-dweb-process-label{ font-family:'IBM Plex Mono',monospace; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; opacity:0.5; margin:0 0 24px; }

.nd-page .nd-dweb-process-list{ position:relative; display:flex; flex-direction:column; }
.nd-page .nd-dweb-process-list::before{ content:""; position:absolute; left:27px; top:28px; bottom:28px; width:2px; background:var(--nd-line); z-index:0; }
.nd-page .nd-dweb-process-step{ position:relative; z-index:1; display:grid; grid-template-columns:56px 1fr; gap:24px; padding:22px 0; }
.nd-page .nd-dweb-process-icon{ width:56px; height:56px; border-radius:50%; background:var(--nd-foam); border:2px solid var(--nd-line); display:flex; align-items:center; justify-content:center; color:var(--nd-petrol); flex-shrink:0; transition:background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease; }
.nd-page .nd-dweb-process-step.is-visible .nd-dweb-process-icon{ background:var(--nd-petrol); border-color:var(--nd-petrol); color:var(--nd-foam); transform:scale(1.06); }
.nd-page .nd-dweb-process-step:nth-child(2n).is-visible .nd-dweb-process-icon{ background:var(--nd-coral); border-color:var(--nd-coral); }
.nd-page .nd-dweb-process-icon svg{ width:24px; height:24px; }
.nd-page .nd-dweb-process-step h4{ font-family:'Fraunces',serif; font-weight:600; font-size:20.4px; margin:0 0 8px; color:var(--nd-ink); }
.nd-page .nd-dweb-process-step p{ font-size:17px; line-height:1.55; opacity:0.78; margin:0; max-width:56ch; }
@media (max-width:560px){ .nd-page .nd-dweb-process-list::before{ left:23px; } .nd-page .nd-dweb-process-step{ grid-template-columns:48px 1fr; gap:16px; } .nd-page .nd-dweb-process-icon{ width:48px; height:48px; } }

.nd-page .nd-dweb-types{ padding:40px 0 100px; }
.nd-page .nd-dweb-types-intro{ max-width:680px; margin-bottom:20px; }
.nd-page .nd-dweb-types-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-dweb-types-intro p{ font-size:18px; opacity:0.82; margin:0; max-width:60ch; }
.nd-page .nd-dweb-types-label{ font-family:'IBM Plex Mono',monospace; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; opacity:0.5; margin:32px 0 20px; }
.nd-page .nd-dweb-types-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.nd-page .nd-dweb-type-card{
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:22px; padding:32px 28px;
  display:flex; flex-direction:column; gap:16px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
}
.nd-page .nd-dweb-type-card:hover{ transform:translateY(-6px); box-shadow:0 24px 40px -26px rgba(11,32,39,0.28); }
.nd-page .nd-dweb-type-icon{ width:46px; height:46px; border-radius:14px; background:rgba(18,103,111,0.12); color:var(--nd-petrol); display:flex; align-items:center; justify-content:center; }
.nd-page .nd-dweb-type-card:nth-child(2) .nd-dweb-type-icon{ background:rgba(255,90,54,0.12); color:var(--nd-coral); }
.nd-page .nd-dweb-type-card:nth-child(3) .nd-dweb-type-icon{ background:rgba(201,162,39,0.16); color:var(--nd-brass); }
.nd-page .nd-dweb-type-icon svg{ width:24px; height:24px; }
.nd-page .nd-dweb-type-card h3{ font-family:'Fraunces',serif; font-weight:600; font-size:20.4px; margin:0; color:var(--nd-ink); }
.nd-page .nd-dweb-type-card p{ font-size:17px; line-height:1.55; opacity:0.78; margin:0; }
@media (max-width:900px){ .nd-page .nd-dweb-types-grid{ grid-template-columns:1fr; } }
.nd-page .nd-dweb-types-quote{ margin-top:50px; max-width:70ch; }

@media (max-width:560px){ .nd-page .nd-dweb-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página SEO (/agencia-seo-cantabria/)
   ========================================================================== */
.nd-page .nd-seo-hero{ position:relative; padding:70px 0 90px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-seo-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.nd-page h1.nd-seo-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(34px,5vw,58px); line-height:1.05; letter-spacing:-0.01em; margin:22px 0 22px; color:var(--nd-ink); }
.nd-page h1.nd-seo-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-seo-hero-sub{ font-size:18.7px; line-height:1.6; opacity:0.85; margin:0 0 34px; max-width:46ch; }
@media (max-width:920px){ .nd-page .nd-seo-hero-grid{ grid-template-columns:1fr; } .nd-page .nd-seo-scan{ order:-1; max-width:420px; margin:0 auto; } }

.nd-page .nd-seo-scan{ position:relative; width:100%; background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:18px; padding:30px 32px; overflow:hidden; box-shadow:0 30px 50px -28px rgba(11,32,39,0.24); }
.nd-page .nd-seo-scan-line{ height:12px; border-radius:6px; background:var(--nd-line); margin-bottom:16px; }
.nd-page .nd-seo-scan-line:nth-child(1){ width:78%; }
.nd-page .nd-seo-scan-line:nth-child(2){ width:95%; }
.nd-page .nd-seo-scan-line:nth-child(3){ width:60%; margin-bottom:0; }
.nd-page .nd-seo-scan-glass{ position:absolute; top:18px; left:-40px; width:36px; height:36px; animation:nd-seo-scan-move 4.5s ease-in-out infinite; }
.nd-page .nd-seo-scan-glass svg{ width:100%; height:100%; filter:drop-shadow(0 6px 10px rgba(11,32,39,0.25)); }
@keyframes nd-seo-scan-move{ 0%{ transform:translate(0,0); } 25%{ transform:translate(140px,10px); } 50%{ transform:translate(280px,50px); } 75%{ transform:translate(140px,90px); } 100%{ transform:translate(0,0); } }

.nd-page .nd-seo-problem{ padding:70px 0 90px; text-align:center; }
.nd-page .nd-seo-problem .nd-eyebrow{ justify-content:center; }
.nd-page .nd-seo-problem h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-seo-problem-intro{ max-width:640px; margin:0 auto 36px; font-size:18px; opacity:0.8; }
.nd-page .nd-seo-problem .nd-pain-list{ max-width:640px; margin:0 auto; text-align:left; }

.nd-page .nd-seo-change{ background:var(--nd-sage); padding:100px 0; }
.nd-page .nd-seo-change-intro{ max-width:720px; margin-bottom:20px; }
.nd-page .nd-seo-change-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:0 0 16px; color:var(--nd-ink); }
.nd-page .nd-seo-change-intro p{ font-size:18px; opacity:0.85; margin:0; max-width:70ch; }
.nd-page .nd-seo-change-intro p strong{ color:var(--nd-ink); }
.nd-page .nd-seo-change-label{ font-family:'IBM Plex Mono',monospace; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; opacity:0.5; margin:32px 0 20px; }
.nd-page .nd-seo-change-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .nd-page .nd-seo-change-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-seo-change-grid{ grid-template-columns:1fr; } }
.nd-page .nd-seo-change-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:20px; padding:28px 24px;
  display:flex; flex-direction:column; gap:14px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-seo-change-card:nth-child(2){ --accent: var(--nd-coral); }
.nd-page .nd-seo-change-card:nth-child(3){ --accent: var(--nd-brass); }
.nd-page .nd-seo-change-card:nth-child(5){ --accent: var(--nd-coral); }
.nd-page .nd-seo-change-card::before{
  content:""; position:absolute; bottom:-50px; left:-50px; width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 20%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-seo-change-card:hover{ transform:translateY(-5px); box-shadow:0 22px 36px -24px rgba(11,32,39,0.26); }
.nd-page .nd-seo-change-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-seo-change-icon{ position:relative; z-index:1; width:42px; height:42px; border-radius:12px; background:rgba(18,103,111,0.12); color:var(--nd-petrol); display:flex; align-items:center; justify-content:center; }
.nd-page .nd-seo-change-card:nth-child(2) .nd-seo-change-icon{ background:rgba(255,90,54,0.12); color:var(--nd-coral); }
.nd-page .nd-seo-change-card:nth-child(3) .nd-seo-change-icon{ background:rgba(201,162,39,0.16); color:var(--nd-brass); }
.nd-page .nd-seo-change-card:nth-child(4) .nd-seo-change-icon{ background:rgba(18,103,111,0.12); color:var(--nd-petrol); }
.nd-page .nd-seo-change-card:nth-child(5) .nd-seo-change-icon{ background:rgba(255,90,54,0.12); color:var(--nd-coral); }
.nd-page .nd-seo-change-icon svg{ width:22px; height:22px; }
.nd-page .nd-seo-change-card h4{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:18.7px; margin:0; color:var(--nd-ink); }
.nd-page .nd-seo-change-card p{ position:relative; z-index:1; font-size:16.5px; line-height:1.5; opacity:0.78; margin:0; }

.nd-page .nd-seo-steps{ padding:100px 0 60px; }
.nd-page .nd-seo-steps-intro{ max-width:680px; margin-bottom:20px; }
.nd-page .nd-seo-steps-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:0 0 16px; color:var(--nd-ink); }
.nd-page .nd-seo-steps-intro p{ font-size:18px; opacity:0.82; margin:0; }
.nd-page .nd-seo-steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px; }
.nd-page .nd-seo-step-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:20px; padding:26px 24px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-seo-step-card:nth-child(2){ --accent: var(--nd-coral); }
.nd-page .nd-seo-step-card:nth-child(3){ --accent: var(--nd-brass); }
.nd-page .nd-seo-step-card:nth-child(5){ --accent: var(--nd-coral); }
.nd-page .nd-seo-step-card:nth-child(6){ --accent: var(--nd-brass); }
.nd-page .nd-seo-step-card::before{
  content:""; position:absolute; top:-60px; right:-60px; width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-seo-step-card:hover{ transform:translateY(-6px); box-shadow:0 24px 40px -26px rgba(11,32,39,0.26); }
.nd-page .nd-seo-step-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-seo-step-num{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:52px; color:var(--accent); opacity:0.32; line-height:1; margin-bottom:6px; }
.nd-page .nd-seo-step-card h4{ font-family:'Fraunces',serif; font-weight:600; font-size:18.7px; margin:0 0 8px; color:var(--nd-ink); position:relative; z-index:1; }
.nd-page .nd-seo-step-card p{ font-size:16.5px; line-height:1.5; opacity:0.78; margin:0; position:relative; z-index:1; }
@media (max-width:900px){ .nd-page .nd-seo-steps-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .nd-page .nd-seo-steps-grid{ grid-template-columns:1fr; } }
.nd-page .nd-seo-steps-quote{ margin:40px 0 0; }

.nd-page .nd-seo-local{ background:var(--nd-sage); padding:100px 0; }
.nd-page .nd-seo-local-intro{ max-width:680px; margin-bottom:36px; }
.nd-page .nd-seo-local-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-seo-local-intro p{ font-size:18px; opacity:0.85; margin:0; max-width:64ch; }
.nd-page .nd-seo-local-intro p strong{ color:var(--nd-ink); }
.nd-page .nd-seo-map-card{ max-width:820px; margin:0 auto 44px; background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:22px; padding:18px; box-shadow:0 20px 40px -26px rgba(11,32,39,0.24); }
.nd-page .nd-seo-map-card img{ width:100%; border-radius:14px; display:block; }
.nd-page .nd-seo-map-caption{ text-align:center; font-size:14px; color:var(--nd-ink); opacity:0.6; margin:14px 6px 4px; }
.nd-page .nd-seo-local-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.nd-page .nd-seo-local-cell{
  position:relative; overflow:hidden;
  background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:20px; padding:26px 22px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-seo-local-cell:nth-child(2){ --accent: var(--nd-coral); }
.nd-page .nd-seo-local-cell:nth-child(3){ --accent: var(--nd-brass); }
.nd-page .nd-seo-local-cell:nth-child(4){ --accent: var(--nd-petrol); }
.nd-page .nd-seo-local-cell::before{
  content:""; position:absolute; top:-50px; right:-50px; width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-seo-local-cell:hover{ transform:translateY(-5px); box-shadow:0 22px 36px -24px rgba(11,32,39,0.24); }
.nd-page .nd-seo-local-cell:hover::before{ transform:scale(1.3); }
.nd-page .nd-seo-local-icon{ position:relative; z-index:1; width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); margin-bottom:16px; }
.nd-page .nd-seo-local-icon svg{ width:22px; height:22px; }
.nd-page .nd-seo-local-cell h4{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:17.85px; margin:0 0 8px; color:var(--nd-ink); }
.nd-page .nd-seo-local-cell p{ position:relative; z-index:1; font-size:16px; line-height:1.5; opacity:0.78; margin:0; }
@media (max-width:900px){ .nd-page .nd-seo-local-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-seo-local-grid{ grid-template-columns:1fr; } }

.nd-page .nd-seo-geo{ padding:100px 0 90px; }
.nd-page .nd-seo-geo-path{ position:relative; height:90px; margin:0 0 30px; }
.nd-page .nd-seo-geo-path svg{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.nd-page .nd-seo-geo-path .dot{ position:absolute; border-radius:50%; transform:translate(-50%,-50%); background:var(--nd-line); }
.nd-page .nd-seo-geo-path .dot.small{ width:6px; height:6px; }
.nd-page .nd-seo-geo-path .dot.main{ width:14px; height:14px; }
.nd-page .nd-seo-geo-path .dot.coral{ background:var(--nd-coral); }
.nd-page .nd-seo-geo-path .dot.brass{ background:var(--nd-brass); }
.nd-page .nd-seo-geo-path .dot.petrol{ background:var(--nd-petrol); }
.nd-page .nd-seo-geo-intro{ max-width:720px; margin-bottom:44px; }
.nd-page .nd-seo-geo-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-seo-geo-intro p{ font-size:18px; opacity:0.85; margin:0; max-width:72ch; }
.nd-page .nd-seo-geo-intro p strong{ color:var(--nd-ink); }
.nd-page .nd-seo-geo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .nd-page .nd-seo-geo-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-seo-geo-grid{ grid-template-columns:1fr; } }
.nd-page .nd-seo-geo-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:20px; padding:28px 24px;
  display:flex; flex-direction:column; gap:14px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
  --accent: var(--nd-coral);
}
.nd-page .nd-seo-geo-card:nth-child(2){ --accent: var(--nd-brass); }
.nd-page .nd-seo-geo-card:nth-child(3){ --accent: var(--nd-petrol); }
.nd-page .nd-seo-geo-card:nth-child(5){ --accent: var(--nd-brass); }
.nd-page .nd-seo-geo-card::before{
  content:""; position:absolute; top:-55px; right:-55px; width:150px; height:150px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-seo-geo-card:hover{ transform:translateY(-5px); box-shadow:0 22px 36px -24px rgba(11,32,39,0.26); }
.nd-page .nd-seo-geo-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-seo-geo-icon{ position:relative; z-index:1; width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(255,90,54,0.12); color:var(--nd-coral); }
.nd-page .nd-seo-geo-card:nth-child(2) .nd-seo-geo-icon{ background:rgba(201,162,39,0.16); color:var(--nd-brass); }
.nd-page .nd-seo-geo-card:nth-child(3) .nd-seo-geo-icon{ background:rgba(18,103,111,0.12); color:var(--nd-petrol); }
.nd-page .nd-seo-geo-card:nth-child(4) .nd-seo-geo-icon{ background:rgba(255,90,54,0.12); color:var(--nd-coral); }
.nd-page .nd-seo-geo-card:nth-child(5) .nd-seo-geo-icon{ background:rgba(201,162,39,0.16); color:var(--nd-brass); }
.nd-page .nd-seo-geo-icon svg{ width:22px; height:22px; }
.nd-page .nd-seo-geo-card h4{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:18.7px; margin:0; color:var(--nd-ink); }
.nd-page .nd-seo-geo-card p{ position:relative; z-index:1; font-size:16.5px; line-height:1.5; opacity:0.78; margin:0; }

.nd-page .nd-seo-gains{ padding:60px 0 100px; text-align:center; }
.nd-page .nd-seo-gains .nd-eyebrow{ justify-content:center; }
.nd-page .nd-seo-gains h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-seo-gains-intro{ max-width:640px; margin:0 auto; font-size:18px; opacity:0.82; }
.nd-page .nd-seo-gains .nd-chips{ justify-content:center; margin-top:40px; }
.nd-page .nd-seo-gains .nd-wp-quote{ margin:34px auto 0; text-align:center; max-width:56ch; }

@media (max-width:560px){ .nd-page .nd-seo-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página SEM (/agencia-sem-cantabria/)
   ========================================================================== */
.nd-page .nd-sem-hero{ position:relative; padding:70px 0 90px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-sem-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.nd-page h1.nd-sem-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(34px,5vw,58px); line-height:1.05; letter-spacing:-0.01em; margin:22px 0 18px; color:var(--nd-ink); }
.nd-page h1.nd-sem-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-sem-hero-lede{ font-weight:700; color:var(--nd-ink); font-size:18.7px; margin:0 0 14px; max-width:46ch; }
.nd-page .nd-sem-hero-sub{ font-size:18px; line-height:1.6; opacity:0.85; margin:0 0 34px; max-width:46ch; }
.nd-page .nd-sem-hero-photo{ position:relative; }
.nd-page .nd-sem-hero-photo .nd-photo{ aspect-ratio:4/5; }
@media (max-width:920px){ .nd-page .nd-sem-hero-grid{ grid-template-columns:1fr; } .nd-page .nd-sem-hero-photo{ order:-1; max-width:340px; margin:0 auto; } }

/* insignia con mini gráfico de barras ascendiendo */
.nd-page .nd-sem-chart-badge{
  position:absolute; z-index:3; bottom:18px; left:18px;
  background:var(--nd-foam); border-radius:14px; padding:14px 16px;
  display:flex; align-items:flex-end; gap:5px; height:52px;
  box-shadow:0 14px 30px -12px rgba(0,0,0,0.45);
}
.nd-page .nd-sem-chart-badge .bar{ width:7px; border-radius:3px 3px 0 0; background:var(--nd-coral); animation:nd-sem-bar-grow 2.4s ease-in-out infinite; }
.nd-page .nd-sem-chart-badge .bar:nth-child(1){ height:30%; animation-delay:0s; background:var(--nd-petrol); }
.nd-page .nd-sem-chart-badge .bar:nth-child(2){ height:55%; animation-delay:0.15s; background:var(--nd-brass); }
.nd-page .nd-sem-chart-badge .bar:nth-child(3){ height:40%; animation-delay:0.3s; background:var(--nd-petrol); }
.nd-page .nd-sem-chart-badge .bar:nth-child(4){ height:80%; animation-delay:0.45s; background:var(--nd-coral); }
@keyframes nd-sem-bar-grow{ 0%,100%{ transform:scaleY(0.85); } 50%{ transform:scaleY(1); } }

.nd-page .nd-sem-manifesto{ padding:90px 0 0; text-align:center; }
.nd-page .nd-sem-manifesto .nd-eyebrow{ justify-content:center; }
.nd-page .nd-sem-manifesto h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px auto 16px; max-width:22ch; color:var(--nd-ink); }
.nd-page .nd-sem-manifesto-intro{ max-width:680px; margin:0 auto; font-size:18px; opacity:0.82; }
.nd-page .nd-sem-manifesto .nd-wp-quote{ max-width:56ch; margin:26px auto 110px; text-align:center; }
.nd-page .nd-sem-manifesto-note{
  max-width:620px; margin:70px auto 90px; padding:26px 30px; text-align:left;
  border-left:3px solid var(--nd-coral); background:var(--nd-foam-dim); border-radius:0 16px 16px 0;
  font-size:17.5px; line-height:1.6; color:var(--nd-ink); opacity:0.9;
}

.nd-page .nd-sem-steps{ padding:0 0 100px; }
.nd-page .nd-sem-steps-intro{ max-width:680px; margin-bottom:36px; }
.nd-page .nd-sem-steps-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:0 0 16px; color:var(--nd-ink); }
.nd-page .nd-sem-steps-intro p{ font-size:18px; opacity:0.82; margin:0; }
.nd-page .nd-sem-steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .nd-page .nd-sem-steps-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-sem-steps-grid{ grid-template-columns:1fr; } }
.nd-page .nd-sem-step-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:20px; padding:26px 24px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-sem-step-card:nth-child(2){ --accent: var(--nd-coral); }
.nd-page .nd-sem-step-card:nth-child(3){ --accent: var(--nd-brass); }
.nd-page .nd-sem-step-card:nth-child(5){ --accent: var(--nd-coral); }
.nd-page .nd-sem-step-card:nth-child(6){ --accent: var(--nd-brass); }
.nd-page .nd-sem-step-card::before{
  content:""; position:absolute; top:-60px; right:-60px; width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-sem-step-card:hover{ transform:translateY(-6px); box-shadow:0 24px 40px -26px rgba(11,32,39,0.26); }
.nd-page .nd-sem-step-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-sem-step-num{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:52px; color:var(--accent); opacity:0.32; line-height:1; margin-bottom:6px; }
.nd-page .nd-sem-step-card h4{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:18.7px; margin:0 0 8px; color:var(--nd-ink); }
.nd-page .nd-sem-step-card p{ position:relative; z-index:1; font-size:16.5px; line-height:1.5; opacity:0.78; margin:0; }

.nd-page .nd-sem-channels{ background:var(--nd-sage); padding:100px 0; }
.nd-page .nd-sem-channels-intro{ max-width:680px; margin-bottom:44px; }
.nd-page .nd-sem-channels-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-sem-channels-intro p{ font-size:18px; opacity:0.85; margin:0; max-width:64ch; }
.nd-page .nd-sem-channels-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .nd-page .nd-sem-channels-grid{ grid-template-columns:1fr; } }
.nd-page .nd-sem-channel-card{ background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:20px; padding:28px 26px; display:flex; flex-direction:column; gap:16px; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.nd-page .nd-sem-channel-card:hover{ transform:translateY(-5px); box-shadow:0 22px 36px -24px rgba(11,32,39,0.22); }
.nd-page .nd-sem-channel-logo{ width:58px; height:58px; border-radius:14px; background:#fff; border:1px solid var(--nd-line); padding:12px; display:flex; align-items:center; justify-content:center; }
.nd-page .nd-sem-channel-logo img{ width:100%; height:100%; object-fit:contain; }
.nd-page .nd-sem-channel-card h3{ font-family:'Fraunces',serif; font-weight:600; font-size:20.4px; margin:0; color:var(--nd-ink); }
.nd-page .nd-sem-channel-card p{ font-size:16.5px; line-height:1.55; opacity:0.8; margin:0; }
.nd-page .nd-sem-channels .nd-wp-quote{ margin-top:44px; max-width:60ch; }
.nd-page .nd-sem-channels-cta{ margin-top:36px; }

.nd-page .nd-sem-after{ padding:100px 0 90px; }
.nd-page .nd-sem-after-intro{ max-width:680px; margin-bottom:20px; }
.nd-page .nd-sem-after-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; color:var(--nd-ink); }
.nd-page .nd-sem-after-intro p{ font-size:18px; opacity:0.82; margin:0; max-width:60ch; }
.nd-page .nd-sem-after-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
@media (max-width:900px){ .nd-page .nd-sem-after-grid{ grid-template-columns:1fr; } }
.nd-page .nd-sem-after-card{ background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:20px; padding:26px 24px; display:flex; flex-direction:column; gap:14px; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.nd-page .nd-sem-after-card:hover{ transform:translateY(-5px); box-shadow:0 22px 36px -24px rgba(11,32,39,0.22); }
.nd-page .nd-sem-after-icon{ width:40px; height:40px; color:var(--nd-coral); }
.nd-page .nd-sem-after-icon svg{ width:100%; height:100%; }
.nd-page .nd-sem-after-card h4{ font-family:'Fraunces',serif; font-weight:600; font-size:18px; margin:0; color:var(--nd-ink); }
.nd-page .nd-sem-after-card p{ font-size:16.5px; line-height:1.5; opacity:0.78; margin:0; }
.nd-page .nd-sem-after .nd-wp-quote{ margin-top:40px; max-width:60ch; }

.nd-page .nd-sem-when{ padding:20px 0 100px; }
.nd-page .nd-sem-when-label{ font-family:'IBM Plex Mono',monospace; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; opacity:0.6; margin:0 0 22px; }
.nd-page .nd-sem-when-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:820px; }
@media (max-width:640px){ .nd-page .nd-sem-when-grid{ grid-template-columns:1fr; } }
.nd-page .nd-sem-when-card{
  position:relative; overflow:hidden;
  display:flex; align-items:center; gap:18px;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:18px; padding:22px 24px;
  transition:transform 0.35s ease, box-shadow 0.35s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-sem-when-card:nth-child(2){ --accent: var(--nd-coral); }
.nd-page .nd-sem-when-card:nth-child(3){ --accent: var(--nd-brass); }
.nd-page .nd-sem-when-card:nth-child(4){ --accent: var(--nd-coral); }
.nd-page .nd-sem-when-card::before{
  content:""; position:absolute; top:-40px; right:-40px; width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-sem-when-card:hover{ transform:translateY(-4px); box-shadow:0 20px 34px -22px rgba(11,32,39,0.24); }
.nd-page .nd-sem-when-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-sem-when-check{ position:relative; z-index:1; width:38px; height:38px; border-radius:50%; background:var(--accent); color:var(--nd-foam); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nd-page .nd-sem-when-check svg{ width:18px; height:18px; }
.nd-page .nd-sem-when-card span.txt{ position:relative; z-index:1; font-size:17.3px; font-weight:600; color:var(--nd-ink); line-height:1.35; }

@media (max-width:560px){ .nd-page .nd-sem-hero{ padding-top:120px; } }

/* ==========================================================================
   NUEVO DISEÑO — página REDES SOCIALES (/agencia-redes-sociales-cantabria/)
   ========================================================================== */
.nd-page .nd-rrss-hero{ position:relative; padding:70px 0 90px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-rrss-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.nd-page h1.nd-rrss-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(34px,5vw,58px); line-height:1.05; letter-spacing:-0.01em; margin:22px 0 18px; color:var(--nd-ink); }
.nd-page h1.nd-rrss-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); }
.nd-page .nd-rrss-hero-lede{ font-weight:700; color:var(--nd-ink); font-size:18.7px; margin:0 0 14px; }
.nd-page .nd-rrss-hero-sub{ font-size:18px; line-height:1.6; opacity:0.85; margin:0 0 34px; max-width:46ch; }
.nd-page .nd-rrss-hero-photo{ position:relative; }
.nd-page .nd-rrss-hero-photo .nd-photo{ aspect-ratio:4/5; }
@media (max-width:920px){ .nd-page .nd-rrss-hero-grid{ grid-template-columns:1fr; } .nd-page .nd-rrss-hero-photo{ order:-1; max-width:320px; margin:0 auto; } }

/* reacciones flotantes sobre la foto del hero */
.nd-page .nd-rrss-reaction{ position:absolute; z-index:3; width:46px; height:46px; border-radius:50%; background:var(--nd-foam); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 26px -10px rgba(0,0,0,0.4); animation:nd-rrss-float 3.4s ease-in-out infinite; }
.nd-page .nd-rrss-reaction svg{ width:22px; height:22px; }
.nd-page .nd-rrss-reaction.r1{ top:-14px; right:36px; color:var(--nd-coral); animation-delay:0s; }
.nd-page .nd-rrss-reaction.r2{ top:40%; left:-16px; color:var(--nd-petrol); animation-delay:0.6s; }
.nd-page .nd-rrss-reaction.r3{ bottom:-14px; right:-10px; color:var(--nd-brass); animation-delay:1.2s; }
@keyframes nd-rrss-float{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-9px) rotate(-6deg); } }

.nd-page .nd-rrss-manifesto{ padding:90px 0 100px; text-align:center; }
.nd-page .nd-rrss-manifesto .nd-eyebrow{ justify-content:center; }
.nd-page .nd-rrss-manifesto h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.4vw,38px); line-height:1.2; margin:20px auto 16px; max-width:26ch; color:var(--nd-ink); }
.nd-page .nd-rrss-manifesto-intro{ max-width:680px; margin:0 auto 40px; font-size:18px; opacity:0.82; }
.nd-page .nd-rrss-manifesto-label{ font-weight:700; color:var(--nd-ink); font-size:17px; margin:0 0 20px; }

.nd-page .nd-rrss-opinion{ background:var(--nd-sage); border-radius:24px; padding:34px; max-width:600px; margin:0 auto; }
.nd-page .nd-rrss-opinion-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.nd-page .nd-rrss-opinion-list li{ background:var(--nd-foam); border-radius:100px; padding:16px 22px; display:flex; align-items:center; gap:14px; text-align:left; font-weight:600; font-size:17px; color:var(--nd-ink); }
.nd-page .nd-rrss-opinion-list .ico{ width:26px; height:26px; border-radius:50%; background:var(--nd-coral); color:var(--nd-foam); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nd-page .nd-rrss-opinion-list .ico svg{ width:14px; height:14px; }

.nd-page .nd-rrss-steps{ padding:0 0 100px; }
.nd-page .nd-rrss-steps-intro{ max-width:680px; margin-bottom:36px; text-align:center; }
.nd-page .nd-rrss-steps-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:0 0 16px; color:var(--nd-ink); }
.nd-page .nd-rrss-steps-intro p{ font-size:18px; opacity:0.82; margin:0 auto; }
.nd-page .nd-rrss-steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .nd-page .nd-rrss-steps-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-rrss-steps-grid{ grid-template-columns:1fr; } }
.nd-page .nd-rrss-step-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:20px; padding:26px 24px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-rrss-step-card:nth-child(2){ --accent: var(--nd-coral); }
.nd-page .nd-rrss-step-card:nth-child(3){ --accent: var(--nd-brass); }
.nd-page .nd-rrss-step-card:nth-child(5){ --accent: var(--nd-coral); }
.nd-page .nd-rrss-step-card:nth-child(6){ --accent: var(--nd-brass); }
.nd-page .nd-rrss-step-card::before{
  content:""; position:absolute; top:-60px; right:-60px; width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-rrss-step-card:hover{ transform:translateY(-6px); box-shadow:0 24px 40px -26px rgba(11,32,39,0.26); }
.nd-page .nd-rrss-step-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-rrss-step-num{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:52px; color:var(--accent); opacity:0.32; line-height:1; margin-bottom:6px; }
.nd-page .nd-rrss-step-card h4{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:18.7px; margin:0 0 8px; color:var(--nd-ink); }
.nd-page .nd-rrss-step-card p{ position:relative; z-index:1; font-size:16.5px; line-height:1.5; opacity:0.78; margin:0; }

.nd-page .nd-rrss-wave{ position:relative; height:110px; margin:-30px 0 10px; overflow:hidden; }
.nd-page .nd-rrss-wave svg{ position:absolute; top:0; left:-5%; width:110%; height:100%; }
.nd-page .nd-rrss-wave path{ animation:nd-rrss-wave-drift 9s ease-in-out infinite; }
@keyframes nd-rrss-wave-drift{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(-22px); } }

.nd-page .nd-rrss-types{ padding:0 0 100px; }
.nd-page .nd-rrss-types-intro{ max-width:680px; margin-bottom:20px; }
.nd-page .nd-rrss-types-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:0 0 16px; color:var(--nd-ink); }
.nd-page .nd-rrss-types-intro p{ font-size:18px; opacity:0.82; margin:0; max-width:64ch; }
.nd-page .nd-rrss-types-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px; }
@media (max-width:900px){ .nd-page .nd-rrss-types-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .nd-page .nd-rrss-types-grid{ grid-template-columns:1fr; } }
.nd-page .nd-rrss-type-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:20px; padding:26px 22px;
  display:flex; flex-direction:column; gap:14px;
  transition:transform 0.4s cubic-bezier(.16,.8,.24,1), box-shadow 0.4s ease;
  --accent: var(--nd-coral);
}
.nd-page .nd-rrss-type-card:nth-child(2){ --accent: var(--nd-brass); }
.nd-page .nd-rrss-type-card:nth-child(3){ --accent: var(--nd-petrol); }
.nd-page .nd-rrss-type-card:nth-child(4){ --accent: var(--nd-coral); }
.nd-page .nd-rrss-type-card::before{
  content:""; position:absolute; bottom:-50px; right:-50px; width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-rrss-type-card:hover{ transform:translateY(-5px); box-shadow:0 22px 36px -24px rgba(11,32,39,0.24); }
.nd-page .nd-rrss-type-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-rrss-type-icon{ position:relative; z-index:1; width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--accent); }
.nd-page .nd-rrss-type-icon svg{ width:22px; height:22px; }
.nd-page .nd-rrss-type-card h4{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:18px; margin:0; color:var(--nd-ink); }
.nd-page .nd-rrss-type-card p{ position:relative; z-index:1; font-size:16px; line-height:1.5; opacity:0.78; margin:0; }
.nd-page .nd-rrss-types .nd-wp-quote{ margin-top:40px; max-width:60ch; }
.nd-page .nd-rrss-types-cta{ margin-top:36px; }

/* Estrategia por canal — banda con foto de fondo (parallax) */
.nd-page .nd-rrss-channels{
  position:relative; color:var(--nd-foam); padding:110px 0;
  background-image:linear-gradient(rgba(11,32,39,0.88), rgba(11,32,39,0.88)), url('https://images.unsplash.com/photo-1543269865-cbf427effbad?w=1800&q=80');
  background-size:cover; background-position:center; background-attachment:fixed;
}
.nd-page .nd-rrss-channels .nd-eyebrow{ color:var(--nd-brass); }
.nd-page .nd-rrss-channels .nd-eyebrow::before{ background:var(--nd-brass); box-shadow:0 0 0 4px rgba(201,162,39,0.22); }
.nd-page .nd-rrss-channels h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.16; margin:20px 0 16px; max-width:20ch; color:var(--nd-foam); }
.nd-page .nd-rrss-channels-intro{ font-size:18px; opacity:0.85; margin:0 0 44px; max-width:64ch; }
.nd-page .nd-rrss-channels-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:820px; }
@media (max-width:700px){ .nd-page .nd-rrss-channels-grid{ grid-template-columns:1fr; } }
.nd-page .nd-rrss-channel-card{ background:rgba(246,242,233,0.06); border:1px solid rgba(246,242,233,0.18); border-radius:20px; padding:28px 26px; display:flex; flex-direction:column; gap:16px; backdrop-filter:blur(2px); }
.nd-page .nd-rrss-channel-logo{ width:58px; height:58px; border-radius:14px; background:#fff; padding:12px; display:flex; align-items:center; justify-content:center; }
.nd-page .nd-rrss-channel-logo img{ width:100%; height:100%; object-fit:contain; }
.nd-page .nd-rrss-channel-card h3{ font-family:'Fraunces',serif; font-weight:600; font-size:20.4px; margin:0; color:var(--nd-foam); }
.nd-page .nd-rrss-channel-card p{ font-size:16.5px; line-height:1.55; opacity:0.82; margin:0; }
.nd-page .nd-rrss-channels .nd-wp-quote{ color:var(--nd-brass); margin-top:44px; max-width:60ch; }

.nd-page .nd-rrss-expect{ padding:100px 0; }
.nd-page .nd-rrss-expect-intro{ max-width:680px; margin-bottom:20px; text-align:center; }
.nd-page .nd-rrss-expect-intro .nd-eyebrow{ justify-content:center; }
.nd-page .nd-rrss-expect-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3.4vw,38px); line-height:1.2; margin:20px auto 0; color:var(--nd-ink); }
.nd-page .nd-rrss-expect-list{ position:relative; max-width:640px; margin:56px auto 0; display:flex; flex-direction:column; }
.nd-page .nd-rrss-expect-list::before{ content:""; position:absolute; left:19px; top:6px; bottom:6px; width:2px; background:var(--nd-line); z-index:0; }
.nd-page .nd-rrss-expect-item{ position:relative; z-index:1; display:grid; grid-template-columns:40px 1fr; gap:18px; padding:16px 0; align-items:flex-start; }
.nd-page .nd-rrss-expect-dot{ width:40px; height:40px; border-radius:50%; background:var(--nd-foam); border:2px solid var(--nd-line); display:flex; align-items:center; justify-content:center; color:var(--nd-line); transition:background 0.3s ease, border-color 0.3s ease, color 0.3s ease; }
.nd-page .nd-rrss-expect-item.is-visible .nd-rrss-expect-dot{ background:var(--nd-coral); border-color:var(--nd-coral); color:var(--nd-foam); }
.nd-page .nd-rrss-expect-item:nth-child(2n).is-visible .nd-rrss-expect-dot{ background:var(--nd-petrol); border-color:var(--nd-petrol); }
.nd-page .nd-rrss-expect-dot svg{ width:18px; height:18px; }
.nd-page .nd-rrss-expect-item span.txt{ font-size:17.85px; font-weight:600; color:var(--nd-ink); line-height:1.45; padding-top:8px; }
.nd-page .nd-rrss-expect .nd-wp-quote{ text-align:center; margin:50px auto 0; max-width:56ch; }

@media (max-width:560px){ .nd-page .nd-rrss-hero{ padding-top:120px; } .nd-page .nd-rrss-channels{ background-attachment:scroll; } }

/* ==========================================================================
   NUEVO DISEÑO — LANDING "INFORME GRATUITO" (Meta Ads)
   Página aislada: cabecera del sitio normal, pie de página propio y mínimo
   (sin el formulario grande del footer.php, para no competir con el de aquí).
   ========================================================================== */
.nd-page .nd-lp-hero{ position:relative; padding:60px 0 90px; overflow:hidden; background:radial-gradient(1100px 600px at 85% -10%, rgba(255,90,54,0.10), transparent 60%); }
.nd-page .nd-lp-hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.nd-page h1.nd-lp-hero-title{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(30px,4.2vw,46px); line-height:1.12; letter-spacing:-0.01em; margin:20px 0 22px; color:var(--nd-ink); }
.nd-page h1.nd-lp-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-petrol); display:block; margin-top:16px; font-size:0.8em; }
.nd-page .nd-lp-hero-sub{ font-size:18.5px; line-height:1.6; opacity:0.85; margin:0 0 8px; max-width:48ch; }
.nd-page .nd-lp-hero-note{ display:flex; align-items:center; gap:10px; margin-top:26px; font-size:15px; opacity:0.6; }
.nd-page .nd-lp-hero-note svg{ width:16px; height:16px; color:var(--nd-petrol); flex-shrink:0; }
@media (max-width:920px){ .nd-page .nd-lp-hero-grid{ grid-template-columns:1fr; } }

/* Tarjeta del formulario */
.nd-page .nd-lp-form-card{ position:relative; background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:26px; padding:38px 36px; box-shadow:0 30px 60px -30px rgba(11,32,39,0.28); }
.nd-page .nd-lp-form-title{ font-family:'Fraunces',serif; font-weight:600; font-size:23.8px; margin:0 0 6px; color:var(--nd-ink); }
.nd-page .nd-lp-form-sub{ font-size:15.5px; opacity:0.7; margin:0 0 26px; }
.nd-page .nd-lp-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.nd-page .nd-lp-field{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.nd-page .nd-lp-field label{ font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.04em; text-transform:uppercase; opacity:0.6; }
.nd-page .nd-lp-field input, .nd-page .nd-lp-field textarea{
  font-family:'Instrument Sans',sans-serif; font-size:16px; color:var(--nd-ink);
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:12px;
  padding:13px 15px; width:100%; transition:border-color 0.2s ease, background 0.2s ease;
}
.nd-page .nd-lp-field input:focus, .nd-page .nd-lp-field textarea:focus{ outline:none; border-color:var(--nd-petrol); background:var(--nd-foam); }
.nd-page .nd-lp-field textarea{ resize:vertical; min-height:80px; }
.nd-page .nd-lp-consent{ display:flex; align-items:flex-start; gap:10px; margin:6px 0 22px; }
.nd-page .nd-lp-consent input{ margin-top:3px; flex-shrink:0; }
.nd-page .nd-lp-consent label{ font-size:14px; opacity:0.75; line-height:1.5; }
.nd-page .nd-lp-consent a{ text-decoration:underline; }
.nd-page .nd-lp-form-card .nd-btn-primary{ width:100%; justify-content:center; font-size:17px; padding:18px 30px; }
.nd-page .nd-lp-form-trust{ text-align:center; font-size:13.5px; opacity:0.55; margin:16px 0 0; }
.nd-page .nd-lp-notice{ border-radius:14px; padding:16px 20px; margin-bottom:22px; font-size:15px; font-weight:600; }
.nd-page .nd-lp-notice.success{ background:rgba(18,103,111,0.12); color:var(--nd-petrol); }
.nd-page .nd-lp-notice.error{ background:rgba(255,90,54,0.12); color:var(--nd-coral); }
@media (max-width:560px){ .nd-page .nd-lp-form-row{ grid-template-columns:1fr; } .nd-page .nd-lp-form-card{ padding:30px 24px; } }

/* Qué incluye el informe */
.nd-page .nd-lp-includes{ padding:20px 0 90px; }
.nd-page .nd-lp-includes-intro{ max-width:640px; margin:0 auto 44px; text-align:center; }
.nd-page .nd-lp-includes-intro .nd-eyebrow{ justify-content:center; }
.nd-page .nd-lp-includes-intro h2{ font-family:'Fraunces', serif; font-weight:500; font-size:clamp(24px,3.2vw,34px); line-height:1.2; margin:16px 0 0; color:var(--nd-ink); }
.nd-page .nd-lp-includes-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:20px; }
.nd-page .nd-lp-include-card{ flex:0 1 calc((100% - 40px)/3); }
@media (max-width:900px){ .nd-page .nd-lp-include-card{ flex-basis:calc((100% - 20px)/2); } }
@media (max-width:560px){ .nd-page .nd-lp-include-card{ flex-basis:100%; } }
.nd-page .nd-lp-include-card{
  position:relative; overflow:hidden;
  background:var(--nd-foam-dim); border:1px solid var(--nd-line); border-radius:20px; padding:26px 24px;
  display:flex; flex-direction:column; gap:12px;
  transition:transform 0.35s ease, box-shadow 0.35s ease;
  --accent: var(--nd-petrol);
}
.nd-page .nd-lp-include-card:nth-child(2){ --accent: var(--nd-coral); }
.nd-page .nd-lp-include-card:nth-child(3){ --accent: var(--nd-brass); }
.nd-page .nd-lp-include-card:nth-child(4){ --accent: var(--nd-coral); }
.nd-page .nd-lp-include-card:nth-child(5){ --accent: var(--nd-brass); }
.nd-page .nd-lp-include-card::before{
  content:""; position:absolute; top:-50px; right:-50px; width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);
  pointer-events:none; transition:transform 0.5s ease;
}
.nd-page .nd-lp-include-card:hover{ transform:translateY(-5px); box-shadow:0 22px 36px -24px rgba(11,32,39,0.24); }
.nd-page .nd-lp-include-card:hover::before{ transform:scale(1.3); }
.nd-page .nd-lp-include-icon{ position:relative; z-index:1; width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--accent); }
.nd-page .nd-lp-include-icon svg{ width:22px; height:22px; }
.nd-page .nd-lp-include-card h3{ position:relative; z-index:1; font-family:'Fraunces',serif; font-weight:600; font-size:18.7px; margin:0; color:var(--nd-ink); }
.nd-page .nd-lp-include-card p{ position:relative; z-index:1; font-size:15.5px; line-height:1.5; opacity:0.78; margin:0; }

/* Confianza / casos */
.nd-page .nd-lp-trust{ padding:0 0 40px; text-align:center; }
.nd-page .nd-lp-trust-stat{ font-family:'Fraunces',serif; font-weight:600; font-size:clamp(38px,5vw,56px); color:var(--nd-coral); line-height:1; margin-bottom:10px; }
.nd-page .nd-lp-trust-line{ font-size:17px; opacity:0.75; max-width:52ch; margin:0 auto 34px; }
.nd-page .nd-lp-logos-band{ overflow:hidden; padding:20px 0; background:var(--nd-foam-dim); border-top:1px solid var(--nd-line); border-bottom:1px solid var(--nd-line); }
.nd-page .nd-lp-logos-track{ display:flex; align-items:center; width:max-content; gap:64px; animation:nd-lp-logos-scroll 48s linear infinite; }
@keyframes nd-lp-logos-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.nd-page .nd-lp-logos-track img{ height:34px; width:auto; object-fit:contain; opacity:0.8; flex-shrink:0; transition:opacity 0.3s ease; }
.nd-page .nd-lp-logos-track img:hover{ opacity:1; }

/* CTA de cierre corto */
.nd-page .nd-lp-closing{ position:relative; background:var(--nd-ink); color:var(--nd-foam); padding:70px 0; text-align:center; overflow:hidden; }
.nd-page .nd-lp-closing::before{ content:""; position:absolute; top:-180px; left:50%; transform:translateX(-50%); width:700px; height:700px; border-radius:50%; background:radial-gradient(circle, rgba(255,90,54,0.16), transparent 65%); }
.nd-page .nd-lp-closing-inner{ position:relative; z-index:1; }
.nd-page .nd-lp-closing h2{ font-family:'Fraunces', serif; font-weight:400; font-style:italic; font-size:clamp(24px,3.4vw,36px); line-height:1.25; margin:0 auto 30px; max-width:24ch; color:var(--nd-foam); }

/* Pie mínimo propio de la landing (sin nav ni formulario) */
.nd-lp-footer{ background:#0B2027; color:rgba(246,242,233,0.6); padding:34px 0; text-align:center; font-size:13.5px; }
.nd-lp-footer a{ color:rgba(246,242,233,0.8); text-decoration:underline; }
.nd-lp-footer .links{ display:flex; justify-content:center; gap:22px; flex-wrap:wrap; margin-top:10px; }

@media (max-width:560px){ .nd-page .nd-lp-hero{ padding-top:110px; } }

/* ==========================================================================
   NUEVO DISEÑO — AGENCIA DE INFLUENCERS EN CANTABRIA
   Página aislada dentro del sistema nd- (misma arquitectura: nd-wrap,
   nd-eyebrow, nd-btn-primary, nd-photo, nd-final, nd-rrss-expect-list...)
   pero con su propia paleta más fresca: fondo blanco en vez de crema,
   y los 3 colores que pidió Diana + un 4º acento rosa para dar chispa
   puntual (etiquetas, hover). Al repetir las clases .nd-page.inf-page en
   el <main>, estas variables SOBRESCRIBEN a las de .nd-page de más arriba
   en ese elemento (misma especificidad, pero definidas después = ganan),
   así que TODOS los componentes nd- ya existentes (botones, fotos,
   sección final, listas de pasos...) se re-colorean solos, sin tocarlos.
   ========================================================================== */
.nd-page.inf-page{
  --nd-foam:#FFFFFF;
  --nd-foam-dim:#F7F3EF;
  --nd-coral:#F96B4E;
  --nd-petrol:#16676F;
  --nd-brass:#F4B740;
  --nd-line: rgba(11,32,39,0.10);
  --inf-pink:#FF3D78; /* acento adicional, uso puntual (etiquetas / hover) */
}

/* ---------- HERO con vídeo ---------- */
.inf-page .inf-hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; background:var(--nd-ink); }
.inf-page .inf-hero-media{ position:absolute; inset:0; z-index:0; }
.inf-page .inf-hero-media video, .inf-page .inf-hero-media img{ width:100%; height:100%; object-fit:cover; }
.inf-page .inf-hero-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,32,39,0.25) 0%, rgba(11,32,39,0.55) 55%, rgba(11,32,39,0.92) 100%); }
.inf-page .inf-hero-inner{ position:relative; z-index:2; padding:180px 0 110px; width:100%; }
.inf-page .inf-hero .nd-eyebrow{ color:var(--nd-foam); }
.inf-page .inf-hero .nd-eyebrow::before{ background:var(--inf-pink); box-shadow:0 0 0 4px rgba(255,61,120,0.25); }
.inf-page h1.inf-hero-title{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(34px,5.6vw,72px); line-height:1.05; letter-spacing:-0.02em; color:var(--nd-foam); margin:22px 0 0; max-width:16ch; }
.inf-page h1.inf-hero-title em{ font-style:italic; font-weight:400; color:var(--nd-coral); }
/* Eslogan secundario: estilo propio, distinto del H1, para que no lea como una repetición */
.inf-page .inf-hero-tagline{ font-family:'Fraunces',serif; font-weight:400; font-style:italic; font-size:clamp(19px,2.3vw,26px); line-height:1.4; color:var(--nd-brass); margin:14px 0 22px; max-width:32ch; }
.inf-page .inf-hero-tagline em{ font-style:italic; color:var(--nd-coral); }
.inf-page .inf-hero-sub{ font-size:17.5px; line-height:1.6; color:rgba(246,242,233,0.82); max-width:52ch; margin:0 0 40px; }
.inf-page .inf-hero-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:20px 24px; }
.inf-page .inf-hero-actions .nd-btn-ghost{ color:var(--nd-foam); border-color:rgba(246,242,233,0.4); }
.inf-page .inf-hero-actions .nd-btn-ghost:hover{ border-color:var(--nd-coral); }
.inf-page .inf-scroll-cue{ position:absolute; z-index:2; bottom:28px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(246,242,233,0.6); font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.12em; text-transform:uppercase; }
.inf-page .inf-scroll-cue svg{ width:14px; height:14px; animation:inf-bounce 1.8s ease-in-out infinite; }
@keyframes inf-bounce{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(7px); } }
@media (max-width:700px){
  .inf-page .inf-hero-inner{ padding:130px 0 60px; }
  .inf-page .inf-scroll-cue{ display:none; } /* en móvil no cabe holgado junto a los botones: mejor quitarlo que apretar */
  .inf-page .inf-hero-actions{ flex-direction:column; align-items:flex-start; gap:18px; }
}

/* Botones más contenidos en móvil — en pantalla pequeña el tamaño de escritorio se ve desproporcionado */
@media (max-width:600px){
  .inf-page .nd-btn-primary{ padding:14px 24px; font-size:14px; }
  .inf-page .nd-btn-ghost{ font-size:15.5px; }
}

/* ---------- Frase de posicionamiento ---------- */
.inf-page .inf-statement{ padding:110px 0; text-align:center; }
.inf-page .inf-statement p{ font-family:'Fraunces',serif; font-weight:400; font-size:clamp(24px,3.6vw,42px); line-height:1.3; max-width:20ch; margin:0 auto; color:var(--nd-ink); }
.inf-page .inf-statement em{ font-style:italic; color:var(--nd-petrol); }

/* ---------- Split "Soy marca" / "Soy creador" ---------- */
.inf-page .inf-split{ padding:20px 0 120px; }
.inf-page .inf-split-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.inf-page .inf-split-card{ position:relative; border-radius:26px; overflow:hidden; min-height:480px; display:flex; align-items:flex-end; }
.inf-page .inf-split-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(0.25) contrast(1.05) brightness(0.92); }
.inf-page .inf-split-card::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,32,39,0.08) 0%, rgba(11,32,39,0.92) 92%); z-index:1; }
.inf-page .inf-split-card-body{ position:relative; z-index:2; padding:40px; color:var(--nd-foam); }
.inf-page .inf-split-tag{ font-family:'IBM Plex Mono',monospace; font-size:13.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--nd-foam); background:var(--nd-coral); display:inline-block; padding:5px 12px; border-radius:100px; margin-bottom:16px; }
.inf-page .inf-split-card[data-accent="petrol"] .inf-split-tag{ background:var(--nd-petrol); }
.inf-page .inf-split-card h3{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(24px,2.8vw,34px); margin:0 0 12px; line-height:1.15; }
.inf-page .inf-split-card p{ font-size:16px; line-height:1.55; opacity:0.85; max-width:38ch; margin:0 0 24px; }
.inf-page .inf-split-card .nd-btn-primary{ background:var(--nd-foam); color:var(--nd-ink); box-shadow:0 10px 24px -10px rgba(0,0,0,0.4); }
.inf-page .inf-split-card .nd-btn-primary:hover{ background:var(--nd-coral); color:var(--nd-foam); }
@media (max-width:860px){
  .inf-page .inf-split{ padding-bottom:70px; }
  .inf-page .inf-split-grid{ grid-template-columns:1fr; gap:40px; }
  .inf-page .inf-split-card{ min-height:420px; }
}

/* ---------- Qué hacemos: moodboard visual + flechas hacia los textos ---------- */
.inf-page .inf-showcase{ padding:20px 0 130px; }
.inf-page .inf-services-head{ max-width:640px; margin:0 0 68px; }
.inf-page .inf-services-head h2{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,3.4vw,42px); line-height:1.15; margin:18px 0 0; color:var(--nd-ink); }

.inf-page .inf-showcase-grid{ display:grid; grid-template-columns:1fr 400px 1fr; gap:14px; align-items:center; }
.inf-page .inf-showcase-col{ display:flex; flex-direction:column; gap:64px; }
.inf-page .inf-showcase-col.left{ align-items:flex-end; text-align:right; }
.inf-page .inf-showcase-col.right{ align-items:flex-start; text-align:left; }

.inf-page .inf-showcase-item{ max-width:280px; --accent:var(--nd-coral); }
.inf-page .inf-showcase-item[data-accent="petrol"]{ --accent:var(--nd-petrol); }
.inf-page .inf-showcase-item[data-accent="brass"]{ --accent:var(--nd-brass); }
.inf-page .inf-showcase-item .inf-arrow{ display:block; width:48px; height:20px; color:var(--accent); margin-bottom:12px; }
/* Columna izquierda: el texto está alineado a la derecha (pegado al collage), pero un
   <svg> de ancho fijo no hereda ese alineado por sí solo — sin esto se quedaba pegado
   al lado contrario del collage. Al ir la flecha DESPUÉS del texto aquí, el margen es
   arriba, no abajo. */
.inf-page .inf-showcase-col.left .inf-arrow{ margin-left:auto; margin-top:14px; margin-bottom:0; }
.inf-page .inf-showcase-item h3{ font-family:'Fraunces',serif; font-weight:600; font-size:20.5px; margin:0 0 8px; color:var(--nd-ink); line-height:1.2; }
.inf-page .inf-showcase-item p{ font-size:15px; line-height:1.55; opacity:0.75; margin:0; }

/* Collage central: mosaico con ligero giro en cada foto, efecto "moodboard" */
.inf-page .inf-showcase-collage{ position:relative; display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:92px; gap:12px; }
.inf-page .inf-showcase-collage::before{ content:""; position:absolute; z-index:0; top:-60px; left:-60px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle, rgba(249,107,78,0.16), transparent 70%); pointer-events:none; }
.inf-page .inf-showcase-collage::after{ content:""; position:absolute; z-index:0; bottom:-60px; right:-60px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle, rgba(22,103,111,0.16), transparent 70%); pointer-events:none; }
.inf-page .inf-showcase-collage img{ position:relative; z-index:1; width:100%; height:100%; object-fit:cover; border-radius:16px; box-shadow:0 16px 30px -18px rgba(11,32,39,0.4); border:4px solid var(--nd-foam); transition:transform 0.35s ease, box-shadow 0.35s ease; }
.inf-page .inf-showcase-collage img:hover{ z-index:2; box-shadow:0 20px 36px -14px rgba(11,32,39,0.45); }
.inf-page .inf-showcase-collage .t1{ grid-column:1/2; grid-row:1/3; transform:rotate(-3deg); }
.inf-page .inf-showcase-collage .t2{ grid-column:2/3; grid-row:1/2; transform:rotate(2deg); }
.inf-page .inf-showcase-collage .t3{ grid-column:2/3; grid-row:2/4; transform:rotate(-2deg); }
.inf-page .inf-showcase-collage .t4{ grid-column:1/2; grid-row:3/5; transform:rotate(2deg); }
.inf-page .inf-showcase-collage .t5{ grid-column:2/3; grid-row:4/6; transform:rotate(-1deg); }
.inf-page .inf-showcase-collage .t6{ grid-column:1/2; grid-row:5/6; transform:rotate(3deg); }
.inf-page .inf-showcase-collage img:hover{ transform:scale(1.05) rotate(0deg); }

@media (max-width:980px){
  .inf-page .inf-showcase{ padding-top:60px; }
  .inf-page .inf-showcase-grid{ grid-template-columns:1fr; }
  .inf-page .inf-showcase-collage{ order:-1; max-width:440px; margin:0 auto 20px; }
  .inf-page .inf-showcase-col.left, .inf-page .inf-showcase-col.right{ align-items:center; text-align:center; gap:40px; }
  .inf-page .inf-showcase-item{ max-width:440px; }
  .inf-page .inf-showcase-item .inf-arrow, .inf-page .inf-showcase-col.right .inf-arrow{ transform:rotate(-90deg); margin:0 auto 10px; }
}
@media (max-width:480px){ .inf-page .inf-showcase-collage{ grid-auto-rows:74px; } .inf-page .inf-showcase-collage.is-quad{ grid-auto-rows:130px; } }

/* ---------- Por qué Cantabria ---------- */
.inf-page .inf-local{ position:relative; padding:110px 0; background:var(--nd-ink); color:var(--nd-foam); overflow:hidden; }
.inf-page .inf-local-bg{ position:absolute; inset:0; z-index:0; }
.inf-page .inf-local-bg img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1) brightness(0.4); }
.inf-page .inf-local-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,32,39,0.96) 30%, rgba(11,32,39,0.55) 100%); }
.inf-page .inf-local-inner{ position:relative; z-index:1; max-width:640px; }
.inf-page .inf-local .nd-eyebrow{ color:var(--nd-brass); }
.inf-page .inf-local .nd-eyebrow::before{ background:var(--nd-brass); }
.inf-page .inf-local h2{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(26px,3.4vw,40px); line-height:1.2; margin:18px 0 22px; color:var(--nd-foam); }
.inf-page .inf-local h2 em{ font-style:italic; font-weight:400; color:var(--nd-coral); }
.inf-page .inf-local-list{ display:flex; flex-direction:column; gap:22px; margin-top:30px; }
.inf-page .inf-local-list li{ display:flex; gap:14px; align-items:flex-start; font-size:16.5px; line-height:1.5; color:rgba(246,242,233,0.88); }
.inf-page .inf-local-list svg{ width:20px; height:20px; flex-shrink:0; color:var(--nd-coral); margin-top:2px; }
@media (max-width:700px){
  .inf-page .inf-local{ padding:70px 0 90px; }
  .inf-page .inf-local-list{ gap:26px; }
}

/* ---------- Cómo trabajamos: pasos en zigzag con foto ---------- */
.inf-page .inf-process{ padding:120px 0; }
.inf-page .inf-process-intro{ max-width:640px; margin:0 auto 20px; text-align:center; }
.inf-page .inf-process-intro .nd-eyebrow{ justify-content:center; }
.inf-page .inf-process-intro h2{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(26px,3.4vw,38px); line-height:1.2; margin:18px 0 0; color:var(--nd-ink); }

.inf-page .inf-process-steps{ max-width:980px; margin:70px auto 0; display:flex; flex-direction:column; align-items:center; }
.inf-page .inf-process-step{ width:100%; display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; --accent:var(--nd-coral); }
.inf-page .inf-process-step[data-accent="petrol"]{ --accent:var(--nd-petrol); }
.inf-page .inf-process-step[data-accent="brass"]{ --accent:var(--nd-brass); }
.inf-page .inf-process-step.is-reverse .inf-process-media{ order:2; }
.inf-page .inf-process-step.is-reverse .inf-process-copy{ order:1; text-align:right; align-items:flex-end; }

.inf-page .inf-process-media{ position:relative; }
.inf-page .inf-process-media img{ width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:22px; box-shadow:0 20px 40px -22px rgba(11,32,39,0.35); }
.inf-page .inf-process-num{ position:absolute; z-index:2; top:-18px; left:-18px; width:52px; height:52px; border-radius:50%; background:var(--accent); color:var(--nd-foam); font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:16px; letter-spacing:0.02em; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px -6px rgba(11,32,39,0.45); border:3px solid var(--nd-foam); }

.inf-page .inf-process-copy{ display:flex; flex-direction:column; }
.inf-page .inf-process-tag{ font-family:'IBM Plex Mono',monospace; font-size:13.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:12px; }
.inf-page .inf-process-copy h3{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(20px,2.2vw,26px); line-height:1.25; margin:0 0 12px; color:var(--nd-ink); max-width:26ch; }
.inf-page .inf-process-copy p{ font-size:15.5px; line-height:1.6; opacity:0.75; margin:0; max-width:38ch; }

.inf-page .inf-process-arrow{ color:var(--nd-line); margin:6px 0; }
.inf-page .inf-process-arrow svg{ width:26px; height:40px; }

@media (max-width:760px){
  .inf-page .inf-process-step{ grid-template-columns:1fr; gap:24px; text-align:center; }
  .inf-page .inf-process-step.is-reverse .inf-process-media{ order:0; }
  .inf-page .inf-process-step.is-reverse .inf-process-copy{ order:0; text-align:center; align-items:center; }
  .inf-page .inf-process-copy{ align-items:center; }
  .inf-page .inf-process-copy h3, .inf-page .inf-process-copy p{ max-width:44ch; }
  .inf-page .inf-process-num{ top:-14px; left:-10px; width:42px; height:42px; font-size:14px; }
}

/* ---------- FAQ ---------- */
.inf-page .inf-faq{ padding:20px 0 120px; }
.inf-page .inf-faq-grid{ max-width:820px; margin:0 auto; }
.inf-page .inf-faq-item{ border-bottom:1px solid var(--nd-line); padding:8px 0; }
.inf-page .inf-faq-item summary{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 4px; font-family:'Fraunces',serif; font-weight:700; font-size:19px; color:var(--nd-ink); }
.inf-page .inf-faq-item summary::-webkit-details-marker{ display:none; }
.inf-page .inf-faq-item summary::marker{ content:""; }
.inf-page .inf-faq-item summary strong{ font-weight:700; }
.inf-page .inf-faq-item summary .q-icon{ flex-shrink:0; width:30px; height:30px; border-radius:50%; border:1.5px solid var(--nd-line); display:flex; align-items:center; justify-content:center; position:relative; transition:background 0.3s ease, border-color 0.3s ease; }
.inf-page .inf-faq-item summary .q-icon::before, .inf-page .inf-faq-item summary .q-icon::after{ content:""; position:absolute; background:var(--nd-ink); transition:transform 0.3s ease, opacity 0.3s ease; }
.inf-page .inf-faq-item summary .q-icon::before{ width:11px; height:1.5px; }
.inf-page .inf-faq-item summary .q-icon::after{ width:1.5px; height:11px; }
.inf-page .inf-faq-item[open] summary .q-icon{ background:var(--nd-coral); border-color:var(--nd-coral); }
.inf-page .inf-faq-item[open] summary .q-icon::before, .inf-page .inf-faq-item[open] summary .q-icon::after{ background:var(--nd-foam); }
.inf-page .inf-faq-item[open] summary .q-icon::after{ transform:rotate(90deg); opacity:0; }
.inf-page .inf-faq-item .inf-faq-a{ padding:0 4px 26px; font-size:16px; line-height:1.65; opacity:0.78; max-width:70ch; }

@media (max-width:560px){ .inf-page .inf-hero-inner{ padding-top:130px; } }

/* ---------- Sectores (página Marcas): moodboard con etiqueta de color sobre la foto ---------- */
.inf-page .inf-sectors{ padding:20px 0 40px; }
.inf-page .inf-sectors-note{ font-size:16px; line-height:1.6; opacity:0.75; margin:14px 0 0; max-width:56ch; }
.inf-page .inf-sectors-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.inf-page .inf-sector-item{ position:relative; border-radius:20px; overflow:hidden; aspect-ratio:3/4; --accent:var(--nd-coral); transition:transform 0.3s ease; }
.inf-page .inf-sector-item:hover{ transform:translateY(-4px); }
.inf-page .inf-sector-item[data-accent="petrol"]{ --accent:var(--nd-petrol); }
.inf-page .inf-sector-item[data-accent="brass"]{ --accent:var(--nd-brass); }
.inf-page .inf-sector-item img{ width:100%; height:100%; object-fit:cover; filter:grayscale(0.1) contrast(1.05); }
.inf-page .inf-sector-label{
  position:absolute; z-index:1; left:10px; right:10px; bottom:10px;
  background:color-mix(in srgb, var(--accent) 85%, transparent);
  color:var(--nd-foam); text-align:center;
  font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:17px;
  padding:12px 10px; border-radius:12px;
  box-shadow:0 12px 24px -12px rgba(11,32,39,0.5);
}
@media (max-width:900px){ .inf-page .inf-sectors-grid{ grid-template-columns:repeat(3,1fr); gap:20px 14px; } }
@media (max-width:480px){ .inf-page .inf-sectors-grid{ grid-template-columns:repeat(2,1fr); } .inf-page .inf-sectors{ padding-bottom:70px; } .inf-page .inf-sector-label{ font-size:15px; padding:10px 8px; } }

/* Collage de 4 fotos (variante corta del moodboard, para secciones con solo 4 elementos) */
.inf-page .inf-showcase-collage.is-quad{ grid-auto-rows:180px; }
.inf-page .inf-showcase-collage .q1{ grid-column:1/2; grid-row:1/2; transform:rotate(-2deg); }
.inf-page .inf-showcase-collage .q2{ grid-column:2/3; grid-row:1/2; transform:rotate(2deg); }
.inf-page .inf-showcase-collage .q3{ grid-column:1/2; grid-row:2/3; transform:rotate(2deg); }
.inf-page .inf-showcase-collage .q4{ grid-column:2/3; grid-row:2/3; transform:rotate(-2deg); }

/* ---------- Formulario de creadores ---------- */
.inf-page .inf-form-hero{ background:var(--nd-ink); color:var(--nd-foam); padding:110px 0 70px; text-align:center; }
.inf-page .inf-form-hero .nd-eyebrow{ justify-content:center; color:var(--nd-foam); }
.inf-page .inf-form-hero .nd-eyebrow::before{ background:var(--inf-pink); box-shadow:0 0 0 4px rgba(255,61,120,0.25); }
.inf-page .inf-form-hero h1{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,4.4vw,50px); margin:16px 0 14px; }
.inf-page .inf-form-hero h1 em{ font-style:italic; color:var(--nd-coral); }
.inf-page .inf-form-hero p{ max-width:56ch; margin:0 auto; opacity:0.82; font-size:16.5px; line-height:1.6; }

.inf-page .inf-form-wrap{ max-width:740px; padding-top:70px; padding-bottom:130px; }
.inf-page .inf-form-notice{ padding:16px 20px; border-radius:12px; font-weight:600; margin-bottom:36px; font-size:15px; }
.inf-page .inf-form-notice.success{ background:color-mix(in srgb, var(--nd-petrol) 14%, transparent); color:var(--nd-petrol); }
.inf-page .inf-form-notice.error{ background:color-mix(in srgb, var(--nd-coral) 14%, transparent); color:var(--nd-coral); }

.inf-page .inf-form-section{ padding:38px 0; border-bottom:1px solid var(--nd-line); --accent:var(--nd-coral); }
.inf-page .inf-form-section:first-of-type{ padding-top:0; }
.inf-page .inf-form-section:last-of-type{ border-bottom:none; padding-bottom:10px; }
.inf-page .inf-form-section[data-accent="petrol"]{ --accent:var(--nd-petrol); }
.inf-page .inf-form-section[data-accent="brass"]{ --accent:var(--nd-brass); }

.inf-page .inf-form-section-head{ display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.inf-page .inf-form-num{ flex-shrink:0; width:42px; height:42px; border-radius:50%; background:var(--accent); color:var(--nd-foam); font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:16px; display:flex; align-items:center; justify-content:center; }
.inf-page .inf-form-section-head h2{ font-family:'Fraunces',serif; font-weight:600; font-size:22px; margin:0; color:var(--nd-ink); }

.inf-page .inf-form-field{ margin-bottom:22px; }
.inf-page .inf-form-field:last-child{ margin-bottom:0; }
.inf-page .inf-form-field > label{ display:block; font-size:15px; font-weight:600; margin-bottom:9px; color:var(--nd-ink); line-height:1.45; }
.inf-page .inf-form-field .req{ color:var(--accent); }
.inf-page .inf-form-field input[type="text"],
.inf-page .inf-form-field input[type="email"],
.inf-page .inf-form-field input[type="tel"],
.inf-page .inf-form-field textarea{
  width:100%; padding:13px 16px; border:1.5px solid var(--nd-line); border-radius:12px;
  font-family:'Instrument Sans',sans-serif; font-size:15.5px; color:var(--nd-ink);
  background:var(--nd-foam-dim); transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.inf-page .inf-form-field input:focus,
.inf-page .inf-form-field textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.inf-page .inf-form-field textarea{ min-height:96px; resize:vertical; }

.inf-page .inf-form-radios{ display:flex; flex-direction:column; gap:10px; }
.inf-page .inf-form-radio{ display:flex; align-items:center; gap:12px; padding:13px 16px; border:1.5px solid var(--nd-line); border-radius:12px; cursor:pointer; transition:border-color 0.2s ease, background 0.2s ease; font-size:15px; color:var(--nd-ink); }
.inf-page .inf-form-radio:hover{ border-color:var(--accent); }
.inf-page .inf-form-radio:has(input:checked){ border-color:var(--accent); background:color-mix(in srgb, var(--accent) 8%, transparent); font-weight:600; }
.inf-page .inf-form-radio input{ accent-color:var(--accent); width:18px; height:18px; flex-shrink:0; }

.inf-page .inf-form-submit{ text-align:center; padding-top:26px; }

@media (max-width:600px){
  .inf-page .inf-form-hero{ padding:130px 0 60px; }
  .inf-page .inf-form-section-head h2{ font-size:19px; }
  .inf-page .inf-form-num{ width:36px; height:36px; font-size:14px; }
}

/* ---------- Ajustes extra para móviles pequeños (≤480px) ---------- */
@media (max-width:480px){
  .inf-page .inf-hero-title{ font-size:clamp(32px,9vw,44px); max-width:12ch; }
  .inf-page .inf-hero-sub{ font-size:16.5px; margin-bottom:30px; }
  .inf-page .inf-hero-actions{ flex-direction:column; align-items:flex-start; gap:14px; }
  .inf-page .inf-statement{ padding:70px 0; }
  .inf-page .inf-split-card-body{ padding:28px 24px; }
  .inf-page .inf-split-card h3{ font-size:22px; }
  .inf-page .inf-services-head{ margin-bottom:44px; }
  .inf-page .inf-showcase-item{ max-width:100%; }
  .inf-page .inf-local{ padding:70px 0 90px; }
  .inf-page .inf-local-list li{ font-size:15.5px; }
  .inf-page .inf-process{ padding:80px 0; }
  .inf-page .inf-process-steps{ margin-top:50px; gap:20px; }
  .inf-page .inf-process-media{ margin-top:14px; }
  .inf-page .inf-faq-item summary{ font-size:17px; padding:18px 2px; gap:12px; }
  .inf-page .nd-final h2{ font-size:clamp(26px,7.5vw,34px); }
}

/* ==========================================================================
   LANDING "INFORME GRATUITO" — cabecera mínima propia y mockup del informe
   ========================================================================== */
.nd-lp-minheader{ background:var(--cream); padding:20px 0; border-bottom:1px solid var(--line); }
.nd-lp-minheader-inner{ display:flex; align-items:center; }
.nd-lp-minheader .site-logo img{ height:32px; width:auto; display:block; }

.nd-page .nd-lp-includes-intro{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:50px; align-items:center; text-align:left; margin:0 0 56px; }
@media (max-width:900px){
  .nd-page .nd-lp-includes-intro{ grid-template-columns:1fr; }
  .nd-page .nd-lp-mockup{ order:-1; width:100%; max-width:360px; margin:0 auto; }
}

.nd-page .nd-lp-mockup{ position:relative; width:100%; min-height:640px; }
.nd-page .nd-lp-mockup-sheet{
  position:absolute; top:20px; left:4%; width:78%; aspect-ratio:0.72;
  background:var(--nd-foam); border:1px solid var(--nd-line); border-radius:14px;
  box-shadow:0 26px 50px -22px rgba(11,32,39,0.3);
  transform:rotate(4deg); padding:9% 8%;
  overflow:hidden;
}
.nd-page .nd-lp-mockup-sheet-label{ font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:var(--nd-ink); opacity:0.45; margin-bottom:6%; }
.nd-page .nd-lp-mockup-row{ display:flex; align-items:center; justify-content:space-between; padding:5% 0; border-top:1px solid var(--nd-line); }
.nd-page .nd-lp-mockup-row:first-of-type{ border-top:none; }
.nd-page .nd-lp-mockup-row-left{ display:flex; align-items:center; gap:12px; }
.nd-page .nd-lp-mockup-dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.nd-page .nd-lp-mockup-name{ font-size:14.5px; font-weight:600; color:var(--nd-ink); }
.nd-page .nd-lp-mockup-score{ font-family:'Fraunces',serif; font-weight:600; font-size:16px; }

.nd-page .nd-lp-mockup-cover{
  position:absolute; top:0; left:22%; width:74%; aspect-ratio:0.72;
  background:var(--nd-ink); border-radius:16px; color:var(--nd-foam);
  box-shadow:0 30px 55px -22px rgba(11,32,39,0.4);
  transform:rotate(-3deg); padding:10%;
  display:flex; flex-direction:column; justify-content:center; gap:16px;
  overflow:hidden;
}
.nd-page .nd-lp-mockup-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.07em; text-transform:uppercase; color:var(--nd-brass); }
.nd-page .nd-lp-mockup-title{ font-family:'Fraunces',serif; font-weight:500; font-size:24px; line-height:1.3; margin:0; }
.nd-page .nd-lp-mockup-title em{ font-style:italic; font-weight:400; color:var(--nd-coral); }
@media (max-width:900px){ .nd-page .nd-lp-mockup{ min-height:540px; } }
@media (max-width:560px){
  .nd-page .nd-lp-mockup{ min-height:460px; }
  .nd-page .nd-lp-mockup-title{ font-size:19px; }
}


/* ==========================================================================
   CRO — LANDING INFORME GRATUITO
   Ajustes de conversión sin alterar el diseño base.
   ========================================================================== */
.nd-page .nd-lp-form-sub strong{ color:var(--nd-ink); font-weight:700; }
.nd-page .nd-lp-field-full{ grid-column:1/-1; }

.nd-page .nd-lp-inline-cta{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  margin:26px 0 0; padding:22px 24px;
  border:1px solid var(--nd-line); border-radius:18px;
  background:var(--nd-foam);
}
.nd-page .nd-lp-inline-cta > div{ display:flex; flex-direction:column; gap:3px; }
.nd-page .nd-lp-inline-cta strong{ font-family:'Fraunces',serif; font-size:20px; font-weight:600; }
.nd-page .nd-lp-inline-cta span{ font-size:15px; opacity:.68; }
.nd-page .nd-lp-inline-cta .nd-btn-primary{ flex-shrink:0; padding:14px 22px; font-size:14px; }

.nd-page .nd-lp-receive{
  display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;
  padding:78px 32px 70px;
}
.nd-page .nd-lp-receive-copy h2{
  font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,3.5vw,40px);
  line-height:1.1; letter-spacing:-.015em; margin:18px 0 18px;
}
.nd-page .nd-lp-receive-copy p{ font-size:17px; line-height:1.65; opacity:.78; max-width:55ch; margin:0; }
.nd-page .nd-lp-receive-list{ border-left:1px solid var(--nd-line); padding-left:30px; }
.nd-page .nd-lp-receive-list > div{ display:flex; align-items:baseline; gap:18px; padding:15px 0; border-bottom:1px solid var(--nd-line); }
.nd-page .nd-lp-receive-list > div:first-child{ border-top:1px solid var(--nd-line); }
.nd-page .nd-lp-receive-list span{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--nd-coral); }
.nd-page .nd-lp-receive-list strong{ font-family:'Fraunces',serif; font-size:19px; font-weight:600; }
.nd-page .nd-lp-receive-note{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.03em; opacity:.58; margin:18px 0 0; }

.nd-page .nd-lp-free{ padding:0 32px 76px; }
.nd-page .nd-lp-free-inner{
  max-width:900px; margin:0 auto; text-align:center; padding:42px 46px;
  border:1px solid var(--nd-line); border-radius:22px; background:var(--nd-foam-dim);
}
.nd-page .nd-lp-free-inner .nd-eyebrow{ justify-content:center; width:100%; }
.nd-page .nd-lp-free-inner h2{
  font-family:'Fraunces',serif; font-weight:500; font-size:clamp(26px,3.2vw,35px);
  line-height:1.15; margin:17px auto 15px; max-width:26ch;
}
.nd-page .nd-lp-free-inner p{ font-size:16.5px; line-height:1.6; opacity:.75; max-width:62ch; margin:0 auto; }
.nd-page .nd-lp-free-inner strong{ color:var(--nd-ink); opacity:1; }

/* Escritorio: el bloque de texto y el mockup comparten exactamente el mismo centro vertical. */
@media (min-width:921px){
  .nd-page .nd-lp-includes-intro{ align-items:center; margin-bottom:18px; }
  .nd-page .nd-lp-mockup{ min-height:390px; }
}

@media (max-width:760px){
  .nd-page .nd-lp-inline-cta{ flex-direction:column; align-items:flex-start; }
  .nd-page .nd-lp-inline-cta .nd-btn-primary{ width:100%; justify-content:center; }
  .nd-page .nd-lp-receive{ grid-template-columns:1fr; gap:34px; padding-top:60px; }
  .nd-page .nd-lp-receive-list{ border-left:0; border-top:1px solid var(--nd-line); padding:0; }
  .nd-page .nd-lp-free{ padding-bottom:60px; }
  .nd-page .nd-lp-free-inner{ padding:34px 24px; }
}
