/* ==========================================================================
   main.css — Portfolio v2 Entry Point
   Imports: Vendor (Bootstrap + Bootstrap Icons) → Project cascade.
   Order matters: vendor → tokens → base → layout → utilities → components.
   ========================================================================== */

/* ---------------------------------------------------------------------------
   Vendor: Bootstrap 5.3 CSS
   --------------------------------------------------------------------------- */
@import url('../vendor/bootstrap-5.3/bootstrap.min.css');

/* ---------------------------------------------------------------------------
   Vendor: Bootstrap Icons CSS
   --------------------------------------------------------------------------- */
@import url('../vendor/bootstrap-icons/bootstrap-icons.min.css');

/* ---------------------------------------------------------------------------
   Project cascade: tokens → base → layout → utilities
   --------------------------------------------------------------------------- */
@import url('tokens.css');
@import url('base.css');
@import url('layout.css');
@import url('utilities.css');

/* ---------------------------------------------------------------------------
   Components: Stage-1 sections (each ~150 lines max)
   --------------------------------------------------------------------------- */
@import url('components/navbar.css');
@import url('components/theme-toggle.css');
@import url('components/hero.css');
@import url('components/about.css');
@import url('components/skills.css');
@import url('components/footer.css');

/* ---------------------------------------------------------------------------
    Components: Stage-2 sections
    --------------------------------------------------------------------------- */
@import url('components/services.css');
@import url('components/experience.css');
@import url('components/portfolio-grid.css');

/* ---------------------------------------------------------------------------
    Components: Stage-5A Laboratorio section
    --------------------------------------------------------------------------- */
@import url('components/lab-section.css');

/* ---------------------------------------------------------------------------
    Components: Stage-5B Chart.js interactive showcase
    --------------------------------------------------------------------------- */
@import url('components/chartjs-showcase.css');

/* ---------------------------------------------------------------------------
    Components: Stage-5C Leaflet interactive showcase
    --------------------------------------------------------------------------- */
@import url('components/leaflet-showcase.css');

/* ---------------------------------------------------------------------------
    Components: Stage-4 contact (visual placeholder — backend pending)
    --------------------------------------------------------------------------- */
@import url('components/contact.css');

/* ---------------------------------------------------------------------------
    Components: Utility pages (404, thank-you, CTA buttons)
    --------------------------------------------------------------------------- */
@import url('components/utility-pages.css');

/* ---------------------------------------------------------------------------
    Graceful degradation: no-JS fallback
    When ES modules fail (e.g. file:// CORS), [data-reveal] elements
    must remain visible. The inline <script> in <head> removes .no-js
    and adds .js when JS is available.
    --------------------------------------------------------------------------- */
.no-js [data-reveal] {
  opacity: 1;
  transform: none;
  transition: none;
}
