@charset "UTF-8";
/* NDA CONTACT — page-specific styles only. Base patterns live in base.css.
   Sections: #paths · #message (form) · #book (calendar) · #direct · #faqs */

.ct-section{padding:96px 0;background:var(--bg);scroll-margin-top:96px}
.ct-section--paths,.ct-section--book{background:var(--blue)}
.ct-head{max-width:720px;margin-bottom:40px}
.ct-lead{font-size:16px;color:var(--mid);line-height:1.8;max-width:520px;margin-top:18px}

/* ── PATHS ── */
.ct-paths{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct-path{position:relative;display:flex;flex-direction:column;padding:28px 24px 24px;border:1px solid var(--b1);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.045) 0%,rgba(255,255,255,.015) 100%);transition:border-color .2s,transform .2s,background .2s}
.ct-path:hover,.ct-path:focus-within{transform:translateY(-4px);border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.06)}
.ct-path-dot{width:10px;height:10px;border-radius:50%;background:var(--mid);margin-bottom:18px;box-shadow:0 0 0 4px rgba(255,255,255,.06)}
.ct-path--growth .ct-path-dot{background:var(--growth);box-shadow:0 0 0 4px rgba(232,91,158,.16)}
.ct-path--innovation .ct-path-dot{background:var(--innovation);box-shadow:0 0 0 4px rgba(34,182,230,.16)}
.ct-path--growth:hover{border-color:rgba(232,91,158,.55)}
.ct-path--innovation:hover{border-color:rgba(34,182,230,.55)}
.ct-path-title{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.025em;color:var(--n0);margin-bottom:10px}
.ct-path-body{font-size:15px;color:var(--mid);line-height:1.7;margin-bottom:22px;text-align:left;hyphens:none}
.ct-path-link{margin-top:auto;font-size:14px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:6px;transition:gap .15s,color .15s}
.ct-path-link::after{content:'';position:absolute;inset:0;border-radius:14px}
.ct-path-link:hover{gap:10px;color:var(--n0)}
.ct-path-link:focus-visible{outline:2px solid var(--n0);outline-offset:4px}

/* ── MESSAGE (form) ── */
.ct-message{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.ct-checklist{list-style:none;counter-reset:ct;margin:26px 0 0;padding:0;display:flex;flex-direction:column;border:1px solid var(--b1);border-radius:12px;overflow:hidden}
.ct-checklist li{counter-increment:ct;display:grid;grid-template-columns:auto 1fr;column-gap:16px;padding:16px 20px;border-bottom:1px solid var(--b1);font-size:15px;line-height:1.6}
.ct-checklist li:last-child{border-bottom:none}
.ct-checklist li::before{content:counter(ct,decimal-leading-zero);grid-row:span 2;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--dim);padding-top:3px}
.ct-check-title{font-family:var(--display);font-weight:700;color:var(--n0)}
.ct-check-body{color:var(--mid)}
.ct-aside{margin-top:22px;font-size:15px;color:var(--mid);line-height:1.7}
.ct-aside a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.ct-aside a:hover{color:var(--n0)}

.ct-embed{border:1px solid var(--b1);border-radius:14px;background:rgba(9,13,20,.55);padding:8px}
.ct-embed-slot{min-height:620px;border-radius:10px;overflow:hidden;display:flex}
.ct-embed-slot iframe{flex:1;min-height:620px}
/* Once the AI-ONE form is in, let its own script size it (no empty white block under it). */
.ct-embed--form.is-mounted .ct-embed-slot{min-height:0}
.ct-embed--form.is-mounted .ct-embed-slot iframe{min-height:440px}
.ct-embed-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-size:14px;color:var(--mid)}
.ct-spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--b2);border-top-color:var(--n0);animation:ct-spin .9s linear infinite}
@keyframes ct-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ct-spinner{animation:none}}
.ct-embed-fallback{font-size:13px;color:var(--dim);padding:10px 12px 4px;line-height:1.6}
.ct-embed-fallback a{color:var(--mid);text-decoration:underline;text-underline-offset:3px}
.ct-embed-fallback a:hover{color:var(--n0)}

/* ── BOOK (calendar) ── */
.ct-book{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.ct-embed--booking .ct-embed-slot{min-height:360px}
.ct-embed--booking.is-mounted .ct-embed-slot{min-height:720px}
.ct-embed--booking.is-mounted .ct-embed-slot iframe{min-height:720px}
.ct-book-start{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;text-align:center}
.ct-book-icon{width:44px;height:44px;fill:none;stroke:var(--mid);stroke-width:1.6;stroke-linecap:round}
.ct-book-button{cursor:pointer;border:0}
.ct-embed-note{font-size:13px;color:var(--dim);max-width:34ch;line-height:1.6}

/* ── DIRECT ── */
.ct-direct{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.ct-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ct-fact{padding:20px 22px;border:1px solid var(--b1);border-radius:12px;background:rgba(255,255,255,.03);min-width:0}
.ct-fact:first-child{grid-column:1/-1}
.ct-lead,.ct-check-body,.ct-fact dd{text-align:left}
.ct-fact dt{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.ct-fact dd{margin:0;font-size:15px;color:var(--text);line-height:1.7}
.ct-fact a{color:var(--text);transition:color .15s}
.ct-fact a:hover{color:var(--n0);text-decoration:underline;text-underline-offset:3px}
.ct-fact-strong{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.01em;word-break:break-word}
.ct-fact-note{display:block;font-size:14px;color:var(--mid);margin-top:4px}
.ct-fact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ct-fact-city{display:block;font-size:13px;color:var(--mid);line-height:1.4}
.ct-fact-list a{white-space:nowrap}
.ct-fact-country{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--dim);margin-left:4px}
.social-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.social-link{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--b1);border-radius:999px;background:rgba(255,255,255,.02);color:var(--text);transition:color .15s,border-color .15s,transform .15s,background .15s}
.social-link:hover{color:var(--n0);border-color:var(--b2);background:rgba(255,255,255,.06);transform:translateY(-1px)}
.social-link svg{width:18px;height:18px;display:block}
.social-link svg *{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-link svg .social-fill{fill:currentColor;stroke:none}

/* ── FAQ (faq-block.njk) ── */
.page-contact .service-faqs,.page-es\/contacto .service-faqs{padding:96px 24px;background:var(--blue)}

/* ── LIGHT THEME ── */
html[data-theme="light"] .ct-section{background:linear-gradient(180deg,rgba(248,250,253,.98),rgba(239,243,249,.96))}
html[data-theme="light"] .ct-path,
html[data-theme="light"] .ct-fact,
html[data-theme="light"] .ct-embed,
html[data-theme="light"] .ct-checklist{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(241,245,251,.94));border-color:rgba(15,23,42,.10);box-shadow:0 1px 1px rgba(15,23,42,.03),0 10px 24px rgba(15,23,42,.06)}
html[data-theme="light"] .ct-checklist li{border-color:rgba(15,23,42,.08)}
html[data-theme="light"] .ct-path-title,
html[data-theme="light"] .ct-check-title,
html[data-theme="light"] .ct-path-link,
html[data-theme="light"] .ct-fact dd,
html[data-theme="light"] .ct-fact a{color:var(--n0)}
html[data-theme="light"] .ct-path-body,
html[data-theme="light"] .ct-check-body,
html[data-theme="light"] .ct-lead,
html[data-theme="light"] .ct-aside,
html[data-theme="light"] .ct-fact-city,
html[data-theme="light"] .social-link{color:var(--mid)}
html[data-theme="light"] .social-link:hover{color:var(--n0)}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .ct-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
  .ct-message,.ct-book,.ct-direct{grid-template-columns:1fr;gap:32px}
}
@media(max-width:720px){
  .ct-section{padding:72px 0}
  .ct-paths,.ct-facts{grid-template-columns:1fr}
  .ct-path{padding:22px 20px}
  .ct-embed-slot,.ct-embed-slot iframe{min-height:560px}
  .ct-embed--booking .ct-embed-slot{min-height:300px}
  .ct-embed--booking.is-mounted .ct-embed-slot,.ct-embed--booking.is-mounted .ct-embed-slot iframe{min-height:760px}
  .ct-fact-city{min-width:0;display:block}
}
