    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'Poppins', sans-serif;
      background: #FAF9F7;
      color: #1a1a1a;
      overflow-x: hidden;
    }

    /* ===== SCROLL REVEAL ===== */
    .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .reveal.visible { opacity: 1; transform: none; }
    .reveal-left {
      opacity: 0;
      transform: translateX(-40px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .reveal-left.visible { opacity: 1; transform: none; }
    .d1 { transition-delay: 0.1s; }
    .d2 { transition-delay: 0.2s; }
    .d3 { transition-delay: 0.3s; }
    .d4 { transition-delay: 0.4s; }

    /* ===== NAVBAR ===== */
    #navbar {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 100;
      transition: background 0.35s ease, box-shadow 0.35s ease;
    }
    #navbar.transparent { background: transparent; box-shadow: none; }
    #navbar.solid {
      background: rgba(255,255,255,0.97);
      backdrop-filter: blur(14px);
      box-shadow: 0 1px 24px rgba(0,0,0,0.07);
    }
    .nav-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1.5rem;
      height: 68px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .nav-logo {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      text-decoration: none;
      transition: opacity 0.2s;
    }
    .nav-logo:hover { opacity: 0.8; }
    .nav-logo-text {
      font-size: 1.2rem;
      font-weight: 800;
      letter-spacing: -0.3px;
      transition: color 0.3s;
    }
    #navbar.transparent .nav-logo-text { color: white; }
    #navbar.solid .nav-logo-text { color: #111827; }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 2rem;
    }
    .nav-link {
      font-size: 0.875rem;
      font-weight: 500;
      text-decoration: none;
      position: relative;
      transition: color 0.2s;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -3px; left: 0; right: 0;
      height: 2px;
      background: #B8956F;
      transform: scaleX(0);
      transition: transform 0.25s ease;
      transform-origin: left;
    }
    .nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); }
    #navbar.transparent .nav-link { color: rgba(255,255,255,0.88); }
    #navbar.transparent .nav-link:hover { color: white; }
    #navbar.solid .nav-link { color: #4b5563; }
    #navbar.solid .nav-link:hover, #navbar.solid .nav-link.active { color: #B8956F; }
    .nav-cta {
      padding: 0.55rem 1.4rem;
      border-radius: 8px;
      font-weight: 700;
      font-size: 0.875rem;
      border: none;
      cursor: pointer;
      font-family: 'Poppins', sans-serif;
      transition: all 0.25s ease;
    }
    #navbar.transparent .nav-cta { background: white; color: #B8956F; }
    #navbar.transparent .nav-cta:hover { background: #f0f0f0; }
    #navbar.solid .nav-cta { background: #B8956F; color: white; }
    #navbar.solid .nav-cta:hover { background: #A6845D; }
    .nav-hamburger {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0.4rem;
    }
    .nav-hamburger-icon { transition: color 0.3s; }
    #navbar.transparent .nav-hamburger-icon { color: white; }
    #navbar.solid .nav-hamburger-icon { color: #111827; }
    #mobile-menu {
      display: none;
      background: white;
      border-top: 1px solid #f0ece5;
      padding: 1rem 1.5rem 1.5rem;
    }
    .mobile-link {
      display: block;
      padding: 0.75rem 0;
      color: #374151;
      font-weight: 500;
      font-size: 0.95rem;
      text-decoration: none;
      border-bottom: 1px solid #f5f3f0;
    }

    /* ===== BUTTONS ===== */
    .btn {
      display: inline-block;
      padding: 0.875rem 2rem;
      border-radius: 8px;
      font-weight: 700;
      font-size: 0.95rem;
      font-family: 'Poppins', sans-serif;
      cursor: pointer;
      border: none;
      transition: all 0.25s ease;
      text-decoration: none;
    }
    .btn-amber {
      background: #B8956F;
      color: white;
    }
    .btn-amber:hover {
      background: #A6845D;
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(184,149,111,0.38);
    }
    .btn-outline-white {
      background: transparent;
      color: white;
      border: 2px solid rgba(255,255,255,0.55);
    }
    .btn-outline-white:hover {
      border-color: white;
      background: rgba(255,255,255,0.1);
    }
    .btn-outline-dark {
      background: transparent;
      color: #374151;
      border: 2px solid #e5e7eb;
    }
    .btn-outline-dark:hover { background: #f9fafb; border-color: #d1d5db; }

    /* ===== LAYOUT ===== */
    .container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }
    .container-narrow {
      max-width: 860px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }
    .section { padding: 6rem 0; }
    .section-sm { padding: 4rem 0; }

    /* ===== SECTION LABELS ===== */
    .label {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #B8956F;
      margin-bottom: 0.75rem;
    }
    .heading-xl {
      font-size: clamp(2rem, 4.5vw, 3.25rem);
      font-weight: 800;
      line-height: 1.1;
      letter-spacing: -0.5px;
      color: #111827;
    }
    .heading-xl span { color: #B8956F; }
    .sub {
      font-size: 1.05rem;
      color: #6b7280;
      line-height: 1.75;
      margin-top: 1rem;
    }

    /* ===== PAGE SYSTEM ===== */
    .page { display: none; }
    .page.active { display: block; }

    /* ===== HERO ===== */
    .hero {
      height: 100vh;
      min-height: 620px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .hero-bg {
      position: absolute;
      inset: 0;
      background-image: url('/assets/img/open-space-coworking-paris-10-1600.webp');
      background-size: cover;
      background-position: center;
      animation: zoomIn 9s ease-out forwards;
    }
    @keyframes zoomIn {
      from { transform: scale(1.08); }
      to { transform: scale(1.0); }
    }
    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        160deg,
        rgba(8,8,8,0.72) 0%,
        rgba(20,12,4,0.58) 60%,
        rgba(40,25,10,0.45) 100%
      );
    }
    .hero-content {
      position: relative;
      z-index: 10;
      text-align: center;
      color: white;
      padding: 0 1.5rem;
      max-width: 860px;
    }
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: rgba(184,149,111,0.2);
      border: 1px solid rgba(184,149,111,0.5);
      color: #E8C89A;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      padding: 0.45rem 1.25rem;
      border-radius: 100px;
      margin-bottom: 2rem;
      animation: fadeDown 0.8s ease 0.2s both;
    }
    .hero-title {
      font-size: clamp(3rem, 8vw, 6rem);
      font-weight: 900;
      line-height: 1.0;
      letter-spacing: -2px;
      margin-bottom: 1.5rem;
      animation: fadeUp 0.9s ease 0.4s both;
    }
    .hero-title em {
      font-style: normal;
      color: #E8C89A;
      display: block;
    }
    .hero-sub {
      font-size: clamp(1rem, 2.2vw, 1.2rem);
      font-weight: 300;
      opacity: 0.85;
      line-height: 1.7;
      max-width: 560px;
      margin: 0 auto 2.5rem;
      animation: fadeUp 0.9s ease 0.6s both;
    }
    .hero-buttons {
      display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap;
      animation: fadeUp 0.9s ease 0.8s both;
    }
    .hero-scroll-hint {
      position: absolute;
      bottom: 2.5rem;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.4rem;
      color: rgba(255,255,255,0.45);
      animation: scrollBounce 2.5s infinite 2s;
    }
    .hero-scroll-hint span { font-size: 0.65rem; letter-spacing: 3px; text-transform: uppercase; }
    @keyframes scrollBounce {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(9px); }
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(24px); }
      to { opacity: 1; transform: none; }
    }
    @keyframes fadeDown {
      from { opacity: 0; transform: translateY(-16px); }
      to { opacity: 1; transform: none; }
    }

    /* ===== STATS STRIP ===== */
    .stats-strip {
      background: #111827;
      padding: 0;
    }
    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }
    .stat-cell {
      padding: 2.5rem 1.5rem;
      text-align: center;
      border-right: 1px solid rgba(255,255,255,0.07);
      transition: background 0.25s;
    }
    .stat-cell:last-child { border-right: none; }
    .stat-cell:hover { background: rgba(255,255,255,0.03); }
    .stat-num {
      font-size: 2.2rem;
      font-weight: 800;
      color: #E8C89A;
      line-height: 1;
      margin-bottom: 0.4rem;
    }
    .stat-num sup { font-size: 1.1rem; vertical-align: super; }
    .stat-lbl {
      font-size: 0.75rem;
      color: rgba(255,255,255,0.45);
      text-transform: uppercase;
      letter-spacing: 1.5px;
      font-weight: 400;
    }

    /* ===== ABOUT ===== */
    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }
    .about-img-wrap {
      position: relative;
    }
    .about-img {
      width: 100%;
      height: 500px;
      object-fit: cover;
      border-radius: 20px;
      display: block;
    }
    .about-float-badge {
      position: absolute;
      bottom: 2rem;
      left: -1.5rem;
      background: white;
      border-radius: 14px;
      padding: 1rem 1.25rem;
      box-shadow: 0 12px 40px rgba(0,0,0,0.14);
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }
    .about-float-icon {
      width: 42px;
      height: 42px;
      background: #FDF6EE;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .checklist {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.875rem;
      margin-top: 1.75rem;
    }
    .checklist li {
      display: flex;
      align-items: center;
      gap: 0.875rem;
      font-size: 0.95rem;
      color: #374151;
    }
    .check-icon {
      width: 32px;
      height: 32px;
      background: #FDF6EE;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    /* ===== FEATURE CARDS ===== */
    .feature-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }
    .feature-card {
      background: white;
      border-radius: 16px;
      padding: 2rem;
      border: 1px solid #f0ece5;
      transition: all 0.3s ease;
      cursor: pointer;
    }
    .feature-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 50px rgba(0,0,0,0.09);
      border-color: #E8DCC6;
    }
    .feature-icon-wrap {
      width: 50px;
      height: 50px;
      background: #FDF6EE;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.25rem;
    }
    .feature-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: #111827;
      margin-bottom: 0.5rem;
    }
    .feature-desc {
      font-size: 0.875rem;
      color: #6b7280;
      line-height: 1.7;
      margin-bottom: 0.875rem;
    }
    .feature-price {
      font-size: 0.9rem;
      font-weight: 700;
      color: #B8956F;
    }

    /* ===== GALLERY ===== */
    .gallery-mosaic {
      display: grid;
      grid-template-columns: 3fr 2fr;
      grid-template-rows: 280px 240px;
      gap: 10px;
      border-radius: 20px;
      overflow: hidden;
    }
    .gallery-cell {
      overflow: hidden;
      position: relative;
    }
    .gallery-cell:first-child { grid-row: span 2; }
    .gallery-cell img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.5s ease;
    }
    .gallery-cell:hover img { transform: scale(1.06); }

    /* ===== CTA BANNER ===== */
    .cta-band {
      background: linear-gradient(135deg, #111827 0%, #1c2a40 100%);
      border-radius: 24px;
      padding: 5rem 3rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .cta-band::before {
      content: '';
      position: absolute;
      top: -30%;
      right: -5%;
      width: 480px;
      height: 480px;
      background: radial-gradient(circle, rgba(184,149,111,0.13) 0%, transparent 70%);
      pointer-events: none;
    }
    .cta-band::after {
      content: '';
      position: absolute;
      bottom: -30%;
      left: -5%;
      width: 380px;
      height: 380px;
      background: radial-gradient(circle, rgba(184,149,111,0.08) 0%, transparent 70%);
      pointer-events: none;
    }

    /* ===== SERVICE CARDS ===== */
    .service-card {
      background: white;
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid #f0ece5;
      transition: all 0.3s ease;
    }
    .service-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 28px 60px rgba(0,0,0,0.11);
    }
    .service-header {
      background: linear-gradient(135deg, #B8956F 0%, #8B6B45 100%);
      padding: 2.25rem 2rem;
      color: white;
    }
    .service-icon-bg {
      width: 54px;
      height: 54px;
      background: rgba(255,255,255,0.18);
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.25rem;
    }
    .service-body { padding: 2rem; }
    .service-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
      margin-bottom: 1.75rem;
    }
    .service-list li {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      font-size: 0.875rem;
      color: #374151;
    }

    /* ===== PRICING ===== */
    .pricing-card {
      background: white;
      border-radius: 18px;
      overflow: hidden;
      border: 1px solid #f0ece5;
      box-shadow: 0 4px 20px rgba(0,0,0,0.05);
      margin-bottom: 1.75rem;
    }
    .pricing-head {
      background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
      padding: 1.5rem 2rem;
      color: white;
      display: flex;
      align-items: center;
      gap: 0.875rem;
    }
    .pricing-head-icon {
      width: 38px;
      height: 38px;
      background: rgba(255,255,255,0.12);
      border-radius: 9px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .pricing-head h2 { font-size: 1.1rem; font-weight: 700; }
    .pricing-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.95rem 2rem;
      border-bottom: 1px solid #faf8f6;
      transition: background 0.2s;
    }
    .pricing-row:last-child { border-bottom: none; }
    .pricing-row:hover { background: #FDFAF6; }
    .pricing-name { font-size: 0.9rem; color: #374151; font-weight: 500; }
    .pricing-name small { color: #9ca3af; font-weight: 400; font-size: 0.8rem; }
    .price-ttc { font-size: 1rem; font-weight: 700; color: #B8956F; }
    .price-ht { font-size: 0.75rem; color: #9ca3af; margin-top: 2px; }

    /* ===== FORMS ===== */
    .form-card {
      background: white;
      border-radius: 20px;
      padding: 2.5rem;
      border: 1px solid #f0ece5;
      box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    }
    .form-label {
      display: block;
      font-weight: 600;
      font-size: 0.875rem;
      color: #374151;
      margin-bottom: 0.45rem;
    }
    .form-input {
      width: 100%;
      padding: 0.8rem 1.1rem;
      border: 2px solid #e9e5e0;
      border-radius: 10px;
      font-family: 'Poppins', sans-serif;
      font-size: 0.9rem;
      color: #1a1a1a;
      background: #FDFAF8;
      outline: none;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .form-input:focus {
      border-color: #B8956F;
      box-shadow: 0 0 0 3px rgba(184,149,111,0.12);
    }
    .form-group { margin-bottom: 1.25rem; }
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.25rem;
      margin-bottom: 1.25rem;
    }

    /* ===== CONTACT ===== */
    .contact-info-card {
      background: white;
      border-radius: 18px;
      padding: 2rem;
      border: 1px solid #f0ece5;
      box-shadow: 0 4px 20px rgba(0,0,0,0.05);
      margin-bottom: 1.25rem;
    }
    .contact-row {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      padding: 1.25rem 0;
      border-bottom: 1px solid #f5f3f0;
    }
    .contact-row:first-child { padding-top: 0; }
    .contact-row:last-child { border-bottom: none; padding-bottom: 0; }
    .contact-icon {
      width: 44px;
      height: 44px;
      background: #FDF6EE;
      border-radius: 11px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .contact-lbl { font-weight: 600; color: #111827; font-size: 0.875rem; margin-bottom: 0.2rem; }
    .contact-val { color: #6b7280; font-size: 0.875rem; text-decoration: none; }
    .contact-hint { color: #9ca3af; font-size: 0.78rem; margin-top: 0.15rem; }
    .hours-card {
      background: #FDF6EE;
      border: 1px solid #E8DCC6;
      border-radius: 18px;
      padding: 1.75rem;
    }
    .hours-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.5rem 0;
    }
    .hours-row:not(:last-child) { border-bottom: 1px solid rgba(184,149,111,0.15); }

    /* ===== FOOTER ===== */
    .footer {
      background: #0d0d0d;
      color: white;
      padding: 5rem 0 2.5rem;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 4rem;
      margin-bottom: 4rem;
    }
    .footer-link {
      display: block;
      color: #6b7280;
      font-size: 0.875rem;
      text-decoration: none;
      padding: 0.3rem 0;
      transition: color 0.2s;
    }
    .footer-link:hover { color: #E8C89A; }
    .footer-divider {
      border-top: 1px solid #1f1f1f;
      padding-top: 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1rem;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 900px) {
      .about-grid { grid-template-columns: 1fr; gap: 2.5rem; }
      .about-float-badge { left: 1rem; }
      .feature-grid { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
      .footer-grid > div:first-child { grid-column: 1 / -1; }
      .gallery-intro-grid { grid-template-columns: 1fr !important; gap: 2rem !important; }
      #contact-grid { grid-template-columns: 1fr !important; }
      .privatisation-card { grid-template-columns: 1fr !important; }
      .privatisation-card .service-header { min-width: unset !important; }
    }
    @media (max-width: 768px) {
      .section { padding: 3.5rem 0; }
      .nav-links { display: none; }
      .nav-hamburger { display: block; }
      .stats-grid { grid-template-columns: 1fr 1fr; }
      .stat-cell:nth-child(2) { border-right: none; }
      .stat-cell:nth-child(3) { border-top: 1px solid rgba(255,255,255,0.07); }
      .stat-cell:nth-child(4) { border-top: 1px solid rgba(255,255,255,0.07); border-right: none; }
      .gallery-mosaic {
        grid-template-columns: 1fr;
        grid-template-rows: 260px 200px 200px;
      }
      .gallery-cell:first-child { grid-row: span 1; }
      .cta-band { padding: 3rem 1.5rem; border-radius: 16px; }
      .feature-grid { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
      .about-img { height: 320px; }
      .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
      .footer-grid > div:first-child { grid-column: auto; }
      .footer-divider { flex-direction: column; text-align: center; }
      .hero-buttons .btn { padding: 0.8rem 1.5rem; font-size: 0.875rem; }
    }
    @media (max-width: 480px) {
      .container, .container-narrow { padding: 0 1rem; }
      .section { padding: 3rem 0; }
      .hero-title { letter-spacing: -1px; }
      .hero-buttons { flex-direction: column; align-items: center; }
      .hero-buttons .btn { width: 100%; max-width: 320px; text-align: center; }
      .stats-grid { grid-template-columns: 1fr 1fr; }
      .stat-num { font-size: 1.8rem; }
      .form-card { padding: 1.5rem; }
      .pricing-row { padding: 0.85rem 1.25rem; }
      .pricing-head { padding: 1.25rem 1.5rem; }
      .feature-card { padding: 1.5rem; }
      .cta-band { padding: 2.5rem 1.25rem; border-radius: 12px; }
      .contact-info-card, .hours-card { padding: 1.5rem; }
    }

    .nav-logo-image {
      width: auto;
      height: 34px;
      display: block;
      object-fit: contain;
    }

/* =====================================================================
   AJOUTS SEO v2 — aucun changement visuel sur les pages existantes.
   Les boutons deviennent des liens <a> (crawlables) : on neutralise
   les différences de rendu <a> vs <button>.
   ===================================================================== */
a.btn, a.nav-cta { text-align: center; }
a.nav-cta { display: inline-block; text-decoration: none; }
a.feature-card { display: block; text-decoration: none; color: inherit; }
.service-header a { color: inherit; text-decoration: none; }

/* Éléments utilisés uniquement sur les nouvelles pages (coworking, domiciliation, salle, blog) */
.faq-item { background: white; border: 1px solid #f0ece5; border-radius: 14px; margin-bottom: 0.75rem; }
.faq-item summary { cursor: pointer; list-style: none; padding: 1.1rem 3rem 1.1rem 1.5rem; font-weight: 600; font-size: 0.95rem; color: #111827; position: relative; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; position: absolute; right: 1.5rem; top: 50%; transform: translateY(-50%); color: #B8956F; font-size: 1.3rem; font-weight: 700; }
.faq-item[open] summary::after { content: '–'; }
.faq-item .faq-a { padding: 0 1.5rem 1.25rem; color: #6b7280; font-size: 0.9rem; line-height: 1.75; }
.faq-item a, .prose a { color: #B8956F; font-weight: 600; }
.prose { color: #374151; font-size: 1rem; line-height: 1.85; }
.prose h2 { font-size: 1.5rem; font-weight: 800; color: #111827; margin: 2.5rem 0 1rem; letter-spacing: -0.3px; }
.prose p { margin-bottom: 1.1rem; }
.prose ul, .prose ol { margin: 0 0 1.25rem 1.25rem; }
.prose li { margin-bottom: 0.4rem; }
.prose table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.5rem; font-size: 0.9rem; background: white; border-radius: 14px; overflow: hidden; border: 1px solid #f0ece5; }
.prose th, .prose td { padding: 0.8rem 1rem; border-bottom: 1px solid #f5f3f0; text-align: left; vertical-align: top; }
.prose thead th { background: #111827; color: white; font-weight: 600; }
.prose .note { background: #FDF6EE; border: 1px solid #E8DCC6; border-radius: 12px; padding: 1rem 1.25rem; font-size: 0.85rem; color: #6b7280; }
.table-scroll { overflow-x: auto; }
.steps-list { counter-reset: s; list-style: none; display: flex; flex-direction: column; gap: 1rem; margin-top: 1.5rem; }
.steps-list li { counter-increment: s; display: flex; gap: 1rem; align-items: flex-start; color: #374151; font-size: 0.95rem; line-height: 1.7; }
.steps-list li::before { content: counter(s); flex-shrink: 0; width: 32px; height: 32px; border-radius: 8px; background: #FDF6EE; color: #B8956F; font-weight: 800; display: flex; align-items: center; justify-content: center; }

/* ===================== ESPACE CLIENT ===================== */
[hidden] { display: none !important; }
.nav-account { display: inline-flex; align-items: center; gap: 0.4rem; }
.nav-account svg { flex-shrink: 0; }

.acc-tabs { display: flex; background: #F5F1EB; border-radius: 10px; padding: 4px; margin-bottom: 1.75rem; }
.acc-tab { flex: 1; border: none; background: transparent; padding: 0.7rem 1rem; border-radius: 8px; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 0.875rem; color: #6b7280; cursor: pointer; transition: all 0.2s; }
.acc-tab.active { background: white; color: #111827; box-shadow: 0 1px 6px rgba(0,0,0,0.08); }
.acc-tabs-inline { display: inline-flex; margin-bottom: 1.25rem; }
.acc-tabs-inline .acc-tab { flex: none; padding: 0.55rem 1.25rem; }

.acc-alert { background: #FEF2F2; border: 1px solid #FECACA; color: #991B1B; border-radius: 10px; padding: 0.9rem 1.1rem; font-size: 0.875rem; line-height: 1.6; margin-bottom: 1.25rem; }
.acc-alert-ok { background: #F0FDF4; border-color: #BBF7D0; color: #166534; }

.acc-google { display: flex; align-items: center; justify-content: center; gap: 0.7rem; width: 100%; padding: 0.85rem 1rem; border: 2px solid #e9e5e0; border-radius: 10px; background: white; color: #111827; font-weight: 600; font-size: 0.9rem; text-decoration: none; transition: all 0.2s; }
.acc-google:hover { border-color: #B8956F; background: #FDFAF6; }
.acc-or { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: #9ca3af; font-size: 0.78rem; }
.acc-or::before, .acc-or::after { content: ''; flex: 1; height: 1px; background: #f0ece5; }

.acc-link { background: none; border: none; padding: 0; font-family: 'Poppins', sans-serif; color: #B8956F; font-weight: 600; font-size: 0.85rem; cursor: pointer; text-decoration: none; }
.acc-link:hover { text-decoration: underline; }
.acc-hint { color: #9ca3af; font-size: 0.78rem; line-height: 1.6; margin-top: 0.4rem; }
.acc-hint a { color: #B8956F; font-weight: 600; }

.acc-perks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-top: 1.5rem; text-align: center; }
.acc-perks div { background: white; border: 1px solid #f0ece5; border-radius: 14px; padding: 1rem 0.5rem; }
.acc-perks strong { display: block; color: #B8956F; font-size: 0.95rem; }
.acc-perks span { display: block; color: #6b7280; font-size: 0.75rem; margin-top: 2px; }

.acc-loading { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 6rem 0; color: #6b7280; }
.acc-spinner { width: 36px; height: 36px; border: 3px solid #f0ece5; border-top-color: #B8956F; border-radius: 50%; animation: acc-spin 0.8s linear infinite; }
@keyframes acc-spin { to { transform: rotate(360deg); } }

.acc-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.acc-head .sub { font-size: 0.9rem; }
.acc-head-actions { display: flex; gap: 0.75rem; }
.acc-h2 { font-size: 1.35rem; font-weight: 800; color: #111827; letter-spacing: -0.3px; margin: 3rem 0 1.25rem; }

.acc-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 1.25rem; }
.acc-points { background: #111827; color: white; border-radius: 20px; padding: 2rem; position: relative; overflow: hidden; }
.acc-points::after { content: ''; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(184,149,111,0.35), transparent 70%); }
.acc-points-label { font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #E8C89A; }
.acc-points-value { font-size: 3.5rem; font-weight: 800; line-height: 1.1; margin: 0.5rem 0 1.25rem; letter-spacing: -1px; }
.acc-points-value small { font-size: 1rem; font-weight: 600; color: rgba(255,255,255,0.55); margin-left: 0.4rem; letter-spacing: 0; }
.acc-progress { height: 8px; background: rgba(255,255,255,0.12); border-radius: 99px; overflow: hidden; }
.acc-progress > div { height: 100%; background: linear-gradient(90deg, #B8956F, #E8C89A); border-radius: 99px; transition: width 0.8s ease; }
.acc-points-next { color: rgba(255,255,255,0.75); font-size: 0.875rem; margin-top: 0.9rem; }
.acc-points-next strong { color: #E8C89A; }
.acc-points-foot { display: flex; gap: 1.5rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.1); font-size: 0.8rem; color: rgba(255,255,255,0.55); }
.acc-points-foot strong { color: white; }

.acc-stats { display: grid; gap: 1rem; }
.acc-stat { background: white; border: 1px solid #f0ece5; border-radius: 16px; padding: 1.1rem 1.4rem; display: flex; align-items: center; gap: 1rem; }
.acc-stat strong { font-size: 1.5rem; font-weight: 800; color: #B8956F; min-width: 3.2rem; white-space: nowrap; }
.acc-stat span { color: #6b7280; font-size: 0.85rem; }

.acc-rewards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.acc-reward { background: white; border: 1px solid #f0ece5; border-radius: 18px; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.4rem; transition: all 0.25s; }
.acc-reward.ok { border-color: #E8DCC6; box-shadow: 0 8px 28px rgba(184,149,111,0.15); }
.acc-reward-pts { font-size: 0.75rem; font-weight: 700; color: #B8956F; background: #FDF6EE; border-radius: 99px; padding: 0.25rem 0.7rem; align-self: flex-start; }
.acc-reward-label { font-weight: 700; color: #111827; font-size: 0.95rem; line-height: 1.4; margin-top: 0.4rem; }
.acc-reward-value { color: #9ca3af; font-size: 0.8rem; }
.acc-progress-sm { height: 5px; background: #f5f1eb; margin: 0.6rem 0 0.9rem; }
.acc-reward .btn { margin-top: auto; padding: 0.7rem 1rem; font-size: 0.85rem; width: 100%; }
.acc-reward .btn:disabled { cursor: default; opacity: 0.65; transform: none; box-shadow: none; }

.acc-vouchers { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.acc-voucher { display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: #FDFAF6; border: 2px dashed #E8DCC6; border-radius: 14px; padding: 1rem 1.25rem; }
.acc-voucher.off { opacity: 0.5; }
.acc-voucher-code { font-weight: 800; letter-spacing: 1.5px; color: #111827; }
.acc-voucher-meta { font-size: 0.78rem; color: #6b7280; margin-top: 2px; }

.acc-bookings { display: flex; flex-direction: column; gap: 0.75rem; }
.acc-booking { background: white; border: 1px solid #f0ece5; border-radius: 14px; padding: 1.1rem 1.4rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.acc-booking-service { font-weight: 700; color: #111827; font-size: 0.95rem; }
.acc-booking-when { color: #6b7280; font-size: 0.82rem; margin-top: 2px; text-transform: none; }
.acc-booking-when::first-letter { text-transform: uppercase; }
.acc-booking-side { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.acc-booking-amount { font-weight: 700; color: #111827; font-size: 0.95rem; }
.acc-booking-pts { font-size: 0.78rem; font-weight: 700; color: #B8956F; }
.acc-badge { font-size: 0.72rem; font-weight: 700; border-radius: 99px; padding: 0.25rem 0.7rem; }
.acc-badge-ok { background: #F0FDF4; color: #166534; }
.acc-badge-off { background: #F3F4F6; color: #6b7280; }
.acc-badge-warn { background: #FEF3C7; color: #92400e; }
.acc-badge-sub { background: #EEF2FF; color: #3730A3; }
.acc-badge-gift { background: #FDF6EE; color: #8b6d4b; }
.acc-empty { background: white; border: 1px dashed #e9e5e0; border-radius: 14px; padding: 2rem; text-align: center; color: #6b7280; font-size: 0.9rem; }
.acc-empty a { color: #B8956F; font-weight: 600; text-decoration: none; }

.acc-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.acc-settings .form-card { padding: 2rem; }
.acc-settings h3 { font-size: 1.05rem; font-weight: 700; color: #111827; margin-bottom: 1.25rem; }
.acc-settings .form-input:disabled { color: #9ca3af; }
.acc-danger { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-top: 1.25rem; padding: 1.25rem 1.5rem; border: 1px solid #f0ece5; border-radius: 16px; background: white; }
.acc-danger strong { color: #111827; font-size: 0.95rem; }
.acc-danger p { color: #6b7280; font-size: 0.82rem; margin-top: 2px; }
.acc-btn-danger { background: #DC2626 !important; border-color: #DC2626 !important; color: white !important; }

.resa-account { display: flex; align-items: center; gap: 0.75rem; background: #FDF6EE; border: 1px solid #E8DCC6; border-radius: 12px; padding: 0.9rem 1.1rem; margin-bottom: 1.5rem; font-size: 0.875rem; color: #6b7280; line-height: 1.5; }
.resa-account a { color: #B8956F; font-weight: 600; }
.resa-account strong { color: #111827; }

@media (max-width: 1024px) {
  .acc-rewards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .acc-grid, .acc-settings { grid-template-columns: 1fr; }
  .acc-head { align-items: flex-start; }
  .acc-head-actions { width: 100%; }
  .acc-head-actions .btn { flex: 1; text-align: center; }
  .acc-danger { flex-direction: column; align-items: flex-start; }
  .acc-perks { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .acc-rewards { grid-template-columns: 1fr; }
  .acc-points-value { font-size: 2.8rem; }
  .acc-booking-side { width: 100%; justify-content: space-between; }
}

/* ===== SEO : H1 accueil + avis Google ===== */
.hero-kicker { display: table; margin: 0 auto 2rem; line-height: 1.4; }
.hero-kicker sup { font-size: 0.6em; }
.hero-rating { display: inline-flex; align-items: center; gap: 0.25rem; margin-top: 1.75rem; color: rgba(255,255,255,0.8); font-size: 0.82rem; text-decoration: none; animation: fadeUp 0.9s ease 1s both; }
.hero-rating strong { color: white; margin-left: 0.4rem; }
.hero-rating:hover { color: white; }
@media (max-width: 480px) { .hero-kicker { font-size: 0.62rem; letter-spacing: 1px; padding: 0.4rem 0.9rem; } }
@media (max-width: 768px) { .hero-bg { background-image: url('/assets/img/open-space-coworking-paris-10-800.webp'); } }

/* ===== Encarts de la page Services : photo du coworking au lieu du dégradé doré ===== */
.service-header-photo {
  position: relative;
  min-height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(180deg, rgba(17,17,17,0.15) 0%, rgba(17,17,17,0.55) 55%, rgba(17,17,17,0.85) 100%), var(--photo) center / cover no-repeat;
  text-shadow: 0 1px 12px rgba(0,0,0,0.35);
}
.service-header-photo .service-icon-bg { background: rgba(255,255,255,0.22); backdrop-filter: blur(6px); }

/* ===== Formulaire de contact ===== */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-success { text-align: center; padding: 1.5rem 0.5rem; }
.contact-success-icon { width: 68px; height: 68px; background: #22c55e; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.25rem; }
.contact-success h2 { font-size: 1.5rem; font-weight: 800; color: #111827; margin: 0.25rem 0 0.75rem; }
.contact-success p { color: #6b7280; font-size: 0.95rem; line-height: 1.7; }
.contact-success-hint { font-size: 0.82rem !important; margin-top: 0.75rem; }
.contact-success-hint a { color: #B8956F; font-weight: 600; }
