﻿/* SERVICES */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.service-card { background:#161616; border-radius:12px; border:1px solid rgba(255,255,255,0.07); padding:36px; display:flex; flex-direction:column; transition:all 0.3s ease; position:relative; overflow:hidden; }
.service-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:#C9BC9E; transform:scaleX(0); transition:all 0.3s ease; }
.service-card:hover { box-shadow:0 20px 60px rgba(0,0,0,0.4); transform:translateY(-6px); border-color:rgba(201,188,158,0.2); }
.service-card:hover::after { transform:scaleX(1); }
.service-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.service-icon { width:52px; height:52px; background:rgba(201,188,158,0.08); border:1px solid rgba(201,188,158,0.15); border-radius:12px; display:flex; align-items:center; justify-content:center; color:#C9BC9E; font-size:1.25rem; }
.service-card h3 { font-size:1.15rem; margin-bottom:12px; color:#fff; }
.service-card > p { font-size:0.875rem; color:rgba(255,255,255,0.45); margin-bottom:20px; line-height:1.7; flex-grow:1; }
.service-features { display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.service-features li { display:flex; align-items:center; gap:10px; font-size:0.83rem; color:rgba(255,255,255,0.45); }
.service-features li i { color:#C9BC9E; font-size:0.75rem; flex-shrink:0; }

/* PREVOYANCE */
.prevoyance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:start; }
.prevoyance-card { background:#161616; border-radius:12px; border:1px solid rgba(255,255,255,0.07); padding:40px 36px; position:relative; transition:all 0.3s ease; }
.prevoyance-card:hover { box-shadow:0 20px 60px rgba(0,0,0,0.4); transform:translateY(-4px); }
.prevoyance-featured { background:#C9BC9E; border-color:transparent; transform:scale(1.03); }
.prevoyance-featured:hover { transform:scale(1.03) translateY(-4px); }
.prevoyance-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:#0A0A0A; color:#C9BC9E; font-size:0.72rem; font-weight:700; font-family:'Montserrat',sans-serif; letter-spacing:0.08em; text-transform:uppercase; padding:5px 16px; border-radius:100px; white-space:nowrap; }
.prevoyance-num { font-family:'Montserrat',sans-serif; font-size:3.5rem; font-weight:800; color:rgba(201,188,158,0.15); line-height:1; margin-bottom:12px; }
.prevoyance-featured .prevoyance-num { color:rgba(0,0,0,0.12); }
.prevoyance-card h3 { font-size:1.2rem; margin-bottom:12px; color:#fff; }
.prevoyance-featured h3 { color:#0A0A0A; }
.prevoyance-card > p { font-size:0.875rem; color:rgba(255,255,255,0.45); margin-bottom:20px; line-height:1.7; }
.prevoyance-featured > p { color:rgba(0,0,0,0.65); }
.prevoyance-featured .service-features li { color:rgba(0,0,0,0.65); }
.prevoyance-featured .service-features li i { color:#0A0A0A; }

/* TIMELINE */
.timeline { position:relative; padding-left:32px; }
.timeline::before { content:''; position:absolute; left:0; top:8px; bottom:8px; width:2px; background:linear-gradient(to bottom, #C9BC9E, rgba(201,188,158,0.1)); }
.timeline-item { position:relative; margin-bottom:48px; }
.timeline-item:last-child { margin-bottom:0; }
.timeline-dot { position:absolute; left:-40px; top:6px; width:16px; height:16px; background:#C9BC9E; border-radius:50%; border:3px solid #0A0A0A; box-shadow:0 0 0 3px rgba(201,188,158,0.2); }
.timeline-year { font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#C9BC9E; margin-bottom:8px; }
.timeline-item h4 { margin-bottom:6px; color:#fff; }
.timeline-item p { font-size:0.875rem; color:rgba(255,255,255,0.45); margin:0; }

/* VALUES */
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.value-card { text-align:center; padding:40px 24px; background:#161616; border-radius:12px; border:1px solid rgba(255,255,255,0.07); transition:all 0.3s ease; }
.value-card:hover { box-shadow:0 20px 60px rgba(0,0,0,0.4); transform:translateY(-4px); border-color:rgba(201,188,158,0.2); }
.value-icon { width:64px; height:64px; background:rgba(201,188,158,0.08); border:1px solid rgba(201,188,158,0.15); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#C9BC9E; font-size:1.5rem; margin:0 auto 20px; }
.value-card h4 { margin-bottom:10px; font-size:1rem; color:#fff; }
.value-card p { font-size:0.85rem; margin:0; color:rgba(255,255,255,0.45); }

/* TEAM */
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.team-card { background:#161616; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,0.07); transition:all 0.3s ease; }
.team-card:hover { box-shadow:0 20px 60px rgba(0,0,0,0.4); transform:translateY(-4px); }
.team-img { height:280px; overflow:hidden; }
.team-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.team-card:hover .team-img img { transform:scale(1.05); }
.team-info { padding:24px; }
.team-info h4 { margin-bottom:4px; color:#fff; }
.team-info .role { font-size:0.8rem; color:#C9BC9E; font-weight:600; font-family:'Montserrat',sans-serif; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:12px; display:block; }
.team-info p { font-size:0.85rem; margin:0; color:rgba(255,255,255,0.45); }

/* AUDIENCE */
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.audience-card { border-radius:20px; overflow:hidden; position:relative; height:420px; }
.audience-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; filter:brightness(0.45); }
.audience-card:hover img { transform:scale(1.06); filter:brightness(0.55); }
.audience-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(10,10,10,0.9) 0%, rgba(10,10,10,0.1) 60%); display:flex; flex-direction:column; justify-content:flex-end; padding:36px; }
.audience-overlay .tag { margin-bottom:12px; }
.audience-overlay h3 { color:#fff; margin-bottom:10px; }
.audience-overlay p { color:rgba(255,255,255,0.55); font-size:0.875rem; margin-bottom:20px; }

/* ENTREPRISE SECTION */
.entreprise-section { padding:72px 48px; border-radius:20px; border:1px solid rgba(255,255,255,0.07); background:#161616; margin-bottom:32px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.entreprise-section.reverse { direction:rtl; }
.entreprise-section.reverse > * { direction:ltr; }
.entreprise-img { border-radius:12px; height:380px; width:100%; object-fit:cover; filter:brightness(0.85); }

/* BLOG */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.blog-card { background:#161616; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,0.07); transition:all 0.3s ease; display:flex; flex-direction:column; }
.blog-card:hover { box-shadow:0 20px 60px rgba(0,0,0,0.4); transform:translateY(-6px); border-color:rgba(201,188,158,0.2); }
.blog-img { height:220px; overflow:hidden; }
.blog-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.blog-card:hover .blog-img img { transform:scale(1.06); }
.blog-content { padding:28px; flex-grow:1; display:flex; flex-direction:column; }
.blog-meta { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.blog-date { font-size:0.75rem; color:rgba(255,255,255,0.3); font-family:'Montserrat',sans-serif; }
.blog-content h3 { font-size:1.1rem; margin-bottom:10px; line-height:1.4; color:#fff; }
.blog-content p { font-size:0.875rem; margin-bottom:20px; color:rgba(255,255,255,0.45); flex-grow:1; }
.blog-link { display:inline-flex; align-items:center; gap:6px; font-size:0.8rem; font-weight:600; font-family:'Montserrat',sans-serif; color:#C9BC9E; letter-spacing:0.04em; text-transform:uppercase; margin-top:auto; transition:all 0.2s ease; }
.blog-link:hover { gap:10px; color:#DDD4C0; }

/* CONTACT */
.contact-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:64px; align-items:start; }
.contact-info-card { background:#C9BC9E; border-radius:20px; padding:48px; position:sticky; top:100px; }
.contact-info-card h3 { color:#0A0A0A; margin-bottom:8px; }
.contact-info-card > p { color:rgba(0,0,0,0.55); font-size:0.9rem; margin-bottom:36px; }
.contact-detail { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid rgba(0,0,0,0.08); }
.contact-detail:last-of-type { border-bottom:none; }
.contact-detail .icon { width:42px; height:42px; background:rgba(0,0,0,0.08); border-radius:6px; display:flex; align-items:center; justify-content:center; color:#0A0A0A; font-size:1rem; flex-shrink:0; }
.contact-detail strong { display:block; font-size:0.78rem; font-weight:600; font-family:'Montserrat',sans-serif; letter-spacing:0.08em; text-transform:uppercase; color:rgba(0,0,0,0.45); margin-bottom:4px; }
.contact-detail p { color:rgba(0,0,0,0.75); font-size:0.9rem; margin:0; line-height:1.5; }
.contact-detail a { color:rgba(0,0,0,0.75); font-size:0.9rem; }
.contact-detail a:hover { color:#0A0A0A; }
.contact-hours { background:rgba(0,0,0,0.07); border-radius:12px; padding:20px; margin-top:24px; }
.contact-hours h5 { font-size:0.75rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:#0A0A0A; margin-bottom:12px; font-family:'Montserrat',sans-serif; }
.hours-row { display:flex; justify-content:space-between; font-size:0.83rem; margin-bottom:6px; }
.hours-row span:first-child { color:rgba(0,0,0,0.5); }
.hours-row span:last-child { color:#0A0A0A; font-weight:500; }
.contact-form-wrap { background:#161616; border-radius:20px; border:1px solid rgba(255,255,255,0.07); padding:48px; }
.contact-form-wrap h3 { margin-bottom:6px; color:#fff; }
.contact-form-wrap > p { margin-bottom:32px; font-size:0.9rem; color:rgba(255,255,255,0.45); }
.contact-form { display:flex; flex-direction:column; gap:20px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.6); }
.form-group input, .form-group select, .form-group textarea { padding:13px 16px; background:rgba(255,255,255,0.04); border:1.5px solid rgba(255,255,255,0.1); border-radius:6px; font-family:'Inter',sans-serif; font-size:0.9rem; color:#fff; outline:none; width:100%; transition:all 0.2s ease; }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,0.25); }
.form-group select option { background:#161616; color:#fff; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:#C9BC9E; box-shadow:0 0 0 3px rgba(201,188,158,0.08); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-check { display:flex; align-items:flex-start; gap:10px; font-size:0.83rem; color:rgba(255,255,255,0.45); }
.form-check input { width:auto; margin-top:2px; accent-color:#C9BC9E; }
.contact-form [type="submit"] { background:#C9BC9E; color:#0A0A0A; padding:15px 32px; border-radius:6px; font-family:'Montserrat',sans-serif; font-size:0.875rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; transition:all 0.3s ease; cursor:pointer; border:none; width:100%; }
.contact-form [type="submit"]:hover { background:#DDD4C0; transform:translateY(-2px); }
.map-wrap { border-radius:20px; overflow:hidden; height:300px; margin-top:40px; border:1px solid rgba(255,255,255,0.07); }
.map-wrap iframe { border:none; width:100%; height:100%; }

/* SECTIONS FOND CLAIR */
.light-section .service-card { background:#fff; border-color:rgba(0,0,0,0.08); }
.light-section .service-card h3 { color:#0A0A0A; }
.light-section .service-card > p { color:#666; }
.light-section .service-features li { color:#555; }
.light-section .service-features li i { color:#A89F88; }
.light-section .value-card { background:#fff; border-color:rgba(0,0,0,0.08); }
.light-section .value-card h4 { color:#0A0A0A; }
.light-section .value-card p { color:#666; }
.light-section .team-card { background:#fff; border-color:rgba(0,0,0,0.08); }
.light-section .team-info h4 { color:#0A0A0A; }
.light-section .team-info p { color:#666; }
.light-section .blog-card { background:#fff; border-color:rgba(0,0,0,0.08); }
.light-section .blog-content h3 { color:#0A0A0A; }
.light-section .blog-content p { color:#666; }
.light-section .blog-date { color:#999; }
.light-section .entreprise-section { background:#fff; }
.light-section .entreprise-section h3 { color:#0A0A0A; }
.light-section .entreprise-section p { color:#666; }

/* RESPONSIVE */
@media (max-width:1024px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .prevoyance-grid { grid-template-columns:1fr; }
  .prevoyance-featured { transform:none; }
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .audience-grid { grid-template-columns:1fr; }
  .audience-card { height:300px; }
  .entreprise-section { grid-template-columns:1fr; gap:32px; direction:ltr !important; }
  .blog-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; }
  .contact-info-card { position:static; }
}
@media (max-width:768px) {
  .services-grid { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .contact-form-wrap { padding:28px; }
  .contact-info-card { padding:28px; }
  .entreprise-section { padding:36px 24px; }
}
