/* =========================================================
   NECORA Landing — 01-shell.css
   EXTRAÍDO DESDE landing.css v30.5
   Scope:
   - main frame desktop/mobile
   - layout helpers
   - anchors
   - surface layers
   - shell estructural seguro
   ========================================================= */

/* =========================================================
   2) DESKTOP CANVAS — MAIN FRAME (HERO y FOOTER-CTA fuera)
   ========================================================= */
#necora-landing.nl{ background: transparent; }

@media (min-width: 1024px){

  body{ padding: 0; }

  #necora-landing.nl{
    position: relative;
    z-index: 3;
    max-width: 1180px;
    margin: calc(var(--nl-frameLift) * -1) auto 0;
    border-radius: var(--nl-appRadius);
    overflow: clip;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  @supports not (overflow: clip){
    #necora-landing.nl{ overflow:hidden; }
  }

  #necora-landing.nl::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom: 0;

    border-radius: var(--nl-appRadius);
    background: var(--nl-mainCard-bg);
    border: 1px solid var(--nl-mainCard-border);
    box-shadow: var(--nl-mainCard-shadow);

    pointer-events:none;
    z-index:0;
  }

  #necora-landing.nl > *{
    position: relative;
    z-index: 1;
  }

  #necora-landing.nl > section{
    padding-left: clamp(18px, 2.2vw, 28px);
    padding-right: clamp(18px, 2.2vw, 28px);
  }
}

@media (max-width: 1023px){
  body{ padding:0; }

  #necora-landing.nl{
    max-width:none;
    margin:0;
    border-radius:0;
    border:0;
    box-shadow:none;
    background: transparent;
  }

  #necora-landing.nl::before{ content:none; }
}

/* =========================================================
   3) LAYOUT HELPERS
   ========================================================= */
.nl-container{ padding: 0 var(--nl-pad); }
.nl-section{ position: relative; }

/* Anchors */
:where(section[id]){
  scroll-margin-top: 90px;
}

@media (max-width:859px){
  :where(section[id]){
    scroll-margin-top: 18px;
    scroll-margin-bottom: 110px;
  }
}

/* Theme layers */
.nl-surface{
  background: var(--nl-surface-bg);
  color: var(--nl-text-strong);
}

.nl-surface2{
  background: var(--nl-surface2-bg);
  color: var(--nl-text-strong);
}

.nl-darkSection{
  background: var(--nl-dark);
  color: var(--nl-text-invert);
}

.nl-darkSection .nl-h2,
.nl-darkSection h2,
.nl-darkSection h3{
  color: var(--nl-text-invert);
}

.nl-darkSection .nl-sub,
.nl-darkSection p{
  color: rgba(255,255,255,.72);
}

.nl-darkSection .nl-featureCard,
.nl-darkSection .nl-switchPanel,
.nl-darkSection .nl-switchActions,
.nl-darkSection .nl-form,
.nl-darkSection .nl-benefitCard,
.nl-darkSection .nl-metric,
.nl-darkSection .nl-miniCard,
.nl-darkSection .nl-success__card,
.nl-darkSection .nl-faq{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-color: var(--nl-dark-border);
  box-shadow: 0 28px 90px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}