/* Offres sans montants publics — version du 2 octobre 2026. */
.offer-focus { margin-bottom: 1rem; }
.offer-focus-title { display: block; font-family: 'Playfair Display', serif; font-size: 1.55rem; line-height: 1.3; color: #1e3a5f; margin-bottom: .65rem; }
.offer-focus-copy { display: block; font-size: .9rem; line-height: 1.65; color: #475569; }
.quote-summary { max-width: 980px; margin: 2.25rem auto 0; padding: 2rem; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center; background: #f8f5ed; border-left: 3px solid #c9a961; }
.quote-summary h3 { color: #1e3a5f; font-size: 1.35rem; margin-bottom: .65rem; }
.quote-summary p { font-size: .9rem; color: #475569; margin: 0; }
.quote-summary .btn { white-space: normal; text-align: center; }
.digital-focus { color: #1e3a5f; font-size: .95rem; font-weight: 600; margin: 1.25rem 0 .5rem; }
@media (max-width: 900px) { .quote-summary { grid-template-columns: minmax(0,1fr); padding: 1.5rem; gap: 1.2rem; } .quote-summary .btn { justify-self: start; } }
/* Cohérence visuelle et accessibilité des six pages. */
:root { --c-gray: #475569; --gray: #475569; --color-gray: #475569; }
[hidden] { display: none !important; }
html { scroll-padding-top: 96px; }
body { font-family: 'Montserrat', sans-serif; font-weight: 400; line-height: 1.7; }
main { display: block; }
:focus-visible { outline: 3px solid #967429; outline-offset: 5px; }
main:focus { outline: none; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 2000; padding: 12px 20px; background: #fff; color: #1e3a5f; }
.skip-link:focus { top: 8px; }
.navbar { height: 84px; border-bottom: 1px solid #e2e8f0; box-shadow: none; }
.navbar .container { height: 100%; }
.nav-content { height: 100%; padding: 0; gap: 24px; }
.logo-wrapper { flex: 0 0 auto; gap: 10px; }
.logo-wrapper .logo-img { height: 42px; width: 58px; object-fit: contain; }
.logo-text { display: flex; flex-direction: column; line-height: 1.25; }
.logo-text .brand-name { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: #1e3a5f; white-space: nowrap; letter-spacing: 0; }
.logo-text .brand-tagline { margin-top: 4px; font-size: .56rem; letter-spacing: .07em; color: #846529; white-space: nowrap; }
.navbar .nav-links { position: static; display: flex; flex-direction: row; gap: 28px; height: auto; width: auto; margin: 0; padding: 0; list-style: none; align-items: center; box-shadow: none; }
.navbar .nav-link { font-size: .87rem; font-weight: 500; white-space: nowrap; letter-spacing: 0; }
.navbar .nav-link.btn { padding: .75rem 1.3rem; color: white; }
.menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 0; background: transparent; cursor: pointer; flex: 0 0 auto; }
.menu-toggle span { display: block; width: 23px; height: 2px; background: #1e3a5f; transition: transform .18s; }
.menu-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.page-hero, .hero-premium { padding: 9rem 0 4rem; }
.legal-page { padding-top: 9rem; }
.page-hero-title, .hero-premium-title { max-width: 960px; margin-bottom: 1.5rem; }
.page-hero-sub, .hero-premium-sub { max-width: 760px; font-weight: 400; font-size: 1.06rem; }
.eyebrow, .service-number, .posture-num, .included-num { color: #846529; }
.page-hero .eyebrow, .hero-premium .eyebrow { margin-bottom: 1.1rem; }
.narrative, .commitments, .morocco-premium, .posture, .services-premium, .offers-premium, .included-premium, .faq-premium, .mission-section, .service-block, .economics, .cta-premium, .contact-section { padding: 4.5rem 0; }
.section-header-premium { margin-bottom: 2.5rem; }
.service-block-text h2 { margin-bottom: 2rem; }
.service-block-grid { gap: 4rem; }
.service-chapters { gap: 1.5rem; }
.service-chapter p, .narrative p, .page-hero-sub, .posture-item p, .cta-premium p, .included-premium-item p, .mission-panel p, .faq-item p, .commitment-row p, .morocco-premium-item p, .morocco-note, .offer-premium-body p, .offer-premium-line { font-weight: 400; color: #475569; }
.service-premium-card p { color: #475569; font-weight: 400; }
.differenciation .diff-besoin, .methode-item p { color: #b8b3ab; }
.chiffre-label { color: #c5beb1; }
.engagement-intro, .engagement-item p { color: #c2bbb0; }
.manifesto { padding: 3.5rem 0; }
.manifesto::before { top: 1.5rem; }
.manifesto::after { bottom: 1.5rem; }
.economics-lead { font-weight: 400; }
.economics .eyebrow, .economics-grid h4 { color: #dcc28b; }
.service-jump-nav { padding: 1rem 0; border-bottom: 1px solid #e2e8f0; background: white; }
.service-jump-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; }
.service-jump-links a { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem 1rem; border: 1px solid #ccd3dd; border-radius: 30px; color: #1e3a5f; font-size: .8rem; font-weight: 600; text-decoration: none; }
.service-jump-links a:hover { background: #f8f5ed; border-color: #967429; }
.inline-link { display: inline-block; margin-top: .8rem; color: #1e3a5f; font-weight: 600; text-underline-offset: 4px; }
.founder-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; margin: 2.25rem 0; }
.founder-card { padding: 1.6rem; border: 1px solid #dce2e8; border-top: 3px solid #c9a961; background: #fbfaf6; }
.founder-initials { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: #1e3a5f; color: #e8d5a0; border-radius: 50%; font-size: .9rem; font-weight: 600; margin-bottom: 1.2rem; }
.founder-card h3 { font-size: 1.45rem; margin-bottom: .35rem; }
.founder-card p { margin: 0; font-size: .9rem; }
.commitments { background: #fbfaf6; }
.morocco-premium { background: #fff; }
.commitment-row h3, .morocco-premium-item h3 { color: #1e3a5f; font-size: 1.15rem; margin-bottom: .4rem; }
.offer-total { margin: 1.5rem 0; color: #475569; padding-top: 1rem; border-top: 1px solid #e2e8f0; font-size: .84rem; line-height: 1.6; }
.offer-total strong { display: block; color: #1e3a5f; font-size: 1.05rem; }
.delivery-notes { margin-top: 2rem; }
.delivery-notes h3 { font-size: 1.5rem; margin-bottom: 1rem; }
.delivery-notes dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 2rem; }
.delivery-notes dt { font-weight: 600; color: #1e3a5f; margin-bottom: .35rem; }
.delivery-notes dd { margin: 0; font-size: .92rem; line-height: 1.7; color: #475569; }
.contact-wrapper { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.3fr); gap: 3rem; align-items: start; }
.contact-wrapper > *, .form-group { min-width: 0; }
.contact-form { padding: 0; background: transparent; box-shadow: none; }
.btn-large { max-width: 100%; white-space: normal; text-align: center; }
.contact-info h2 { font-size: 2rem; margin-bottom: 1rem; }
.contact-info h3 { font-size: 1.1rem; margin-bottom: .4rem; }
.contact-info p { color: #475569; font-size: .95rem; }
.contact-methods { margin: 1.8rem 0; }
.method-details a { overflow-wrap: anywhere; color: #1e3a5f; }
.next-steps { margin: 1rem 0 0 1.25rem; color: #475569; font-size: .92rem; }
.next-steps li { margin-bottom: .8rem; padding-left: .3rem; }
.contact-form-wrapper { padding: 2rem; border: 1px solid #dce2e8; background: #fbfaf6; border-radius: 6px; box-shadow: none; }
.form-header h2 { font-size: 1.75rem; margin-bottom: .7rem; }
.form-header p { font-size: .88rem; color: #475569; }
.direct-contact .form-header { margin-bottom: 1.5rem; }
.direct-email { display: block; margin: 1.25rem 0 1.75rem; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 600; color: #1e3a5f; overflow-wrap: anywhere; text-underline-offset: 5px; }
.email-prompts { margin-bottom: 1.75rem; }
.email-prompts h3 { font: inherit; font-size: .92rem; font-weight: 600; color: #1e3a5f; margin-bottom: .65rem; }
.email-prompts ul { margin-left: 1.25rem; color: #475569; font-size: .9rem; }
.email-prompts li { margin-bottom: .5rem; }
.email-help, .email-privacy { font-size: .8rem; line-height: 1.65; color: #475569; margin-top: 1rem; }
.email-privacy a { color: #1e3a5f; text-underline-offset: 3px; }
.form-group { margin-bottom: 1.15rem; }
.form-group label { font-size: .88rem; }
.optional { font-size: .8rem; color: #64748b; font-weight: 400; }
.form-group input, .form-group select, .form-group textarea { font: inherit; font-size: 1rem; padding: .8rem; width: 100%; border: 1px solid #aeb9c7; border-radius: 4px; background: #fff; color: #0f1f36; }
.form-group textarea { resize: vertical; min-height: 120px; }
.form-group input[type=checkbox] { width: 18px; height: 18px; margin-top: 4px; flex: 0 0 auto; accent-color: #1e3a5f; }
.checkbox-label a { color: #1e3a5f; text-underline-offset: 3px; }
.field-hint { color: #475569; font-size: .8rem; margin-top: .35rem; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.selected-plan, .preview-notice, .form-status { margin: 0 0 1.25rem; padding: 1rem; font-size: .87rem; line-height: 1.65; background: #eef3f8; border-left: 3px solid #1e3a5f; color: #1e3a5f; }
.preview-notice { background: #fff5da; border-color: #846529; color: #5c471b; }
.form-status { margin: 1.25rem 0 0; }
.form-status[data-state=error] { background: #fff0ee; color: #8b2a1e; border-color: #8b2a1e; }
.form-status[data-state=success] { background: #edf6ef; color: #225334; border-color: #225334; }
.form-status a { color: inherit; text-decoration: underline; }
.btn[disabled] { cursor: wait; opacity: .65; }
.footer { background: #0f1f36; padding: 3.5rem 0 1.5rem; }
.footer-content { grid-template-columns: minmax(0,1fr) minmax(0,1.8fr); gap: 3rem; }
.footer-links { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.footer-wordmark { font-size: 1.8rem; }
.footer-tagline { color: #dcc28b; font-size: .9rem; }
.footer-column h2 { font-size: 1.1rem; color: #fff; margin-bottom: 1.1rem; }
.footer-column a, .footer-description, .footer-column li, .footer-bottom, .footer-bottom a { color: #c4cdd8; font-size: .85rem; line-height: 1.7; overflow-wrap: anywhere; }
.footer-description { margin-top: .75rem; }
.footer-column li { margin-bottom: .6rem; }
@media (max-width: 1000px) {
    .navbar .nav-links { gap: 18px; }
    .logo-text .brand-tagline { display: none; }
    .footer-content { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 900px) {
    .navbar { height: 76px; }
    .nav-content { flex-wrap: wrap; gap: 0; }
    .js .menu-toggle { display: flex; }
    .navbar .nav-links { position: absolute; left: 0; top: 76px; width: 100%; flex-direction: column; gap: 0; background: white; padding: .5rem 1.5rem 1rem; border-bottom: 1px solid #dce2e8; }
    .js .navbar .nav-links { display: none; }
    .js .navbar .nav-links.active { display: flex; }
    .navbar .nav-links li { width: 100%; text-align: left; }
    .navbar .nav-link { display: block; padding: .8rem; }
    .navbar .nav-links .btn { display: flex; margin-top: .4rem; }
    .nav-link::after { display: none; }
    html { scroll-padding-top: 88px; }
    .page-hero, .hero-premium { padding: 8rem 0 3rem; }
    .legal-page { padding-top: 8rem; }
    .narrative, .commitments, .morocco-premium, .posture, .services-premium, .offers-premium, .included-premium, .faq-premium, .mission-section, .service-block, .economics, .cta-premium, .contact-section { padding: 3rem 0; }
    .contact-wrapper { grid-template-columns: minmax(0,1fr); gap: 2rem; }
    .contact-form-wrapper { grid-row: 1; }
    .service-block-grid { grid-template-columns: minmax(0,1fr); gap: 2rem; }
    .service-block-visual { max-width: 300px; }
    .services-premium-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; }
    .footer-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .container { padding-left: 1.25rem; padding-right: 1.25rem; }
    .navbar .logo-img { width: 42px; height: 36px; }
    .logo-text .brand-name { font-size: 1.15rem; }
    .logo-wrapper { gap: 7px; }
    .page-hero-title, .hero-premium-title { font-size: 2.15rem; line-height: 1.16; }
    .page-hero-sub, .hero-premium-sub { font-size: .98rem; }
    .founder-grid, .services-premium-grid, .delivery-notes dl { grid-template-columns: 1fr; }
    .footer-links { grid-template-columns: 1fr; gap: 1.6rem; }
    .contact-form-wrapper { padding: 1.3rem; }
    .form-row { display: block; }
    .service-chapter { padding-left: 1rem; }
    .offer-premium, .digital-card, .mission-panel { padding: 1.6rem; }
    .offer-price-amount { font-size: 2.8rem; }
    .admin-flow { padding: 1.3rem; }
    .chiffre-item { padding: 24px 12px; }
    .methode-grid { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .illus-wrap .fade-up { opacity: 1; }
}
