/* NISAN CORPORATION — Home page only. Does not override other pages. */
.nisan-home{--nh-navy:#102b4e;--nh-navy-deep:#081a30;--nh-red:#d62832;--nh-red-dark:#b91f28;--nh-white:#fff;--nh-ink:#17283c;--nh-muted:#667487;--nh-line:#e2e7ed;--nh-pale:#f4f7fa;color:var(--nh-ink);font-family:Inter,Arial,sans-serif;overflow:hidden;background:#fff}
.nisan-home *{box-sizing:border-box}.nh-container{width:min(1200px,calc(100% - 48px));margin-inline:auto}.nh-language-bar{position:relative;z-index:4;background:#f4f6f9;border-bottom:1px solid #e4e8ed}.nh-language-inner{height:36px;display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12px;color:#637187}.nh-language-inner a{font-weight:800;text-decoration:none;color:#68778b;padding:4px 6px;border-radius:3px}.nh-language-inner a.is-active{background:var(--nh-navy);color:#fff}.nh-language-divider{color:#b6bfca}
.nh-hero{position:relative;min-height:680px;display:flex;align-items:center;background:var(--nh-navy-deep);color:#fff;isolation:isolate}.nh-hero-image{position:absolute;inset:0;z-index:-3;background-image:url('../img/carousel2.jpg');background-position:center;background-size:cover;filter:saturate(.78)}.nh-hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,20,39,.97) 0%,rgba(8,28,53,.91) 48%,rgba(8,28,53,.55) 100%)}.nh-hero-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:55px;align-items:center;padding-top:78px;padding-bottom:100px}.nh-hero-copy{max-width:760px}.nh-eyebrow,.nh-kicker{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--nh-red);text-transform:uppercase;margin-bottom:18px}.nh-eyebrow{color:#f5f7fa}.nh-eyebrow>span,.nh-kicker:before{content:"";display:block;width:32px;height:3px;background:var(--nh-red);flex:0 0 32px}.nh-hero h1{max-width:780px;margin:0 0 24px;color:#fff;font-size:clamp(42px,5.4vw,72px);font-weight:800;line-height:1.04;letter-spacing:-.045em}.nh-hero h1 em{display:block;color:#ff4852;font-style:normal}.nh-hero-lead{max-width:660px;color:rgba(255,255,255,.79);font-size:16px;line-height:1.85;margin:0}.nh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.nh-btn{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:12px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s,border-color .2s;color:#fff;border:1px solid transparent}.nh-btn:hover{transform:translateY(-2px);text-decoration:none;color:#fff}.nh-btn span{font-size:17px}.nh-btn-red{background:var(--nh-red);border-color:var(--nh-red)}.nh-btn-red:hover{background:var(--nh-red-dark);border-color:var(--nh-red-dark)}.nh-btn-outline{border-color:rgba(255,255,255,.52);background:transparent;color:#fff}.nh-btn-outline:hover{background:#fff;color:var(--nh-navy)}.nh-btn-white{background:#fff;color:var(--nh-navy);border-color:#fff}.nh-btn-white:hover{background:#f2f4f7;color:var(--nh-navy)}.nh-trust-line{display:flex;align-items:center;gap:12px;margin-top:36px;color:rgba(255,255,255,.78);font-size:12px}.nh-trust-mark{display:grid;place-items:center;width:31px;height:31px;background:var(--nh-red);color:#fff;font-weight:900;font-size:17px}.nh-hero-card{position:relative;max-width:310px;justify-self:end;width:100%;padding:27px;background:rgba(8,26,48,.72);border:1px solid rgba(255,255,255,.23);box-shadow:0 25px 70px rgba(0,0,0,.18);backdrop-filter:blur(8px)}.nh-card-top{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.8);font-weight:800}.nh-card-dot{width:7px;height:7px;background:var(--nh-red);border-radius:50%}.nh-card-symbol{width:86px;height:86px;display:grid;place-items:center;margin:35px 0 23px;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:39px;position:relative}.nh-card-symbol:after{content:"";position:absolute;width:16px;height:16px;background:var(--nh-red);right:-7px;bottom:-7px}.nh-hero-card p{font-size:18px;line-height:1.4;font-weight:800;color:#fff;margin:0 0 24px}.nh-card-rule{display:flex;gap:5px;margin-bottom:15px}.nh-card-rule span{height:3px;width:28px;background:var(--nh-red)}.nh-card-rule span:nth-child(2){width:15px;background:#fff}.nh-card-rule span:nth-child(3){width:8px;background:rgba(255,255,255,.45)}.nh-hero-card small{color:rgba(255,255,255,.64);font-size:11px}.nh-hero-bottom{position:absolute;bottom:0;left:0;right:0;background:rgba(4,17,33,.6);border-top:1px solid rgba(255,255,255,.14)}.nh-hero-bottom-inner{height:56px;display:flex;align-items:center;gap:15px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.75)}.nh-hero-bottom-inner>span:first-child{color:#ff4852;font-weight:900}.nh-bottom-line{width:38px;height:2px;background:var(--nh-red)}.nh-bottom-separator{color:var(--nh-red);font-size:18px}
.nh-section{padding:100px 0}.nh-section-heading{display:grid;grid-template-columns:1.1fr .8fr;align-items:end;gap:55px;margin-bottom:42px}.nh-kicker{margin-bottom:14px}.nh-section-heading h2,.nh-about-copy h2,.nh-commitment h2,.nh-process h2,.nh-cta h2{font-size:clamp(30px,3.2vw,45px);line-height:1.13;letter-spacing:-.035em;color:var(--nh-navy);font-weight:800;margin:0}.nh-section-heading>p{font-size:14px;line-height:1.85;color:var(--nh-muted);margin:0 0 4px}.nh-services{background:#fff}.nh-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--nh-line);border-left:1px solid var(--nh-line)}.nh-service-card{min-height:315px;padding:30px 29px 27px;border-right:1px solid var(--nh-line);border-bottom:1px solid var(--nh-line);position:relative;background:#fff;transition:background .2s,transform .2s,box-shadow .2s}.nh-service-card:hover{background:#fbfcfe;transform:translateY(-3px);box-shadow:0 16px 35px rgba(16,43,78,.08);z-index:1}.nh-service-featured{background:var(--nh-navy);color:#fff}.nh-service-featured:hover{background:#12375f}.nh-service-number{position:absolute;top:24px;right:27px;font-size:11px;font-weight:900;color:#b7c1cd}.nh-service-featured .nh-service-number{color:rgba(255,255,255,.45)}.nh-service-icon{width:54px;height:54px;display:grid;place-items:center;background:#f1f4f8;color:var(--nh-red);font-size:23px;margin-bottom:24px}.nh-service-featured .nh-service-icon{background:rgba(255,255,255,.1);color:#fff}.nh-service-card h3{font-size:19px;line-height:1.35;color:var(--nh-navy);font-weight:800;margin:0 0 12px}.nh-service-featured h3{color:#fff}.nh-service-card p{font-size:12.5px;line-height:1.8;color:var(--nh-muted);margin:0 0 21px}.nh-service-featured p{color:rgba(255,255,255,.73)}.nh-service-card>a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--nh-red);font-size:11px;font-weight:900}.nh-service-card>a span{font-size:17px;transition:transform .2s}.nh-service-card>a:hover span{transform:translate(3px,-2px)}.nh-services-footer{display:flex;align-items:center;gap:15px;padding-top:25px}.nh-services-footer>span{width:26px;height:3px;background:var(--nh-red)}.nh-services-footer p{font-size:12px;color:var(--nh-muted);margin:0}.nh-services-footer>a{margin-left:auto;font-size:12px;color:var(--nh-navy);font-weight:800;text-decoration:none}.nh-services-footer>a b{color:var(--nh-red);margin-left:8px}
.nh-about{background:var(--nh-pale)}.nh-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;align-items:center}.nh-about-visual{position:relative;min-height:450px;padding:0 45px 45px 0}.nh-about-image-main{width:86%;height:380px;overflow:hidden;background:#dbe2e9}.nh-about-image-main img,.nh-about-image-small img{width:100%;height:100%;object-fit:cover;display:block}.nh-about-image-small{position:absolute;right:0;bottom:0;width:49%;height:215px;border:9px solid var(--nh-pale);overflow:hidden;background:#dce3eb}.nh-about-stamp{position:absolute;left:-13px;bottom:68px;display:flex;flex-direction:column;justify-content:center;width:115px;height:115px;background:var(--nh-red);color:#fff;padding:15px;box-shadow:0 12px 28px rgba(214,40,50,.2)}.nh-about-stamp span{font-size:10px;letter-spacing:.15em;font-weight:800}.nh-about-stamp strong{font-size:24px;line-height:1.2}.nh-about-stamp small{font-size:7px;letter-spacing:.08em}.nh-about-copy h2{margin-bottom:23px}.nh-about-copy>p{font-size:13px;line-height:1.95;color:var(--nh-muted);margin:0 0 17px}.nh-about-points{display:grid;gap:13px;margin:25px 0}.nh-about-points div{display:flex;align-items:flex-start;gap:11px;font-size:12px;font-weight:700;color:var(--nh-ink)}.nh-about-points span{display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;background:var(--nh-red);color:#fff;font-size:12px}.nh-text-link{display:inline-flex;gap:13px;align-items:center;color:var(--nh-red);font-weight:900;font-size:12px;text-decoration:none}.nh-text-link span{font-size:18px}
.nh-commitment{background:var(--nh-navy);color:#fff}.nh-commitment-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.nh-kicker-light{color:#ff646b}.nh-commitment h2{color:#fff;margin-bottom:18px}.nh-commitment-intro>p{color:rgba(255,255,255,.68);font-size:13px;line-height:1.9;margin:0;max-width:450px}.nh-commitment-intro .nh-btn{margin-top:25px}.nh-commitment-items{border-top:1px solid rgba(255,255,255,.17)}.nh-commitment-items article{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.17)}.nh-commitment-icon{display:grid;place-items:center;flex:0 0 49px;width:49px;height:49px;background:rgba(255,255,255,.09);color:#ff646b;font-size:19px}.nh-commitment-items h3{font-size:16px;color:#fff;margin:0 0 8px;font-weight:800}.nh-commitment-items p{font-size:12px;line-height:1.75;color:rgba(255,255,255,.66);margin:0}
.nh-sectors{background:#fff}.nh-section-heading-centered{display:block;text-align:center;max-width:750px;margin:0 auto 40px}.nh-section-heading-centered .nh-kicker{justify-content:center}.nh-sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--nh-line);border-left:1px solid var(--nh-line)}.nh-sector-grid>div{position:relative;min-height:205px;padding:28px 23px;border-right:1px solid var(--nh-line);border-bottom:1px solid var(--nh-line)}.nh-sector-grid>div>span{position:absolute;top:20px;right:20px;font-size:10px;font-weight:900;color:#aeb8c4}.nh-sector-grid i{display:block;color:var(--nh-red);font-size:26px;margin:17px 0 25px}.nh-sector-grid h3{font-size:15px;line-height:1.5;font-weight:800;color:var(--nh-navy);margin:0}
.nh-process{background:var(--nh-pale)}.nh-process h2{margin-bottom:40px}.nh-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.nh-process-grid article{position:relative;padding-top:25px;border-top:2px solid #d6dde5}.nh-process-grid article:before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:var(--nh-red);border-radius:50%}.nh-process-grid article>span{font-size:11px;letter-spacing:.1em;color:var(--nh-red);font-weight:900}.nh-process-grid h3{font-size:16px;color:var(--nh-navy);font-weight:800;margin:15px 0 10px}.nh-process-grid p{font-size:12px;line-height:1.8;color:var(--nh-muted);margin:0}
.nh-cta{position:relative;overflow:hidden;background:var(--nh-red);color:#fff}.nh-cta-pattern{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(135deg,transparent 45%,#fff 45%,#fff 46%,transparent 46%),linear-gradient(45deg,transparent 45%,#fff 45%,#fff 46%,transparent 46%);background-size:38px 38px}.nh-cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:68px;padding-bottom:68px}.nh-cta h2{color:#fff;font-size:clamp(29px,3vw,42px);margin-bottom:12px}.nh-cta p{color:rgba(255,255,255,.82);font-size:13px;line-height:1.8;margin:0;max-width:650px}.nh-cta .nh-kicker:before{background:#fff}.nh-cta .nh-actions{margin:0;flex-shrink:0}.nh-cta .nh-btn-outline{border-color:rgba(255,255,255,.7)}
.nh-contact-strip{background:#fff;border-bottom:1px solid var(--nh-line)}.nh-contact-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;padding-top:32px;padding-bottom:32px}.nh-contact-grid>div{display:flex;align-items:center;gap:14px;min-width:0}.nh-contact-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:#f0f3f7;color:var(--nh-red);font-size:16px}.nh-contact-grid small{display:block;font-size:9px;letter-spacing:.13em;color:#8995a5;font-weight:900;margin-bottom:6px}.nh-contact-grid p,.nh-contact-grid a{display:block;font-size:11px;line-height:1.6;color:var(--nh-navy);font-weight:700;text-decoration:none;margin:0;overflow-wrap:anywhere}.nh-contact-grid a:hover{color:var(--nh-red)}
@media(max-width:1000px){.nh-hero{min-height:620px}.nh-hero-layout{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.nh-hero-card{padding:21px}.nh-section{padding:78px 0}.nh-section-heading{gap:30px}.nh-about-grid{gap:55px}.nh-commitment-grid{gap:50px}.nh-service-card{padding:25px 22px;min-height:325px}.nh-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nh-cta-inner{align-items:flex-start;flex-direction:column}.nh-cta .nh-actions{margin-top:0}}
@media(max-width:720px){.nh-container{width:calc(100% - 36px)}.nh-language-inner{height:34px}.nh-hero{min-height:0}.nh-hero-layout{display:block;padding-top:75px;padding-bottom:100px}.nh-hero h1{font-size:clamp(39px,10vw,58px)}.nh-hero-lead{font-size:14px}.nh-hero-card{display:none}.nh-hero-bottom-inner{height:auto;min-height:54px;gap:9px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;font-size:8px}.nh-bottom-separator{display:none}.nh-section{padding:65px 0}.nh-section-heading{display:block;margin-bottom:30px}.nh-section-heading>p{margin-top:18px}.nh-section-heading h2,.nh-about-copy h2,.nh-commitment h2,.nh-process h2{font-size:32px}.nh-services-grid{grid-template-columns:1fr;border-left:0}.nh-service-card{min-height:0;padding:26px 24px;border-left:1px solid var(--nh-line)}.nh-service-icon{margin-bottom:18px}.nh-services-footer{align-items:flex-start;flex-wrap:wrap}.nh-services-footer>a{width:100%;margin-left:41px}.nh-about-grid{grid-template-columns:1fr;gap:45px}.nh-about-visual{min-height:360px;padding-right:32px;padding-bottom:35px}.nh-about-image-main{height:310px;width:88%}.nh-about-image-small{height:165px;width:48%;border-width:7px}.nh-about-stamp{width:92px;height:92px;left:-6px;bottom:48px;padding:11px}.nh-about-stamp strong{font-size:20px}.nh-commitment-grid{grid-template-columns:1fr;gap:40px}.nh-sector-grid{grid-template-columns:1fr 1fr}.nh-sector-grid>div{min-height:180px;padding:20px 16px}.nh-sector-grid i{margin:15px 0 20px}.nh-sector-grid h3{font-size:13px}.nh-process-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.nh-cta-inner{padding-top:52px;padding-bottom:52px}.nh-cta .nh-actions{width:100%;display:grid;grid-template-columns:1fr}.nh-contact-grid{grid-template-columns:1fr;gap:22px;padding-top:27px;padding-bottom:27px}}
@media(max-width:390px){.nh-container{width:calc(100% - 28px)}.nh-hero-layout{padding-top:58px}.nh-hero h1{font-size:38px}.nh-actions{display:grid;grid-template-columns:1fr}.nh-btn{width:100%}.nh-process-grid{grid-template-columns:1fr}.nh-sector-grid>div{padding:17px 13px}.nh-sector-grid h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){.nisan-home *{scroll-behavior:auto!important;transition:none!important}}
/* NISAN : supprimer le deuxième sélecteur de langue de la page d'accueil */
.nh-language-bar {
    display: none !important;
}

/* =========================================================
   NISAN CORPORATION SARL
   AMELIORATION TYPOGRAPHIQUE — PAGE D'ACCUEIL UNIQUEMENT
   Police principale : Inter
   Police des titres : Saira
   Palette : bleu marine, rouge et blanc
   ========================================================= */

/* 1. Police et rendu général */
.nisan-home {
    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.75;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    color: #17283c;
}

.nisan-home *,
.nisan-home *::before,
.nisan-home *::after {
    box-sizing: border-box;
}

/* 2. Titres : apparence professionnelle et lecture confortable */
.nisan-home h1,
.nisan-home h2,
.nisan-home h3,
.nisan-home h4,
.nisan-home h5,
.nisan-home h6 {
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-weight: 700;
    text-wrap: pretty;
}

.nisan-home h1 {
    font-size: clamp(2.5rem, 4.8vw, 4.5rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
    font-weight: 700;
}

.nisan-home .nh-hero h1 {
    max-width: 760px;
    margin-bottom: 26px;
}

.nisan-home .nh-hero h1 em {
    color: #ff525c;
    font-style: normal;
}

.nisan-home h2 {
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    line-height: 1.25;
    letter-spacing: -0.02em;
    font-weight: 700;
}

.nisan-home .nh-section-heading h2,
.nisan-home .nh-about-copy h2,
.nisan-home .nh-commitment h2,
.nisan-home .nh-process h2,
.nisan-home .nh-cta h2 {
    line-height: 1.25;
}

.nisan-home h3 {
    font-size: 1.15rem;
    line-height: 1.5;
    letter-spacing: 0;
}

/* 3. Textes de présentation et paragraphes */
.nisan-home p {
    overflow-wrap: break-word;
}

.nisan-home .nh-hero-lead {
    max-width: 650px;
    color: #edf2f8;
    font-family: "Inter", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.9;
    font-weight: 400;
    letter-spacing: 0;
}

.nisan-home .nh-section-heading > p {
    color: #526176;
    font-size: 0.95rem;
    line-height: 1.9;
}

.nisan-home .nh-service-card p {
    color: #526176;
    font-size: 0.875rem;
    line-height: 1.85;
}

.nisan-home .nh-service-featured p {
    color: #edf2f8;
}

.nisan-home .nh-about-copy > p {
    color: #526176;
    font-size: 0.9rem;
    line-height: 1.95;
}

.nisan-home .nh-commitment-intro > p,
.nisan-home .nh-commitment-items p {
    color: #e1e8f1;
    font-size: 0.875rem;
    line-height: 1.9;
}

.nisan-home .nh-process-grid p {
    color: #526176;
    font-size: 0.875rem;
    line-height: 1.85;
}

.nisan-home .nh-cta p {
    color: #fff;
    font-size: 0.95rem;
    line-height: 1.85;
}

/* 4. Petits titres et textes d'identification */
.nisan-home .nh-eyebrow,
.nisan-home .nh-kicker {
    font-family: "Inter", Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: 0.12em;
}

.nisan-home .nh-card-top {
    font-size: 0.7rem;
    line-height: 1.6;
    letter-spacing: 0.08em;
}

.nisan-home .nh-hero-card p {
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 700;
}

.nisan-home .nh-hero-card small {
    color: #e0e7f0;
    font-size: 0.78rem;
    line-height: 1.7;
}

.nisan-home .nh-trust-line {
    font-size: 0.8rem;
    line-height: 1.7;
}

.nisan-home .nh-hero-bottom-inner {
    font-size: 0.7rem;
    line-height: 1.7;
    letter-spacing: 0.06em;
}

/* 5. Cartes de services */
.nisan-home .nh-service-card h3 {
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1.2rem;
    line-height: 1.45;
    font-weight: 700;
    margin-bottom: 14px;
}

.nisan-home .nh-service-number {
    font-size: 0.75rem;
    font-weight: 800;
}

.nisan-home .nh-service-card > a {
    font-size: 0.8rem;
    line-height: 1.7;
    font-weight: 800;
}

/* 6. Présentation de l'entreprise */
.nisan-home .nh-about-points div {
    font-size: 0.85rem;
    line-height: 1.75;
    font-weight: 600;
}

.nisan-home .nh-about-stamp span {
    font-size: 0.68rem;
}

.nisan-home .nh-about-stamp strong {
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1.5rem;
    line-height: 1.3;
}

.nisan-home .nh-about-stamp small {
    font-size: 0.55rem;
    line-height: 1.5;
}

/* 7. Engagement et méthode de travail */
.nisan-home .nh-commitment-items h3,
.nisan-home .nh-process-grid h3 {
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1.05rem;
    line-height: 1.5;
    font-weight: 700;
}

.nisan-home .nh-process-grid > article > span {
    font-size: 0.75rem;
    font-weight: 800;
}

/* 8. Domaines d'intervention */
.nisan-home .nh-sector-grid h3 {
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.55;
    font-weight: 700;
}

.nisan-home .nh-sector-grid > div > span {
    font-size: 0.7rem;
    font-weight: 800;
}

/* 9. Boutons : texte clair et facilement lisible */
.nisan-home .nh-btn {
    font-family: "Inter", Arial, sans-serif;
    font-size: 0.8rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
}

.nisan-home .nh-text-link,
.nisan-home .nh-services-footer > a {
    font-size: 0.82rem;
    line-height: 1.7;
    font-weight: 800;
}

/* 10. Coordonnées en bas de page */
.nisan-home .nh-contact-grid small {
    font-size: 0.7rem;
    line-height: 1.6;
    letter-spacing: 0.08em;
}

.nisan-home .nh-contact-grid p,
.nisan-home .nh-contact-grid a {
    font-size: 0.82rem;
    line-height: 1.8;
    font-weight: 600;
}

/* 11. Lisibilité sur tablette */
@media (max-width: 1000px) {
    .nisan-home .nh-hero h1 {
        font-size: clamp(2.4rem, 5.5vw, 3.5rem);
        line-height: 1.15;
    }

    .nisan-home .nh-hero-lead {
        font-size: 0.95rem;
        line-height: 1.85;
    }

    .nisan-home .nh-service-card h3 {
        font-size: 1.1rem;
    }
}

/* 12. Lisibilité sur téléphone */
@media (max-width: 720px) {
    .nisan-home {
        font-size: 15px;
        line-height: 1.75;
    }

    .nisan-home .nh-hero h1 {
        font-size: clamp(2.35rem, 8.5vw, 3.4rem);
        line-height: 1.16;
        letter-spacing: -0.02em;
        margin-bottom: 22px;
    }

    .nisan-home .nh-hero-lead {
        font-size: 0.95rem;
        line-height: 1.9;
    }

    .nisan-home .nh-section-heading h2,
    .nisan-home .nh-about-copy h2,
    .nisan-home .nh-commitment h2,
    .nisan-home .nh-process h2 {
        font-size: clamp(1.8rem, 6vw, 2.2rem);
        line-height: 1.3;
    }

    .nisan-home .nh-section-heading > p,
    .nisan-home .nh-about-copy > p,
    .nisan-home .nh-commitment-intro > p {
        font-size: 0.9rem;
        line-height: 1.9;
    }

    .nisan-home .nh-service-card h3 {
        font-size: 1.15rem;
        line-height: 1.45;
    }

    .nisan-home .nh-service-card p,
    .nisan-home .nh-process-grid p,
    .nisan-home .nh-commitment-items p {
        font-size: 0.875rem;
        line-height: 1.85;
    }

    .nisan-home .nh-btn {
        min-height: 48px;
        padding: 12px 18px;
        font-size: 0.8rem;
    }

    .nisan-home .nh-sector-grid h3 {
        font-size: 0.85rem;
        line-height: 1.55;
    }

    .nisan-home .nh-contact-grid p,
    .nisan-home .nh-contact-grid a {
        font-size: 0.85rem;
        line-height: 1.8;
    }
}

/* 13. Petits écrans */
@media (max-width: 390px) {
    .nisan-home .nh-hero h1 {
        font-size: 2.25rem;
        line-height: 1.18;
    }

    .nisan-home .nh-hero-lead {
        font-size: 0.9rem;
    }

    .nisan-home .nh-section-heading h2,
    .nisan-home .nh-about-copy h2,
    .nisan-home .nh-commitment h2,
    .nisan-home .nh-process h2 {
        font-size: 1.75rem;
    }
}

/* 14. Respect des préférences d'accessibilité */
@media (prefers-reduced-motion: reduce) {
    .nisan-home *,
    .nisan-home *::before,
    .nisan-home *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* =========================================================
   NISAN CORPORATION — AMÉLIORATION DES CARTES DE SERVICES
   Page d'accueil uniquement
   ========================================================= */

.nisan-home .nh-services-grid {
    border-top: 0;
    border-left: 0;
    gap: 20px;
}

.nisan-home .nh-service-card {
    position: relative;
    min-width: 0;
    min-height: 320px;
    padding: 30px 27px;
    background: #ffffff;
    border: 1px solid #e1e7ee;
    border-top: 3px solid #102b4e;
    border-radius: 5px;
    box-shadow: 0 5px 20px rgba(16, 43, 78, 0.045);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.nisan-home .nh-service-card:hover {
    transform: translateY(-5px);
    border-top-color: #d62832;
    box-shadow: 0 16px 32px rgba(16, 43, 78, 0.12);
    background: #ffffff;
    z-index: 1;
}

.nisan-home .nh-service-card.nh-service-featured {
    color: #ffffff;
    background: #102b4e;
    border-color: #102b4e;
    border-top: 3px solid #d62832;
}

.nisan-home .nh-service-card.nh-service-featured:hover {
    background: #0b2340;
    border-color: #0b2340;
    border-top-color: #ff525c;
}

.nisan-home .nh-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 24px;
    border-radius: 4px;
    background: #f0f4f8;
    color: #d62832;
    font-size: 25px;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.nisan-home .nh-service-card:hover .nh-service-icon {
    background: #d62832;
    color: #ffffff;
    transform: translateY(-2px);
}

.nisan-home .nh-service-featured .nh-service-icon {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.nisan-home .nh-service-featured:hover .nh-service-icon {
    background: #d62832;
    color: #ffffff;
}

.nisan-home .nh-service-card h3 {
    margin: 0 0 14px;
    color: #102b4e;
    font-size: 1.15rem;
    line-height: 1.45;
}

.nisan-home .nh-service-featured h3 {
    color: #ffffff;
}

.nisan-home .nh-service-card p {
    margin: 0 0 22px;
    color: #526176;
    font-size: 0.875rem;
    line-height: 1.85;
}

.nisan-home .nh-service-featured p {
    color: #e5edf6;
}

.nisan-home .nh-service-number {
    top: 24px;
    right: 24px;
    color: #98a6b8;
    font-size: 0.75rem;
    font-weight: 800;
}

.nisan-home .nh-service-featured .nh-service-number {
    color: #cbd6e4;
}

.nisan-home .nh-service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #c51f2b;
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
}

.nisan-home .nh-service-featured > a {
    color: #ff6a72;
}

.nisan-home .nh-service-card > a span {
    display: inline-block;
    transition: transform 0.2s ease;
}

.nisan-home .nh-service-card > a:hover span {
    transform: translate(3px, -2px);
}

.nisan-home .nh-services-footer {
    margin-top: 12px;
    padding-top: 24px;
    border-top: 1px solid #e1e7ee;
}

@media (max-width: 1000px) {
    .nisan-home .nh-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .nisan-home .nh-service-card {
        min-height: 300px;
        padding: 25px 22px;
    }
}

@media (max-width: 600px) {
    .nisan-home .nh-services-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .nisan-home .nh-service-card {
        min-height: 0;
        padding: 25px 22px;
    }

    .nisan-home .nh-service-icon {
        width: 52px;
        height: 52px;
        margin-bottom: 18px;
        font-size: 23px;
    }

    .nisan-home .nh-service-card h3 {
        font-size: 1.1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nisan-home .nh-service-card,
    .nisan-home .nh-service-icon,
    .nisan-home .nh-service-card > a span {
        transition: none !important;
    }

    .nisan-home .nh-service-card:hover,
    .nisan-home .nh-service-card:hover .nh-service-icon {
        transform: none;
    }
}


/* =========================================================
   NISAN CORPORATION — SECTION À PROPOS
   Amélioration des images, de la mise en page et du texte
   Page d'accueil uniquement
   ========================================================= */

.nisan-home .nh-about {
    position: relative;
    overflow: hidden;
    background: #f4f7fa;
}

.nisan-home .nh-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(40px, 6vw, 85px);
}

.nisan-home .nh-about-visual {
    position: relative;
    min-width: 0;
    min-height: 460px;
    padding: 0 45px 45px 0;
}

.nisan-home .nh-about-image-main {
    position: relative;
    width: 88%;
    height: 390px;
    overflow: hidden;
    background: #dce4ed;
    border-radius: 4px;
    box-shadow: 0 16px 38px rgba(16, 43, 78, 0.12);
}

.nisan-home .nh-about-image-main img,
.nisan-home .nh-about-image-small img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.45s ease;
}

.nisan-home .nh-about-image-main:hover img,
.nisan-home .nh-about-image-small:hover img {
    transform: scale(1.035);
}

.nisan-home .nh-about-image-small {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 49%;
    height: 220px;
    overflow: hidden;
    background: #dce4ed;
    border: 8px solid #f4f7fa;
    border-radius: 4px;
    box-shadow: 0 12px 28px rgba(16, 43, 78, 0.13);
}

.nisan-home .nh-about-stamp {
    position: absolute;
    left: -12px;
    bottom: 75px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 112px;
    min-height: 112px;
    padding: 15px;
    color: #ffffff;
    background: #d62832;
    border-radius: 3px;
    box-shadow: 0 12px 28px rgba(214, 40, 50, 0.2);
}

.nisan-home .nh-about-stamp span {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.nisan-home .nh-about-stamp strong {
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: 800;
}

.nisan-home .nh-about-stamp small {
    font-size: 0.48rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.nisan-home .nh-about-copy {
    min-width: 0;
}

.nisan-home .nh-about-copy .nh-kicker {
    margin-bottom: 15px;
}

.nisan-home .nh-about-copy h2 {
    margin: 0 0 23px;
    color: #102b4e;
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    line-height: 1.25;
    letter-spacing: -0.025em;
}

.nisan-home .nh-about-copy > p {
    margin: 0 0 17px;
    color: #526176;
    font-size: 0.9rem;
    line-height: 1.95;
}

.nisan-home .nh-about-points {
    display: grid;
    gap: 13px;
    margin: 25px 0;
}

.nisan-home .nh-about-points > div {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #26384d;
    font-size: 0.85rem;
    line-height: 1.75;
    font-weight: 600;
}

.nisan-home .nh-about-points > div > span {
    display: grid;
    place-items: center;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    margin-top: 1px;
    color: #ffffff;
    background: #d62832;
    border-radius: 3px;
    font-size: 0.8rem;
    font-weight: 800;
}

.nisan-home .nh-about-copy .nh-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #c51f2b;
    font-size: 0.82rem;
    line-height: 1.7;
    font-weight: 800;
    text-decoration: none;
}

.nisan-home .nh-about-copy .nh-text-link span {
    transition: transform 0.2s ease;
}

.nisan-home .nh-about-copy .nh-text-link:hover span {
    transform: translate(4px, -2px);
}

/* Tablettes */
@media (max-width: 1000px) {
    .nisan-home .nh-about-grid {
        gap: 40px;
    }

    .nisan-home .nh-about-visual {
        min-height: 390px;
        padding-right: 30px;
        padding-bottom: 35px;
    }

    .nisan-home .nh-about-image-main {
        height: 330px;
    }

    .nisan-home .nh-about-image-small {
        height: 175px;
        border-width: 6px;
    }

    .nisan-home .nh-about-stamp {
        width: 95px;
        min-height: 95px;
        bottom: 55px;
        padding: 11px;
    }

    .nisan-home .nh-about-stamp strong {
        font-size: 1.3rem;
    }
}

/* Téléphones */
@media (max-width: 720px) {
    .nisan-home .nh-about-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .nisan-home .nh-about-visual {
        width: 100%;
        min-height: 350px;
        padding: 0 30px 35px 0;
    }

    .nisan-home .nh-about-image-main {
        width: 90%;
        height: 300px;
    }

    .nisan-home .nh-about-image-small {
        width: 49%;
        height: 160px;
        border-width: 6px;
    }

    .nisan-home .nh-about-stamp {
        left: -4px;
        bottom: 48px;
        width: 88px;
        min-height: 88px;
        padding: 10px;
    }

    .nisan-home .nh-about-stamp strong {
        font-size: 1.15rem;
    }

    .nisan-home .nh-about-copy h2 {
        font-size: clamp(1.8rem, 6vw, 2.2rem);
    }

    .nisan-home .nh-about-copy > p {
        font-size: 0.9rem;
        line-height: 1.9;
    }

    .nisan-home .nh-about-points > div {
        font-size: 0.85rem;
    }
}

/* Très petits écrans */
@media (max-width: 390px) {
    .nisan-home .nh-about-visual {
        min-height: 310px;
    }

    .nisan-home .nh-about-image-main {
        height: 270px;
    }

    .nisan-home .nh-about-image-small {
        height: 140px;
    }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
    .nisan-home .nh-about-image-main img,
    .nisan-home .nh-about-image-small img,
    .nisan-home .nh-about-copy .nh-text-link span {
        transition: none !important;
    }
}


/* =========================================================
   NISAN CORPORATION — SECTION NOTRE ENGAGEMENT
   Amélioration visuelle et typographique
   Page d'accueil uniquement
   ========================================================= */

.nisan-home .nh-commitment {
    position: relative;
    overflow: hidden;
    background: #102b4e;
    color: #ffffff;
}

.nisan-home .nh-commitment::before {
    content: "";
    position: absolute;
    top: -130px;
    right: -100px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    pointer-events: none;
}

.nisan-home .nh-commitment::after {
    content: "";
    position: absolute;
    right: 35px;
    bottom: -180px;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    pointer-events: none;
}

.nisan-home .nh-commitment-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(40px, 7vw, 90px);
}

.nisan-home .nh-commitment-intro {
    max-width: 500px;
}

.nisan-home .nh-commitment .nh-kicker {
    margin-bottom: 17px;
    color: #ff737a;
}

.nisan-home .nh-commitment .nh-kicker::before {
    background: #d62832;
}

.nisan-home .nh-commitment-intro h2 {
    margin: 0 0 22px;
    color: #ffffff;
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: clamp(2rem, 3.3vw, 2.8rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.nisan-home .nh-commitment-intro > p {
    max-width: 460px;
    margin: 0;
    color: #e0e8f2;
    font-size: 0.92rem;
    line-height: 1.95;
}

.nisan-home .nh-commitment-intro .nh-btn {
    margin-top: 28px;
}

.nisan-home .nh-commitment .nh-btn-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    padding: 13px 21px;
    color: #102b4e;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 3px;
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.nisan-home .nh-commitment .nh-btn-white:hover {
    color: #ffffff;
    background: #d62832;
    border-color: #d62832;
    transform: translateY(-2px);
}

.nisan-home .nh-commitment-items {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.nisan-home .nh-commitment-items article {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 26px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.nisan-home .nh-commitment-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    color: #ff737a;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    font-size: 1.2rem;
    transition:
        color 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}

.nisan-home .nh-commitment-items article:hover .nh-commitment-icon {
    color: #ffffff;
    background: #d62832;
    border-color: #d62832;
}

.nisan-home .nh-commitment-items article > div {
    min-width: 0;
    flex: 1;
}

.nisan-home .nh-commitment-items h3 {
    margin: 0 0 9px;
    color: #ffffff;
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.5;
}

.nisan-home .nh-commitment-items p {
    margin: 0;
    color: #dce5f0;
    font-size: 0.875rem;
    line-height: 1.9;
}

/* Tablettes */
@media (max-width: 1000px) {
    .nisan-home .nh-commitment-grid {
        gap: 40px;
    }

    .nisan-home .nh-commitment-intro h2 {
        font-size: 2rem;
    }

    .nisan-home .nh-commitment-items article {
        gap: 16px;
        padding: 23px 0;
    }
}

/* Téléphones */
@media (max-width: 720px) {
    .nisan-home .nh-commitment-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 35px;
    }

    .nisan-home .nh-commitment-intro {
        max-width: none;
    }

    .nisan-home .nh-commitment-intro h2 {
        font-size: clamp(1.9rem, 6vw, 2.25rem);
        line-height: 1.3;
    }

    .nisan-home .nh-commitment-intro > p {
        font-size: 0.9rem;
    }

    .nisan-home .nh-commitment-items article {
        gap: 15px;
        padding: 22px 0;
    }

    .nisan-home .nh-commitment-icon {
        flex-basis: 45px;
        width: 45px;
        height: 45px;
        font-size: 1.05rem;
    }

    .nisan-home .nh-commitment-items h3 {
        font-size: 1rem;
    }

    .nisan-home .nh-commitment-items p {
        font-size: 0.85rem;
        line-height: 1.85;
    }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
    .nisan-home .nh-commitment *,
    .nisan-home .nh-commitment *::before,
    .nisan-home .nh-commitment *::after {
        transition: none !important;
    }
}

/* =========================================================
   NISAN CORPORATION — DOMAINES D'INTERVENTION
   Page d'accueil uniquement
   ========================================================= */

.nisan-home .nh-sectors {
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

.nisan-home .nh-sectors .nh-section-heading-centered {
    max-width: 790px;
    margin: 0 auto 48px;
    text-align: center;
}

.nisan-home .nh-sectors .nh-section-heading-centered .nh-kicker {
    justify-content: center;
    margin-bottom: 15px;
}

.nisan-home .nh-sectors .nh-section-heading-centered h2 {
    max-width: 740px;
    margin: 0 auto;
    color: #102b4e;
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    font-weight: 700;
    line-height: 1.25;
}

.nisan-home .nh-sector-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    border: 0;
}

.nisan-home .nh-sector-grid > div {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 220px;
    padding: 28px 23px;
    overflow: hidden;
    background: #f5f7fa;
    border: 1px solid #e1e7ee;
    border-bottom: 3px solid #102b4e;
    border-radius: 4px;
    transition:
        transform 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.nisan-home .nh-sector-grid > div::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 42px;
    background: #e9eef4;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    transition: background 0.25s ease;
}

.nisan-home .nh-sector-grid > div:hover {
    transform: translateY(-5px);
    background: #ffffff;
    border-bottom-color: #d62832;
    box-shadow: 0 15px 32px rgba(16, 43, 78, 0.1);
}

.nisan-home .nh-sector-grid > div:hover::before {
    background: #d62832;
}

.nisan-home .nh-sector-grid > div > span {
    position: absolute;
    top: 17px;
    right: 18px;
    z-index: 1;
    color: #6e7d91;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.nisan-home .nh-sector-grid i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    margin: 15px 0 24px;
    color: #d62832;
    background: #ffffff;
    border: 1px solid #e1e7ee;
    border-radius: 4px;
    font-size: 1.45rem;
    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

.nisan-home .nh-sector-grid > div:hover i {
    color: #ffffff;
    background: #102b4e;
    border-color: #102b4e;
}

.nisan-home .nh-sector-grid h3 {
    margin: 0;
    color: #102b4e;
    font-family: "Saira", "Inter", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.6;
}

/* Tablettes et petits ordinateurs */
@media (max-width: 1000px) {
    .nisan-home .nh-sector-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .nisan-home .nh-sector-grid > div {
        min-height: 200px;
        padding: 24px 21px;
    }

    .nisan-home .nh-sectors .nh-section-heading-centered {
        margin-bottom: 35px;
    }
}

/* Téléphones */
@media (max-width: 600px) {
    .nisan-home .nh-sectors .nh-section-heading-centered {
        margin-bottom: 28px;
    }

    .nisan-home .nh-sectors .nh-section-heading-centered h2 {
        font-size: clamp(1.8rem, 6vw, 2.2rem);
    }

    .nisan-home .nh-sector-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .nisan-home .nh-sector-grid > div {
        min-height: 185px;
        padding: 19px 15px;
    }

    .nisan-home .nh-sector-grid > div > span {
        top: 13px;
        right: 13px;
        font-size: 0.65rem;
    }

    .nisan-home .nh-sector-grid i {
        width: 47px;
        height: 47px;
        margin: 18px 0 19px;
        font-size: 1.2rem;
    }

    .nisan-home .nh-sector-grid h3 {
        font-size: 0.84rem;
        line-height: 1.55;
    }
}

/* Très petits écrans */
@media (max-width: 360px) {
    .nisan-home .nh-sector-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .nisan-home .nh-sector-grid > div {
        min-height: 155px;
    }

    .nisan-home .nh-sector-grid h3 {
        font-size: 0.95rem;
    }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
    .nisan-home .nh-sector-grid > div,
    .nisan-home .nh-sector-grid i,
    .nisan-home .nh-sector-grid > div::before {
        transition: none !important;
    }

    .nisan-home .nh-sector-grid > div:hover {
        transform: none;
    }
}

/* =========================================================
   NISAN CORPORATION — SECTION NOTRE PROCESSUS
   Amélioration visuelle et responsive
   ========================================================= */

.nisan-home .nh-process {
    position: relative;
    padding: 90px 0;
    background: #f5f7fb;
    overflow: hidden;
}

.nisan-home .nh-process::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(
        90deg,
        #d62832 0%,
        #d62832 30%,
        #102b4e 30%,
        #102b4e 100%
    );
}

.nisan-home .nh-process .nh-container {
    position: relative;
    z-index: 1;
}

.nisan-home .nh-process .nh-section-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.nisan-home .nh-process .nh-section-heading h2,
.nisan-home .nh-process h2 {
    color: #102b4e;
    font-family: "Saira", sans-serif;
    font-size: clamp(30px, 3.5vw, 44px);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 18px;
}

.nisan-home .nh-process .nh-section-heading p {
    max-width: 680px;
    margin: 0 auto;
    color: #5c6878;
    font-size: 16px;
    line-height: 1.8;
}

/* Grille des étapes */
.nisan-home .nh-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

/* Cartes d'étapes */
.nisan-home .nh-process-grid > *,
.nisan-home .nh-process .nh-process-card {
    position: relative;
    min-width: 0;
    padding: 32px 24px;
    background: #ffffff;
    border: 1px solid #e3e9f1;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(16, 43, 78, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.nisan-home .nh-process-grid > *:hover,
.nisan-home .nh-process .nh-process-card:hover {
    transform: translateY(-6px);
    border-color: rgba(214, 40, 50, 0.45);
    box-shadow: 0 18px 38px rgba(16, 43, 78, 0.12);
}

/* Numéros des étapes */
.nisan-home .nh-process .nh-step-number,
.nisan-home .nh-process .nh-process-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    border-radius: 12px;
    background: #102b4e;
    color: #ffffff;
    font-family: "Saira", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

/* Titres des cartes */
.nisan-home .nh-process-grid h3,
.nisan-home .nh-process-grid h4,
.nisan-home .nh-process .nh-process-card h3,
.nisan-home .nh-process .nh-process-card h4 {
    margin: 0 0 14px;
    color: #102b4e;
    font-family: "Saira", sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

/* Descriptions */
.nisan-home .nh-process-grid p,
.nisan-home .nh-process .nh-process-card p {
    margin: 0;
    color: #5c6878;
    font-size: 15px;
    line-height: 1.8;
}

/* Icônes éventuelles */
.nisan-home .nh-process-grid i,
.nisan-home .nh-process-grid svg,
.nisan-home .nh-process .nh-process-card i,
.nisan-home .nh-process .nh-process-card svg {
    max-width: 100%;
    color: #d62832;
}

/* Liens éventuels */
.nisan-home .nh-process a {
    transition: color 0.2s ease;
}

.nisan-home .nh-process a:hover {
    color: #d62832;
}

/* Tablettes */
@media (max-width: 992px) {
    .nisan-home .nh-process {
        padding: 72px 0;
    }

    .nisan-home .nh-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

/* Téléphones */
@media (max-width: 576px) {
    .nisan-home .nh-process {
        padding: 54px 0;
    }

    .nisan-home .nh-process .nh-section-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .nisan-home .nh-process .nh-section-heading h2,
    .nisan-home .nh-process h2 {
        font-size: 30px;
    }

    .nisan-home .nh-process .nh-section-heading p {
        font-size: 15px;
        line-height: 1.75;
    }

    .nisan-home .nh-process-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .nisan-home .nh-process-grid > *,
    .nisan-home .nh-process .nh-process-card {
        padding: 25px 21px;
        border-radius: 12px;
    }

    .nisan-home .nh-process .nh-step-number,
    .nisan-home .nh-process .nh-process-number {
        width: 46px;
        height: 46px;
        margin-bottom: 17px;
        font-size: 20px;
    }

    .nisan-home .nh-process-grid h3,
    .nisan-home .nh-process-grid h4,
    .nisan-home .nh-process .nh-process-card h3,
    .nisan-home .nh-process .nh-process-card h4 {
        font-size: 19px;
    }
}

/* Respect de la préférence de réduction des animations */
@media (prefers-reduced-motion: reduce) {
    .nisan-home .nh-process-grid > *,
    .nisan-home .nh-process .nh-process-card {
        transition: none;
    }

    .nisan-home .nh-process-grid > *:hover,
    .nisan-home .nh-process .nh-process-card:hover {
        transform: none;
    }
}

/* =========================================================
   NISAN CORPORATION — CTA ET BANDE DE CONTACT
   Design professionnel, responsive et accessible
   ========================================================= */

/* SECTION CTA */
.nisan-home .nh-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 76px 0;
    background: linear-gradient(125deg, #081a30 0%, #102b4e 65%, #173d68 100%);
    color: #ffffff;
}

.nisan-home .nh-cta::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -100px;
    right: -80px;
    width: 320px;
    height: 320px;
    border: 45px solid rgba(255, 255, 255, 0.045);
    border-radius: 50%;
    pointer-events: none;
}

.nisan-home .nh-cta::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: -110px;
    left: -60px;
    width: 250px;
    height: 250px;
    border: 35px solid rgba(214, 40, 50, 0.16);
    border-radius: 50%;
    pointer-events: none;
}

.nisan-home .nh-cta .nh-container {
    position: relative;
    z-index: 1;
}

.nisan-home .nh-cta h2 {
    max-width: 850px;
    margin: 0 auto 20px;
    color: #ffffff;
    font-family: "Saira", sans-serif;
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.nisan-home .nh-cta p {
    max-width: 720px;
    margin: 0 auto 30px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 16px;
    line-height: 1.85;
    text-align: center;
}

/* Conteneurs éventuels des boutons */
.nisan-home .nh-cta .nh-actions,
.nisan-home .nh-cta .nh-buttons,
.nisan-home .nh-cta .nh-btn-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

/* Boutons CTA */
.nisan-home .nh-cta a,
.nisan-home .nh-cta .nh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 14px 25px;
    border: 2px solid transparent;
    border-radius: 6px;
    background: #d62832;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.nisan-home .nh-cta a:hover,
.nisan-home .nh-cta .nh-btn:hover {
    transform: translateY(-2px);
    background: #b91f29;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.nisan-home .nh-cta a:focus-visible,
.nisan-home .nh-cta .nh-btn:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 4px;
}

/* Deuxième bouton, si le HTML possède cette classe */
.nisan-home .nh-cta .nh-btn-outline,
.nisan-home .nh-cta a.nh-btn-secondary {
    border-color: rgba(255, 255, 255, 0.75);
    background: transparent;
    color: #ffffff;
}

.nisan-home .nh-cta .nh-btn-outline:hover,
.nisan-home .nh-cta a.nh-btn-secondary:hover {
    border-color: #ffffff;
    background: #ffffff;
    color: #102b4e;
}

/* BANDE DE CONTACT */
.nisan-home .nh-contact-strip {
    position: relative;
    padding: 34px 0;
    background: #ffffff;
    border-bottom: 1px solid #e5eaf1;
}

.nisan-home .nh-contact-strip .nh-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
}

.nisan-home .nh-contact-strip h2,
.nisan-home .nh-contact-strip h3 {
    margin: 0 0 8px;
    color: #102b4e;
    font-family: "Saira", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
}

.nisan-home .nh-contact-strip p {
    margin: 0;
    color: #5c6878;
    font-size: 15px;
    line-height: 1.75;
}

/* Coordonnées */
.nisan-home .nh-contact-strip a {
    color: #102b4e;
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 0.2s ease;
}

.nisan-home .nh-contact-strip a:hover {
    color: #d62832;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Boutons de contact */
.nisan-home .nh-contact-strip .nh-btn,
.nisan-home .nh-contact-strip a.nh-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 12px 22px;
    border: 2px solid #102b4e;
    border-radius: 6px;
    background: #102b4e;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: all 0.25s ease;
}

.nisan-home .nh-contact-strip .nh-btn:hover,
.nisan-home .nh-contact-strip a.nh-contact-btn:hover {
    border-color: #d62832;
    background: #d62832;
    color: #ffffff;
    transform: translateY(-2px);
}

/* Tablettes */
@media (max-width: 992px) {
    .nisan-home .nh-cta {
        padding: 65px 0;
    }

    .nisan-home .nh-contact-strip .nh-container {
        gap: 20px;
    }
}

/* Téléphones */
@media (max-width: 576px) {
    .nisan-home .nh-cta {
        padding: 52px 0;
    }

    .nisan-home .nh-cta h2 {
        font-size: 30px;
    }

    .nisan-home .nh-cta p {
        font-size: 15px;
        line-height: 1.75;
    }

    .nisan-home .nh-cta .nh-actions,
    .nisan-home .nh-cta .nh-buttons,
    .nisan-home .nh-cta .nh-btn-group {
        flex-direction: column;
        align-items: stretch;
    }

    .nisan-home .nh-cta a,
    .nisan-home .nh-cta .nh-btn {
        width: 100%;
    }

    .nisan-home .nh-contact-strip {
        padding: 27px 0;
    }

    .nisan-home .nh-contact-strip .nh-container {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

    .nisan-home .nh-contact-strip h2,
    .nisan-home .nh-contact-strip h3 {
        font-size: 20px;
    }

    .nisan-home .nh-contact-strip .nh-btn,
    .nisan-home .nh-contact-strip a.nh-contact-btn {
        width: 100%;
    }
}

/* Accessibilité : limiter les animations si demandé */
@media (prefers-reduced-motion: reduce) {
    .nisan-home .nh-cta a,
    .nisan-home .nh-cta .nh-btn,
    .nisan-home .nh-contact-strip a {
        transition: none;
    }

    .nisan-home .nh-cta a:hover,
    .nisan-home .nh-cta .nh-btn:hover,
    .nisan-home .nh-contact-strip a:hover {
        transform: none;
    }
}

/* =========================================================
   NISAN CORPORATION — FOOTER
   Harmonisation visuelle et affichage responsive
   ========================================================= */

/* Conteneur général du pied de page */
.nisan-home .nh-footer {
    position: relative;
    padding: 58px 0 0;
    background: #081a30;
    color: #ffffff;
    border-top: 4px solid #d62832;
}

/* Titres du footer */
.nisan-home .nh-footer h2,
.nisan-home .nh-footer h3,
.nisan-home .nh-footer h4 {
    margin: 0 0 18px;
    color: #ffffff;
    font-family: "Saira", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

/* Textes */
.nisan-home .nh-footer p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    line-height: 1.85;
}

/* Liens */
.nisan-home .nh-footer a {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 0.2s ease;
}

.nisan-home .nh-footer a:hover {
    color: #ff626b;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Listes de liens */
.nisan-home .nh-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nisan-home .nh-footer li {
    margin-bottom: 11px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.7;
}

/* Icônes */
.nisan-home .nh-footer i,
.nisan-home .nh-footer svg {
    color: #ff4b55;
}

/* Logo éventuel */
.nisan-home .nh-footer img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Zone inférieure : copyright et liens légaux */
.nisan-home .nh-footer-bottom {
    margin-top: 42px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.12);
}

.nisan-home .nh-footer-bottom p {
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
}

/* Liens de la zone inférieure */
.nisan-home .nh-footer-bottom a {
    display: inline-block;
    margin: 3px 10px 3px 0;
    font-size: 13px;
}

/* Accessibilité au clavier */
.nisan-home .nh-footer a:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 4px;
    border-radius: 2px;
}

/* Tablettes */
@media (max-width: 992px) {
    .nisan-home .nh-footer {
        padding-top: 45px;
    }

    .nisan-home .nh-footer-bottom {
        margin-top: 30px;
    }
}

/* Téléphones */
@media (max-width: 576px) {
    .nisan-home .nh-footer {
        padding-top: 36px;
    }

    .nisan-home .nh-footer h2,
    .nisan-home .nh-footer h3,
    .nisan-home .nh-footer h4 {
        font-size: 19px;
        margin-bottom: 13px;
    }

    .nisan-home .nh-footer p,
    .nisan-home .nh-footer li {
        font-size: 14px;
    }

    .nisan-home .nh-footer-bottom {
        margin-top: 22px;
        padding: 18px 0;
    }

    .nisan-home .nh-footer-bottom p {
        font-size: 12px;
    }
}

/* Réduction des animations */
@media (prefers-reduced-motion: reduce) {
    .nisan-home .nh-footer a {
        transition: none;
    }
}
