/* ======================================================
   InversionAR – Futuristic + Biomorphic Theme
   ====================================================== */

/* ---------- Variables ---------- */
:root{
    /* Core Palette (Complementary) */
    --color-primary:#2563ff;          /* vívido azul */
    --color-primary-dark:#1d4ed8;
    --color-secondary:#ff7d1a;        /* acento naranja */
    --color-secondary-dark:#d96500;
    --color-bg:#f5f8ff;               /* fondo base claro */
    --color-surface:#ffffff;          /* tarjetas / modales */
    --color-text:#222222;
    --color-text-light:#ffffff;
    --radius-soft:18px;               /* biomorphic */
    --shadow-soft:0 4px 20px rgba(0,0,0,.1);
    --shadow-hover:0 6px 30px rgba(0,0,0,.15);
    --transition-fast:.25s ease;
}
/* Typography */
body{
    font-family:'Rubik',system-ui,sans-serif;
    color:var(--color-text);
    background:var(--color-bg);
    line-height:1.6;
}
h1,h2,h3,h4,h5,h6{
    font-family:'Manrope',sans-serif;
    font-weight:700;
    letter-spacing:-.02em;
}
.title, .subtitle{
    text-align:center;
}
/* ---------- Layout Helpers ---------- */
.section{
    padding:4rem 1.5rem;
}
.parallax{
    background-attachment:fixed;
    background-size:cover;
    background-repeat:no-repeat;
}
.container.is-two-thirds{
    max-width:900px;
}
/* ---------- Header ---------- */
.navbar{
    backdrop-filter:blur(12px);
    background:rgba(0,0,0,.45);
}
.navbar-item,
.navbar-burger span{
    color:var(--color-text-light)!important;
}
.navbar-item:hover{
    color:var(--color-secondary)!important;
}
/* ---------- Button Base ---------- */
.btn,
button,
input[type='submit']{
    position:relative;
    display:inline-block;
    background:var(--color-primary);
    color:var(--color-text-light);
    font-family:'Manrope',sans-serif;
    padding:.75rem 1.75rem;
    border:none;
    border-radius:9999px;
    cursor:pointer;
    transition:transform var(--transition-fast),box-shadow var(--transition-fast);
    box-shadow:var(--shadow-soft);
}
.btn:hover,
button:hover,
input[type='submit']:hover{
    transform:translateY(-3px) scale(1.02);
    box-shadow:var(--shadow-hover);
}
.btn:active{
    transform:translateY(0) scale(.98);
}
/* Accent variation */
.btn--secondary{
    background:var(--color-secondary);
}
.btn--outline{
    background:transparent;
    color:var(--color-primary);
    border:2px solid var(--color-primary);
}
.btn--outline:hover{
    background:var(--color-primary);
    color:var(--color-text-light);
}

/* ---------- Hero ---------- */
#hero{
    position:relative;
    color:var(--color-text-light);
    text-shadow:1px 1px 4px rgba(0,0,0,.6);
}
#hero .button{
    background:var(--color-secondary);
}
#hero .button:hover{
    background:var(--color-secondary-dark);
}

/* ---------- Cards ---------- */
.card{
    background:var(--color-surface);
    border-radius:var(--radius-soft);
    box-shadow:var(--shadow-soft);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    transition:transform var(--transition-fast),box-shadow var(--transition-fast);
    text-align:center;
}
.card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-hover);
}
.card-image.image-container{
    width:100%;
    height:220px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.card-image.image-container img{
    width:100%;
    height:100%;
    object-fit:cover;
    margin:0 auto;
}

/* ---------- Gallery / Grids ---------- */
.columns .column{
    display:flex;
}
.columns .card{
    width:100%;
}

/* ---------- Links ---------- */
a{
    color:var(--color-primary-dark);
    transition:color var(--transition-fast);
}
a:hover{
    color:var(--color-secondary-dark);
}
/* leer más */
a.read-more{
    font-weight:600;
    position:relative;
}
a.read-more::after{
    content:'';
    position:absolute;
    left:0;bottom:-2px;
    width:100%;
    height:2px;
    background:var(--color-secondary);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform var(--transition-fast);
}
a.read-more:hover::after{
    transform:scaleX(1);
}

/* ---------- Sections Specific ---------- */
#investigacion{
    background:linear-gradient(135deg,rgba(37,99,255,.05),rgba(255,125,26,.05));
}
#accolades{
    background:linear-gradient(180deg,#f0f4ff 0%,#f6f9ff 100%);
}
#contacto{
    background:linear-gradient(180deg,#eefaf6 0%,#e2f4ee 100%);
}
/* Form */
#contactForm .field:not(:last-child){
    margin-bottom:1.25rem;
}
#contactForm input,
#contactForm textarea{
    border-radius:var(--radius-soft);
    border:1px solid #d1d9e6;
    transition:border-color var(--transition-fast),box-shadow var(--transition-fast);
}
#contactForm input:focus,
#contactForm textarea:focus{
    border-color:var(--color-primary);
    box-shadow:0 0 0 3px rgba(37,99,255,.15);
}

/* ---------- Footer ---------- */
footer.footer{
    padding:3rem 1.5rem;
}
footer .content{
    color:var(--color-text-light);
}
footer a{
    color:var(--color-secondary);
    margin:0 .25rem;
}
footer a:hover{
    color:var(--color-secondary-dark);
    text-decoration:underline;
}
/* Social link "icons" style */
footer a::before{
    content:'◉ ';
    font-size:.75em;
}

/* ---------- Success Page ---------- */
.success-page, .hero.is-fullheight{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

/* ---------- Privacy & Terms padding fix ---------- */
body.legal-page .section{
    padding-top:100px;
}

/* ---------- Microanimations ---------- */
@keyframes float{
    0%{transform:translateY(0)}
    50%{transform:translateY(-6px)}
    100%{transform:translateY(0)}
}
[data-float]{
    animation:float 4s ease-in-out infinite;
}

/* ---------- ScrollReveal Utility (optional fade) ---------- */
.is-revealed{
    opacity:0;
    transform:translateY(20px);
    transition:opacity .6s ease,transform .6s ease;
}
.is-revealed.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* ---------- Modal override ---------- */
.modal-content{
    border-radius:var(--radius-soft);
    backdrop-filter:blur(30px);
    background:rgba(255,255,255,.75);
}

/* ---------- Misc ---------- */
.section-dark{
    background:var(--color-primary-dark);
    color:var(--color-text-light);
}
/* ensure bg images behave */
[data-prompt]{
    background-size:cover!important;
    background-repeat:no-repeat!important;
}
/* Burger color fix */
.navbar-burger span{
    background-color:var(--color-text-light)!important;
}
.navbar-burger, .navbar-burger{
    display: none!important;
}