html {scroll-behavior: smooth;}
:root {--primary-blue: #0030a0;--secondary-blue: #002070;--text-dark: #333;--light-bg: #f8f9fa;}
body {font-family: 'Open Sans', sans-serif;color: var(--text-dark);overflow-x: hidden;padding-top: 76px;}
h1, h2, h3, h4, h5, h6 {font-family: 'Montserrat', sans-serif;font-weight: 700;}
.text-primary-custom {color: var(--primary-blue) !important;}
.bg-primary-custom {background-color: var(--primary-blue) !important;}
.btn-primary-custom {background-color: var(--primary-blue);border-color: var(--primary-blue);color: white;padding: 10px 25px;border-radius: 50px;transition: all 0.3s ease;}
.btn-primary-custom:hover {background-color: var(--secondary-blue);color: white;transform: translateY(-2px);box-shadow: 0 5px 15px rgba(0, 48, 160, 0.3);}
.navbar {background-color: white;box-shadow: 0 2px 10px rgba(0,0,0,0.1);padding: 10px 0;height: 76px;}
.navbar-brand img {max-height: 55px;width: auto;}
.navbar-phone {color: var(--primary-blue);font-weight: 600;font-size: 0.9rem;text-decoration: none;margin-left: auto;margin-right: 12px;display: flex;align-items: center;gap: 6px;min-height: 44px;min-width: 44px;justify-content: center;transition: color 0.3s;}
.navbar-phone:hover {color: var(--secondary-blue);}
.desktop-menu {display: flex;align-items: center;}
.nav-link {color: var(--text-dark);font-weight: 600;margin-left: 20px;transition: color 0.3s;}
.nav-link:hover {color: var(--primary-blue);}
.menu-toggle {display: none;cursor: pointer;font-size: 1.5rem;color: var(--primary-blue);z-index: 1001;}
.mobile-nav-overlay {position: fixed;top: 0;left: 0;width: 100%;height: 100vh;background-color: var(--primary-blue);z-index: 1000;display: flex;flex-direction: column;justify-content: center;align-items: center;opacity: 0;visibility: hidden;transition: opacity 0.4s ease, visibility 0.4s;}
.mobile-nav-overlay.active {opacity: 1;visibility: visible;}
.mobile-nav-link {color: white;font-size: 2rem;margin: 15px 0;text-decoration: none;font-family: 'Montserrat', sans-serif;font-weight: 700;transition: transform 0.3s;}
.mobile-nav-link:hover {transform: scale(1.1);color: #ffd700;}
.close-menu{position:absolute;top:20px;right:30px;font-size:3rem;color:#fff;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
@media(max-width:991px){.desktop-menu{display:none;}.menu-toggle{display:flex;}}
#hero{background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(230,240,255,.95) 100%),url('../img/slider-assistia.jpg');background-size:cover;background-position:center;padding:80px 0;min-height:80vh;display:flex;align-items:center;}
.hero-badge{background:#e6f0ff;color:var(--primary-blue);padding:5px 15px;border-radius:20px;font-weight:600;font-size:.9rem;display:inline-block;margin-bottom:20px;}
#hero .lead{color:#444;max-width:560px;}
#hero .hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
#hero .hero-cta .btn{white-space:nowrap;}
#hero .hero-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}
#hero .hero-stat{background:rgba(255,255,255,0.75);border:1px solid rgba(0,48,160,0.10);border-radius:12px;padding:10px 14px;box-shadow:0 8px 24px rgba(0,0,0,0.05);}
#hero .hero-stat strong{display:block;color:var(--primary-blue);font-size:1rem;}
#hero .hero-stat span{display:block;font-size:.85rem;color:#555;}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
section{padding:80px 0;}
.section-title{text-align:center;margin-bottom:50px;position:relative;padding-bottom:15px;}
.section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background-color:var(--primary-blue);}
.section-subtitle{max-width:760px;margin:0 auto 10px;color:#555;line-height:1.7;text-align:center;}
.profile-img-container{width:250px;height:250px;margin:0 auto;border-radius:50%;overflow:hidden;border:5px solid var(--primary-blue);box-shadow:0 10px 20px rgba(0,0,0,0.1);}
.profile-img-container img{width:100%;height:100%;object-fit:cover;}
.value-card{text-align:center;padding:30px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-mini);height:100%;transition:transform .3s,box-shadow .3s;}
.value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);}
.value-icon{font-size:2.5rem;color:var(--primary-blue);margin-bottom:20px;}
.value-card p{margin-bottom:0;color:#555;}
#solutions{background-color:#f0f4ff;}
.solution-card{background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);margin-bottom:30px;transition:transform .3s,box-shadow .3s;}
.solution-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,0.10);}
.solution-card .solution-head{padding:22px 24px;border-bottom:1px solid rgba(0,0,0,0.06);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.solution-card .solution-head h3{margin:0;font-size:1.25rem;color:var(--primary-blue);}
.solution-card .solution-body{padding:22px 24px;}
.solution-card .solution-body p{color:#555;margin-bottom:14px;}
.solution-card .solution-list{padding-left:0;margin:0;list-style:none;}
.solution-card .solution-list li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;color:#444;}
.solution-card .solution-list li i{color:var(--primary-blue);margin-top:3px;}
.solution-card .solution-footer{padding:0 24px 22px;display:flex;gap:10px;flex-wrap:wrap;}
.badge-soft{background:#e6f0ff;color:var(--primary-blue);border-radius:999px;padding:6px 12px;font-weight:600;font-size:.82rem;display:inline-flex;gap:8px;align-items:center;}
.badge-soft i{font-size:.9rem;}
.pricing-card{border:2px solid #e0e0e0;border-radius:var(--radius-md);padding:30px;text-align:center;transition:all .3s;background:#fff;position:relative;height:100%;display:flex;flex-direction:column;}
.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.pricing-card.premium{border-color:var(--primary-blue);background:linear-gradient(to bottom right,#fff,#f0f4ff);transform:scale(1.02);box-shadow:0 10px 30px rgba(0,48,160,0.15);}
.pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary-blue);color:#fff;padding:6px 14px;border-radius:999px;font-weight:700;font-size:.82rem;box-shadow:0 8px 22px rgba(0,48,160,0.25);}
.pricing-price{font-size:3rem;font-weight:700;color:var(--primary-blue);margin:20px 0;}
.pricing-features{text-align:left;margin-bottom:30px;flex-grow:1;}
.pricing-features li{margin-bottom:10px;list-style:none;}
.pricing-features li i{color:var(--primary-blue);margin-right:10px;}
.pricing-cta{margin-top:auto;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.pricing-note{margin-top:12px;font-size:.86rem;color:#666;}
.prestation-item{background:#fff;padding:25px;border-radius:var(--radius-sm);box-shadow:var(--shadow-mini);height:100%;border-left:4px solid var(--primary-blue);transition:transform .3s,box-shadow .3s;}
.prestation-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);}
.prestation-item h4{font-size:1.2rem;margin-bottom:15px;color:var(--primary-blue);}
.prestation-item ul{padding-left:20px;margin-bottom:0;font-size:.9rem;}
.prestation-item li{margin-bottom:8px;}
.form-control, .form-select{border-radius:12px;border:1px solid rgba(0,0,0,0.12);padding:12px 14px;}
.form-control:focus, .form-select:focus{border-color:rgba(0,48,160,0.55);box-shadow:0 0 0 .2rem rgba(0,48,160,0.12);}
.card-soft{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-mini);padding:24px;}
.hr-soft{height:1px;border:none;background:rgba(0,0,0,0.08);margin:18px 0;}
footer{background-color:var(--primary-blue);color:#fff;padding:60px 0 20px;}
footer h5{color:#fff;margin-bottom:20px;border-bottom:2px solid rgba(255,255,255,0.2);display:inline-block;padding-bottom:10px;}
footer a{color:rgba(255,255,255,0.85);text-decoration:none;transition:color .3s;}
footer a:hover{color:#fff;}
.social-icons a{font-size:1.5rem;margin-right:15px;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
.legal-text{font-size:.8rem;color:rgba(255,255,255,0.5);margin-top:40px;border-top:1px solid rgba(255,255,255,0.12);padding-top:20px;}
.scroll-top-btn{position:fixed;bottom:30px;right:30px;width:48px;height:48px;border-radius:50%;background-color:var(--primary-blue);color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,48,160,0.3);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,visibility .3s,transform .3s,background-color .3s;z-index:999;display:flex;align-items:center;justify-content:center;}
.scroll-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0);}
.scroll-top-btn:hover{background-color:var(--secondary-blue);transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,48,160,0.4);}
.rgpd-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,0.12);padding:20px;z-index:1100;transform:translateY(100%);transition:transform .4s ease;}
.rgpd-banner.visible{transform:translateY(0);}
.rgpd-banner-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.rgpd-banner-text{flex:1;min-width:200px;font-size:.88rem;color:var(--text-dark);line-height:1.5;}
.rgpd-banner-text a{color:var(--primary-blue);text-decoration:underline;}
.rgpd-banner-actions{display:flex;gap:10px;flex-shrink:0;}
.rgpd-btn-accept{background-color:var(--primary-blue);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius-pill);font-weight:600;font-size:.88rem;cursor:pointer;transition:background-color .3s;min-height:44px;}
.rgpd-btn-accept:hover{background-color:var(--secondary-blue);}
.rgpd-btn-refuse{background:transparent;color:var(--text-dark);border:1px solid #ccc;padding:10px 24px;border-radius:var(--radius-pill);font-weight:600;font-size:.88rem;cursor:pointer;transition:border-color .3s;min-height:44px;}
.rgpd-btn-refuse:hover{border-color:var(--primary-blue);}
a:focus-visible,.btn:focus-visible,.menu-toggle:focus-visible,.close-menu:focus-visible{outline:3px solid var(--primary-blue);outline-offset:2px;}
.footer-legal-links{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.12);}
.footer-legal-links .pdf-link{color:rgba(255,255,255,0.85);text-decoration:none;font-size:.88rem;transition:color .3s;cursor:pointer;}
.footer-legal-links .pdf-link:hover{color:#fff;text-decoration:underline;}
.footer-legal-sep{color:rgba(255,255,255,0.35);margin:0 10px;}
.pdf-dialog{border:none;border-radius:12px;padding:0;width:90vw;max-width:900px;height:85vh;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;}
.pdf-dialog::backdrop{background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);}
.pdf-dialog[open]{display:flex;flex-direction:column;}
.pdf-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--primary-blue);color:#fff;flex-shrink:0;}
.pdf-dialog-header h5{margin:0;font-size:1.1rem;font-weight:600;}
.pdf-dialog-actions{display:flex;align-items:center;gap:12px;}
.pdf-dialog-download{color:#fff;text-decoration:none;font-size:.88rem;font-weight:600;padding:6px 14px;border:1px solid rgba(255,255,255,0.4);border-radius:20px;transition:all .3s;display:inline-flex;align-items:center;gap:6px;}
.pdf-dialog-download:hover{background:rgba(255,255,255,0.15);border-color:#fff;color:#fff;}
.pdf-dialog-close{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;padding:0 4px;transition:opacity .3s;}
.pdf-dialog-close:hover{opacity:.7;}
.pdf-dialog-body{flex:1;overflow:hidden;}
.pdf-dialog-body iframe{width:100%;height:100%;border:none;}
@media(max-width:991.98px){.pricing-card.premium{transform:none;box-shadow:0 5px 20px rgba(0,48,160,0.12);}}
/* TABLETTE */
@media(min-width:576px) and (max-width:991.98px){
body{padding-top:70px;}
section{padding:60px 0;}
.section-title{font-size:1.8rem;margin-bottom:36px;}
.navbar{height:70px;}
.navbar-brand img{max-height:48px;}
#hero{padding:48px 0 56px;min-height:0;}
#hero h1.display-4{font-size:2.2rem;}
#hero .col-lg-5 img{max-width:260px;}
.profile-img-container{width:200px;height:200px;}
.pricing-price{font-size:2.5rem;}
footer{padding:48px 0 20px;}
.social-icons a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
}
/* MOBILE */
@media(max-width:575.98px){
body{padding-top:64px;}
section{padding:48px 0;}
.section-title{font-size:1.6rem;margin-bottom:30px;}
.navbar{height:64px;padding:8px 0;}
.navbar-brand img{max-height:42px;}
.menu-toggle{font-size:1.4rem;}
.mobile-nav-link{font-size:1.5rem;margin:12px 0;}
.close-menu{top:12px;right:20px;font-size:2.5rem;}
#hero{padding:40px 0 48px;min-height:0;}
#hero h1.display-4{font-size:1.75rem;line-height:1.2;margin-bottom:16px;}
#hero .lead{font-size:1rem;}
.hero-badge{font-size:.8rem;padding:4px 12px;margin-bottom:16px;}
#hero .col-lg-5 img{max-width:200px;}
#hero .btn-lg{font-size:.95rem;padding:10px 20px;}
.profile-img-container{width:180px;height:180px;border-width:4px;}
#qui-suis-je h3{font-size:1.3rem;text-align:center;}
#qui-suis-je .col-md-8{text-align:center;}
#qui-suis-je .col-md-8 .fs-5{font-size:1rem!important;}
.value-card{padding:20px;}
.value-icon{font-size:2rem;margin-bottom:12px;}
.value-card h4{font-size:1.1rem;}
.solution-card .solution-head{padding:18px 18px;}
.solution-card .solution-body{padding:18px 18px;}
.pricing-card{padding:24px 20px;}
.pricing-price{font-size:2.2rem;}
#tarifs h3{font-size:1.3rem;}
.prestation-item{padding:20px;}
.prestation-item h4{font-size:1.05rem;}
footer{padding:40px 0 16px;text-align:center;}
footer h5{margin-bottom:16px;}
.social-icons{margin-bottom:24px;}
.social-icons a{font-size:1.8rem;margin:0 10px;}
.legal-text{font-size:.72rem;margin-top:24px;padding-top:16px;}
.scroll-top-btn{bottom:20px;right:20px;width:44px;height:44px;font-size:1rem;}
.navbar-phone{font-size:0;}
.navbar-phone i{font-size:1.1rem;}
.rgpd-banner{padding:16px;}
.rgpd-banner-inner{flex-direction:column;text-align:center;gap:12px;}
.rgpd-banner-actions{width:100%;justify-content:center;}
.rgpd-btn-accept,.rgpd-btn-refuse{flex:1;padding:10px 16px;}
}
/* MODALE PDF MOBILE */
@media(max-width:575.98px){
.pdf-dialog{width:100vw;height:100vh;max-width:none;border-radius:0;}
.pdf-dialog-header h5{font-size:.95rem;}
.pdf-dialog-download span{display:none;}
.footer-legal-links .pdf-link{display:block;margin:6px 0;}
.footer-legal-sep{display:none;}
}
/* GRAND ÉCRAN */
@media(min-width:1400px){
#hero h1.display-4{font-size:3.5rem;}
.section-title{font-size:2.2rem;}
}