/* Base 73: tipografía, foco accesible y estados que las clases de Elementor no cubren (transiciones, menú, servicios en láminas, punto de marca) */
html body{font-family:"Elms Sans","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;background-color:#f4f4f7;color:#000831;overflow-x:hidden;overflow-x:clip}
html body .elementor,html body .elementor h1,html body .elementor h2,html body .elementor h3,html body .elementor p,html body .elementor a,html body .elementor button,html body .elementor input,html body .elementor select,html body .elementor textarea{font-family:"Elms Sans","Helvetica Neue",Arial,sans-serif}
body.s73-lock{overflow:hidden}
.elementor :focus-visible{outline:3px solid #000831;outline-offset:3px;border-radius:4px}
.elementor .s73-manifesto :focus-visible,.elementor .s73-guide :focus-visible,.elementor .s73-footer :focus-visible,.elementor .s73-panel-navy :focus-visible,.elementor .s73-mobile-menu :focus-visible{outline-color:#ff616b}

/* Header */
.elementor .s73-header{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.elementor .s73-header.is-hidden{transform:translateY(-110%)}
.admin-bar .elementor .s73-header{top:32px}
@media (max-width:782px){.admin-bar .elementor .s73-header{top:46px}}
.elementor .s73-navlink{position:relative}
.elementor .s73-navlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:#ff616b;transform:scaleX(0);transform-origin:right;transition:transform .35s}
.elementor .s73-navlink:hover::after{transform:scaleX(1);transform-origin:left}

/* Botones */
.elementor .s73-btn,.elementor .s73-navlink,.elementor .s73-foot-link,.elementor .s73-mobile-link,.elementor .s73-legal-link{transition:background-color .3s,color .3s,box-shadow .3s}
.elementor .s73-btn::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background-color:#ff616b;transition:background-color .3s}
.elementor .s73-btn:hover::before,.elementor .s73-btn-coral::before{background-color:#000831}
.elementor .s73-btn-ghost::before{display:none}

/* Menú móvil */
.elementor .s73-menu-btn{flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.elementor .s73-menu-btn .s73-bar{display:block;width:18px;height:1.5px;background:#000831;transition:transform .3s}
.elementor .s73-menu-btn[aria-expanded="true"] .s73-bar:first-child{transform:translateY(3.25px) rotate(45deg)}
.elementor .s73-menu-btn[aria-expanded="true"] .s73-bar:nth-child(2){transform:translateY(-3.25px) rotate(-45deg)}
.elementor .s73-mobile-menu.is-open{display:flex}
@media (min-width:1025px){.elementor .s73-mobile-menu.is-open{display:none}}
.s73-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Hero */
.elementor .s73-hero .s73-eyebrow{display:flex;align-items:center;gap:14px}
.elementor .s73-hero .s73-rot{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em 0;margin:-.1em 0}
.elementor .s73-hero .s73-rot-item{display:inline-block}
.s73-dot-wait .s73-dot{visibility:hidden}
.s73-dot{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:#ff616b;margin-left:.04em}
.elementor .s73-scroll-hint{display:flex;align-items:center;gap:10px}
.elementor .s73-scroll-hint::before{content:"";width:1.5px;height:42px;background:#000831;transform-origin:top;animation:s73hint 1.8s ease-in-out infinite}
@keyframes s73hint{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0)}}

/* Manifiesto */
.elementor .s73-manifesto-text strong{font-weight:inherit;color:#ff616b}

/* Servicios en láminas: cada panel es sticky y se apila sobre el anterior con el scroll vertical normal */
.elementor .s73-panel-ghost{pointer-events:none;font-variant-numeric:tabular-nums}
html body .elementor .s73-services{overflow:clip;--s73-stack-top:96px;--s73-stack-step:14px}
html body .elementor .s73-services .s73-track{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,6vh,64px);width:100%;max-width:1080px;margin-inline:auto;transform:none}
html body .elementor .s73-services .s73-panel{position:sticky;top:calc(var(--s73-stack-top) + var(--s73-i,0) * var(--s73-stack-step));width:100%;min-height:min(72vh,560px);transform-origin:50% 0;box-shadow:0 24px 60px -24px rgba(0,0,0,.55)}
.elementor .s73-services .s73-panel::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#000831;opacity:var(--shade,0);pointer-events:none;z-index:3}
@media (max-width:767px){html body .elementor .s73-services{--s73-stack-top:76px;--s73-stack-step:10px}html body .elementor .s73-services .s73-panel{min-height:min(78vh,520px)}}

/* Marquesina */
.elementor .s73-marquee-item{display:flex;align-items:center;gap:.5em}
.elementor .s73-marquee-item::after{content:"";flex:none;width:.26em;height:.26em;border-radius:50%;background:#000831}

/* Cursor (solo escritorio) */
.s73-cursor{position:fixed;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#ff616b;pointer-events:none;z-index:100;mix-blend-mode:multiply;opacity:0;transition:width .3s,height .3s,margin .3s}
.s73-cursor.big{width:64px;height:64px;margin:-32px 0 0 -32px}
@media (pointer:fine){.s73-cursor{opacity:1}}

@media (prefers-reduced-motion:reduce){
  .s73-cursor{display:none}
  .elementor .s73-scroll-hint::before{animation:none}
  .elementor .s73-header{transition:none}
}

/* Logo grande del footer a todo el ancho */
.elementor .s73-foot-logo .s73-logo-wrap,.elementor .s73-foot-logo .s73-logo{display:block;width:100%}
.elementor .s73-foot-logo .elementor-widget-container{width:100%}
.elementor .s73-header .s73-logo-sc{width:auto;flex:none}
