:root {
    --paper: #f5f1ea;
    --paper-2: #fffaf2;
    --white: #ffffff;
    --ink: #101820;
    --muted: #5d6673;
    --soft: #ebe6dd;
    --line: #ded8ce;
    --orange: #d66a31;
    --orange-dark: #b75224;
    --navy: #071725;
    --navy-2: #0a2236;
    --blue: #125cff;
    --radius: 22px;
    --shadow: 0 26px 70px rgba(16, 24, 32, .12);
    --shadow-soft: 0 18px 55px rgba(16, 24, 32, .08);
    --container: 1400px;
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--paper);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility
}

img {
    max-width: 100%;
    display: block
}

a {
    color: inherit;
    text-decoration: none
}

button, input, textarea, select {
    font: inherit
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 14px;
    background: var(--ink);
    color: #fff;
    padding: 10px 14px;
    z-index: 1000;
    border-radius: 8px
}

.skip-link:focus {
    left: 14px
}

.container {
    width: min(var(--container), calc(100% - 48px));
    margin-inline: auto
}

.section-pad {
    padding: 20px 0
}

.eyebrow {
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--orange)
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    border-radius: 6px;
    padding: 17px 24px;
    font-weight: 900;
    font-size: 14px;
    letter-spacing: -.01em;
    border: 1px solid transparent;
    transition: .22s ease;
    white-space: nowrap
}

.btn:hover {
    transform: translateY(-2px)
}

.btn-dark {
    background: #080c10;
    color: #fff;
    box-shadow: 0 14px 25px rgba(0, 0, 0, .18)
}

.btn-dark:hover {
    background: var(--orange)
}

.btn-primary {
    background: var(--orange);
    color: #fff
}

.btn-primary:hover {
    background: var(--orange-dark)
}

.btn-light {
    background: #fff;
    color: var(--ink);
    border-color: #aeb5bd
}

.btn-light:hover {
    border-color: var(--ink);
    box-shadow: var(--shadow-soft)
}

.btn-outline {
    border: 1px solid rgba(255, 255, 255, .28);
    color: #fff;
    background: transparent
}

.btn-outline:hover {
    background: #fff;
    color: var(--navy)
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(245, 241, 234, .84);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(16, 24, 32, .08)
}

.header-inner {
    height: 88px;
    display: flex;
    align-items: center;
    gap: 34px
}
/* ===============================
   HEADER NESCIO
================================ */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(248, 245, 239, 0.88);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(20, 32, 51, 0.08);
}

.header-inner {
    max-width: 1400px;
    height: 78px;
    margin: 0 auto;
    padding: 0 28px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 34px;
}

/* LOGO */

.brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.brand img {
    display: block;
    width: 220px;
    height: auto;
    object-fit: contain;
}


.main-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 15px;
    border-radius: 999px;
    color: #142033;
    font-size: 14px;
    font-weight: 850;
    letter-spacing: -0.02em;
    text-decoration: none;
    white-space: nowrap;
    transition: background .22s ease, color .22s ease, transform .22s ease;
}

.main-nav a:hover {
    color: #d96731;
    transform: translateY(-1px);
}

/* ACTIONS */

.header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 12px;
}

.header-cta {
    min-height: 48px;
    padding: 0 21px;
    border-radius: 14px;
    background: #101820;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(16, 24, 32, 0.14);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.header-cta:hover {
    background: #1a2633;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(16, 24, 32, 0.18);
}

.header-cta i {
    font-size: 13px;
    transition: transform .22s ease;
}

.header-cta:hover i {
    transform: translateX(3px);
}

/* BURGER */

.burger {
    display: none;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(20, 32, 51, 0.10);
    border-radius: 14px;
    background: #ffffff;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
}

.burger span {
    width: 21px;
    height: 2px;
    border-radius: 999px;
    background: #142033;
    transition: transform .22s ease;
}

.site-header.menu-open .burger span:first-child {
    transform: translateY(4.5px) rotate(45deg);
}

.site-header.menu-open .burger span:last-child {
    transform: translateY(-4.5px) rotate(-45deg);
}

/* MOBILE MENU */

.mobile-menu {
    display: none;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: rgba(248, 245, 239, 0.98);
    border-bottom: 1px solid rgba(20, 32, 51, 0.08);
}

.mobile-menu-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 18px 28px 24px;
    display: grid;
    gap: 10px;
}

.mobile-menu a {
    min-height: 52px;
    padding: 0 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(20, 32, 51, 0.08);
    color: #142033;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 850;
    text-decoration: none;
}

.mobile-cta {
    margin-top: 8px;
    background: #101820 !important;
    color: #ffffff !important;
    border-color: #101820 !important;
}

/* SCROLLED STATE */

.site-header.is-scrolled {
    background: rgba(248, 245, 239, 0.96);
}

.site-header.is-scrolled .header-inner {
    height: 70px;
}

.site-header.is-scrolled .brand img {
    width: 200px;
}

/* RESPONSIVE */

@media (max-width: 1120px) {
    .brand img {
        width: 198px;
    }

    .main-nav a {
        padding: 0 12px;
        font-size: 13px;
    }

    .header-cta {
        padding: 0 17px;
    }
}

@media (max-width: 960px) {
    .header-inner {
        height: 72px;
        grid-template-columns: auto auto;
        gap: 20px;
    }

    .main-nav,
    .header-cta {
        display: none;
    }

    .burger {
        display: inline-flex;
    }

    .mobile-menu {
        top: 72px;
    }

    .site-header.menu-open .mobile-menu {
        display: block;
    }

    .site-header.is-scrolled .header-inner {
        height: 68px;
    }

    .site-header.is-scrolled .mobile-menu {
        top: 68px;
    }
}

@media (max-width: 560px) {
    .header-inner {
        padding: 0 16px;
    }

    .brand img {
        width: 172px;
    }

    .site-header.is-scrolled .brand img {
        width: 162px;
    }

    .mobile-menu-inner {
        padding: 16px 16px 22px;
    }
}
.brand {
    display: flex;
    align-items: center;
    min-width: 205px
}

.main-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14px;
    font-weight: 850
}

.main-nav a {
    position: relative
}

.main-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: .2s
}

.main-nav a:hover::after {
    transform: scaleX(1)
}

.header-cta {
    padding: 14px 18px
}

.burger {
    display: none;
    margin-left: auto;
    width: 46px;
    height: 46px;
    border: 0;
    background: var(--ink);
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex-direction: column
}

.burger span {
    width: 20px;
    height: 2px;
    background: #fff;
    display: block
}

.hero {
    min-height: 820px;
    display: flex;
    align-items: center;
    background: radial-gradient(800px 460px at 72% 22%, rgba(214, 106, 49, .13), transparent 60%), linear-gradient(180deg, #faf7f1 0%, var(--paper) 100%);
    overflow: hidden
}

.hero-grid {
    display: flex;
    gap: 70px;
    align-items: center
}

.hero-copy h1 {
    font-family: "Barlow Condensed", Inter, sans-serif;
    font-size: clamp(62px, 6.4vw, 95px);
    line-height: .87;
    letter-spacing: -.035em;
    text-transform: uppercase;
    margin: 0 0 26px;
    max-width: 720px
}

.hero-lead {
    font-size: 18px;
    line-height: 1.75;
    color: #303946;
    max-width: 640px;
    margin: 0 0 31px
}

.hero-lead strong {
    font-weight: 900
}

.hero-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 62px
}

.hero-proof {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 22px;
    max-width: 660px
}

.hero-proof div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start
}

.hero-proof img {
    width: 28px;
    height: 28px;
    color: var(--ink);
    opacity: .8
}

.hero-proof strong {
    font-size: 14px
}

.hero-proof span {
    font-size: 12px;
    color: var(--muted);
    font-weight: 700
}

.hero-visual {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-project {
    position: absolute;
    width: 32%;
    min-width: 230px;
    height: 93%;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 35px 70px rgba(16, 24, 32, .25);
    border: 1px solid rgba(16, 24, 32, .16)
}
.hero-visual img {
    width: 119%;
    max-width: 119%;
    margin: -10%;
}
.hero-project img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

.hero-project-1 {
    left: 0;
    top: 8%;
    transform: rotate(-2deg);
    z-index: 2
}

.hero-project-2 {
    left: 31%;
    top: 0;
    height: 98%;
    z-index: 4
}

.hero-project-3 {
    right: 0;
    top: 7%;
    transform: rotate(2deg);
    z-index: 3
}

.method {
    padding: 90px 0;
    background: #fff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line)
}

.section-heading.centered {
    text-align: center;
    margin: 0 auto 58px
}

.section-heading h2 {
    font-size: clamp(36px, 4vw, 56px);
    line-height: 1;
    margin: 0 0 14px;
    letter-spacing: -.045em
}

.section-heading p {
    color: var(--muted);
    font-size: 17px;
    margin: 0
}

.steps-grid {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 24px;
    position: relative
}

.steps-grid::before {
    content: "";
    position: absolute;
    top: 62px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--orange), transparent);
    opacity: .7
}

.step-card {
    position: relative;
    z-index: 1;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 32px 26px 30px;
    box-shadow: 0 10px 35px rgba(16, 24, 32, .04)
}

.step-number {
    position: absolute;
    top: -15px;
    left: 28px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--orange);
    color: #fff;
    font-weight: 900
}

.step-card img {
    width: 46px;
    height: 46px;
    margin: 8px 0 28px;
    color: var(--ink)
}

.step-card h3 {
    font-size: 19px;
    line-height: 1.12;
    margin: 0 0 13px;
    letter-spacing: -.03em
}

.step-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65
}

.method-cta {
    text-align: center;
    margin-top: 40px
}
.step-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(236, 105, 43, 0.10);
    color: #ec692b;
    font-size: 22px;
    margin-bottom: 22px;
}

.method-cta {
    margin-top: 42px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.method-cta-note {
    margin: 0;
    font-size: 14px;
    color: #667085;
    font-weight: 600;
}
.steps-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px; /* garde ton gap actuel si tu en avais un autre */
}

.step-card {
    min-width: 0;
}


@media (max-width: 1200px) {
    .steps-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 768px) {
    .steps-grid {
        grid-template-columns: 1fr;
    }
}
/* ===============================
   OFFER CLARITY SECTION — LIGHT / TRUST
================================ */

.offer-clarity {
    position: relative;
    padding: 110px 0;
    background:
            radial-gradient(circle at 8% 8%, rgba(217, 103, 49, 0.06), transparent 30%),
            radial-gradient(circle at 92% 12%, rgba(37, 99, 235, 0.055), transparent 32%),
            linear-gradient(180deg, #ffffff 0%, #f7f4ee 100%);
    overflow: hidden;
}

.offer-clarity .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 28px;
}

.offer-clarity-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 58px;
    align-items: center;
}

.offer-clarity-content .eyebrow {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #d96731;
}

.offer-clarity-content h2 {
    margin: 0;
    max-width: 720px;
    font-size: clamp(42px, 4.1vw, 52px);
    line-height: .94;
    letter-spacing: -0.06em;
    color: #142033;
}

.offer-clarity-intro {
    margin: 28px 0 0;
    max-width: 700px;
    font-size: 18px;
    line-height: 1.7;
    color: #5f6775;
}

.offer-clarity-points {
    margin-top: 42px;
    display: grid;
    gap: 16px;
}

.clarity-point {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    align-items: flex-start;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(20, 32, 51, 0.10);
    box-shadow: none;
}

.clarity-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff1e9;
    color: #d96731;
    font-size: 22px;
}

.clarity-point h3 {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.15;
    letter-spacing: -0.04em;
    color: #142033;
}

.clarity-point p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: #667085;
}

.offer-clarity-actions {
    margin-top: 36px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.offer-clarity-actions span {
    font-size: 14px;
    font-weight: 700;
    color: #667085;
}

.offer-clarity-card {
    position: relative;
    padding: 26px;
    border-radius: 34px;
    background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.66)),
            linear-gradient(135deg, #f9fafb 0%, #eef4ff 100%);
    border: 1px solid rgba(20, 32, 51, 0.11);
    box-shadow: none;
}

.offer-clarity-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    pointer-events: none;
}

.comparison-block,
.price-recap {
    position: relative;
    z-index: 1;
}

.comparison-block {
    padding: 24px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(20, 32, 51, 0.10);
    box-shadow: none;
}

.comparison-block + .comparison-block {
    margin-top: 16px;
}

.comparison-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(20, 32, 51, 0.08);
}

.comparison-head span {
    font-size: 18px;
    font-weight: 950;
    letter-spacing: -0.04em;
    color: #142033;
}

.comparison-head i {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.comparison-block.bad .comparison-head i {
    background: #fff1e9;
    color: #d96731;
}

.comparison-block.good .comparison-head i {
    background: #eaf8f0;
    color: #15803d;
}

.comparison-block ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.comparison-block li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    color: #475467;
}

.comparison-block.bad li i {
    color: #d96731;
}

.comparison-block.good li i {
    color: #15803d;
}

.price-recap {
    margin-top: 18px;
    padding: 26px;
    border-radius: 24px;
    background: linear-gradient(135deg, #ffffff 0%, #f3f7ff 100%);
    border: 1px solid rgba(20, 32, 51, 0.10);
    color: #142033;
    box-shadow: none;
}

.price-label {
    display: inline-flex;
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #d96731;
}

.price-line {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.price-line strong {
    font-size: 62px;
    line-height: .9;
    letter-spacing: -0.07em;
    color: #142033;
}

.price-line small {
    font-size: 20px;
    font-weight: 800;
    color: #667085;
}

.price-recap p {
    margin: 16px 0 0;
    max-width: 430px;
    font-size: 15px;
    line-height: 1.65;
    color: #667085;
}

@media (max-width: 1080px) {
    .offer-clarity-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .offer-clarity-content h2,
    .offer-clarity-intro {
        max-width: none;
    }
}

@media (max-width: 720px) {
    .offer-clarity {
        padding: 80px 0;
    }

    .offer-clarity .container {
        padding: 0 18px;
    }

    .offer-clarity-content h2 {
        font-size: 42px;
    }

    .offer-clarity-intro {
        font-size: 16px;
    }

    .clarity-point {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .offer-clarity-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .offer-clarity-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .offer-clarity-card {
        padding: 18px;
        border-radius: 26px;
    }

    .comparison-block,
    .price-recap {
        padding: 20px;
        border-radius: 20px;
    }

    .price-line strong {
        font-size: 52px;
    }
}

.portfolio {
    background: linear-gradient(180deg, var(--paper) 0%, #f9f6ef 100%)
}

.portfolio-layout {
    display: grid;
    grid-template-columns:340px 1fr;
    gap: 54px;
    align-items: start
}

.portfolio-intro {
    position: sticky;
    top: 130px
}

.portfolio-intro h2 {
    font-size: clamp(36px, 3.2vw, 54px);
    line-height: 1.03;
    letter-spacing: -.045em;
    margin: 0 0 20px
}

.portfolio-intro p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 30px
}
/* ===============================
   PORTFOLIO SUR MESURE — 5 PROJECTS
================================ */

.portfolio {
    position: relative;
    padding: 115px 0;
    background:
            radial-gradient(circle at 8% 4%, rgba(217, 103, 49, 0.07), transparent 30%),
            linear-gradient(180deg, #f7f4ee 0%, #ffffff 52%, #f7f4ee 100%);
    overflow: hidden;
}

.portfolio .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 28px;
}

.portfolio-header {
    display: grid;
    grid-template-columns: 1.08fr 0.72fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 34px;
}

.portfolio-header h2 {
    margin: 0;
    max-width: 850px;
    font-size: clamp(44px, 4.2vw, 76px);
    line-height: .9;
    letter-spacing: -0.065em;
    color: #111820;
}

.portfolio-header-text {
    display: grid;
    gap: 22px;
    justify-items: start;
}

.portfolio-header-text p {
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
    color: #5f6775;
}

.portfolio-proof-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 42px;
}

.portfolio-proof-row div {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 62px;
    padding: 0 20px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(20, 32, 51, 0.09);
}

.portfolio-proof-row i {
    color: #d96731;
    font-size: 18px;
}

.portfolio-proof-row span {
    font-size: 14px;
    font-weight: 850;
    color: #253044;
}

/* PROJECT GRID */

.project-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.project-card {
    overflow: hidden;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(20, 32, 51, 0.10);
}

.project-image {
    position: relative;
    display: block;
    height: 520px;
    overflow: hidden;
    background: #eef1f4;
    border-bottom: 1px solid rgba(20, 32, 51, 0.08);
}

.project-image img {
    width: 100%;
    height: auto;
    min-height: 100%;
    display: block;
    transform: translateY(0);
    transition: transform 5.5s ease;
}

.project-card:hover .project-image img {
    transform: translateY(-24%);
}

.project-sector {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(17, 24, 32, 0.84);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    backdrop-filter: blur(12px);
}

.project-content {
    padding: 22px;
}

.project-content-top {
    display: grid;
    gap: 14px;
    align-items: start;
}

.project-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 15px;
    background: #fff1e9;
    color: #d96731;
    font-weight: 950;
    font-size: 14px;
}

.project-content h3 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1;
    letter-spacing: -0.055em;
    color: #111820;
}

.project-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #667085;
}

.project-tags {
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.project-tags li {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f4f6f8;
    color: #475467;
    font-size: 11px;
    font-weight: 800;
}

.project-link {
    margin-top: 22px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #111820;
    font-size: 14px;
    font-weight: 950;
    text-decoration: none;
}

.project-link i {
    color: #d96731;
    transition: transform .22s ease;
}

.project-link:hover i {
    transform: translateX(4px);
}

/* BOTTOM CTA */

.portfolio-bottom {
    margin-top: 42px;
    padding: 34px;
    border-radius: 30px;
    background:
            linear-gradient(135deg, rgba(17, 24, 32, 0.96), rgba(25, 38, 52, 0.94));
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    align-items: center;
}

.portfolio-bottom h3 {
    margin: 0;
    max-width: 720px;
    font-size: clamp(30px, 2.5vw, 46px);
    line-height: .98;
    letter-spacing: -0.055em;
    color: #fff;
}

.portfolio-bottom p:not(.eyebrow) {
    margin: 14px 0 0;
    max-width: 680px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 16px;
    line-height: 1.6;
}

.portfolio-bottom .eyebrow {
    color: #f3b08b;
}

/* RESPONSIVE */

@media (max-width: 1280px) {
    .project-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    .project-image {
        height: 600px;
    }
}

@media (max-width: 1120px) {
    .portfolio-header {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .portfolio-bottom {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

@media (max-width: 860px) {
    .project-grid {
        grid-template-columns: 1fr;
    }

    .project-image {
        height: 620px;
    }
}

@media (max-width: 760px) {
    .portfolio {
        padding: 80px 0;
    }

    .portfolio .container {
        padding: 0 18px;
    }

    .portfolio-header h2 {
        font-size: 42px;
    }

    .portfolio-header-text p {
        font-size: 16px;
    }

    .portfolio-proof-row {
        grid-template-columns: 1fr;
    }

    .project-image {
        height: 540px;
    }

    .project-content {
        padding: 22px;
    }

    .portfolio-bottom {
        padding: 26px;
        border-radius: 24px;
    }
}
.project-slider-wrap {
    position: relative;
}

.project-swiper {
    overflow: visible;
}
.swiper{
    overflow: visible!important;
}
.project-swiper .swiper-wrapper {
    align-items: stretch;
}

.project-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.project-swiper .project-card {
    width: 100%;
    height: 100%;
}

.project-slider-bottom {
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.project-slider-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.project-swiper-prev,
.project-swiper-next {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(20, 32, 51, 0.12);
    background: #ffffff;
    color: #111820;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.project-swiper-prev:hover,
.project-swiper-next:hover {
    background: #111820;
    color: #ffffff;
}

.project-swiper-pagination {
    position: static;
    width: auto !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.project-swiper-pagination .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    margin: 0 !important;
    opacity: 1;
    background: rgba(17, 24, 32, 0.18);
}

.project-swiper-pagination .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 999px;
    background: #d96731;
}

@media (max-width: 760px) {
    .project-slider-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .project-swiper-prev,
    .project-swiper-next {
        width: 44px;
        height: 44px;
    }
}
.project-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 28px
}

.project-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    transition: .25s
}

.project-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow)
}

.project-image {
    display: block;
    position: relative;
    height: 340px;
    overflow: hidden;
    background: #f5f5f5;
    border-bottom: 1px solid var(--line)
}

.project-image img {
    width: 100%;
    height: auto;
    min-height: 100%;
    object-fit: cover;
    object-position: top;
    transition: transform 5s ease
}

.project-card:hover .project-image img {
    transform: translateY(calc(-100% + 620px))
}

.project-content {
    padding: 24px
}

.project-content h3 {
    font-size: 22px;
    margin: 0 0 4px;
    letter-spacing: -.03em
}

.project-content span {
    color: var(--orange);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.project-content p {
    font-size: 14px;
    color: var(--muted);
    line-height: 1.62;
    margin: 0 0 18px
}

.project-content a {
    font-weight: 900;
    font-size: 13px
}

.project-content a i {
    margin-left: 6px
}
/* ===============================
   CUSTOM FIT SECTION
================================ */

.custom-fit {
    padding: 110px 0;
    background:
            radial-gradient(circle at 10% 8%, rgba(217, 103, 49, 0.055), transparent 30%),
            radial-gradient(circle at 92% 18%, rgba(53, 91, 115, 0.055), transparent 32%),
            linear-gradient(180deg, #ffffff 0%, #f7f4ee 100%);
}

.custom-fit .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 28px;
}

.custom-fit-inner {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 64px;
    align-items: center;
}

.custom-fit-copy .eyebrow {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #d96731;
}

.custom-fit-copy h2 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(42px, 4vw, 68px);
    line-height: .95;
    letter-spacing: -0.06em;
    color: #142033;
}

.custom-fit-intro {
    margin: 28px 0 0;
    max-width: 660px;
    font-size: 18px;
    line-height: 1.7;
    color: #5f6775;
}

.custom-fit-actions {
    margin-top: 34px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.custom-fit-actions span {
    font-size: 14px;
    font-weight: 700;
    color: #667085;
}

/* EXAMPLES */

.custom-fit-examples {
    display: grid;
    gap: 14px;
}

.fit-example {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    align-items: flex-start;
    padding: 22px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(20, 32, 51, 0.10);
    border-left: 4px solid rgba(217, 103, 49, 0.65);
}

.fit-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff1e9;
    color: #d96731;
    font-size: 21px;
}

.fit-text span {
    display: block;
    margin-bottom: 7px;
    font-size: 19px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: #142033;
}

.fit-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #667085;
}

/* BOTTOM FLOW */

.custom-fit-bottom {
    grid-column: 1 / -1;
    margin-top: 10px;
    padding: 24px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(20, 32, 51, 0.10);
    display: grid;
    grid-template-columns: 1fr 70px 1fr 70px 1fr;
    align-items: center;
    gap: 18px;
}

.fit-step {
    display: flex;
    align-items: center;
    gap: 14px;
}

.fit-step strong {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #142033;
    color: #fff;
    font-size: 14px;
    font-weight: 950;
}

.fit-step span {
    font-size: 15px;
    line-height: 1.25;
    font-weight: 850;
    color: #142033;
}

.fit-line {
    height: 1px;
    background: linear-gradient(
            90deg,
            rgba(217, 103, 49, 0),
            rgba(217, 103, 49, .55),
            rgba(217, 103, 49, 0)
    );
}

/* RESPONSIVE */

@media (max-width: 1080px) {
    .custom-fit-inner {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .custom-fit-copy h2,
    .custom-fit-intro {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .custom-fit {
        padding: 80px 0;
    }

    .custom-fit .container {
        padding: 0 18px;
    }

    .custom-fit-copy h2 {
        font-size: 42px;
    }

    .custom-fit-intro {
        font-size: 16px;
    }

    .fit-example {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .custom-fit-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .custom-fit-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .custom-fit-bottom {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .fit-line {
        width: 1px;
        height: 24px;
        justify-self: 23px;
        background: linear-gradient(
                180deg,
                rgba(217, 103, 49, 0),
                rgba(217, 103, 49, .55),
                rgba(217, 103, 49, 0)
        );
    }
}
/* ===============================
   OFFER REFONTE — RUPTURE ORANGE
================================ */

.offer-refonte {
    position: relative;
    padding: 118px 0;
    overflow: hidden;
    background:
            radial-gradient(circle at 12% 8%, rgba(255, 255, 255, 0.28), transparent 30%),
            radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.18), transparent 34%),
            linear-gradient(135deg, #cf5f2d 0%, #de7338 46%, #ef9a5f 100%);
}

.offer-refonte::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
            linear-gradient(120deg, rgba(255, 255, 255, 0.20), transparent 42%),
            repeating-linear-gradient(
                    -45deg,
                    rgba(255, 255, 255, 0.06) 0,
                    rgba(255, 255, 255, 0.06) 1px,
                    transparent 1px,
                    transparent 18px
            );
    pointer-events: none;
}

.offer-refonte .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 28px;
}

.offer-refonte-inner {
    position: relative;
    z-index: 1;
}

.offer-refonte-head {
    max-width: 980px;
    margin-bottom: 56px;
}

.offer-refonte-head .eyebrow {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.offer-refonte-head h2 {
    margin: 0;
    max-width: 960px;
    color: #ffffff;
    font-size: clamp(44px, 4.4vw, 78px);
    line-height: .9;
    letter-spacing: -0.07em;
}

.offer-refonte-head p {
    margin: 26px 0 0;
    max-width: 760px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 18px;
    line-height: 1.7;
}

/* LAYOUT */

.offer-refonte-body {
    display: grid;
    grid-template-columns: 1fr 470px;
    gap: 34px;
    align-items: stretch;
}

/* LEFT PATH */

.offer-path {
    padding: 30px;
    border-radius: 36px;
    background: rgba(255, 255, 255, 0.20);
    border: 1px solid rgba(255, 255, 255, 0.34);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.offer-path-title {
    margin-bottom: 24px;
}

.offer-path-title span {
    display: inline-flex;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.offer-path-title h3 {
    margin: 0;
    max-width: 720px;
    color: #ffffff;
    font-size: clamp(30px, 2.8vw, 48px);
    line-height: .96;
    letter-spacing: -0.055em;
}

.offer-path-steps {
    display: grid;
    gap: 14px;
}

.offer-path-step {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    align-items: flex-start;
    padding: 22px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.55);
}

.offer-path-step .step-number {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d96731;
    background: #fff1e9;
    font-size: 15px;
    font-weight: 950;
}

.offer-path-step h4 {
    margin: 0 0 8px;
    color: #142033;
    font-size: 22px;
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.offer-path-step p {
    margin: 0;
    max-width: 720px;
    color: #5f6775;
    font-size: 15px;
    line-height: 1.62;
}

.offer-path-step.highlighted {
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.90);
}

.offer-path-step.highlighted .step-number {
    background: #d96731;
    color: #ffffff;
}

/* PRICE CARD */

.offer-price-card {
    align-self: start;
    position: sticky;
    top: 110px;
    padding: 28px;
    border-radius: 36px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.70);
}

.price-card-header {
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(20, 32, 51, 0.10);
}

.price-kicker {
    display: inline-flex;
    margin-bottom: 16px;
    color: #d96731;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.price-value {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.price-value strong {
    color: #142033;
    font-size: 78px;
    line-height: .85;
    letter-spacing: -0.08em;
}

.price-value span {
    color: #667085;
    font-size: 21px;
    font-weight: 850;
}

.price-card-header p {
    margin: 16px 0 0;
    color: #667085;
    font-size: 15px;
    line-height: 1.55;
}

/* VALIDATION */

.validation-box {
    margin-top: 22px;
    padding: 18px;
    border-radius: 24px;
    background: #fff6ef;
    border: 1px solid rgba(217, 103, 49, 0.22);
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
}

.validation-box i {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d96731;
    color: #ffffff;
}

.validation-box strong {
    display: block;
    margin-bottom: 4px;
    color: #142033;
    font-size: 16px;
}

.validation-box span {
    display: block;
    color: #6f5848;
    font-size: 14px;
    line-height: 1.5;
}

/* INCLUDED */

.included-box {
    margin-top: 24px;
}

.included-box h3 {
    margin: 0 0 16px;
    color: #142033;
    font-size: 22px;
    line-height: 1;
    letter-spacing: -0.045em;
}

.included-grid {
    display: grid;
    gap: 10px;
}

.included-grid div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #475467;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 750;
}

.included-grid i {
    margin-top: 2px;
    color: #d96731;
}

.offer-refonte-cta {
    width: 100%;
    justify-content: center;
    margin-top: 28px;
    background: #142033;
    color: #ffffff;
    border-color: #142033;
}

.offer-refonte-cta:hover {
    background: #0f1826;
    border-color: #0f1826;
}

.price-note {
    margin: 14px 0 0;
    color: #667085;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}

/* RESPONSIVE */

@media (max-width: 1080px) {
    .offer-refonte-body {
        grid-template-columns: 1fr;
    }

    .offer-price-card {
        position: relative;
        top: auto;
    }
}

@media (max-width: 720px) {
    .offer-refonte {
        padding: 82px 0;
    }

    .offer-refonte .container {
        padding: 0 18px;
    }

    .offer-refonte-head {
        margin-bottom: 38px;
    }

    .offer-refonte-head h2 {
        font-size: 42px;
    }

    .offer-refonte-head p {
        font-size: 16px;
    }

    .offer-path,
    .offer-price-card {
        padding: 20px;
        border-radius: 28px;
    }

    .offer-path-step,
    .validation-box {
        grid-template-columns: 1fr;
    }

    .offer-path-title h3 {
        font-size: 30px;
    }

    .offer-path-step h4 {
        font-size: 21px;
    }

    .price-value strong {
        font-size: 64px;
    }
}
/* PATCH — corrige le conflit avec .step-number global */

.offer-refonte .offer-path-step {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: flex-start;
}

.offer-refonte .offer-path-step .step-number {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;

    width: 58px !important;
    height: 58px !important;
    min-width: 58px;
    border-radius: 18px;

    display: flex !important;
    align-items: center;
    justify-content: center;

    background: #fff1e9;
    color: #d96731;
    font-size: 15px;
    font-weight: 950;
    line-height: 1;
    box-shadow: none !important;
}

.offer-refonte .offer-path-step.highlighted .step-number {
    background: #d96731;
    color: #ffffff;
}

.offer-refonte .offer-path-step > div:not(.step-number) {
    min-width: 0;
}

.offer-refonte .offer-path-step h4 {
    max-width: none;
    margin: 0 0 8px;
    white-space: normal;
}

.offer-refonte .offer-path-step p {
    max-width: 720px;
    white-space: normal;
}

/* Mobile */

@media (max-width: 720px) {
    .offer-refonte .offer-path-step {
        grid-template-columns: 1fr;
    }

    .offer-refonte .offer-path-step .step-number {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px;
    }
}
/* ===============================
   REVIEWS SWIPER
================================ */

.reviews-swiper-section {
    padding: 110px 0;
    background:
            radial-gradient(circle at 12% 8%, rgba(217, 103, 49, 0.055), transparent 30%),
            radial-gradient(circle at 92% 18%, rgba(53, 91, 115, 0.055), transparent 32%),
            linear-gradient(180deg, #ffffff 0%, #f7f4ee 100%);
    overflow: hidden;
}

.reviews-swiper-section .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 28px;
}

.reviews-swiper-header {
    display: grid;
    grid-template-columns: 1fr 0.62fr;
    gap: 58px;
    align-items: end;
    margin-bottom: 42px;
}

.reviews-swiper-header .eyebrow {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #d96731;
}

.reviews-swiper-header h2 {
    margin: 0;
    max-width: 850px;
    font-size: clamp(42px, 4vw, 70px);
    line-height: .94;
    letter-spacing: -0.06em;
    color: #142033;
}

.reviews-swiper-intro {
    display: grid;
    gap: 24px;
    justify-items: start;
}

.reviews-swiper-intro p {
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #5f6775;
}

.reviews-swiper-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.reviews-swiper-prev,
.reviews-swiper-next {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(20, 32, 51, 0.12);
    background: #ffffff;
    color: #142033;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .22s ease, color .22s ease, transform .22s ease;
}

.reviews-swiper-prev:hover,
.reviews-swiper-next:hover {
    background: #142033;
    color: #ffffff;
    transform: translateY(-1px);
}

/* SWIPER */

.reviews-swiper-wrap {
    position: relative;
}

.reviews-swiper {
    overflow: visible;
}

.reviews-swiper .swiper-wrapper {
    align-items: stretch;
}

.reviews-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.review-slide-card {
    width: 100%;
    min-height: 335px;
    padding: 26px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(20, 32, 51, 0.10);
    display: flex;
    flex-direction: column;
}

.review-slide-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
}

.review-source {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 12px;
    font-weight: 900;
    color: #667085;
}

.google-mark {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(20, 32, 51, 0.10);
    color: #4285f4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
    font-family: Arial, sans-serif;
}

.stars {
    color: #f59e0b;
    letter-spacing: 1px;
    font-size: 14px;
    line-height: 1;
}

.review-slide-card p {
    margin: 0;
    color: #344054;
    font-size: 16px;
    line-height: 1.68;
    flex: 1;
}

.review-author {
    margin-top: 26px;
    padding-top: 18px;
    border-top: 1px solid rgba(20, 32, 51, 0.08);
    display: flex;
    align-items: center;
    gap: 12px;
}

.author-avatar {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    background: #fff1e9;
    color: #d96731;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
}

.review-author strong {
    display: block;
    color: #142033;
    font-size: 15px;
}

.review-author small {
    display: block;
    margin-top: 3px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
}

/* BOTTOM */

.reviews-swiper-bottom {
    margin-top: 30px;
    padding: 18px 20px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.reviews-swiper-pagination {
    position: static;
    width: auto !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.reviews-swiper-pagination .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    margin: 0 !important;
    opacity: 1;
    background: rgba(20, 32, 51, 0.18);
}

.reviews-swiper-pagination .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 999px;
    background: #d96731;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .reviews-swiper-header {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 760px) {
    .reviews-swiper-section {
        padding: 80px 0;
    }

    .reviews-swiper-section .container {
        padding: 0 18px;
    }

    .reviews-swiper-header h2 {
        font-size: 42px;
    }

    .reviews-swiper-intro p {
        font-size: 16px;
    }

    .review-slide-card {
        min-height: 310px;
        padding: 22px;
        border-radius: 26px;
    }

    .reviews-swiper-bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .reviews-swiper-bottom .btn {
        width: 100%;
        justify-content: center;
    }
}
/* ===============================
   FOOTER NESCIO
================================ */

.site-footer {
    padding: 72px 0 28px;
    background:radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.08), transparent 34%), linear-gradient(135deg, #b66e54 0%, #712408 46%, #823213 100%);
    color: #ffffff;
}

.site-footer .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 28px;
}

.footer-inner {
    display: grid;
    gap: 46px;
}

.footer-main {
    display: grid;
    grid-template-columns: 0.9fr 1.4fr;
    gap: 72px;
    align-items: start;
}

.footer-brand img {
    display: block;
    width: 196px;
    height: auto;
    filter: brightness(0) invert(1);
}

.footer-brand p {
    margin: 24px 0 0;
    max-width: 430px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 15px;
    line-height: 1.7;
}

.footer-socials {
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-socials a {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.14);
    transition: background .22s ease, transform .22s ease;
}

.footer-socials a:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: translateY(-2px);
}

.footer-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px;
}

.footer-nav h3 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer-nav a {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: color .22s ease, transform .22s ease;
}

.footer-nav a:hover {
    color: #ffffff;
    transform: translateX(3px);
}

.footer-nav a i {
    color: #f1a066;
    font-size: 13px;
}

.footer-cta {
    margin-top: 18px;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 14px;
    color: #3a1609 !important;
    background: #ffffff;
    font-weight: 950 !important;
}

.footer-cta i {
    color: #d96731 !important;
}

.footer-cta:hover {
    transform: translateY(-2px) !important;
}

.footer-bottom {
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
    font-weight: 650;
}

.footer-legal {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.footer-legal a {
    color: rgba(255, 255, 255, 0.58);
    text-decoration: none;
}

.footer-legal a:hover {
    color: #ffffff;
}

@media (max-width: 980px) {
    .footer-main {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .footer-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .site-footer {
        padding: 58px 0 24px;
    }

    .site-footer .container {
        padding: 0 18px;
    }

    .footer-brand img {
        width: 176px;
    }

    .footer-nav {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-legal {
        gap: 12px;
    }
}

@media (max-width: 1200px) {
    .hero-grid {
        grid-template-columns:1fr;
        gap: 40px
    }

    .hero-visual {
        height: 700px;
        min-height: 620px
    }

    .portfolio-layout {
        grid-template-columns:1fr
    }

    .portfolio-intro {
        position: relative;
        top: auto;
        display: grid;
        grid-template-columns:1fr auto;
        gap: 24px;
        align-items: end
    }

    .project-grid {
        grid-template-columns:repeat(3, 1fr)
    }

    .offer-grid {
        grid-template-columns:1fr 1fr
    }

    .reviews-grid {
        grid-template-columns:1fr 1fr
    }

    .why-grid {
        grid-template-columns:1fr
    }

    .footer-grid {
        grid-template-columns:1.2fr 1fr 1fr
    }
}

@media (max-width: 900px) {
    .container {
        width: min(100% - 32px, var(--container))
    }

    .header-inner {
        height: 76px
    }

    .main-nav, .header-cta {
        display: none
    }

    .burger {
        display: flex
    }

    .main-nav.is-open {
        display: flex;
        position: absolute;
        top: 76px;
        left: 16px;
        right: 16px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 18px;
        flex-direction: column;
        align-items: flex-start;
        box-shadow: var(--shadow)
    }

    .hero {
        min-height: auto;
        padding-top: 70px
    }

    .hero-copy h1 {
        font-size: 72px
    }

    .hero-proof {
        grid-template-columns:repeat(2, 1fr)
    }

    .hero-visual {
        height: 560px
    }

    .hero-project {
        width: 36%;
        min-width: 160px
    }

    .steps-grid {
        grid-template-columns:1fr 1fr
    }

    .steps-grid::before {
        display: none
    }

    .project-grid {
        grid-template-columns:1fr 1fr
    }

    .project-image {
        height: 520px
    }

    .project-card:hover .project-image img {
        transform: none
    }

    .offer-grid {
        grid-template-columns:1fr;
        padding: 34px
    }

    .price-block {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .18);
        padding-top: 28px
    }

    .offer-list {
        grid-template-columns:1fr
    }

    .final-inner {
        flex-direction: column;
        align-items: flex-start
    }

    .footer-grid {
        grid-template-columns:1fr 1fr
    }

    .portfolio-intro {
        display: block
    }

    .check-list.two-cols {
        grid-template-columns:1fr
    }
}

@media (max-width: 620px) {
    .hero-copy h1 {
        font-size: 56px
    }

    .hero-actions {
        flex-direction: column
    }

    .btn {
        width: 100%;
        padding: 16px 18px
    }

    .hero-visual {
        height: 430px
    }

    .hero-project {
        height: 88%;
        border-radius: 10px
    }

    .steps-grid, .project-grid, .reviews-grid {
        grid-template-columns:1fr
    }

    .project-image {
        height: 580px
    }

    .why-panel {
        padding: 20px;
        min-height: 420px
    }

    .floating-audit {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
        margin-bottom: 20px
    }

    .why-panel img {
        width: 100%
    }

    .palette {
        position: relative;
        right: auto;
        top: auto;
        margin-top: 18px;
        width: max-content
    }

    .offer-grid {
        border-radius: 0;
        margin-inline: -16px
    }

    .footer-grid {
        grid-template-columns:1fr
    }

    .footer-bottom {
        flex-direction: column
    }

    .hero-proof {
        grid-template-columns:1fr 1fr
    }

    .reviews-score h2 {
        font-size: 34px
    }
}
/* ===============================
   COOKIE POPUP
================================ */

.popup {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 9999;

    width: min(420px, calc(100% - 48px));
    padding: 24px;

    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(20, 32, 51, 0.12);
    border-radius: 24px;

    box-shadow: 0 24px 60px rgba(20, 32, 51, 0.16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    color: #142033;
}

.popup h2 {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.05;
    letter-spacing: -0.045em;
    color: #142033;
}

.popup p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #667085;
}

.popup-buttons {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.popup-button {
    min-height: 44px;
    padding: 0 18px;
    border-radius: 14px;
    border: 1px solid rgba(20, 32, 51, 0.12);

    font-size: 14px;
    font-weight: 850;
    cursor: pointer;

    transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

#accept {
    background: #142033;
    color: #ffffff;
    border-color: #142033;
}

#accept:hover {
    background: #1d2c40;
    transform: translateY(-1px);
}

#refuse {
    background: #ffffff;
    color: #142033;
}

#refuse:hover {
    background: #f7f4ee;
    transform: translateY(-1px);
}

/* Si tu caches/affiches la popup en JS */
.popup.is-hidden {
    display: none;
}

/* Mobile */
@media (max-width: 560px) {
    .popup {
        left: 14px;
        right: 14px;
        bottom: 14px;
        width: auto;
        padding: 20px;
        border-radius: 22px;
    }

    .popup-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .popup-button {
        width: 100%;
    }
}
/* =========================================================
   PAGE NOTRE MÉTHODE — NESCIO
   Contenu uniquement, sans header/footer
========================================================= */

.method-page {
    --mp-navy: #142033;
    --mp-orange: #d96731;
    --mp-orange-soft: #fff1e9;
    --mp-cream: #f7f4ee;
    --mp-white: #ffffff;
    --mp-text: #5f6775;
    --mp-border: rgba(20, 32, 51, 0.10);

    background: var(--mp-cream);
    color: var(--mp-navy);
}

.method-page .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 28px;
}

.method-page .section-pad {
    padding: 104px 0;
}

.method-eyebrow {
    margin: 0 0 14px;
    color: var(--mp-orange);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.method-btn {
    min-height: 50px;
    padding: 0 22px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-decoration: none;
    transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

.method-btn i {
    font-size: 13px;
    transition: transform .22s ease;
}

.method-btn:hover {
    transform: translateY(-2px);
}

.method-btn:hover i {
    transform: translateX(3px);
}

.method-btn-dark {
    color: #fff;
    background: var(--mp-navy);
    border: 1px solid var(--mp-navy);
}

.method-btn-dark:hover {
    background: #0f1826;
    border-color: #0f1826;
}

.method-btn-light {
    color: var(--mp-navy);
    background: #fff;
    border: 1px solid var(--mp-border);
}

.method-btn-light:hover {
    color: var(--mp-orange);
    border-color: rgba(217, 103, 49, .22);
}

/* HERO */

.method-hero {
    padding: 74px 0 62px;
    background:
            radial-gradient(circle at 10% 4%, rgba(217, 103, 49, 0.08), transparent 30%),
            radial-gradient(circle at 90% 20%, rgba(53, 91, 115, 0.06), transparent 34%),
            linear-gradient(180deg, #fbf8f2 0%, #f7f4ee 100%);
    border-bottom: 1px solid rgba(20, 32, 51, 0.08);
}

.method-hero-inner {
    display: grid;
    grid-template-columns: 1fr 520px;
    gap: 58px;
    align-items: center;
}

.method-hero-copy h1 {
    margin: 0;
    max-width: 820px;
    color: var(--mp-navy);
    font-size: clamp(42px, 4.6vw, 78px);
    line-height: .9;
    letter-spacing: -0.07em;
}

.method-hero-copy > p {
    margin: 26px 0 0;
    max-width: 760px;
    color: var(--mp-text);
    font-size: 18px;
    line-height: 1.7;
}

.method-hero-actions {
    margin-top: 32px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.method-hero-panel {
    padding: 26px;
    border-radius: 34px;
    background:
            linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72)),
            linear-gradient(135deg, #ffffff 0%, #eef6fb 100%);
    border: 1px solid var(--mp-border);
}

.method-panel-top {
    margin-bottom: 22px;
}

.method-panel-top span {
    display: block;
    margin-bottom: 7px;
    color: var(--mp-orange);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.method-panel-top strong {
    display: block;
    max-width: 360px;
    color: var(--mp-navy);
    font-size: 30px;
    line-height: 1;
    letter-spacing: -.055em;
}

.method-mini-flow {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 12px;
    align-items: stretch;
}

.method-mini-flow div {
    min-height: 120px;
    padding: 16px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--mp-border);
}

.method-mini-flow span {
    display: block;
    margin-bottom: 12px;
    color: var(--mp-orange);
    font-size: 12px;
    font-weight: 950;
}

.method-mini-flow strong {
    display: block;
    color: var(--mp-navy);
    font-size: 16px;
    line-height: 1.1;
}

.method-mini-flow small {
    display: block;
    margin-top: 8px;
    color: var(--mp-text);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 650;
}

.method-mini-flow > i {
    align-self: center;
    color: var(--mp-orange);
    font-size: 13px;
}

.method-panel-note {
    margin-top: 18px;
    padding: 18px;
    border-radius: 22px;
    background: #eaf8f0;
    border: 1px solid rgba(21, 128, 61, 0.14);
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: center;
}

.method-panel-note i {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    background: #fff;
    color: #15803d;
    display: flex;
    align-items: center;
    justify-content: center;
}

.method-panel-note p {
    margin: 0;
    color: #4f6b5a;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 750;
}

/* TRUSTBAR */

.method-trustbar {
    padding: 24px 0;
    background: #ffffff;
    border-bottom: 1px solid rgba(20, 32, 51, 0.08);
}

.method-trustbar-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.method-trustbar-inner div {
    min-height: 62px;
    padding: 0 18px;
    border-radius: 18px;
    background: #fbf8f2;
    border: 1px solid rgba(20, 32, 51, 0.08);
    display: flex;
    align-items: center;
    gap: 12px;
}

.method-trustbar-inner i {
    color: var(--mp-orange);
    font-size: 17px;
}

.method-trustbar-inner span {
    color: var(--mp-navy);
    font-size: 14px;
    font-weight: 850;
}

/* SECTION HEADINGS */

.method-section-heading {
    max-width: 900px;
}

.method-section-heading.centered {
    margin: 0 auto 48px;
    text-align: center;
}

.method-section-heading h2,
.method-why h2,
.method-process h2,
.method-analysis h2,
.method-conversion h2,
.method-faq h2,
.method-final-cta h2 {
    margin: 0;
    color: var(--mp-navy);
    font-size: clamp(40px, 4vw, 70px);
    line-height: .94;
    letter-spacing: -0.06em;
}

.method-section-heading p:not(.method-eyebrow) {
    margin: 22px auto 0;
    max-width: 720px;
    color: var(--mp-text);
    font-size: 17px;
    line-height: 1.7;
}

/* WHY */

.method-why {
    background: #ffffff;
}

.method-why-inner {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 54px;
    align-items: start;
}

.method-why-content {
    padding: 28px;
    border-radius: 30px;
    background: #fbf8f2;
    border: 1px solid rgba(20, 32, 51, 0.08);
}

.method-why-content p {
    margin: 0;
    color: var(--mp-text);
    font-size: 17px;
    line-height: 1.75;
}

.method-why-content p + p {
    margin-top: 18px;
}

.method-why-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.method-reason-card {
    padding: 24px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid var(--mp-border);
}

.method-reason-card i {
    width: 50px;
    height: 50px;
    border-radius: 17px;
    background: var(--mp-orange-soft);
    color: var(--mp-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    margin-bottom: 20px;
}

.method-reason-card h3 {
    margin: 0 0 10px;
    color: var(--mp-navy);
    font-size: 21px;
    line-height: 1.05;
    letter-spacing: -.045em;
}

.method-reason-card p {
    margin: 0;
    color: var(--mp-text);
    font-size: 14px;
    line-height: 1.6;
}

/* PROCESS */

.method-process {
    background:
            radial-gradient(circle at 12% 4%, rgba(217, 103, 49, .06), transparent 30%),
            linear-gradient(180deg, #f7f4ee 0%, #ffffff 100%);
}

.method-process-head {
    display: grid;
    grid-template-columns: 1fr .58fr;
    gap: 54px;
    align-items: end;
    margin-bottom: 42px;
}

.method-process-head p:not(.method-eyebrow) {
    margin: 0;
    color: var(--mp-text);
    font-size: 17px;
    line-height: 1.7;
}

.method-process-list {
    display: grid;
    gap: 16px;
}

.method-process-card {
    position: relative;
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 22px;
    padding: 24px;
    border-radius: 30px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid var(--mp-border);
}

.method-process-card::before {
    content: "";
    position: absolute;
    left: 64px;
    top: 94px;
    bottom: -18px;
    width: 1px;
    background: linear-gradient(180deg, rgba(217,103,49,.5), rgba(217,103,49,0));
}

.method-process-card:last-child::before {
    display: none;
}

.method-process-number {
    width: 82px;
    height: 82px;
    border-radius: 26px;
    background: var(--mp-orange-soft);
    color: var(--mp-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 950;
}

.method-process-body span {
    display: inline-flex;
    margin-bottom: 8px;
    color: var(--mp-orange);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.method-process-body h3 {
    margin: 0 0 10px;
    color: var(--mp-navy);
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1;
    letter-spacing: -.055em;
}

.method-process-body p {
    margin: 0;
    max-width: 860px;
    color: var(--mp-text);
    font-size: 16px;
    line-height: 1.7;
}

.method-process-card-highlight {
    background: linear-gradient(135deg, #fff8f3, #ffffff);
    border-color: rgba(217, 103, 49, .22);
}

.method-process-card-highlight .method-process-number {
    color: #fff;
    background: var(--mp-orange);
}

/* ANALYSIS */

.method-analysis {
    background: #ffffff;
}

.method-analysis-inner {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 56px;
    align-items: center;
}

.method-analysis-copy p:not(.method-eyebrow) {
    margin: 26px 0 0;
    max-width: 650px;
    color: var(--mp-text);
    font-size: 17px;
    line-height: 1.7;
}

.method-analysis-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.analysis-item {
    padding: 22px;
    border-radius: 26px;
    background: #fbf8f2;
    border: 1px solid rgba(20, 32, 51, 0.08);
}

.analysis-item i {
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 17px;
    background: #fff;
    color: var(--mp-orange);
    border: 1px solid rgba(217, 103, 49, .14);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.analysis-item span {
    display: block;
    margin-bottom: 8px;
    color: var(--mp-navy);
    font-size: 18px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.04em;
}

.analysis-item p {
    margin: 0;
    color: var(--mp-text);
    font-size: 14px;
    line-height: 1.6;
}

/* DELIVERABLE */

.method-deliverable {
    background:
            radial-gradient(circle at 90% 4%, rgba(53, 91, 115, .06), transparent 32%),
            linear-gradient(180deg, #f7f4ee 0%, #ffffff 100%);
}

.method-deliverable-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.deliverable-card {
    padding: 30px;
    border-radius: 34px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid var(--mp-border);
}

.deliverable-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.deliverable-head i {
    width: 48px;
    height: 48px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.is-included .deliverable-head i {
    background: #eaf8f0;
    color: #15803d;
}

.is-not-included .deliverable-head i {
    background: var(--mp-orange-soft);
    color: var(--mp-orange);
}

.deliverable-head h3 {
    margin: 0;
    color: var(--mp-navy);
    font-size: 26px;
    line-height: 1;
    letter-spacing: -.05em;
}

.deliverable-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.deliverable-card li {
    position: relative;
    padding-left: 24px;
    color: #475467;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 750;
}

.deliverable-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--mp-orange);
}

.is-included li::before {
    background: #15803d;
}

.method-deliverable-note {
    margin-top: 22px;
    padding: 22px;
    border-radius: 26px;
    background: #fff8f3;
    border: 1px solid rgba(217, 103, 49, .18);
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: center;
}

.method-deliverable-note i {
    width: 48px;
    height: 48px;
    border-radius: 17px;
    background: #fff;
    color: var(--mp-orange);
    display: flex;
    align-items: center;
    justify-content: center;
}

.method-deliverable-note p {
    margin: 0;
    color: var(--mp-text);
    font-size: 15px;
    line-height: 1.6;
    font-weight: 700;
}

/* CONVERSION */

.method-conversion {
    background: #ffffff;
}

.method-conversion-inner {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 32px;
    align-items: stretch;
}

.conversion-card {
    padding: 34px;
    border-radius: 34px;
    background:
            radial-gradient(circle at 10% 0%, rgba(255,255,255,.22), transparent 32%),
            linear-gradient(135deg, #d96731 0%, #ef9a5f 100%);
    color: #fff;
}

.conversion-card .method-eyebrow {
    color: rgba(255, 255, 255, .85);
}

.conversion-card h2 {
    color: #fff;
}

.conversion-card p {
    margin: 26px 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: 17px;
    line-height: 1.7;
}

.conversion-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.conversion-points div {
    padding: 24px;
    border-radius: 26px;
    background: #fbf8f2;
    border: 1px solid rgba(20, 32, 51, .08);
}

.conversion-points span {
    display: inline-flex;
    margin-bottom: 16px;
    width: 42px;
    height: 42px;
    border-radius: 15px;
    background: var(--mp-orange-soft);
    color: var(--mp-orange);
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 950;
}

.conversion-points strong {
    display: block;
    color: var(--mp-navy);
    font-size: 20px;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.conversion-points p {
    margin: 10px 0 0;
    color: var(--mp-text);
    font-size: 14px;
    line-height: 1.6;
}

/* COMPARISON */

.method-comparison {
    background:
            radial-gradient(circle at 10% 4%, rgba(217,103,49,.055), transparent 30%),
            linear-gradient(180deg, #f7f4ee 0%, #ffffff 100%);
}

.comparison-table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.comparison-col {
    padding: 28px;
    border-radius: 34px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid var(--mp-border);
}

.comparison-col-nescio {
    background: linear-gradient(135deg, #fff8f3, #ffffff);
    border-color: rgba(217,103,49,.20);
}

.comparison-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.comparison-title i {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.comparison-title.bad i {
    color: var(--mp-orange);
    background: var(--mp-orange-soft);
}

.comparison-title.good i {
    color: #15803d;
    background: #eaf8f0;
}

.comparison-title h3 {
    margin: 0;
    color: var(--mp-navy);
    font-size: 26px;
    line-height: 1;
    letter-spacing: -.05em;
}

.comparison-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}

.comparison-col li {
    padding: 15px 16px;
    border-radius: 16px;
    background: rgba(20, 32, 51, .035);
    color: #475467;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 750;
}

/* FAQ */

.method-faq {
    background: #ffffff;
}

.method-faq-inner {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 58px;
    align-items: start;
}

.method-faq-copy p:not(.method-eyebrow) {
    margin: 24px 0 0;
    color: var(--mp-text);
    font-size: 17px;
    line-height: 1.7;
}

.method-faq-copy .method-btn {
    margin-top: 30px;
}

.method-faq-list {
    display: grid;
    gap: 12px;
}

.faq-item {
    border-radius: 22px;
    background: #fbf8f2;
    border: 1px solid rgba(20, 32, 51, .08);
    overflow: hidden;
}

.faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 20px 22px;
    color: var(--mp-navy);
    font-size: 17px;
    line-height: 1.25;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 999px;
    background: var(--mp-orange-soft);
    color: var(--mp-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
}

.faq-item[open] summary::after {
    content: "–";
}

.faq-item p {
    margin: 0;
    padding: 0 22px 22px;
    color: var(--mp-text);
    font-size: 15px;
    line-height: 1.65;
}

/* FINAL CTA */

.method-final-cta {
    padding: 96px 0;
    background:
            radial-gradient(circle at 10% 10%, rgba(255,255,255,.24), transparent 30%),
            linear-gradient(135deg, #d96731 0%, #e77b3f 48%, #f1a066 100%);
    overflow: hidden;
}

.method-final-inner {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 48px;
    align-items: center;
}

.method-final-cta .method-eyebrow {
    color: rgba(255, 255, 255, .86);
}

.method-final-cta h2 {
    max-width: 860px;
    color: #fff;
}

.method-final-cta p {
    margin: 26px 0 0;
    max-width: 720px;
    color: rgba(255, 255, 255, .84);
    font-size: 18px;
    line-height: 1.7;
}

.method-final-card {
    padding: 28px;
    border-radius: 32px;
    background: #fff;
    border: 1px solid rgba(255,255,255,.55);
}

.method-final-card > i {
    width: 54px;
    height: 54px;
    margin-bottom: 18px;
    border-radius: 18px;
    background: var(--mp-orange-soft);
    color: var(--mp-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.method-final-card strong {
    display: block;
    color: var(--mp-navy);
    font-size: 25px;
    line-height: 1;
    letter-spacing: -.05em;
}

.method-final-card span {
    display: block;
    margin-top: 8px;
    color: var(--mp-text);
    font-size: 14px;
    font-weight: 750;
}

.method-final-card .method-btn {
    margin-top: 24px;
    width: 100%;
}

/* RESPONSIVE */

@media (max-width: 1120px) {
    .method-hero-inner,
    .method-why-inner,
    .method-process-head,
    .method-analysis-inner,
    .method-conversion-inner,
    .method-faq-inner,
    .method-final-inner {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .method-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .method-trustbar-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .method-hero-panel {
        max-width: 620px;
    }
}

@media (max-width: 820px) {
    .method-page .container {
        padding: 0 18px;
    }

    .method-page .section-pad {
        padding: 78px 0;
    }

    .method-hero {
        padding: 58px 0 48px;
    }

    .method-hero-copy h1,
    .method-section-heading h2,
    .method-why h2,
    .method-process h2,
    .method-analysis h2,
    .method-conversion h2,
    .method-faq h2,
    .method-final-cta h2 {
        font-size: 42px;
    }

    .method-hero-copy > p,
    .method-section-heading p:not(.method-eyebrow),
    .method-final-cta p {
        font-size: 16px;
    }

    .method-mini-flow,
    .method-deliverable-grid,
    .comparison-table,
    .conversion-points,
    .method-analysis-grid,
    .method-why-grid,
    .method-trustbar-inner {
        grid-template-columns: 1fr;
    }

    .method-mini-flow > i {
        transform: rotate(90deg);
        justify-self: center;
    }

    .method-process-card {
        grid-template-columns: 1fr;
    }

    .method-process-card::before {
        display: none;
    }

    .method-process-number {
        width: 62px;
        height: 62px;
        border-radius: 20px;
    }

    .method-deliverable-note {
        grid-template-columns: 1fr;
    }

    .method-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .method-hero-actions .method-btn {
        width: 100%;
    }

    .method-final-card {
        border-radius: 26px;
        padding: 22px;
    }
}

:root{
    --nsp-cream:#f6efe6;
    --nsp-cream-2:#fff9f0;
    --nsp-paper:#f3eadf;
    --nsp-white:#ffffff;
    --nsp-navy:#101820;
    --nsp-navy-2:#14263a;
    --nsp-navy-3:#07111d;
    --nsp-orange:#d96731;
    --nsp-orange-2:#ef8d52;
    --nsp-orange-3:#b94c1c;
    --nsp-gold:#f3b45f;
    --nsp-blue:#2457ff;
    --nsp-green:#1b8f5a;
    --nsp-muted:#5d6673;
    --nsp-line:rgba(16,24,32,.12);
    --nsp-radius:30px;
    --nsp-radius-sm:20px;
    --nsp-shadow:0 26px 70px rgba(16,24,32,.13);
    --nsp-shadow-soft:0 16px 42px rgba(16,24,32,.08);
    --nsp-container:1400px;
}
body{background:var(--nsp-cream);}
.nsp-page{background:var(--nsp-cream);color:var(--nsp-navy);overflow:hidden;}
.nsp-page .container{width:min(var(--nsp-container), calc(100% - 56px));margin-inline:auto;}
.nsp-eyebrow{margin:0 0 14px;color:var(--nsp-orange);font-size:13px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;}
.nsp-eyebrow-light{color:rgba(255,255,255,.86);}
.nsp-btn{min-height:52px;padding:0 22px;border-radius:14px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:950;font-size:14px;text-decoration:none;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease;}
.nsp-btn:hover{transform:translateY(-2px);}
.nsp-btn i{font-size:13px;transition:transform .22s ease;}.nsp-btn:hover i{transform:translateX(3px);}
.nsp-btn-dark{background:var(--nsp-navy);color:#fff;border-color:var(--nsp-navy);box-shadow:0 18px 34px rgba(16,24,32,.2);}
.nsp-btn-dark:hover{background:#1b2a3c;color:#fff;}
.nsp-btn-primary{background:var(--nsp-orange);color:#fff;border-color:var(--nsp-orange);}
.nsp-btn-primary:hover{background:var(--nsp-orange-3);color:#fff;}
.nsp-btn-light{background:#fff;color:var(--nsp-navy);border-color:rgba(16,24,32,.12);}
.nsp-btn-light:hover{border-color:rgba(217,103,49,.32);color:var(--nsp-orange);}
.nsp-btn-white{background:#fff;color:var(--nsp-navy);border-color:#fff;}
.nsp-btn-ghost-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.38);}.nsp-btn-ghost-light:hover{background:#fff;color:var(--nsp-navy);}
/* INTRODUCTION COMMUNE */
.nsp-intro{position:relative;padding:74px 0 86px;background:radial-gradient(circle at 13% 6%,rgba(255,255,255,.22),transparent 32%),radial-gradient(circle at 90% 16%,rgba(255,255,255,.18),transparent 34%),linear-gradient(135deg,#c95722 0%,#dd7035 45%,#f0a06d 100%);color:#fff;overflow:hidden;}
.nsp-intro:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.075) 0,rgba(255,255,255,.075) 1px,transparent 1px,transparent 19px),linear-gradient(120deg,rgba(255,255,255,.22),transparent 45%);pointer-events:none;}
.nsp-intro-inner{position:relative;z-index:1;}
.nsp-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:34px;font-size:13px;font-weight:850;letter-spacing:-.01em;}
.nsp-breadcrumb a{text-decoration:none;}.nsp-breadcrumb-light a,.nsp-breadcrumb-light span,.nsp-breadcrumb-light i{color:rgba(255,255,255,.86);}.nsp-breadcrumb a:hover{color:#fff;}
.nsp-intro-grid{display:grid;grid-template-columns:1fr 430px;gap:56px;align-items:center;}
.nsp-intro h1{margin:0;font-family:"Barlow Condensed",Inter,sans-serif;font-size:clamp(56px,6vw,108px);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;color:#fff;}
.nsp-intro-lead{margin:30px 0 0;font-size:19px;line-height:1.72;color:rgba(255,255,255,.88);font-weight:600;}
.nsp-intro-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
.nsp-intro-panel{padding:28px;border-radius:34px;background:rgba(16,24,32,.18);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(16px);box-shadow:0 28px 70px rgba(83,31,8,.18);}
.nsp-intro-panel-icon{width:56px;height:56px;border-radius:19px;background:#fff;color:var(--nsp-orange);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:22px;}
.nsp-intro-panel strong{display:block;font-size:28px;line-height:.98;letter-spacing:-.05em;color:#fff;}
.nsp-intro-panel p{margin:16px 0 0;color:rgba(255,255,255,.82);font-size:15px;line-height:1.6;}
.nsp-intro-panel ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px;}.nsp-intro-panel li{display:flex;gap:10px;align-items:center;font-weight:850;color:#fff;font-size:14px;}.nsp-intro-panel li i{color:#fff1e9;}
/* Sections générales */
.nsp-section{position:relative;padding:108px 0;}
.nsp-section-white{background:linear-gradient(180deg,#fffaf4 0%,#f6efe6 100%);} .nsp-section-cream{background:var(--nsp-cream);} .nsp-section-navy{background:radial-gradient(circle at 10% 0%,rgba(217,103,49,.22),transparent 34%),linear-gradient(135deg,#101820,#152941);color:#fff;} .nsp-section-orange-soft{background:linear-gradient(135deg,#fff0e7,#fffaf3 55%,#f1e6d8);} .nsp-section-tint{background:radial-gradient(circle at 8% 10%,rgba(217,103,49,.1),transparent 32%),radial-gradient(circle at 90% 10%,rgba(36,87,255,.07),transparent 36%),linear-gradient(180deg,#f7efe4,#fff8ef);}
.nsp-section-head{margin-bottom:42px;}.nsp-section-head h2{margin:0;font-size:clamp(42px,4.6vw,75px);line-height:.9;letter-spacing:-.065em;color:inherit;}.nsp-section-head p:not(.nsp-eyebrow){margin:22px 0 0;color:var(--nsp-muted);font-size:18px;line-height:1.7;}.nsp-section-navy .nsp-section-head p:not(.nsp-eyebrow){color:rgba(255,255,255,.76);} .nsp-section-head-row{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;}
.nsp-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;}.nsp-split-reverse{grid-template-columns:1.12fr .88fr;}.nsp-sticky-copy{position:sticky;top:108px;}
.nsp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.nsp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.nsp-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.nsp-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.nsp-card{position:relative;padding:28px;border-radius:var(--nsp-radius);background:rgba(255,255,255,.78);border:1px solid rgba(16,24,32,.11);box-shadow:var(--nsp-shadow-soft);overflow:hidden;}.nsp-card:before{content:"";position:absolute;inset:0 auto auto 0;width:7px;height:100%;background:linear-gradient(180deg,var(--nsp-orange),var(--nsp-gold));opacity:.95}.nsp-card-icon{width:56px;height:56px;border-radius:19px;background:#fff1e9;color:var(--nsp-orange);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px}.nsp-card h3{margin:0 0 12px;font-size:25px;line-height:1;letter-spacing:-.05em;color:var(--nsp-navy);}.nsp-card p{margin:0;color:var(--nsp-muted);font-size:15px;line-height:1.66}.nsp-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}.nsp-card li{display:flex;gap:10px;color:#435064;font-size:14px;font-weight:760}.nsp-card li i{color:var(--nsp-orange);margin-top:3px}
.nsp-dark-card{padding:32px;border-radius:34px;background:linear-gradient(135deg,#101820,#182d45);color:#fff;box-shadow:var(--nsp-shadow);}.nsp-dark-card h3{margin:0 0 16px;font-size:34px;line-height:.95;letter-spacing:-.055em}.nsp-dark-card p,.nsp-dark-card li{color:rgba(255,255,255,.78)}
.nsp-number-card{padding:26px;border-radius:28px;background:#fff;border:1px solid var(--nsp-line);box-shadow:var(--nsp-shadow-soft);}.nsp-number{width:52px;height:52px;border-radius:18px;background:var(--nsp-orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;margin-bottom:18px}.nsp-number-card h3{margin:0 0 10px;font-size:22px;line-height:1.03;letter-spacing:-.045em}.nsp-number-card p{margin:0;color:var(--nsp-muted);font-size:15px;line-height:1.6}
.nsp-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.nsp-kpi{min-height:116px;border-radius:26px;background:#fff;border:1px solid rgba(16,24,32,.1);padding:22px;box-shadow:var(--nsp-shadow-soft)}.nsp-kpi strong{display:block;font-size:34px;line-height:1;color:var(--nsp-navy);letter-spacing:-.06em}.nsp-kpi span{display:block;margin-top:9px;color:var(--nsp-muted);font-size:13px;font-weight:850}
.nsp-proof-list{display:grid;gap:13px}.nsp-proof-item{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;padding:20px;border-radius:24px;background:rgba(255,255,255,.78);border:1px solid rgba(16,24,32,.09)}.nsp-proof-item i{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#fff1e9;color:var(--nsp-orange);font-size:20px}.nsp-proof-item strong{display:block;color:var(--nsp-navy);font-size:19px;letter-spacing:-.04em}.nsp-proof-item p{margin:6px 0 0;color:var(--nsp-muted);font-size:14px;line-height:1.56}
.nsp-comparison{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.nsp-compare-col{padding:30px;border-radius:34px;background:#fff;border:1px solid var(--nsp-line);box-shadow:var(--nsp-shadow-soft)}.nsp-compare-col.is-good{background:linear-gradient(135deg,#fff8f3,#fff);border-color:rgba(217,103,49,.25)}.nsp-compare-col h3{margin:0 0 22px;font-size:30px;letter-spacing:-.055em}.nsp-compare-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.nsp-compare-col li{display:flex;gap:10px;align-items:flex-start;padding:14px 15px;border-radius:16px;background:rgba(16,24,32,.04);font-weight:750;color:#475467}.nsp-compare-col li i{margin-top:3px}.nsp-compare-col.is-good li i{color:var(--nsp-green)}.nsp-compare-col.is-bad li i{color:var(--nsp-orange)}
.nsp-process-list{display:grid;gap:16px}.nsp-process-row{display:grid;grid-template-columns:72px 1fr auto;gap:20px;align-items:center;padding:22px;border-radius:30px;background:rgba(255,255,255,.8);border:1px solid rgba(16,24,32,.1);box-shadow:var(--nsp-shadow-soft)}.nsp-process-row strong:first-child{width:72px;height:72px;border-radius:24px;background:var(--nsp-orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px}.nsp-process-row h3{margin:0 0 6px;font-size:25px;line-height:1;letter-spacing:-.045em}.nsp-process-row p{margin:0;color:var(--nsp-muted);font-size:15px;line-height:1.55}.nsp-process-row .nsp-tag{align-self:start}
.nsp-tag{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 12px;border-radius:999px;background:#fff1e9;color:var(--nsp-orange);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.nsp-tag-dark{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18)}
.nsp-cta-band{padding:92px 0;background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.22),transparent 30%),linear-gradient(135deg,#c95722,#dd7138 48%,#f0a06d);color:#fff}.nsp-cta-band-inner{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}.nsp-cta-band h2{margin:0;font-size:clamp(42px,4.5vw,74px);line-height:.9;letter-spacing:-.065em}.nsp-cta-band p:not(.nsp-eyebrow){margin:22px 0 0;color:rgba(255,255,255,.84);font-size:18px;line-height:1.7}
/* Articles */
.nsp-articles{background:linear-gradient(180deg,#fff8ef,#f1e6d8)}.nsp-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nsp-article-card{padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(16,24,32,.11);box-shadow:var(--nsp-shadow-soft)}.nsp-article-card span{display:inline-flex;gap:8px;align-items:center;color:var(--nsp-orange);font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px}.nsp-article-card h3{margin:0 0 12px;font-size:26px;line-height:1;letter-spacing:-.055em}.nsp-article-card p{margin:0;color:var(--nsp-muted);font-size:15px;line-height:1.68}
/* FAQ */
.nsp-faq-section{background:radial-gradient(circle at 95% 8%,rgba(217,103,49,.08),transparent 30%),linear-gradient(180deg,#fffaf4,#f6efe6)}.nsp-faq-list{display:grid;gap:12px}.nsp-faq-item{border-radius:24px;background:#fff;border:1px solid rgba(16,24,32,.1);box-shadow:0 10px 28px rgba(16,24,32,.045);overflow:hidden}.nsp-faq-item summary{list-style:none;cursor:pointer;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:18px;line-height:1.25;font-weight:950;color:var(--nsp-navy)}.nsp-faq-item summary::-webkit-details-marker{display:none}.nsp-faq-item summary i{width:36px;height:36px;border-radius:999px;background:#fff1e9;color:var(--nsp-orange);display:flex;align-items:center;justify-content:center;transition:.2s}.nsp-faq-item[open] summary i{transform:rotate(45deg);background:var(--nsp-orange);color:#fff}.nsp-faq-item p{margin:0;padding:0 24px 24px;color:var(--nsp-muted);font-size:15px;line-height:1.68}
/* Tunnel maquette */
.nsp-tunnel-wrap{background:linear-gradient(180deg,#fff7ed,#f2e6d8);padding:48px;border-radius:38px;border:1px solid rgba(16,24,32,.1);box-shadow:var(--nsp-shadow)}.nsp-stepbar{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:28px}.nsp-step-pill{height:52px;border-radius:16px;border:1px solid rgba(16,24,32,.12);background:#fff;color:var(--nsp-muted);font-weight:950;font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 10px}.nsp-step-pill.is-active{background:var(--nsp-navy);color:#fff;border-color:var(--nsp-navy)}.nsp-form-step{display:none}.nsp-form-step.is-active{display:block}.nsp-form-step h2{margin:0 0 10px;font-size:42px;line-height:.95;letter-spacing:-.055em}.nsp-form-step>p{margin:0 0 26px;color:var(--nsp-muted);font-size:16px;line-height:1.6}.nsp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nsp-field{display:grid;gap:8px}.nsp-field.full{grid-column:1/-1}.nsp-field label{font-size:13px;font-weight:900;color:var(--nsp-navy)}.nsp-field input,.nsp-field select,.nsp-field textarea{width:100%;border:1px solid rgba(16,24,32,.14);border-radius:16px;background:#fff;min-height:52px;padding:0 16px;color:var(--nsp-navy);outline:none}.nsp-field textarea{min-height:136px;padding:15px 16px;resize:vertical}.nsp-field input:focus,.nsp-field select:focus,.nsp-field textarea:focus{border-color:var(--nsp-orange);box-shadow:0 0 0 4px rgba(217,103,49,.12)}.nsp-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nsp-choice{min-height:58px;border-radius:18px;background:#fff;border:1px solid rgba(16,24,32,.12);display:flex;align-items:center;gap:10px;padding:0 14px;font-weight:850;color:#3c4654}.nsp-choice input{width:17px;height:17px;accent-color:var(--nsp-orange)}.nsp-upload-zone{grid-column:1/-1;min-height:170px;border:2px dashed rgba(217,103,49,.42);border-radius:24px;background:#fff7ef;display:grid;place-items:center;text-align:center;padding:28px}.nsp-upload-zone i{font-size:34px;color:var(--nsp-orange);margin-bottom:12px}.nsp-form-actions{margin-top:28px;display:flex;justify-content:space-between;gap:12px}.nsp-form-note{margin-top:18px;color:var(--nsp-muted);font-size:13px;line-height:1.5}.nsp-hidden{display:none!important;}
/* Réalisations */
.nsp-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.nsp-case-card{border-radius:32px;overflow:hidden;background:#fff;border:1px solid rgba(16,24,32,.12);box-shadow:var(--nsp-shadow-soft)}.nsp-case-visual{height:220px;background:linear-gradient(135deg,#101820,#d96731);display:grid;place-items:center;color:#fff}.nsp-case-visual i{font-size:44px}.nsp-case-body{padding:26px}.nsp-case-body h3{margin:0 0 10px;font-size:25px;line-height:1;letter-spacing:-.05em}.nsp-case-body p{margin:0 0 18px;color:var(--nsp-muted);font-size:15px;line-height:1.6}.nsp-case-body a{font-weight:950;color:var(--nsp-orange);text-decoration:none}.nsp-case-body a i{margin-left:8px}
/* Contact */
.nsp-contact-card{padding:32px;border-radius:34px;background:#fff;border:1px solid var(--nsp-line);box-shadow:var(--nsp-shadow-soft)}.nsp-contact-row{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center;padding:17px;border-radius:22px;background:#fff7ef;border:1px solid rgba(217,103,49,.14);margin-top:14px}.nsp-contact-row i{width:54px;height:54px;border-radius:18px;background:var(--nsp-orange);color:#fff;display:flex;align-items:center;justify-content:center}.nsp-contact-row strong{display:block}.nsp-contact-row span{color:var(--nsp-muted);font-size:14px}
/* Legal */
.nsp-legal{background:#fffaf4}.nsp-legal-content{padding:34px;border-radius:34px;background:#fff;border:1px solid var(--nsp-line);box-shadow:var(--nsp-shadow-soft)}.nsp-legal-content h2{font-size:38px;line-height:.95;letter-spacing:-.05em}.nsp-legal-content h3{font-size:24px;margin:28px 0 10px}.nsp-legal-content p,.nsp-legal-content li{color:var(--nsp-muted);line-height:1.75}.nsp-legal-content ul{padding-left:22px}
@media(max-width:1180px){.nsp-intro-grid,.nsp-split,.nsp-split-reverse{grid-template-columns:1fr}.nsp-intro-panel{max-width:620px}.nsp-grid-4,.nsp-grid-5{grid-template-columns:repeat(2,1fr)}.nsp-grid-3,.nsp-article-grid,.nsp-case-grid{grid-template-columns:repeat(2,1fr)}.nsp-section-head-row,.nsp-cta-band-inner{grid-template-columns:1fr}.nsp-sticky-copy{position:relative;top:auto}.nsp-stepbar{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.nsp-page .container{width:min(100% - 34px,var(--nsp-container))}.nsp-intro{padding:56px 0 66px}.nsp-intro h1{font-size:58px}.nsp-intro-lead{font-size:16px}.nsp-section{padding:78px 0}.nsp-section-head h2,.nsp-cta-band h2{font-size:46px}.nsp-grid-2,.nsp-grid-3,.nsp-grid-4,.nsp-grid-5,.nsp-article-grid,.nsp-case-grid,.nsp-comparison,.nsp-kpi-row{grid-template-columns:1fr}.nsp-process-row{grid-template-columns:1fr}.nsp-process-row strong:first-child{width:58px;height:58px}.nsp-form-grid,.nsp-choice-grid{grid-template-columns:1fr}.nsp-tunnel-wrap{padding:24px;border-radius:28px}.nsp-stepbar{grid-template-columns:1fr 1fr}.nsp-form-actions{flex-direction:column}.nsp-form-actions .nsp-btn{width:100%}.nsp-intro-actions{flex-direction:column}.nsp-intro-actions .nsp-btn{width:100%}}
@media(max-width:520px){.nsp-page .container{width:min(100% - 24px,var(--nsp-container))}.nsp-intro h1{font-size:46px}.nsp-intro-panel{padding:22px;border-radius:26px}.nsp-section-head h2,.nsp-cta-band h2{font-size:38px}.nsp-card,.nsp-dark-card,.nsp-number-card,.nsp-contact-card{padding:22px;border-radius:24px}.nsp-stepbar{grid-template-columns:1fr}.nsp-form-step h2{font-size:34px}.nsp-breadcrumb{font-size:12px;flex-wrap:wrap}.nsp-cta-band{padding:70px 0}}
.nsp-confirm-page {
    background: #f6efe4;
    color: #142033;
}

.nsp-confirm-page .nsp-intro {
    padding: 112px 0 96px;
    background:
            radial-gradient(circle at 12% 12%, rgba(255, 255, 255, .34), transparent 30%),
            radial-gradient(circle at 88% 4%, rgba(20, 32, 51, .18), transparent 32%),
            linear-gradient(135deg, #c85828 0%, #df7338 48%, #f4a46d 100%);
}

.nsp-confirm-page .nsp-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
    gap: 42px;
    align-items: stretch;
}

.nsp-confirm-page .nsp-intro h1 {
    max-width: 1050px;
    margin: 0;
    color: #fff;
    font-size: clamp(54px, 7vw, 112px);
    line-height: .83;
    letter-spacing: -.075em;
}

.nsp-confirm-page .nsp-intro-lead {
    max-width: 840px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, .9);
    font-size: 21px;
    line-height: 1.65;
    font-weight: 700;
}

.nsp-confirm-page .nsp-intro-panel {
    position: relative;
    padding: 32px;
    border-radius: 32px;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .54);
    box-shadow: 0 28px 80px rgba(20, 32, 51, .18);
    color: #142033;
}

.nsp-confirm-page .nsp-intro-panel-icon {
    width: 68px;
    height: 68px;
    margin-bottom: 22px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #142033;
    color: #fff;
    font-size: 28px;
}

.nsp-confirm-page .nsp-intro-panel strong {
    display: block;
    font-size: 30px;
    line-height: 1;
    letter-spacing: -.055em;
}

.nsp-confirm-page .nsp-intro-panel p {
    margin: 16px 0 0;
    color: #596472;
    font-size: 15px;
    line-height: 1.65;
    font-weight: 650;
}

.nsp-confirm-page .nsp-intro-panel ul {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 24px 0 0;
    list-style: none;
}

.nsp-confirm-page .nsp-intro-panel li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #142033;
    font-size: 14px;
    font-weight: 850;
}

.nsp-confirm-page .nsp-intro-panel li i {
    width: 25px;
    height: 25px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff1e9;
    color: #d66a31;
    font-size: 12px;
}

.nsp-confirm-page .nsp-section {
    padding: 96px 0;
}

.nsp-confirm-page .nsp-section-tint {
    background:
            radial-gradient(circle at 8% 0%, rgba(214, 106, 49, .12), transparent 32%),
            linear-gradient(180deg, #fffaf2 0%, #ffffff 100%);
}

.nsp-confirm-page .nsp-section-head {
    margin-bottom: 42px;
}

.nsp-confirm-page .nsp-section-head h2 {
    max-width: none !important;
    margin: 0;
    color: #142033;
    font-size: clamp(44px, 5vw, 82px);
    line-height: .88;
    letter-spacing: -.07em;
}

.nsp-confirm-page .nsp-section-head p:not(.nsp-eyebrow) {
    max-width: 820px;
    margin: 20px 0 0;
    color: #596472;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 650;
}

.nsp-confirm-page .nsp-article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.nsp-confirm-page .nsp-article-card {
    position: relative;
    min-height: 280px;
    padding: 30px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid rgba(20, 32, 51, .1);
    box-shadow: 0 18px 50px rgba(20, 32, 51, .08);
    overflow: hidden;
}

.nsp-confirm-page .nsp-article-card:nth-child(1) {
    background: #142033;
    color: #fff;
}

.nsp-confirm-page .nsp-article-card:nth-child(2) {
    background: #fff;
}

.nsp-confirm-page .nsp-article-card:nth-child(3) {
    background: #d66a31;
    color: #fff;
}

.nsp-confirm-page .nsp-article-card span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(214, 106, 49, .12);
    color: #d66a31;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .05em;
}

.nsp-confirm-page .nsp-article-card:nth-child(1) span,
.nsp-confirm-page .nsp-article-card:nth-child(3) span {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

.nsp-confirm-page .nsp-article-card h3 {
    margin: 26px 0 0;
    color: inherit;
    font-size: 34px;
    line-height: .95;
    letter-spacing: -.06em;
}

.nsp-confirm-page .nsp-article-card p {
    margin: 18px 0 0;
    color: #596472;
    font-size: 15.5px;
    line-height: 1.68;
    font-weight: 650;
}

.nsp-confirm-page .nsp-article-card:nth-child(1) p,
.nsp-confirm-page .nsp-article-card:nth-child(3) p {
    color: rgba(255, 255, 255, .78);
}

.nsp-confirm-page .nsp-split {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 44px;
    align-items: center;
}

.nsp-confirm-page .nsp-color-panel {
    padding: 38px;
    border-radius: 34px;
    background:
            radial-gradient(circle at 88% 12%, rgba(214, 106, 49, .34), transparent 30%),
            linear-gradient(135deg, #071725 0%, #0b3462 100%);
    color: #fff;
    box-shadow: 0 28px 80px rgba(20, 32, 51, .18);
}

.nsp-confirm-page .nsp-color-panel h2 {
    max-width: none !important;
    margin: 0;
    color: #fff;
    font-size: clamp(44px, 4.8vw, 78px);
    line-height: .88;
    letter-spacing: -.07em;
}

.nsp-confirm-page .nsp-color-panel p {
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 18px;
    line-height: 1.7;
    font-weight: 650;
}

.nsp-confirm-page .nsp-point-list {
    display: grid;
    gap: 14px;
}

.nsp-confirm-page .nsp-point {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    padding: 24px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(20, 32, 51, .1);
    box-shadow: 0 12px 34px rgba(20, 32, 51, .06);
}

.nsp-confirm-page .nsp-point i {
    width: 58px;
    height: 58px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff1e9;
    color: #d66a31;
    font-size: 21px;
}

.nsp-confirm-page .nsp-point strong {
    display: block;
    color: #142033;
    font-size: 24px;
    line-height: 1.05;
    letter-spacing: -.045em;
}

.nsp-confirm-page .nsp-point p {
    margin: 9px 0 0;
    color: #596472;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 650;
}

.nsp-confirm-page .nsp-split-faq {
    align-items: start;
}

.nsp-confirm-page .nsp-sticky-copy {
    position: sticky;
    top: 110px;
}

.nsp-confirm-page .nsp-faq-list {
    display: grid;
    gap: 12px;
}

.nsp-confirm-page .nsp-faq-item {
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(20, 32, 51, .1);
    box-shadow: 0 10px 28px rgba(20, 32, 51, .05);
    overflow: hidden;
}

.nsp-confirm-page .nsp-faq-item summary {
    cursor: pointer;
    list-style: none;
    padding: 22px 24px;
    color: #142033;
    font-size: 17px;
    font-weight: 950;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.nsp-confirm-page .nsp-faq-item summary::-webkit-details-marker {
    display: none;
}

.nsp-confirm-page .nsp-faq-item summary i {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    flex: 0 0 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff1e9;
    color: #d66a31;
    font-size: 13px;
    transition: transform .2s ease;
}

.nsp-confirm-page .nsp-faq-item[open] summary i {
    transform: rotate(45deg);
}

.nsp-confirm-page .nsp-faq-item p {
    margin: 0;
    padding: 0 24px 24px;
    color: #596472;
    font-size: 15px;
    line-height: 1.65;
    font-weight: 650;
}

.nsp-confirm-page .nsp-cta {
    padding: 76px 0;
    background:
            radial-gradient(circle at 10% 20%, rgba(255, 255, 255, .22), transparent 30%),
            linear-gradient(135deg, #d66a31 0%, #ef9a5f 100%);
    color: #fff;
}

.nsp-confirm-page .nsp-cta-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 30px;
    align-items: center;
}

.nsp-confirm-page .nsp-cta h2 {
    max-width: none !important;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 4.5vw, 76px);
    line-height: .88;
    letter-spacing: -.07em;
}

.nsp-confirm-page .nsp-cta p {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: 18px;
    line-height: 1.65;
    font-weight: 650;
}

@media (max-width: 1180px) {
    .nsp-confirm-page .nsp-intro-grid,
    .nsp-confirm-page .nsp-split,
    .nsp-confirm-page .nsp-cta-inner {
        grid-template-columns: 1fr;
    }

    .nsp-confirm-page .nsp-article-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nsp-confirm-page .nsp-sticky-copy {
        position: relative;
        top: auto;
    }
}

@media (max-width: 760px) {
    .nsp-confirm-page .nsp-intro {
        padding: 82px 0 70px;
    }

    .nsp-confirm-page .nsp-intro h1 {
        font-size: 50px;
    }

    .nsp-confirm-page .nsp-intro-lead {
        font-size: 17px;
    }

    .nsp-confirm-page .nsp-section {
        padding: 70px 0;
    }

    .nsp-confirm-page .nsp-article-grid {
        grid-template-columns: 1fr;
    }

    .nsp-confirm-page .nsp-article-card {
        min-height: auto;
        padding: 24px;
        border-radius: 24px;
    }

    .nsp-confirm-page .nsp-article-card h3 {
        font-size: 28px;
    }

    .nsp-confirm-page .nsp-section-head h2,
    .nsp-confirm-page .nsp-color-panel h2,
    .nsp-confirm-page .nsp-cta h2 {
        font-size: 42px;
    }

    .nsp-confirm-page .nsp-color-panel {
        padding: 28px;
        border-radius: 28px;
    }

    .nsp-confirm-page .nsp-point {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .nsp-confirm-page .nsp-cta .nsp-btn,
    .nsp-confirm-page .nsp-intro-actions .nsp-btn {
        width: 100%;
    }
}

@media (max-width: 460px) {
    .nsp-confirm-page .nsp-intro h1 {
        font-size: 42px;
    }

    .nsp-confirm-page .nsp-intro-panel {
        padding: 24px;
        border-radius: 26px;
    }

    .nsp-confirm-page .nsp-section-head h2,
    .nsp-confirm-page .nsp-color-panel h2,
    .nsp-confirm-page .nsp-cta h2 {
        font-size: 36px;
    }

    .nsp-confirm-page .nsp-faq-item summary {
        padding: 19px 20px;
        font-size: 15px;
    }

    .nsp-confirm-page .nsp-faq-item p {
        padding: 0 20px 20px;
    }
}
