/* Base */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: 'DM Sans', sans-serif; background: #F7F2EA; color: #2D241C; }
:root { --color-walnut: #38271F; }
.font-serif { font-family: 'Cormorant Garamond', Georgia, serif; }
::selection { background: rgba(107,78,61,.12); color: #2D241C; }
:focus-visible { outline: 2px solid #B28C5A; outline-offset: 4px; }

/* Animations */
.fade-up { opacity: 0; transform: translateY(20px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.fade-up-delay-1 { transition-delay: .1s; } .fade-up-delay-2 { transition-delay: .2s; } .fade-up-delay-3 { transition-delay: .3s; } .fade-up-delay-4 { transition-delay: .4s; } .fade-up-delay-5 { transition-delay: .5s; }
@keyframes gentle-bounce { 0%,100% { transform: translateY(0); opacity: .5; } 50% { transform: translateY(6px); opacity: .8; } }
.scroll-dot { animation: gentle-bounce 2.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .fade-up { opacity: 1; transform: none; transition: none; } .card-lift:hover { transform: none; } .portfolio-item:hover img { transform: none; } .portfolio-item .portfolio-overlay { opacity: 1; } .faq-content, .faq-chevron, .mobile-menu, .toast { transition: none; } .scroll-dot { animation: none; } }

/* Navigation */
.hero-image { object-fit: cover; object-position: center; }
.hero-overlay { background: linear-gradient(90deg, rgba(45,36,28,.70) 0%, rgba(45,36,28,.46) 40%, rgba(107,78,61,.14) 67%, rgba(107,78,61,.02) 100%), linear-gradient(0deg, rgba(45,36,28,.20) 0%, transparent 45%); }
.nav-scrolled { background: rgba(247,242,234,.94)!important; backdrop-filter: blur(24px)!important; -webkit-backdrop-filter: blur(24px)!important; border-bottom: 1px solid rgba(45,36,28,.06)!important; box-shadow: 0 1px 16px rgba(45,36,28,.04)!important; }
.nav-scrolled .nav-link, .nav-scrolled .nav-logo { color: #2D241C!important; }
.nav--hero .brand-logo-horizontal { filter: brightness(0) invert(1); }.nav--hero.nav-scrolled .brand-logo-horizontal { filter: none; }
@media (min-width:1024px) { .nav--hero .brand-logo-horizontal { width:232px; height:auto; max-width:none; } }
.nav-scrolled .brand-name--light { color: #2D241C; }
.nav-scrolled .nav-link:hover { color: #6B4E3D!important; }
.nav-scrolled .nav-cta { background: #6B4E3D!important; color: #fff!important; border-color: #6B4E3D!important; }
.nav-scrolled .hamburger { color: #2D241C!important; }

/* Components */
.wheat-line { width: 40px; height: 1px; background: #B28C5A; }
.card-lift { transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s cubic-bezier(.22,1,.36,1); }
.card-lift:hover { transform: translateY(-3px); box-shadow: 0 12px 48px rgba(45,36,28,.07); }
.btn-primary, .btn-hero, .btn-ghost, .btn-outline { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; border-radius: 6px; cursor: pointer; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.btn-primary { background: #38271F; color: #fff; padding: 16px 36px; border: 1px solid #38271F; font-weight: 600; font-size: 15px; letter-spacing: .02em; }
.btn-primary:hover { background: #6B4E3D; border-color: #6B4E3D; transform: translateY(-1px); }.btn-primary:active { transform: translateY(0); }
.btn-hero { background: #F7F2EA; color: #2D241C; padding: 17px 40px; border: 1px solid #F7F2EA; font-weight: 600; font-size: 15px; letter-spacing: .02em; }.btn-hero:hover { background: #E7DDCE; border-color: #E7DDCE; transform: translateY(-1px); }.btn-hero:active { transform: translateY(0); }
.btn-ghost { background: rgba(45,36,28,.16); color: #fff; padding: 17px 40px; border: 1px solid rgba(247,242,234,.42); font-weight: 500; font-size: 15px; letter-spacing: .02em; }.btn-ghost:hover { background: rgba(247,242,234,.12); border-color: #F7F2EA; }
.btn-outline { background: transparent; color: #6B4E3D; padding: 16px 36px; border: 1px solid rgba(107,78,61,.35); font-weight: 600; font-size: 15px; letter-spacing: .02em; }.btn-outline:hover { background: #6B4E3D; border-color: #6B4E3D; color: #fff; transform: translateY(-1px); }.btn-outline:active { transform: translateY(0); }
.process-line { position: absolute; top: 32px; left: 32px; right: 32px; height: 1px; background: linear-gradient(90deg,transparent,rgba(178,140,90,.25),rgba(178,140,90,.25),transparent); }
.service-icon { transition: background .4s ease, transform .4s cubic-bezier(.22,1,.36,1); }.service-card:hover .service-icon { background: #6B4E3D; transform: scale(1.05); }.service-card:hover .service-icon svg { color: #fff; }

/* Portfolio */
.portfolio-item .portfolio-overlay { opacity: 0; transition: opacity .5s cubic-bezier(.22,1,.36,1); }.portfolio-item:hover .portfolio-overlay { opacity: 1; }.portfolio-item:hover img { transform: scale(1.03); }.portfolio-item img { transition: transform .8s cubic-bezier(.22,1,.36,1); }

/* FAQ */
.faq-content { height: 0; overflow: hidden; transition: height .45s cubic-bezier(.22,1,.36,1); }.faq-chevron { transition: transform .35s cubic-bezier(.22,1,.36,1); }.faq-chevron.rotated { transform: rotate(180deg); }

/* Forms */
.input-elegant { width: 100%; outline: none; background: rgba(45,36,28,.02); border: 1px solid rgba(45,36,28,.08); border-radius: 10px; padding: 15px 18px; font: 15px 'DM Sans', sans-serif; color: #2D241C; transition: border-color .35s ease, box-shadow .35s ease, background .35s ease; }.input-elegant::placeholder { color: #A09488; }.input-elegant:focus { border-color: #6B4E3D; box-shadow: 0 0 0 3px rgba(107,78,61,.08); background: #FCFBF8; }

/* Mobile menu */
html { overflow-x: clip; }.mobile-menu { transform: translateX(100%); transition: transform .5s cubic-bezier(.22,1,.36,1); }.mobile-menu.open { transform: translateX(0); }

/* Utilities spécifiques */
.toast { position: fixed; bottom: 32px; right: 32px; z-index: 9999; display: flex; align-items: center; gap: 10px; padding: 16px 28px; background: #2D241C; color: #F7F2EA; border-radius: 10px; box-shadow: 0 8px 32px rgba(45,36,28,.25); font-size: 14px; font-weight: 500; transform: translateY(140%); transition: transform .5s cubic-bezier(.22,1,.36,1); }.toast.show { transform: translateY(0); }

/* Direction artistique éditoriale */
.section-walnut { background-color: var(--color-walnut); }
.hero-section { min-height: max(720px, 100svh); }
.hero-content { padding-bottom: 9rem; }
.hero-copy-block { position: relative; isolation: isolate; padding: 2rem 0 2rem 2rem; border-left: 1px solid rgba(178,140,90,.8); }
.hero-copy-block::after { content: ''; position: absolute; inset: .25rem 0 .25rem -.8rem; z-index: 0; background: rgba(45,36,28,.08); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }.hero-copy-block > * { position: relative; z-index: 1; }
.hero-copy-block::after { inset: -.5rem 8% -.5rem -1.25rem; background: linear-gradient(90deg, rgba(45,36,28,.26), rgba(45,36,28,.13) 70%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); mask-image: linear-gradient(90deg, #000 0%, #000 72%, transparent 100%); }
.hero-copy-block::before { content: ''; position: absolute; top: 0; left: -1px; width: 92px; height: 1px; background: #B28C5A; }
.hero-kicker { color: rgba(247,242,234,.72); }
.hero-title { max-width: 850px; text-shadow: 0 2px 20px rgba(30,20,15,.2); }
.hero-copy { max-width: 580px; color: rgba(247,242,234,.78); }
.hero-copy { color: rgba(247,242,234,.86); }

/* Identité de marque */
.brand-logo-horizontal { display:block; width:auto; height:3.5rem; max-width:min(180px,42vw); object-fit:contain; }.brand-logo-monogram { display:block; width:2.5rem; height:2.5rem; object-fit:contain; }.brand-footer-lockup { display:flex; align-items:center; gap:.8rem; }.brand-footer-lockup p { margin:0 0 .15rem; color:#F7F2EA; font:600 1.25rem/1 'Cormorant Garamond',Georgia,serif; }.brand-footer-lockup span { color:rgba(247,242,234,.5); font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
@media (max-width:1023px) { .brand-logo-horizontal { height:3rem; } }
.brand-monogram { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 6px; font: 700 1.1rem/1 'Cormorant Garamond', Georgia, serif; }
.brand-monogram--light { background: #6B4E3D; color: #F7F2EA; }.brand-monogram--footer { background: rgba(247,242,234,.07); color: #F7F2EA; }.brand-name { font: 600 1.25rem/1 'Cormorant Garamond', Georgia, serif; letter-spacing: -.02em; }.brand-name--light { color: #fff; }.brand-name--dark { color: #2D241C; }.brand-name--footer { color: #F7F2EA; }
.site-footer .brand-monogram--footer { background:transparent url('../assets/brand/logo/hc-monogram.svg') center/contain no-repeat; }.site-footer .brand-monogram--footer > span { visibility:hidden; }.site-footer .brand-name--footer { display:block; position:relative; }.site-footer .brand-name--footer::after { content:'Sites web sur mesure'; display:block; margin-top:.3rem; color:rgba(247,242,234,.5); font:600 .7rem/1.2 'DM Sans',sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.promise-bar { background: #E7DDCE; border-color: rgba(56,39,31,.1); }
.promise-bar span { letter-spacing: .015em; }
.section-intro--left { text-align: left; margin-left: 0; }

/* Bénéfices et offres */
.benefits-grid { border-top: 1px solid rgba(107,78,61,.2); }
.benefits-section { background: #EFE7DA; border-top: 1px solid rgba(107,78,61,.1); }.benefits-grid { counter-reset: benefit; }.benefits-grid p { counter-increment: benefit; position: relative; margin: 0; padding: 1.5rem 1rem 1.5rem 2.5rem; border-bottom: 1px solid rgba(107,78,61,.16); color: #6B5E54; line-height: 1.65; }.benefits-grid p::before { content: '0' counter(benefit); position: absolute; top: 1.55rem; left: 0; color: #B28C5A; font: 600 .95rem/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .08em; }
.benefits-grid strong { color: #2D241C; font: 600 1.35rem/1.15 'Cormorant Garamond', Georgia, serif; }
.offers-grid { overflow: hidden; border: 1px solid rgba(107,78,61,.24); border-radius: 8px; background: #FCFBF8; }
.offer-card { min-width: 0; display: flex; flex-direction: column; padding: 2.5rem 2.25rem; background: #FCFBF8; border-bottom: 1px solid rgba(107,78,61,.18); text-align: center; }
.offer-card h3 { margin: 0 0 .65rem; color: #2D241C; font: 600 clamp(1.9rem,3vw,2.2rem)/1.1 'Cormorant Garamond', Georgia, serif; }
.offer-price { min-height: 2rem; margin: 0 0 1.1rem; color: #6B4E3D; font: 600 1.55rem/1.15 'DM Sans', sans-serif; }
.offer-description { min-height: 4.9rem; margin: 0; color: #6B5E54; line-height: 1.65; }
.offer-card ul { flex: 1; width: 100%; margin: 1.5rem 0 2rem; padding: 0; list-style: none; color: #6B5E54; line-height: 1.55; text-align: left; }
.offer-card li { padding: .7rem 0 .7rem 1.35rem; border-top: 1px solid rgba(107,78,61,.12); position: relative; }.offer-card li::before { content: '—'; position: absolute; left: 0; color: #B28C5A; }
.offer-cta { justify-content: center; width: 100%; min-height: 50px; padding: 13px 20px; }
.offer-card--featured { background: #E7DDCE; border-top: 3px solid #B28C5A; }.offer-card--featured h3 { color: #38271F; }.offer-card--featured .offer-price { color: #6B4E3D; }.offer-card--featured .offer-description, .offer-card--featured ul { color: #6B5E54; }.offer-card--featured li { border-color: rgba(107,78,61,.16); }
.offer-badge { display: inline-flex; align-items: center; justify-content: center; align-self: center; min-height: 1.8rem; margin: 0 0 .95rem; padding: .35rem .65rem; color: #38271F; background: #B28C5A; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.offer-badge--placeholder { visibility: hidden; }
@media (min-width: 1024px) { .offer-card { border-right: 1px solid rgba(107,78,61,.18); border-bottom: 0; }.offer-card:last-child { border-right: 0; } }

/* Approche */
.approach-section { background: #F7F2EA; }
.constat-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(3rem, 9vw, 10rem); align-items: start; }
.constat-editorial h2 { max-width: 680px; margin: 0 0 1.75rem; font-size: clamp(2.7rem, 5vw, 4.6rem); font-weight: 600; line-height: 1.04; letter-spacing: -.035em; }
.constat-editorial > p:not(.constat-quote) { max-width: 580px; font-size: 1.1rem; line-height: 1.8; }
.constat-quote { max-width: 510px; margin: 2.8rem 0 0; padding: 1rem 0 1rem 1.35rem; border-left: 1px solid #B28C5A; color: #6B4E3D; font: 500 1.35rem/1.5 'Cormorant Garamond', Georgia, serif; }
.constat-conclusion { max-width: 470px; margin: 1.75rem 0 0; color: #6B5E54; font-size: .98rem; line-height: 1.75; }
.constat-link { display: inline-flex; gap: .6rem; margin-top: 2rem; padding-bottom: .35rem; color: #6B4E3D; border-bottom: 1px solid #B28C5A; font-size: .9rem; font-weight: 600; }.constat-link span { color: #B28C5A; }
.constat-points { border-top: 1px solid rgba(107,78,61,.24); }
.constat-point { display: grid; grid-template-columns: 3.4rem minmax(0,1fr); gap: 1rem; padding: 2rem 0; border-bottom: 1px solid rgba(107,78,61,.2); }
.constat-point > span { color: #B28C5A; font: 600 1.3rem/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .08em; }
.constat-point h3 { margin: 0 0 .6rem; color: #2D241C; font: 600 1.55rem/1.18 'Cormorant Garamond', Georgia, serif; }.constat-point p { margin: 0; color: #6B5E54; font-size: .95rem; line-height: 1.75; }

/* Services */
.services-section { background: #38271F; color: #F7F2EA; }
.services-section .text-bark, .services-section .text-timber { color: inherit; }
.services-section .text-oak\/50 { color: rgba(231,221,206,.62); }
.services-section .wheat-line { background: #B28C5A; }
.services-section h2 { color: #F7F2EA; }
.service-title { max-width: 500px; font-size: clamp(2.45rem, 4.1vw, 4.15rem); line-height: 1.14; letter-spacing: -.028em; }
.services-section .service-intro .text-timber, .services-section .service-item .text-timber { color: rgba(247,242,234,.72); }
.service-intro p { max-width: 460px; }
.services-section .btn-outline { color: #F7F2EA; border-color: rgba(247,242,234,.35); }
.services-section .btn-outline:hover { background: #F7F2EA; color: #38271F; border-color: #F7F2EA; }
.service-list { border-top: 1px solid rgba(247,242,234,.25); }
.service-item { padding: 2rem 0; border-bottom: 1px solid rgba(247,242,234,.2); transition: padding-left .3s ease; }
.service-item:hover { padding-left: .75rem; }
.service-item h3 { color: #F7F2EA; font-size: 1.65rem; }
.service-item p { max-width: 500px; }
.service-number { flex: 0 0 auto; min-width: 3.5rem; color: #B28C5A; font: 600 1.35rem/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .08em; }
.service-reassurance { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1rem; margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid rgba(247,242,234,.2); color: rgba(247,242,234,.72); font-size: .83rem; line-height: 1.35; }.service-reassurance span::before { content: '—'; margin-right: .45rem; color: #B28C5A; }

/* Projets */
.concepts-section { background: #EFE7DA; }
.concepts-grid { align-items: start; }
.portfolio-item { background: #FCFBF8; border: 1px solid rgba(107,78,61,.14); box-shadow: none; transition: transform .35s ease, box-shadow .35s ease; }
.portfolio-item:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(56,39,31,.1); }
.concept-featured { grid-row: span 2; }
.concept-featured .aspect-\[4\/3\] { aspect-ratio: 4 / 5; }
.portfolio-overlay { background: rgba(56,39,31,.76)!important; }
.portfolio-item > div:last-child { padding: 1.5rem 1.6rem 1.7rem; }

/* Processus */
.process-section { background: #38271F; }
.process-section .text-bark { color: #F7F2EA; }
.process-section .text-timber { color: rgba(247,242,234,.68); }
.process-section .text-oak\/50 { color: rgba(231,221,206,.62); }
.process-section .wheat-line { background: #B28C5A; }
.process-section .process-line { background: linear-gradient(90deg, transparent, rgba(178,140,90,.52), rgba(178,140,90,.52), transparent); }
.process-section .bg-sand { background: transparent; border-color: rgba(247,242,234,.25); border-radius: 0; }
.process-section .text-oak { color: #B28C5A; }

/* Engagements */
.engagements-section { background: #F7F2EA; }
.engagements-grid { border-top: 1px solid rgba(107,78,61,.2); }
.engagement-item { min-height: 220px; padding: 2.2rem 0; border-bottom: 1px solid rgba(107,78,61,.2); }
.engagement-item:nth-child(odd) { padding-right: 3rem; border-right: 1px solid rgba(107,78,61,.2); }
.engagement-item:nth-child(even) { padding-left: 3rem; }

/* Contact et pied de page */
.contact-section { background: #E7DDCE; }
.contact-shell { position: relative; padding-top: 5rem; padding-bottom: 5rem; }
.contact-shell::before { content: ''; position: absolute; inset: 0; margin: 0 1.5rem; background: #F7F2EA; border: 1px solid rgba(107,78,61,.18); }
.contact-shell > div { position: relative; }
.contact-section .input-elegant { border-radius: 5px; background: #F7F2EA; }
.contact-section form { border-radius: 6px; box-shadow: 0 14px 38px rgba(56,39,31,.08); }
.site-footer { background: #2D241C; border-top: 1px solid rgba(178,140,90,.34); }
.site-footer .rounded-xl { border-radius: 5px; }

/* Finition des footers internes : proportions plus denses, sans changer leur contenu. */
.site-footer > .max-w-7xl { padding-top: 3.25rem !important; padding-bottom: 3.25rem !important; }
.site-footer > .max-w-7xl:has(> .grid) { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.site-footer > .max-w-7xl > .grid { align-items: start; gap: 2.5rem !important; padding-bottom: 2.5rem !important; }
.site-footer > .max-w-7xl > .grid .brand-footer-lockup { margin-bottom: 1.1rem !important; }
.site-footer > .max-w-7xl > .flex:first-child { gap: 2.5rem !important; }
.site-footer > .max-w-7xl > div:last-child { margin-top: 1.5rem !important; padding-top: 1.5rem !important; gap: .75rem !important; }
.site-footer > .max-w-7xl > div:last-child p { line-height: 1.3; }
.site-footer > .max-w-7xl > div:last-child p:last-child { color: rgba(247,242,234,.46) !important; font-size: .8125rem !important; font-weight: 600 !important; }

/* Ajustements ciblés : Accueil et Services uniquement. */
.site-footer.site-footer--home > .max-w-7xl { padding-top: 2.75rem !important; padding-bottom: 2.75rem !important; }
.site-footer--home > .max-w-7xl > .grid { gap: 2.25rem !important; margin-bottom: 2.5rem !important; }
.site-footer--home > .max-w-7xl > div:last-child { margin-top: 1rem !important; padding-top: 1rem !important; }

.site-footer.site-footer--services > .max-w-7xl { padding-top: 2rem !important; padding-bottom: 2rem !important; }
.site-footer--services > .max-w-7xl > .grid { gap: 2.25rem !important; padding-bottom: 1.5rem !important; }
.site-footer--services .md\:col-span-2 > .flex,
.site-footer--services .grid > div > h2 { margin-bottom: .875rem !important; }
.site-footer--services .space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: .45rem !important; }
.site-footer--services > .max-w-7xl > div:last-child { margin-top: 1rem !important; padding-top: 1rem !important; }

@media (max-width: 767px) {
  .site-footer > .max-w-7xl { padding-top: 2.75rem !important; padding-bottom: 2.75rem !important; }
  .site-footer > .max-w-7xl:has(> .grid) { padding-top: 3.25rem !important; padding-bottom: 3.25rem !important; }
  .site-footer > .max-w-7xl > .grid { gap: 2rem !important; padding-bottom: 2rem !important; }
  .site-footer > .max-w-7xl > .flex:first-child { gap: 2rem !important; }
  .site-footer > .max-w-7xl > div:last-child { margin-top: 1.25rem !important; padding-top: 1.25rem !important; }

  .site-footer.site-footer--home > .max-w-7xl,
  .site-footer.site-footer--services > .max-w-7xl { padding-top: 2.75rem !important; padding-bottom: 2.75rem !important; }
  .site-footer--home > .max-w-7xl > .grid { gap: 2rem !important; margin-bottom: 3rem !important; }
  .site-footer--services > .max-w-7xl > .grid { gap: 2rem !important; padding-bottom: 2rem !important; }
}

/* Renforcement éditorial du premier parcours */
.benefits-section { background-color: #E7DDCE; background-image: radial-gradient(rgba(107,78,61,.08) .6px, transparent .6px); background-size: 7px 7px; }
.benefits-grid { grid-template-columns: 1.25fr .75fr .75fr; }.benefits-grid p { padding: 1.75rem 1.1rem 1.75rem 2.5rem; }.benefits-grid p:first-child { grid-row: span 2; padding-top: 2.5rem; border-right: 1px solid rgba(107,78,61,.2); }.benefits-grid p:first-child strong { font-size: 2rem; line-height: 1.1; }
.service-reassurance { margin-top: 4rem; padding-top: 1.85rem; border-top-color: rgba(178,140,90,.5); }.service-reassurance p { margin: 0 0 1.45rem; color: #F7F2EA; font: 600 1.25rem/1.2 'Cormorant Garamond', Georgia, serif; }.service-reassurance div { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 1.5rem; color: rgba(247,242,234,.84); font-size: .9rem; line-height: 1.45; }.service-reassurance span { display: flex; align-items: flex-start; gap: .55rem; }.service-reassurance span::before { content: '·'; margin: 0; font: 600 1.4rem/.85 'Cormorant Garamond', Georgia, serif; }.service-item:hover { padding-left: 4px; border-color: rgba(178,140,90,.58); }.service-item:hover h3 { color: #fff; }

/* Études de design */
.design-studies { display: grid; grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.design-study { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(107,78,61,.18); border-radius: 10px; background: #FCFBF8; box-shadow: 0 8px 24px rgba(56,39,31,.08); transition: transform .3s ease, box-shadow .3s ease; }
.design-study:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(56,39,31,.13); }
.study-media { position: relative; flex: 0 0 auto; aspect-ratio: 16 / 10; overflow: hidden; background: #E7DDCE; }
.study-media::after { content: ''; position: absolute; inset: 0; background: rgba(45,36,28,0); transition: background .3s ease; pointer-events: none; }
.design-study:hover .study-media::after { background: rgba(45,36,28,.12); }
.study-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.design-study:hover .study-media img { transform: scale(1.03); }
.study-content { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 1.6rem; }
.design-study--primary { grid-row: span 2; }.design-study--primary .study-content { padding: 2rem; }.design-study--primary .study-content h3 { font-size: clamp(2rem, 3vw, 2.65rem); }.design-study--primary .study-content p { max-width: 560px; font-size: .97rem; }.design-study:not(.design-study--primary) { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); align-items: stretch; }.design-study:not(.design-study--primary) .study-media { aspect-ratio: auto; min-height: 100%; }.design-study:not(.design-study--primary) .study-content { padding: 1.35rem; }.design-study:not(.design-study--primary) .study-content h3 { font-size: clamp(1.35rem, 1.7vw, 1.65rem); }
.study-featured-label { display: block; margin-bottom: .65rem; color: #9A754A; font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }.study-eyebrow { display: block; margin-bottom: .7rem; color: #9A754A; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.study-content h3 { margin: 0; color: #2D241C; font: 600 clamp(1.5rem, 2vw, 1.85rem)/1.1 'Cormorant Garamond', Georgia, serif; }.study-content p { margin: .85rem 0 0; color: #6B5E54; font-size: .9rem; line-height: 1.65; }

/* Processus */
.process-intro { margin-bottom: 5rem; }.process-intro p { max-width: 580px; margin-right: auto; margin-left: auto; }
.process-panels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(247,242,234,.3); border-bottom: 1px solid rgba(247,242,234,.3); }
.process-panel { position: relative; min-height: 300px; padding: 2rem 1.6rem 2.25rem; overflow: hidden; border-right: 1px solid rgba(247,242,234,.2); transition: background-color .3s ease; }.process-panel:last-child { border-right: 0; }.process-panel:hover { background: rgba(247,242,234,.045); }.process-number { display: block; margin: -.25rem 0 2.5rem; color: rgba(178,140,90,.32); font: 600 clamp(4.5rem, 7vw, 6.8rem)/.72 'Cormorant Garamond', Georgia, serif; letter-spacing: -.06em; }.process-panel h3 { position: relative; margin: 0 0 .85rem; color: #F7F2EA; font: 600 1.55rem/1.15 'Cormorant Garamond', Georgia, serif; }.process-panel p { position: relative; margin: 0; color: rgba(247,242,234,.72); font-size: .9rem; line-height: 1.75; }

/* Page Services */
.nav--page{background:rgba(247,242,234,.96);border-bottom:1px solid rgba(45,36,28,.06);box-shadow:0 1px 16px rgba(45,36,28,.04)}.nav--page .nav-logo,.nav--page .nav-link,.nav--page .brand-name--light,.nav--page .hamburger{color:#2D241C!important}.nav--page .nav-cta{color:#fff;background:#6B4E3D;border-color:#6B4E3D}.nav-link--active{color:#6B4E3D!important}.nav-link--active:after{content:'';display:block;width:18px;height:1px;margin:5px auto 0;background:#B28C5A}
.services-page-hero{padding:10.5rem 0 6.5rem;background:#F7F2EA}.services-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.45fr);gap:clamp(3rem,10vw,10rem);align-items:end}.services-page-hero h1,.service-orientation h2,.service-comparison h2,.services-method h2,.services-final-cta h2{margin:0;color:#2D241C;font:600 clamp(3rem,5.3vw,5rem)/1.02 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em}.services-page-hero p{max-width:640px;margin:1.7rem 0 2.4rem;color:#6B5E54;font-size:1.12rem;line-height:1.8}.services-page-hero__aside{padding:2rem;border-left:1px solid #B28C5A;background:#E7DDCE}.services-page-hero__aside span{color:#6B4E3D;font:600 3.8rem/.8 'Cormorant Garamond',Georgia,serif}.services-page-hero__aside p{margin:1.2rem 0 0;font-size:.92rem}
.service-orientation{background:#FCFBF8}.service-orientation h2,.service-comparison h2,.services-method h2{font-size:clamp(2.5rem,4vw,3.75rem)}.service-orientation__list{border-top:1px solid rgba(107,78,61,.22)}.service-orientation__list a{display:grid;grid-template-columns:3.3rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.65rem 0;border-bottom:1px solid rgba(107,78,61,.18);color:inherit;transition:padding .3s ease,color .3s ease}.service-orientation__list a:hover{padding-left:.5rem;color:#6B4E3D}.service-orientation__list span,.service-detail__heading>span{color:#B28C5A;font:600 1.3rem/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.08em}.service-orientation__list h3{margin:0 0 .25rem;font:600 1.45rem/1.15 'Cormorant Garamond',Georgia,serif}.service-orientation__list p{margin:0;color:#6B5E54;font-size:.9rem}
.service-detail--cream{background:#F7F2EA}.service-detail--linen{background:#E7DDCE}.service-detail--walnut{background:#38271F}.service-detail__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(3rem,10vw,10rem)}.service-detail__heading h2{margin:1rem 0 1.4rem;color:#2D241C;font:600 clamp(2.6rem,4.2vw,4.25rem)/1.04 'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em}.service-detail__heading p,.service-detail__body p{color:#6B5E54;line-height:1.75}.service-lead{max-width:660px;margin:0 0 2.6rem;color:#2D241C!important;font:500 1.5rem/1.42 'Cormorant Garamond',Georgia,serif}.service-detail__columns{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.service-detail__columns h3{margin:0 0 1rem;color:#2D241C;font:600 1.5rem/1.15 'Cormorant Garamond',Georgia,serif}.service-detail__columns ul{margin:0;padding:0;list-style:none}.service-detail__columns li{position:relative;padding:.68rem 0 .68rem 1.2rem;border-top:1px solid rgba(107,78,61,.17);color:#6B5E54;font-size:.9rem;line-height:1.55}.service-detail__columns li:before{content:'—';position:absolute;left:0;color:#B28C5A}.service-detail--walnut .service-detail__heading h2,.service-detail--walnut .service-detail__columns h3,.service-detail--walnut .service-lead{color:#F7F2EA!important}.service-detail--walnut .service-detail__heading p,.service-detail--walnut .service-detail__body p,.service-detail--walnut .service-detail__columns li{color:rgba(247,242,234,.74)}.service-detail--walnut .service-detail__columns li{border-color:rgba(247,242,234,.18)}
.service-comparison{background:#FCFBF8}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(107,78,61,.2)}.comparison-grid article{padding:2rem;border-right:1px solid rgba(107,78,61,.18)}.comparison-grid article:last-child{border-right:0}.comparison-grid h3{margin:0 0 1.5rem;color:#2D241C;font:600 2rem/1 'Cormorant Garamond',Georgia,serif}.comparison-grid dl{margin:0}.comparison-grid dl div{padding:1rem 0;border-top:1px solid rgba(107,78,61,.14)}.comparison-grid dt{margin-bottom:.35rem;color:#9A754A;font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.comparison-grid dd{margin:0;color:#6B5E54;font-size:.88rem;line-height:1.55}.service-offers-link{margin:1.5rem 0 0;color:#6B5E54;font-size:.9rem}.service-offers-link a{color:#6B4E3D;border-bottom:1px solid #B28C5A}
.services-method{background:#F7F2EA}.services-method__header{max-width:650px;margin-bottom:4rem}.services-method ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 2.5rem;padding:0;list-style:none;border-top:1px solid rgba(107,78,61,.25);border-bottom:1px solid rgba(107,78,61,.25)}.services-method li{padding:1.8rem 1.4rem 1.8rem 0;border-right:1px solid rgba(107,78,61,.18)}.services-method li:not(:first-child){padding-left:1.4rem}.services-method li:last-child{border:0}.services-method li>span{display:block;margin-bottom:2rem;color:rgba(178,140,90,.62);font:600 3.7rem/.7 'Cormorant Garamond',Georgia,serif}.services-method h3{margin:0 0 .7rem;font:600 1.35rem/1.15 'Cormorant Garamond',Georgia,serif}.services-method p{margin:0;color:#6B5E54;font-size:.88rem;line-height:1.65}
.services-final-cta{background:#38271F;color:#F7F2EA}.services-final-cta .inline-flex{color:rgba(247,242,234,.64)}.services-final-cta h2{color:#F7F2EA;font-size:clamp(2.7rem,4.6vw,4.4rem)}.services-final-cta p{max-width:620px;margin:1.5rem auto 2.3rem;color:rgba(247,242,234,.75);font-size:1.05rem;line-height:1.75}.services-final-cta .btn-ghost{background:transparent}
@media(max-width:1023px){.services-page-hero__grid,.service-detail__grid{grid-template-columns:1fr;gap:3rem}.services-page-hero__aside{max-width:520px}.service-detail__heading{max-width:600px}.services-method ol{grid-template-columns:repeat(2,minmax(0,1fr))}.services-method li:nth-child(2){border-right:0}.services-method li:nth-child(-n+2){border-bottom:1px solid rgba(107,78,61,.18)}}@media(max-width:639px){.services-page-hero{padding:8.5rem 0 4.5rem}.services-page-hero h1{font-size:3rem}.service-detail__columns,.comparison-grid,.services-method ol{grid-template-columns:1fr}.comparison-grid article,.services-method li,.services-method li:not(:first-child){padding:1.5rem 0;border-right:0;border-bottom:1px solid rgba(107,78,61,.18)}.comparison-grid article:last-child,.services-method li:last-child{border-bottom:0}.services-method li>span{margin-bottom:1.2rem}.service-detail__heading h2{font-size:2.75rem}.service-lead{font-size:1.35rem}.services-page-hero__aside{padding:1.5rem}.service-orientation__list a{grid-template-columns:2.6rem minmax(0,1fr) auto}}

/* Accompagnement */
.why-hc-section { background: #F7F2EA; }.why-hc-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(3rem, 9vw, 9rem); align-items: start; }.why-hc-intro h2 { max-width: 610px; margin: 0 0 1.7rem; font-size: clamp(2.5rem, 4.2vw, 4rem); font-weight: 600; line-height: 1.07; letter-spacing: -.03em; }.why-hc-intro p { max-width: 570px; margin: 0; color: #6B5E54; font-size: 1.05rem; line-height: 1.8; }.why-hc-principles { border-top: 1px solid rgba(107,78,61,.25); }.why-hc-principles article { display: grid; grid-template-columns: 3.2rem minmax(0,1fr); gap: 1rem; padding: 1.8rem 0; border-bottom: 1px solid rgba(107,78,61,.2); }.why-hc-principles > article > span { color: #B28C5A; font: 600 1.25rem/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .08em; }.why-hc-principles h3 { margin: 0 0 .5rem; color: #2D241C; font: 600 1.45rem/1.15 'Cormorant Garamond', Georgia, serif; }.why-hc-principles p { margin: 0; color: #6B5E54; font-size: .92rem; line-height: 1.7; }

@media (max-width: 1023px) { .hero-content { padding-bottom: 6rem; } .constat-layout, .why-hc-layout { grid-template-columns: 1fr; gap: 3.5rem; } .benefits-grid { grid-template-columns: 1fr 1fr; }.benefits-grid p:first-child { grid-row: auto; grid-column: span 2; } .concept-featured { grid-row: auto; } .concept-featured .aspect-\[4\/3\] { aspect-ratio: 4 / 3; } .design-studies { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }.design-study--primary { grid-column: span 2; grid-row: auto; }.design-study:not(.design-study--primary) { display: flex; }.design-study:not(.design-study--primary) .study-media { aspect-ratio: 16 / 10; min-height: 0; }.process-panels { grid-template-columns: repeat(2, minmax(0,1fr)); }.process-panel:nth-child(2) { border-right: 0; }.process-panel:nth-child(-n+2) { border-bottom: 1px solid rgba(247,242,234,.2); } }
@media (max-width: 639px) { .hero-section { min-height: 680px; } .hero-image { object-position: center center; } .hero-copy-block::after { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } .hero-content { padding-bottom: 4rem; } .hero-copy-block { padding: 1.5rem 0 1.5rem 1.25rem; } .hero-title { font-size: 2.6rem; } .promise-bar .flex { justify-content: flex-start; } .constat-editorial h2 { font-size: 2.65rem; } .constat-point { grid-template-columns: 2.8rem minmax(0,1fr); padding: 1.6rem 0; } .benefits-grid { grid-template-columns: 1fr; }.benefits-grid p:first-child { grid-column: auto; } .service-title { font-size: 2.55rem; } .service-reassurance div { grid-template-columns: 1fr; gap: .9rem; } .design-studies { grid-template-columns: 1fr; }.design-study--primary { grid-column: auto; }.design-study--primary .study-content { padding: 1.35rem; }.design-study--primary .study-content h3 { font-size: 1.85rem; }.study-content { padding: 1.35rem; }.process-intro { margin-bottom: 3rem; }.process-panels { grid-template-columns: 1fr; }.process-panel, .process-panel:nth-child(2) { min-height: auto; padding: 1.7rem 0; border-right: 0; border-bottom: 1px solid rgba(247,242,234,.2); }.process-panel:last-child { border-bottom: 0; }.process-number { margin: 0 0 1.2rem; font-size: 4.5rem; }.why-hc-principles article { grid-template-columns: 2.8rem minmax(0,1fr); padding: 1.6rem 0; } .engagement-item, .engagement-item:nth-child(odd), .engagement-item:nth-child(even) { min-height: auto; padding: 1.75rem 0; border-right: 0; } .contact-shell { padding-top: 2rem; padding-bottom: 2rem; } .contact-section form { padding: 1.5rem; } }

/* Page Études de design */
.studies-hero { padding: 11.5rem 0 7rem; background: #F7F2EA; border-bottom: 1px solid rgba(107,78,61,.16); }.studies-hero__copy { max-width: 860px; }.studies-hero h1 { max-width: 820px; margin: 1.4rem 0 1.7rem; color: #2D241C; font: 600 clamp(3.15rem,5.6vw,5.5rem)/1.01 'Cormorant Garamond',Georgia,serif; letter-spacing: -.042em; }.studies-hero p { max-width: 650px; margin: 0; color: #6B5E54; font-size: 1.08rem; line-height: 1.8; }
.case-study { padding: clamp(6rem,11vw,10.5rem) 0; background: #FCFBF8; }.case-study--linen { background: #E7DDCE; }.case-study__header { display: grid; grid-template-columns: 5.2rem minmax(0,1fr); gap: 1.4rem; max-width: 820px; margin-bottom: clamp(2.8rem,5vw,5rem); }.case-study__number { margin: .2rem 0 0; color: rgba(178,140,90,.62); font: 600 clamp(3.9rem,6vw,5.8rem)/.75 'Cormorant Garamond',Georgia,serif; letter-spacing: -.06em; }.case-study__eyebrow { display: block; margin-bottom: .85rem; color: #9A754A; font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }.case-study__header h2 { margin: 0 0 1rem; color: #2D241C; font: 600 clamp(2.8rem,4.5vw,4.6rem)/1.02 'Cormorant Garamond',Georgia,serif; letter-spacing: -.035em; }.case-study__header div > p { max-width: 620px; margin: 0; color: #6B5E54; font-size: 1.03rem; line-height: 1.75; }
.case-study__layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: clamp(3rem,7vw,8rem); align-items: start; }.case-study__media { position: sticky; top: 7rem; margin: 0; overflow: hidden; background: #E7DDCE; border-radius: 9px; box-shadow: 0 16px 44px rgba(56,39,31,.11); }.case-study__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .45s ease; }.case-study__media:hover img { transform: scale(1.025); }.case-study__media figcaption { padding: 1rem 1.2rem; color: #6B5E54; background: #FCFBF8; font-size: .78rem; line-height: 1.5; }.case-study--linen .case-study__media figcaption { background: #F7F2EA; }
.case-study__details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(107,78,61,.25); }.case-study__details article { min-width: 0; padding: 1.8rem 1.6rem 2rem 0; border-bottom: 1px solid rgba(107,78,61,.2); }.case-study__details article:nth-child(even) { padding-right: 0; padding-left: 1.6rem; border-left: 1px solid rgba(107,78,61,.2); }.case-study__details span { display: block; margin-bottom: .75rem; color: #9A754A; font-size: .63rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.case-study__details h3 { margin: 0 0 .8rem; color: #2D241C; font: 600 1.45rem/1.13 'Cormorant Garamond',Georgia,serif; }.case-study__details p { margin: 0; color: #6B5E54; font-size: .88rem; line-height: 1.72; }.case-study__badges { display: flex; flex-wrap: wrap; gap: .6rem; margin: 2.4rem 0 0; padding: 0; list-style: none; }.case-study__badges li { padding: .48rem .7rem; border: 1px solid rgba(107,78,61,.22); border-radius: 999px; color: #6B4E3D; font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width:1023px) { .studies-hero { padding-top: 9.5rem; }.case-study__layout { grid-template-columns: 1fr; gap: 3rem; }.case-study__media { position: static; max-width: 760px; }.case-study__details { max-width: 860px; } }
@media (max-width:639px) { .studies-hero { padding: 8.7rem 0 4.8rem; }.studies-hero h1 { font-size: 3.05rem; }.studies-hero p { font-size: 1rem; }.case-study { padding: 5rem 0; }.case-study__header { grid-template-columns: 3.7rem minmax(0,1fr); gap: .9rem; margin-bottom: 2.6rem; }.case-study__number { font-size: 3.4rem; }.case-study__header h2 { font-size: 2.8rem; }.case-study__layout { gap: 2.4rem; }.case-study__media { border-radius: 7px; }.case-study__media figcaption { padding: .9rem 1rem; }.case-study__details { grid-template-columns: 1fr; }.case-study__details article,.case-study__details article:nth-child(even) { padding: 1.45rem 0; border-left: 0; }.case-study__details h3 { font-size: 1.5rem; }.case-study__badges { margin-top: 1.8rem; } }

/* Finalisation éditoriale des études */
.studies-index { background:#FCFBF8; border-bottom:1px solid rgba(107,78,61,.16); }.studies-index ol { display:flex; flex-wrap:wrap; margin:0; padding:0; list-style:none; }.studies-index li { flex:1 1 12rem; border-right:1px solid rgba(107,78,61,.16); }.studies-index li:first-child { border-left:1px solid rgba(107,78,61,.16); }.studies-index a { display:flex; align-items:center; gap:.75rem; min-height:4rem; padding:0 1.25rem; color:#2D241C; font-size:.78rem; font-weight:600; letter-spacing:.04em; transition:background-color .25s ease,color .25s ease; }.studies-index a:hover { background:#F7F2EA; color:#6B4E3D; }.studies-index a:focus-visible { outline:2px solid #B28C5A; outline-offset:-3px; }.studies-index span { color:#9A754A; font:600 1.05rem/1 'Cormorant Garamond',Georgia,serif; letter-spacing:.08em; }.studies-index + .case-study { padding-top:clamp(4.5rem,8vw,7.5rem); }.case-study { scroll-margin-top:7rem; }.case-study__media { align-self:start; }.case-study--reversed .case-study__media { order:2; }.case-study--reversed .case-study__details { order:1; }.case-study__badges li { display:inline-flex; align-items:center; min-height:2.15rem; padding:.5rem .78rem; background:rgba(247,242,234,.42); }
.studies-final-cta { padding:7.5rem 0; background:#38271F; color:#F7F2EA; }.studies-final-cta .inline-flex { color:rgba(247,242,234,.64); }.studies-final-cta h2 { max-width:820px; margin:0 auto; color:#F7F2EA; font:600 clamp(2.8rem,4.8vw,4.6rem)/1.04 'Cormorant Garamond',Georgia,serif; letter-spacing:-.035em; }.studies-final-cta p { max-width:650px; margin:1.55rem auto 2.5rem; color:rgba(247,242,234,.76); font-size:1.05rem; line-height:1.75; }.studies-final-cta .btn-ghost { background:transparent; }
@media (max-width:1023px) { .case-study--reversed .case-study__media,.case-study--reversed .case-study__details { order:initial; } }
@media (max-width:639px) { .studies-index ol { display:grid; grid-template-columns:1fr; }.studies-index li,.studies-index li:first-child { border-right:0; border-left:0; border-bottom:1px solid rgba(107,78,61,.16); }.studies-index li:last-child { border-bottom:0; }.studies-index a { min-height:3.5rem; }.studies-final-cta { padding:5rem 0; }.studies-final-cta h2 { font-size:2.8rem; }.studies-final-cta p { font-size:1rem; }.studies-final-cta .btn-hero,.studies-final-cta .btn-ghost { width:100%; } }

/* Page À propos */
.about-hero { padding:11.5rem 0 7rem; background:#F7F2EA; }.about-hero__copy { max-width:850px; }.about-kicker { display:inline-block; margin-bottom:1rem; color:#9A754A; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.about-hero h1,.about-reason h2,.about-expectations h2,.about-refus h2,.about-human h2 { margin:0 0 1.5rem; color:#2D241C; font:600 clamp(2.8rem,5.2vw,5rem)/1.03 'Cormorant Garamond',Georgia,serif; letter-spacing:-.038em; }.about-hero p { max-width:680px; margin:0 0 2.4rem; color:#6B5E54; font-size:1.08rem; line-height:1.8; }.about-reason,.about-expectations,.about-human { padding:clamp(5rem,9vw,8.5rem) 0; }.about-reason { background:#FCFBF8; }.about-expectations { background:#E7DDCE; }.about-human { background:#F7F2EA; }.about-split { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(3rem,9vw,9rem); align-items:start; }.about-copy { max-width:590px; }.about-copy p { margin:0 0 1.35rem; color:#6B5E54; font-size:1rem; line-height:1.8; }.about-copy p:last-child { margin-bottom:0; }.about-principles { padding:clamp(5rem,9vw,8.5rem) 0; background:#38271F; }.about-principles .section-intro h2 { margin:0; color:#F7F2EA; font:600 clamp(2.6rem,4.5vw,4.2rem)/1.06 'Cormorant Garamond',Georgia,serif; }.about-principles ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; list-style:none; border-top:1px solid rgba(247,242,234,.28); border-bottom:1px solid rgba(247,242,234,.28); }.about-principles li { padding:2rem 1.5rem 2rem 0; border-right:1px solid rgba(247,242,234,.18); }.about-principles li:not(:first-child) { padding-left:1.5rem; }.about-principles li:last-child { border-right:0; }.about-principles li>span { display:block; margin-bottom:2rem; color:rgba(178,140,90,.72); font:600 3.6rem/.75 'Cormorant Garamond',Georgia,serif; }.about-principles h3,.about-refus h3 { margin:0 0 .75rem; font:600 1.45rem/1.15 'Cormorant Garamond',Georgia,serif; }.about-principles h3 { color:#F7F2EA; }.about-principles p { margin:0; color:rgba(247,242,234,.72); font-size:.9rem; line-height:1.7; }.about-expectations ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; margin:0; padding:0; list-style:none; border-top:1px solid rgba(107,78,61,.25); }.about-expectations li { padding:1rem 0 1rem 1.25rem; border-bottom:1px solid rgba(107,78,61,.2); color:#6B5E54; font-size:.93rem; line-height:1.55; }.about-expectations li::before { content:'—'; position:absolute; margin-left:-1.25rem; color:#B28C5A; }.about-refus { padding:clamp(5rem,9vw,8.5rem) 0; background:#FCFBF8; }.about-refus__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid rgba(107,78,61,.24); }.about-refus article { padding:1.8rem 1.8rem 2rem 0; border-bottom:1px solid rgba(107,78,61,.2); }.about-refus article:nth-child(even) { padding-left:1.8rem; padding-right:0; border-left:1px solid rgba(107,78,61,.2); }.about-refus h3 { color:#2D241C; }.about-refus p { margin:0; color:#6B5E54; font-size:.92rem; line-height:1.7; }.about-final-cta { padding:7.5rem 0; background:#38271F; color:#F7F2EA; }.about-final-cta .about-kicker { color:rgba(247,242,234,.64); }.about-final-cta h2 { max-width:820px; margin:0 auto; color:#F7F2EA; font:600 clamp(2.8rem,4.8vw,4.6rem)/1.04 'Cormorant Garamond',Georgia,serif; letter-spacing:-.035em; }.about-final-cta p { max-width:650px; margin:1.55rem auto 2.5rem; color:rgba(247,242,234,.76); font-size:1.05rem; line-height:1.75; }.about-final-cta .btn-ghost { background:transparent; }
@media (max-width:1023px) { .about-hero { padding-top:9.5rem; }.about-split { grid-template-columns:1fr; gap:2.5rem; }.about-principles ol { grid-template-columns:repeat(2,minmax(0,1fr)); }.about-principles li:nth-child(2) { border-right:0; }.about-principles li:nth-child(-n+2) { border-bottom:1px solid rgba(247,242,234,.18); } }
@media (max-width:639px) { .about-hero { padding:8.7rem 0 4.8rem; }.about-hero h1 { font-size:3.05rem; }.about-hero p { font-size:1rem; }.about-principles ol,.about-expectations ul,.about-refus__grid { grid-template-columns:1fr; }.about-principles li,.about-principles li:not(:first-child),.about-refus article,.about-refus article:nth-child(even) { padding:1.5rem 0; border-right:0; border-left:0; }.about-principles li:last-child,.about-refus article:last-child { border-bottom:0; }.about-principles li>span { margin-bottom:1.2rem; }.about-final-cta { padding:5rem 0; }.about-final-cta h2 { font-size:2.8rem; }.about-final-cta p { font-size:1rem; }.about-final-cta .btn-hero,.about-final-cta .btn-ghost { width:100%; } }

/* Page Contact */
.contact-page .nav-scrolled { background:#FCFBF8; border-bottom:1px solid rgba(107,78,61,.12); }.contact-page #topLine { background:rgba(178,140,90,.35); opacity:1; }.contact-page .nav-logo,.contact-page .nav-link,.contact-page .hamburger { color:#2D241C; }.contact-page .nav-cta { color:#FCFBF8; background:#6B4E3D; border-color:#6B4E3D; }.contact-page .nav-cta--active { box-shadow:0 0 0 2px rgba(178,140,90,.38); }.contact-page-hero { padding:11.5rem 0 7rem; background:#F7F2EA; }.contact-kicker { display:block; margin-bottom:1rem; color:#9A754A; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.contact-page-hero h1,.contact-form-section h2,.contact-reassurance h2,.contact-faq h2,.contact-final h2 { margin:0; color:#2D241C; font:600 clamp(2.9rem,5.2vw,5rem)/1.04 'Cormorant Garamond',Georgia,serif; letter-spacing:-.04em; }.contact-page-hero p { max-width:690px; margin:1.6rem 0 0; color:#6B5E54; font-size:1.08rem; line-height:1.8; }.contact-page-hero__note { color:#6B4E3D!important; font-weight:600; }.contact-page-hero .btn-primary { margin-top:2.25rem; }.contact-steps { padding:clamp(5rem,9vw,8.5rem) 0; background:#FCFBF8; }.contact-steps ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:2.6rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(107,78,61,.24); }.contact-steps li { display:grid; grid-template-columns:3.6rem minmax(0,1fr); gap:1rem; padding:2rem 1.4rem 2rem 0; border-right:1px solid rgba(107,78,61,.18); border-bottom:1px solid rgba(107,78,61,.18); }.contact-steps li:not(:first-child) { padding-left:1.4rem; }.contact-steps li:last-child { border-right:0; }.contact-steps li>span { color:#B28C5A; font:600 2.4rem/.9 'Cormorant Garamond',Georgia,serif; }.contact-steps h2 { margin:0 0 .65rem; color:#2D241C; font:600 1.4rem/1.15 'Cormorant Garamond',Georgia,serif; }.contact-steps p { margin:0; color:#6B5E54; font-size:.88rem; line-height:1.7; }.contact-form-section { padding:clamp(5.5rem,10vw,9rem) 0; background:#E7DDCE; scroll-margin-top:6rem; }.contact-form-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(18rem,.62fr); gap:clamp(3rem,8vw,8rem); align-items:start; }.contact-form-section h2 { margin-bottom:2rem; }.contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }.contact-field--full { grid-column:1/-1; }.contact-field label { display:block; margin-bottom:.45rem; color:#2D241C; font-size:.8rem; font-weight:700; }.contact-optional { color:#6B5E54; font-size:.72rem; font-weight:400; }.contact-field input,.contact-field select,.contact-field textarea { display:block; width:100%; min-height:3rem; padding:.75rem .85rem; color:#2D241C; background:#FCFBF8; border:1px solid rgba(107,78,61,.25); border-radius:4px; font:400 .94rem/1.5 'DM Sans',sans-serif; }.contact-field textarea { min-height:9rem; resize:vertical; }.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible { outline:2px solid #B28C5A; outline-offset:2px; }.field-help { margin:.1rem 0 .65rem; color:#6B5E54; font-size:.78rem; line-height:1.55; }.field-error { min-height:1.15rem; margin:.32rem 0 0; color:#8C493A; font-size:.76rem; }.contact-form-section form>.btn-primary { margin-top:1.8rem; }.contact-privacy { margin:1rem 0 0; color:#6B5E54; font-size:.78rem; line-height:1.55; }.form-demo-status { max-width:620px; margin:1rem 0 0; padding:.9rem 1rem; color:#4B382D; background:rgba(252,251,248,.7); border-left:3px solid #B28C5A; font-size:.86rem; line-height:1.55; }.contact-reassurance { padding:2.1rem; background:#38271F; }.contact-reassurance .contact-kicker { color:rgba(178,140,90,.82); }.contact-reassurance h2 { color:#F7F2EA; font-size:clamp(2.2rem,3vw,3rem); }.contact-reassurance ul { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(247,242,234,.22); }.contact-reassurance li { padding:1rem 0 1rem 1.25rem; color:rgba(247,242,234,.75); border-bottom:1px solid rgba(247,242,234,.16); font-size:.9rem; line-height:1.55; }.contact-reassurance li::before { content:'—'; position:absolute; margin-left:-1.25rem; color:#B28C5A; }.contact-faq { padding:clamp(5.5rem,10vw,9rem) 0; background:#FCFBF8; }.contact-faq h2 { margin-bottom:2.5rem; }.contact-final { padding:7.5rem 0; background:#38271F; }.contact-final .contact-kicker { color:rgba(247,242,234,.6); }.contact-final h2 { max-width:790px; margin:0 auto; color:#F7F2EA; }.contact-final p { max-width:650px; margin:1.5rem auto 2.4rem; color:rgba(247,242,234,.75); font-size:1.05rem; line-height:1.75; }
@media (max-width:1023px) { .contact-page-hero { padding-top:9.5rem; }.contact-steps ol { grid-template-columns:repeat(2,minmax(0,1fr)); }.contact-steps li:nth-child(2) { border-right:0; }.contact-steps li:nth-child(-n+2) { border-bottom:1px solid rgba(107,78,61,.18); }.contact-form-grid { grid-template-columns:1fr; }.contact-reassurance { max-width:620px; } }
@media (max-width:639px) { .contact-page-hero { padding:8.7rem 0 4.8rem; }.contact-page-hero h1 { font-size:3.05rem; }.contact-page-hero p { font-size:1rem; }.contact-steps ol,.contact-fields { grid-template-columns:1fr; }.contact-steps li,.contact-steps li:not(:first-child) { padding:1.5rem 0; border-right:0; }.contact-steps li:last-child { border-bottom:0; }.contact-form-section { padding:5rem 0; }.contact-reassurance { padding:1.6rem; }.contact-final { padding:5rem 0; }.contact-final h2 { font-size:2.8rem; }.contact-final p { font-size:1rem; }.contact-final .btn-hero { width:100%; } }

/* Ajustements de finalisation — page Contact */
.contact-steps { padding-block:clamp(4rem,7vw,6.5rem); }.contact-steps ol { margin-top:2.1rem; }.contact-faq { padding-block:clamp(4.5rem,7vw,6.5rem); }.contact-faq h2 { margin-bottom:1.75rem; }.contact-faq .faq-list { border-top:1px solid rgba(107,78,61,.24); border-bottom:1px solid rgba(107,78,61,.24); }.contact-faq .faq-item { border-bottom:1px solid rgba(107,78,61,.18); }.contact-faq .faq-item:last-child { border-bottom:0; }.contact-faq .faq-trigger { display:flex; width:100%; min-height:4.6rem; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.2rem 0; color:#2D241C; text-align:left; font:600 clamp(1.18rem,1.8vw,1.42rem)/1.2 'Cormorant Garamond',Georgia,serif; }.contact-faq .faq-trigger:focus-visible { outline:2px solid #B28C5A; outline-offset:3px; }.contact-faq .faq-chevron { flex:0 0 auto; width:1.25rem; height:1.25rem; color:#9A754A; }.contact-faq .faq-content p { max-width:720px; margin:0; padding:0 2.75rem 1.45rem 0; color:#6B5E54; font-size:.94rem; line-height:1.72; }
@media (max-width:639px) { .contact-steps { padding-block:4rem; }.contact-faq { padding-block:4rem; }.contact-faq .faq-trigger { min-height:4.35rem; gap:1rem; font-size:1.2rem; }.contact-faq .faq-content p { padding-right:0; padding-bottom:1.25rem; } }

/* Pages légales */
.form-privacy-note,.contact-privacy { margin:.75rem 0 0; color:#6B5E54; font-size:.78rem; line-height:1.55; }.form-privacy-note a,.contact-privacy a,.legal-article a { color:#6B4E3D; text-decoration:underline; text-decoration-color:rgba(178,140,90,.7); text-underline-offset:3px; }.form-privacy-note a:hover,.contact-privacy a:hover,.legal-article a:hover { color:#2D241C; }.legal-page .nav-scrolled { background:#FCFBF8; border-bottom:1px solid rgba(107,78,61,.12); }.legal-page #topLine { background:rgba(178,140,90,.35); }.legal-hero { padding:11rem 0 5rem; background:#F7F2EA; }.legal-kicker { margin:0 0 1rem; color:#9A754A; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.legal-hero h1 { max-width:820px; margin:0; color:#2D241C; font:600 clamp(3rem,5.2vw,5rem)/1.04 'Cormorant Garamond',Georgia,serif; letter-spacing:-.04em; }.legal-hero h1 + p { max-width:690px; margin:1.5rem 0 0; color:#6B5E54; font-size:1.05rem; line-height:1.75; }.legal-content { padding:clamp(4.5rem,8vw,7.5rem) 0; background:#FCFBF8; }.legal-layout { display:grid; grid-template-columns:12.5rem minmax(0,46rem); gap:clamp(3rem,9vw,9rem); align-items:start; }.legal-toc { position:sticky; top:7rem; padding-top:.3rem; }.legal-toc p { margin:0 0 .9rem; color:#9A754A; font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.legal-toc nav { display:grid; gap:.55rem; }.legal-toc a { color:#6B5E54; font-size:.82rem; line-height:1.45; }.legal-toc a:hover { color:#2D241C; }.legal-article { min-width:0; }.legal-notice { margin:0 0 2.5rem; padding:1rem 1.15rem; color:#6B4E3D; background:#E7DDCE; border-left:3px solid #B28C5A; font-size:.9rem; line-height:1.55; }.legal-article section { padding:0 0 2.25rem; margin:0 0 2.25rem; border-bottom:1px solid rgba(107,78,61,.18); scroll-margin-top:7rem; }.legal-article section:last-child { margin-bottom:0; }.legal-article h2 { margin:0 0 .9rem; color:#2D241C; font:600 clamp(1.7rem,2.4vw,2.15rem)/1.12 'Cormorant Garamond',Georgia,serif; }.legal-article p { margin:0; color:#6B5E54; font-size:.96rem; line-height:1.78; }.legal-placeholder { color:#6B4E3D; font-style:italic; }
@media (max-width:1023px) { .legal-hero { padding-top:9.5rem; }.legal-layout { grid-template-columns:1fr; gap:2.5rem; }.legal-toc { position:static; display:flex; align-items:baseline; gap:1.2rem; padding:0 0 1.2rem; border-bottom:1px solid rgba(107,78,61,.18); }.legal-toc p { flex:0 0 auto; margin:0; }.legal-toc nav { display:flex; flex-wrap:wrap; gap:.55rem 1rem; } }
@media (max-width:639px) { .legal-hero { padding:8.7rem 0 4.3rem; }.legal-hero h1 { font-size:3.05rem; }.legal-hero h1 + p { font-size:1rem; }.legal-content { padding:4rem 0; }.legal-toc { display:block; }.legal-toc p { margin-bottom:.8rem; }.legal-article section { padding-bottom:1.75rem; margin-bottom:1.75rem; }.legal-article h2 { font-size:1.75rem; } }
