/* AztroTech — a quieter, more dimensional design system. */
:root {
  --ink: #0b1a33;
  --muted: #58667b;
  --accent: #315f9d;
  --accent-dark: #244e86;
  --line: #dce5f2;
  --paper: #f6f9fe;
  --tint: #e8f0fb;
  --dark: #07162d;
}
body { background: #fbfdff; }
.container { width: min(100% - 72px, 1340px); }
body[data-page="home"] .site-header {
  background: rgba(255,255,255,.94);
  border-color: #e5e9f0;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: none;
}
.site-header::after { content:""; position:absolute; inset:auto auto -1px 0; width:var(--page-progress,0%); height:2px; background:linear-gradient(90deg,#274f89,#83b8ef); pointer-events:none; }
.header-inner { min-height: 82px; }
.primary-nav>a:not(.nav-cta) { position:relative; color:#33445e; transition:color .25s ease; }
.primary-nav>a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:-8px; width:100%; height:1px; background:#315f9d; transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.primary-nav>a:not(.nav-cta):is(:hover,:focus-visible)::after { transform:scaleX(1); }
body[data-page="home"] :is(.nav-cta,.hero-actions .button,.closing-actions .button) {
  justify-content:space-between;
  gap:18px;
  min-height:56px;
  padding:11px 15px 11px 20px;
  border-radius:3px;
  font-size:.84rem;
  font-weight:650;
  letter-spacing:0;
  box-shadow:none;
  transform:none;
  transition:background-color .24s ease,border-color .24s ease,color .24s ease;
}
body[data-page="home"] :is(.nav-cta,.hero-actions .button,.closing-actions .button) > span[aria-hidden] {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:none;
  border:1px solid currentColor;
  border-radius:2px;
  opacity:.65;
  font-size:1.06rem;
  line-height:1;
  transition:transform .24s ease,opacity .24s ease,background-color .24s ease;
}
body[data-page="home"] :is(.nav-cta,.hero-actions .button,.closing-actions .button):is(:hover,:focus-visible) > span[aria-hidden] {
  opacity:1;
  transform:translateX(2px);
}
body[data-page="home"] :is(.nav-cta,.hero-actions .button-primary,.closing-actions .button-primary) {
  border:1px solid #0b1a33;
  background:#0b1a33;
  color:#fff;
}
body[data-page="home"] :is(.nav-cta,.hero-actions .button-primary,.closing-actions .button-primary):is(:hover,:focus-visible) {
  border-color:#1e426d;
  background:#1e426d;
  color:#fff;
  transform:none;
}
body[data-page="home"] :is(.hero-actions .button-text,.closing-actions .button-outline) {
  border:1px solid #b8c6d9;
  background:rgba(255,255,255,.82);
  color:#14233c;
}
body[data-page="home"] :is(.hero-actions .button-text,.closing-actions .button-outline):is(:hover,:focus-visible) {
  border-color:#315f9d;
  background:#f0f5fb;
  color:#173c6c;
  transform:none;
}
body[data-page="home"] .hero-actions .button-text {
  padding-inline:2px;
  border:0;
  border-bottom:1px solid #aebed0;
  border-radius:0;
  background:transparent;
}
body[data-page="home"] .hero-actions .button-text:is(:hover,:focus-visible) {
  border-color:#315f9d;
  background:transparent;
}
body[data-page="home"] .hero-actions .button-text > span[aria-hidden] {
  width:27px;
  height:27px;
  border:0;
  font-size:1.2rem;
  opacity:1;
}
body[data-page="home"] .site-header .header-whatsapp {
  min-height:50px;
  border:1px solid #c3d0e0;
  border-radius:3px;
  background:transparent;
  color:#1b4678;
  font-size:.82rem;
  font-weight:650;
}
body[data-page="home"] .site-header .header-whatsapp:hover {
  border-color:#315f9d;
  background:#f0f5fb;
  color:#173c6c;
  box-shadow:none;
  transform:none;
}
.eyebrow { color:#365f99; font-size:.72rem; letter-spacing:.18em; }
h1,h2,h3 { letter-spacing:-.052em; }
h1,h2 { font-weight:760; }
h1 em,h2 em { color:#35629b; }
.section { padding-block:clamp(92px,10vw,156px); }
.section-head { margin-bottom:50px; }
.section-head h2 { text-wrap:balance; }
.section-head>p:last-child,.section-head-split>p { line-height:1.75; }

/* A continuous landing scene: live globe, restrained typography and atmospheric depth. */
body[data-page="home"] main#contenido { background:#fbfdff; }
body[data-page="home"] .world-chapter {
  background:linear-gradient(110deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 48%,rgba(246,249,254,.7) 100%);
}
body[data-page="home"] .world-sticky.hero { width:min(100% - 72px,1340px); grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:clamp(36px,5vw,80px); min-height:min(800px,calc(100svh - 82px)); padding-block:clamp(54px,6vw,84px) clamp(56px,6vw,90px); }
body[data-page="home"] .hero-copy { position:relative; z-index:2; padding-block:14px; }
body[data-page="home"] .world-sticky.hero .eyebrow { color:#4c6689; font-size:.66rem; font-weight:700; letter-spacing:.17em; }
body[data-page="home"] .world-sticky.hero h1 { max-width:730px; font-size:clamp(3.1rem,4.4vw,5rem); font-weight:630; letter-spacing:-.044em; line-height:1.09; margin-bottom:26px; text-wrap:balance; }
body[data-page="home"] .world-sticky.hero h1 em { color:#385f90; }
body[data-page="home"] .hero-lead { max-width:600px; color:#566276; font-size:clamp(1.05rem,1.25vw,1.18rem); line-height:1.7; }
body[data-page="home"] .hero-actions { gap:12px; margin-top:30px; }
body[data-page="home"] .hero-foot { border-color:#d9e1ec; padding-top:20px; color:#58677a; }
body[data-page="home"] .hero-foot a { color:#244e86; }
body[data-page="home"] .world-visual.hero-art { min-height:clamp(450px,64svh,720px); transform:translateZ(0); }
.hero-signal { position:absolute; z-index:3; right:5%; bottom:7%; display:flex; align-items:center; gap:10px; padding:0 0 0 12px; border-left:1px solid #9bb1cd; background:none; color:#426183; box-shadow:none; font-size:.63rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; pointer-events:none; }
.signal-pulse { width:5px; height:5px; border-radius:50%; background:#6b9acb; box-shadow:none; animation:none; }
body[data-page="home"] .proof-band { background:rgba(255,255,255,.9); border-color:#e1e7f0; }
body[data-page="home"] .proof-inner { min-height:86px; gap:24px; }
body[data-page="home"] .proof-inner p { max-width:310px; line-height:1.45; }
body[data-page="home"] .proof-inner>div { gap:22px; border-left:0; }
body[data-page="home"] .proof-inner a { padding:0; border-right:0; transition:color .2s ease; }
body[data-page="home"] .proof-inner a:hover { color:#315f9d; text-decoration:underline; text-underline-offset:4px; }

/* Scannable narratives and tactile cards. */
body[data-page="home"] .level-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body[data-page="home"] .level-card { position:relative; overflow:hidden; min-height:270px; padding:31px 34px; border:1px solid rgba(146,172,210,.34); border-radius:17px; background:linear-gradient(146deg,rgba(255,255,255,.95),rgba(247,251,255,.9)); box-shadow:0 14px 34px rgba(25,58,103,.04); transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .35s ease; }
body[data-page="home"] .level-card::before { content:""; position:absolute; width:230px; aspect-ratio:1; right:-90px; top:-105px; border:1px solid rgba(91,142,206,.16); border-radius:50%; box-shadow:0 0 0 35px rgba(113,160,217,.03),0 0 0 70px rgba(113,160,217,.025); pointer-events:none; }
body[data-page="home"] .level-card:hover { transform:translateY(-6px); border-color:#9cbbdf; box-shadow:0 22px 48px rgba(25,58,103,.1); }
body[data-page="home"] .level-card h3 { position:relative; max-width:430px; margin:auto 0 11px; font-size:clamp(1.7rem,2.3vw,2.2rem); }
body[data-page="home"] .level-card p { position:relative; max-width:490px; }
.card-index { letter-spacing:.17em; color:#466fa3; }
body[data-page="home"] .service-grid { gap:16px; }
body[data-page="home"] .experience-field :is(.level-card,.service-card,.case-card,.value-grid article) { -webkit-backdrop-filter:none; backdrop-filter:none; }
body[data-page="home"] .service-card { position:relative; overflow:hidden; min-height:370px; padding:32px; border:1px solid rgba(137,166,209,.35); border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 16px 38px rgba(28,61,106,.045); transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .35s ease; }
body[data-page="home"] .service-card::before { border-color:#b5cae5; background:radial-gradient(circle at center,#34669e 0 3px,transparent 4px),radial-gradient(circle at center,rgba(79,131,197,.18),transparent 75%); box-shadow:0 0 0 9px rgba(68,119,181,.05); }
body[data-page="home"] .service-card:hover { transform:translateY(-7px); border-color:#90b5e0; box-shadow:0 26px 56px rgba(29,70,125,.12); }
body[data-page="home"] .service-card h3 { font-size:clamp(1.8rem,2.2vw,2.25rem); }
body[data-page="home"] .service-card a span { transition:transform .2s ease; }
body[data-page="home"] .service-card:hover a span { transform:translate(3px,-3px); }
body[data-page="home"] .system-section { gap:clamp(40px,6vw,100px); }
body[data-page="home"] .system-diagram { position:relative; overflow:hidden; padding:clamp(22px,3vw,42px); border:1px solid #bfd2ec; border-radius:20px; background:linear-gradient(155deg,rgba(255,255,255,.94),rgba(222,237,255,.78)); box-shadow:0 30px 70px rgba(26,66,118,.1); }
body[data-page="home"] .system-diagram::before { content:""; position:absolute; width:330px; aspect-ratio:1; top:-180px; right:-85px; border:1px solid rgba(84,129,189,.2); border-radius:50%; box-shadow:0 0 0 35px rgba(87,132,190,.045),0 0 0 70px rgba(87,132,190,.035); }
body[data-page="home"] .diagram-areas { position:relative; gap:8px; }
body[data-page="home"] .diagram-areas span { min-height:78px; border:1px solid #d2def0; border-radius:8px; background:rgba(255,255,255,.8); box-shadow:0 8px 18px rgba(35,80,135,.035); }
body[data-page="home"] .diagram-foundation { position:relative; border:1px solid #a8c7ed; border-radius:12px; background:linear-gradient(110deg,#dfeeff,#edf5ff); box-shadow:0 10px 26px rgba(35,83,145,.08); }
body[data-page="home"] .section-dark { background:radial-gradient(ellipse 50% 80% at 85% 5%,#193967 0%,transparent 75%),linear-gradient(120deg,#06142b,#0e2749 70%,#091b35); }
body[data-page="home"] .section-dark .section-head h2 { max-width:850px; }
body[data-page="home"] .agent-grid { gap:12px; border:0; background:transparent; }
body[data-page="home"] .agent-grid article { position:relative; overflow:hidden; min-height:215px; border:1px solid rgba(172,202,239,.16); border-radius:13px; background:rgba(255,255,255,.05); transition:background .3s ease,border-color .3s ease,transform .3s ease; }
body[data-page="home"] .agent-grid article::after { content:""; position:absolute; inset:auto -10% -80% 30%; height:150%; background:radial-gradient(circle,rgba(83,153,237,.2),transparent 65%); opacity:0; transition:opacity .35s ease; pointer-events:none; }
body[data-page="home"] .agent-grid article:hover { background:rgba(255,255,255,.085); border-color:rgba(172,202,239,.4); transform:translateY(-4px); }
body[data-page="home"] .agent-grid article:hover::after { opacity:1; }
body[data-page="home"] .difference-section { align-items:start; }
body[data-page="home"] .difference-section>.eyebrow { position:sticky; top:130px; }
body[data-page="home"] .tag-list span { border-color:#bed1e9; background:rgba(255,255,255,.75); color:#2f527e; }
body[data-page="home"] .case-grid { gap:20px; }
body[data-page="home"] .case-card { overflow:hidden; border:1px solid #d3e0f0; border-radius:18px; background:#fff; box-shadow:0 20px 46px rgba(19,56,104,.07); transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease; }
body[data-page="home"] .case-card:hover { transform:translateY(-5px); box-shadow:0 30px 58px rgba(19,56,104,.14); }
body[data-page="home"] .case-card img { height:300px; transition:transform .65s cubic-bezier(.2,.75,.2,1); }
body[data-page="home"] .case-card:hover img { transform:scale(1.045); }
body[data-page="home"] .case-body { position:relative; min-height:282px; padding:33px; }
body[data-page="home"] .case-body h3 { text-wrap:balance; }
body[data-page="home"] .process-list li { position:relative; border-color:#cddced; transition:padding .3s ease,background .3s ease; }
body[data-page="home"] .process-list li:hover { padding-inline:22px; background:rgba(231,241,253,.56); }
body[data-page="home"] .process-list li span { font-size:.87rem; }
body[data-page="home"] .ecosystem-section { background:linear-gradient(145deg,rgba(226,237,251,.88),rgba(247,250,255,.68)); }
body[data-page="home"] .ecosystem-columns { gap:clamp(30px,7vw,110px); }
body[data-page="home"] .ecosystem-columns a { transition:padding .25s ease,color .25s ease; }
body[data-page="home"] .ecosystem-columns a:hover { padding-left:9px; }
body[data-page="home"] .founder-photo { overflow:hidden; border-radius:15px; box-shadow:0 27px 55px rgba(13,47,89,.16); }
body[data-page="home"] .founder-photo img { transition:transform .7s ease; }
body[data-page="home"] .founder-photo:hover img { transform:scale(1.035); }
body[data-page="home"] .founder-photo span { border-radius:5px; box-shadow:0 8px 24px rgba(6,19,39,.15); }
body[data-page="home"] .value-grid { gap:16px; }
body[data-page="home"] .value-grid article { min-height:255px; border:1px solid #d0def0; border-radius:15px; background:rgba(255,255,255,.9); box-shadow:0 15px 34px rgba(25,58,103,.04); transition:transform .3s ease,box-shadow .3s ease; }
body[data-page="home"] .value-grid article:hover { transform:translateY(-5px); box-shadow:0 22px 44px rgba(25,58,103,.09); }
body[data-page="home"] .faq-list details { border-color:#cbd9e8; }
body[data-page="home"] .faq-list summary { transition:color .2s ease; }
body[data-page="home"] .faq-list summary:hover { color:#315f9d; }
body[data-page="home"] .experience-field>.closing-section { border-color:#b9d1ee; background:rgba(221,237,255,.42); -webkit-backdrop-filter:none; backdrop-filter:none; }
body[data-page="home"] .closing-inner { gap:clamp(36px,6vw,95px); }
body[data-page="home"] .closing-actions .button-outline { border-color:#b8c6d9; background:rgba(255,255,255,.82); }

/* Secondary pages inherit the same visual language without adding more canvas work. */
body:not([data-page="home"]) .page-hero { background:radial-gradient(ellipse 42% 80% at 93% 35%,rgba(189,219,253,.42),transparent 87%),linear-gradient(120deg,#fff,#f3f8ff); }
body:not([data-page="home"]) .page-hero h1 { text-wrap:balance; }
.detail-card,.contact-methods a,.diagnostic-workspace { border-color:#d1dfef; border-radius:14px; box-shadow:0 16px 38px rgba(24,58,103,.045); }
.detail-card,.contact-methods a { transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.detail-card:hover,.contact-methods a:hover { transform:translateY(-4px); box-shadow:0 23px 45px rgba(24,58,103,.09); border-color:#9cbbe0; }
.site-footer { background:#f3f7fd; border-top:1px solid #d9e4f1; }
.footer-legal { border-radius:8px; }

@keyframes editorial-enter { from { opacity:.64; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
body[data-page="home"] .section-head.is-revealed,
body[data-page="home"] .level-card.is-revealed,
body[data-page="home"] .service-card.is-revealed,
body[data-page="home"] .case-card.is-revealed,
body[data-page="home"] .process-list li.is-revealed { animation:editorial-enter .75s cubic-bezier(.2,.75,.2,1) both; }

@media(max-width:1100px) {
  body[data-page="home"] .world-sticky.hero { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); }
  body[data-page="home"] .world-sticky.hero h1 { font-size:clamp(2.8rem,5vw,4.7rem); }
  body[data-page="home"] .proof-inner { flex-wrap:wrap; padding-block:17px; }
}
@media(max-width:820px) {
  .container { width:min(100% - 42px,1340px); }
  .site-header { -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
  .primary-nav { background:rgba(255,255,255,.98); }
  .primary-nav>a:not(.nav-cta)::after { display:none; }
  body[data-page="home"] .world-sticky.hero { width:min(100% - 42px,1340px); grid-template-columns:1fr; min-height:0; gap:4px; padding-block:62px 36px; }
  body[data-page="home"] .hero-copy { padding:0; }
  body[data-page="home"] .world-sticky.hero h1 { max-width:760px; font-size:clamp(3rem,7.4vw,5.3rem); }
  body[data-page="home"] .world-visual.hero-art { order:0; min-height:clamp(350px,62vw,590px); }
  body[data-page="home"] .hero-foot { margin-top:36px; }
  body[data-page="home"] .proof-inner>div { flex-wrap:wrap; }
  body[data-page="home"] .level-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-page="home"] .level-card { padding:26px; }
  body[data-page="home"] .difference-section>.eyebrow { position:static; }
}
@media(max-width:600px) {
  .container { width:min(100% - 36px,1340px); }
  .section { padding-block:78px; }
  .section-head { margin-bottom:30px; }
  .site-header .nav-cta { box-shadow:none; }
  body[data-page="home"] .site-header .header-whatsapp { min-height:44px; }
  body[data-page="home"] .world-sticky.hero { width:min(100% - 36px,1340px); padding-block:40px 10px; }
  body[data-page="home"] .world-sticky.hero h1 { font-size:clamp(2.65rem,10vw,4.1rem); line-height:1.1; margin-bottom:21px; }
  body[data-page="home"] .hero-lead { font-size:1rem; line-height:1.65; }
  body[data-page="home"] .hero-actions { margin-top:16px; }
  body[data-page="home"] .hero-actions .button { width:100%; }
  body[data-page="home"] .hero-foot { margin-top:30px; }
  body[data-page="home"] .world-visual.hero-art { min-height:340px; }
  .hero-signal { right:3%; bottom:3%; padding:0 0 0 9px; font-size:.54rem; }
  body[data-page="home"] .proof-inner { display:grid; gap:10px; }
  body[data-page="home"] .proof-inner>div { display:flex; gap:0; border-left:0; }
  body[data-page="home"] .proof-inner a { padding:7px 10px 7px 0; font-size:.72rem; }
  body[data-page="home"] .level-grid,body[data-page="home"] .service-grid,body[data-page="home"] .case-grid,body[data-page="home"] .value-grid { grid-template-columns:1fr; }
  body[data-page="home"] .level-card { min-height:230px; padding:25px; }
  body[data-page="home"] .level-card h3 { margin-top:40px; }
  body[data-page="home"] .service-card { min-height:305px; }
  body[data-page="home"] .agent-grid { gap:8px; }
  body[data-page="home"] .agent-grid article { min-height:190px; }
  body[data-page="home"] .case-card img { height:235px; }
  body[data-page="home"] .case-body { min-height:0; padding:26px; }
  body[data-page="home"] .process-list li:hover { padding-inline:0; }
  body[data-page="home"] .ecosystem-columns { gap:26px; }
  body[data-page="home"] .closing-actions { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .signal-pulse,body[data-page="home"] .is-revealed { animation:none!important; }
  .level-card,.service-card,.case-card,.case-card img,.founder-photo img,.value-grid article { transition:none!important; }
}
