/* Local Entreprises draft. Content follows Vincent's September PDF; visual rules follow the approved homepage. */
.enterprise-page { --ent-space: clamp(108px, 10vw, 168px); }
.enterprise-page .site-header { position: sticky; top: 0; z-index: 50; transition: transform .35s ease, box-shadow .35s ease; }
.enterprise-page .site-header.is-hidden { transform: translateY(-101%); }
.enterprise-page .site-header.is-scrolled { box-shadow: 0 5px 24px rgba(27, 28, 27, .08); }
@media (prefers-reduced-motion: reduce) { .enterprise-page .site-header { transition: none; } }
.enterprise-page .button { border-radius: 0; }
.enterprise-page .button span { font-size: 20px; font-weight: 400; line-height: 0; }
.enterprise-page h2 { font-size: clamp(43px, 4.3vw, 64px); line-height: 1.08; }
.enterprise-page h2 em, .enterprise-page h1 em { font-style: italic; }
.enterprise-page .ent-section { padding-block: var(--ent-space); }
.enterprise-page .ent-eyebrow { font: 500 12px/1.55 Epilogue, sans-serif; letter-spacing: .015em; margin: 0 0 26px; }
.enterprise-page .ent-centered-head { max-width: 930px; margin: 0 auto 70px; text-align: center; }
.enterprise-page .ent-centered-head h2 { margin: 0; }
.enterprise-page .ent-centered-head > p:last-child:not(.ent-eyebrow) { max-width: 730px; font-size: 17px; margin: 24px auto 0; }

.ent-hero { position: relative; min-height: clamp(680px, calc(100svh - 92px), 850px); isolation: isolate; overflow: hidden; color: #fff9f2; background: #30241f; }
.ent-hero-image { position: absolute; inset: 0; z-index: -2; }
.ent-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 49%; }
.ent-hero::before { content: ''; position: absolute; z-index: 0; top: -9%; left: 11%; width: 128%; aspect-ratio: 1896 / 1143; background: url('/site/assets/logo-icone-hero.svg') center / contain no-repeat; opacity: .23; pointer-events: none; }
.ent-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(40,29,25,.72),rgba(40,29,25,.58) 50%,rgba(40,29,25,.45)); }
.ent-hero-content { position: relative; z-index: 1; min-height: inherit; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding-block: 80px 85px; }
.ent-hero h1 { font-size: clamp(58px, 5.6vw, 82px); line-height: 1.02; max-width: 1000px; }
.ent-hero-lead { max-width: 730px; font-size: 18px; line-height: 1.55; margin: 29px 0 0; }
.ent-hero-actions { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 36px; }
.ent-hero-actions .button { min-width: 268px; }
.ent-quiet-link { font-size: 14px; text-underline-offset: 5px; padding: 7px; }
.ent-hero-reassurance { font-size: 13px; line-height: 1.55; margin: 14px 0 0; }
.ent-hero :focus-visible { outline-color: #fff9f2; }
@media (min-width: 1900px) { .ent-hero { min-height: clamp(800px, 38vw, 940px); } .ent-hero-image img { object-position: 50% 43%; } }
@media (min-width: 2800px) { .ent-hero-image img { object-position: 50% 42%; } }

.ent-situations { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 10vw, 170px); }
.ent-section-side { position: sticky; top: 105px; align-self: start; }
.ent-section-side h2 { max-width: 520px; }
.ent-section-side h2 em { display: block; margin-top: .22em; }
.ent-section-side > p:last-child { max-width: 350px; font-size: 18px; margin: 32px 0 0; }
.ent-situation-list { border-top: 1px solid var(--rule); }
.ent-situation-list article { display: grid; grid-template-columns: 150px 1fr; gap: 36px; padding-block: 36px; border-bottom: 1px solid var(--rule); }
.ent-row-label { font-size: 15px; line-height: 1.5; color: var(--muted); margin: 4px 0 0; }
.ent-situation-list h3 { font-size: clamp(27px, 2.25vw, 34px); line-height: 1.19; max-width: 620px; }
.ent-situation-body { min-width: 0; }
.ent-evidence { max-width: 660px; margin: 15px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.ent-evidence strong { color: var(--wine); font: italic 25px/1.1 Biolinum,Georgia,serif; white-space: nowrap; margin-right: 5px; }
.ent-section-sources { margin: 21px 0 0; color: var(--muted); font: 11px/1.55 Epilogue,sans-serif; }
.ent-section-sources a { color: inherit; text-underline-offset: 2px; }

.ent-human { background: var(--petal); overflow: hidden; }
.ent-human-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: clamp(70px, 9vw, 135px); align-items: center; padding-block: clamp(72px, 7vw, 106px); position: relative; }
.ent-human-grid::before { content: ''; position: absolute; left: -8%; bottom: -28%; width: 75%; aspect-ratio: 1896 / 1143; background: url('/site/assets/logo-icone-wine-solid.svg') center/contain no-repeat; opacity: .13; pointer-events: none; }
.ent-human-copy { position: relative; z-index: 1; }
.ent-human h2 { max-width: 760px; font-size: clamp(38px, 3.45vw, 53px); }
.ent-human-copy > p:not(.ent-eyebrow):not(.ent-section-sources) { font-size: 17px; max-width: 680px; margin: 32px 0 0; }
.ent-human-copy > .ent-section-sources { margin-top: 20px; }
.ent-human-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; max-width: 700px; margin-top: 36px; }
.ent-human-stats > div { border-top: 1px solid currentColor; padding-top: 16px; display: flex; flex-direction: column; align-items: flex-start; }
.ent-human-stats strong { font: italic clamp(35px, 3.2vw, 48px)/1.05 Biolinum,Georgia,serif; color: var(--wine); }
.ent-human-stats span { font-size: 15px; line-height: 1.55; margin-top: 9px; }
.ent-human figure { min-width: 0; }
.ent-human img { width: 100%; height: clamp(440px, 45vw, 630px); object-fit: cover; object-position: 50% 55%; border-radius: 0 72px 0 0; }

.ent-approach-grid, .ent-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(24px, 3vw, 44px); }
.ent-approach-grid article, .ent-service-grid article { min-width: 0; }
.ent-approach-visual { position: relative; }
.ent-approach-visual > img:first-child { width: 100%; height: clamp(250px, 25vw, 350px); object-fit: cover; border-radius: 0 56px 0 0; }
.ent-approach-visual .ent-card-icon { position: absolute; bottom: 24px; left: 24px; width: 34px; height: 34px; filter: drop-shadow(0 1px 5px rgba(25,20,18,.35)); }
.ent-approach-copy { min-height: 275px; padding: 28px 30px 31px; }
.ent-approach-copy h3 { font-size: clamp(28px, 2.5vw, 36px); margin: 0 0 24px; }
.ent-approach-copy .ent-principle { font: italic 25px/1.14 Biolinum,Georgia,serif; margin: 0 0 16px; }
.ent-approach-copy p:last-child { font-size: 15px; line-height: 1.65; margin: 0; }
.ent-sky { background: var(--sky); color: var(--blue); }
.ent-petal { background: var(--petal); color: var(--wine); }
.ent-palm { background: #e1e6dd; color: #3f493d; }
.ent-blue { background: var(--blue); color: var(--petal); }
.ent-soft-sky { background: #e9f0f6; color: var(--blue); }

.ent-services { scroll-margin-top: 95px; }
.ent-service-grid article { border-top: 1px solid var(--rule); padding-top: 17px; }
.ent-service-grid img { width: 100%; height: clamp(270px, 29vw, 390px); object-fit: cover; object-position: center; border-radius: 0 56px 0 0; }
.ent-service-grid article:nth-child(1) img { object-position: center 42%; }
.ent-service-grid article:nth-child(3) img { object-position: center 48%; }
.ent-service-kicker { color: var(--muted); font-size: 13px; margin: 28px 0 10px; }
.ent-service-grid h3 { font: italic clamp(27px, 2.25vw, 34px)/1.12 Biolinum,Georgia,serif; min-height: 2.3em; margin: 0 0 20px; }
.ent-service-grid p:not(.ent-service-kicker), .ent-service-grid li { font-size: 15px; line-height: 1.65; }
.ent-service-grid p:not(.ent-service-kicker) { margin: 0 0 20px; }
.ent-service-grid ul { list-style: none; margin: 0; padding: 0; }
.ent-service-grid li { border-top: 1px solid var(--rule); padding-block: 13px; }
.ent-services-action { display: flex; justify-content: space-between; align-items: center; gap: 35px; border-top: 1px solid var(--rule); padding-top: 30px; margin-top: 55px; }
.ent-services-action p { font: italic 27px/1.3 Biolinum,Georgia,serif; max-width: 500px; margin: 0; }

.ent-seminar { padding-block: 0; }
.ent-seminar-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(50px, 6vw, 90px); align-items: center; width: calc(100% - var(--gutter)*2); max-width: var(--max); background: var(--blue); color: var(--petal); border-radius: 0 72px 0 0; padding: clamp(52px, 6vw, 88px); }
.ent-seminar figure { min-width: 0; }
.ent-seminar img { width: 100%; height: clamp(470px, 45vw, 620px); object-fit: cover; object-position: 50% center; }
.ent-seminar h2 { font-size: clamp(55px, 5vw, 74px); }
.ent-seminar h2 em { display: block; }
.ent-seminar-lead { font: 29px/1.3 Biolinum,Georgia,serif; margin: 24px 0; }
.ent-seminar p:not(.ent-eyebrow):not(.ent-seminar-lead):not(.ent-seminar-facts) { font-size: 16px; line-height: 1.7; }
.ent-seminar-facts { font-size: 14px; padding-block: 18px; margin: 26px 0; border-top: 1px solid #f8e7d950; border-bottom: 1px solid #f8e7d950; }
.ent-seminar :focus-visible { outline-color: var(--petal); }

.ent-measure { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 8vw, 120px); align-items: center; }
.ent-measure figure { min-width: 0; }
.ent-measure img { width: 100%; height: 530px; object-fit: cover; object-position: 50% 57%; border-radius: 0 64px 0 0; }
.ent-measure p:not(.ent-eyebrow) { font-size: 17px; max-width: 620px; margin-top: 28px; }
.ent-measure .ent-measure-note { border-top: 1px solid var(--rule); padding-top: 24px; font: italic 26px/1.3 Biolinum,Georgia,serif; }
.enterprise-page .testimonials-premium { margin: 0; }
.enterprise-page .testimonials-premium .testimonial-intro h2 { font: 14px/1.6 Epilogue,sans-serif; }

.ent-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; margin: 0; padding: 0; list-style: none; }
.ent-process-grid li { min-height: 290px; padding: 32px; background: var(--sky); color: var(--blue); display: flex; flex-direction: column; align-items: flex-start; }
.ent-process-grid li:nth-child(2) { background: var(--palm); color: var(--petal); }
.ent-process-grid li:nth-child(3) { background: #3f493d; color: var(--petal); }
.ent-process-grid li:nth-child(4) { background: var(--petal); color: var(--wine); }
.ent-process-grid li:nth-child(5) { background: #265d80; color: var(--petal); }
.ent-step-number { border: 1px solid currentColor; padding: 5px 7px; font: 13px/1 Epilogue,sans-serif; }
.ent-process-grid h3 { font: italic clamp(27px,2.35vw,34px)/1.1 Biolinum,Georgia,serif; margin: auto 0 16px; padding-top: 28px; }
.ent-process-grid p { font-size: 15px; line-height: 1.5; margin: 0; }
.ent-process-note { font-size: 14px; text-align: right; margin: 32px 0 0; }

.ent-founders { background: #e9f0f6; color: var(--blue); padding-block: clamp(90px, 9vw, 140px); }
.ent-founders-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(65px, 8vw, 120px); align-items: center; }
.ent-founders img { width: 100%; height: 570px; object-fit: cover; object-position: center; border-radius: 0 70px 0 0; filter: sepia(.22) saturate(1.12) contrast(1.11) brightness(.96); }
.ent-founders h2 em { display: block; }
.ent-founders-lead { font: 25px/1.3 Biolinum,Georgia,serif; margin: 25px 0 38px; }
.ent-bios { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.ent-bios article { border-top: 1px solid #043e604b; padding-top: 22px; }
.ent-bios h3 { font-size: 27px; margin: 0 0 14px; }
.ent-bios p { font-size: 15px; margin: 0; }
.ent-text-link { display: inline-flex; align-items: center; gap: 18px; font-size: 14px; text-decoration: none; border-bottom: 1px solid currentColor; margin-top: 34px; padding: 7px 0; }

.ent-why-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(3, minmax(285px,auto)); gap: 18px; }
.ent-why-card { min-height: 285px; padding: 34px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; }
.ent-why-card-wide { grid-column: span 2; }
.ent-why-card h3, .ent-why-photo h3 { font: italic clamp(27px, 2.35vw, 35px)/1.12 Biolinum,Georgia,serif; max-width: 530px; margin: 0 0 18px; }
.ent-why-card p, .ent-why-photo p { font-size: 15px; line-height: 1.55; max-width: 520px; margin: 0; }
.ent-why-icon { position: absolute; top: 28px; right: 28px; width: 30px; height: 30px; object-fit: contain; }
.ent-why-proof { min-height: 285px; padding: 30px 34px; background: var(--petal); color: var(--wine); display: flex; flex-direction: column; justify-content: flex-end; position: relative; }
.ent-why-proof strong { font: italic clamp(68px, 7vw, 98px)/1 Biolinum,Georgia,serif; letter-spacing: -.05em; }
.ent-why-proof strong span { font-size: .63em; vertical-align: 22%; }
.ent-why-proof p { font-size: 15px; line-height: 1.55; max-width: 330px; margin: 8px 0 0; }
.ent-why-photo { grid-column: 2; grid-row: 2 / span 2; min-height: 588px; position: relative; isolation: isolate; overflow: hidden; color: #fff9f2; }
.ent-why-photo::after { content: ''; position: absolute; z-index: -1; inset: 25% 0 0; background: linear-gradient(0deg,rgba(14,26,27,.8),transparent); }
.ent-why-photo .ent-why-photo-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ent-why-photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 36px 32px; color: #fff9f2; }
.ent-why-photo figcaption h3, .ent-why-photo figcaption p { color: inherit; }
.ent-why-mark { min-height: 285px; display: grid; place-items: center; background: var(--palm); }
.ent-why-mark img { width: 58%; height: auto; max-height: 200px; object-fit: contain; }

.ent-close { position: relative; isolation: isolate; overflow: hidden; background: #3b302b; color: #fff9f2; padding-block: clamp(110px,10vw,160px); }
.ent-close::before { content: ''; position: absolute; z-index: -2; inset: 0; background: url('/site/assets/ent-contact-lake.jpg') center 51%/cover no-repeat; }
.ent-close::after { content: ''; position: absolute; z-index: -1; inset: 0; background: rgba(35,27,22,.55); }
.ent-close-grid { display: grid; grid-template-columns: 1fr .55fr; align-items: center; gap: 8vw; }
.ent-close h2 { max-width: 720px; }
.ent-close-grid > div:last-child p { font-size: 16px; max-width: 400px; }
.ent-close .ent-close-note { font-size: 13px!important; margin: 15px 0 0; }
.ent-close :focus-visible { outline-color: #fff9f2; }
.enterprise-page .faq-premium { padding-block: clamp(95px,9vw,140px); }
.enterprise-page .ent-faq-heading p { font: italic 27px/1.25 Biolinum,Georgia,serif; margin: 16px 0 0; }

@media (max-width: 1100px) {
  .ent-situations { gap: 60px; }
  .ent-situation-list article { grid-template-columns: 145px 1fr; gap: 22px; }
  .ent-human-grid, .ent-founders-grid { gap: 55px; }
  .ent-service-grid h3 { min-height: 3.3em; }
  .ent-approach-copy { padding: 25px; }
}
@media (max-width: 760px) {
  .enterprise-page { --ent-space: 88px; }
  .enterprise-page .ent-section { padding-block: var(--ent-space); }
  .enterprise-page .ent-centered-head { text-align: left; margin-bottom: 44px; }
  .enterprise-page .ent-centered-head > p:last-child:not(.ent-eyebrow) { margin: 21px 0 0; font-size: 15px; }
  .enterprise-page h2 { font-size: clamp(38px,9.8vw,50px); }
  .ent-hero { min-height: clamp(700px,calc(100svh - 78px),780px); }
  .ent-hero-image img { object-position: 51% 47%; }
  .ent-hero::before { top: 8%; left: -22%; width: 180%; opacity: .14; }
  .ent-hero::after { background: linear-gradient(180deg,rgba(40,29,25,.78),rgba(40,29,25,.66) 47%,rgba(40,29,25,.34)); }
  .ent-hero-content { padding-block: 70px 75px; }
  .ent-hero h1 { font-size: clamp(46px,11vw,64px); }
  .ent-hero-lead { font-size: 16px; margin-top: 25px; }
  .ent-hero-actions { margin-top: 30px; }
  .ent-hero-reassurance { max-width: 300px; }
  .ent-situations, .ent-human-grid, .ent-measure, .ent-founders-grid, .ent-close-grid { grid-template-columns: 1fr; gap: 40px; }
  .ent-section-side { position: static; }
  .ent-section-side > p:last-child { font-size: 16px; margin-top: 25px; }
  .ent-situation-list article { grid-template-columns: 1fr; gap: 9px; padding-block: 26px; }
  .ent-row-label { font-size: 13px; }
  .ent-situation-list h3 { font-size: 29px; }
  .ent-evidence { font-size: 14px; margin-top: 11px; }
  .ent-evidence strong { font-size: 23px; }
  .ent-human-grid { padding-block: 88px; }
  .ent-human-grid::before { left: -24%; top: 30%; bottom: auto; width: 140%; }
  .ent-human img { height: 410px; }
  .ent-human h2 { font-size: 38px; }
  .ent-human-copy > p:not(.ent-eyebrow):not(.ent-section-sources) { font-size: 16px; }
  .ent-human-stats { grid-template-columns: 1fr; gap: 30px; }
  .ent-human-stats strong { font-size: 39px; }
  .ent-approach-grid, .ent-service-grid { grid-template-columns: 1fr; gap: 40px; }
  .ent-approach-visual > img:first-child { height: 270px; }
  .ent-approach-copy { min-height: 0; padding: 25px 27px 29px; }
  .ent-approach-copy h3 { font-size: 31px; margin-bottom: 15px; }
  .ent-service-grid { gap: 48px; }
  .ent-service-grid img { height: 310px; }
  .ent-service-grid h3 { min-height: 0; font-size: 31px; }
  .ent-services-action { flex-direction: column; align-items: flex-start; gap: 24px; }
  .ent-seminar-grid { width: calc(100% - var(--gutter)*2); grid-template-columns: 1fr; gap: 35px; padding: 40px 28px 28px; border-radius: 0 50px 0 0; }
  .ent-seminar-grid > div { grid-row: 1; }
  .ent-seminar h2 { font-size: 57px; }
  .ent-seminar img { height: 320px; }
  .ent-seminar-lead { font-size: 25px; }
  .ent-measure figure { order: 2; }
  .ent-measure img { height: 390px; }
  .ent-process-grid { grid-template-columns: 1fr; gap: 17px; }
  .ent-process-grid li { min-height: 0; padding: 27px; }
  .ent-process-grid h3 { margin-top: 40px; padding: 0; }
  .ent-process-note { text-align: left; }
  .ent-founders { padding-block: 90px; }
  .ent-founders figure { order: 2; }
  .ent-founders img { height: 390px; }
  .ent-bios { grid-template-columns: 1fr; gap: 22px; }
  .ent-why-grid { grid-template-columns: 1fr; grid-template-rows: none; gap: 16px; }
  .ent-why-card-wide { grid-column: auto; }
  .ent-why-card { min-height: 270px; padding: 30px; }
  .ent-why-proof { min-height: 250px; }
  .ent-why-photo { grid-column: auto; grid-row: auto; height: 500px; min-height: 0; }
  .ent-why-photo figcaption { padding: 30px; }
  .ent-why-mark { min-height: 240px; }
  .ent-close { padding-block: 110px; }
  .ent-close-grid { gap: 20px; }
}
@media (max-width: 380px) {
  .ent-hero h1 { font-size: 38px; }
  .ent-hero-lead { font-size: 15px; }
  .ent-human h2 { font-size: 35px; }
  .ent-seminar h2 { font-size: 51px; }
}

@media (max-width: 640px) {
  .ent-approach-grid,
  .ent-process-grid,
  .ent-why-grid { width: calc(100% + var(--gutter)*2); margin-inline: calc(var(--gutter)*-1); }
  .ent-approach-copy,
  .ent-process-grid li,
  .ent-why-card,
  .ent-why-proof,
  .ent-why-photo figcaption { padding-inline: var(--gutter); }
  .ent-seminar-grid { width: 100%; margin-inline: 0; padding-inline: var(--gutter); }
}
