

/* =====================================================
   FONTS – SUZANNE ROUGEAU 2026
   Optimisé production – WOFF2 uniquement
===================================================== */

/* =========================
   INTER
========================= */

@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter_18pt-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/_18pt-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter_18pt-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}


/* =========================
   FRAUNCES
========================= */

@font-face {
  font-family: 'Fraunces';
  src: url('../fonts/Fraunces_72pt_Soft-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Fraunces';
  src: url('../fonts/Fraunces_72pt_Soft-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* RESET */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #1c2430;
  line-height: 1.6;
  background-color: #efefef;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body {
  padding-top: 80px; /* ajuste à la vraie hauteur */
}

h1, h2, h3, .display-title {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  letter-spacing: -0.3px;
}

h1 {
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 700;
}

h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}

h3 {
  font-size: clamp(1.4rem, 3vw, 2.2rem);
}

.lead {
  font-weight: 500;
  font-size: 1.1rem;
}

/* ------------------------------
   FOOTER
-------------------------------- */
footer {
    background-color: #111;
    color: #ddd;
    text-align: center;
    padding: 1rem 0;
    margin-top: auto;
}

footer p {
    margin: 0;
    font-size: 0.9rem;
}



.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    
}

.hero {
    background: url('../../img/image_index1g.jpg') center/cover no-repeat;
    height: 80vh;
    display: flex;
    align-items: center;
    color: #fff;
    position: relative;
   
}

.hero::before {
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.55);
}

.hero-content {
    position:relative;
    z-index:2;
}

.section-padding {
    padding:100px 0;
}

.service-card img {
    width: 100%;
    height: auto;
    display: block;
}

/* MEGA MENU (Bootstrap 5 - stable) */
/* ================================
   ULTRA CORPORATE MEGA MENU
================================ */

/* Navbar premium */
.mega-navbar {
    backdrop-filter: blur(8px);
    background: rgba(255,255,255,0.95);
    transition: all .3s ease;
    z-index: 1030;
}

/* Dropdown base */
.mega-navbar .dropdown-menu {
    border: none;
    box-shadow: 0 30px 60px rgba(0,0,0,0.08);
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
}

/* Large desktop layout */
@media (min-width: 992px) {

    .mega-navbar .dropdown-menu.mega-menu {
        width: min(1150px, calc(100vw - 2rem));
        left: 50%;
        transform: translateX(-50%) translateY(10px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        display: block;
        transition: all .25s ease;
    }

    /* Hover activation */
    .mega-navbar .dropdown.mega-dropdown:hover > .dropdown-menu,
    .mega-navbar .dropdown.mega-dropdown:focus-within > .dropdown-menu {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

/* Internal mega container */
.mega-menu .row {
    padding: 3rem 2.5rem;
}

/* Column separation */
.mega-menu .col-lg-3,
.mega-menu .col-lg-4 {
    position: relative;
}

@media (min-width: 992px) {
    .mega-menu .col-lg-3:not(:last-child)::after,
    .mega-menu .col-lg-4:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 10%;
        right: 0;
        width: 1px;
        height: 80%;
        background: linear-gradient(to bottom, transparent, #e9ecef, transparent);
    }
}

/* Titles */
.mega-title {
    font-size: 0.75rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    font-weight: 600;
    color: #6c757d;
    margin-bottom: 1.2rem;
}

/* Links */
.mega-menu a {
    text-decoration: none;
    color: #212529;
    font-size: 0.95rem;
    display: inline-block;
    padding: .4rem 0;
    transition: all .2s ease;
}

.mega-menu a:hover {
    color: #c3002f;
    transform: translateX(4px);
}

/* Highlight block */
.mega-highlight {
    background: linear-gradient(135deg,#f8f9fa,#ffffff);
    padding: 2rem;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px #f1f3f5;
}

/* Premium button */
.mega-highlight .btn {
    border-radius: 30px;
    padding: .4rem 1.2rem;
}



/* ==============================
   PREMIUM PAGE BANNER
============================== */

.page-banner {
    position: relative;
    height: 200px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* voile subtil */
.banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.55) 0%,
        rgba(0,0,0,0.35) 40%,
        rgba(0,0,0,0.15) 100%
    );
}

/* container interne */
.banner-container {
    position: relative;
    z-index: 2;
}

/* alignement */
.banner-content {
    display: flex;
    align-items: center;
    gap: 30px;
}

/* logo carré premium */
.banner-logo img {
    width: 70px;
    height: 70px;
    object-fit: contain;
}

/* texte */
.banner-text h1 {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 300;
    letter-spacing: 4px;
    color: rgba(255,255,255,0.85);
}

/* ==============================
   RESPONSIVE
============================== */

@media (max-width: 992px) {
    .banner-text h1 {
        font-size: 2rem;
        letter-spacing: 3px;
    }
}

@media (max-width: 576px) {
    .page-banner {
        height: 150px;
    }

    .banner-content {
        gap: 15px;
    }

    .banner-logo img {
        width: 45px;
        height: 45px;
    }

    .banner-text h1 {
        font-size: 1.4rem;
        letter-spacing: 2px;
    }
}

/* ==========================
   CORPORATE NAVBAR SIMPLE
========================== */

body {
  padding-top: 0px; /* hauteur réelle navbar */
  font-family:'Inter',sans-serif;
line-height:1.7;
}


html, body {
  margin: 0;
  padding: 0;
}

.corporate-navbar {
    backdrop-filter: blur(6px);
    background: rgba(255,255,255,0.96);
    transition: all .3s ease;
}

.corporate-navbar .nav-link {
    font-weight: 500;
    color: #212529;
    margin-left: 1.2rem;
    position: relative;
    transition: all .2s ease;
}

/* underline premium */
.corporate-navbar .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0%;
    height: 2px;
    background: #537591;
    transition: width .3s ease;
}

.corporate-navbar .nav-link:hover::after,
.corporate-navbar .nav-link.active::after {
    width: 100%;
}

.corporate-navbar .nav-link.active {
    color: #000;
}



/* bouton contact actif */
.active-btn {
    background: #537591 !important;
}

/* mobile spacing */
@media (max-width: 991px) {
    .corporate-navbar .nav-link {
        margin-left: 0;
        padding: .6rem 0;
    }
}

.corporate-navbar {
  position: sticky;
  top: 0;
  z-index: 1050;
}
/* ==========================
   PAGE FADE TRANSITION
========================== */

#page-transition {
    opacity: 0;
    transition: opacity .4s ease;
}

/* visible une fois chargé */
#page-transition.loaded {
    opacity: 1;
}


/* ==========================
   ULTRA CLEAN FADE TRANSITION
========================== */

:root {
    --transition-speed: 550ms;
    --transition-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Overlay blanc subtil */
#page-transition::before {
    content: "";
    position: fixed;
    inset: 0;
    background: #ffffff;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-speed) var(--transition-ease);
    z-index: 2000;
}

/* Contenu principal */
#page-transition {
    opacity: 0;
    transition:
        opacity var(--transition-speed) var(--transition-ease),
        filter var(--transition-speed) var(--transition-ease);
}

/* Apparition */
#page-transition.loaded {
    opacity: 1;
}

/* Disparition */
#page-transition.fade-out {
    opacity: 0;
    filter: blur(2px); /* subtil */
}

#page-transition.fade-out::before {
    opacity: 0.20; /* léger voile blanc */
}



body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* C’EST LUI qui doit pousser le footer */
#page-transition {
    flex: 1;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

/* ================================
   PREMIUM SERVICES SECTION
================================ */

.py-6 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.premium-block {
    margin-bottom: 100px;
    position: relative;
}

.premium-title {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 1.2rem;
}

.premium-lead {
    font-size: 1.15rem;
    color: #6c757d;
    margin-bottom: 1rem;
}

.premium-text {
    font-size: 1rem;
    color: #343a40;
}

.premium-big-text {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.4;
}

.premium-mini-title {
    letter-spacing: 1.2px;
    font-size: 0.75rem;
    color: #6c757d;
    margin-bottom: 1rem;
}

/* Ligne verticale subtile */
.vertical-line {
    width: 3px;
    height: 40px;
    background: #c3002f;
    margin-bottom: 1.5rem;
}

/* Séparateur discret */
.premium-separator {
    border: none;
    height: 1px;
    background: linear-gradient(to right, transparent, #e9ecef, transparent);
    margin: 80px 0;
}

/* Image premium */
.image-wrapper {
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

.image-wrapper img {
    transition: transform .6s ease;
}

.image-wrapper:hover img {
    transform: scale(1.03);
}

/* Animation apparition */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: all .8s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Fond premium très pâle */
.services-premium {
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        #f8f9fb 50%,
        #ffffff 100%
    );
}

.btn-custom {
    --bs-btn-bg: #537591;
    --bs-btn-border-color: #537591;
    --bs-btn-color: #efefef;

    --bs-btn-hover-bg: #3f5e73;
    --bs-btn-hover-border-color: #3f5e73;
    --bs-btn-hover-color: #ffffff; /* doré premium */

    --bs-btn-active-bg: #344d5f;
    --bs-btn-active-border-color: #344d5f;
    --bs-btn-active-color: #ffffff;

    font-weight:500;
letter-spacing:.3px;

padding:12px 20px;

    transition: all .25s ease;
}

.btn-custom {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-custom:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}





 
.btn-index {
    --bs-btn-bg: #536f88;     /* couleur du bouton off    */
    --bs-btn-border-color: #536f88;   /* couleur du border du bouton off    */
    --bs-btn-color: #e6e0e0;   /* couleur du texte off    */

    --bs-btn-hover-bg: #ffffff;     /* couleur du bouton on    */
    --bs-btn-hover-border-color: #537591;     /* couleur du border du bouton on    */
    --bs-btn-hover-color: #536f88;   /* couleur du texte on    */

    --bs-btn-active-bg: #344d5f;
    --bs-btn-active-border-color: #344d5f;
    --bs-btn-active-color: #ffffff;

    transition: all .25s ease;
}

.btn-index {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-index:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

.btn-index2 {
    --bs-btn-bg: #ffffff;     /* couleur du bouton off    */
    --bs-btn-border-color: #536f88;   /* couleur du border du bouton off    */
    --bs-btn-color: #537591;   /* couleur du texte off    */

    --bs-btn-hover-bg: #537591;     /* couleur du bouton on    */
    --bs-btn-hover-border-color: #537591;     /* couleur du border du bouton on    */
    --bs-btn-hover-color: #ffffff;   /* couleur du texte on    */

    --bs-btn-active-bg: #344d5f;
    --bs-btn-active-border-color: #344d5f;
    --bs-btn-active-color: #ffffff;

    transition: all .25s ease;
}

.btn-index2 {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-index2:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}


/* =========================================
   SR – Executive Premium
========================================= */

:root{
  --sr-ink:#0b1220;
  --sr-ink-2:#121a2b;
  --sr-muted:#5b667a;
  --sr-line: rgba(11,18,32,.10);
  --sr-soft:#f6f7fb;
  --sr-white:#ffffff;

  /* Accent premium discret (bleu ardoise) */
--sr-accent:#5F7C94;
--sr-accent-2:#4A667E;
}

.sr-body{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--sr-ink);
  background: #fff;
}

/* Typo titres */
.sr-h1, .sr-h2, .sr-h3{
  font-family: "Fraunces", serif;
  letter-spacing: -0.02em;
}

.sr-h1{
  font-size: clamp(2rem, 2.4vw + 1rem, 3.1rem);
  line-height: 1.05;
  margin: 0;
}

.sr-h2{
  font-size: clamp(1.6rem, 1.2vw + 1rem, 2.2rem);
  line-height: 1.15;
}

.sr-h3{
  font-size: 1.15rem;
  margin-bottom: .75rem;
}

.sr-p{
  color: var(--sr-muted);
  line-height: 1.7;
}

.sr-kicker{
  color: rgba(255,255,255,.75);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
  margin-bottom: 14px;
}

.sr-lead{
  color: rgba(255,255,255,.85);
  font-size: 1.08rem;
  line-height: 1.7;
  max-width: 52ch;
}

/* Navbar premium */
.sr-navbar{
  background: rgba(255,255,255,.80);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(0,0,0,.06);
  transition: background .25s ease, box-shadow .25s ease;
}

.sr-navbar.is-scrolled{
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.sr-nav .nav-link{
  color: #2b3444;
  font-weight: 500;
  padding: .9rem 1rem;
  position: relative;
}

.sr-nav .nav-link.active{
  color: var(--sr-ink);
}

.sr-nav .nav-link.active::after{
  content:"";
  position:absolute;
  left: 1rem;
  right: 1rem;
  bottom: .55rem;
  height: 2px;
  background: var(--sr-accent);
  opacity: .8;
  border-radius: 2px;
}

/* Boutons premium */
.sr-btn{
  border-radius: 999px;
  padding: .78rem 1.1rem;
  font-weight: 600;
  letter-spacing: .01em;
  border: 1px solid transparent;
}

.sr-btn-primary{
  background: var(--sr-accent);
  border-color: var(--sr-accent);
  color: #fff;
}

.sr-btn-primary:hover{
  background: var(--sr-accent-2);
  border-color: var(--sr-accent-2);
  color:#fff;
}

.sr-btn-ghost{
  background: transparent;
  border-color: rgba(255,255,255,.35);
  color: #fff;
}

.sr-btn-ghost:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.45);
  color:#fff;
}

.sr-btn-dark{
  background: var(--sr-ink);
  border-color: var(--sr-ink);
  color:#fff;
}
.sr-btn-dark:hover{
  background: #050a14;
  border-color: #050a14;
  color:#fff;
}

/* Hero */
.sr-hero{
  padding-top: 92px; /* hauteur navbar */
  min-height: 92vh;
  display: flex;
  align-items: stretch;
  position: relative;

  background:
    radial-gradient(1000px 500px at 20% 20%, rgba(95,124,148,.18), transparent 55%),
    linear-gradient(120deg, #0e1624, #141d2c),
    url('../../img/banner-index.jpg') center/cover no-repeat;

  color: #fff;
}

.sr-hero-inner{
  padding: 70px 0;
}

/* Bloc trust */
.sr-trust{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 640px;
}

.sr-trust-item{
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  border-radius: 16px;
  padding: 14px 14px;
}

.sr-trust-number{
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: .01em;
}

.sr-trust-label{
  color: rgba(255,255,255,.75);
  font-size: .88rem;
  margin-top: 4px;
  line-height: 1.4;
}

/* Card portrait */
.sr-hero-card{
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
/*
.sr-hero-photo{
  height: 280px;
  background:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    url('../../img/suzanne.jpg') center/cover no-repeat;
}
*/
.sr-hero-photo{
  height: 340px;
  background:
    linear-gradient(rgba(20,30,45,.15), rgba(20,30,45,.15)),
    url('../../img/sr_2.png') center top/cover no-repeat;
}

.sr-hero-card-body{
  padding: 18px 18px 20px;
}

.sr-name{
  font-weight: 700;
  letter-spacing: .01em;
}

.sr-title{
  color: rgba(255,255,255,.70);
  font-size: .92rem;
  margin-top: 4px;
}

.sr-divider{
  height:1px;
  background: rgba(255,255,255,.16);
  margin: 14px 0;
}

.sr-mini{
  color: rgba(255,255,255,.78);
  font-size: .92rem;
  line-height: 1.7;
}

.sr-link{
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-weight: 600;
}
.sr-link:hover{ color:#fff; text-decoration: underline; }

/* Sections */
.sr-section {
  padding: 50px 90px 90px 90px;
}

.sr-section-soft{
  background: var(--sr-soft);
}

.sr-card{
  border: 1px solid var(--sr-line);
  border-radius: 22px;
  padding: 26px 24px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0,0,0,.05);
}

/* Steps */
.sr-steps{
  margin-top: 22px;
  display:grid;
  gap: 10px;
}

.sr-step{
  background: #fff;
  border: 1px solid var(--sr-line);
  border-radius: 16px;
  padding: 14px 16px;
  color: #2b3444;
  font-weight: 600;
}

.sr-step span{
  display:inline-block;
  width: 34px;
  color: var(--sr-accent);
  font-weight: 800;
}


/* CTA */
.sr-cta{
  padding: 70px 0;
  background:
    radial-gradient(900px 400px at 20% 30%, rgba(47,74,104,.18), transparent 55%),
    linear-gradient(120deg, #0b1220, #101b2a);
  color:#fff;
}

.sr-cta-inner{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  border-radius: 26px;
  padding: 28px 26px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
}

.sr-cta .sr-p{ color: rgba(255,255,255,.75); }

/* Footer */
.sr-footer{
  padding: 55px 0 20px;
  background: #070c15;
  color: rgba(255,255,255,.85);
}

.sr-footer-title{
  font-weight: 700;
  letter-spacing: .01em;
  color:#fff;
}

.sr-footer-sub{
  color: rgba(255,255,255,.72);
  margin-top: 8px;
  line-height: 1.7;
}

.sr-footer-link{
  color: rgba(255,255,255,.80);
  text-decoration: none;
}
.sr-footer-link:hover{ color:#fff; text-decoration: underline; }

.sr-footer-bottom{
  margin-top: 26px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  font-size: .9rem;
  color: rgba(255,255,255,.65);
}

.sr-contact-link{
  color:#537591; 
  text-decoration: none;
}
.sr-contact-link:hover{ color:#537591; text-decoration: underline; }



/* Responsive */
@media (max-width: 991.98px){
  .sr-hero{ min-height: auto; }
  .sr-trust{ grid-template-columns: 1fr; }
  .sr-cta-inner{ flex-direction: column; align-items:flex-start; }
}

@media (max-width: 992px) {
  .sr-section {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.sr-contact-card {
    max-width: 720px;
    margin: 0 auto;
}



/* Empêche le retour à la ligne dans la navbar */
.navbar-brand img {
  max-height: 30px;
  width: auto;
}

@media (max-width: 576px) {
  .navbar-brand img {
    max-height: 24px;
  }
}

/* Empêche le brand de pousser le burger */
.navbar-brand {
  margin-right: auto;
}

.sr-section{
padding:90px 0;
}

.sr-section h2{
font-weight:600;
letter-spacing:0.5px;
}

.sr-section .lead{
font-size:1.15rem;
line-height:1.7;
}

/* ==============================
   INDICATEURS EXPÉRIENCE
============================== */



.sr-indicators{
display:flex;
gap:35px;
margin-top:40px;
flex-wrap:wrap;
}

.sr-indicator{
padding-left:35px;
position:relative;
}

/* ligne séparatrice */
.sr-indicator:not(:first-child){
border-left:1px solid rgba(0,0,0,0.08);
}

.sr-indicator-number{
font-size:1.6rem;
font-weight:600;
color:#537591;
line-height:1.2;
}

.sr-indicator-label{
font-size:0.85rem;
color:#666;
letter-spacing:0.5px;
text-transform:uppercase;
}
@media (max-width:768px){

.sr-indicator{
padding-left:0;
border-left:none;
}

.sr-indicators{
gap:25px;
}

}

/* =================================
SECTION A PROPOS
================================= */

.sr-about{
padding:100px 0;
}

.sr-about-photo{
width:100%;
max-width:420px;
height:auto;
margin:auto;
display:block;
}
.sr-about-title{
font-weight:600;
letter-spacing:0.4px;
}

.sr-about-intro{
font-size:1.15rem;
color:#555;
line-height:1.7;
max-width:650px;
}

.sr-divider{
width:100px;
margin:25px 0;
border-top:2px solid #537591;
opacity:.6;
}

.sr-about{
padding:100px 0;
background:#f8f9fb;
}

/* ==============================
SERVICES
============================== */

.service-card{
border:none;
border-radius:10px;
overflow:hidden;
transition:all .25s ease;
}

.service-card img{
height:220px;
object-fit:cover;
}

.service-card:hover{
box-shadow:0 18px 40px rgba(0,0,0,0.08);
}

.service-card .card-title{
font-weight:600;
margin-bottom:12px;
}

.service-text{
font-size:0.95rem;
color:#555;
line-height:1.6;
}

/* ==============================
SERVICES – STYLE PREMIUM
============================== */

.service-card{
border:none;
border-radius:10px;
overflow:hidden;
position:relative;
box-shadow:0 6px 20px rgba(0,0,0,0.06);
}

/* bande de couleur */
.service-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,#537591,#6f8faa);
}

/* image uniforme */


.service-card img{
    width:100%;
    height:auto;
    object-fit:contain;
}

/* titre */
.service-card .card-title{
font-weight:600;
margin-bottom:12px;
}

/* texte */
.service-text{
font-size:0.95rem;
color:#555;
line-height:1.6;
}

/* ==============================
INTRO SERVICES
============================== */

.services-intro{
max-width:760px;
margin:0 auto 60px auto;
font-size:1.35rem;
line-height:1.6;
text-align:center;
color:#444;
font-weight:500;
}

.services-intro::after{
content:"";
display:block;
width:80px;
height:2px;
background:#537591;
margin:30px auto 0;
opacity:.6;
}

/* ==============================
TITRES DES SERVICES
============================== */

.service-card .card-title{
font-size:0.95rem;
font-weight:600;
letter-spacing:1px;
text-transform:uppercase;
margin-bottom:14px;
position:relative;
}

/* ligne sous le titre */

.service-card .card-title::after{
content:"";
display:block;
width:40px;
height:2px;
background:linear-gradient(90deg,#537591,#7f9bb3);
margin-top:10px;
opacity:.7;
}

.service-text{
font-size:0.95rem;
color:#555;
line-height:1.6;
max-width:320px;
}

.sr-about-quote{
  margin-top:25px;
  padding-left:18px;
  border-left:2px solid #9dacb8;
  font-style:italic;
  color:#5c6b7a;
  font-size:0.95rem;
  max-width:420px;
}

.sr-contact-card{
border:0;
border-radius:12px;
background:#ffffff;
}

.sr-contact-info{
font-size:15px;
line-height:1.6;
}

.sr-contact-card{
border:0;
border-radius:10px;
}

.sr-contact-card .form-control{
padding:12px;
}

/* section contact */

.sr-contact-section{
background:#f7f9fc;
padding:80px 0;
}

/* profil */

.sr-contact-profile{
padding-right:40px;
}

.sr-contact-photo{
border-radius:8px;
box-shadow:0 20px 40px rgba(0,0,0,0.08);
}

/* formulaire */

.sr-contact-card{
border:0;
border-radius:10px;
}

.sr-contact-card .form-control{
padding:12px;
border-radius:6px;
}

/* =============================
   TITRES CORPORATIFS
============================= */

h1, h2, h3, h4, h5{
font-family:'Fraunces',serif;
letter-spacing:.2px;
}

h2{
font-size:34px;
font-weight:600;
margin-bottom:20px;
}

h3{
font-size:26px;
font-weight:600;
}

h5{
font-size:18px;
font-weight:600;
}

/* =============================
   SECTIONS
============================= */

.sr-section{
padding:90px 0;
}

@media (max-width:768px){

.sr-section{
padding:60px 0;
}

}
/* =============================
   CARDS PREMIUM
============================= */

.card{
border:0;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.card:hover{
box-shadow:0 16px 40px rgba(0,0,0,0.08);
transition:.25s;
}

/* =============================
   FORMULAIRES
============================= */

.form-control{

border-radius:6px;
padding:12px;

}

.form-control:focus{

box-shadow:none;
border-color:#537591;

}

/* image des cartes services */

.service-image{
position:relative;
width:100%;
padding-top:62%;
overflow:hidden;
}

.service-image img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
}

.service-card{
transition:transform .25s ease, box-shadow .25s ease;
}

.service-card:hover{
transform:translateY(-4px);
box-shadow:0 18px 40px rgba(0,0,0,0.08);
}

.btn-hero-primary{
  background:#537591;
  border:1px solid #537591;
  color:#fff;
  font-weight:600;
  letter-spacing:.2px;
  border-radius:999px;
  padding:12px 22px;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.btn-hero-primary:hover{
  background:#46657c;
  border-color:#46657c;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.hero-content{
  max-width: 820px;
  margin: 0 auto;
}
.hero .lead{
  max-width: 52ch;
  margin-left:auto;
  margin-right:auto;
}

.btn-lang{
border:1px solid #537591;
color:#537591;
padding:4px 12px;
font-size:.85rem;
letter-spacing:.5px;
border-radius:30px;
font-weight:600;
transition:all .25s ease;
}

.btn-lang:hover{
background:#537591;
color:#fff;
}

/* === VCARD WHITE ELEGANT CARD === */
.vcard-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 25px;
    margin-top: 30px;
    box-shadow: 0 12px 28px rgba(0,0,0,0.10);
    max-width: 520px;
}

.vcard-card-inner {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: nowrap;
}

.vcard-card-qr img {
    width: 120px;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}

.vcard-card-content h4 {
    margin: 0 0 8px 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #333;
}

.vcard-card-content p {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 14px;
}

/* === Mobile responsive === */
@media (max-width: 768px) {
    .vcard-card-inner {
        flex-direction: column;
        text-align: center;
    }
    .vcard-card-qr img {
        width: 160px;
    }
}
/*LES CITATIONS*/

/* Quote  */
.sr-quote{
  font-family: 'Fraunces', serif;
  font-size: 1.2rem;
  font-style: italic;
  border-radius: 24px;
  padding: 34px 28px;
  background: #fff;
  border: 1px solid var(--sr-line);
  box-shadow: 0 20px 70px rgba(0,0,0,.06);
  opacity: 0.85;
  line-height: 1.6;
  position: relative;

}

blockquote.sr-quote {
  background-color: #ffffff;
  color: #070c15;
    border-left: 3px solid #efefef;
    padding-left: 10px;
    margin-left: 0;
}

/* Variantes de taille */
.sr-quote--sm {
  font-size: 0.95rem;
}

.sr-quote--md {
  font-size: 1.2rem; /* valeur actuelle */
}

.sr-quote--lg {
  font-size: 1.4rem;
}

.sr-quote--xl {
  font-size: 1.7rem;
}

/* =========================
   BROCHURE PREMIUM
========================= */



.brochure-inline-box{
  display: flex;
  align-items: center;
  gap: 15px;
  background: #fff;
  border-radius: 10px;
  padding: 12px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.06);
  transition: all .3s ease;

  border: 1px solid #f0f0f0;

}

/* Image */
.brochure-inline-image{
  flex: 0 0 250px;
  border: 1px solid #eee;
  border-left: 3px solid #eaeaea;
}

.brochure-inline-image img{
  width: 100%;
  display: block;
  border-radius: 4px;
}

/* Texte */
.brochure-inline-content{
  text-align: left;
}

.brochure-inline-subtitle{
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #888;
  margin-bottom: 2px;
}

.brochure-inline-title{
  font-family: 'Fraunces', serif;
  font-size: 1.05rem;
  color: #111;
  margin-bottom: 2px;
}

.brochure-inline-cta{
  font-size: 0.85rem;
  color: #555;
}

/* Meta info */
.brochure-inline-meta{
  font-size: 0.75rem;
  color: #888;
  margin-top: 2px;
}



.brochure-inline-link,
.brochure-inline-link:hover,
.brochure-inline-link:focus{
  text-decoration: none;
  color: inherit;  
}

/* Hover */
.brochure-inline-link:hover .brochure-inline-box{
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

/* =========================
   PDF BADGE
========================= */

.pdf-icon{
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  background: #f80101;
  color: #fff;
  padding: 2px 6px;
  border-radius: 3px;
  margin-right: 6px;
  vertical-align: middle;
}

/* Meta info PDF */




/* .sr-footer { outline: 4px solid red !important; }
.sr-cta { outline: 4px solid blue !important; }
.sr-section { outline: 4px solid green !important; } */

.sr-emphasis{
  font-weight: 600;
  color: #111;
}


.service-card
{
    height: 100%;
    border: 0;
    border-radius: 8px;
    overflow: hidden;
}

.service-image img
{
    width: 100%;
    height: 232px;
    object-fit: cover;
    display: block;
}

.service-card .card-body
{
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 18px 16px 32px;
}

.service-card .card-title
{
    min-height: 48px;
    margin-bottom: 18px;
    text-transform: uppercase;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .4px;
}

.service-card .card-title::after
{
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: #6f8fad;
    margin-top: 12px;
}

.service-text
{
    min-height: 112px;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.55;
}

.service-card .sr-quote
{
    margin-top: auto !important;
    min-height: 94px;
    display: flex;
    align-items: center;
    justify-content: center;
}