/* =========================================================
   CREDIT ANGEL — Thème du site public
   Mise en page « dossier bancaire » : colonnes alignées à gauche, filets fins,
   chiffres tabulaires. Un seul élément fort par page (simulateur, formulaire, 10 %).
   Scopé à .home : ne touche pas dashboard.php
   ========================================================= */

.home {
    /* Couleurs */
    --paper:      #FFFFFF;
    --paper-2:    #F3F5F1;   /* papier légèrement teinté (bandes) */
    --ink:        #16213A;   /* encre : le bleu nuit du sceau */
    --ink-2:      #3D4A63;   /* texte courant */
    --muted:      #6A7487;
    --rule:       #DCE1DA;   /* filets */
    --rule-2:     #E9ECE6;
    --green:      #1E6B52;   /* action : vert billet */
    --green-d:    #16513E;
    --green-soft: #E6F0EA;
    --gold:       #A8843C;   /* ornement uniquement (filets, sceau) */

    /* Typographie */
    --font-display: 'Archivo', 'Arial Narrow', Arial, sans-serif;
    --font-sans:    'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-mono:    'IBM Plex Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;
    --font-label:   var(--font-sans);

    /* Correspondance avec les variables de style.css */
    --bg: var(--paper-2); --bg-2: var(--paper); --card: #fff;
    --text: var(--ink-2); --navy: var(--ink);
    --muted-2: #98A0AE; --line: var(--rule); --line-2: var(--rule-2);
    --primary: var(--green); --primary-d: var(--green-d); --primary-l: #6FA893; --primary-soft: var(--green-soft);
    --accent: #1E6B52; --accent-d: #16513E; --accent-soft: #E6F0EA;
    --gold-l: #C9A961;
    --r-sm: 8px; --r-md: 10px; --r-lg: 12px; --r-xl: 14px;
    --section-y: 96px;
}

body.home { background: var(--paper); color: var(--ink-2); }

/* ── Typo ── */
.home h1, .home h2, .home h3, .home h4 {
    font-family: var(--font-display); font-stretch: 112%;
    font-weight: 700; letter-spacing: -0.022em; color: var(--ink);
    text-wrap: balance;
}
.home h2 { font-size: clamp(1.8rem, 3.2vw, 2.55rem); line-height: 1.08; }
.home h3 { font-stretch: 106%; font-weight: 600; letter-spacing: -0.012em; }
.home a { color: var(--green); }
.home a:hover { color: var(--green-d); }
.home .highlight { color: var(--green); font-style: normal; }
.home ::selection { background: var(--green); color: #fff; }

.home .eyebrow, .lp-eyebrow, .cp-kicker {
    display: inline-flex; align-items: center; gap: 12px;
    font-family: var(--font-label); font-size: .76rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--green); background: none; padding: 0; border: 0; border-radius: 0;
    margin: 0 0 18px;
}
.home .eyebrow::before, .lp-eyebrow::before, .cp-kicker::before {
    content: ""; width: 28px; height: 1px; border-radius: 0; background: var(--gold); flex-shrink: 0;
}

/* En-tête de section : titre à gauche, texte à droite */
.home .section-head {
    max-width: none; margin: 0 0 44px; text-align: left;
    display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 0 56px; align-items: end;
}
.home .section-head .eyebrow { grid-column: 1 / -1; justify-content: flex-start; }
.home .section-head h2 { grid-column: 1; margin: 0; }
.home .section-head p { grid-column: 2; margin: 0; color: var(--ink-2); font-size: 1.04rem; line-height: 1.65; max-width: 52ch; }

/* ── Boutons ── */
.home .btn { border-radius: 10px; font-family: var(--font-sans); font-weight: 600; letter-spacing: 0; padding: 14px 24px; transition: background .2s, box-shadow .2s, transform .2s, border-color .2s, color .2s; }
.home .btn-lg { padding: 16px 28px; font-size: 1rem; }
.home .btn-primary { background: linear-gradient(180deg, #23785C 0%, #1B6249 100%); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 1px 2px rgba(22,33,58,.2), 0 12px 22px -12px rgba(30,107,82,.75); }
.home .btn-primary:hover { background: linear-gradient(180deg, #1E6B52 0%, #16513E 100%); color: #fff; transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 1px 2px rgba(22,33,58,.2), 0 16px 26px -12px rgba(30,107,82,.8); }
.home .btn-ghost { background: #fff; color: var(--ink); border-color: #C6CDD3; box-shadow: 0 1px 2px rgba(22,33,58,.06); }
.home .btn-ghost:hover { background: #fff; color: var(--ink); border-color: var(--ink); }
.home .btn-ghost-light { color: var(--muted); border-color: var(--rule); }
.home .btn-light { background: #fff; color: var(--ink); border: 0; }
.home .btn-light:hover { background: var(--green-soft); color: var(--ink); transform: none; box-shadow: none; }
.home .btn:focus-visible, .home a:focus-visible, .home summary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

/* ============ BANDEAU REGISTRE + EN-TÊTE ============ */
.cp-reg { background: var(--ink); color: rgba(255,255,255,.76); font-family: var(--font-label); font-size: .8rem; letter-spacing: 0; }
.cp-reg svg { display: inline-block; width: 15px; height: 15px; vertical-align: -3px; margin-right: 8px; color: var(--gold-l); }
.cp-reg-in { display: flex; justify-content: space-between; align-items: center; gap: 6px 24px; padding: 9px 0; flex-wrap: wrap; }
.cp-reg-links { display: flex; gap: 22px; }
.home .cp-reg a { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.4); }
.home .cp-reg a:hover { text-decoration-color: #fff; }

.cp-topbar { background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--rule); box-shadow: 0 12px 30px -24px rgba(22,33,58,.5); position: sticky; top: 0; z-index: 50; }
/* filet vert → or sous l'en-tête */
.cp-topbar::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg, var(--green) 0%, var(--green) 55%, var(--gold) 100%); }
.cp-topbar { position: sticky; }
.cp-topbar-in { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 13px 0; }
.cp-logo { display: inline-flex; align-items: center; text-decoration: none; min-width: 0; }
.cp-logo img { height: 50px; width: auto; display: block; flex-shrink: 0; }
.cp-nav { justify-content: center; }
.cp-actions { display: flex; align-items: center; gap: 18px; }
.home .cp-espace { color: var(--ink-2); font-size: .93rem; font-weight: 500; white-space: nowrap; text-decoration: none; }
.home .cp-espace:hover { color: var(--green); }
.cp-logo .cp-wordmark { font-family: var(--font-display); font-stretch: 118%; font-weight: 700; font-size: 1.02rem; letter-spacing: .06em; color: var(--ink); line-height: 1; white-space: nowrap; }
.cp-logo .cp-wordmark span { color: var(--gold); }
.cp-nav { display: flex; align-items: center; gap: 28px; min-width: 0; }
.home .cp-nav a:not(.btn) { position: relative; text-decoration: none; color: var(--ink-2); font-size: .93rem; font-weight: 500; padding: 6px 0; white-space: nowrap; transition: color .2s; }
.home .cp-nav a:not(.btn):hover { color: var(--ink); }
.home .cp-nav a.is-active { color: var(--ink); }
.home .cp-nav a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -13px; height: 2px; background: var(--green); }
.cp-nav .btn { padding: 10px 18px; font-size: .9rem; flex-shrink: 0; }
.cp-cta .cta-short { display: none; }
.cp-espace .esp-short { display: none; }
@media (max-width: 1100px) {
    .cp-nav { gap: 18px; }
    .home .cp-nav a:not(.btn) { font-size: .88rem; }
    .cp-logo img { height: 44px; }
}
@media (max-width: 940px) {
    .cp-topbar-in { grid-template-columns: minmax(0, 1fr) auto; }
    .cp-nav { display: none; }
    .cp-logo img { height: 40px; }
    .cp-actions { gap: 10px; }
    /* Espace client reste visible sur mobile : bouton clair à côté de « Demande » */
    .home .cp-espace { display: inline-flex; align-items: center; padding: 10px 12px; border: 1px solid #C6CDD3; border-radius: 10px; background: #fff; color: var(--ink); font-size: .86rem; font-weight: 600; }
    .cp-cta .cta-long { display: none; }
    .cp-cta .cta-short { display: inline; }
    .cp-reg-links { display: none; }
}
@media (max-width: 480px) {
    .cp-logo img { height: 34px; }
    .cp-espace .esp-long { display: none; }
    .cp-espace .esp-short { display: inline; }
    .home .cp-espace, .home .cp-actions .cp-cta { padding: 9px 11px; font-size: .84rem; }
}
@media (max-width: 360px) { .cp-logo .cp-wordmark { display: none; } }

/* ============ HERO ============ */
.home .hero {
    position: relative; overflow: hidden;
    background: linear-gradient(180deg, #F1F4EF 0%, #F7F8F5 100%); color: var(--ink-2);
    padding: 68px 0 76px; border-bottom: 1px solid var(--rule);
}
/* guilloché discret, comme sur un papier sécurisé */
.home .hero::before {
    inset: 0;
    background: repeating-radial-gradient(circle at 86% 28%, transparent 0 17px, rgba(30,107,82,.06) 17px 18px);
    -webkit-mask-image: radial-gradient(62% 95% at 86% 28%, #000 15%, transparent 72%);
            mask-image: radial-gradient(62% 95% at 86% 28%, #000 15%, transparent 72%);
}
.home .hero::after { display: none; }
.home .hero-inner { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; }
.home .hero h1 { color: var(--ink); font-size: clamp(2.1rem, 3.7vw, 3.15rem); line-height: 1.07; margin: 0 0 20px; }
.home .hero h1 em { font-style: normal; color: var(--green); }
.home .hero-lead { color: var(--ink-2); font-size: 1.08rem; line-height: 1.65; max-width: 46ch; margin: 0; }
.cp-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 0; }

/* Points clés sous le texte d'accroche */
.hero-points { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hero-points li { display: flex; align-items: center; gap: 12px; font-size: 1rem; color: var(--ink-2); line-height: 1.4; }
.hero-points i { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--green); color: #fff; display: flex; align-items: center; justify-content: center; }
.hero-points i svg { width: 13px; height: 13px; }
.hero-points strong { color: var(--ink); font-weight: 600; }
.cp-hero10 + .hero-points { margin-top: 24px; }

/* ============ BANDE DE RÉASSURANCE ============ */
.cp-assure { background: var(--paper); border-bottom: 1px solid var(--rule); }
.cp-assure-in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cp-assure-item { display: flex; align-items: flex-start; gap: 13px; padding: 16px 22px; border-left: 1px solid var(--rule); min-width: 0; }
.cp-assure-item:first-child { padding-left: 0; border-left: 0; }
.cp-assure-item > svg { flex-shrink: 0; width: 24px; height: 24px; color: var(--green); margin-top: 1px; }
.cp-assure-item strong { display: block; color: var(--ink); font-size: .93rem; font-weight: 600; line-height: 1.3; }
.cp-assure-item span { display: block; color: var(--muted); font-size: .82rem; line-height: 1.4; margin-top: 2px; }
/* tablette et mobile : 2 × 2, toujours tout en haut de page, donc au-dessus du formulaire */
@media (max-width: 980px) {
    .cp-assure-in { grid-template-columns: 1fr 1fr; }
    .cp-assure-item { padding: 13px 12px 13px 0; border-left: 0; border-top: 1px solid var(--rule); align-items: center; gap: 10px; }
    .cp-assure-item:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--rule); }
    .cp-assure-item:nth-child(-n+2) { border-top: 0; }
}
@media (max-width: 600px) {
    .cp-assure-item > svg { width: 20px; height: 20px; margin-top: 0; }
    .cp-assure-item strong { font-size: .8rem; line-height: 1.25; }
    .cp-assure-item span { display: none; }
}

/* « 10 % » en grand dans l'en-tete de la page demande */
.cp-hero10 { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; margin-top: 30px; padding: 22px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
.cp-hero10 strong { font-family: var(--font-display); font-stretch: 125%; font-weight: 800; font-size: clamp(4rem, 7vw, 5.6rem); line-height: .85; letter-spacing: -0.05em; color: var(--green); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cp-hero10 p { margin: 0; font-size: .93rem; line-height: 1.55; color: var(--ink-2); }
.cp-hero10 p b { color: var(--ink); font-weight: 600; }
.cp-hero10 a { font-weight: 600; white-space: nowrap; }
.cp-hero10 + .hero-meta { margin-top: 0; border-top: 0; }
@media (max-width: 480px) { .cp-hero10 { grid-template-columns: 1fr; gap: 14px; } }

/* ============ SIMULATEUR ============ */
.sim {
    position: relative; min-width: 0;
    background: #fff; border: 1px solid var(--rule); border-radius: 18px; box-shadow: 0 1px 2px rgba(22,33,58,.05), 0 30px 60px -30px rgba(22,33,58,.4);
}
.sim-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 20px 26px 0; }
.home .sim-head h2 { font-size: 1.22rem; margin: 0; letter-spacing: -0.012em; }
.sim-tag { font-family: var(--font-label); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.sim-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .82fr); gap: 26px; padding: 22px 26px 24px; align-items: stretch; }
.sim-fields { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.sim-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.sim-label label { font-size: .86rem; font-weight: 500; color: var(--ink-2); }
.sim-label output { font-family: var(--font-mono); font-size: .98rem; font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sim input[type="range"] { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 22px; margin: 0; background: transparent; cursor: pointer; }
.sim input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--green) var(--fill, 50%), var(--rule) var(--fill, 50%)); }
.sim input[type="range"]::-moz-range-track { height: 4px; border-radius: 2px; background: var(--rule); }
.sim input[type="range"]::-moz-range-progress { height: 4px; border-radius: 2px; background: var(--green); }
.sim input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; background: #fff; border: 2px solid var(--green); box-shadow: 0 2px 6px rgba(22,33,58,.2); }
.sim input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--green); box-shadow: 0 2px 6px rgba(22,33,58,.2); }
.sim input[type="range"]:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; border-radius: 4px; }
.sim-scale { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: .66rem; color: var(--muted); margin-top: 2px; }
.sim-result { display: flex; flex-direction: column; background: linear-gradient(160deg, #1B2947 0%, #16213A 100%); color: #fff; border-radius: 14px; padding: 22px 22px 20px; min-width: 0; }
.sim-result-label { font-family: var(--font-label); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.66); }
.sim-result > strong { font-family: var(--font-display); font-stretch: 112%; font-weight: 700; font-size: clamp(1.9rem, 3vw, 2.5rem); letter-spacing: -0.02em; line-height: 1.1; margin-top: 8px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sim-per { font-size: .84rem; color: rgba(255,255,255,.7); margin-top: 4px; }
.sim-result dl { margin: auto 0 0; padding-top: 18px; display: flex; flex-direction: column; gap: 8px; }
.sim-result dl > div { display: flex; justify-content: space-between; gap: 12px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.14); font-size: .82rem; }
.sim-result dt { color: rgba(255,255,255,.7); }
.sim-result dd { margin: 0; font-family: var(--font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sim-table-wrap { padding: 0 26px; overflow-x: auto; }
.sim-table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: .76rem; font-variant-numeric: tabular-nums; color: var(--ink-2); }
.sim-table caption { caption-side: top; text-align: left; font-family: var(--font-label); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding-bottom: 8px; }
.sim-table th, .sim-table td { text-align: right; padding: 7px 0 7px 14px; border-top: 1px solid var(--rule-2); white-space: nowrap; }
.sim-table th:first-child, .sim-table td:first-child { text-align: left; padding-left: 0; }
.sim-table thead th { font-weight: 500; color: var(--muted); border-top: 1px solid var(--ink); }
.sim-table .sim-gap td { color: var(--muted); text-align: center; padding: 2px 0; }
.sim-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 26px 22px; }
.sim-foot p { margin: 0; font-size: .76rem; line-height: 1.5; color: var(--muted); max-width: 46ch; }
.sim-foot .btn { flex-shrink: 0; }
@media (max-width: 620px) {
    .sim-head, .sim-body, .sim-foot { padding-left: 18px; padding-right: 18px; }
    .sim-table-wrap { padding: 0 18px; }
    .sim-body { grid-template-columns: 1fr; }
    .sim-foot { flex-direction: column; align-items: stretch; }
    .sim-foot .btn { width: 100%; }
}

/* ── Carte formulaire (page demande) ── */
.home .quiz-form-card { border: 1px solid var(--rule); border-radius: 18px; box-shadow: 0 1px 2px rgba(22,33,58,.05), 0 30px 60px -30px rgba(22,33,58,.4); }
.home .quiz-form-header { background: #fff; border-bottom: 1px solid var(--rule-2); padding: 22px 28px 18px; }
.home .quiz-form-header h2 { font-size: 1.22rem; letter-spacing: -0.012em; }
.home .quiz-form-body { padding: 22px 28px 28px; }
.home .secure-tag { background: none; border: 0; padding: 0; font-family: var(--font-label); font-size: .7rem; color: var(--green); }
.home .secure-tag svg { color: var(--green); }
.home .progress-label { font-family: var(--font-label); font-weight: 500; }
.home .progress { height: 6px; background: var(--rule-2); }
.home .progress-bar { background: linear-gradient(90deg, #1E6B52, #2E8A6B); }
.home .quiz-question { font-family: var(--font-display); font-stretch: 106%; font-weight: 600; letter-spacing: -0.012em; }
.home .opt-card { border-radius: 12px; border-width: 1px; padding: 15px 16px; transition: border-color .15s, background .15s, box-shadow .15s; }
.home .opt-card::after { width: 22px; height: 22px; border-width: 1.5px; border-color: #C6CDD3; }
.home .quiz-option:hover .opt-card { border-color: var(--green); box-shadow: 0 6px 16px -10px rgba(22,33,58,.4); }
.home .quiz-option input:checked + .opt-card { background: var(--green-soft); border-color: var(--green); }
.home .quiz-option input:checked + .opt-card { box-shadow: 0 0 0 1px var(--green); }
.home .quiz-option input:checked + .opt-card::after { border-color: var(--green); background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 13px no-repeat; }
.home .form-field input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(30,107,82,.16); }

/* ============ PARTENAIRES ============ */
.home .partners { background: var(--paper); border-bottom: 1px solid var(--rule); padding: 30px 0; }
.partners-in { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 36px; align-items: center; }
.partners-head strong { display: block; font-family: var(--font-display); font-stretch: 106%; font-weight: 600; font-size: 1.05rem; letter-spacing: -0.01em; color: var(--ink); }
.partners-head span { display: block; margin-top: 6px; font-size: .86rem; line-height: 1.5; color: var(--muted); }
.home .marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.home .marquee-track { padding: 6px 0; animation-duration: 38s; }
.home .plogo {
    width: 172px; height: 82px; margin: 0 8px; padding: 0 20px;
    background: #fff; border: 1px solid var(--rule); border-radius: 14px;
    box-shadow: 0 1px 2px rgba(22,33,58,.04);
    transition: border-color .2s, box-shadow .2s;
}
.home .plogo:hover { border-color: #B9CFC5; box-shadow: 0 10px 22px -14px rgba(22,33,58,.4); }
.home .plogo img { max-height: 44px; max-width: 124px; width: auto; height: auto; object-fit: contain; filter: none; opacity: 1; }
@media (max-width: 760px) {
    .partners-in { grid-template-columns: 1fr; gap: 16px; }
    .home .partners { padding: 24px 0; }
    .home .plogo { width: 138px; height: 68px; margin: 0 6px; padding: 0 14px; border-radius: 12px; }
    .home .plogo img { max-height: 36px; max-width: 102px; }
}

/* ============ COLONNES À FILETS (solutions, valeurs, activité) ============ */
.home .types { background: var(--paper); }
.home .types-grid { gap: 20px; }
.home .type-card, .cp-about-card {
    background: #fff; border: 1px solid var(--rule); border-radius: 16px;
    padding: 26px 24px 22px; overflow: visible;
    box-shadow: 0 1px 2px rgba(22,33,58,.04);
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.home .type-card::before { display: none; }
.home .type-card:hover, a.cp-about-card:hover { transform: translateY(-3px); border-color: #B9CFC5; box-shadow: 0 1px 2px rgba(22,33,58,.04), 0 22px 40px -24px rgba(22,33,58,.35); }
.home .type-icon { width: 46px; height: 46px; background: var(--green-soft); border: 0; border-radius: 12px; color: var(--green); margin-bottom: 18px; justify-content: center; }
.home .type-icon svg { width: 22px; height: 22px; }
.home .type-card h3, .home .cp-about-card h3 { font-size: 1.1rem; margin: 0 0 8px; }
.home .type-card p, .cp-about-card p { color: var(--ink-2); font-size: .94rem; line-height: 1.6; margin: 0 0 14px; }
.home .type-card p:last-child, .cp-about-card p:last-child { margin-bottom: 0; }
.home .type-tag { display: inline-block; background: var(--paper-2); padding: 4px 10px; border-radius: 6px; font-family: var(--font-label); font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--green-d); }
.cp-about-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
a.cp-about-card { text-decoration: none; display: block; }
a.cp-about-card .cp-card-more { color: var(--green); font-weight: 600; font-size: .9rem; display: inline-block; }
@media (max-width: 760px) { .cp-about-grid { grid-template-columns: 1fr; } }

/* Section à deux colonnes : titre à gauche, contenu à droite */
.cp-split { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: start; }
.cp-split-head h2 { margin: 0 0 16px; }
.cp-split-head p { color: var(--ink-2); line-height: 1.65; margin: 0 0 22px; max-width: 40ch; }
.cp-list2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cp-more { font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }

/* ============ ÉTAPES (vraie séquence) ============ */
.home .how { background: var(--paper-2); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.home .steps { gap: 0 32px; position: relative; }
.home .steps.steps-4 { grid-template-columns: repeat(4, 1fr); }
/* ligne qui relie les pastilles numérotées */
.home .steps::before { content: ""; position: absolute; left: 22px; right: 22px; top: 22px; height: 1px; background: #C5CEC6; }
.home .step { position: relative; padding: 0; }
.home .step .step-num,
.home .step:nth-child(n) .step-num {
    position: relative; width: 44px; height: 44px; border-radius: 50%;
    background: #fff; border: 1px solid #B9CFC5; box-shadow: 0 0 0 8px var(--paper-2);
    display: flex; align-items: center; justify-content: center; margin-bottom: 22px;
    font-family: var(--font-display); font-stretch: 112%; font-size: 1.05rem; font-weight: 700;
    color: var(--green);
}
.home .step h3 { font-size: 1.12rem; margin: 0 0 8px; }
.home .step p { color: var(--ink-2); font-size: .95rem; line-height: 1.6; }

/* ============ GARANTIE BANCAIRE (10 %) ============ */
.home .cp-g { background: var(--paper); }
.cp-g-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; align-items: stretch; background: #fff; border: 1px solid var(--rule); border-radius: 22px; overflow: hidden; box-shadow: 0 1px 2px rgba(22,33,58,.05), 0 30px 60px -36px rgba(22,33,58,.4); }
.cp-g-figure { position: relative; padding: 48px 44px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #CFE0D7;
    /* fond illustré : halo clair derrière le chiffre, sceau en filigrane, deux rosaces guillochées */
    background:
        radial-gradient(ellipse 72% 40% at 46% 50%, rgba(232,242,236,.97) 32%, rgba(232,242,236,0) 80%),
        url(../img/garantie-sceau.svg) no-repeat right 26px bottom 26px / 96px 96px,
        url(../img/garantie-rosace.svg) no-repeat right -150px top -150px / 340px 340px,
        url(../img/garantie-rosace.svg) no-repeat left -270px bottom -270px / 660px 660px,
        linear-gradient(160deg, #EDF5F0 0%, #DDEBE3 100%);
}
.cp-g-text { padding: 44px 44px 40px; min-width: 0; }
.cp-g-figure strong {
    display: block; font-family: var(--font-display); font-stretch: 125%; font-weight: 800;
    font-size: clamp(6.5rem, 15vw, 12rem); line-height: .82; letter-spacing: -0.055em;
    color: var(--green); white-space: nowrap; margin: 6px 0 20px -0.04em;
    font-variant-numeric: tabular-nums;
}
/* version « en grand » (page demande) : moitié de page pour le chiffre */
.cp-g:not(.cp-g--compact) .cp-g-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.home .cp-g { background: var(--paper-2); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.cp-g:not(.cp-g--compact) .cp-g-figure strong { font-size: clamp(6.5rem, 15vw, 12rem); }
.cp-g--compact .cp-g-figure strong { font-size: clamp(4.6rem, 9vw, 7.2rem); }
.cp-g-cap { display: block; font-size: 1.05rem; line-height: 1.5; color: var(--ink); font-weight: 500; max-width: 26ch; }
.cp-g-text h2 { margin: 0 0 16px; }
.cp-g-text > p { color: var(--ink-2); font-size: 1.04rem; line-height: 1.65; margin: 0 0 26px; max-width: 58ch; }
.cp-g-dl { margin: 0; border-top: 1px solid var(--ink); }
.cp-g-dl > div { display: grid; grid-template-columns: minmax(0, 190px) minmax(0, 1fr); gap: 4px 24px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
.cp-g-dl dt { font-family: var(--font-label); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-top: 4px; }
.cp-g-dl dd { margin: 0; color: var(--ink); font-size: 1rem; line-height: 1.55; }
.cp-g-dl dd strong { font-weight: 600; }
.cp-g-text > p.cp-g-important { max-width: none; }
.cp-g-important { margin: 24px 0 0; padding: 16px 18px; background: #FBF8EF; border: 1px solid #EADFC2; border-radius: 12px; color: var(--ink-2); font-size: .9rem; line-height: 1.65; }
.cp-g-important strong { color: var(--ink); }
@media (max-width: 860px) {
    .cp-g-in { grid-template-columns: 1fr; }
    .cp-g-figure { padding: 32px 24px; border-right: 0; border-bottom: 1px solid #CFE0D7; }
    .cp-g-text { padding: 28px 24px; }
    .cp-g-dl > div { grid-template-columns: 1fr; }
}

/* ============ FICHE D'IMMATRICULATION ============ */
/* ============ ENGAGEMENTS + VIGILANCE ============ */
.home .cp-engage { background: var(--paper); }
.cp-engage-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--rule); border-radius: 20px; overflow: hidden; background: #fff;
    box-shadow: 0 1px 2px rgba(22,33,58,.04), 0 30px 60px -44px rgba(22,33,58,.4);
}
.cp-engage-item { padding: 30px 28px 28px; border-left: 1px solid var(--rule); border-top: 1px solid var(--rule); min-width: 0; }
.cp-engage-item:nth-child(3n+1) { border-left: 0; }
.cp-engage-item:nth-child(-n+3) { border-top: 0; }
.cp-engage-item > svg { width: 28px; height: 28px; color: var(--green); margin-bottom: 16px; }
.home .cp-engage-item h3 { font-size: 1.08rem; margin: 0 0 8px; }
.cp-engage-item p { margin: 0; color: var(--ink-2); font-size: .94rem; line-height: 1.6; }

.cp-vigil {
    margin-top: 24px; padding: 26px 28px;
    display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 20px 40px; align-items: start;
    background: #FBF8EF; border: 1px solid #EADFC2; border-radius: 20px;
}
.cp-vigil-head { display: flex; gap: 14px; align-items: flex-start; }
.cp-vigil-head > svg { flex-shrink: 0; width: 28px; height: 28px; color: var(--gold); margin-top: 2px; }
.home .cp-vigil h3 { font-size: 1.12rem; margin: 0 0 6px; }
.cp-vigil-head p { margin: 0; color: #5E5437; font-size: .93rem; line-height: 1.55; }
.cp-vigil ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cp-vigil li { position: relative; padding-left: 20px; color: #4A4330; font-size: .93rem; line-height: 1.55; }
.cp-vigil li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.cp-vigil li strong { color: var(--ink); font-weight: 600; }
.home .cp-vigil a { color: var(--green-d); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
    .cp-engage-grid { grid-template-columns: 1fr 1fr; }
    .cp-engage-item:nth-child(n) { border-left: 1px solid var(--rule); border-top: 1px solid var(--rule); }
    .cp-engage-item:nth-child(odd) { border-left: 0; }
    .cp-engage-item:nth-child(-n+2) { border-top: 0; }
    .cp-vigil { grid-template-columns: 1fr; padding: 22px 20px; }
}
@media (max-width: 560px) {
    .cp-engage-grid { grid-template-columns: 1fr; }
    .cp-engage-item:nth-child(n) { border-left: 0; border-top: 1px solid var(--rule); padding: 24px 20px; }
    .cp-engage-item:first-child { border-top: 0; }
}

/* Rappel d'immatriculation sous le formulaire */
.cp-form-seal { display: flex; align-items: flex-start; gap: 10px; margin: 16px 6px 0; font-size: .82rem; line-height: 1.5; color: var(--muted); }
.cp-form-seal svg { flex-shrink: 0; width: 18px; height: 18px; color: var(--green); margin-top: 1px; }
.home .cp-form-seal a { font-weight: 600; white-space: nowrap; }
.cp-form-editor { margin: 10px 6px 0; padding-top: 10px; border-top: 1px solid var(--rule); font-size: .76rem; line-height: 1.5; color: var(--muted); }
.cp-form-editor strong { color: var(--ink-2); font-weight: 600; }
.home .cp-form-editor a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: rgba(22,33,58,.3); white-space: nowrap; }
.home .hero:not(.cp-hero) h1 { font-size: clamp(1.9rem, 3.1vw, 2.65rem); }

/* FAQ en deux colonnes : titre + contact à gauche, questions à droite */
.cp-faq-in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 56px; align-items: start; }
.cp-faq-side h2 { margin: 0 0 14px; }
.cp-faq-side > p { color: var(--ink-2); line-height: 1.65; margin: 0 0 26px; max-width: 38ch; }
.cp-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px 24px; background: var(--paper-2); border: 1px solid var(--rule); border-radius: 16px; }
.cp-contact strong { color: var(--ink); font-size: 1.02rem; font-weight: 600; }
.cp-contact span { color: var(--ink-2); font-size: .92rem; line-height: 1.5; }
.cp-contact .btn { margin: 12px 0 6px; padding: 11px 18px; font-size: .92rem; }
.cp-contact address { font-style: normal; color: var(--muted); font-size: .86rem; line-height: 1.55; padding-top: 12px; border-top: 1px solid var(--rule); width: 100%; }
.cp-faq-in .faq-list { max-width: none; }
@media (max-width: 900px) { .cp-faq-in { grid-template-columns: 1fr; gap: 28px; } }

.home .cp-trust { background: var(--paper-2); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.cp-trust-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; }
.cp-trust-text h2 { margin: 0 0 16px; }
.cp-trust-text p { color: var(--ink-2); line-height: 1.7; margin: 0 0 14px; max-width: 50ch; }
.cp-trust-text .btn { margin-top: 10px; }
.cp-fiche { background: #fff; border: 1px solid var(--rule); border-radius: 18px; box-shadow: 0 1px 2px rgba(22,33,58,.05), 0 30px 60px -30px rgba(22,33,58,.4); padding: 24px 28px 12px; }
.cp-fiche-head { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--rule); }
.cp-fiche-head img { width: 46px; height: 46px; flex-shrink: 0; }
.cp-fiche-head span { display: block; font-family: var(--font-label); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cp-fiche-head strong { display: block; font-family: var(--font-display); font-stretch: 112%; font-size: 1.15rem; color: var(--ink); letter-spacing: -0.01em; margin-top: 2px; }
.cp-fiche dl { margin: 0; }
.cp-fiche dl > div { display: grid; grid-template-columns: minmax(0, 170px) minmax(0, 1fr); gap: 2px 20px; padding: 11px 0; border-bottom: 1px solid var(--rule-2); }
.cp-fiche dl > div:last-child { border-bottom: 0; }
.cp-fiche dt { color: var(--muted); font-size: .86rem; }
.cp-fiche dd { margin: 0; color: var(--ink); font-size: .93rem; font-weight: 500; }
.cp-fiche dd.num { font-family: var(--font-mono); font-weight: 500; font-variant-numeric: tabular-nums; }
@media (max-width: 560px) { .cp-fiche { padding: 20px 18px 8px; } .cp-fiche dl > div { grid-template-columns: 1fr; } }

/* ============ CHIFFRES (ligne à filets) ============ */
.home .stats-band { background: var(--paper); color: var(--ink); padding: 64px 0; }
.home .types + .stats-band { padding-top: 0; }
.home .stats-band::before { display: none; }
.home .stats-grid { gap: 0; text-align: left; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
.home .stats-grid > div { padding: 26px 24px 24px; border-left: 1px solid var(--rule); min-width: 0; }
.home .stats-grid > div:first-child { padding-left: 0; border-left: 0; }
.home .stat-num { color: var(--ink); font-stretch: 112%; font-size: clamp(1.9rem, 3.2vw, 2.6rem); letter-spacing: -0.03em; margin-bottom: 8px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.home .stat-num::after { display: none; }
.home .stat-label { color: var(--muted); font-size: .9rem; }

/* ============ TÉMOIGNAGES ============ */
.home .testimonials { background: var(--paper); }
.home .tcard { background: none; border: 0; border-top: 1px solid var(--ink); border-radius: 0; box-shadow: none; padding: 22px 0 0; }
.home .tcard .stars { color: var(--gold); }
.home .tquote { color: var(--ink); font-size: 1rem; line-height: 1.65; }
.home .tav-1, .home .tav-2, .home .tav-3 { background: var(--ink); font-family: var(--font-display); }

/* ============ FAQ (accordéon à filets) ============ */
.home .faq { background: var(--paper); }
.home .faq-list { max-width: 860px; margin: 0; gap: 0; border-top: 1px solid var(--ink); }
.home .faq-item, .home .faq-item[open] { background: none; border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; box-shadow: none; }
.home .faq-item summary { font-family: var(--font-sans); font-size: 1.04rem; font-weight: 600; letter-spacing: 0; padding: 20px 0; color: var(--ink); }
.home .faq-icon, .home .faq-item[open] .faq-icon { background: #fff; color: var(--green); border: 1px solid #B9CFC5; border-radius: 50%; font-family: var(--font-sans); font-weight: 400; font-size: 1.15rem; width: 30px; height: 30px; }
.home .faq-item[open] .faq-icon { background: var(--green); border-color: var(--green); color: #fff; }
.home .faq-body { padding: 0 0 22px; color: var(--ink-2); max-width: 68ch; }

/* ============ APPEL À L'ACTION ============ */
.home .final-cta { background: linear-gradient(160deg, #1B2947 0%, #16213A 60%); text-align: left; padding: 76px 0; }
.home .final-cta::before { background: repeating-radial-gradient(circle at 100% 0%, transparent 0 21px, rgba(255,255,255,.045) 21px 22px); -webkit-mask-image: radial-gradient(50% 120% at 100% 0%, #000 10%, transparent 75%); mask-image: radial-gradient(50% 120% at 100% 0%, #000 10%, transparent 75%); }
.home .final-cta-inner { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 48px; align-items: center; }
.home .final-cta h2 { grid-column: 1; color: #fff; margin: 0 0 12px; }
.home .final-cta p { grid-column: 1; color: rgba(255,255,255,.78); font-size: 1.06rem; margin: 0; max-width: 54ch; }
.home .final-cta .btn { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.home .final-cta .micro { grid-column: 1 / -1; margin: 28px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); font-family: var(--font-label); font-size: .72rem; letter-spacing: .04em; color: rgba(255,255,255,.6); max-width: none; }
@media (max-width: 760px) {
    .home .final-cta-inner { grid-template-columns: 1fr; }
    .home .final-cta .btn { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 24px; }
}

/* ============ EN-TÊTE DE PAGE INTÉRIEURE ============ */
.cp-page-hero { position: relative; overflow: hidden; padding: 56px 0 48px; text-align: left; background: var(--paper-2); border-bottom: 1px solid var(--rule); }
.cp-page-hero::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: repeating-radial-gradient(circle at 92% 50%, transparent 0 17px, rgba(30,107,82,.06) 17px 18px);
    -webkit-mask-image: radial-gradient(40% 120% at 92% 50%, #000 10%, transparent 72%);
            mask-image: radial-gradient(40% 120% at 92% 50%, #000 10%, transparent 72%);
}
.cp-page-hero > .container { position: relative; }
.home .cp-page-hero h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; margin: 0 0 14px; color: var(--ink); }
.cp-page-hero p { color: var(--ink-2); max-width: 62ch; margin: 0; line-height: 1.7; font-size: 1.04rem; }

/* ============ PAGE DOCUMENTS ============ */
.home .doc-hero { background: var(--paper-2); color: var(--ink-2); padding: 52px 0 44px; border-bottom: 1px solid var(--rule); }
.home .doc-hero::before { display: none; }
.home .doc-hero h1 { color: var(--ink); }
.home .doc-hero h1 .highlight { color: var(--green); -webkit-text-fill-color: var(--green); }
.home .doc-hero p { color: var(--ink-2); }
.home .doc-hero .hero-badge { background: none; border: 0; padding: 0; border-radius: 0; color: var(--green); font-family: var(--font-label); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.home .doc-hero .hero-badge svg { color: var(--green); }
.home .doc-page { background: var(--paper); }
.home .doc-form-card { border: 1px solid var(--rule); border-radius: 18px; box-shadow: 0 1px 2px rgba(22,33,58,.05), 0 30px 60px -30px rgba(22,33,58,.4); }
.home .doc-step { background: var(--ink); border-radius: 6px; font-family: var(--font-label); font-weight: 500; }
.home .doc-group-title { font-family: var(--font-label); font-weight: 500; color: var(--muted); }
.home .doc-note { border-left-color: var(--gold); background: var(--paper-2); }
.home .fd-icon { color: var(--green); background: var(--green-soft); border-color: transparent; }
.home .file-drop:hover { border-color: var(--green); }

/* Pièce déjà validée par l'admin : verrouillée, non modifiable */
.home .fd-locked {
    position: relative; display: flex; align-items: center; gap: 14px;
    padding: 15px 17px; border-radius: var(--r-md);
    background: #EAF6EF; border: 1.5px solid #1F9D57; cursor: not-allowed;
}
.home .fd-locked .fd-icon { background: #fff; border: 1px solid #1F9D57; color: #1F9D57; }
.home .fd-locked .fd-text strong { color: var(--ink); }
.home .fd-locked .fd-hint { color: #147A41; white-space: normal; }
.home .fd-locked .fd-badge { display: flex; background: #1F9D57; }

/* Page de confirmation */
.home .success-page { background: var(--paper-2); }
.home .success-page::before { display: none; }
.home .success-card { border: 1px solid var(--rule); border-radius: 18px; box-shadow: 0 1px 2px rgba(22,33,58,.05), 0 30px 60px -30px rgba(22,33,58,.4); }
.home .success-icon { background: var(--green); box-shadow: none; }

/* ============ MENTIONS LÉGALES ============ */
.cp-legal { background: var(--paper); }
.cp-legal .legal-card { background: #fff; border: 0; border-radius: 0; padding: 0; max-width: 860px; margin: 0; box-shadow: none; }
.home .cp-legal h3 { font-size: 1.15rem; margin: 40px 0 14px; padding: 16px 0 0; border-top: 1px solid var(--ink); border-bottom: 0; }
.cp-legal h3:first-of-type { margin-top: 0; }
.legal-dl { display: grid; grid-template-columns: 240px 1fr; gap: 0 24px; margin: 0; }
.legal-dl dt, .legal-dl dd { padding: 10px 0; border-bottom: 1px solid var(--rule-2); }
.legal-dl dt { color: var(--muted); font-size: .9rem; }
.legal-dl dd { margin: 0; color: var(--ink); font-size: .95rem; font-weight: 500; overflow-wrap: break-word; }
.cp-legal p, .cp-legal li { color: var(--ink-2); line-height: 1.7; font-size: .96rem; max-width: 72ch; }
.cp-legal ul { list-style: disc; padding-left: 22px; margin: 0 0 1em; }
.cp-legal a { color: var(--green); overflow-wrap: break-word; }
@media (max-width: 640px) {
    .legal-dl { grid-template-columns: 1fr; }
    .legal-dl dt { border-bottom: 0; padding-bottom: 0; }
}

/* ============ FOOTER ============ */
.home .footer { background: #101A30; padding: 68px 0 28px; }
.home .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 44px; }
.home .footer-grid li { color: rgba(226,233,247,.66); line-height: 1.5; }
.home .footer-reg li b { color: #fff; font-weight: 500; }
.home .brand-text { font-family: var(--font-display); font-stretch: 118%; font-weight: 700; letter-spacing: .06em; font-size: 1.02rem; color: #fff; }
.home .footer .brand-text { font-size: 1.02rem; }
.home .brand-text span { color: var(--gold-l); }
.home .brand-mark { border-radius: 50%; box-shadow: none; }
.home .footer-grid h4 { font-family: var(--font-label); font-stretch: 100%; font-weight: 500; letter-spacing: .12em; color: rgba(255,255,255,.6); }
.home .footer-grid a { color: rgba(226,233,247,.8); }
.home .footer-grid a:hover { color: #fff; }
.home .footer-bottom { text-align: left; }

/* ============ RESPONSIVE ============ */
@media (max-width: 980px) {
    .home { --section-y: 68px; }
    .home .hero { padding: 40px 0 48px; }
    .home .hero-inner { grid-template-columns: 1fr; gap: 36px; }
    .home .section-head { grid-template-columns: 1fr; }
    .home .section-head p { grid-column: 1; margin-top: 14px; }
    .cp-split, .cp-trust-in { grid-template-columns: 1fr; gap: 32px; }
    .home .steps, .home .steps.steps-4 { grid-template-columns: 1fr 1fr; }
    .home .steps { gap: 28px 24px; }
    .home .steps::before { display: none; }
    .home .step .step-num, .home .step:nth-child(n) .step-num { margin-bottom: 14px; box-shadow: none; }
    .home .stats-grid > div:nth-child(3) { padding-left: 0; border-left: 0; }
    .home .stats-grid > div:nth-child(n+3) { border-top: 1px solid var(--rule); }
    .home .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 600px) {
    .home { --section-y: 54px; }
    .home .hero h1 { font-size: 2.1rem; }
    .hero-meta { flex-wrap: wrap; gap: 16px 0; }
    .hm-item { flex: 1 1 50%; padding: 0 16px 0 0; border-left: 0; }
    .cp-list2 { grid-template-columns: 1fr; }
    .cp-list2 .type-card:nth-child(2) { border-top-color: var(--rule); }
    .home .steps, .home .steps.steps-4 { grid-template-columns: 1fr; }
    .cp-hero-cta .btn { width: 100%; }
}
