/* =========================
   GLOBAL SETTINGS & THEME
   ========================= */
:root{
    /* Palette Pastel */
    --clr-bg           : #f4f7fb;
    --clr-surface      : #ecf1f8;
    --clr-surface-dark : #d8dee9;
    --clr-primary      : #8ad4d4;
    --clr-primary-dark : #5fb4b4;
    --clr-accent       : #f5b7d3;
    --clr-accent-dark  : #d38dad;
    --clr-text-dark    : #222222;
    --clr-text-light   : #ffffff;
    --radius-lg        : 22px;
    --radius-md        : 14px;
    --shadow-inset     : inset 8px 8px 16px rgba(0,0,0,0.05),
                         inset -8px -8px 16px rgba(255,255,255,0.7);
    --shadow           : 8px 8px 16px rgba(0,0,0,0.05),
                         -8px -8px 16px rgba(255,255,255,0.9);
    --transition       : all .35s ease;
    --header-height    : 80px;
}
/* Typography */
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:'Rubik',sans-serif;
    font-size:16px;
    line-height:1.6;
    background:var(--clr-bg);
    color:var(--clr-text-dark);
}
h1,h2,h3,h4,h5,h6{
    font-family:'Manrope',sans-serif;
    color:var(--clr-text-dark);
    text-align:center;
    line-height:1.2;
    text-shadow:1px 1px 3px rgba(0,0,0,.1);
}
.section-title{margin-bottom:1.5rem;font-size:2.25rem;}
.container{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}
/* Utility */
.neumorphism{
    background:var(--clr-surface);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-inset);
}
.alt-bg{background:#ffffff;}
.btn,.btn-primary,.btn-secondary,
button,input[type='submit']{
    cursor:pointer;
    display:inline-block;
    padding:0.75rem 1.75rem;
    font-family:'Manrope',sans-serif;
    font-size:1rem;
    font-weight:600;
    border:none;
    border-radius:var(--radius-md);
    transition:var(--transition);
    text-decoration:none;
    text-align:center;
    color:var(--clr-text-light);
    background:var(--clr-primary);
    box-shadow:var(--shadow);
}
.btn-secondary{background:var(--clr-accent);}
.btn:hover,button:hover,input[type='submit']:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 24px rgba(0,0,0,.15);
}
.btn:focus{outline:none;}
/* Links */
a{color:var(--clr-primary-dark);transition:var(--transition);}
a:hover{text-decoration:none;color:var(--clr-accent-dark);}
.external-links a{font-weight:500;position:relative;}
.external-links a::after{
    content:'→';
    margin-left:.35rem;
    transition:var(--transition);
}
.external-links a:hover::after{transform:translateX(4px);}
/* =========================
   HEADER & NAVIGATION
   ========================= */
.header{
    position:fixed;
    top:0;left:0;width:100%;
    height:var(--header-height);
    display:flex;
    align-items:center;
    background:rgba(244,247,251,.9);
    backdrop-filter:saturate(180%) blur(12px);
    box-shadow:0 4px 12px rgba(0,0,0,.06);
    z-index:999;
}
.header .container{display:flex;align-items:center;justify-content:space-between;}
.logo{font-size:1.5rem;font-weight:700;color:var(--clr-text-dark);text-decoration:none;}
.nav ul{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0;}
.nav a{font-weight:500;color:var(--clr-text-dark);}
.burger{
    display:none;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
}
.burger span{width:24px;height:3px;background:var(--clr-text-dark);border-radius:2px;transition:var(--transition);}
@media(max-width:768px){
    .nav{position:fixed;inset:0 0 0 auto;background:rgba(244,247,251,.97);padding:5rem 3rem;transform:translateX(100%);transition:var(--transition);}
    .nav.open{transform:translateX(0);}
    .nav ul{flex-direction:column;gap:2rem;}
    .burger{display:flex;}
    .burger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
    .burger.active span:nth-child(2){opacity:0;}
    .burger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px);}
}
/* =========================
   HERO
   ========================= */
.hero{
    position:relative;
    width:100%;
    padding:calc(var(--header-height) + 4rem) 0 6rem;
    background:url('../image/hero-uruguay-tech.jpg') center/cover no-repeat;
}
.hero>.overlay{
    position:absolute;inset:0;
    background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5));
}
.hero .container{position:relative;z-index:1;text-align:center;color:var(--clr-text-light);}
.hero-title{font-size:3rem;margin-bottom:1rem;color:var(--clr-text-light);}
.hero-subtitle{max-width:700px;margin:0 auto 2rem;font-size:1.15rem;color:#eaeaea;}
/* =========================
   SECTIONS GENERIC
   ========================= */
.section{padding:4rem 0;}
.stats-wrapper{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2.5rem;}
.stat-widget{flex:1 1 200px;text-align:center;padding:2rem;border-radius:var(--radius-md);}
.stat-widget strong{font-size:2rem;color:var(--clr-primary-dark);}
.cards-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:2rem;
    margin-top:2.5rem;
}
/* =========================
   CARD COMPONENT
   ========================= */
.card{
    background:var(--clr-surface);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    transition:var(--transition);
}
.card:hover{transform:translateY(-6px)}
.card-image{width:100%;height:240px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.card-image img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    margin:0 auto;
}
.card-content{padding:1.5rem;}
.price{display:block;font-size:1.5rem;color:var(--clr-primary-dark);margin:1rem 0;}
/* =========================
   IMAGE CONTAINER GENERIC
   ========================= */
.image-container{width:100%;height:320px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.image-container img{width:100%;height:100%;object-fit:cover;margin:0 auto;}
/* =========================
   LOGOS WRAPPER
   ========================= */
.logos-wrapper{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;align-items:center;margin-top:2rem;}
.logos-wrapper img{filter:grayscale(100%);transition:var(--transition);}
.logos-wrapper img:hover{filter:none;transform:scale(1.05);}
/* =========================
   FORMS
   ========================= */
.contact-form{max-width:600px;margin:0 auto;padding:2rem;box-shadow:var(--shadow-inset);}
.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column;}
label{font-weight:500;margin-bottom:0.35rem;}
input,textarea{
    padding:0.75rem 1rem;
    border:1px solid var(--clr-surface-dark);
    border-radius:var(--radius-md);
    background:#fff;
    font-family:'Rubik',sans-serif;
    transition:var(--transition);
}
input:focus,textarea:focus{outline:none;border-color:var(--clr-primary-dark);}
textarea{resize:vertical;}
/* =========================
   FOOTER
   ========================= */
.footer{background:var(--clr-surface);padding:3rem 0;margin-top:4rem;}
.footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;}
.footer h3{margin-top:0;margin-bottom:1rem;}
.footer ul{list-style:none;padding:0;margin:0;}
.footer a{color:var(--clr-primary-dark);font-weight:500;}
.footer a:hover{color:var(--clr-accent-dark);}
.footer p{margin:0;}
/* =========================
   SOCIAL LINKS
   ========================= */
.footer ul li a::before{
    content:'• ';
    color:var(--clr-accent);
}
/* =========================
   MODAL
   ========================= */
.modal{
    position:fixed;inset:0;
    background:rgba(0,0,0,.6);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:10000;
}
.modal-content{
    max-width:420px;
    width:90%;
    padding:2rem;
    text-align:center;
}
/* =========================
   SUCCESS PAGE
   ========================= */
body.success-page, .success-wrapper{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
}
body.success-page main{width:100%;}
/* =========================
   PRIVACY & TERMS
   ========================= */
body.legal-page main{padding-top:100px;}
/* =========================
   PARTICLE ANIMATION
   ========================= */
@keyframes float{
    0%{transform:translateY(0)}
    50%{transform:translateY(-20px)}
    100%{transform:translateY(0)}
}
.particle{
    position:absolute;
    width:8px;height:8px;
    background:var(--clr-accent);
    border-radius:50%;
    opacity:.7;
    animation:float 6s ease-in-out infinite;
}
.hero .particle:nth-child(1){left:10%;top:30%;animation-delay:.2s;}
.hero .particle:nth-child(2){left:25%;top:60%;animation-delay:1s;}
.hero .particle:nth-child(3){left:50%;top:20%;animation-delay:2s;}
.hero .particle:nth-child(4){left:75%;top:55%;animation-delay:3s;}
.hero .particle:nth-child(5){left:90%;top:35%;animation-delay:4s;}
/* =========================
   SMOOTH TRANSITION PAGES
   ========================= */
main,header,footer{transition:opacity .4s ease;}
html.is-transitioning main{opacity:0;}
/* =========================
   READ MORE LINK
   ========================= */
.read-more{
    font-weight:600;
    color:var(--clr-primary-dark);
    position:relative;
}
.read-more::after{
    content:'';
    position:absolute;left:0;bottom:-2px;
    width:100%;height:2px;
    background:var(--clr-accent);
    transition:var(--transition);
}
.read-more:hover::after{width:120%;}
/* =========================
   MEDIA QUERIES
   ========================= */
@media(max-width:576px){
    .hero-title{font-size:2.25rem;}
    .section{padding:3rem 0;}
    .card-image,.image-container{height:220px;}
}
.burger{
    display: none;
}