/* Global styles & variables */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700&display=swap'); :root{ --primary: #0D3B66; /* couleur demandée */ --white: #ffffff; --muted-dark: #333; --muted-light: rgba(255,255,255, .85); --card-bg: rgba(255,255,255,0.03); --accent: rgba(255,255,255,0.06); --max-width: 1140px; } /* Reset & base */ *{box-sizing:border-box} html,body{height:100%} body{ margin:0; font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; background-color: #fff; color: var(--muted-dark); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; line-height:1.6; font-size:16px; } /* Container */ .container{max-width:var(--max-width);margin:0 auto;padding:0 16px} /* Typography */ h1,h2,h3,h4,h5{ font-family: 'Montserrat', sans-serif; color: var(--primary); margin:0 0 18px 0; } p{margin:0 0 15px 0; color:var(--muted-dark); line-height:1.75} /* NAVBAR */ .navbar{padding:.6rem 0;background-color:var(--primary) !important} .navbar .navbar-brand{color:var(--white) !important;font-weight:700;letter-spacing:.03em;text-transform:uppercase} .navbar .nav-link{color:var(--white) !important;margin-left:12px;font-weight:500} .navbar .nav-link:hover,.navbar .nav-link.active{opacity:.95;text-decoration:underline} /* Skip link for accessibility */ .skip-link{position:absolute;left:-9999px;top:auto} .skip-link:focus{left:10px;top:10px;padding:8px 12px;background:#fff;color:#000;z-index:1000;border-radius:4px} /* HERO (used for index and other hero sections) */ .hero, .about-hero, .team-hero { position: relative; width: 100%; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; } .hero { height:85vh; min-height:420px; } .team-hero { height:100vh; min-height:420px; } .hero::before, .about-hero::before, .team-hero::before{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(13,59,102,0.5) 0%, rgba(13,59,102,0.55) 100%); z-index:1; } .hero .hero-content, .team-hero .team-content, .about-hero .hero-content{ position:relative; z-index:2; padding:20px; color:var(--white); max-width:900px; } .hero h1, .team-hero h1{color:#fff; text-shadow:0 8px 18px rgba(0,0,0,0.45)} .hero p.lead, .team-hero p.lead { color: rgba(255,255,255,0.92); font-size:1.125rem; } /* Sections */ section{padding:60px 0} .section-title{font-weight:700;margin-bottom:16px} /* Cards & service blocks */ .card-service{background:var(--card-bg);border:1px solid rgba(0,0,0,0.04);padding:22px;border-radius:10px} .list-plain{list-style:none;padding:0;margin:0} .list-plain li{padding:6px 0;color:var(--muted-dark)} /* Buttons */ .btn-custom{ background:var(--white); color:var(--primary); border-radius:8px; padding:.6rem 1rem; font-weight:700; display:inline-block; text-decoration:none; } /* Team cards (below hero) */ .team-grid{padding:60px 0} .team-card{ background:#fff; color:var(--muted-dark); border-radius:10px; padding:18px; box-shadow:0 6px 18px rgba(0,0,0,0.06); text-align:center; } .team-card h5{margin:8px 0 4px 0} .team-card p.small{color:#6b7280;margin:0} /* Contact form */ .form-card{background:#fff;padding:28px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.06)} .form-control:focus{box-shadow:0 0 0 3px rgba(13,59,102,0.12);border-color:var(--primary)} /* Company info section (repeated on all pages before footer) */ .company-info{ background:#f8f9fb; color:var(--muted-dark); padding:28px 0; border-top:1px solid rgba(0,0,0,0.04); } .company-info .small{color:#555} /* Footer */ .site-footer{ background:var(--primary); color:var(--white); text-align:center; padding:20px 12px; font-size:.95rem; } /* Utilities */ .text-center{ text-align:center } .mb-4{ margin-bottom:1rem } /* Responsive */ @media (max-width: 768px){ .hero{height:60vh} .team-hero{height:60vh} .container{padding:0 12px} .navbar .nav-link{margin-left:8px} }