:root{
--blue:#1F4FBF;
--orange:#F4A018;
--ink:#0F172A;
--paper:#F7F7F2;
--white:#fff;
--radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
line-height:1.6;color:var(--ink);background:var(--paper);
text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
text-align:center;
}
img{max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(100%,1000px);margin-inline:auto;padding:1rem}
.section{padding:2rem 0}
@media (min-width:768px){.section{padding:3.5rem 0}}
.section.muted{background:var(--white)}
.lead{font-size:1.1rem;max-width:60ch;margin:0 auto}

.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:var(--orange);color:#000;padding:.5rem 1rem;border-radius:.5rem}

.site-header{
background:var(--white);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10
}
.header-inner{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink)}
.brand-text{font-size:1.1rem;letter-spacing:.2px}
.brand img{width:48px;height:48px}
@media (max-width:767px){
.brand img{width:40px;height:40px}
.brand-text{font-size:1rem}
}

/* Hamburger menu */
.hamburger{
display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:4px;z-index:20
}
.hamburger span{
display:block;width:24px;height:3px;background:var(--ink);transition:all 0.3s ease;border-radius:2px
}
.hamburger[aria-expanded="true"] span:nth-child(1){
transform:rotate(45deg) translate(6px,6px)
}
.hamburger[aria-expanded="true"] span:nth-child(2){
opacity:0
}
.hamburger[aria-expanded="true"] span:nth-child(3){
transform:rotate(-45deg) translate(6px,-6px)
}

.nav{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
.nav-link{padding:.4rem .6rem;border-radius:.5rem}
.nav-link:hover{background:var(--paper)}

/* Language toggle */
.lang-toggle{
background:none;border:1px solid var(--blue);color:var(--blue);padding:0.3rem 0.6rem;
border-radius:0.4rem;font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.2s ease
}
.lang-toggle:hover{background:var(--blue);color:white}
.lang-toggle.active{background:var(--blue);color:white;outline:2px solid var(--orange);outline-offset:2px}

.hero{position:relative;isolation:isolate}
.hero .container{position:relative;z-index:1}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.15;z-index:0}

.grid{display:grid;gap:1rem}
@media (min-width:700px){.grid{grid-template-columns:repeat(2,1fr)}}
.cards .card{
background:var(--white);border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.03)
}
.fees{margin:1rem 0;font-weight:600}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}

.btn{
display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
padding:.7rem 1rem;border-radius:.7rem;border:1px solid var(--blue);
background:var(--blue);color:#fff;font-weight:600;cursor:pointer
}
.btn:hover{filter:brightness(1.05);text-decoration:none}
.btn.outline{background:transparent;color:var(--blue)}
.btn.small{padding:.4rem .6rem}
.btn.cta{background:var(--orange);border-color:var(--orange);color:#141414}

.lang-switch .btn.active{outline:2px solid var(--orange);outline-offset:2px}

.site-footer{border-top:1px solid #e5e7eb;background:var(--white);padding:1rem 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.back-to-top{padding:.4rem .6rem;border-radius:.5rem;border:1px solid #d1d5db;background:#fff}
.back-to-top:hover{background:var(--paper)}

.whatsapp-link{
display:inline-flex;
align-items:center;
gap:0.4rem;
color:#25D366;
font-weight:600;
}
.whatsapp-link:hover{ text-decoration:underline; }

/* Contact section - remove bullet points */
.contact-list{
list-style:none;padding:0;margin:0
}
.contact-list li{
margin-bottom:0.5rem
}

/* Objectifs section - center heading, left-align bullets */
#objectifs h2{
text-align:center
}
#objectifs .grid{
text-align:left
}

/* Modal Styles */
.modal{
position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;
background-color:rgba(0,0,0,0.5);align-items:center;justify-content:center;
}
.modal-content{
background-color:var(--white);margin:15% auto;padding:2rem;border-radius:var(--radius);
width:90%;max-width:500px;position:relative;text-align:center
}
.close{
color:#aaa;float:right;font-size:28px;font-weight:bold;position:absolute;right:1rem;top:0.5rem;cursor:pointer
}
.close:hover,.close:focus{color:var(--ink);text-decoration:none}
.modal-content h3{margin-top:0;color:var(--blue)}
.modal-content p{margin-bottom:1rem}

/* Mobile optimizations */
@media (max-width:767px){
.header-inner{flex-direction:row;gap:0.5rem;position:relative;align-items:center}
.hamburger{display:flex}
.nav{
position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid #e5e7eb;
flex-direction:column;padding:0.5rem;gap:0.25rem;transform:translateY(-100%);opacity:0;visibility:hidden;
transition:all 0.3s ease;box-shadow:0 4px 6px rgba(0,0,0,0.1);max-height:30vh;overflow-y:auto
}
.nav.active{
transform:translateY(0);opacity:1;visibility:visible
}
.nav-link{
padding:0.5rem 0.75rem;border-radius:0.4rem;text-align:center;font-weight:500;font-size:0.9rem
}
.nav-link:hover{background:var(--paper)}
.cta-row{flex-direction:column;align-items:center}
.modal-content{margin:10% auto;padding:1.5rem}
}
