/* Alapuerta — Design System (Metamedia base, acento amarillo de marca) */
:root{
  --ap-accent:#FCB800;
  --ap-accent-hover:#B78500;
  --ap-accent-soft:rgba(252,184,0,.14);
  --ap-black:#000000;
  --ap-white:#FFFFFF;
  --ap-gray-950:#0A0A0A; --ap-gray-900:#141414; --ap-gray-800:#1E1E1E;
  --ap-gray-700:#2C2C2C; --ap-gray-600:#4A4A4A; --ap-gray-500:#6E6E6E;
  --ap-gray-400:#9A9A9A; --ap-gray-300:#C4C4C4; --ap-gray-200:#E3E3E3;
  --ap-gray-100:#F2F2F2; --ap-gray-50:#FAFAFA;
  --ap-surface:#FFFFFF; --ap-surface-raised:#FAFAFA; --ap-surface-inverse:#000000;
  --ap-text:#000000; --ap-text-secondary:#4A4A4A; --ap-text-muted:#6E6E6E; --ap-text-inverse:#FFFFFF;
  --ap-border:rgba(0,0,0,.12); --ap-border-strong:rgba(0,0,0,.28);
  --ap-ok:#2FBF71;
  --ap-font:"Archivo",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ap-mono:"IBM Plex Mono","SFMono-Regular",Menlo,monospace;
  --ap-container:1320px;
  --ap-pad:clamp(24px,5vw,80px);
  --ap-duration:150ms;
  --ap-ease:cubic-bezier(.16,1,.3,1);
}
.ap-dark{
  --ap-surface:#000000; --ap-surface-raised:#0A0A0A; --ap-surface-inverse:#FFFFFF;
  --ap-text:#FFFFFF; --ap-text-secondary:#9A9A9A; --ap-text-muted:#6E6E6E; --ap-text-inverse:#000000;
  --ap-border:rgba(255,255,255,.12); --ap-border-strong:rgba(255,255,255,.24);
}
.ap-page,.ap-tpl{font-family:var(--ap-font);color:var(--ap-text);overflow-x:clip;}
.ap-page h1,.ap-page h2,.ap-page h3,.ap-page h4,
.ap-tpl h1,.ap-tpl h2,.ap-tpl h3,.ap-tpl h4{
  font-family:var(--ap-font);letter-spacing:-.02em;line-height:1.08;font-weight:750;margin:0;
}
.ap-label .elementor-heading-title{
  font-family:var(--ap-mono)!important;font-size:11px!important;letter-spacing:.14em!important;
  text-transform:uppercase!important;color:var(--ap-text-muted)!important;font-weight:500!important;
}
.ap-label .elementor-heading-title::before{content:"";display:inline-block;width:18px;height:1px;
  background:var(--ap-accent);vertical-align:middle;margin-right:10px;}
.ap-btn-primary .elementor-button{
  background:var(--ap-accent)!important;color:#000!important;border:1px solid var(--ap-accent)!important;
  border-radius:6px!important;font-family:var(--ap-font)!important;font-weight:600!important;
  transition:background var(--ap-duration) var(--ap-ease),border-color var(--ap-duration) var(--ap-ease);
}
.ap-btn-primary .elementor-button:hover{background:var(--ap-accent-hover)!important;border-color:var(--ap-accent-hover)!important;color:#000!important;}
.ap-btn-secondary .elementor-button{
  background:transparent!important;color:var(--ap-text)!important;border:1px solid var(--ap-border-strong)!important;
  border-radius:6px!important;font-family:var(--ap-font)!important;font-weight:600!important;
}
.ap-btn-secondary .elementor-button:hover{border-color:var(--ap-text)!important;background:transparent!important;}
.ap-dark .ap-btn-secondary .elementor-button{color:#fff!important;border-color:rgba(255,255,255,.28)!important;}
.ap-btn-dark .elementor-button{
  background:#000!important;color:#fff!important;border-radius:6px!important;font-weight:600!important;
  font-family:var(--ap-font)!important;transition:background var(--ap-duration) var(--ap-ease);
}
.ap-btn-dark .elementor-button:hover{background:var(--ap-accent)!important;color:#000!important;}
.ap-arrow .elementor-button{background:transparent!important;color:var(--ap-text)!important;padding:0!important;
  font-weight:600!important;font-size:15px!important;border-bottom:1px solid var(--ap-accent)!important;border-radius:0!important;}
.ap-arrow .elementor-button:hover{color:var(--ap-accent-hover)!important;}
.ap-hairline-grid{background:var(--ap-border);border:1px solid var(--ap-border);gap:1px!important;}
.ap-hairline-grid>.e-con{background:var(--ap-surface);transition:background var(--ap-duration) var(--ap-ease);}
.ap-hairline-grid>.e-con:hover{background:var(--ap-gray-50);}
.ap-dark .ap-hairline-grid>.e-con:hover{background:var(--ap-gray-900);}
.ap-cat-num .elementor-heading-title{font-family:var(--ap-mono)!important;font-size:12px!important;color:var(--ap-accent)!important;}
.ap-announce{font-family:var(--ap-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;}
.ap-announce a{color:var(--ap-accent);text-decoration:none;}
.ap-announce a:hover{color:#fff;}
.ap-legal{font-family:var(--ap-mono)!important;font-size:11px!important;letter-spacing:.1em!important;color:var(--ap-text-muted)!important;}

/* Rejillas del rediseño */
.ap-grid-4,.ap-grid-3,.ap-grid-2{display:grid!important;align-content:start;}
.ap-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.ap-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.ap-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.ap-split{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;align-items:center;}
.ap-split-b2b{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;align-items:center;}
@media(max-width:1024px){
  .ap-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ap-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ap-split,.ap-split-b2b{grid-template-columns:minmax(0,1fr)!important;}
}
@media(max-width:767px){
  .ap-grid-4,.ap-grid-3,.ap-grid-2{grid-template-columns:minmax(0,1fr)!important;}
}
.ap-hairline-grid>.e-con,.ap-hairline-grid>.e-con>.e-con-inner{min-width:0;}
.ap-page a{text-decoration:none;}

/* Escala tipográfica del diseño */
.ap-h1 .elementor-heading-title{font-size:clamp(48px,5.6vw,84px)!important;font-weight:750!important;letter-spacing:-.03em!important;line-height:.98!important;color:var(--ap-text)!important;text-wrap:pretty;}
.ap-h2 .elementor-heading-title{font-size:clamp(32px,3.4vw,48px)!important;font-weight:750!important;letter-spacing:-.03em!important;line-height:1.02!important;color:var(--ap-text)!important;}
.ap-h2-lg .elementor-heading-title{font-size:clamp(36px,4vw,60px)!important;font-weight:750!important;letter-spacing:-.03em!important;line-height:1!important;color:var(--ap-text)!important;text-wrap:pretty;}
.ap-h3 .elementor-heading-title{font-size:32px!important;font-weight:750!important;letter-spacing:-.03em!important;color:var(--ap-text)!important;}
.ap-accent .elementor-heading-title,.ap-accent{color:var(--ap-accent)!important;}
.ap-lead .elementor-widget-container{font-size:18px!important;line-height:1.6!important;color:var(--ap-text-secondary)!important;max-width:52ch;}
.ap-body .elementor-widget-container{font-size:15px!important;line-height:1.6!important;color:var(--ap-text-secondary)!important;}
.ap-body-b2b .elementor-widget-container{font-size:17px!important;line-height:1.6!important;color:var(--ap-text-secondary)!important;max-width:50ch;}
.ap-stat-label .elementor-heading-title{font-family:var(--ap-mono)!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ap-text-muted)!important;font-weight:500!important;}
.ap-stat-value .elementor-heading-title{font-size:22px!important;font-weight:750!important;letter-spacing:-.02em!important;color:var(--ap-text)!important;}
.ap-metric-num .elementor-heading-title{font-size:44px!important;font-weight:750!important;letter-spacing:-.03em!important;color:var(--ap-text)!important;}
.ap-cat-title .elementor-heading-title{font-size:19px!important;font-weight:650!important;letter-spacing:-.01em!important;color:var(--ap-text)!important;}
.ap-cat-desc .elementor-widget-container{font-size:13px!important;color:var(--ap-text-muted)!important;}
.ap-trust-title .elementor-heading-title{font-family:var(--ap-mono)!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ap-accent)!important;font-weight:500!important;}
.ap-trust-text .elementor-widget-container{font-size:14px!important;line-height:1.5!important;color:var(--ap-text-secondary)!important;}
.ap-brand .elementor-heading-title{font-size:17px!important;font-weight:650!important;letter-spacing:-.01em!important;color:var(--ap-gray-400)!important;}
.ap-bullet .elementor-icon-list-item{font-size:15px!important;color:var(--ap-text)!important;}
.ap-bullet .elementor-icon-list-icon{color:var(--ap-accent)!important;}
.ap-cat-card:hover .elementor-heading-title{color:var(--ap-text)!important;}
.ap-status .elementor-heading-title{font-family:var(--ap-mono)!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--ap-text-muted)!important;}
.ap-foot-title .elementor-heading-title{font-family:var(--ap-mono)!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ap-text-muted)!important;font-weight:500!important;}
.ap-wordmark .elementor-heading-title{font-size:21px!important;font-weight:750!important;letter-spacing:-.02em!important;color:var(--ap-text)!important;}


