/* ==========================================================
   ML~NU Website
   styles.css
==========================================================*/

/* ==========================
   RESET
==========================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:var(--font-body);

    font-size:var(--fs-base);

    line-height:var(--lh-normal);

    color:var(--color-text);

    background:var(--bg-body);

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}

img{

    display:block;

    width:100%;

    height:auto;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

button{

    border:none;

    background:none;

    cursor:pointer;

    font:inherit;

}

/* ==========================
   CONTAINER
==========================*/

.container{

    width:min(var(--container-width),100%);

    margin-inline:auto;

    padding-inline:var(--container-padding);

}

/* ==========================
   TYPOGRAPHY
==========================*/

h1,
h2,
h3{

    font-family:var(--font-heading);

    line-height:var(--lh-heading);

    color:var(--color-primary);

}

h1{

    font-size:var(--fs-5xl);

    margin-bottom:1.5rem;

}

h2{

    font-size:var(--fs-4xl);

    margin-bottom:1rem;

}

h3{

    font-size:var(--fs-xl);

    margin-bottom:.75rem;

}

p{

    color:var(--color-text-light);

    margin-bottom:1rem;

}

.section{

    padding:var(--space-12) 0;

}

.section-alt{

    background:var(--bg-alt);

}

.section-header{

    text-align:center;

    max-width:760px;

    margin:0 auto 4rem;

}

.section-label{

    display:inline-block;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:.8rem;

    font-weight:600;

    color:var(--color-secondary);

    margin-bottom:1rem;

}

/* ==========================
   HEADER
==========================*/

.header{

    position:sticky;

    top:0;

    width:100%;

    background:#ffffffee;

    backdrop-filter:blur(14px);

    z-index:var(--z-header);

    box-shadow:var(--shadow-sm);

}

.navbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:var(--header-height);

}

.logo img{

    height:54px;

    width:auto;

}

.nav-links{

    display:flex;

    gap:2rem;

    align-items:center;

}

.nav-links a{

    transition:var(--transition);

    font-weight:500;

}

.nav-links a:hover{

    color:var(--color-secondary);

}

.nav-actions{

    display:flex;

    gap:1rem;

}

.mobile-toggle{

    display:none;

    font-size:2rem;

}

/* ==========================
   BUTTONS
==========================*/

.btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    min-height:54px;

    padding:0 2rem;

    border-radius:999px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--color-secondary);

    color:var(--color-primary);

}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:var(--shadow-md);

}

.btn-secondary{

    border:2px solid var(--color-primary);

    color:var(--color-primary);

}

.btn-secondary:hover{

    background:var(--color-primary);

    color:white;

}

/* ==========================
   HERO
==========================*/

.hero{

    min-height:90vh;

    display:flex;

    align-items:center;

}

.hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:5rem;

    align-items:center;

}

.hero-content p{

    font-size:1.15rem;

    max-width:600px;

}

.hero-buttons{

    display:flex;

    gap:1rem;

    margin-top:2rem;

    flex-wrap:wrap;

}

.eyebrow{

    display:inline-block;

    color:var(--color-secondary);

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:1rem;

}

.hero-image{

    max-width:550px;

    margin-left:auto;

}

/* ==========================
   CARDS
==========================*/

.cards-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:2rem;

}

.card{

    background:white;

    border-radius:20px;

    padding:2rem;

    box-shadow:var(--shadow-md);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-10px);

}

.card-icon{

    font-size:2rem;

    margin-bottom:1rem;

}

/* ==========================
   PRODUCTS
==========================*/

.product-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:2rem;

}

.product-card{

    text-align:center;

}

.product-card img{

    max-width:260px;

    margin:0 auto 2rem;

}

/* ==========================
   BUSINESS
==========================*/

.journey{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:2rem;

    margin-top:4rem;

}

.journey-step{

    text-align:center;

}

.journey-step span{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:70px;

    height:70px;

    border-radius:50%;

    background:var(--color-secondary);

    color:var(--color-primary);

    font-weight:700;

    margin-bottom:1rem;

}

.section-action{

    margin-top:4rem;

    text-align:center;

}

/* ==========================
   FAQ
==========================*/

.faq{

    max-width:900px;

    margin:auto;

}

details{

    background:white;

    border-radius:16px;

    margin-bottom:1rem;

    padding:1.5rem;

    box-shadow:var(--shadow-sm);

}

summary{

    cursor:pointer;

    font-weight:600;

    color:var(--color-primary);

}

/* ==========================
   CONTACT
==========================*/

.contact-card{

    max-width:650px;

    margin:auto;

    text-align:center;

}

/* ==========================
   FOOTER
==========================*/

.footer{

    background:var(--color-primary);

    color:white;

    padding:5rem 0;

}

.footer-logo{

    max-width:180px;

    margin:0 auto 2rem;

}

.footer-content{

    text-align:center;

}

.footer-links{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:2rem;

    margin:2rem 0;

}

.footer-buttons{

    display:flex;

    justify-content:center;

    gap:1rem;

    margin-bottom:2rem;

}

.footer-buttons a{

    color:var(--color-secondary);

    font-weight:600;

}

.footer p{

    color:#d5dbe6;

}

/* ==========================
   ANIMATIONS
==========================*/

.card,
.btn,
img{

    transition:var(--transition);

}

img:hover{

    transform:scale(1.02);

}

/* ==========================
   RESPONSIVE
==========================*/

@media (max-width:1100px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-content p{

margin:auto;

}

.hero-image{

margin:auto;

}

.cards-grid{

grid-template-columns:repeat(2,1fr);

}

.journey{

grid-template-columns:repeat(2,1fr);

}

}

@media (max-width:900px){

.nav-links{

display:none;

}

.nav-actions{

display:none;

}

.mobile-toggle{

display:block;

}

.product-grid{

grid-template-columns:1fr;

}

}

@media (max-width:768px){

.cards-grid{

grid-template-columns:1fr;

}

.journey{

grid-template-columns:1fr;

}

.hero-buttons{

flex-direction:column;

}

.btn{

width:100%;

}

.footer-links{

flex-direction:column;

gap:1rem;

}

.footer-buttons{

flex-direction:column;

}

.section{

padding:5rem 0;

}

}