/* === BEGIN MISSION 1 DERIVED SOURCE: legacy-v1-5.css | ORIGINAL SHA-256 d038d0f0e28bd1c05879ba9524ece2c42e82a0e1b8457c7af9a1542fbff1f1f2 | ABOUT RULES CONSOLIDATED BELOW === */
:root {
  --brand: #405f50;
  --brand-deep: #304a40;
  --brand-dark: #20372f;
  --sage: #dbe6df;
  --sage-soft: #eef3f0;
  --cream: #f7f7f3;
  --paper: #ffffff;
  --ink: #1f2e28;
  --muted: #63716a;
  --line: #d6dfda;
  --champagne: #b79a70;
  --shadow-sm: 0 14px 35px rgba(31, 55, 46, .08);
  --shadow-lg: 0 28px 70px rgba(31, 55, 46, .14);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 15px;
  --shell: min(1240px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  overflow-x: clip;
  color: var(--ink);
  background: var(--cream);
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--brand); color: #fff; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding: 74px 0; }
.skip-link { position: fixed; top: -80px; left: 20px; z-index: 9999; padding: 10px 16px; border-radius: 10px; color: #fff; background: var(--ink); }
.skip-link:focus { top: 20px; }

h1, h2 {
  margin: 0;
  font-family: "Tenor Sans", sans-serif;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.026em;
}
h1 { max-width: 690px; font-size: clamp(48px, 4.4vw, 64px); }
h2 { font-size: clamp(36px, 3.2vw, 48px); }
h3 {
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.018em;
}
p { margin: 0; }
.title-accent { color: var(--brand); font: inherit; }
.eyebrow {
  margin: 0 0 14px;
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.eyebrow.light { color: #c8dbd0; }

.topbar { color: #fff; background: linear-gradient(90deg, var(--brand-dark), var(--brand)); }
.topbar-inner {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(64,95,80,.13);
  background: rgba(247,247,243,.94);
  backdrop-filter: blur(18px);
}
.header-inner { height: 78px; display: flex; align-items: center; gap: 30px; }
.brand { width: 220px; position: relative; display: grid; justify-items: start; line-height: 1; }
.brand-star { position: absolute; top: -4px; left: 43px; color: var(--champagne); font-size: 13px; }
.brand-name { color: var(--brand-dark); font-family: "Tenor Sans", sans-serif; font-size: 27px; letter-spacing: .19em; }
.brand-subtitle { margin-top: 7px; color: var(--muted); font-size: 7.5px; font-weight: 600; letter-spacing: .28em; }
.desktop-nav { margin-left: auto; display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2vw, 30px); }
.desktop-nav a { position: relative; font-size: 13px; font-weight: 500; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 0; height: 1px; background: var(--brand); transition: width .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { width: 100%; }
.header-cta {
  margin-left: 8px;
  padding: 11px 17px;
  border: 1px solid var(--brand);
  border-radius: 999px;
  color: var(--brand-deep);
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
  transition: .25s ease;
}
.header-cta:hover { transform: translateY(-2px); color: #fff; background: var(--brand); }
.menu-button { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); align-items: center; justify-content: center; flex-direction: column; gap: 4px; }
.menu-button span { width: 18px; height: 1.5px; background: var(--ink); transition: .25s ease; }
.mobile-nav { display: none; }

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 22px;
  border: 0;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.button:hover { transform: translateY(-3px); }
.button-primary { color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-deep)); box-shadow: 0 13px 30px rgba(48,74,64,.22); }
.button-secondary { color: var(--brand-deep); border: 1px solid rgba(48,74,64,.28); background: rgba(255,255,255,.72); }
.button-light { color: var(--brand-deep); background: #fff; box-shadow: 0 14px 30px rgba(17,45,34,.16); }
.text-arrow { display: inline-flex; align-items: center; gap: 8px; color: var(--brand-deep); font-size: 12.5px; font-weight: 700; }
.text-arrow span { transition: transform .2s ease; }
.text-arrow:hover span { transform: translateX(4px); }

.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 70px 0 64px;
  background: linear-gradient(115deg, #f8f8f4 0 52%, #eaf0ec 52% 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .08;
  background-image: url('/assets/hero-background.webp');
  background-size: cover;
  background-position: center;
  mix-blend-mode: multiply;
}
.hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: clamp(46px, 5vw, 76px); align-items: center; }
.hero-copy { padding-block: 12px; }
.hero-lead { max-width: 630px; margin-top: 24px; color: var(--muted); font-size: 17px; line-height: 1.72; }
.hero-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-proof { margin-top: 34px; padding-top: 24px; border-top: 1px solid rgba(48,74,64,.16); display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.hero-proof div { display: grid; gap: 3px; }
.hero-proof strong { color: var(--brand-deep); font-family: "Tenor Sans", sans-serif; font-size: 28px; font-weight: 400; line-height: 1; }
.hero-proof span { color: var(--muted); font-size: 10.5px; font-weight: 600; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; }
.hero-visual { position: relative; }
.hero-image-wrap { position: relative; padding: 10px; border: 1px solid rgba(64,95,80,.17); border-radius: 28px; background: rgba(255,255,255,.74); box-shadow: var(--shadow-lg); }
.hero-image-wrap img { height: 525px; border-radius: 20px; object-fit: cover; object-position: center 27%; filter: saturate(.82) contrast(1.03); }
.hero-image-caption { position: absolute; left: 28px; right: 28px; bottom: 28px; padding: 17px 18px; border: 1px solid rgba(255,255,255,.54); border-radius: 15px; color: #fff; background: rgba(32,55,47,.76); backdrop-filter: blur(12px); }
.hero-image-caption span { display: block; margin-bottom: 5px; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero-image-caption strong { display: block; font-size: 14px; font-weight: 600; }
.hero-services { position: absolute; left: -34px; top: 38px; display: grid; gap: 7px; }
.hero-services span { width: max-content; padding: 8px 11px; border: 1px solid rgba(64,95,80,.16); border-radius: 999px; color: var(--brand-deep); background: rgba(255,255,255,.92); box-shadow: var(--shadow-sm); font-size: 10px; font-weight: 700; }

.trust-strip { border-block: 1px solid var(--line); background: #fff; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid > div { min-height: 94px; padding: 20px 22px; border-right: 1px solid var(--line); display: flex; align-items: center; gap: 13px; }
.trust-grid > div:last-child { border-right: 0; }
.trust-grid > div > span { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--brand); background: var(--sage-soft); font-size: 9px; font-weight: 700; }
.trust-grid strong { display: block; margin-bottom: 2px; font-size: 13.5px; font-weight: 600; }
.trust-grid small { display: block; color: var(--muted); font-size: 10.5px; line-height: 1.4; }

.section-heading { max-width: 850px; margin-bottom: 34px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading > p:last-child { max-width: 700px; margin-top: 16px; color: var(--muted); font-size: 15px; }
.section-heading.centered > p:last-child { margin-inline: auto; }
.split-heading { max-width: none; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.split-heading > p:last-child { margin: 0 0 4px; }

.section-solutions { background: var(--cream); }
.solution-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.solution-card {
  --rx: 0deg;
  --ry: 0deg;
  --glow-x: 50%;
  --glow-y: 50%;
  position: relative;
  min-height: 315px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 42% 58%;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: var(--paper);
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
  transform: perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.solution-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at var(--glow-x) var(--glow-y), rgba(255,255,255,.26), transparent 35%);
  transition: opacity .3s ease;
}
.solution-card:hover { border-color: rgba(64,95,80,.32); box-shadow: var(--shadow-lg); }
.solution-card:hover::after { opacity: 1; }
.solution-media { min-height: 100%; overflow: hidden; background: var(--sage-soft); }
.solution-media img { height: 100%; min-height: 315px; object-fit: cover; filter: saturate(.78) contrast(1.03); transition: transform .65s ease; }
.solution-card:hover .solution-media img { transform: scale(1.045); }
.solution-content { position: relative; z-index: 1; padding: 30px 28px; display: flex; flex-direction: column; align-items: flex-start; }
.solution-label { margin-bottom: 12px; color: var(--brand); font-size: 9.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.solution-content h3 { font-size: 20px; }
.solution-content > p { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.solution-content ul { margin: 18px 0 22px; padding: 0; display: grid; gap: 7px; list-style: none; }
.solution-content li { position: relative; padding-left: 15px; color: var(--brand-deep); font-size: 11.5px; font-weight: 600; }
.solution-content li::before { content: ""; position: absolute; left: 0; top: .65em; width: 5px; height: 5px; border-radius: 50%; background: var(--champagne); }
.solution-content a { margin-top: auto; color: var(--brand-deep); font-size: 12px; font-weight: 700; }
.solution-content a span { display: inline-block; margin-left: 4px; transition: transform .2s ease; }
.solution-content a:hover span { transform: translateX(4px); }

.section-gammes { background: #fff; }
.range-mosaic { display: grid; grid-template-columns: 1.08fr .92fr .92fr; grid-template-rows: 240px 240px; gap: 18px; }
.range-card {
  --rx: 0deg;
  --ry: 0deg;
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: var(--sage-soft);
  transform: perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .35s ease, box-shadow .35s ease;
}
.range-card:hover { box-shadow: var(--shadow-lg); }
.range-card-large { grid-row: 1 / 3; }
.range-card:nth-child(2) { grid-column: 2 / 4; }
.range-card:nth-child(3) { grid-column: 2; }
.range-card:nth-child(4) { grid-column: 3; }
.range-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.02); transition: transform .65s ease; }
.range-card:hover img { transform: scale(1.04); }
.range-overlay { position: absolute; inset: auto 0 0; padding: 70px 22px 22px; color: #fff; background: linear-gradient(transparent, rgba(19,43,34,.86)); }
.range-overlay span { font-size: 9.5px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.range-overlay h3 { margin-top: 7px; color: #fff; font-size: 18px; }
.range-card-large .range-overlay h3 { max-width: 420px; font-size: 22px; }
.range-overlay p { max-width: 420px; margin-top: 7px; color: rgba(255,255,255,.76); font-size: 12px; }
.packaging-band { margin-top: 18px; display: grid; grid-template-columns: 170px 1fr auto; align-items: center; gap: 28px; padding: 14px 18px 14px 14px; border: 1px solid var(--line); border-radius: 22px; background: var(--cream); }
.packaging-band-image { overflow: hidden; border-radius: 14px; }
.packaging-band-image img { height: 108px; object-fit: cover; filter: saturate(.78); }
.packaging-band h3 { max-width: 690px; font-size: 17px; }
.packaging-band .eyebrow { margin-bottom: 6px; }

.section-process { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--brand-dark), #35594a); }
.section-process::after { content: ""; position: absolute; width: 420px; height: 420px; right: -170px; top: -210px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.process-shell { display: grid; grid-template-columns: .72fr 1.28fr; gap: 64px; align-items: start; }
.process-heading { padding-top: 8px; }
.process-heading h2 { color: #fff; }
.process-heading > p:last-child { max-width: 500px; margin-top: 18px; color: rgba(255,255,255,.68); }
.process-interactive { overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 26px; background: rgba(255,255,255,.07); backdrop-filter: blur(10px); }
.process-nav { display: grid; grid-template-columns: repeat(6,1fr); border-bottom: 1px solid rgba(255,255,255,.12); }
.process-tab { min-width: 0; padding: 16px 8px; border: 0; border-right: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.62); background: transparent; font-size: 10px; font-weight: 600; text-align: center; transition: .25s ease; }
.process-tab:last-child { border-right: 0; }
.process-tab span { display: block; margin-bottom: 4px; font-family: "Tenor Sans", sans-serif; font-size: 20px; font-weight: 400; }
.process-tab:hover, .process-tab.active { color: #fff; background: rgba(255,255,255,.09); }
.process-panel { min-height: 320px; padding: 34px; display: flex; flex-direction: column; }
.process-progress { display: flex; align-items: center; gap: 18px; color: rgba(255,255,255,.58); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.process-progress i { flex: 1; height: 2px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.13); }
.process-progress b { display: block; width: 16.666%; height: 100%; background: var(--champagne); transition: width .35s ease; }
.process-kicker { margin-top: 40px; color: #c7dbd0; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.process-panel h3 { margin-top: 8px; color: #fff; font-size: 28px; }
.process-panel > p:not(.process-kicker) { max-width: 650px; margin-top: 14px; color: rgba(255,255,255,.72); font-size: 14px; }
.process-output { margin-top: auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: 4px; }
.process-output span { color: rgba(255,255,255,.52); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.process-output strong { color: #fff; font-size: 13px; font-weight: 600; }

.section-lab { padding: 76px 0; color: #fff; background: #1e342b; }
.lab-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 66px; align-items: center; }
.lab-visual { position: relative; }
.lab-visual::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 26px; }
.lab-visual img { position: relative; height: 470px; border-radius: 26px; object-fit: cover; filter: saturate(.72) contrast(1.04); box-shadow: 0 24px 60px rgba(8,25,18,.30); }
.lab-caption { position: absolute; left: 22px; right: 4px; bottom: 22px; display: flex; flex-wrap: wrap; gap: 7px; }
.lab-caption span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; background: rgba(31,55,46,.76); backdrop-filter: blur(8px); font-size: 9.5px; font-weight: 700; }
.lab-copy h2 { color: #fff; }
.lab-copy > p:not(.eyebrow) { max-width: 670px; margin-top: 18px; color: rgba(255,255,255,.70); }
.lab-points { margin: 28px 0; display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.lab-points div { padding: 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.055); }
.lab-points strong { display: block; color: #fff; font-size: 12.5px; }
.lab-points span { display: block; margin-top: 3px; color: rgba(255,255,255,.58); font-size: 10.5px; }

.section-launch { background: var(--cream); }
.launch-band { display: grid; grid-template-columns: 105px 1.2fr .8fr auto; gap: 26px; align-items: center; padding: 26px 28px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.launch-number { width: 96px; height: 96px; display: grid; place-items: center; align-content: center; border-radius: 20px; color: #fff; background: var(--brand-deep); }
.launch-number strong { font-family: "Tenor Sans", sans-serif; font-size: 36px; font-weight: 400; line-height: 1; }
.launch-number span { margin-top: 4px; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.launch-copy .eyebrow { margin-bottom: 6px; }
.launch-copy h2 { font-size: 32px; }
.launch-copy > p:last-child { margin-top: 8px; color: var(--muted); font-size: 12.5px; }
.launch-conditions { display: flex; flex-wrap: wrap; gap: 7px; }
.launch-conditions span { padding: 7px 10px; border-radius: 999px; color: var(--brand-deep); background: var(--sage-soft); font-size: 9.5px; font-weight: 700; }

.section-brief { background: #fff; }
.brief-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 66px; align-items: center; }
.brief-intro > p:not(.eyebrow) { max-width: 510px; margin: 16px 0 20px; color: var(--muted); }
.brief-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.brief-card { min-height: 225px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--cream); transition: .3s ease; }
.brief-card:hover { transform: translateY(-5px); border-color: rgba(64,95,80,.30); box-shadow: var(--shadow-sm); }
.brief-card > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--brand); background: var(--sage); font-size: 9px; font-weight: 700; }
.brief-card h3 { margin-top: 24px; font-size: 16px; }
.brief-card p { margin-top: 10px; color: var(--muted); font-size: 12px; }

.section-faq { background: var(--sage-soft); }
.faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 64px; align-items: start; }
.faq-intro > p:not(.eyebrow) { max-width: 480px; margin: 16px 0 20px; color: var(--muted); }
.faq-list { padding: 4px 28px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 0; }
.faq-list summary { position: relative; padding: 19px 36px 19px 0; cursor: pointer; list-style: none; font-size: 15px; font-weight: 600; line-height: 1.45; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 2px; top: 18px; color: var(--brand); font-size: 18px; font-weight: 400; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list p { max-width: 720px; padding: 0 34px 18px 0; color: var(--muted); font-size: 13px; }

.section-project { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--brand-dark), var(--brand)); }
.section-project::before { content: ""; position: absolute; inset: 0; opacity: .55; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 42px 42px; }
.project-layout { position: relative; display: grid; grid-template-columns: .72fr 1.28fr; gap: 54px; align-items: start; }
.project-copy { position: sticky; top: 130px; padding-top: 20px; }
.project-copy h2 { color: #fff; }
.project-copy > p:not(.eyebrow) { max-width: 480px; margin-top: 18px; color: rgba(255,255,255,.72); }
.contact-lines { margin-top: 24px; display: grid; gap: 7px; }
.contact-lines a { color: #fff; font-size: 12.5px; font-weight: 600; }
.contact-flow { margin-top: 28px; display: grid; gap: 9px; }
.contact-flow div { display: flex; align-items: center; gap: 10px; }
.contact-flow span { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: rgba(255,255,255,.10); font-size: 8px; font-weight: 700; }
.contact-flow p { color: rgba(255,255,255,.67); font-size: 11px; }
.project-form { padding: 28px; border: 1px solid rgba(255,255,255,.70); border-radius: 26px; color: var(--ink); background: linear-gradient(145deg, #fff, #f0f5f2); box-shadow: 0 28px 70px rgba(13,38,28,.24); }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.form-grid label { display: grid; gap: 6px; }
.form-grid label.full { grid-column: 1/-1; }
.form-grid label > span { color: var(--brand-dark); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
input, select, textarea { width: 100%; padding: 13px 14px; outline: none; border: 1px solid #c6d2cb; border-radius: 11px; color: var(--ink); background: rgba(255,255,255,.94); transition: .25s ease; }
input::placeholder, textarea::placeholder { color: #6b7771; opacity: 1; }
input:focus, select:focus, textarea:focus { border-color: var(--brand); background: #fff; box-shadow: 0 0 0 3px rgba(64,95,80,.13); }
textarea { min-height: 125px; resize: vertical; }
.form-footer { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.form-footer p { max-width: 460px; color: var(--muted); font-size: 10.5px; }
.form-submit { color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-deep)); box-shadow: 0 13px 28px rgba(48,74,64,.23); }

.site-footer { padding: 56px 0 20px; color: #fff; background: #1a3027; }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3,1fr); gap: 44px; }
.footer-logo { width: 260px; }
.footer-logo .brand-name { color: #fff; }
.footer-logo .brand-subtitle { color: rgba(255,255,255,.52); }
.footer-brand p { max-width: 380px; margin-top: 18px; color: rgba(255,255,255,.64); font-size: 12.5px; }
.footer-grid h3 { margin-bottom: 3px; color: #c7dbd0; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-grid a { color: rgba(255,255,255,.72); font-size: 12px; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { margin-top: 38px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.11); display: flex; justify-content: space-between; color: rgba(255,255,255,.48); font-size: 10.5px; }

.whatsapp-float { position: fixed; right: 20px; bottom: 20px; z-index: 80; width: 54px; height: 54px; padding: 7px; overflow: hidden; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(64,95,80,.17); border-radius: 999px; color: var(--brand-dark); background: rgba(255,255,255,.96); box-shadow: 0 16px 38px rgba(24,53,42,.20); transition: width .3s ease, transform .25s ease; }
.whatsapp-icon { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #25d366; }
.whatsapp-icon svg { width: 22px; height: 22px; fill: currentColor; }
.whatsapp-label { opacity: 0; white-space: nowrap; font-size: 11px; font-weight: 700; transition: opacity .2s ease; }
.whatsapp-float:hover, .whatsapp-float:focus-visible { width: 142px; transform: translateY(-3px); }
.whatsapp-float:hover .whatsapp-label, .whatsapp-float:focus-visible .whatsapp-label { opacity: 1; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; transition-delay: var(--delay, 0ms); }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  :root { --shell: min(100% - 30px, 930px); }
  .desktop-nav, .header-cta { display: none; }
  .header-inner { justify-content: space-between; }
  .menu-button { margin-left: auto; display: flex; }
  .mobile-nav { position: fixed; top: 110px; left: 15px; right: 15px; display: grid; gap: 4px; padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: rgba(248,248,244,.98); box-shadow: var(--shadow-lg); transform: translateY(-16px); opacity: 0; visibility: hidden; transition: .25s ease; }
  .mobile-nav.open { transform: translateY(0); opacity: 1; visibility: visible; }
  .mobile-nav > a:not(.button) { padding: 9px; font-size: 13px; }
  .hero-grid, .process-shell, .lab-grid, .project-layout { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .hero-visual { width: min(760px,100%); margin-inline: auto; }
  .hero-services { left: 20px; top: 20px; }
  .hero-image-wrap img { height: 500px; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .trust-grid > div:nth-child(2) { border-right: 0; }
  .trust-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .split-heading { grid-template-columns: 1fr; gap: 16px; }
  .solution-card { grid-template-columns: 38% 62%; }
  .range-mosaic { grid-template-columns: repeat(2,1fr); grid-template-rows: 320px 260px 260px; }
  .range-card-large { grid-column: 1 / 3; grid-row: 1; }
  .range-card:nth-child(2) { grid-column: 1 / 3; grid-row: 2; }
  .range-card:nth-child(3) { grid-column: 1; grid-row: 3; }
  .range-card:nth-child(4) { grid-column: 2; grid-row: 3; }
  .process-heading { max-width: 720px; }
  .lab-visual { max-width: 760px; }
  .launch-band { grid-template-columns: 105px 1fr auto; }
  .launch-conditions { grid-column: 2 / 3; }
  .launch-band > .button { grid-column: 3; grid-row: 1 / 3; }
  .brief-layout, .faq-layout { grid-template-columns: 1fr; gap: 36px; }
  .brief-intro { max-width: 720px; }
  .project-copy { position: static; max-width: 720px; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 24px, 640px); }
  .section { padding: 56px 0; }
  .topbar-inner { min-height: 29px; justify-content: center; text-align: center; }
  .topbar-inner span:not(:first-child) { display: none; }
  .header-inner { height: 68px; }
  .brand { width: 190px; }
  .brand-name { font-size: 23px; }
  .brand-subtitle { font-size: 7px; }
  .mobile-nav { top: 97px; }
  h1 { font-size: clamp(39px, 11vw, 50px); line-height: 1.07; }
  h2 { font-size: clamp(31px, 8.5vw, 39px); line-height: 1.1; }
  .hero { padding: 52px 0 48px; background: linear-gradient(180deg, #f8f8f4 0 54%, #eaf0ec 54% 100%); }
  .hero-grid { gap: 42px; }
  .hero-lead { font-size: 15px; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .hero-proof { grid-template-columns: repeat(3,1fr); gap: 10px; }
  .hero-proof strong { font-size: 23px; }
  .hero-proof span { font-size: 8.5px; }
  .hero-image-wrap { padding: 7px; border-radius: 23px; }
  .hero-image-wrap img { height: 390px; border-radius: 17px; }
  .hero-image-caption { left: 18px; right: 18px; bottom: 18px; }
  .hero-services { position: static; margin-top: 12px; display: flex; overflow-x: auto; padding-bottom: 4px; }
  .hero-services span { flex: 0 0 auto; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid > div { min-height: 82px; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-grid > div:last-child { border-bottom: 0; }
  .solution-grid { grid-template-columns: 1fr; }
  .solution-card { min-height: 0; grid-template-columns: 1fr; transform: none !important; }
  .solution-media img { min-height: 0; height: 220px; }
  .solution-content { padding: 24px; }
  .range-mosaic { display: grid; grid-template-columns: none; grid-template-rows: none; grid-auto-flow: column; grid-auto-columns: minmax(83%,1fr); gap: 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding: 2px 12px 12px 1px; margin-right: -12px; }
  .range-card, .range-card-large, .range-card:nth-child(2), .range-card:nth-child(3), .range-card:nth-child(4) { grid-column: auto; grid-row: auto; height: 410px; scroll-snap-align: start; transform: none !important; }
  .range-card-large .range-overlay h3 { font-size: 19px; }
  .packaging-band { grid-template-columns: 100px 1fr; gap: 14px; padding: 12px; }
  .packaging-band-image img { height: 100px; }
  .packaging-band .text-arrow { grid-column: 1 / 3; }
  .process-nav { grid-template-columns: repeat(3,1fr); }
  .process-tab:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.08); }
  .process-panel { min-height: 345px; padding: 26px; }
  .process-panel h3 { font-size: 24px; }
  .lab-visual img { height: 370px; }
  .lab-points { grid-template-columns: 1fr; }
  .launch-band { grid-template-columns: 82px 1fr; gap: 18px; padding: 22px; }
  .launch-number { width: 80px; height: 80px; }
  .launch-copy h2 { font-size: 29px; }
  .launch-conditions { grid-column: 1 / 3; }
  .launch-band > .button { grid-column: 1 / 3; grid-row: auto; }
  .brief-cards { grid-template-columns: 1fr; }
  .brief-card { min-height: 0; }
  .faq-list { padding-inline: 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid label.full { grid-column: auto; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .project-form { padding: 21px; border-radius: 22px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom { flex-direction: column; gap: 7px; }
  .whatsapp-float, .whatsapp-float:hover, .whatsapp-float:focus-visible { right: 13px; bottom: 13px; width: 52px; height: 52px; transform: none; }
  .whatsapp-icon { flex-basis: 36px; width: 36px; height: 36px; }
  .whatsapp-label { display: none; }
}

@media (max-width: 420px) {
  .hero-proof { grid-template-columns: 1fr; }
  .hero-proof div { grid-template-columns: auto 1fr; align-items: center; gap: 12px; }
  .hero-proof strong { min-width: 68px; }
  .process-tab { padding-inline: 4px; }
  .process-tab span { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .interactive-card { transform: none !important; }
}

/* Garde-fous de largeur pour les grilles responsives */
.hero-grid > *,
.process-shell > *,
.lab-grid > *,
.project-layout > *,
.brief-layout > *,
.faq-layout > *,
.split-heading > * { min-width: 0; }

@media (max-width: 1100px) {
  .hero-grid,
  .process-shell,
  .lab-grid,
  .project-layout,
  .brief-layout,
  .faq-layout,
  .split-heading { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .hero-copy,
  .hero-visual,
  .hero-actions,
  .hero-services { width: 100%; max-width: 100%; min-width: 0; }
}

@media (max-width: 900px) {
  .solution-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ===== COSMOYA V1.5 - contenus officiels, catalogue et version arabe ===== */
.brand-official { width: 214px; display: block; line-height: 0; }
.brand-official img { width: 100%; height: auto; max-height: 48px; object-fit: contain; object-position: left center; }
.footer-brand .brand-official { width: 245px; }
.footer-brand .brand-official img { object-position: left center; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.language-link { min-width: 36px; height: 36px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 999px; color: var(--brand-deep); background: rgba(255,255,255,.72); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.language-link:hover { border-color: var(--brand); background: #fff; }


.section-catalogue-preview { background: #fff; }
.catalogue-main-cta { margin-top: 22px; }
.catalogue-family-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.catalogue-family-card { --rx:0deg; --ry:0deg; --glow-x:50%; --glow-y:50%; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-sm); transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .35s ease, box-shadow .35s ease; }
.catalogue-family-card:hover { box-shadow: var(--shadow-lg); }
.catalogue-family-card img { height: 270px; object-fit: cover; filter: saturate(.82) contrast(1.02); transition: transform .55s ease; }
.catalogue-family-card:hover img { transform: scale(1.04); }
.catalogue-family-card > div { padding: 24px; }
.catalogue-family-card p { margin-top: 9px; color: var(--muted); font-size: 13px; }
.catalogue-family-card a { margin-top: 18px; display: inline-flex; gap: 8px; color: var(--brand-deep); font-size: 12px; font-weight: 700; }

.page-hero { padding: 76px 0; background: linear-gradient(115deg,#f8f8f4 0 62%,#e7efea 62% 100%); }
.page-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; }
.page-hero h1 { max-width: 820px; font-family: "Tenor Sans",sans-serif; font-size: clamp(44px,5vw,72px); font-weight: 400; line-height: 1.05; }
.page-hero p:not(.eyebrow) { max-width: 720px; margin-top: 22px; color: var(--muted); font-size: 16px; }
.catalogue-hero-card { padding: 34px; border: 1px solid rgba(64,95,80,.18); border-radius: var(--radius-xl); background: rgba(255,255,255,.82); box-shadow: var(--shadow-lg); }
.catalogue-hero-card strong { display: block; color: var(--brand); font-family: "Tenor Sans",sans-serif; font-size: 76px; font-weight: 400; line-height: .9; }
.catalogue-hero-card span { display: block; margin-top: 10px; color: var(--brand-deep); font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.catalogue-hero-card p { margin-top: 15px !important; font-size: 12.5px !important; }

.catalogue-toolbar { position: sticky; top: 78px; z-index: 60; border-block: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.catalogue-toolbar .shell { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.catalogue-filters { display: flex; gap: 8px; }
.catalogue-filter { padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--brand-deep); background: #fff; font-size: 11.5px; font-weight: 700; }
.catalogue-filter.active, .catalogue-filter:hover { color: #fff; border-color: var(--brand); background: var(--brand); }
.catalogue-search { width: min(380px,42vw); display: grid; gap: 4px; }
.catalogue-search span { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.catalogue-search input { padding: 10px 13px; }
.catalogue-content { padding-block: 76px; }
.catalogue-family { scroll-margin-top: 180px; margin-bottom: 88px; }
.catalogue-family:last-child { margin-bottom: 0; }
.catalogue-family[hidden] { display: none; }
.catalogue-family-head { display: grid; grid-template-columns: 1.08fr .92fr; gap: 36px; overflow: hidden; margin-bottom: 28px; border-radius: var(--radius-xl); background: var(--sage-soft); }
.catalogue-family-head > div { padding: 42px; }
.catalogue-family-head > div > p:not(.eyebrow) { max-width: 650px; margin-top: 15px; color: var(--muted); }
.catalogue-family-head img { height: 100%; min-height: 330px; object-fit: cover; }
.catalogue-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.catalogue-category { border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; overflow: hidden; }
.catalogue-category[hidden] { display: none; }
.catalogue-category summary { min-height: 76px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; color: var(--brand-deep); font-size: 15px; font-weight: 700; }
.catalogue-category summary::-webkit-details-marker { display: none; }
.catalogue-category summary::after { content: "+"; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--sage-soft); color: var(--brand); font-size: 18px; font-weight: 500; }
.catalogue-category[open] summary::after { content: "−"; }
.catalogue-category summary b { margin-left: auto; min-width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px; color: var(--brand); background: var(--sage-soft); font-size: 10px; }
.catalogue-category ul { margin: 0; padding: 0 22px 22px 42px; columns: 2; column-gap: 28px; }
.catalogue-category li { break-inside: avoid; margin-bottom: 7px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.catalogue-family-cta { margin-top: 20px; padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-radius: var(--radius-lg); background: var(--cream); }
.catalogue-family-cta p { color: var(--muted); font-size: 13px; }
.catalogue-family-cta .button { flex: 0 0 auto; }
.catalogue-disclaimer { background: var(--sage-soft); }
.disclaimer-band { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; }
.disclaimer-band > p { color: var(--muted); }
.catalogue-empty { display: none; padding: 24px; text-align: center; color: var(--muted); }

.conditions-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.condition-card { min-height: 245px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.condition-card > span { color: var(--champagne); font-family: "Tenor Sans",sans-serif; font-size: 24px; }
.condition-card h2 { margin-top: 16px; font-family: "Manrope",sans-serif; font-size: 18px; font-weight: 600; letter-spacing: -.015em; }
.condition-card p { margin-top: 12px; color: var(--muted); font-size: 12.5px; }

/* RTL */
body.rtl { direction: rtl; font-family: "Manrope",sans-serif; }
body.rtl h1, body.rtl h2 { font-family: "Manrope",sans-serif; letter-spacing: 0; line-height: 1.35; }
body.rtl h3 { font-family: "Manrope",sans-serif; letter-spacing: 0; }
body.rtl .eyebrow { letter-spacing: 0; }
body.rtl .brand-official img, body.rtl .footer-brand .brand-official img { object-position: right center; }
body.rtl .desktop-nav { margin-left: 0; margin-right: auto; }
body.rtl .header-cta { margin-left: 0; margin-right: 8px; }
body.rtl .hero { background: linear-gradient(245deg,#f8f8f4 0 52%,#eaf0ec 52% 100%); }
body.rtl .hero-services { left: auto; right: -34px; }
body.rtl .text-arrow span, body.rtl .solution-content a span, body.rtl .catalogue-family-card a span { transform: rotate(180deg); }
body.rtl .solution-content ul { padding-left: 0; padding-right: 18px; }
body.rtl .faq-list details > p { padding-right: 0; padding-left: 42px; }
body.rtl .catalogue-category summary b { margin-left: 0; margin-right: auto; }
body.rtl .catalogue-category ul { padding: 0 42px 22px 22px; }
body.rtl .catalogue-search input { text-align: right; }
body.rtl .form-submit span { transform: rotate(180deg); }
body.rtl .whatsapp-float { right: auto; left: 20px; }
body.rtl .footer-grid > div:not(.footer-brand) { align-items: flex-start; }
body.rtl input, body.rtl textarea, body.rtl select { text-align: right; }

@media (max-width: 1100px) {
  .header-actions { display: none; }
  .page-hero-grid, .catalogue-family-head, .disclaimer-band { grid-template-columns: 1fr; }
  .catalogue-family-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalogue-family-card:last-child { grid-column: 1 / 3; }
  .catalogue-family-card:last-child img { height: 320px; }
  .conditions-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalogue-family-head img { min-height: 300px; }
}

@media (max-width: 760px) {
  .brand-official { width: 170px; }
  .brand-official img { max-height: 40px; }
  .catalogue-family-grid, .catalogue-category-grid, .conditions-grid { grid-template-columns: 1fr; }
  .catalogue-family-card:last-child { grid-column: auto; }
  .catalogue-family-card img, .catalogue-family-card:last-child img { height: 230px; }
  .page-hero { padding: 54px 0; }
  .page-hero h1 { font-size: clamp(38px,11vw,52px); }
  .catalogue-hero-card strong { font-size: 58px; }
  .catalogue-toolbar { position: static; }
  .catalogue-toolbar .shell { padding-block: 14px; align-items: stretch; flex-direction: column; }
  .catalogue-filters { overflow-x: auto; padding-bottom: 3px; }
  .catalogue-filter { flex: 0 0 auto; }
  .catalogue-search { width: 100%; }
  .catalogue-content { padding-block: 54px; }
  .catalogue-family { margin-bottom: 62px; }
  .catalogue-family-head > div { padding: 28px; }
  .catalogue-family-head img { min-height: 240px; }
  .catalogue-category ul { columns: 1; }
  .catalogue-family-cta { align-items: stretch; flex-direction: column; }
  .catalogue-family-cta .button { width: 100%; }
  .disclaimer-band { gap: 20px; }
  body.rtl .hero-services { right: auto; }
  body.rtl .whatsapp-float { left: 13px; }
}

/* === END MISSION 1 DERIVED SOURCE: legacy-v1-5.css === */

/* === BEGIN PRESERVED SOURCE: design-system.css | SHA-256 dc0deac02763d8c6b2d40e65458b003ce9cd678d65f279e495cfbd8b84f39b2e === */
:root {
  --cosmoya-ink: #16352d;
  --cosmoya-ink-strong: #0d2922;
  --cosmoya-green: #315c4f;
  --cosmoya-green-soft: #6d9183;
  --cosmoya-mint: #dfece6;
  --cosmoya-mint-light: #eef5f1;
  --cosmoya-sand: #eee7dc;
  --cosmoya-cream: #f8f6f1;
  --cosmoya-paper: #fffefa;
  --cosmoya-white: #ffffff;
  --cosmoya-text: #1a2b26;
  --cosmoya-muted: #66756f;
  --cosmoya-line: rgba(22, 53, 45, 0.14);
  --cosmoya-line-strong: rgba(22, 53, 45, 0.24);
  --cosmoya-glow: rgba(113, 161, 143, 0.28);
  --cosmoya-shadow-sm: 0 8px 28px rgba(16, 48, 39, 0.08);
  --cosmoya-shadow-md: 0 20px 60px rgba(16, 48, 39, 0.12);
  --cosmoya-shadow-lg: 0 34px 100px rgba(16, 48, 39, 0.18);
  --cosmoya-radius-xs: 8px;
  --cosmoya-radius-sm: 14px;
  --cosmoya-radius-md: 22px;
  --cosmoya-radius-lg: 32px;
  --cosmoya-radius-xl: 44px;
  --cosmoya-font-display: "Tenor Sans", sans-serif;
  --cosmoya-font-body: "Manrope", sans-serif;
  --cosmoya-shell: min(1320px, calc(100vw - 48px));
  --cosmoya-transition: 260ms cubic-bezier(.2, .8, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.menu-open,
html.modal-open { overflow: hidden; }
body {
  margin: 0;
  color: var(--cosmoya-text);
  background: var(--cosmoya-paper);
  font-family: var(--cosmoya-font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button,
input,
select,
textarea { font: inherit; }
button,
a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }

h1,
h2,
.ds-display {
  font-family: var(--cosmoya-font-display);
  font-weight: 400;
  letter-spacing: -0.035em;
}

h3,
h4,
h5,
h6,
p,
a,
button,
input,
textarea,
select,
label,
summary,
small,
span { font-family: var(--cosmoya-font-body); }

.ds-shell { width: var(--cosmoya-shell); margin-inline: auto; }
.ds-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.ds-skip-link {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 9999;
  padding: 10px 16px;
  border-radius: 999px;
  color: #fff;
  background: var(--cosmoya-ink);
  transform: translateY(-160%);
  transition: transform var(--cosmoya-transition);
}
.ds-skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid rgba(49, 92, 79, 0.42);
  outline-offset: 3px;
}

.ds-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  isolation: isolate;
  transition: transform var(--cosmoya-transition), box-shadow var(--cosmoya-transition), border-color var(--cosmoya-transition), background var(--cosmoya-transition), color var(--cosmoya-transition);
}
.ds-button::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  background: linear-gradient(110deg, transparent 10%, rgba(255,255,255,.24) 45%, transparent 70%);
  transform: translateX(-130%);
  transition: transform 650ms cubic-bezier(.2,.8,.2,1);
}
.ds-button:hover::before { transform: translateX(130%); }
.ds-button:hover { transform: translateY(-2px); }
.ds-button:active { transform: translateY(0) scale(.985); }
.ds-button__content { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 700; white-space: nowrap; }
.ds-button--sm { min-height: 40px; padding-inline: 16px; font-size: 12px; }
.ds-button--md { min-height: 46px; font-size: 13px; }
.ds-button--lg { min-height: 54px; padding-inline: 24px; font-size: 14px; }
.ds-button--primary { color: #fff; background: var(--cosmoya-ink); box-shadow: 0 10px 26px rgba(16,48,39,.18); }
.ds-button--primary:hover { background: var(--cosmoya-green); box-shadow: 0 16px 36px rgba(16,48,39,.24); }
.ds-button--secondary { color: var(--cosmoya-ink); background: rgba(255,255,255,.82); border-color: var(--cosmoya-line-strong); box-shadow: var(--cosmoya-shadow-sm); backdrop-filter: blur(12px); }
.ds-button--secondary:hover { border-color: var(--cosmoya-green-soft); background: #fff; box-shadow: var(--cosmoya-shadow-md); }
.ds-button--ghost { color: var(--cosmoya-ink); background: transparent; border-color: transparent; }
.ds-button--dark { color: var(--cosmoya-ink-strong); background: #fff; box-shadow: 0 16px 40px rgba(0,0,0,.16); }
.ds-button--icon { width: 46px; padding: 0; }

.ds-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.ds-badge--sage { color: var(--cosmoya-ink); background: var(--cosmoya-mint); }
.ds-badge--sand { color: #5d4938; background: var(--cosmoya-sand); }
.ds-badge--dark { color: #fff; background: var(--cosmoya-ink); }
.ds-badge--light { color: var(--cosmoya-ink); background: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.65); backdrop-filter: blur(10px); }

.ds-search-field {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 14px 0 18px;
  color: var(--cosmoya-muted);
  background: #fff;
  border: 1px solid var(--cosmoya-line);
  border-radius: 18px;
  box-shadow: 0 10px 32px rgba(16,48,39,.06);
  transition: border-color var(--cosmoya-transition), box-shadow var(--cosmoya-transition), transform var(--cosmoya-transition);
}
.ds-search-field:focus-within { border-color: rgba(49,92,79,.48); box-shadow: 0 16px 44px rgba(16,48,39,.12), 0 0 0 4px rgba(49,92,79,.08); transform: translateY(-1px); }
.ds-search-field input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--cosmoya-text); background: transparent; font-size: 14px; }
.ds-search-field input::placeholder { color: #8b9692; }
.ds-search-field button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; color: var(--cosmoya-muted); background: var(--cosmoya-mint-light); cursor: pointer; }

.ds-icon-button {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border: 1px solid var(--cosmoya-line);
  border-radius: 50%;
  color: var(--cosmoya-ink);
  background: #fff;
  cursor: pointer;
  transition: transform var(--cosmoya-transition), background var(--cosmoya-transition);
}
.ds-icon-button:hover { transform: rotate(5deg) scale(1.04); background: var(--cosmoya-mint-light); }
.ds-text-button { border: 0; color: var(--cosmoya-green); background: transparent; font-weight: 700; cursor: pointer; }

.ds-interactive-card {
  position: relative;
  isolation: isolate;
  transform: translateZ(0);
  transition: transform 420ms cubic-bezier(.2,.8,.2,1), box-shadow 420ms cubic-bezier(.2,.8,.2,1), border-color 320ms ease;
}
.ds-interactive-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at 70% 18%, rgba(255,255,255,.72), transparent 34%), linear-gradient(135deg, rgba(111,160,143,.12), transparent 58%);
  transition: opacity 420ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .ds-interactive-card:hover { transform: perspective(1100px) translateY(-8px) rotateX(1.2deg) rotateY(-1.2deg); box-shadow: var(--cosmoya-shadow-lg); border-color: rgba(49,92,79,.26); }
  [dir="rtl"] .ds-interactive-card:hover { transform: perspective(1100px) translateY(-8px) rotateX(1.2deg) rotateY(1.2deg); }
  .ds-interactive-card:hover::after { opacity: 1; }
}

.ds-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(8, 27, 22, .58);
  backdrop-filter: blur(16px);
  animation: ds-fade-in 220ms ease both;
}
.ds-modal__panel {
  width: min(920px, 100%);
  max-height: min(820px, calc(100vh - 56px));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 30px;
  background: var(--cosmoya-paper);
  box-shadow: 0 40px 120px rgba(0,0,0,.28);
  animation: ds-modal-in 360ms cubic-bezier(.2,.8,.2,1) both;
}

@keyframes ds-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ds-modal-in { from { opacity: 0; transform: translateY(24px) scale(.975); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 760px) {
  :root { --cosmoya-shell: min(100% - 30px, 1320px); }
  .ds-modal { padding: 10px; align-items: end; }
  .ds-modal__panel { max-height: calc(100vh - 20px); border-radius: 24px 24px 16px 16px; }
  .ds-button--lg { min-height: 50px; padding-inline: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .ds-interactive-card:hover { transform: none; }
}

/* === END PRESERVED SOURCE: design-system.css === */

/* === BEGIN PRESERVED SOURCE: v2-1.css | SHA-256 d5b0ca588420653cc29da62522d07c4500aa4fb7f85a67367f663be76e57198d === */
/* COSMOYA V2.1 — Header, footer, design system et catalogue premium */

body[data-page="home"] main,
body[data-page="conditions"] main { position: relative; z-index: 1; }

/* Header */
.v2-header { position: sticky; inset-block-start: 0; z-index: 900; }
.v2-utility { position: relative; z-index: 2; color: rgba(255,255,255,.88); background: var(--cosmoya-ink-strong); border-bottom: 1px solid rgba(255,255,255,.08); }
.v2-utility__inner { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; min-height: 29px; font-size: 9px; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.v2-utility__inner span { display: flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; }
.v2-utility__inner span:first-child { justify-content: flex-start; }
.v2-utility__inner span:last-child { justify-content: flex-end; }
.v2-utility__inner i { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; color: var(--cosmoya-ink-strong); background: rgba(255,255,255,.84); font-style: normal; font-size: 7px; }
.v2-header__bar { position: relative; z-index: 1; background: rgba(255,254,250,.93); border-bottom: 1px solid var(--cosmoya-line); backdrop-filter: blur(18px) saturate(140%); transition: box-shadow var(--cosmoya-transition), background var(--cosmoya-transition); }
.v2-header.is-scrolled .v2-header__bar { background: rgba(255,254,250,.97); box-shadow: 0 14px 40px rgba(16,48,39,.09); }
.v2-header__inner { display: grid; grid-template-columns: 230px 1fr auto; align-items: center; min-height: 78px; gap: 30px; }
.v2-brand { display: inline-flex; width: 205px; text-decoration: none; transition: transform var(--cosmoya-transition); }
.v2-brand:hover { transform: translateY(-1px); }
.v2-brand img { display: block; width: 100%; height: auto; }
.v2-nav { display: flex; align-items: center; justify-content: center; gap: 8px; }
.v2-nav a { position: relative; padding: 12px 13px; color: #3f514b; border-radius: 999px; text-decoration: none; font-size: 12px; font-weight: 700; transition: color var(--cosmoya-transition), background var(--cosmoya-transition), transform var(--cosmoya-transition); }
.v2-nav a:hover { color: var(--cosmoya-ink); background: var(--cosmoya-mint-light); transform: translateY(-1px); }
.v2-nav a.is-active { color: var(--cosmoya-ink); background: var(--cosmoya-mint); }
.v2-nav a.is-active::after { content: ""; position: absolute; inset-inline: 16px; inset-block-end: 6px; height: 2px; border-radius: 999px; background: var(--cosmoya-green); }
.v2-header__actions { display: flex; align-items: center; gap: 10px; }
.v2-language { display: grid; place-items: center; min-width: 40px; height: 40px; border: 1px solid var(--cosmoya-line); border-radius: 50%; color: var(--cosmoya-ink); background: rgba(255,255,255,.68); text-decoration: none; font-size: 11px; font-weight: 800; transition: transform var(--cosmoya-transition), background var(--cosmoya-transition); }
.v2-language:hover { transform: rotate(5deg); background: var(--cosmoya-mint); }
.v2-menu-button { display: none; place-items: center; width: 44px; height: 44px; border: 1px solid var(--cosmoya-line); border-radius: 50%; color: var(--cosmoya-ink); background: #fff; cursor: pointer; }
.v2-mobile-panel { position: absolute; inset-inline: 0; inset-block-start: 100%; max-height: 0; overflow: hidden; opacity: 0; pointer-events: none; background: var(--cosmoya-paper); border-bottom: 1px solid var(--cosmoya-line); box-shadow: 0 30px 60px rgba(16,48,39,.14); transition: max-height 460ms cubic-bezier(.2,.8,.2,1), opacity 260ms ease; }
.v2-header.is-open .v2-mobile-panel { max-height: calc(100vh - 70px); opacity: 1; pointer-events: auto; }
.v2-mobile-nav { display: grid; padding-block: 20px 28px; }
.v2-mobile-nav > a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; min-height: 58px; border-bottom: 1px solid var(--cosmoya-line); color: var(--cosmoya-ink); text-decoration: none; font-size: 18px; font-weight: 700; }
.v2-mobile-nav > a span { color: var(--cosmoya-green-soft); font-size: 10px; letter-spacing: .08em; }
.v2-mobile-nav__footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 22px; }

/* Footer */
.v2-footer { position: relative; z-index: 2; }
.v2-footer__light { color: var(--cosmoya-ink); background: var(--cosmoya-mint); border-top: 1px solid rgba(22,53,45,.08); }
.v2-footer__statement { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 112px; }
.v2-footer__statement p { margin: 0; font-family: var(--cosmoya-font-display); font-size: clamp(24px, 3vw, 40px); letter-spacing: -.03em; }
.v2-footer__statement a { display: inline-flex; align-items: center; gap: 10px; color: var(--cosmoya-ink); text-decoration: none; font-size: 13px; font-weight: 800; }
.v2-footer__statement a svg { transition: transform var(--cosmoya-transition); }
.v2-footer__statement a:hover svg { transform: translateX(5px); }
[dir="rtl"] .v2-footer__statement a:hover svg { transform: translateX(-5px); }
.v2-footer__main { position: relative; color: rgba(255,255,255,.74); background: var(--cosmoya-ink-strong); overflow: hidden; }
.v2-footer__main::before { content: ""; position: absolute; width: 420px; height: 420px; inset-inline-end: -160px; transform: translateY(-35%); border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.02), 0 0 0 140px rgba(255,255,255,.015); pointer-events: none; }
.v2-footer__grid { position: relative; display: grid; grid-template-columns: 1.55fr .8fr .9fr 1fr; gap: 54px; padding-block: 70px 56px; }
.v2-footer__brand img { width: 225px; height: auto; }
.v2-footer__brand > p { max-width: 390px; margin: 25px 0; font-size: 13px; line-height: 1.8; }
.v2-footer__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-footer__chips span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.82); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.v2-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.v2-footer__column h2 { margin: 4px 0 10px; color: #fff; font-family: var(--cosmoya-font-body); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.v2-footer__column a { position: relative; color: rgba(255,255,255,.68); text-decoration: none; font-size: 12px; line-height: 1.5; transition: color var(--cosmoya-transition), transform var(--cosmoya-transition); }
.v2-footer__column a:hover { color: #fff; transform: translateX(3px); }
[dir="rtl"] .v2-footer__column a:hover { transform: translateX(-3px); }
.v2-footer__contact .v2-footer__whatsapp { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; }
.v2-footer__bottom { position: relative; display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.1); font-size: 10px; }

/* Catalogue */
.catalogue-page { overflow: clip; background: var(--cosmoya-paper); }
.catalogue-hero { position: relative; padding: 84px 0 68px; background: linear-gradient(145deg, #f8f6f1 0%, #fbfaf7 48%, #eaf3ee 100%); border-bottom: 1px solid var(--cosmoya-line); overflow: hidden; }
.catalogue-hero::before { content: ""; position: absolute; width: 740px; height: 740px; inset-inline-end: -270px; inset-block-start: -330px; border-radius: 50%; background: radial-gradient(circle, rgba(116,162,145,.18), transparent 66%); filter: blur(4px); }
.catalogue-hero__ambient { position: absolute; inset: 0; opacity: .38; background-image: linear-gradient(rgba(22,53,45,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(22,53,45,.045) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(to bottom, #000, transparent 82%); }
.catalogue-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(420px, .97fr); align-items: center; gap: clamp(50px, 7vw, 100px); }
.catalogue-hero__copy { animation: catalogue-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.catalogue-hero__copy h1 { max-width: 720px; margin: 24px 0 22px; color: var(--cosmoya-ink-strong); font-size: clamp(55px, 6vw, 88px); line-height: .98; }
.catalogue-hero__copy > p { max-width: 660px; margin: 0; color: var(--cosmoya-muted); font-size: 16px; line-height: 1.8; }
.catalogue-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.catalogue-hero__metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); max-width: 650px; margin-top: 48px; border-top: 1px solid var(--cosmoya-line-strong); }
.catalogue-hero__metrics div { display: flex; flex-direction: column; gap: 4px; padding: 20px 18px 0 0; }
.catalogue-hero__metrics div + div { padding-inline-start: 22px; border-inline-start: 1px solid var(--cosmoya-line); }
.catalogue-hero__metrics strong { color: var(--cosmoya-ink); font-family: var(--cosmoya-font-display); font-size: 34px; font-weight: 400; }
.catalogue-hero__metrics span { color: var(--cosmoya-muted); font-size: 10px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.catalogue-hero__visual { position: relative; min-height: 550px; animation: catalogue-rise .8s .1s cubic-bezier(.2,.8,.2,1) both; }
.catalogue-hero-card { position: absolute; margin: 0; overflow: hidden; border: 8px solid rgba(255,255,255,.84); border-radius: 30px; box-shadow: 0 32px 90px rgba(16,48,39,.22); }
.catalogue-hero-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.catalogue-hero-card--main { inset: 18px 0 74px 42px; transform: rotate(2.2deg); }
.catalogue-hero-card--small { width: 42%; height: 39%; inset-inline-start: -24px; inset-block-end: 12px; transform: rotate(-5deg); }
.catalogue-hero__minimum { position: absolute; inset-inline-end: -14px; inset-block-start: 54px; display: flex; flex-direction: column; width: 185px; padding: 20px; border: 1px solid rgba(255,255,255,.7); border-radius: 22px; color: var(--cosmoya-ink); background: rgba(255,255,255,.86); box-shadow: var(--cosmoya-shadow-md); backdrop-filter: blur(16px); animation: catalogue-float 6s ease-in-out infinite; }
.catalogue-hero__minimum span { font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.catalogue-hero__minimum strong { margin: 5px 0 4px; font-family: var(--cosmoya-font-display); font-size: 28px; font-weight: 400; }
.catalogue-hero__minimum small { color: var(--cosmoya-muted); font-size: 9px; }
.catalogue-hero__formula { position: absolute; inset-inline-end: 16px; inset-block-end: 35px; display: flex; align-items: center; gap: 11px; padding: 13px 15px; border-radius: 14px; color: #fff; background: rgba(13,41,34,.9); box-shadow: var(--cosmoya-shadow-md); backdrop-filter: blur(10px); font-size: 10px; font-weight: 700; }

.catalogue-explorer { position: relative; padding-bottom: 100px; background: linear-gradient(to bottom, #fff 0, #fff 48%, #f8faf8 100%); }
.catalogue-toolbar-wrap { position: sticky; inset-block-start: 107px; z-index: 50; padding: 14px 0; background: rgba(255,254,250,.9); border-bottom: 1px solid var(--cosmoya-line); backdrop-filter: blur(18px); }
.catalogue-toolbar { display: grid; grid-template-columns: minmax(280px, 1.25fr) minmax(440px, 1.8fr) auto; align-items: center; gap: 14px; }
.catalogue-family-tabs { display: flex; align-items: center; gap: 7px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.catalogue-family-tabs::-webkit-scrollbar { display: none; }
.catalogue-family-tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 14px; border: 1px solid transparent; border-radius: 999px; color: var(--cosmoya-muted); background: transparent; white-space: nowrap; cursor: pointer; font-size: 11px; font-weight: 700; transition: all var(--cosmoya-transition); }
.catalogue-family-tabs button:hover { color: var(--cosmoya-ink); background: var(--cosmoya-mint-light); }
.catalogue-family-tabs button.is-active { color: #fff; background: var(--cosmoya-ink); box-shadow: 0 10px 24px rgba(16,48,39,.18); }
.catalogue-family-tabs button span { display: grid; place-items: center; min-width: 24px; height: 24px; padding-inline: 5px; border-radius: 999px; color: var(--cosmoya-ink); background: rgba(255,255,255,.86); font-size: 9px; }
.catalogue-selection-button { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 10px 0 14px; border: 1px solid var(--cosmoya-line); border-radius: 999px; color: var(--cosmoya-ink); background: #fff; box-shadow: var(--cosmoya-shadow-sm); cursor: pointer; font-size: 11px; font-weight: 800; white-space: nowrap; transition: transform var(--cosmoya-transition), box-shadow var(--cosmoya-transition); }
.catalogue-selection-button:hover { transform: translateY(-2px); box-shadow: var(--cosmoya-shadow-md); }
.catalogue-selection-button strong { display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 50%; color: #fff; background: var(--cosmoya-green); font-size: 10px; }
.catalogue-content { padding-top: 70px; }
.catalogue-family-section + .catalogue-family-section { margin-top: 108px; padding-top: 108px; border-top: 1px solid var(--cosmoya-line); }
.catalogue-family-feature { position: relative; display: grid; grid-template-columns: 44% 1fr; min-height: 330px; margin-bottom: 34px; overflow: hidden; border: 1px solid var(--cosmoya-line); border-radius: var(--cosmoya-radius-lg); background: var(--cosmoya-ink); box-shadow: var(--cosmoya-shadow-md); }
.catalogue-family-feature__image { min-height: 330px; }
.catalogue-family-feature__image img { width: 100%; height: 100%; object-fit: cover; }
.catalogue-family-feature__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,41,34,.02) 20%, rgba(13,41,34,.9) 58%, var(--cosmoya-ink-strong) 100%); }
[dir="rtl"] .catalogue-family-feature__overlay { background: linear-gradient(-90deg, rgba(13,41,34,.02) 20%, rgba(13,41,34,.9) 58%, var(--cosmoya-ink-strong) 100%); }
.catalogue-family-feature__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 55px 58px; color: #fff; }
.catalogue-family-feature__content > p:first-of-type { margin: 22px 0 6px; color: rgba(255,255,255,.6); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.catalogue-family-feature__content h2 { margin: 0 0 18px; font-size: clamp(44px,5vw,68px); line-height: 1; }
.catalogue-family-feature__content > p:last-child { max-width: 540px; margin: 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.75; }
.catalogue-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.catalogue-category-card { display: flex; flex-direction: column; min-height: 400px; padding: 24px; overflow: hidden; border: 1px solid var(--cosmoya-line); border-radius: var(--cosmoya-radius-md); background: rgba(255,255,255,.9); box-shadow: 0 14px 42px rgba(16,48,39,.07); animation: catalogue-rise .55s calc(var(--card-index, 0) * 45ms) cubic-bezier(.2,.8,.2,1) both; }
.catalogue-category-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 30px; }
.catalogue-category-card__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; color: var(--cosmoya-ink); background: var(--cosmoya-mint-light); border: 1px solid rgba(49,92,79,.1); }
.catalogue-category-card__meta { margin: 0 0 9px; color: var(--cosmoya-green-soft); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.catalogue-category-card h3 { margin: 0; color: var(--cosmoya-ink-strong); font-size: 21px; line-height: 1.25; }
.catalogue-category-card__description { margin: 12px 0 0; color: var(--cosmoya-muted); font-size: 12px; line-height: 1.7; }
.catalogue-category-card__preview { display: flex; flex-direction: column; gap: 8px; margin: 24px 0; padding-top: 20px; border-top: 1px solid var(--cosmoya-line); }
.catalogue-category-card__preview span { position: relative; padding-inline-start: 16px; color: #53635e; font-size: 11px; line-height: 1.45; }
.catalogue-category-card__preview span::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: .55em; width: 5px; height: 5px; border-radius: 50%; background: var(--cosmoya-green-soft); box-shadow: 0 0 0 4px rgba(109,145,131,.1); }
.catalogue-category-card__action { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: auto; padding: 15px 0 0; border: 0; border-top: 1px solid var(--cosmoya-line); color: var(--cosmoya-ink); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }
.catalogue-category-card__action svg { transition: transform var(--cosmoya-transition); }
.catalogue-category-card:hover .catalogue-category-card__action svg { transform: translateX(6px); }
[dir="rtl"] .catalogue-category-card:hover .catalogue-category-card__action svg { transform: translateX(-6px); }

.catalogue-results__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.catalogue-results__heading p { margin: 0 0 7px; color: var(--cosmoya-green-soft); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.catalogue-results__heading h2 { margin: 0; color: var(--cosmoya-ink); font-size: clamp(38px,5vw,58px); }
.catalogue-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.catalogue-product-card { display: flex; flex-direction: column; min-height: 280px; padding: 20px; border: 1px solid var(--cosmoya-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 34px rgba(16,48,39,.065); }
.catalogue-product-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 28px; }
.catalogue-product-card__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; color: var(--cosmoya-ink); background: var(--cosmoya-mint-light); }
.catalogue-product-card h3 { margin: 0; color: var(--cosmoya-ink-strong); font-size: 16px; line-height: 1.42; }
.catalogue-product-card > p { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 22px; color: var(--cosmoya-muted); font-size: 10px; line-height: 1.5; }
.catalogue-product-card__select { display: flex; align-items: center; gap: 9px; width: 100%; margin-top: auto; padding: 12px 13px; border: 1px solid var(--cosmoya-line); border-radius: 12px; color: var(--cosmoya-ink); background: var(--cosmoya-mint-light); cursor: pointer; font-size: 10px; font-weight: 800; text-align: start; transition: all var(--cosmoya-transition); }
.catalogue-product-card__select:hover { border-color: var(--cosmoya-green-soft); transform: translateY(-1px); }
.catalogue-product-card__select.is-selected { color: #fff; background: var(--cosmoya-ink); }
.catalogue-empty { display: grid; place-items: center; min-height: 440px; padding: 50px; border: 1px dashed var(--cosmoya-line-strong); border-radius: var(--cosmoya-radius-lg); color: var(--cosmoya-muted); text-align: center; background: var(--cosmoya-mint-light); }
.catalogue-empty h2 { margin: 18px 0 8px; color: var(--cosmoya-ink); font-size: 40px; }
.catalogue-empty p { max-width: 480px; margin: 0 0 24px; }

.catalogue-project-banner { padding: 90px 0; color: #fff; background: var(--cosmoya-ink); }
.catalogue-project-banner__inner { display: grid; grid-template-columns: 43% 1fr; align-items: stretch; min-height: 440px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 34px; background: var(--cosmoya-ink-strong); box-shadow: 0 34px 90px rgba(9,31,25,.26); }
.catalogue-project-banner__visual { position: relative; overflow: hidden; }
.catalogue-project-banner__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 55%, var(--cosmoya-ink-strong)); }
[dir="rtl"] .catalogue-project-banner__visual::after { background: linear-gradient(-90deg, transparent 55%, var(--cosmoya-ink-strong)); }
.catalogue-project-banner__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.catalogue-project-banner__inner:hover .catalogue-project-banner__visual img { transform: scale(1.045); }
.catalogue-project-banner__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 60px; }
.catalogue-project-banner__copy h2 { max-width: 650px; margin: 24px 0 18px; font-size: clamp(40px,5vw,64px); line-height: 1.04; }
.catalogue-project-banner__copy p { max-width: 650px; margin: 0 0 30px; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.8; }
.catalogue-contractual { padding: 80px 0; background: var(--cosmoya-mint-light); }
.catalogue-contractual__inner { display: grid; grid-template-columns: auto 1fr 1fr; align-items: center; gap: 28px; }
.catalogue-contractual__inner > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; color: var(--cosmoya-ink); background: #fff; box-shadow: var(--cosmoya-shadow-sm); }
.catalogue-contractual__inner div > p { margin: 0 0 7px; color: var(--cosmoya-green-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.catalogue-contractual__inner h2 { margin: 0; color: var(--cosmoya-ink); font-size: clamp(32px,4vw,49px); line-height: 1.08; }
.catalogue-contractual__inner > p { margin: 0; color: var(--cosmoya-muted); font-size: 13px; line-height: 1.8; }

/* Catalogue modals */
.catalogue-modal,
.catalogue-selection-modal { display: flex; flex-direction: column; }
.catalogue-modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 32px 34px 24px; border-bottom: 1px solid var(--cosmoya-line); }
.catalogue-modal__header h2 { margin: 16px 0 8px; color: var(--cosmoya-ink); font-size: clamp(34px,5vw,52px); line-height: 1.02; }
.catalogue-modal__header p { max-width: 650px; margin: 0; color: var(--cosmoya-muted); font-size: 12px; line-height: 1.7; }
.catalogue-modal__products { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 24px 34px; overflow-y: auto; }
.catalogue-modal-product { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px; min-height: 62px; padding: 10px 13px; border: 1px solid var(--cosmoya-line); border-radius: 14px; color: var(--cosmoya-text); background: #fff; cursor: pointer; text-align: start; transition: transform var(--cosmoya-transition), border-color var(--cosmoya-transition), background var(--cosmoya-transition); }
.catalogue-modal-product:hover { transform: translateY(-2px); border-color: var(--cosmoya-green-soft); background: var(--cosmoya-mint-light); }
.catalogue-modal-product.is-selected { color: #fff; background: var(--cosmoya-ink); border-color: var(--cosmoya-ink); }
.catalogue-modal-product__number { color: var(--cosmoya-green-soft); font-size: 9px; font-weight: 800; }
.catalogue-modal-product.is-selected .catalogue-modal-product__number { color: rgba(255,255,255,.58); }
.catalogue-modal-product > span:nth-child(2) { font-size: 11px; font-weight: 700; line-height: 1.45; }
.catalogue-modal__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding: 20px 34px; border-top: 1px solid var(--cosmoya-line); background: #fff; }
.catalogue-modal__footer p { margin: 0; color: var(--cosmoya-muted); font-size: 11px; }
.catalogue-modal__footer p strong { color: var(--cosmoya-ink); font-size: 18px; }
.catalogue-selection-list { display: flex; flex-direction: column; gap: 8px; min-height: 210px; padding: 24px 34px; overflow-y: auto; }
.catalogue-selection-item { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; min-height: 58px; padding: 9px 10px 9px 14px; border: 1px solid var(--cosmoya-line); border-radius: 13px; background: #fff; }
.catalogue-selection-item > span { color: var(--cosmoya-green-soft); font-size: 9px; font-weight: 800; }
.catalogue-selection-item strong { color: var(--cosmoya-ink); font-size: 11px; }
.catalogue-selection-item button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; color: var(--cosmoya-muted); background: var(--cosmoya-mint-light); cursor: pointer; }
.catalogue-selection-empty { display: grid; place-items: center; min-height: 220px; color: var(--cosmoya-muted); text-align: center; }
.catalogue-selection-empty p { max-width: 360px; }

@keyframes catalogue-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes catalogue-float { 0%,100% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-10px) rotate(-1deg); } }

/* Progressive integration: preserve V1.5 homepage content until V2.2 */
body[data-page="home"] .hero { padding-top: 76px; }
body[data-page="home"] .topbar,
body[data-page="home"] .site-header,
body[data-page="home"] footer.site-footer,
body[data-page="conditions"] .topbar,
body[data-page="conditions"] .site-header,
body[data-page="conditions"] footer.site-footer { display: none !important; }
body[data-page="home"] .button,
body[data-page="conditions"] .button { font-family: var(--cosmoya-font-body); }

/* RTL */
[dir="rtl"] .v2-header__inner,
[dir="rtl"] .catalogue-toolbar,
[dir="rtl"] .catalogue-hero__grid,
[dir="rtl"] .catalogue-project-banner__inner,
[dir="rtl"] .catalogue-contractual__inner { direction: rtl; }
[dir="rtl"] .ds-button svg,
[dir="rtl"] .catalogue-category-card__action svg,
[dir="rtl"] .v2-mobile-nav > a svg,
[dir="rtl"] .v2-footer__statement svg { transform: rotate(180deg); }
[dir="rtl"] .catalogue-category-card:hover .catalogue-category-card__action svg { transform: translateX(-6px) rotate(180deg); }
[dir="rtl"] .catalogue-hero-card--main { inset: 18px 42px 74px 0; transform: rotate(-2.2deg); }
[dir="rtl"] .catalogue-hero-card--small { transform: rotate(5deg); }

/* Responsive */
@media (max-width: 1180px) {
  .v2-header__inner { grid-template-columns: 195px 1fr auto; gap: 16px; }
  .v2-brand { width: 180px; }
  .v2-nav { gap: 2px; }
  .v2-nav a { padding-inline: 9px; font-size: 11px; }
  .catalogue-toolbar { grid-template-columns: minmax(240px,1fr) minmax(380px,1.5fr) auto; }
  .catalogue-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalogue-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .v2-footer__grid { grid-template-columns: 1.4fr repeat(3,1fr); gap: 30px; }
}

@media (max-width: 980px) {
  .v2-utility__inner { grid-template-columns: 1fr 1fr; }
  .v2-utility__inner span:nth-child(2) { display: none; }
  .v2-header__inner { grid-template-columns: 1fr auto; min-height: 70px; }
  .v2-nav,
  .v2-header__actions { display: none; }
  .v2-menu-button { display: grid; }
  .catalogue-hero { padding-top: 64px; }
  .catalogue-hero__grid { grid-template-columns: 1fr; }
  .catalogue-hero__copy h1 { max-width: 830px; }
  .catalogue-hero__visual { width: min(760px,100%); min-height: 500px; margin-inline: auto; }
  .catalogue-toolbar-wrap { inset-block-start: 99px; }
  .catalogue-toolbar { grid-template-columns: 1fr auto; }
  .catalogue-family-tabs { grid-column: 1 / -1; grid-row: 2; }
  .catalogue-family-feature { grid-template-columns: 48% 1fr; }
  .catalogue-family-feature__content { padding: 40px; }
  .catalogue-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalogue-project-banner__inner { grid-template-columns: 40% 1fr; }
  .catalogue-project-banner__copy { padding: 42px; }
  .catalogue-contractual__inner { grid-template-columns: auto 1fr; }
  .catalogue-contractual__inner > p { grid-column: 2; }
  .v2-footer__grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .v2-footer__contact { grid-column: 2 / -1; }
}

@media (max-width: 720px) {
  .v2-utility__inner { display: flex; justify-content: center; min-height: 26px; font-size: 8px; }
  .v2-utility__inner span:first-child { justify-content: center; }
  .v2-utility__inner span:last-child { display: none; }
  .v2-header__inner { min-height: 66px; }
  .v2-brand { width: 167px; }
  .catalogue-hero { padding: 46px 0 44px; }
  .catalogue-hero__copy h1 { margin-top: 18px; font-size: clamp(45px,13vw,65px); }
  .catalogue-hero__copy > p { font-size: 14px; line-height: 1.7; }
  .catalogue-hero__actions { flex-direction: column; align-items: stretch; }
  .catalogue-hero__actions .ds-button { width: 100%; }
  .catalogue-hero__metrics { margin-top: 36px; }
  .catalogue-hero__metrics div { padding-inline: 10px; }
  .catalogue-hero__metrics div:first-child { padding-inline-start: 0; }
  .catalogue-hero__metrics strong { font-size: 28px; }
  .catalogue-hero__metrics span { font-size: 8px; }
  .catalogue-hero__visual { min-height: 390px; margin-top: 12px; }
  .catalogue-hero-card { border-width: 5px; border-radius: 22px; }
  .catalogue-hero-card--main { inset: 10px 5px 54px 22px; }
  [dir="rtl"] .catalogue-hero-card--main { inset: 10px 22px 54px 5px; }
  .catalogue-hero-card--small { width: 43%; height: 38%; inset-inline-start: 0; inset-block-end: 4px; }
  .catalogue-hero__minimum { inset-inline-end: 0; inset-block-start: 28px; width: 150px; padding: 15px; }
  .catalogue-hero__minimum strong { font-size: 23px; }
  .catalogue-hero__formula { inset-inline-end: 0; inset-block-end: 18px; max-width: 75%; font-size: 8px; }
  .catalogue-toolbar-wrap { position: relative; inset-block-start: auto; padding: 14px 0 16px; }
  .catalogue-toolbar { display: flex; flex-wrap: wrap; }
  .catalogue-toolbar .ds-search-field { order: 1; flex: 1 1 100%; }
  .catalogue-family-tabs { order: 3; flex: 1 1 100%; }
  .catalogue-selection-button { order: 2; margin-inline-start: auto; }
  .catalogue-selection-button > span { display: none; }
  .catalogue-content { padding-top: 42px; }
  .catalogue-family-section + .catalogue-family-section { margin-top: 70px; padding-top: 70px; }
  .catalogue-family-feature { grid-template-columns: 1fr; min-height: 450px; }
  .catalogue-family-feature__image { position: absolute; inset: 0; min-height: 0; }
  .catalogue-family-feature__overlay { background: linear-gradient(to top, rgba(13,41,34,.96) 18%, rgba(13,41,34,.32) 100%); }
  [dir="rtl"] .catalogue-family-feature__overlay { background: linear-gradient(to top, rgba(13,41,34,.96) 18%, rgba(13,41,34,.32) 100%); }
  .catalogue-family-feature__content { justify-content: flex-end; padding: 30px; }
  .catalogue-family-feature__content h2 { font-size: 49px; }
  .catalogue-category-grid,
  .catalogue-product-grid { grid-template-columns: 1fr; }
  .catalogue-category-card { min-height: 360px; }
  .catalogue-results__heading { align-items: flex-start; flex-direction: column; }
  .catalogue-project-banner { padding: 60px 0; }
  .catalogue-project-banner__inner { grid-template-columns: 1fr; }
  .catalogue-project-banner__visual { min-height: 260px; }
  .catalogue-project-banner__visual::after { background: linear-gradient(to bottom, transparent 45%, var(--cosmoya-ink-strong)); }
  [dir="rtl"] .catalogue-project-banner__visual::after { background: linear-gradient(to bottom, transparent 45%, var(--cosmoya-ink-strong)); }
  .catalogue-project-banner__copy { padding: 30px; }
  .catalogue-project-banner__copy h2 { font-size: 43px; }
  .catalogue-contractual { padding: 58px 0; }
  .catalogue-contractual__inner { grid-template-columns: auto 1fr; gap: 18px; }
  .catalogue-contractual__inner > p { grid-column: 1 / -1; }
  .catalogue-contractual__inner h2 { font-size: 36px; }
  .catalogue-modal__header { padding: 24px 20px 18px; }
  .catalogue-modal__products { grid-template-columns: 1fr; padding: 18px 20px; }
  .catalogue-modal__footer { padding: 16px 20px; }
  .catalogue-modal__footer p { display: none; }
  .catalogue-modal__footer .ds-button { width: 100%; }
  .catalogue-selection-list { padding: 18px 20px; }
  .v2-footer__statement { align-items: flex-start; flex-direction: column; min-height: 0; padding-block: 38px; }
  .v2-footer__statement p { font-size: 31px; }
  .v2-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px 24px; padding-block: 52px 40px; }
  .v2-footer__brand { grid-column: 1 / -1; }
  .v2-footer__contact { grid-column: 1 / -1; }
  .v2-footer__bottom { flex-direction: column; }
}

@media (max-width: 430px) {
  .v2-mobile-nav > a { font-size: 17px; }
  .catalogue-hero__visual { min-height: 340px; }
  .catalogue-hero__minimum { width: 138px; }
  .catalogue-hero__formula { display: none; }
  .catalogue-family-tabs button { min-height: 39px; padding-inline: 12px; }
  .catalogue-family-feature { min-height: 420px; }
  .catalogue-category-card { padding: 20px; }
  .v2-footer__grid { grid-template-columns: 1fr; }
  .v2-footer__brand,
  .v2-footer__contact { grid-column: auto; }
}

/* =========================================================
   COSMOYA V2.1.1 — Premium rebuild checkpoint
   Visual direction: laboratoire B2B, image-led catalogue,
   interactions inspired by Farmazone without copying its brand.
   ========================================================= */

.catalogue-hero {
  padding: 70px 0 72px;
  background:
    radial-gradient(circle at 82% 18%, rgba(147,184,168,.22), transparent 34%),
    radial-gradient(circle at 5% 82%, rgba(237,228,211,.72), transparent 30%),
    linear-gradient(145deg, #fbfaf6 0%, #f6f8f5 50%, #e9f2ed 100%);
}
.catalogue-hero__grid { gap: clamp(44px,6vw,86px); }
.catalogue-hero__visual { min-height: 570px; }
.catalogue-hero-card--main {
  inset: 18px 0 54px 34px;
  border-radius: 36px;
  transform: rotate(1.2deg);
}
.catalogue-hero-card--main img { object-position: center 52%; }
.catalogue-hero-card--small {
  width: 34%;
  height: 54%;
  inset-inline-start: -18px;
  inset-block-end: 0;
  border-radius: 28px;
  transform: rotate(-3deg);
}
.catalogue-hero-card--small img { object-position: 50% 24%; }
.catalogue-hero__minimum {
  inset-inline-end: -8px;
  inset-block-start: 40px;
  background: rgba(255,255,255,.9);
  border-color: rgba(255,255,255,.9);
}
.catalogue-hero__formula { inset-inline-end: 20px; inset-block-end: 26px; }

.catalogue-family-feature {
  min-height: 360px;
  grid-template-columns: 54% 1fr;
  border-radius: 36px;
  box-shadow: 0 28px 78px rgba(15,45,37,.15);
}
.catalogue-family-feature__image { min-height: 360px; }
.catalogue-family-feature__image img {
  transition: transform 850ms cubic-bezier(.2,.8,.2,1), filter 500ms ease;
}
.catalogue-family-feature:hover .catalogue-family-feature__image img { transform: scale(1.035); filter: saturate(.9) contrast(1.02); }
.catalogue-family-feature__overlay {
  background: linear-gradient(90deg, rgba(13,41,34,.03) 28%, rgba(13,41,34,.76) 62%, #0d2922 100%);
}
.catalogue-family-feature__content { padding: 48px 52px; }

.catalogue-category-grid { gap: 24px; }
.catalogue-category-card--visual {
  min-height: 0;
  padding: 0;
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  overflow: hidden;
}
.catalogue-category-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1.22 / 1;
  padding: 0;
  overflow: hidden;
  border: 0;
  color: inherit;
  background: #e8efeb;
  cursor: pointer;
  text-align: start;
}
.catalogue-category-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 750ms cubic-bezier(.2,.8,.2,1), filter 450ms ease;
}
.catalogue-category-card--visual:hover .catalogue-category-card__media img {
  transform: scale(1.055);
  filter: saturate(.94) contrast(1.025);
}
.catalogue-category-card__media-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(8,31,25,.06) 20%, rgba(8,31,25,.42) 100%),
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.52), transparent 35%);
}
.catalogue-category-card__media-top {
  position: absolute;
  inset: 16px 16px auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.catalogue-category-card__media-top .catalogue-category-card__icon {
  color: #fff;
  background: rgba(13,41,34,.72);
  border-color: rgba(255,255,255,.22);
  backdrop-filter: blur(12px);
}
.catalogue-category-card__count {
  position: absolute;
  inset-inline-end: 18px;
  inset-block-end: 12px;
  color: rgba(255,255,255,.96);
  font-family: var(--cosmoya-font-display);
  font-size: 52px;
  line-height: 1;
  text-shadow: 0 6px 24px rgba(0,0,0,.25);
}
.catalogue-category-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 22px 20px;
}
.catalogue-category-card--visual h3 { font-size: 22px; }
.catalogue-category-card--visual .catalogue-category-card__description { min-height: 41px; }
.catalogue-category-card--visual .catalogue-category-card__preview { margin: 18px 0; padding-top: 16px; }
.catalogue-category-card--visual .catalogue-category-card__action {
  min-height: 42px;
  margin-top: auto;
  padding: 12px 14px;
  border: 1px solid var(--cosmoya-line);
  border-radius: 999px;
  background: var(--cosmoya-mint-light);
}
.catalogue-category-card--visual:hover .catalogue-category-card__action {
  color: #fff;
  border-color: var(--cosmoya-ink);
  background: var(--cosmoya-ink);
}

.catalogue-product-card {
  min-height: 390px;
  padding: 0 0 18px;
  overflow: hidden;
  border-radius: 24px;
}
.catalogue-product-card__media {
  position: relative;
  aspect-ratio: 1.18 / 1;
  overflow: hidden;
  background: #e8efeb;
}
.catalogue-product-card__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(.2,.8,.2,1);
}
.catalogue-product-card:hover .catalogue-product-card__media > img { transform: scale(1.055); }
.catalogue-product-card__top {
  position: absolute;
  inset: 14px 14px auto;
  margin: 0;
}
.catalogue-product-card__icon {
  color: #fff;
  background: rgba(13,41,34,.72);
  backdrop-filter: blur(10px);
}
.catalogue-product-card__body { padding: 19px 20px 12px; }
.catalogue-product-card__family {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 8px;
  color: var(--cosmoya-green-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.catalogue-product-card h3 { font-size: 17px; }
.catalogue-product-card__select { width: calc(100% - 40px); margin: auto 20px 0; }

.catalogue-modal { width: min(1120px, 100%); }
.catalogue-modal__content {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.4fr);
  min-height: 360px;
  overflow: hidden;
}
.catalogue-modal__visual {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: #dfe9e4;
}
.catalogue-modal__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(9,34,27,.78), transparent 56%);
}
.catalogue-modal__visual img { width: 100%; height: 100%; object-fit: cover; }
.catalogue-modal__visual > div {
  position: absolute;
  z-index: 1;
  inset: auto 24px 22px;
  display: grid;
  color: #fff;
}
.catalogue-modal__visual span,
.catalogue-modal__visual small { font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.catalogue-modal__visual strong { font-family: var(--cosmoya-font-display); font-size: 54px; font-weight: 400; line-height: 1; }
.catalogue-modal__products {
  align-content: start;
  max-height: 430px;
  padding: 24px;
}

.catalogue-lab-proof {
  padding: 92px 0;
  border-top: 1px solid var(--cosmoya-line);
  background:
    linear-gradient(rgba(22,53,45,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,53,45,.035) 1px, transparent 1px),
    #f7f5ef;
  background-size: 44px 44px;
}
.catalogue-lab-proof__heading {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr);
  align-items: end;
  gap: 60px;
  margin-bottom: 38px;
}
.catalogue-lab-proof__heading h2 {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--cosmoya-ink-strong);
  font-size: clamp(42px,5vw,66px);
  line-height: 1.02;
}
.catalogue-lab-proof__heading > p { margin: 0; color: var(--cosmoya-muted); font-size: 14px; line-height: 1.8; }
.catalogue-lab-proof__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.catalogue-lab-proof__card {
  padding: 10px 10px 22px;
  border: 1px solid var(--cosmoya-line);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 38px rgba(16,48,39,.07);
}
.catalogue-lab-proof__card > div {
  position: relative;
  aspect-ratio: 1.12 / 1;
  overflow: hidden;
  border-radius: 17px;
  background: #e8efeb;
}
.catalogue-lab-proof__card img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.2,.8,.2,1); }
.catalogue-lab-proof__card:hover img { transform: scale(1.055); }
.catalogue-lab-proof__card > div span {
  position: absolute;
  inset-inline-start: 12px;
  inset-block-end: 12px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: rgba(13,41,34,.86);
  font-size: 10px;
  font-weight: 800;
  backdrop-filter: blur(10px);
}
.catalogue-lab-proof__card h3 { margin: 20px 10px 8px; color: var(--cosmoya-ink); font-size: 17px; }
.catalogue-lab-proof__card p { margin: 0 10px; color: var(--cosmoya-muted); font-size: 11px; line-height: 1.65; }

@media (max-width: 980px) {
  .catalogue-lab-proof__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalogue-modal__content { grid-template-columns: 34% 1fr; }
}

@media (max-width: 720px) {
  .catalogue-hero__visual { min-height: 430px; }
  .catalogue-hero-card--main { inset: 8px 0 45px 12px; }
  [dir="rtl"] .catalogue-hero-card--main { inset: 8px 12px 45px 0; }
  .catalogue-hero-card--small { width: 38%; height: 52%; inset-inline-start: -2px; }
  .catalogue-family-feature { min-height: 470px; }
  .catalogue-category-card { min-height: 0; }
  .catalogue-category-card__media { aspect-ratio: 1.34 / 1; }
  .catalogue-modal__content { grid-template-columns: 1fr; overflow-y: auto; }
  .catalogue-modal__visual { min-height: 210px; max-height: 240px; }
  .catalogue-modal__products { overflow: visible; max-height: none; }
  .catalogue-lab-proof { padding: 68px 0; }
  .catalogue-lab-proof__heading { grid-template-columns: 1fr; gap: 20px; }
  .catalogue-lab-proof__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
}

@media (max-width: 460px) {
  .catalogue-lab-proof__grid { grid-template-columns: 1fr; }
  .catalogue-lab-proof__card > div { aspect-ratio: 1.45 / 1; }
  .catalogue-hero-card--small { width: 42%; }
}

/* === END PRESERVED SOURCE: v2-1.css === */

/* === BEGIN PRESERVED SOURCE: fidelity-enhancements.css | SHA-256 52cf114ec11b82b906ee43decea51caf9d7646dffe21ef627f195bb837495191 === */
/* Minimal functional additions to the validated V2.1.3 visual foundation. */
.v2-account{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border:1px solid transparent;border-radius:999px;color:var(--color-forest,#173a31);text-decoration:none;font-size:.7rem;font-weight:800;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.v2-account:hover{background:#eef4f0;border-color:#d8e5dc}.v2-account[data-authenticated="true"]{background:#eef4f0;border-color:#d8e5dc}.v2-header__actions{gap:12px}.v2-header__actions .ds-button{white-space:nowrap}.v2-mobile-nav__footer .v2-account{width:100%;min-height:46px;border-color:#d8e5dc;background:#f7faf8}.hero-image-wrap img{object-position:center 42%}.solution-media img,.catalogue-family-card img{object-position:center}.section-lab img{object-position:center 45%}
@media(max-width:1160px){.v2-header__actions{gap:8px}.v2-account{padding-inline:9px;font-size:.65rem}.v2-header__actions .ds-button{padding-inline:13px}}
@media(max-width:920px){.v2-account{display:flex}.v2-header__actions .v2-account{display:none}}
@media(max-width:640px){.hero-image-wrap img{object-position:70% 44%}.catalogue-family-card img{object-position:center 32%}}

/* === END PRESERVED SOURCE: fidelity-enhancements.css === */

/* === BEGIN PRESERVED SOURCE: corrections-r1.css | SHA-256 3d3c8f1742e4eed00fbdf3dd249e108e3a95687294190fda5baec683cab79e92 === */
/* COSMOYA — corrective pass R1. Loaded after the validated Fidelity layers. */

.v2-mobile-account { display: none; }

/* Make existing editorial cards fully legible as interactive surfaces. */
.solution-card,
.catalogue-family-card,
.about-card,
.brief-card { cursor: pointer; }
.solution-card:focus-visible,
.catalogue-family-card:focus-visible,
.about-card:focus-visible,
.brief-card:focus-visible { outline: 3px solid rgba(183,154,94,.65); outline-offset: 4px; }

/* Desktop: give the approved hero more presence without making it edge-to-edge. */
@media (min-width: 1440px) {
  .hero > .hero-grid {
    width: min(1580px, calc(100% - 128px));
    grid-template-columns: minmax(0, 1.12fr) minmax(520px, .88fr);
    gap: clamp(64px, 5vw, 104px);
  }
  .hero-copy h1 { max-width: 810px; }
  .hero-lead { max-width: 700px; }
  .hero-image-wrap img { height: 560px; }
}

@media (max-width: 920px) {
  html.menu-open,
  html.menu-open body { overflow: hidden; }

  .v2-header__inner {
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    gap: 10px;
  }
  .v2-menu-button {
    display: grid;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    border-color: transparent;
    background: transparent;
  }
  .v2-brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    width: min(205px, 52vw);
  }
  .v2-mobile-account {
    display: grid;
    grid-column: 3;
    grid-row: 1;
    place-items: center;
    justify-self: end;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: var(--cosmoya-ink);
    text-decoration: none;
  }
  .v2-mobile-account:hover,
  .v2-mobile-account:focus-visible,
  .v2-mobile-account[data-authenticated="true"] { background: var(--cosmoya-mint); }

  .v2-mobile-panel {
    position: fixed;
    inset-inline: 0;
    inset-block-start: 96px;
    height: calc(100dvh - 96px);
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    box-shadow: none;
    transform: translateY(-12px);
    transition: opacity 220ms ease, transform 260ms cubic-bezier(.2,.8,.2,1), visibility 220ms;
    visibility: hidden;
  }
  .v2-header.is-open .v2-mobile-panel {
    max-height: none;
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }
  .v2-mobile-nav {
    width: min(100% - 40px, 620px);
    padding: 28px 0 42px;
  }
  .v2-mobile-nav > a {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    min-height: 64px;
    padding: 0 4px;
    border-bottom: 1px solid #d9dfdc;
    font-size: 19px;
    font-weight: 750;
    letter-spacing: -.015em;
  }
  .v2-mobile-nav > a > span {
    color: var(--cosmoya-ink);
    font-size: inherit;
    letter-spacing: inherit;
  }
  .v2-mobile-nav > a svg { color: var(--cosmoya-ink); }
  .v2-mobile-nav > .v2-mobile-nav__plain { grid-template-columns: 1fr; }
  .v2-mobile-nav > .v2-mobile-nav__plain svg { display: none; }
  .v2-mobile-nav__footer {
    display: block;
    padding-top: 22px;
  }
  .v2-mobile-nav__footer .ds-button {
    width: 100%;
    min-height: 64px;
    border-radius: 10px;
    font-size: 16px;
  }
  [dir="rtl"] .v2-mobile-nav > a svg { transform: rotate(180deg); }
}

@media (max-width: 760px) {
  .v2-utility__inner { min-height: 28px; }
  .v2-header__inner { min-height: 66px; }
  .v2-mobile-panel { inset-block-start: 94px; height: calc(100dvh - 94px); }

  /* Mobile hero: remove the dead zone and keep a single commercial action. */
  .hero {
    padding: 28px 0 0;
    background: #f8f5ef;
  }
  .hero-grid { gap: 26px; }
  .hero-copy { padding: 0; }
  .hero-copy .eyebrow { margin-bottom: 12px; }
  .hero-copy h1 { font-size: clamp(38px, 10.8vw, 50px); line-height: 1.08; }
  .hero-lead { margin-top: 20px; font-size: 15px; line-height: 1.7; }
  .hero-actions { margin-top: 24px; }
  .hero-actions .button-secondary { display: none; }
  .hero-actions .button-primary { min-height: 58px; }
  .hero-proof { display: none; }

  .hero-visual { width: 100%; }
  .hero-image-wrap {
    padding: 0;
    border: 0;
    border-radius: 22px;
    background: #e9efea;
    box-shadow: 0 20px 48px rgba(31,55,46,.16);
  }
  .hero-image-wrap picture { display: block; overflow: hidden; border-radius: inherit; }
  .hero-image-wrap img {
    height: clamp(318px, 86vw, 390px);
    border-radius: 0;
    object-fit: cover;
    object-position: 62% 50%;
    filter: saturate(.88) contrast(1.02);
  }
  .hero-image-caption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 15px 16px;
    border-radius: 14px;
    background: rgba(15,63,47,.88);
  }
  .hero-services {
    margin: 12px -12px 0;
    padding: 0 12px 10px;
    gap: 8px;
    scrollbar-width: none;
  }
  .hero-services::-webkit-scrollbar { display: none; }

  /* Exact mobile rhythm requested for the four trust points. */
  .trust-strip { border: 0; background: #fff; }
  .trust-grid {
    width: min(100% - 30px, 620px);
    display: block;
    padding: 16px 0 28px;
  }
  .trust-grid > div {
    min-height: 96px;
    padding: 18px 12px;
    border: 0;
    border-bottom: 1px solid #d9dfdc;
    gap: 16px;
  }
  .trust-grid > div:last-child { border-bottom: 0; }
  .trust-grid > div > span {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #45685a;
    background: #edf3ef;
    font-size: 10px;
    font-weight: 700;
  }
  .trust-grid strong {
    margin-bottom: 4px;
    color: #172a22;
    font-size: 15px;
    font-weight: 650;
  }
  .trust-grid small { color: #7a857f; font-size: 11px; line-height: 1.5; }

  /* A restrained, native slider for the four solutions. */
  .solution-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(86%, 1fr);
    gap: 14px;
    margin-inline-end: -12px;
    padding: 2px 12px 18px 1px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .solution-grid::-webkit-scrollbar { display: none; }
  .solution-card {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    border-radius: 22px;
  }
}

@media (max-width: 420px) {
  .hero-copy h1 { font-size: clamp(36px, 10.4vw, 44px); }
  .hero-image-wrap img { height: 320px; object-position: 64% 50%; }
  .v2-mobile-nav { width: calc(100% - 32px); }
}

@media (prefers-reduced-motion: reduce) {
  .v2-mobile-panel,
  .solution-card { transition: none !important; }
}

/* === END PRESERVED SOURCE: corrections-r1.css === */


/* === MISSION 1 — SECTION À PROPOS | propriétaire unique, mobile-first === */
.section-about {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(4.5rem, 11vw, 7rem);
  background:
    radial-gradient(circle at 8% 12%, rgba(219,230,223,.58), transparent 28rem),
    linear-gradient(145deg, #fbfaf6 0%, #f5f2ea 100%);
}
.section-about::before {
  content: "";
  position: absolute;
  inset: auto -7rem -10rem auto;
  z-index: -1;
  width: clamp(17rem, 38vw, 38rem);
  aspect-ratio: 1;
  border: 1px solid rgba(64,95,80,.09);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(255,255,255,.18), 0 0 0 8rem rgba(64,95,80,.025);
}
.section-about > .shell {
  width: min(100% - clamp(1.5rem, 6vw, 8rem), 98rem);
}
.about-layout {
  display: grid;
  gap: clamp(2rem, 7vw, 4rem);
}
.about-intro {
  max-width: 43rem;
}
.about-intro h2 {
  max-width: 14.5ch;
  font-size: clamp(2.15rem, 9.4vw, 3.55rem);
  line-height: 1.06;
  text-wrap: balance;
}
.about-intro > p:not(.eyebrow) {
  max-width: 39rem;
  margin-top: clamp(1.1rem, 3vw, 1.5rem);
  color: var(--muted);
  font-size: clamp(.93rem, 2.8vw, 1.04rem);
  line-height: 1.75;
}
.about-intro .text-arrow {
  margin-top: clamp(1.25rem, 4vw, 1.75rem);
}
.about-media {
  position: relative;
  min-width: 0;
  margin: 0;
}
.about-media__main {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(64,95,80,.14);
  border-radius: clamp(1.25rem, 5vw, 2rem);
  background: #e8eeea;
  box-shadow: 0 1.5rem 4rem rgba(31,55,46,.12);
}
.about-media__main::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 55%, rgba(23,58,49,.12));
}
.about-media__main img,
.about-media__inset img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-media__main img {
  object-position: 54% 50%;
  filter: saturate(.82) contrast(1.015) brightness(.99);
  transition: transform 900ms cubic-bezier(.2,.8,.2,1);
}
.about-media:hover .about-media__main img {
  transform: scale(1.025);
}
.about-media__inset {
  display: none;
}
.about-grid {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(64,95,80,.18);
}
.about-card {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: clamp(.9rem, 3.5vw, 1.15rem);
  align-items: start;
  padding-block: clamp(1.2rem, 4.5vw, 1.55rem);
  border-bottom: 1px solid rgba(64,95,80,.18);
  background: transparent;
  cursor: default;
}
.about-card__icon {
  width: clamp(2.65rem, 11vw, 3rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(64,95,80,.17);
  border-radius: 50%;
  color: var(--brand-deep);
  background: rgba(255,255,255,.72);
  box-shadow: 0 .55rem 1.5rem rgba(31,55,46,.06);
}
.about-card__icon svg {
  width: 51%;
  height: 51%;
}
.about-card h3 {
  color: var(--brand-deep);
  font-size: clamp(1.02rem, 3.8vw, 1.2rem);
  line-height: 1.3;
}
.about-card p {
  max-width: 34rem;
  margin-top: .4rem;
  color: var(--muted);
  font-size: clamp(.79rem, 2.8vw, .9rem);
  line-height: 1.65;
}
.about-card--commitment {
  margin-top: clamp(.85rem, 3vw, 1.1rem);
  padding: clamp(1.2rem, 4.5vw, 1.55rem);
  border: 0;
  border-radius: clamp(1rem, 4vw, 1.35rem);
  color: #fff;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand));
  box-shadow: 0 1.1rem 2.6rem rgba(31,55,46,.16);
}
.about-card--commitment .about-card__icon {
  color: #fff;
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.11);
  box-shadow: none;
}
.about-card--commitment h3 { color: #fff; }
.about-card--commitment p { color: rgba(255,255,255,.75); }

body.rtl .about-intro h2 {
  max-width: 17ch;
  line-height: 1.22;
}
body.rtl .about-card--method .about-card__icon svg {
  transform: scaleX(-1);
}

@media (min-width: 40rem) {
  .about-layout { gap: clamp(2.5rem, 6vw, 4.5rem); }
  .about-media__main { aspect-ratio: 16 / 10; }
  .about-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
    border: 1px solid rgba(64,95,80,.17);
    border-radius: 1.5rem;
    overflow: hidden;
    background: rgba(255,255,255,.38);
  }
  .about-card {
    min-height: 10.8rem;
    padding: clamp(1.25rem, 3vw, 1.7rem);
    border-bottom: 1px solid rgba(64,95,80,.16);
  }
  .about-card:nth-child(odd) { border-inline-end: 1px solid rgba(64,95,80,.16); }
  .about-card:nth-child(n+3) { border-bottom: 0; }
  .about-card--commitment {
    margin: 0;
    border-radius: 0;
  }
}

@media (min-width: 70rem) {
  .section-about { padding-block: clamp(6rem, 8vw, 8.25rem); }
  .about-layout {
    grid-template-columns: minmax(0,1.08fr) minmax(25rem,.92fr);
    grid-template-areas:
      "media intro"
      "media cards";
    column-gap: clamp(3.5rem, 5vw, 6.5rem);
    row-gap: clamp(2rem, 3vw, 3rem);
    align-items: start;
  }
  .about-intro {
    grid-area: intro;
    padding-top: clamp(.4rem, 1.2vw, 1.2rem);
  }
  .about-intro h2 {
    max-width: 13.7ch;
    font-size: clamp(3rem, 3.35vw, 4.25rem);
  }
  .about-media {
    grid-area: media;
    align-self: stretch;
    padding-inline-end: clamp(1.5rem, 3vw, 3.5rem);
    padding-block-end: clamp(2.25rem, 4vw, 4rem);
  }
  .about-media__main {
    height: 100%;
    min-height: clamp(35rem, 45vw, 46rem);
    aspect-ratio: auto;
    border-radius: clamp(1.75rem, 2.5vw, 2.5rem);
  }
  .about-media__inset {
    position: absolute;
    inset-inline-end: 0;
    inset-block-end: 0;
    display: block;
    width: clamp(14rem, 24vw, 22rem);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: clamp(.4rem, .7vw, .65rem) solid #fbfaf6;
    border-radius: clamp(1rem, 1.8vw, 1.5rem);
    background: #fff;
    box-shadow: 0 1.4rem 3rem rgba(31,55,46,.2);
  }
  .about-grid {
    grid-area: cards;
  }
  body.rtl .about-layout {
    grid-template-areas:
      "intro media"
      "cards media";
  }
  body.rtl .about-media {
    padding-inline-end: 0;
    padding-inline-start: clamp(1.5rem, 3vw, 3.5rem);
  }
}

@media (min-width: 80rem) {
  .about-grid { border-radius: 1.75rem; }
  .about-card { min-height: 11.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .about-media__main img { transition: none; }
  .about-media:hover .about-media__main img { transform: none; }
}
/* === FIN MISSION 1 — SECTION À PROPOS === */

/* === MISSION 2 — HEADER + ENTRÉE DU HERO | propriétaire mobile-first === */
/* Base mobile. The desktop composition is restored explicitly with min-width enrichments. */
body[data-page="home"] .v2-utility__inner {
  display: flex;
  justify-content: center;
  min-height: 24px;
  font-size: 7.5px;
  letter-spacing: .065em;
}
body[data-page="home"] .v2-utility__inner span {
  justify-content: center;
  gap: 7px;
}
body[data-page="home"] .v2-utility__inner span:not(:first-child) { display: none; }
body[data-page="home"] .v2-utility__inner i {
  width: 13px;
  height: 13px;
  font-size: 6px;
}
body[data-page="home"] .v2-header__inner {
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  min-height: 58px;
  gap: 8px;
}
body[data-page="home"] .v2-brand {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  width: min(158px, 48vw);
}
body[data-page="home"] .v2-nav,
body[data-page="home"] .v2-header__actions { display: none; }
body[data-page="home"] .v2-menu-button {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  width: 40px;
  height: 40px;
  border-color: transparent;
  background: transparent;
}
body[data-page="home"] .v2-mobile-account {
  display: grid;
  grid-column: 3;
  grid-row: 1;
  place-items: center;
  justify-self: end;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--cosmoya-ink);
  text-decoration: none;
}
body[data-page="home"] .v2-mobile-panel {
  inset-block-start: 82px;
  height: calc(100dvh - 82px);
}
body[data-page="home"] .hero {
  padding: clamp(1rem, 4.8vw, 1.35rem) 0 0;
  background: #f8f5ef;
}
body[data-page="home"] .hero-grid {
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 5vw, 1.65rem);
}
body[data-page="home"] .hero-copy {
  width: 100%;
  max-width: 42rem;
  padding: 0;
}
body[data-page="home"] .hero-copy .eyebrow { margin-bottom: .65rem; }
body[data-page="home"] .hero-copy h1 {
  max-width: 100%;
  font-size: clamp(2.18rem, 9.7vw, 2.72rem);
  line-height: 1.035;
  letter-spacing: -.034em;
}
body.rtl[data-page="home"] .hero-copy h1 {
  line-height: 1.22;
  letter-spacing: 0;
}
body[data-page="home"] .hero-lead {
  max-width: 38rem;
  margin-top: 1rem;
  font-size: clamp(.9rem, 3.7vw, .98rem);
  line-height: 1.62;
}
body[data-page="home"] .hero-actions {
  display: grid;
  margin-top: 1.25rem;
  gap: .65rem;
}
body[data-page="home"] .hero-actions .button-secondary { display: none; }
body[data-page="home"] .hero-actions .button-primary {
  min-height: 54px;
  padding-block: .8rem;
}
body[data-page="home"] .hero-proof { display: none; }

@media (min-width: 30rem) {
  body[data-page="home"] .v2-utility__inner { min-height: 25px; font-size: 8px; }
  body[data-page="home"] .v2-header__inner { min-height: 60px; }
  body[data-page="home"] .v2-brand { width: min(174px, 44vw); }
  body[data-page="home"] .v2-mobile-panel {
    inset-block-start: 85px;
    height: calc(100dvh - 85px);
  }
  body[data-page="home"] .hero-copy h1 { font-size: clamp(2.45rem, 8.8vw, 3.05rem); }
}

@media (min-width: 47.5625rem) {
  body[data-page="home"] .v2-utility__inner { min-height: 26px; }
  body[data-page="home"] .v2-header__inner {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    min-height: 64px;
  }
  body[data-page="home"] .v2-brand { width: 190px; }
  body[data-page="home"] .v2-menu-button,
  body[data-page="home"] .v2-mobile-account { width: 42px; height: 42px; }
  body[data-page="home"] .v2-mobile-panel {
    inset-block-start: 90px;
    height: calc(100dvh - 90px);
  }
  body[data-page="home"] .hero {
    padding-top: clamp(2rem, 5vw, 3rem);
  }
  body[data-page="home"] .hero-grid { gap: clamp(2rem, 5vw, 2.75rem); }
  body[data-page="home"] .hero-copy { max-width: 48rem; }
  body[data-page="home"] .hero-copy h1 {
    font-size: clamp(2.85rem, 6.4vw, 3.5rem);
    line-height: 1.025;
  }
  body.rtl[data-page="home"] .hero-copy h1 { line-height: 1.18; }
  body[data-page="home"] .hero-lead {
    max-width: 44rem;
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.7;
  }
  body[data-page="home"] .hero-actions {
    display: flex;
    width: fit-content;
    margin-top: 1.5rem;
  }
  body[data-page="home"] .hero-actions .button-primary { width: auto; min-width: 210px; }
}

@media (min-width: 61.3125rem) {
  body[data-page="home"] .v2-utility__inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    min-height: 29px;
    font-size: 9px;
    letter-spacing: .075em;
  }
  body[data-page="home"] .v2-utility__inner span,
  body[data-page="home"] .v2-utility__inner span:not(:first-child) { display: flex; gap: 8px; }
  body[data-page="home"] .v2-utility__inner span:first-child { justify-content: flex-start; }
  body[data-page="home"] .v2-utility__inner span:nth-child(2) { justify-content: center; }
  body[data-page="home"] .v2-utility__inner span:last-child { justify-content: flex-end; }
  body[data-page="home"] .v2-utility__inner i { width: 15px; height: 15px; font-size: 7px; }
  body[data-page="home"] .v2-header__inner {
    grid-template-columns: 195px 1fr auto;
    min-height: 78px;
    gap: 16px;
  }
  body[data-page="home"] .v2-brand {
    grid-column: auto;
    grid-row: auto;
    justify-self: start;
    width: 180px;
  }
  body[data-page="home"] .v2-nav { display: flex; }
  body[data-page="home"] .v2-header__actions { display: flex; }
  body[data-page="home"] .v2-menu-button,
  body[data-page="home"] .v2-mobile-account { display: none; }
  body[data-page="home"] .v2-mobile-panel {
    position: absolute;
    inset-block-start: 100%;
    height: auto;
  }
}

@media (min-width: 73.8125rem) {
  body[data-page="home"] .v2-header__inner {
    grid-template-columns: 230px 1fr auto;
    min-height: 78px;
    gap: 30px;
  }
  body[data-page="home"] .v2-brand { width: 205px; }
}

@media (min-width: 68.8125rem) {
  body[data-page="home"] .hero {
    padding: 76px 0 64px;
    background: linear-gradient(115deg, #f8f8f4 0 52%, #eaf0ec 52% 100%);
  }
  body.rtl[data-page="home"] .hero {
    background: linear-gradient(245deg, #f8f8f4 0 52%, #eaf0ec 52% 100%);
  }
  body[data-page="home"] .hero-grid {
    grid-template-columns: 1.04fr .96fr;
    gap: clamp(46px, 5vw, 76px);
    align-items: center;
  }
  body[data-page="home"] .hero-copy {
    width: auto;
    max-width: none;
    padding-block: 12px;
  }
  body[data-page="home"] .hero-copy .eyebrow { margin-bottom: 14px; }
  body[data-page="home"] .hero-copy h1 {
    max-width: 690px;
    font-size: clamp(48px, 4.4vw, 64px);
    line-height: 1.08;
    letter-spacing: -.026em;
  }
  body.rtl[data-page="home"] .hero-copy h1 {
    line-height: 1.35;
    letter-spacing: 0;
  }
  body[data-page="home"] .hero-lead {
    max-width: 630px;
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.72;
  }
  body[data-page="home"] .hero-actions {
    display: flex;
    width: auto;
    margin-top: 28px;
    gap: 12px;
  }
  body[data-page="home"] .hero-actions .button-secondary { display: inline-flex; }
  body[data-page="home"] .hero-actions .button-primary {
    width: auto;
    min-width: 0;
    min-height: 46px;
    padding-block: 12px;
  }
  body[data-page="home"] .hero-proof {
    display: grid;
    margin-top: 34px;
    padding-top: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (min-width: 90rem) {
  body[data-page="home"] .hero > .hero-grid {
    width: min(1580px, calc(100% - 128px));
    grid-template-columns: minmax(0, 1.12fr) minmax(520px, .88fr);
    gap: clamp(64px, 5vw, 104px);
  }
  body[data-page="home"] .hero-copy h1 { max-width: 810px; }
  body[data-page="home"] .hero-lead { max-width: 700px; }
  body[data-page="home"] .hero-image-wrap img { height: 560px; }
}
/* === FIN MISSION 2 === */

/* === MISSION 3 — RAIL DU HERO + PREUVES | propriétaire mobile-first === */
body[data-page="home"] .hero-services {
  position: static;
  inset: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  justify-content: start;
  gap: .3rem;
  margin: clamp(.7rem, 2.5vw, .9rem) 0 0;
  padding: .125rem .125rem .75rem;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: .125rem;
  scroll-snap-type: inline proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
body[data-page="home"] .hero-services::-webkit-scrollbar { display: none; }
body[data-page="home"] .hero-services span {
  width: max-content;
  min-height: 1.95rem;
  display: inline-flex;
  align-items: center;
  padding: .42rem .5rem;
  scroll-snap-align: start;
  border: 1px solid rgba(64,95,80,.17);
  border-radius: 999px;
  color: var(--brand-deep);
  background: rgba(255,255,255,.94);
  box-shadow: 0 .45rem 1.2rem rgba(31,55,46,.07);
  font-size: .58rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
body[data-page="home"] .hero-services span:last-child { margin-inline-end: 1.5rem; }

body[data-page="home"] .trust-strip {
  border-block: 1px solid rgba(64,95,80,.14);
  background: #fff;
}
body[data-page="home"] .trust-grid {
  width: min(100% - 1.5rem, 98rem);
  display: grid;
  grid-template-columns: minmax(0,1fr);
  padding: 0;
}
body[data-page="home"] .trust-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 2.25rem minmax(0,1fr);
  gap: clamp(.6rem, 2.7vw, .8rem);
  align-items: start;
  padding: clamp(.9rem, 4vw, 1.15rem) clamp(.65rem, 3vw, .9rem);
  border: 0;
  border-bottom: 1px solid rgba(64,95,80,.15);
  background: #fff;
}
body[data-page="home"] .trust-item:last-child { border-bottom: 0; }
body[data-page="home"] .trust-icon {
  width: 2.25rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(64,95,80,.17);
  border-radius: 50%;
  color: var(--brand-deep);
  background: #edf3ef;
  box-shadow: 0 .4rem 1rem rgba(31,55,46,.055);
}
body[data-page="home"] .trust-icon svg {
  width: 1.08rem;
  height: 1.08rem;
}
body[data-page="home"] .trust-item > div { min-width: 0; }
body[data-page="home"] .trust-grid strong {
  display: block;
  margin: 0;
  color: #172a22;
  font-size: clamp(.82rem, 3.5vw, .95rem);
  font-weight: 650;
  line-height: 1.28;
  text-wrap: balance;
}
body[data-page="home"] .trust-grid small {
  display: block;
  margin-top: .28rem;
  color: #77827d;
  font-size: clamp(.64rem, 2.55vw, .74rem);
  line-height: 1.45;
  text-wrap: pretty;
}

@media (min-width: 20rem) {
  body[data-page="home"] .trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-page="home"] .trust-item { min-height: clamp(6.8rem, 29vw, 7.75rem); }
  body[data-page="home"] .trust-item:nth-child(odd) { border-inline-end: 1px solid rgba(64,95,80,.15); }
  body[data-page="home"] .trust-item:nth-child(n+3) { border-bottom: 0; }
}

@media (min-width: 40rem) {
  body[data-page="home"] .hero-services {
    gap: .6rem;
    padding-inline-end: 1.75rem;
  }
  body[data-page="home"] .hero-services span {
    min-height: 2.35rem;
    padding: .58rem .82rem;
    font-size: .76rem;
  }
  body[data-page="home"] .trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-page="home"] .trust-item {
    min-height: 5.75rem;
    grid-template-columns: 2.35rem minmax(0,1fr);
    padding: .8rem clamp(.8rem, 2vw, 1.15rem);
    border-bottom: 1px solid rgba(64,95,80,.15);
    border-inline-end: 0;
  }
  body[data-page="home"] .trust-item:nth-child(odd) { border-inline-end: 1px solid rgba(64,95,80,.15); }
  body[data-page="home"] .trust-item:nth-child(n+3) { border-bottom: 0; }
  body[data-page="home"] .trust-item:last-child { border-inline-end: 0; }
  body[data-page="home"] .trust-icon { width: 2.35rem; }
}

@media (min-width: 56.25rem) {
  body[data-page="home"] .trust-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  body[data-page="home"] .trust-item {
    min-height: 6.25rem;
    border-bottom: 0;
    border-inline-end: 1px solid rgba(64,95,80,.15);
  }
  body[data-page="home"] .trust-item:nth-child(odd) { border-inline-end: 1px solid rgba(64,95,80,.15); }
  body[data-page="home"] .trust-item:last-child { border-inline-end: 0; }
}

@media (min-width: 68.8125rem) {
  body[data-page="home"] .hero-services {
    position: absolute;
    inset-block-start: 38px;
    inset-inline-start: -34px;
    width: auto;
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: 7px;
    margin: 0;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  body[data-page="home"] .hero-services span {
    min-height: 0;
    padding: 8px 11px;
    box-shadow: var(--shadow-sm);
    font-size: 10px;
  }
  body[data-page="home"] .hero-services span:last-child { margin-inline-end: 0; }
  body[data-page="home"] .trust-grid { width: min(100% - 3rem, 98rem); }
  body[data-page="home"] .trust-item {
    min-height: 5.9rem;
    grid-template-columns: 2.25rem minmax(0,1fr);
    align-items: center;
    padding: 1rem clamp(1rem, 1.6vw, 1.4rem);
  }
  body[data-page="home"] .trust-grid strong { font-size: .86rem; }
  body[data-page="home"] .trust-grid small { font-size: .68rem; }
}
/* === FIN MISSION 3 === */

/* === MISSION 1.1 — FINITIONS CONTEXTUELLES À PROPOS | mobile-first === */
body[data-page="home"] .section-about {
  padding-block-start: clamp(3rem, 8vw, 4.25rem);
  padding-block-end: clamp(2.75rem, 7vw, 3.75rem);
}
body[data-page="home"] .about-layout {
  gap: clamp(1.45rem, 5vw, 2.4rem);
}
body[data-page="home"] .about-intro h2 {
  max-width: 14.5ch;
  font-size: clamp(2rem, 8.6vw, 3.35rem);
  line-height: 1.045;
}
body[data-page="home"] .about-intro > p:not(.eyebrow) {
  margin-top: clamp(.9rem, 2.5vw, 1.2rem);
  line-height: 1.68;
}
body[data-page="home"] .about-intro .text-arrow {
  min-height: 2.65rem;
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin-top: clamp(.95rem, 3vw, 1.3rem);
  padding-block: .32rem .42rem;
  border-bottom: 1px solid rgba(23,58,49,.28);
  color: var(--brand-deep);
  font-weight: 700;
  line-height: 1.25;
  transition: gap 180ms ease, border-color 180ms ease;
}
body[data-page="home"] .about-intro .text-arrow:hover,
body[data-page="home"] .about-intro .text-arrow:focus-visible {
  gap: .9rem;
  border-bottom-color: currentColor;
}
body[data-page="home"] .about-card {
  gap: clamp(.72rem, 2.8vw, .95rem);
  padding-block: clamp(.95rem, 3.5vw, 1.2rem);
}
body[data-page="home"] .about-card__icon {
  width: clamp(2.45rem, 9.5vw, 2.8rem);
}
body[data-page="home"] .about-card p {
  margin-top: .3rem;
  line-height: 1.56;
}
body[data-page="home"] .about-card--commitment {
  margin-top: clamp(.55rem, 2vw, .75rem);
  padding: clamp(1rem, 3.6vw, 1.25rem);
}

@media (min-width: 40rem) {
  body[data-page="home"] .about-layout {
    gap: clamp(2rem, 4vw, 3rem);
  }
  body[data-page="home"] .about-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="home"] .about-card {
    min-height: 9.4rem;
    padding: clamp(1.05rem, 2.2vw, 1.35rem);
  }
  body[data-page="home"] .about-card--commitment {
    margin: 0;
    padding: clamp(1.05rem, 2.2vw, 1.35rem);
  }
}

@media (min-width: 70rem) {
  body[data-page="home"] .section-about {
    padding-block-start: clamp(3.75rem, 4.35vw, 5.15rem);
    padding-block-end: clamp(3.25rem, 3.8vw, 4.6rem);
  }
  body[data-page="home"] .about-layout {
    column-gap: clamp(3.25rem, 4.5vw, 5.75rem);
    row-gap: clamp(1.45rem, 2.1vw, 2.25rem);
  }
  body[data-page="home"] .about-intro {
    padding-top: clamp(.15rem, .55vw, .65rem);
  }
  body[data-page="home"] .about-intro h2 {
    max-width: 13.7ch;
    font-size: clamp(2.85rem, 3.05vw, 3.85rem);
    line-height: 1.045;
  }
  body.rtl[data-page="home"] .about-intro h2 {
    max-width: 16ch;
    line-height: 1.18;
  }
  body[data-page="home"] .about-media {
    padding-inline-end: clamp(1.25rem, 2.4vw, 2.75rem);
    padding-block-end: clamp(1.75rem, 2.6vw, 2.75rem);
  }
  body.rtl[data-page="home"] .about-media {
    padding-inline-end: 0;
    padding-inline-start: clamp(1.25rem, 2.4vw, 2.75rem);
  }
  body[data-page="home"] .about-media__main {
    min-height: clamp(31rem, 38vw, 39rem);
  }
  body[data-page="home"] .about-media__inset {
    width: clamp(13rem, 20vw, 19rem);
  }
  body[data-page="home"] .about-card {
    min-height: 9.25rem;
  }
}

@media (min-width: 80rem) {
  body[data-page="home"] .about-card {
    min-height: 9.65rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .about-intro .text-arrow { transition: none; }
}
/* === FIN MISSION 1.1 === */

/* === MISSION 4 — NOS SOLUTIONS | propriétaire sectionnel mobile-first === */
body[data-page="home"] .section-solutions {
  position: relative;
  overflow: clip;
  padding-block-start: clamp(2.25rem, 6.8vw, 3.6rem);
  padding-block-end: clamp(1rem, 3.8vw, 1.65rem);
  background:
    radial-gradient(circle at 92% 12%, rgba(219,230,223,.4), transparent 24rem),
    linear-gradient(180deg, #f9f8f3 0%, #f7f6f1 100%);
}
body[data-page="home"] .section-solutions > .shell {
  width: min(calc(100% - 1.5rem), 100rem);
}
body[data-page="home"] .section-solutions .section-heading {
  margin-bottom: clamp(1.45rem, 4.8vw, 2.5rem);
  gap: clamp(1rem, 4vw, 2.25rem);
  align-items: end;
}
body[data-page="home"] .section-solutions .section-heading h2 {
  max-width: 19ch;
  font-size: clamp(1.9rem, 7.9vw, 2.65rem);
  line-height: 1.06;
  text-wrap: balance;
}
body[data-page="home"] .section-solutions .section-heading > p {
  max-width: 38rem;
  margin: 0;
  color: var(--muted);
  font-size: clamp(.9rem, 3.4vw, 1rem);
  line-height: 1.7;
  text-wrap: pretty;
}
body[data-page="home"] .solution-grid {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(87%, 1fr);
  align-items: stretch;
  gap: .85rem;
  margin: 0;
  padding: .1rem 1.25rem .45rem .05rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: .05rem 1.25rem;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
body[data-page="home"] .solution-grid::-webkit-scrollbar { display: none; }
body[data-page="home"] .solution-card {
  min-width: 0;
  min-height: 0;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: auto 1fr;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  border-radius: clamp(1.25rem, 5vw, 1.65rem);
  background: rgba(255,255,255,.94);
  box-shadow: 0 .8rem 2.2rem rgba(31,55,46,.065);
  transform: none;
}
body[data-page="home"] .solution-card:focus-visible,
body[data-page="home"] .solution-card:focus-within {
  border-color: rgba(64,95,80,.42);
  box-shadow: 0 0 0 3px rgba(64,95,80,.13), 0 1rem 2.5rem rgba(31,55,46,.1);
}
body[data-page="home"] .solution-media {
  min-height: 0;
  aspect-ratio: 1.62 / 1;
}
body[data-page="home"] .solution-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}
body[data-page="home"] .solution-content {
  min-width: 0;
  padding: clamp(1rem, 4.15vw, 1.28rem);
  align-items: flex-start;
}
body[data-page="home"] .solution-label {
  margin-bottom: .48rem;
  font-size: clamp(.58rem, 2.35vw, .67rem);
  letter-spacing: .16em;
}
body[data-page="home"] .solution-content h3 {
  font-size: clamp(1.25rem, 5.2vw, 1.55rem);
  line-height: 1.18;
  text-wrap: balance;
}
body[data-page="home"] .solution-content > p {
  margin-top: .48rem;
  font-size: clamp(.8rem, 3.15vw, .9rem);
  line-height: 1.55;
  text-wrap: pretty;
}
body[data-page="home"] .solution-content ul {
  margin: .62rem 0 .65rem;
  gap: .38rem;
}
body[data-page="home"] .solution-content li {
  padding-inline-start: .95rem;
  font-size: clamp(.74rem, 3vw, .85rem);
  line-height: 1.4;
}
body[data-page="home"] .solution-content li::before {
  inset-inline-start: 0;
  left: 0;
  top: .55em;
}
[dir="rtl"] body[data-page="home"] .solution-content li {
  padding-left: 0;
  padding-right: .95rem;
}
[dir="rtl"] body[data-page="home"] .solution-content li::before {
  left: auto;
  right: 0;
}
body[data-page="home"] .solution-content a {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding-block: .25rem;
  font-size: clamp(.78rem, 3vw, .87rem);
  line-height: 1.2;
}
body[data-page="home"] .solution-content a span { margin: 0; }
[dir="rtl"] body[data-page="home"] .solution-content { align-items: flex-start; text-align: start; }
[dir="rtl"] body[data-page="home"] .solution-content a span { transform: scaleX(-1); }
[dir="rtl"] body[data-page="home"] .solution-content a:hover span { transform: translateX(-.25rem) scaleX(-1); }

@media (min-width: 40rem) {
  body[data-page="home"] .section-solutions {
    padding-block-end: clamp(3.15rem, 8vw, 4.75rem);
  }
  body[data-page="home"] .section-solutions > .shell { width: min(calc(100% - 2.5rem), 100rem); }
  body[data-page="home"] .solution-grid {
    grid-auto-columns: minmax(72%, 1fr);
    gap: 1rem;
    padding-block-start: .15rem;
    padding-block-end: 1rem;
    padding-inline-end: 1.6rem;
    scroll-padding-inline-end: 1.6rem;
  }
  body[data-page="home"] .solution-card { grid-template-columns: minmax(14rem, 38%) minmax(0, 1fr); grid-template-rows: none; }
  body[data-page="home"] .solution-media { aspect-ratio: auto; min-height: 100%; }
  body[data-page="home"] .solution-content { padding: clamp(1.5rem, 3vw, 2rem); }
  body[data-page="home"] .solution-label { margin-bottom: .7rem; }
  body[data-page="home"] .solution-content > p { margin-top: .62rem; line-height: 1.62; }
  body[data-page="home"] .solution-content ul { margin: .82rem 0 .9rem; gap: .48rem; }
  body[data-page="home"] .solution-content a { min-height: 2.5rem; padding-block: .4rem; }
}

@media (min-width: 56.25rem) {
  body[data-page="home"] .section-solutions {
    padding-block-start: clamp(2.9rem, 3.1vw, 3.9rem);
    padding-block-end: clamp(3.2rem, 3.5vw, 4.35rem);
  }
  body[data-page="home"] .section-solutions .section-heading {
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr);
    gap: clamp(3rem, 6vw, 7rem);
  }
  body[data-page="home"] .section-solutions .section-heading h2 {
    max-width: 19ch;
    font-size: clamp(2.7rem, 2.9vw, 3.55rem);
  }
  body[data-page="home"] .solution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-auto-rows: 1fr;
    gap: clamp(1rem, 1.35vw, 1.35rem);
    padding: .15rem 0 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  body[data-page="home"] .solution-card {
    grid-template-columns: minmax(15rem, 40%) minmax(0, 1fr);
    grid-template-rows: none;
    scroll-snap-align: none;
    transform: perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
  }
  body[data-page="home"] .solution-media { min-height: 100%; aspect-ratio: auto; }
  body[data-page="home"] .solution-content { padding: clamp(1.4rem, 1.65vw, 1.85rem); }
  body[data-page="home"] .solution-content h3 { font-size: clamp(1.25rem, 1.45vw, 1.55rem); }
  body[data-page="home"] .solution-content > p { font-size: clamp(.8rem, .85vw, .92rem); }
  body[data-page="home"] .solution-content li { font-size: clamp(.73rem, .72vw, .82rem); }
}

@media (min-width: 80rem) {
  body[data-page="home"] .section-solutions > .shell { width: min(calc(100% - 5rem), 100rem); }
  body[data-page="home"] .section-solutions .section-heading { margin-bottom: clamp(2rem, 2.4vw, 2.85rem); }
  body[data-page="home"] .solution-card { grid-template-columns: minmax(17rem, 41%) minmax(0, 1fr); }
}

@media (hover: hover) and (pointer: fine) {
  body[data-page="home"] .solution-card:hover { transform: perspective(1100px) translateY(-.28rem) rotateX(var(--rx)) rotateY(var(--ry)); }
  body[data-page="home"] .solution-content a:hover span { transform: translateX(.3rem); }
  [dir="rtl"] body[data-page="home"] .solution-content a:hover span { transform: translateX(-.3rem) scaleX(-1); }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .solution-card,
  body[data-page="home"] .solution-media img,
  body[data-page="home"] .solution-content a span { transition: none !important; transform: none !important; }
  [dir="rtl"] body[data-page="home"] .solution-content a span { transform: scaleX(-1) !important; }
}
/* === FIN MISSION 4 === */

/* === MISSION 5 — NOTRE MÉTHODE COMPACTE SANS RAIL | mobile-first === */
body[data-page="home"] .section-process {
  padding-block: clamp(2.5rem, 8vw, 3.5rem);
}
body[data-page="home"] .process-shell {
  gap: clamp(1.75rem, 5vw, 2.5rem);
}
body[data-page="home"] .process-heading {
  padding-top: 0;
}
body[data-page="home"] .process-heading > p:last-child {
  margin-top: .85rem;
}
body[data-page="home"] .process-tab {
  padding: .75rem .3rem;
}
body[data-page="home"] .process-panel {
  min-height: 19rem;
  padding: clamp(1.25rem, 4vw, 1.6rem);
}
body[data-page="home"] .process-progress {
  gap: .75rem;
}
body[data-page="home"] .process-kicker {
  margin-top: 1.6rem;
}
body[data-page="home"] .process-panel h3 {
  margin-top: .4rem;
}
body[data-page="home"] .process-panel > p:not(.process-kicker) {
  margin-top: .65rem;
}
body[data-page="home"] .process-output {
  margin-top: 1.5rem;
  padding-top: 1rem;
}
body[data-page="home"] .section-process + .section-lab {
  padding-top: clamp(2.25rem, 6vw, 3.5rem);
}

@media (min-width: 40rem) {
  body[data-page="home"] .process-panel {
    min-height: 18rem;
  }
}

@media (min-width: 68.8125rem) {
  body[data-page="home"] .section-process {
    padding-block: 4.625rem;
  }
  body[data-page="home"] .process-shell {
    gap: 4rem;
  }
  body[data-page="home"] .process-heading {
    padding-top: .5rem;
  }
  body[data-page="home"] .process-heading > p:last-child {
    margin-top: 1.125rem;
  }
  body[data-page="home"] .process-tab {
    padding: 1rem .5rem;
  }
  body[data-page="home"] .process-panel {
    min-height: 20rem;
    padding: 2.125rem;
  }
  body[data-page="home"] .process-progress {
    gap: 1.125rem;
  }
  body[data-page="home"] .process-kicker {
    margin-top: 2.5rem;
  }
  body[data-page="home"] .process-panel h3 {
    margin-top: .5rem;
  }
  body[data-page="home"] .process-panel > p:not(.process-kicker) {
    margin-top: .875rem;
  }
  body[data-page="home"] .process-output {
    margin-top: auto;
    padding-top: 1.5rem;
  }
  body[data-page="home"] .section-process + .section-lab {
    padding-top: 4.75rem;
  }
}
/* === FIN MISSION 5 === */

/* === MISSION 6 — LABORATOIRE + MINIMUM COMMERCIAL + PRÉPARER VOTRE DEMANDE | mobile-first === */
body[data-page="home"] .section-lab {
  padding-block: clamp(2.35rem, 7vw, 3.15rem);
}
body[data-page="home"] .section-lab .lab-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.4rem, 5vw, 2rem);
  align-items: start;
}
body[data-page="home"] .section-lab .lab-media {
  overflow: hidden;
  aspect-ratio: 1.34 / 1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: clamp(1.15rem, 4vw, 1.65rem);
  background: rgba(255,255,255,.045);
  box-shadow: 0 1.2rem 3rem rgba(8,25,18,.2);
}
body[data-page="home"] .section-lab .lab-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 46%;
  filter: saturate(.78) contrast(1.025);
}
body[data-page="home"] .section-lab .lab-copy h2 {
  max-width: 15ch;
  font-size: clamp(2.25rem, 10vw, 3.1rem);
}
body[data-page="home"] .section-lab .lab-copy > p:not(.eyebrow) {
  margin-top: .85rem;
  line-height: 1.65;
}
body[data-page="home"] .section-lab .lab-points {
  margin-block: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
body[data-page="home"] .section-lab .lab-points > div {
  min-height: 5.8rem;
  padding: .9rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 1rem;
}
body[data-page="home"] .section-lab .lab-points strong {
  font-size: clamp(.91rem, 3.8vw, 1.02rem);
  line-height: 1.35;
}
body[data-page="home"] .section-lab .lab-points span {
  margin-top: .3rem;
  font-size: clamp(.75rem, 3.2vw, .86rem);
  line-height: 1.45;
}
body[data-page="home"] .section-lab .button-light {
  min-height: 3.25rem;
  padding-block: .75rem;
}

body[data-page="home"] .section-launch {
  padding-block: clamp(2rem, 6vw, 2.75rem);
}
body[data-page="home"] .section-launch .launch-band {
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: .9rem 1rem;
  padding: 1.1rem;
  border-radius: 1.35rem;
}
body[data-page="home"] .section-launch .launch-number {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 1rem;
}
body[data-page="home"] .section-launch .launch-number strong {
  font-size: 2.05rem;
}
body[data-page="home"] .section-launch .launch-number span {
  margin-top: .2rem;
  font-size: .48rem;
}
body[data-page="home"] .section-launch .launch-copy h2 {
  font-size: clamp(1.75rem, 7.7vw, 2.25rem);
  line-height: 1.08;
}
body[data-page="home"] .section-launch .launch-copy > p:last-child {
  margin-top: .55rem;
  font-size: clamp(.82rem, 3.5vw, .94rem);
  line-height: 1.55;
}
body[data-page="home"] .section-launch .launch-conditions {
  grid-column: 1 / -1;
  gap: .45rem;
}
body[data-page="home"] .section-launch .launch-conditions span {
  padding: .48rem .72rem;
  font-size: .68rem;
}
body[data-page="home"] .section-launch .launch-band > .button {
  grid-column: 1 / -1;
  grid-row: auto;
  min-height: 3.25rem;
  padding-block: .72rem;
}

body[data-page="home"] .section-brief {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.8rem, 8vw, 4rem);
  background:
    radial-gradient(circle at 88% 8%, rgba(219,230,223,.58), transparent 28rem),
    linear-gradient(180deg, #fff 0%, #f8faf8 100%);
}
body[data-page="home"] .section-brief .brief-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.6rem, 5vw, 2.25rem);
  align-items: start;
}
body[data-page="home"] .section-brief .brief-intro h2 {
  max-width: 14ch;
  font-size: clamp(2.25rem, 10vw, 3.2rem);
  line-height: 1.06;
}
body[data-page="home"] .section-brief .brief-intro > p:not(.eyebrow) {
  max-width: 38rem;
  margin: .95rem 0 0;
  font-size: clamp(.96rem, 4vw, 1.08rem);
  line-height: 1.65;
}
body[data-page="home"] .section-brief .brief-cards {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.55rem;
}
body[data-page="home"] .section-brief .brief-card {
  position: relative;
  min-height: 0;
  padding: 1rem;
  display: grid;
  grid-template-columns: 3.45rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: .9rem;
  align-items: center;
  border-radius: 1.2rem;
  background: rgba(255,255,255,.82);
  box-shadow: 0 .8rem 2.2rem rgba(31,55,46,.055);
  transform: none;
}
body[data-page="home"] .section-brief .brief-card:hover {
  transform: none;
}
body[data-page="home"] .section-brief .brief-card__icon {
  width: 3.45rem;
  height: 3.45rem;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  color: var(--brand);
  background: var(--sage);
}
body[data-page="home"] .section-brief .brief-card__icon svg {
  width: 1.72rem;
  height: 1.72rem;
  overflow: visible;
}
body[data-page="home"] .section-brief .brief-card h3 {
  margin-top: 0;
  font-size: clamp(1.08rem, 4.6vw, 1.3rem);
  line-height: 1.25;
}
body[data-page="home"] .section-brief .brief-card p {
  margin-top: .28rem;
  font-size: clamp(.83rem, 3.6vw, .96rem);
  line-height: 1.5;
}
body[data-page="home"] .section-brief .brief-card:not(:last-child)::after {
  content: "↓";
  position: absolute;
  inset-inline-start: calc(50% - .82rem);
  bottom: -1.62rem;
  width: 1.64rem;
  height: 1.64rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--brand);
  background: #fff;
  font-size: .78rem;
  line-height: 1;
  z-index: 2;
}

@media (min-width: 40rem) {
  body[data-page="home"] .section-lab .lab-grid {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(2rem, 5vw, 3.5rem);
    align-items: center;
  }
  body[data-page="home"] .section-lab .lab-media {
    aspect-ratio: 1.05 / 1;
  }
  body[data-page="home"] .section-lab .lab-copy h2 {
    font-size: clamp(2.45rem, 5.4vw, 3.65rem);
  }
  body[data-page="home"] .section-lab .lab-points > div {
    min-height: 5.5rem;
  }
  body[data-page="home"] .section-lab .button-light {
    width: auto;
    min-width: 14rem;
  }

  body[data-page="home"] .section-launch .launch-band {
    grid-template-columns: 5.25rem minmax(0, 1fr) auto;
    gap: .9rem 1.25rem;
    padding: 1.3rem 1.4rem;
  }
  body[data-page="home"] .section-launch .launch-number {
    width: 5.25rem;
    height: 5.25rem;
    grid-row: 1 / 3;
  }
  body[data-page="home"] .section-launch .launch-number strong {
    font-size: 2.65rem;
  }
  body[data-page="home"] .section-launch .launch-copy h2 {
    font-size: clamp(2rem, 3.8vw, 2.7rem);
  }
  body[data-page="home"] .section-launch .launch-conditions {
    grid-column: 2;
  }
  body[data-page="home"] .section-launch .launch-band > .button {
    width: auto;
    min-width: 13.5rem;
    grid-column: 3;
    grid-row: 1 / 3;
  }

  body[data-page="home"] .section-brief .brief-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    column-gap: clamp(2rem, 5vw, 5rem);
    align-items: end;
  }
  body[data-page="home"] .section-brief .brief-intro .eyebrow,
  body[data-page="home"] .section-brief .brief-intro h2 {
    grid-column: 1;
  }
  body[data-page="home"] .section-brief .brief-intro > p:not(.eyebrow) {
    grid-column: 2;
    grid-row: 2;
    margin: 0 0 .25rem;
  }
  body[data-page="home"] .section-brief .brief-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
  body[data-page="home"] .section-brief .brief-card {
    min-height: 12.5rem;
    padding: 1.35rem;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    align-content: start;
  }
  body[data-page="home"] .section-brief .brief-card__icon {
    width: 3rem;
    height: 3rem;
    grid-row: auto;
  }
  body[data-page="home"] .section-brief .brief-card__icon svg {
    width: 1.55rem;
    height: 1.55rem;
  }
  body[data-page="home"] .section-brief .brief-card h3 {
    align-self: center;
  }
  body[data-page="home"] .section-brief .brief-card p {
    grid-column: 1 / -1;
    margin-top: 1rem;
  }
  body[data-page="home"] .section-brief .brief-card:not(:last-child)::after {
    content: "→";
    inset-inline-start: auto;
    inset-inline-end: -.95rem;
    top: 50%;
    bottom: auto;
    width: 1.9rem;
    height: 1.9rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--brand);
    background: #fff;
    font-size: .9rem;
    transform: translateY(-50%);
    z-index: 2;
  }
  [dir="rtl"] body[data-page="home"] .section-brief .brief-card:not(:last-child)::after {
    content: "←";
  }
}

@media (min-width: 68.8125rem) {
  body[data-page="home"] .section-lab {
    padding-block: 3.75rem;
  }
  body[data-page="home"] .section-lab .lab-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4rem;
  }
  body[data-page="home"] .section-lab .lab-media {
    aspect-ratio: 1.32 / 1;
  }
  body[data-page="home"] .section-lab .lab-copy h2 {
    font-size: clamp(3rem, 3.15vw, 3.75rem);
  }
  body[data-page="home"] .section-lab .lab-points {
    margin-block: 1.5rem;
    gap: .75rem;
  }

  body[data-page="home"] .section-launch {
    padding-block: 3.5rem;
  }
  body[data-page="home"] .section-launch .launch-band {
    grid-template-columns: 5.5rem minmax(0, 1.3fr) minmax(13rem, .75fr) auto;
    gap: 1.5rem;
    padding: 1.35rem 1.55rem;
  }
  body[data-page="home"] .section-launch .launch-number {
    width: 5.5rem;
    height: 5.5rem;
    grid-row: 1;
  }
  body[data-page="home"] .section-launch .launch-copy h2 {
    font-size: 2.25rem;
  }
  body[data-page="home"] .section-launch .launch-conditions {
    grid-column: 3;
  }
  body[data-page="home"] .section-launch .launch-band > .button {
    grid-column: 4;
    grid-row: 1;
  }

  body[data-page="home"] .section-brief {
    padding-block: 3.75rem;
  }
  body[data-page="home"] .section-brief .brief-layout {
    gap: 2.6rem;
  }
  body[data-page="home"] .section-brief .brief-intro h2 {
    max-width: 18ch;
    font-size: clamp(3rem, 3.1vw, 3.8rem);
  }
  body[data-page="home"] .section-brief .brief-card {
    min-height: 11.75rem;
    padding: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .section-brief .brief-card {
    transition: none !important;
  }
}
/* === FIN MISSION 6 === */

/* === MISSION 7 — FAQ COMPACTE + PAGE PROJET DÉDIÉE | mobile-first === */
body[data-page="home"] .section-faq {
  padding-block: 2.75rem;
}
body[data-page="home"] .section-faq .faq-layout {
  gap: 1.5rem;
}
body[data-page="home"] .section-faq .faq-intro .eyebrow {
  margin-bottom: .65rem;
}
body[data-page="home"] .section-faq .faq-intro h2 {
  max-width: 12ch;
  font-size: clamp(2.35rem, 10vw, 3.1rem);
  line-height: 1.06;
}
body[data-page="home"] .section-faq .faq-intro > p:not(.eyebrow) {
  max-width: 35rem;
  margin: .85rem 0 0;
  font-size: clamp(.94rem, 3.8vw, 1.04rem);
  line-height: 1.6;
}
body[data-page="home"] .section-faq .faq-list {
  padding: .15rem 1.1rem;
  border-radius: 1.35rem;
  box-shadow: 0 .8rem 2.2rem rgba(31,55,46,.045);
}
body[data-page="home"] .section-faq .faq-list summary {
  min-height: 3.45rem;
  padding: .95rem 2.2rem .95rem 0;
  display: flex;
  align-items: center;
  font-size: clamp(.95rem, 4vw, 1.05rem);
  line-height: 1.35;
}
body[data-page="home"] .section-faq .faq-list summary::after {
  top: 50%;
  right: .1rem;
  transform: translateY(-50%);
}
body[data-page="home"] .section-faq .faq-list p {
  padding: 0 2rem 1rem 0;
  font-size: .9rem;
  line-height: 1.58;
}
body.rtl[data-page="home"] .section-faq .faq-list summary {
  padding-right: 0;
  padding-left: 2.2rem;
}
body.rtl[data-page="home"] .section-faq .faq-list summary::after {
  right: auto;
  left: .1rem;
}
body.rtl[data-page="home"] .section-faq .faq-list p {
  padding-right: 0;
  padding-left: 2rem;
}

body[data-page="project"] {
  background: #173a31;
}
body[data-page="project"] .section-project--standalone {
  min-height: min(68rem, calc(100vh - 7rem));
  padding-block: 2.75rem 3.25rem;
}
body[data-page="project"] .section-project--standalone .project-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
}
body[data-page="project"] .section-project--standalone .project-copy {
  position: static;
  max-width: 43rem;
  padding-top: 0;
}
body[data-page="project"] .section-project--standalone .project-copy .eyebrow {
  margin-bottom: .75rem;
}
body[data-page="project"] .section-project--standalone .project-copy h2 {
  max-width: 13ch;
  font-size: clamp(2.4rem, 10.5vw, 3.45rem);
  line-height: 1.05;
}
body[data-page="project"] .section-project--standalone .project-copy > p:not(.eyebrow) {
  max-width: 42rem;
  margin-top: 1rem;
  font-size: clamp(.95rem, 3.8vw, 1.08rem);
  line-height: 1.65;
}
body[data-page="project"] .section-project--standalone .contact-lines {
  margin-top: 1.25rem;
  gap: .35rem;
}
body[data-page="project"] .section-project--standalone .contact-lines a {
  font-size: .92rem;
}
body[data-page="project"] .section-project--standalone .project-form {
  padding: 1.15rem;
  border-radius: 1.4rem;
}
body[data-page="project"] .section-project--standalone .form-grid {
  gap: .85rem;
}
body[data-page="project"] .section-project--standalone .form-grid label {
  gap: .38rem;
}
body[data-page="project"] .section-project--standalone .form-grid label > span {
  font-size: .68rem;
}
body[data-page="project"] .section-project--standalone input,
body[data-page="project"] .section-project--standalone select,
body[data-page="project"] .section-project--standalone textarea {
  min-height: 3.35rem;
  padding: .8rem .9rem;
  border-radius: .85rem;
}
body[data-page="project"] .section-project--standalone textarea {
  min-height: 8.75rem;
}
body[data-page="project"] .section-project--standalone .form-footer {
  margin-top: 1rem;
  gap: .9rem;
}
body[data-page="project"] .section-project--standalone .form-footer p {
  font-size: .76rem;
  line-height: 1.5;
}
body[data-page="project"] .section-project--standalone .form-submit {
  min-height: 3.35rem;
}
body.rtl[data-page="project"] .section-project--standalone .contact-lines a,
body.rtl[data-page="project"] .section-project--standalone input[name="phone"],
body.rtl[data-page="project"] .section-project--standalone input[name="email"] {
  direction: ltr;
  unicode-bidi: isolate;
}
body.rtl[data-page="project"] .section-project--standalone input[name="phone"],
body.rtl[data-page="project"] .section-project--standalone input[name="email"] {
  text-align: left;
}

@media (min-width: 40rem) {
  body[data-page="home"] .section-faq {
    padding-block: 3.25rem;
  }
  body[data-page="home"] .section-faq .faq-layout {
    gap: 2rem;
  }
  body[data-page="home"] .section-faq .faq-list {
    padding-inline: 1.5rem;
  }
  body[data-page="project"] .section-project--standalone {
    padding-block: 3.5rem 4rem;
  }
  body[data-page="project"] .section-project--standalone .project-form {
    padding: 1.6rem;
  }
  body[data-page="project"] .section-project--standalone .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="project"] .section-project--standalone .form-grid label.full {
    grid-column: 1 / -1;
  }
  body[data-page="project"] .section-project--standalone .form-footer {
    align-items: center;
    flex-direction: row;
  }
  body[data-page="project"] .section-project--standalone .form-submit {
    width: auto;
    min-width: 15rem;
  }
  body[data-page="project"] .section-project--standalone .contact-lines {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
  }
}

@media (min-width: 68.8125rem) {
  body[data-page="home"] .section-faq {
    padding-block: 3.75rem;
  }
  body[data-page="home"] .section-faq .faq-layout {
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    gap: 3.25rem;
  }
  body[data-page="home"] .section-faq .faq-intro h2 {
    max-width: 13ch;
    font-size: clamp(3rem, 3.1vw, 3.7rem);
  }
  body[data-page="home"] .section-faq .faq-list summary {
    min-height: 3.7rem;
    font-size: 1rem;
  }
  body[data-page="project"] .section-project--standalone {
    min-height: calc(100vh - 7.5rem);
    padding-block: 4.25rem 4.75rem;
  }
  body[data-page="project"] .section-project--standalone .project-layout {
    grid-template-columns: minmax(20rem, .72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 5vw, 5.25rem);
  }
  body[data-page="project"] .section-project--standalone .project-copy {
    position: sticky;
    top: 8.5rem;
    padding-top: .5rem;
  }
  body[data-page="project"] .section-project--standalone .project-copy h2 {
    font-size: clamp(3.25rem, 3.6vw, 4.2rem);
  }
  body[data-page="project"] .section-project--standalone .project-form {
    padding: 1.8rem;
  }
}
/* === FIN MISSION 7 === */


/* =========================================================
   COSMOYA — MISSION 8
   Bandeau final + footer public : finition et compactage.
   Périmètre visuel uniquement, contenus et liens conservés.
   ========================================================= */

.v2-footer__statement {
  min-height: 100px;
  gap: clamp(24px, 4vw, 56px);
}

.v2-footer__statement p {
  max-width: 760px;
  font-size: clamp(24px, 2.35vw, 36px);
  line-height: 1.12;
}

.v2-footer__statement a {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid rgba(22, 53, 45, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .34);
  box-shadow: 0 10px 28px rgba(22, 53, 45, .06);
  transition: color var(--cosmoya-transition), background var(--cosmoya-transition), border-color var(--cosmoya-transition), transform var(--cosmoya-transition);
}

.v2-footer__statement a:hover {
  color: #fff;
  border-color: var(--cosmoya-green);
  background: var(--cosmoya-green);
  transform: translateY(-1px);
}

.v2-footer__grid {
  grid-template-columns: 1.48fr .82fr .92fr 1fr;
  gap: clamp(32px, 3.7vw, 52px);
  padding-block: 54px 40px;
}

.v2-footer__brand img {
  width: 210px;
}

.v2-footer__brand > p {
  margin: 20px 0;
  font-size: 12.5px;
  line-height: 1.7;
}

.v2-footer__chips {
  gap: 7px;
}

.v2-footer__chips span {
  padding: 6px 9px;
}

.v2-footer__column {
  min-width: 0;
  gap: 10px;
}

.v2-footer__column h2 {
  margin: 2px 0 7px;
}

.v2-footer__column a {
  line-height: 1.42;
}

.v2-footer__contact .v2-footer__whatsapp {
  margin-top: 5px;
}

.v2-footer__bottom {
  padding-block: 17px 19px;
}

@media (max-width: 980px) {
  .v2-footer__grid {
    gap: 30px 24px;
    padding-block: 46px 34px;
  }
}

@media (max-width: 720px) {
  .v2-footer__statement {
    gap: 17px;
    padding-block: 27px 29px;
  }

  .v2-footer__statement p {
    max-width: 12.5ch;
    font-size: clamp(28px, 8.2vw, 33px);
    line-height: 1.13;
  }

  .v2-footer__statement a {
    min-height: 40px;
    padding: 9px 14px;
    font-size: 12px;
  }

  .v2-footer__main::before {
    width: 330px;
    height: 330px;
    inset-inline-end: -150px;
    box-shadow: 0 0 0 54px rgba(255,255,255,.018), 0 0 0 108px rgba(255,255,255,.012);
  }

  .v2-footer__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px 18px;
    padding-block: 38px 28px;
  }

  .v2-footer__brand {
    grid-column: 1 / -1;
  }

  .v2-footer__brand img {
    width: 184px;
  }

  .v2-footer__brand > p {
    max-width: 34rem;
    margin: 15px 0;
    font-size: 12px;
    line-height: 1.62;
  }

  .v2-footer__chips span {
    padding: 5px 8px;
    font-size: 8px;
  }

  .v2-footer__column {
    gap: 8px;
  }

  .v2-footer__column h2 {
    margin: 0 0 5px;
    font-size: 9px;
  }

  .v2-footer__column a {
    max-width: 100%;
    font-size: 11.5px;
    line-height: 1.4;
    overflow-wrap: break-word;
  }

  .v2-footer__contact {
    grid-column: 1 / -1;
    padding-top: 21px;
    border-top: 1px solid rgba(255,255,255,.1);
  }

  .v2-footer__contact .v2-footer__whatsapp {
    margin-top: 3px;
    padding: 9px 12px;
  }

  .v2-footer__bottom {
    gap: 5px;
    padding-block: 15px 20px;
    font-size: 9.5px;
  }
}

@media (max-width: 430px) {
  .v2-footer__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 26px 16px;
  }

  .v2-footer__brand,
  .v2-footer__contact {
    grid-column: 1 / -1;
  }
}

@media (max-width: 370px) {
  .v2-footer__grid {
    gap: 24px 13px;
  }

  .v2-footer__column a {
    font-size: 11px;
  }
}

[dir="rtl"] .v2-footer__contact a[href^="tel:"],
[dir="rtl"] .v2-footer__contact a[href^="mailto:"] {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: end;
}

/* === FIN MISSION 8 === */

/* === COSMOYA — MISSION 10 · HEADER FIXE GLOBAL === */
/* Functional navigation improvement only. The approved header composition stays unchanged. */
:root { --cosmoya-fixed-header-height: 107px; }

#site-header-root {
  height: var(--cosmoya-fixed-header-height);
}

.v2-header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  width: 100%;
}

html {
  scroll-padding-block-start: calc(var(--cosmoya-fixed-header-height) + 16px);
}

main [id] {
  scroll-margin-block-start: calc(var(--cosmoya-fixed-header-height) + 16px);
}

@media (max-width: 980px) {
  :root { --cosmoya-fixed-header-height: 99px; }
  body .v2-mobile-panel,
  body[data-page="home"] .v2-mobile-panel {
    position: absolute;
    inset-block-start: 100%;
    height: calc(100dvh - var(--cosmoya-fixed-header-height));
  }
}

@media (max-width: 760px) {
  :root { --cosmoya-fixed-header-height: 94px; }
}

/* Home uses the validated compact mobile header dimensions. */
@media (max-width: 980px) {
  body[data-page="home"] { --cosmoya-fixed-header-height: 90px; }
}
@media (max-width: 760px) {
  body[data-page="home"] { --cosmoya-fixed-header-height: 82px; }
}
@media (min-width: 30rem) and (max-width: 760px) {
  body[data-page="home"] { --cosmoya-fixed-header-height: 85px; }
}
@media (min-width: 47.5625rem) and (max-width: 980px) {
  body[data-page="home"] { --cosmoya-fixed-header-height: 90px; }
}

/* === FIN COSMOYA — MISSION 10 === */

/* === COSMOYA — RÉCEPTION DES DEMANDES PUBLIQUES === */
body[data-page="project"] .project-form-honeypot {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
body[data-page="project"] .project-consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .7rem;
  margin-top: 1rem;
  color: #52655c;
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.55;
}
body[data-page="project"] .project-consent input {
  width: 1.1rem;
  min-height: 1.1rem;
  height: 1.1rem;
  margin-top: .12rem;
  padding: 0;
  accent-color: #0f4c36;
}
body[data-page="project"] #form-status[data-state="error"] { color: #9b332d; font-weight: 700; }
body[data-page="project"] #form-status[data-state="success"] { color: #17613f; font-weight: 700; }
body[data-page="project"] .project-form[aria-busy="true"] { opacity: .84; }
body[data-page="project"] .project-form[aria-busy="true"] .form-submit { cursor: progress; }
body[data-page="project"] .project-form .form-submit:disabled { opacity: .62; cursor: wait; }
body[data-page="project"] .project-request-success {
  align-self: center;
  width: 100%;
  padding: clamp(1.6rem, 4vw, 2.5rem);
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 1.6rem;
  color: #173a31;
  background: linear-gradient(145deg, #fff, #f0f5f2);
  box-shadow: 0 28px 70px rgba(13,38,28,.24);
}
body[data-page="project"] .project-request-success[hidden] { display: none; }
body[data-page="project"] .project-request-success__icon {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.25rem;
  border-radius: 50%;
  color: #fff;
  background: #0f4c36;
  font-size: 1.35rem;
  font-weight: 800;
}
body[data-page="project"] .project-request-success .eyebrow { color: #457363; }
body[data-page="project"] .project-request-success h2 {
  max-width: 18ch;
  margin: .6rem 0 0;
  font-family: "Tenor Sans", Georgia, serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 400;
  line-height: 1.08;
}
body[data-page="project"] .project-request-success > p:not(.eyebrow) {
  max-width: 40rem;
  margin-top: 1rem;
  color: #5c6b64;
  line-height: 1.65;
}
body[data-page="project"] .project-request-success dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin: 1.4rem 0;
}
body[data-page="project"] .project-request-success dl div {
  min-width: 0;
  padding: .9rem 1rem;
  border: 1px solid #d6e0da;
  border-radius: .85rem;
  background: rgba(255,255,255,.7);
}
body[data-page="project"] .project-request-success dt {
  color: #65766e;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
body[data-page="project"] .project-request-success dd {
  margin: .35rem 0 0;
  overflow-wrap: anywhere;
  color: #173a31;
  font-weight: 800;
}
body.rtl[data-page="project"] .project-consent { text-align: right; }
@media (max-width: 30rem) {
  body[data-page="project"] .project-request-success dl { grid-template-columns: 1fr; }
  body[data-page="project"] .project-request-success .button { width: 100%; }
}

/* === COSMOYA GLOBAL IMPROVEMENTS — PUBLIC CONVERSION & ACCESSIBILITY === */
.hero-services .hero-service-link {
  width: max-content;
  padding: 8px 11px;
  border: 1px solid rgba(64,95,80,.16);
  border-radius: 999px;
  color: var(--brand-deep);
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-sm);
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.hero-services .hero-service-link:hover,
.hero-services .hero-service-link:focus-visible {
  transform: translateY(-2px);
  border-color: var(--brand-deep);
  background: var(--brand-deep);
  color: #fff;
  outline: none;
}

.section-business-guidance {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(190,151,82,.09), transparent 28%),
    linear-gradient(180deg,#f6f3ec 0%,#f2efe7 100%);
}
.section-business-guidance::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(23,58,49,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(23,58,49,.025) 1px,transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}
.experience-proof-layout {
  position: relative;
  z-index: 1;
  display: block;
}
.experience-proof-intro {
  width: 100%;
  max-width: none;
  margin-bottom: clamp(30px,3.2vw,46px);
}
.experience-proof-intro .eyebrow {
  margin-bottom: 16px;
}
.experience-proof-intro h2 {
  max-width: none;
  margin: 0 0 17px;
  color: var(--brand-deep);
  font-size: clamp(2.45rem,3vw,3.45rem);
  line-height: 1.06;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.experience-proof-intro>p:last-child {
  max-width: 760px;
  margin: 0;
  color: #53675f;
  font-size: clamp(.98rem,1.05vw,1.06rem);
  line-height: 1.72;
}
.experience-proof-panel {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.experience-proof-panel::after {
  display: none;
}
.experience-proof-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: clamp(12px,1.25vw,18px);
}
.experience-proof-item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 308px;
  overflow: hidden;
  padding: clamp(23px,1.7vw,29px);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: clamp(22px,1.8vw,28px);
  background:
    radial-gradient(circle at 94% 5%,rgba(202,165,91,.17),transparent 32%),
    radial-gradient(circle at 8% 100%,rgba(255,255,255,.055),transparent 34%),
    linear-gradient(148deg,#123d32 0%,#1c4a3c 57%,#173b31 100%);
  box-shadow: 0 18px 38px rgba(18,55,45,.13);
}
.experience-proof-item:nth-child(2n),
.experience-proof-item:nth-child(n+3) {
  border: 1px solid rgba(255,255,255,.11);
}
.experience-proof-item::after {
  content: "";
  position: absolute;
  top: -72px;
  right: -72px;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(255,255,255,.014);
  pointer-events: none;
}
.experience-proof-icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 18px;
  border: 1px solid rgba(229,204,148,.34);
  border-radius: 16px;
  background: rgba(255,255,255,.07);
  color: #e5cc94;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.experience-proof-icon svg {
  width: 24px;
  height: 24px;
}
.experience-proof-label {
  position: relative;
  z-index: 1;
  margin: 0 0 9px;
  color: #e5cc94;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.experience-proof-item h3 {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: 0 0 12px;
  color: #fff;
  font-family: "Tenor Sans",Georgia,serif;
  font-size: clamp(1.36rem,1.55vw,1.72rem);
  font-weight: 400;
  line-height: 1.18;
  text-wrap: balance;
}
.experience-proof-item>p:last-child {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: auto 0 0;
  color: rgba(255,255,255,.73);
  font-size: clamp(.82rem,.84vw,.9rem);
  line-height: 1.58;
}
.experience-proof-mobile-hint {
  display: none;
  margin: 14px 0 0;
  color: #53675f;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.experience-proof-signature {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 22px 0 0;
  padding: 0;
  border: 0;
  color: #5d6f68;
  font-size: .78rem;
  letter-spacing: .02em;
}
.experience-proof-signature span {
  width: 34px;
  height: 1px;
  background: #bd9250;
}
body.rtl .experience-proof-item::after {
  right: auto;
  left: -72px;
}
body.rtl .experience-proof-signature {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

@media (min-width: 1280px) {
  .experience-proof-intro h2 {
    white-space: nowrap;
  }
}
@media (max-width: 1180px) {
  .experience-proof-intro h2 {
    max-width: 900px;
    font-size: clamp(2.35rem,4.8vw,3.25rem);
  }
  .experience-proof-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .experience-proof-item {
    min-height: 258px;
  }
}
@media (max-width: 700px) {
  .section-business-guidance {
    padding-top: clamp(30px,8vw,42px);
    padding-bottom: clamp(22px,6vw,30px);
  }
  .experience-proof-intro {
    margin-bottom: 20px;
  }
  .experience-proof-intro .eyebrow {
    margin-bottom: 14px;
    font-size: .66rem;
    letter-spacing: .16em;
  }
  .experience-proof-intro h2 {
    max-width: 100%;
    margin-bottom: 15px;
    font-size: clamp(2rem,8.8vw,2.45rem);
    line-height: 1.07;
    letter-spacing: -.02em;
    white-space: normal;
  }
  .experience-proof-intro>p:last-child {
    max-width: 100%;
    font-size: .94rem;
    line-height: 1.65;
  }
  .experience-proof-panel {
    padding-bottom: 0;
  }
  .experience-proof-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: clamp(238px,78vw,330px);
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 3px 10px 10px 0;
    scroll-padding-inline: 0 10px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .experience-proof-grid::-webkit-scrollbar {
    display: none;
  }
  .experience-proof-item {
    width: auto;
    height: 258px;
    min-height: 258px;
    max-height: 258px;
    padding: 18px;
    border-radius: 22px;
    box-shadow: 0 14px 28px rgba(18,55,45,.14);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .experience-proof-item::after {
    top: -62px;
    right: -62px;
    width: 140px;
    height: 140px;
  }
  body.rtl .experience-proof-item::after {
    right: auto;
    left: -62px;
  }
  .experience-proof-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 11px;
    border-radius: 14px;
  }
  .experience-proof-icon svg {
    width: 21px;
    height: 21px;
  }
  .experience-proof-label {
    margin-bottom: 7px;
    font-size: .58rem;
    letter-spacing: .14em;
  }
  .experience-proof-item h3 {
    margin-bottom: 8px;
    font-size: clamp(1.18rem,5.25vw,1.38rem);
    line-height: 1.16;
  }
  .experience-proof-item>p:last-child {
    margin-top: 0;
    font-size: .76rem;
    line-height: 1.46;
  }
  .experience-proof-mobile-hint {
    display: block;
    margin-top: 10px;
  }
  .experience-proof-signature {
    display: none;
  }
}

.mobile-project-cta { position: fixed; z-index: 80; right: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 18px; border-radius: 999px; background: var(--brand-deep); color: #fff; box-shadow: 0 14px 32px rgba(11,48,38,.28); font-size: 12px; font-weight: 800; text-decoration: none; transition: opacity .2s ease, transform .2s ease; }
.mobile-project-cta:hover,.mobile-project-cta:focus-visible { transform: translateY(-2px); outline: 3px solid rgba(201,166,92,.35); outline-offset: 3px; }
.mobile-project-cta.is-hidden { opacity: 0; pointer-events: none; transform: translateY(12px); }
body.rtl .mobile-project-cta { right: auto; left: 18px; }

.project-stepper { margin-bottom: 24px; }
.project-stepper__bar { height: 5px; overflow: hidden; border-radius: 999px; background: rgba(23,58,49,.12); }
.project-stepper__bar i { display: block; width: 25%; height: 100%; border-radius: inherit; background: var(--accent,#bd9250); transition: width .25s ease; }
.project-stepper ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 14px 0 8px; padding: 0; list-style: none; }
.project-stepper li { display: flex; align-items: center; gap: 8px; min-width: 0; color: #83918c; font-size: 10px; font-weight: 700; }
.project-stepper li span { display: grid; flex: 0 0 auto; place-items: center; width: 25px; height: 25px; border: 1px solid rgba(23,58,49,.18); border-radius: 50%; background: #fff; }
.project-stepper li b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-stepper li.is-active,.project-stepper li.is-complete { color: var(--brand-deep); }
.project-stepper li.is-active span,.project-stepper li.is-complete span { border-color: var(--brand-deep); background: var(--brand-deep); color: #fff; }
.project-stepper>p { margin: 0; color: #60716b; font-size: 11px; }
.project-form-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.project-form-step[hidden] { display: none!important; }
.project-form-step legend { width: 100%; margin: 0 0 6px; color: var(--brand-deep); font-family: "Tenor Sans",Georgia,serif; font-size: clamp(1.55rem,2.6vw,2.15rem); }
.project-form-step__lead { margin: 0 0 22px; color: #64746e; line-height: 1.6; }
.project-step-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.project-step-actions .button { min-width: 150px; justify-content: center; }
.project-form[aria-busy="true"] .project-step-actions { opacity: .65; pointer-events: none; }

@media (max-width: 980px) {
  .business-guidance-grid { grid-template-columns: 1fr; }
  .business-guidance-card { padding: 24px; }
}
@media (max-width: 760px) {
  .hero-services .hero-service-link { flex: 0 0 auto; }
  .mobile-project-cta { right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); left: 12px; justify-content: center; }
  body.rtl .mobile-project-cta { right: 12px; left: 12px; }
  .project-stepper ol { gap: 4px; }
  .project-stepper li { justify-content: center; }
  .project-stepper li b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .project-step-actions { flex-direction: column-reverse; }
  .project-step-actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-services .hero-service-link,.mobile-project-cta,.project-stepper__bar i { transition: none; }
}

/* Global improvements — verified social proof */
.section-social-proof{background:#f4f0e8}.section-social-proof[hidden]{display:none}.social-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.social-proof-card{display:grid;gap:18px;min-height:230px;padding:26px;border:1px solid rgba(12,61,40,.14);border-radius:20px;background:#fff;box-shadow:0 18px 44px rgba(12,61,40,.08)}.social-proof-card img{max-width:150px;max-height:56px;object-fit:contain;object-position:left center}.social-proof-card blockquote{margin:0;font-family:"Tenor Sans",Georgia,serif;font-size:1.35rem;line-height:1.35}.social-proof-card div{display:grid;gap:4px;align-self:end}.social-proof-card span{font-size:.78rem;color:#66766e}@media(max-width:900px){.social-proof-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.social-proof-grid{grid-template-columns:1fr}.social-proof-card{min-height:0}}

/* ===== Conditions commerciales — refonte éditoriale 2026 ===== */
body[data-page="conditions"] { background: #faf8f3; }
body[data-page="conditions"] main { overflow: clip; }

.commercial-conditions-hero {
  position: relative;
  padding: clamp(64px,7vw,104px) 0 clamp(58px,6vw,90px);
  background:
    radial-gradient(circle at 87% 22%,rgba(190,151,77,.13),transparent 23%),
    linear-gradient(118deg,#f7f3ea 0 67%,#e5eee8 67% 100%);
}
.commercial-conditions-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image: linear-gradient(rgba(23,58,49,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,58,49,.035) 1px,transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom,transparent,black 24%,black 78%,transparent);
}
.commercial-conditions-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(280px,.62fr);
  align-items: stretch;
  gap: clamp(38px,5vw,78px);
}
.commercial-conditions-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding-block: 10px;
}
.commercial-conditions-hero__copy .eyebrow { margin-bottom: 18px; }
.commercial-conditions-hero__copy h1 {
  max-width: 820px;
  margin: 0;
  color: var(--brand-deep);
  font-family: "Tenor Sans",Georgia,serif;
  font-size: clamp(3rem,5.2vw,5.6rem);
  font-weight: 400;
  line-height: .98;
  text-wrap: balance;
}
.commercial-conditions-hero__lead {
  max-width: 650px;
  margin: 24px 0 0;
  color: #53675f;
  font-size: clamp(.98rem,1.25vw,1.08rem);
  line-height: 1.75;
}
.commercial-conditions-hero__actions { display: flex; margin-top: 30px; }
.commercial-conditions-hero__actions .button { min-height: 50px; }
.commercial-conditions-hero__actions .button span { transition: transform .2s ease; }
.commercial-conditions-hero__actions .button:hover span { transform: translateX(4px); }
body.rtl .commercial-conditions-hero__actions .button:hover span { transform: translateX(-4px); }

.commercial-conditions-stat {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 300px;
  overflow: hidden;
  padding: clamp(32px,4vw,52px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: clamp(28px,3vw,38px);
  color: #fff;
  background:
    radial-gradient(circle at 90% 0,rgba(229,204,148,.24),transparent 34%),
    linear-gradient(145deg,#123d32,#1d4a3c 58%,#173b31);
  box-shadow: 0 28px 70px rgba(16,48,39,.2);
}
.commercial-conditions-stat__halo {
  position: absolute;
  z-index: -1;
  top: -78px;
  right: -58px;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(255,255,255,.022),0 0 0 60px rgba(255,255,255,.014);
}
body.rtl .commercial-conditions-stat__halo { right: auto; left: -58px; }
.commercial-conditions-stat__value {
  margin: 0;
  color: #fff;
  font-family: "Tenor Sans",Georgia,serif;
  font-size: clamp(4.5rem,7vw,7rem);
  line-height: .8;
}
.commercial-conditions-stat__label {
  margin: 18px 0 0;
  color: #e5cc94;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.commercial-conditions-stat__note {
  max-width: 280px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.72);
  font-size: .86rem;
  line-height: 1.65;
}

.commercial-conditions-nav {
  border-block: 1px solid rgba(23,58,49,.09);
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(14px);
}
.commercial-conditions-nav__inner {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 82px;
}
.commercial-conditions-nav__inner > span {
  margin-inline-end: 6px;
  color: #847f73;
  font-size: .72rem;
  font-weight: 700;
}
.commercial-conditions-nav__link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 15px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease,box-shadow .2s ease;
}
.commercial-conditions-nav__link:hover,
.commercial-conditions-nav__link:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(18,55,45,.1); }
.commercial-conditions-nav__link--before { color: #173a31; background: #e1ece6; }
.commercial-conditions-nav__link--production { color: #876528; background: #f3ead8; }
.commercial-conditions-nav__link--legal { color: #514583; background: #ece9f5; }

.commercial-conditions-content { padding: clamp(72px,7vw,110px) 0; background: #faf8f3; }
.commercial-conditions-groups { display: grid; gap: clamp(62px,7vw,96px); }
.commercial-conditions-group { scroll-margin-top: 112px; }
.commercial-conditions-group__heading {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 24px;
}
.commercial-conditions-group__icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 17px;
}
.commercial-conditions-group__icon svg { width: 25px; height: 25px; }
.commercial-conditions-group--before .commercial-conditions-group__icon { color: #173a31; background: #e1ece6; }
.commercial-conditions-group--production .commercial-conditions-group__icon { color: #876528; background: #f3ead8; }
.commercial-conditions-group--legal .commercial-conditions-group__icon { color: #514583; background: #ece9f5; }
.commercial-conditions-group__heading .eyebrow { margin: 0 0 4px; font-size: .64rem; }
.commercial-conditions-group__heading h2 {
  margin: 0;
  color: var(--brand-deep);
  font-family: "Tenor Sans",Georgia,serif;
  font-size: clamp(2rem,3vw,3rem);
  font-weight: 400;
  line-height: 1.08;
}
.commercial-conditions-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.commercial-condition-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 255px;
  padding: clamp(22px,2vw,28px);
  border: 1px solid #ded9ce;
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 34px rgba(18,55,45,.055);
  transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.commercial-condition-card:hover {
  transform: translateY(-4px);
  border-color: rgba(23,58,49,.25);
  box-shadow: 0 20px 44px rgba(18,55,45,.1);
}
.commercial-condition-card__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 28px;
  border-radius: 14px;
  color: var(--brand-deep);
  background: #edf3ef;
}
.commercial-condition-card__icon svg { width: 21px; height: 21px; }
.commercial-condition-card h3 {
  margin: 0 0 12px;
  color: #173a31;
  font-family: "Manrope",sans-serif;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.38;
  letter-spacing: -.015em;
}
.commercial-condition-card p {
  margin: 0;
  color: #666761;
  font-size: .79rem;
  line-height: 1.68;
}
.commercial-condition-card--accent {
  border-color: #173a31;
  color: #fff;
  background:
    radial-gradient(circle at 88% 5%,rgba(229,204,148,.18),transparent 32%),
    linear-gradient(145deg,#123d32,#1d4a3c 58%,#173b31);
  box-shadow: 0 20px 48px rgba(18,55,45,.18);
}
.commercial-condition-card--accent .commercial-condition-card__icon {
  color: #e5cc94;
  background: rgba(255,255,255,.09);
}
.commercial-condition-card--accent h3 { color: #fff; }
.commercial-condition-card--accent p { color: rgba(255,255,255,.73); }

.commercial-conditions-disclaimer { padding: 0 0 clamp(76px,8vw,118px); background: #faf8f3; }
.commercial-conditions-disclaimer__inner {
  display: grid;
  grid-template-columns: auto minmax(0,1.15fr) minmax(260px,.7fr);
  align-items: center;
  gap: 24px;
  padding: clamp(30px,4vw,48px);
  border: 1px solid rgba(23,58,49,.1);
  border-radius: 28px;
  background: #e8f0eb;
}
.commercial-conditions-disclaimer__icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  color: var(--brand-deep);
  background: #fff;
  box-shadow: 0 12px 28px rgba(18,55,45,.08);
}
.commercial-conditions-disclaimer__icon svg { width: 26px; height: 26px; }
.commercial-conditions-disclaimer .eyebrow { margin: 0 0 7px; }
.commercial-conditions-disclaimer h2 {
  margin: 0;
  color: var(--brand-deep);
  font-family: "Tenor Sans",Georgia,serif;
  font-size: clamp(1.9rem,3vw,3rem);
  font-weight: 400;
  line-height: 1.1;
}
.commercial-conditions-disclaimer__inner > p {
  margin: 0;
  color: #53675f;
  font-size: .88rem;
  line-height: 1.7;
}

body.rtl .commercial-conditions-hero { background: radial-gradient(circle at 13% 22%,rgba(190,151,77,.13),transparent 23%),linear-gradient(242deg,#f7f3ea 0 67%,#e5eee8 67% 100%); }
body.rtl .commercial-conditions-hero__copy h1,
body.rtl .commercial-conditions-group__heading h2,
body.rtl .commercial-conditions-disclaimer h2 { font-family: "Manrope",sans-serif; }
body.rtl .commercial-conditions-stat__label { letter-spacing: 0; }

@media (max-width: 1180px) {
  .commercial-conditions-hero__grid { grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr); gap: 34px; }
  .commercial-conditions-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .commercial-condition-card { min-height: 225px; }
}
@media (max-width: 820px) {
  .commercial-conditions-hero { background: linear-gradient(180deg,#f7f3ea 0 68%,#e5eee8 68% 100%); }
  body.rtl .commercial-conditions-hero { background: linear-gradient(180deg,#f7f3ea 0 68%,#e5eee8 68% 100%); }
  .commercial-conditions-hero__grid { grid-template-columns: 1fr; gap: 28px; }
  .commercial-conditions-stat { min-height: 230px; }
  .commercial-conditions-nav__inner { overflow-x: auto; padding-block: 16px; scrollbar-width: none; }
  .commercial-conditions-nav__inner::-webkit-scrollbar { display: none; }
  .commercial-conditions-nav__inner > span,
  .commercial-conditions-nav__link { flex: 0 0 auto; }
  .commercial-conditions-disclaimer__inner { grid-template-columns: auto 1fr; }
  .commercial-conditions-disclaimer__inner > p { grid-column: 2; }
}
@media (max-width: 620px) {
  .commercial-conditions-hero { padding: 54px 0 48px; }
  .commercial-conditions-hero__copy h1 { font-size: clamp(2.7rem,13vw,4rem); line-height: 1.01; }
  .commercial-conditions-hero__lead { margin-top: 18px; font-size: .94rem; }
  .commercial-conditions-hero__actions { margin-top: 24px; }
  .commercial-conditions-hero__actions .button { width: 100%; justify-content: center; }
  .commercial-conditions-stat { min-height: 190px; padding: 28px; border-radius: 24px; }
  .commercial-conditions-stat__value { font-size: 4.5rem; }
  .commercial-conditions-stat__label { margin-top: 14px; }
  .commercial-conditions-stat__note { margin-top: 12px; font-size: .8rem; }
  .commercial-conditions-nav__inner { min-height: 0; margin-inline: -2px; padding-block: 13px; }
  .commercial-conditions-nav__inner > span { display: none; }
  .commercial-conditions-nav__link { min-height: 34px; padding: 7px 12px; font-size: .68rem; }
  .commercial-conditions-content { padding: 62px 0; }
  .commercial-conditions-groups { gap: 58px; }
  .commercial-conditions-group { scroll-margin-top: 86px; }
  .commercial-conditions-group__heading { align-items: flex-start; margin-bottom: 18px; }
  .commercial-conditions-group__icon { width: 46px; height: 46px; border-radius: 15px; }
  .commercial-conditions-group__heading h2 { font-size: 2rem; }
  .commercial-conditions-grid { grid-template-columns: 1fr; gap: 10px; }
  .commercial-condition-card { min-height: 0; padding: 21px; border-radius: 17px; }
  .commercial-condition-card__icon { width: 38px; height: 38px; margin-bottom: 18px; border-radius: 12px; }
  .commercial-condition-card h3 { margin-bottom: 8px; font-size: .96rem; }
  .commercial-condition-card p { font-size: .77rem; line-height: 1.62; }
  .commercial-conditions-disclaimer { padding-bottom: 76px; }
  .commercial-conditions-disclaimer__inner { grid-template-columns: 1fr; gap: 18px; padding: 26px 22px; border-radius: 22px; }
  .commercial-conditions-disclaimer__icon { width: 50px; height: 50px; }
  .commercial-conditions-disclaimer__inner > p { grid-column: auto; }
  .commercial-conditions-disclaimer h2 { font-size: 2rem; }
}
