/* Meridan: Ink palette, spacious typography and vertical content layout. */
:root {
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --serif: var(--sans);
  --mono: var(--sans);
  --ink: #0c1f3a;
  --paper: #f6f2ea;
  --surface: #132b4a;
  --alt-dark: #10233e;
  --muted: #b3bed0;
  --accent: #ff5b1f;
  --accent-soft: #ffac87;
  --cta: #ff5b1f;
  --radius-card: 30px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.meridan-site {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
[hidden] { display: none !important; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: 5px; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid var(--accent-soft);
  outline-offset: 5px;
}
main { min-width: 0; }
main section { scroll-margin-top: 105px; }
.container { width: 100%; max-width: 1180px; margin: 0 auto; }
h1, h2, h3 { font-family: var(--sans); font-weight: 650; font-style: normal; }
h1 { font-size: clamp(52px, 6vw, 88px); line-height: 1.065; letter-spacing: -.055em; }
h2 { font-size: clamp(40px, 4.3vw, 60px); line-height: 1.12; letter-spacing: -.045em; margin: 0 0 26px; }
h3 { font-size: 27px; line-height: 1.25; letter-spacing: -.025em; }
h1 i, h2 i, h3 i, .manifesto-quote i {
  font-style: normal;
  color: #b7cbe6;
}
.section-light h1 i, .section-light h2 i, .section-light h3 i { color: #526785; }
p { line-height: 1.65; }
.eyebrow {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
  margin: 0 0 22px;
  gap: 0;
}
.eyebrow::before, .eyebrow-arrow::after { display: none; }
.skip-link { position: fixed; left: 20px; top: -100px; background: var(--paper); color: var(--ink); padding: 12px 20px; z-index: 30; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(12,31,58,.92);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(246,242,234,.10);
}
.header-inner { max-width: 1236px; margin: 0 auto; min-height: 72px; padding: 0 28px; display: flex; align-items: center; gap: 35px; }
.brand { display: inline-flex; align-items: center; gap: 8px; color: var(--paper); flex-shrink: 0; }
.brand img { width: 28px; height: 28px; }
.brand span { font: 28px Georgia, serif; letter-spacing: -1px; }
.primary-nav { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.primary-nav a { font-size: 13px; color: #bec9da; white-space: nowrap; }
.primary-nav a:hover, .primary-nav a[aria-current] { color: var(--paper); text-decoration: none; }
.primary-nav a[aria-current] { font-weight: 600; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.menu-toggle { display: none; width: 38px; height: 38px; background: transparent; border: 0; padding: 9px; color: var(--paper); border-radius: 50%; }
.menu-toggle span { display: block; height: 1.5px; background: currentColor; margin: 5px 0; }
.mobile-nav { display: grid; padding: 18px 28px 26px; background: var(--ink); border-top: 1px solid var(--line); gap: 0; }
.mobile-nav a { font-size: 20px; padding: 12px 0; }
.mobile-nav a[aria-current] { color: var(--accent-soft); }
.btn { font-family: var(--sans); font-style: normal; border: 0; font-weight: 500; line-height: 1.4; }
.btn-primary, .section-cta .btn-primary {
  background: var(--cta);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 14px 25px;
  font-size: 17px;
}
.btn-primary:hover { background: #e84b0e; }
.btn.btn-small { font-size: 12px; padding: 10px 16px; white-space: nowrap; }
.btn-secondary, .section-cta .btn-secondary, .section-light .btn-secondary {
  color: var(--accent-soft);
  border: 0;
  border-radius: 0;
  padding: 12px 4px;
  font-size: 17px;
  background: transparent;
}
.btn-secondary:hover, .section-cta .btn-secondary:hover, .section-light .btn-secondary:hover { background: transparent; color: var(--accent-soft); text-decoration: underline; }
.section-light .btn-secondary { color: #b84618; }
.hero-actions, .form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 32px; }
.hero { padding: 78px 32px 80px; }
.hero-grid { display: block; max-width: 1100px; margin: auto; text-align: center; }
.hero-compact .hero-grid { max-width: 1060px; }
.hero-compact h1 { font-size: clamp(48px, 5.3vw, 76px); margin: 0 auto 30px; }
.hero .lede { max-width: 830px; margin: 26px auto 0; font-size: 21px; line-height: 1.55; color: var(--muted); }
.hero .hero-actions { justify-content: center; }
.page-index .hero { padding-top: 76px; }
.page-index .hero h1 { max-width: 1090px; margin: 0 auto 25px; font-size: clamp(56px, 6vw, 86px); }
.page-index .hero .lede { max-width: 760px; font-size: 20px; }
.tripty { font-size: 15px; margin: 27px 0 0; color: #a6b4c9; line-height: 1.5; }
.hero-illustration.hero-illustration-paper {
  width: 100%;
  max-width: 980px;
  height: auto;
  aspect-ratio: auto;
  margin: 46px auto 0;
  padding: 0;
  border-radius: 36px;
  background: var(--paper);
}
.hero-illustration .site-illustration { display: block; width: 100%; max-height: 675px; object-fit: contain; }
.hero-scenario { max-width: 830px; margin: 38px auto 0; text-align: center; }
.page-index .hero-scenario .lede { font-size: 18px; }
.site-illustration, .story-visual img, .method-tool-art img {
  mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent), linear-gradient(to bottom, transparent, #000 7%, #000 93%, transparent);
  mask-composite: intersect;
}
.label-badge .site-illustration { mask-image: none; }
.section { padding: 100px 32px; }
.section > .container { padding: 0; }
.section-alt { background: var(--alt-dark); }
.section-intro { max-width: 870px; font-size: 21px; line-height: 1.6; color: var(--muted); margin: 0 0 28px; }
.section-intro + .section-intro { margin-top: 23px; }
.section .hero-actions { margin-top: 34px; }
.section-light { background: var(--paper); color: var(--ink); color-scheme: light; }
.section-light .eyebrow { color: #647084; }
.section-light .section-intro, .section-light .duo-intro, .section-light .duo-cell p { color: #5c6c80; }
.benefits { display: grid; gap: 0; margin-top: 20px; border-top: 1px solid var(--line); }
.benefit { display: grid; grid-template-columns: 48px 1fr; gap: 23px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.benefit-num { font-size: 14px; font-weight: 500; color: #9bacbf; padding-top: 6px; }
.benefit h3 { font-size: 24px; margin: 0 0 12px; }
.benefit h3 i { color: var(--paper); }
.benefit p { font-size: 17px; color: var(--muted); line-height: 1.6; margin: 0; max-width: 67ch; }
.page-index #benefices > .container { display: grid; grid-template-columns: .95fr 1.1fr; grid-template-rows: auto auto auto 1fr; column-gap: 72px; align-items: start; }
.page-index #benefices .eyebrow { grid-column: 1; grid-row: 1; }
.page-index #benefices h2 { grid-column: 1; grid-row: 2; font-size: 50px; }
.page-index #benefices .section-intro { grid-column: 1; grid-row: 3; font-size: 19px; }
.page-index #benefices .benefits { grid-column: 2; grid-row: 1 / 5; margin-top: 0; }
.page-index #benefices .hero-actions { grid-column: 1; grid-row: 4; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 30px; margin: 44px 0 34px; }
.stat { padding-top: 0; border: 0; }
.stat b { display: block; font-size: 64px; line-height: 1.05; font-weight: 600; letter-spacing: -.055em; font-style: normal; }
.stat span { display: block; color: var(--muted); font-size: 13px; line-height: 1.55; margin-top: 14px; letter-spacing: 0; }
.checks { display: grid; list-style: none; padding: 0; margin: 26px 0 0; gap: 12px; }
.checks li { position: relative; padding-left: 25px; color: var(--muted); font-size: 18px; line-height: 1.6; }
.checks li::before { content: "✓"; position: absolute; left: 0; color: #c9a961; }
.section-light .checks li { color: #5c6c80; }
.checks + .section-intro { margin-top: 28px; }
.ba { width: 100%; border-collapse: separate; border-spacing: 0; margin: 36px 0 26px; table-layout: fixed; overflow: hidden; border-radius: 22px; }
.ba th { font: 600 17px var(--sans); color: var(--paper); background: #20395a; padding: 18px 24px; text-align: left; }
.ba td { font-size: 18px; line-height: 1.5; padding: 22px 24px; border: 0; border-bottom: 1px solid #ffffff0e; overflow-wrap: anywhere; }
.ba td.before { background: #132b4a; color: #b3bed0; }
.ba td.after { background: var(--paper); color: var(--ink); font-weight: 500; }
.testimonials-note { font-size: 13px; line-height: 1.55; color: #9aaac0; }
.page-index #label { background: #112740; color: var(--paper); }
.page-index #label h2 i { color: #b7cbe6; }
.page-index #label .eyebrow, .page-index #label .section-intro { color: var(--muted); }
.label-levels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin-top: 50px; }
.label-level, .label-level-top, .section-light .label-level { background: transparent; border: 0; border-radius: 0; padding: 0; display: flex; gap: 15px; align-items: center; flex-direction: column; }
.label-badge { padding: 0; }
.label-badge .site-illustration { width: 220px; max-width: 100%; border-radius: 50%; }
.label-level .eyebrow { font-size: 14px; color: #c9a961; margin: 8px 0 0; }
.label-level h3 { font-size: 29px; font-style: normal; }
.label-level h3 i { color: inherit; }
.label-level p, .page-index #label .label-level p { font-size: 18px; line-height: 1.6; color: var(--muted); opacity: 1; max-width: 310px; }
.label-triptych { font-size: 62px; letter-spacing: -.04em; max-width: 1080px; margin: 0 auto 28px; }
.label-esprit { font-family: var(--sans); font-size: 22px; line-height: 1.55; color: var(--muted); max-width: 900px; }
.trust-manifesto { text-align: center; padding: 100px 32px; }
.trust-statement { font-family: var(--sans); font-size: 39px; line-height: 1.3; font-weight: 500; letter-spacing: -.03em; }
.trust-statement i { font-style: normal; color: #b7cbe6; }
.trust-signature { font-family: var(--sans); font-size: 20px; font-style: normal; color: var(--muted); opacity: 1; }
.deliverables { margin-top: 40px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 65px; }
.deliverables article { padding: 26px 0 0; border-top: 1px solid var(--line); }
.deliverables h3 { font-size: 27px; margin-bottom: 17px; }
.deliverables p { font-size: 18px; line-height: 1.65; color: var(--muted); margin: 0; }
.label-process { counter-reset: step; list-style: none; margin: 35px 0 0; padding: 0; max-width: 100%; }
.label-process li { counter-increment: step; font-size: 19px; line-height: 1.6; color: var(--muted); border-bottom: 1px solid var(--line); padding: 25px 0 25px 66px; position: relative; }
.label-process li::before { content: counter(step, decimal-leading-zero); font: 500 15px var(--sans); color: #b7cbe6; left: 0; top: 31px; width: 40px; }
.label-process li strong { color: var(--paper); font-weight: 600; }
.label-legal-box { border: 1px solid var(--line); padding: 35px; border-radius: 26px; background: transparent; }
.label-legal-box p { font-size: 18px; color: var(--muted); line-height: 1.65; }
.label-legal-box .eyebrow { color: var(--paper); font-size: 14px; }
.page-solution .grid-4 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 44px; }
.card-pastel { border: 0; border-radius: 28px; padding: 30px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; min-height: 320px; align-items: center; color: var(--ink); background: var(--paper); }
.card-pastel.butter { background: #f6f2ea; }
.card-pastel.lavender { background: #eeeaf6; }
.card-pastel.pink { background: #f8e9ed; }
.card-pastel.cream { background: #ebe4d3; }
.card-pastel .mock-area { order: 2; min-height: 0; width: 100%; }
.mock-area .site-illustration { width: 100%; max-width: 300px; border-radius: 0; }
.component-copy { order: 1; min-width: 0; }
.card-pastel h3 { font-family: var(--sans); font-size: 27px; font-style: normal; font-weight: 600; letter-spacing: -.03em; margin: 0 0 18px; }
.card-pastel h3 i { color: var(--ink); }
.card-pastel p { font-size: 17px; line-height: 1.6; color: #54677f; opacity: 1; }
.qshift { max-width: 960px; margin: 44px 0 0; text-align: left; }
.qshift .old { font-family: var(--sans); font-style: normal; font-size: 23px; text-decoration: line-through; color: #9aabc0; margin-bottom: 20px; }
.qshift .new { font-family: var(--sans); font-style: normal; font-size: 37px; line-height: 1.28; font-weight: 500; letter-spacing: -.025em; color: var(--paper); }
.frise { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 44px 0 35px; }
.frise-step { background: #132b4a; border: 0; border-radius: 24px; padding: 25px 28px; display: flex; flex-direction: column; gap: 12px; }
.frise-num { font-size: 14px; color: #9cb2d0; }
.frise-verb { font-size: 29px; font-weight: 500; letter-spacing: -.03em; }
.frise-out { font-size: 16px; color: var(--muted); }
.duo-section { padding: 105px 32px; }
.duo-h2 { font-size: 64px; max-width: 970px; text-align: center; margin: 0 auto 28px; }
.duo-intro { font-size: 22px; max-width: 880px; margin: 0 auto 42px; }
.duo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px; }
.duo-grid::before { display: none; }
.duo-cell { gap: 23px; min-width: 0; }
.duo-mock { min-height: 300px; height: auto; padding: 27px; border: 0; border-radius: 30px; background: #e8e1d4; margin-bottom: 0; }
.duo-mock-illustrated { padding: 0; }
.duo-mock-illustrated .site-illustration { height: auto; width: 100%; }
.duo-mock .checks { margin: 0; }
.duo-cell h3 { font-family: var(--sans); font-size: 30px; font-style: normal; font-weight: 600; }
.duo-cell p { font-size: 18px; line-height: 1.6; }
.duo-cell .eyebrow { margin: 0; color: #54677f; }
.section-light .duo-cell h3 i { color: var(--ink); }
.method-tool-art { max-width: 650px; margin: 35px auto 0; background: var(--paper); border-radius: 28px; overflow: hidden; }
.page-methode .method-step { padding: 0 32px; background: var(--ink); }
.method-step > .container { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 50px; border-top: 1px solid var(--line); padding: 66px 0; }
.method-step-number { font-size: 43px; font-weight: 500; line-height: 1.15; color: #788fad; letter-spacing: -.04em; padding-top: 5px; }
.method-step h2 { font-size: 44px; max-width: 900px; }
.method-step .section-intro { font-size: 20px; max-width: 940px; }
.method-step .section-intro:last-child { margin-bottom: 0; }
.method-step .section-intro strong { color: var(--paper); }
.pillars { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; margin-top: 40px; }
.pillar { background: #132b4a; border: 0; border-radius: 27px; padding: 32px; }
.pillar h3 { font-size: 30px; margin: 20px 0; }
.pillar h3 i { color: var(--paper); }
.pillar p { font-size: 18px; color: var(--muted); line-height: 1.65; }
.pillar-tag { display: inline-flex; font: 500 13px var(--sans); letter-spacing: 0; text-transform: none; border-radius: 999px; padding: 7px 12px; color: var(--ink); }
.page-referentiels code { white-space: normal; overflow-wrap: anywhere; }
.manifesto-section { padding: 78px 32px 100px; }
.manifesto-section .container { max-width: 1060px; }
.manifesto-section .eyebrow { display: block; text-align: center; margin-bottom: 28px; }
.manifesto-quote { font-family: var(--sans); font-size: 84px; line-height: 1.1; letter-spacing: -.055em; font-weight: 650; color: var(--paper); text-align: center; margin: 0 auto 32px; }
.manifesto-lede { font-size: 23px; line-height: 1.55; color: var(--muted); max-width: 850px; margin: 0 auto; }
.story-visual { max-width: 850px; margin: 46px auto 55px; background: var(--paper); border-radius: 30px; overflow: hidden; }
.story-visual img { max-height: 450px; width: 100%; object-fit: contain; }
.manifesto-text { display: block; column-count: 1; column-rule: none; max-width: 850px; margin: 0 auto; }
.manifesto-text p { font-family: var(--sans); font-size: 21px; line-height: 1.7; color: var(--muted); margin: 0 0 30px; }
.manifesto-text strong { font-family: var(--sans); color: var(--paper); font-weight: 600; }
.contact-layout { display: grid; grid-template-columns: 1.2fr .85fr; gap: 85px; max-width: 1100px; margin: 0 auto; }
.contact-form { min-width: 0; }
.field { margin-bottom: 26px; }
.field label { display: block; font-family: var(--sans); font-size: 15px; letter-spacing: 0; text-transform: none; font-weight: 500; margin-bottom: 10px; color: var(--paper); }
.field input, .field textarea { width: 100%; border: 1px solid #849ab652; border-radius: 12px; padding: 16px 18px; font-family: var(--sans); font-size: 18px; background: #17304f; color: var(--paper); line-height: 1.4; }
.field input:focus { outline-offset: 2px; border-color: var(--accent-soft); }
.field-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.field-checkbox { display: flex; gap: 12px; align-items: flex-start; margin: 26px 0; color: var(--muted); font-size: 14px; }
.field-checkbox input { flex: 0 0 auto; margin-top: 6px; accent-color: var(--cta); }
.field-checkbox label { line-height: 1.6; }
.contact-aside { background: transparent; border: 0; border-left: 1px solid var(--line); border-radius: 0; padding: 0 0 0 45px; min-width: 0; }
.contact-aside h2 { font-family: var(--sans); font-size: 32px; margin: 0 0 25px; }
.contact-aside h2 i { color: var(--paper); }
.aside-steps { list-style: none; counter-reset: step; padding: 0; margin: 0; }
.aside-steps li { counter-increment: step; border-bottom: 1px solid var(--line); padding: 18px 0 18px 32px; position: relative; color: var(--muted); font-size: 17px; line-height: 1.6; }
.aside-steps li::before { content: counter(step, decimal-leading-zero); position: absolute; top: 23px; left: 0; font: 500 12px var(--sans); color: #9fb3cf; }
.aside-steps strong { color: var(--paper); font-weight: 500; }
.aside-small { font-size: 13px; line-height: 1.7; color: #9aacc5; margin-top: 26px; }
.form-status { font-size: 15px; line-height: 1.5; color: var(--muted); margin: 0; }
.form-status.error { color: #ffb9b7; }
.contact-success-card { max-width: 900px; margin: auto; padding: 48px; border: 1px solid var(--line); border-radius: 30px; background: var(--surface); }
.contact-success-card h2 { font-size: 44px; }
.contact-success-card p { color: var(--muted); font-size: 19px; }
.page-estimation .hero { padding-bottom: 45px; }
.page-estimation .container-narrow { max-width: 900px; }
.page-estimation .section { padding-top: 25px; }
.esf-step { border: 0; border-top: 1px solid var(--line); padding: 38px 0; margin: 0; min-width: 0; }
.esf-step:last-of-type { border-bottom: 1px solid var(--line); margin-bottom: 38px; }
.esf-step legend { display: block; font-family: var(--sans); font-size: 25px; font-weight: 500; line-height: 1.4; margin-bottom: 20px; }
.esf-step legend i { font-style: normal; color: #b7cbe6; }
.step-num { display: inline-block; margin-right: 12px; font-family: var(--sans); font-size: 13px; font-weight: 500; color: #94aac8; letter-spacing: 0; opacity: 1; }
.step-hint { font-size: 14px; color: var(--muted); margin: 0 0 17px; }
.esf-options { display: flex; flex-wrap: wrap; gap: 11px; }
.esf-pill { max-width: 100%; text-align: left; white-space: normal; border: 1px solid #8198b749; background: #16304f; color: #ced8e6; border-radius: 14px; padding: 12px 17px; font-family: var(--sans); font-size: 15px; line-height: 1.45; }
.esf-pill:hover { border-color: var(--accent-soft); color: var(--paper); }
.esf-pill.is-selected { border-color: var(--cta); background: #ff5b1f22; color: #ffd5c3; }
.estimation-loading { font-size: 18px; color: var(--muted); text-align: center; padding: 55px 0; }
.estimation-error { padding: 48px; border: 1px solid var(--line); border-radius: 28px; background: #132b4a; text-align: center; }
.estimation-error h2 { font-size: 39px; }
.estimation-error p { font-size: 19px; color: var(--muted); }
.estimation-result { background: #132b4a; border: 1px solid var(--line); border-radius: 30px; padding: 45px; }
.result-headline { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px 0; margin: 20px 0 26px; }
.result-num { font-family: var(--sans); font-size: 65px; line-height: 1.1; letter-spacing: -.05em; color: var(--paper); }
.result-unit { font-size: .45em; color: #aac0dd; font-style: normal; }
.result-sub { font-size: 14px; color: var(--muted); margin-top: 12px; line-height: 1.6; }
.result-bullets { margin: 25px 0; padding: 0; list-style: none; }
.result-bullets li { font-size: 17px; color: var(--muted); line-height: 1.6; padding-left: 20px; }
.result-note { color: var(--muted); font-size: 14px; line-height: 1.65; font-style: normal; }
.content { max-width: 920px; margin: 0 auto; padding: 80px 32px 100px; color: var(--paper); }
.content .eyebrow { display: block; }
.content h1 { font-size: 70px; margin-bottom: 55px; }
.content h2 { font-size: 30px; margin: 35px 0 17px; letter-spacing: -.02em; }
.content p { color: var(--muted); font-size: 19px; line-height: 1.75; }
.content p strong { color: var(--paper); }
.content p a { color: var(--accent-soft); text-decoration: underline; }
.section-cta { padding: 105px 32px; background: #153151; text-align: center; }
.section-cta .container { max-width: 1000px; }
.section-cta h2 { font-size: 58px; color: var(--paper); margin: 0 0 28px; }
.section-cta p { font-size: 21px; color: var(--muted); max-width: 850px; margin: 0 auto 25px; line-height: 1.6; }
.section-cta .hero-actions { justify-content: center; }
.outro-section { background: var(--ink); padding: 90px 32px; }
.outro-headline { font-family: var(--sans); font-size: 62px; font-weight: 600; letter-spacing: -.045em; line-height: 1.14; }
.outro-headline i { font-style: normal; color: #b7cbe6; }
.outro-sub { font-family: var(--sans); font-size: 18px; color: var(--muted); }
.site-footer { padding: 0 28px; background: #0a1a30; border-top: 1px solid var(--line); margin: 0; }
.footer-top { max-width: 1180px; margin: 0 auto; padding: 55px 0 45px; display: grid; grid-template-columns: .8fr 1.6fr; gap: 70px; }
.footer-promise { font-size: 15px; line-height: 1.7; color: var(--muted); margin-top: 22px; }
.footer-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-links span { color: var(--paper); font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.footer-links a { font-size: 13px; color: #a9bad2; line-height: 1.6; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; max-width: 1180px; margin: auto; padding: 22px 0; border-top: 1px solid var(--line); color: #8fa2bc; }
.footer-bottom p { margin: 0; font-size: 11px; }
.footer-signature { font-family: var(--sans); font-size: 11px; letter-spacing: .03em; border: 0; padding: 0; color: inherit; }
@media (max-width: 1100px) {
  .header-inner { gap: 22px; }
  .primary-nav { gap: 18px; }
  .primary-nav a { font-size: 12px; }
  .page-index #benefices > .container { column-gap: 38px; }
  .page-index #benefices h2 { font-size: 44px; }
  .card-pastel { grid-template-columns: 1fr; padding: 30px; gap: 24px; align-content: start; }
  .card-pastel .mock-area { order: 1; }
  .component-copy { order: 2; }
  .mock-area .site-illustration { max-width: 280px; }
  .contact-layout { gap: 45px; }
  .contact-aside { padding-left: 30px; }
}
@media (max-width: 900px) {
  .primary-nav { display: none; }
  .header-actions { margin-left: auto; }
  .menu-toggle { display: block; }
  .page-index #benefices > .container { display: block; }
  .page-index #benefices .benefits { margin-top: 35px; }
  .page-index #benefices h2 { font-size: 46px; }
  .page-index #benefices .hero-actions { margin-top: 35px; }
  .stats { gap: 24px; }
  .stat b { font-size: 52px; }
  .hero-illustration.hero-illustration-paper { height: auto; }
  .footer-top { grid-template-columns: 1fr; gap: 38px; }
}
@media (max-width: 700px) {
  body.meridan-site { font-size: 17px; }
  .header-inner { min-height: 65px; padding: 0 20px; gap: 18px; }
  .brand span { font-size: 25px; }
  .brand img { width: 26px; height: 26px; }
  .mobile-nav { padding: 15px 20px 24px; }
  .hero { padding: 60px 20px 60px; }
  .hero-grid { width: 100%; }
  .hero-compact h1 { font-size: 42px; line-height: 1.1; letter-spacing: -.045em; }
  .page-index .hero { padding-top: 58px; }
  .page-index .hero h1 { font-size: 46px; }
  .eyebrow { font-size: 13px; margin-bottom: 21px; }
  .hero .lede, .page-index .hero .lede { font-size: 18px; line-height: 1.6; }
  .hero-actions, .form-actions { gap: 18px; margin-top: 27px; }
  .btn-primary { font-size: 15px; padding: 13px 21px; }
  .btn-secondary { font-size: 15px; }
  .hero-illustration.hero-illustration-paper { border-radius: 24px; margin-top: 36px; }
  .hero-scenario { margin-top: 30px; }
  .page-index .hero-scenario .lede { font-size: 16px; }
  .tripty { font-size: 13px; }
  .section { padding: 68px 20px; }
  h2 { font-size: 37px; line-height: 1.16; letter-spacing: -.04em; margin-bottom: 25px; }
  h3 { font-size: 23px; }
  .section-intro, .page-index #benefices .section-intro { font-size: 18px; line-height: 1.65; }
  .page-index #benefices h2 { font-size: 37px; }
  .benefit { grid-template-columns: 30px minmax(0,1fr); gap: 14px; padding: 26px 0; }
  .benefit h3 { font-size: 22px; }
  .benefit p { font-size: 17px; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 25px; margin: 37px 0; }
  .stat b { font-size: 49px; }
  .stat span { font-size: 12px; }
  .checks { gap: 15px; }
  .checks li { font-size: 17px; }
  .ba { margin-top: 30px; border-radius: 15px; }
  .ba th { font-size: 14px; padding: 16px 13px; }
  .ba td { font-size: 15px; padding: 17px 13px; line-height: 1.55; }
  .label-levels { grid-template-columns: 1fr; gap: 43px; margin-top: 40px; }
  .label-badge .site-illustration { width: 210px; }
  .label-level h3 { font-size: 27px; }
  .label-level p { font-size: 17px; }
  .label-triptych { font-size: 43px; }
  .label-esprit { font-size: 19px; }
  .trust-manifesto { padding: 70px 20px; }
  .trust-statement { font-size: 29px; }
  .trust-signature { font-size: 18px; }
  .deliverables { grid-template-columns: 1fr; gap: 28px; margin-top: 35px; }
  .deliverables h3 { font-size: 25px; }
  .deliverables p { font-size: 17px; }
  .label-process li { padding: 23px 0 23px 43px; font-size: 17px; }
  .label-process li::before { top: 28px; font-size: 13px; }
  .label-legal-box { padding: 25px; border-radius: 21px; }
  .label-legal-box p { font-size: 16px; }
  .page-solution .grid-4 { grid-template-columns: 1fr; gap: 25px; margin-top: 35px; }
  .card-pastel { padding: 28px; gap: 22px; min-height: 0; border-radius: 24px; }
  .card-pastel h3 { font-size: 28px; }
  .card-pastel p { font-size: 17px; }
  .qshift .old { font-size: 20px; }
  .qshift .new { font-size: 29px; }
  .frise { grid-template-columns: 1fr; gap: 18px; margin-top: 34px; }
  .frise-step { padding: 23px 26px; }
  .frise-verb { font-size: 27px; }
  .duo-section { padding: 70px 20px; }
  .duo-h2 { font-size: 39px; }
  .duo-intro { font-size: 19px; }
  .duo-grid { grid-template-columns: 1fr; gap: 42px; }
  .duo-mock { min-height: 0; padding: 26px; border-radius: 23px; }
  .duo-mock-illustrated { padding: 0; }
  .duo-cell h3 { font-size: 28px; }
  .duo-cell p { font-size: 17px; }
  .page-methode .method-step { padding: 0 20px; }
  .method-step > .container { grid-template-columns: 1fr; gap: 20px; padding: 46px 0; }
  .method-step-number { font-size: 29px; padding: 0; }
  .method-step h2 { font-size: 32px; }
  .method-step .section-intro { font-size: 18px; }
  .method-tool-art { border-radius: 24px; }
  .pillars { grid-template-columns: 1fr; gap: 24px; }
  .pillar { padding: 28px; }
  .pillar h3 { font-size: 27px; }
  .pillar p { font-size: 17px; }
  .manifesto-section { padding: 60px 20px 68px; }
  .manifesto-quote { font-size: 47px; }
  .manifesto-lede { font-size: 19px; }
  .story-visual { margin: 35px auto; border-radius: 23px; }
  .manifesto-text p { font-size: 19px; }
  .contact-layout { grid-template-columns: 1fr; gap: 46px; }
  .contact-aside { border-left: 0; border-top: 1px solid var(--line); padding: 35px 0 0; }
  .contact-aside h2 { font-size: 30px; }
  .field input { font-size: 17px; }
  .field-checkbox { font-size: 13px; }
  .contact-success-card { padding: 28px; border-radius: 23px; }
  .contact-success-card h2 { font-size: 35px; }
  .contact-success-card p { font-size: 17px; }
  .esf-step { padding: 28px 0; }
  .esf-step legend { font-size: 21px; }
  .esf-options { gap: 10px; }
  .esf-pill { font-size: 14px; padding: 10px 13px; }
  .estimation-error { padding: 30px 24px; }
  .estimation-error h2 { font-size: 31px; }
  .estimation-result { padding: 27px 23px; }
  .result-headline { grid-template-columns: 1fr; gap: 25px; }
  .result-num { font-size: 54px; }
  .content { padding: 60px 20px 75px; }
  .content h1 { font-size: 43px; margin-bottom: 40px; }
  .content h2 { font-size: 27px; }
  .content p { font-size: 18px; }
  .section-cta { padding: 75px 20px; }
  .section-cta h2 { font-size: 40px; }
  .section-cta p { font-size: 18px; }
  .outro-section { padding: 65px 20px; }
  .outro-headline { font-size: 39px; }
  .outro-sub { font-size: 16px; }
  .site-footer { padding: 0 20px; }
  .footer-top { padding: 40px 0; gap: 35px; }
  .footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 24px; }
  .footer-bottom { flex-direction: column; gap: 12px; }
}
@media (max-width: 480px) {
  .header-actions > .btn { display: none; }
  .header-inner { gap: 15px; }
  .page-index .hero h1 { font-size: 42px; }
  .hero-compact h1 { font-size: 38px; }
  .content h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
