@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Inter:wght@400;450;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap");

/* V33 — MILLIARD typography wiring
   Font files are intentionally not packaged in this zip.
   Add the provided .OTF files into assets/fonts/ with the exact filenames below to activate them. */
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD EXTRALIGHT.OTF") format("opentype"); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD LIGHT.OTF") format("opentype"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD BOOK.OTF") format("opentype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD MEDIUM.OTF") format("opentype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD SEMIBOLD.OTF") format("opentype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD BOLD.OTF") format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD EXTRABOLD.OTF") format("opentype"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD HEAVY.OTF") format("opentype"); font-weight: 850; font-style: normal; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD BLACK.OTF") format("opentype"); font-weight: 900; font-style: normal; font-display: swap; }

@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD BOOK ITALIC.OTF") format("opentype"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD MEDIUM ITALIC.OTF") format("opentype"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD SEMIBOLD ITALIC.OTF") format("opentype"); font-weight: 600; font-style: italic; font-display: swap; }
@font-face { font-family: "Milliard"; src: url("assets/fonts/RENE BIEDER  MILLIARD BOLD ITALIC.OTF") format("opentype"); font-weight: 700; font-style: italic; font-display: swap; }

:root {
  --bg: #020409;
  --bg-soft: #06101c;
  --surface: rgba(255,255,255,0.055);
  --surface-2: rgba(255,255,255,0.082);
  --surface-3: rgba(255,255,255,0.12);
  --text: #f6f9ff;
  --text-soft: rgba(246,249,255,0.74);
  --muted: rgba(246,249,255,0.56);
  --faint: rgba(246,249,255,0.40);
  --line: rgba(255,255,255,0.115);
  --line-strong: rgba(255,255,255,0.20);
  --accent: #8aefff;
  --accent-2: #a7b8ff;
  --accent-soft: rgba(138,239,255,0.12);
  --accent-line: rgba(138,239,255,0.34);
  --blue: #9dc9ff;
  --radius-lg: 32px;
  --radius-md: 24px;
  --radius-sm: 16px;
  --container: 1160px;
  --shadow: 0 28px 92px rgba(0,0,0,0.44);
  --ease: cubic-bezier(.2,.8,.2,1);
  --ease-sx: cubic-bezier(.16,1,.3,1);
  --font-display: "Milliard", "Plus Jakarta Sans", "Inter", "SF Pro Display", "Segoe UI Variable Display", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-body: "Milliard", "Inter", "Plus Jakarta Sans", "SF Pro Text", "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", "SF Mono", "Cascadia Code", "JetBrains Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 74% -12%, rgba(91,151,255,.25), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(138,239,255,.13), transparent 28rem),
    radial-gradient(circle at 50% 110%, rgba(77,105,255,.14), transparent 36rem),
    linear-gradient(180deg, #020409 0%, #050914 46%, #020409 100%);
  font-family: var(--font-body);
  letter-spacing: -0.012em;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 120px 120px;
  mask-image: radial-gradient(circle at 50% 18%, rgba(0,0,0,.78), transparent 72%);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(2,4,9,.10), rgba(2,4,9,.42)),
    radial-gradient(circle at 50% 40%, transparent 0, rgba(0,0,0,.40) 70%);
}
.grain {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

img, svg { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 999;
  transform: translateY(-140%);
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--text);
  color: var(--bg);
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }


/* Header */
.site-header {
  position: fixed;
  top: 18px;
  left: 50%;
  z-index: 90;
  width: min(var(--container), calc(100% - 28px));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px 12px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(2,4,9,.66);
  backdrop-filter: blur(24px) saturate(1.35);
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
  transition: border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.site-header.is-scrolled { border-color: var(--line-strong); background: rgba(2,4,9,.88); box-shadow: 0 18px 70px rgba(0,0,0,.42); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; font-weight: 830; letter-spacing: -0.035em; }
.brand-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #020409;
  background: linear-gradient(135deg, #f7fbff 0%, #8aefff 48%, #8ca7ff 100%);
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: -.08em;
  box-shadow: 0 0 36px rgba(138,239,255,.20);
}
.brand-text { font-family: var(--font-display); font-size: .94rem; font-weight: 860; letter-spacing: .02em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 4px; color: rgba(246,249,255,.76); font-size: .92rem; }
.site-nav a { padding: 10px 12px; border-radius: 999px; transition: background .18s ease, color .18s ease; }
.site-nav a:hover { color: var(--text); background: rgba(255,255,255,.07); }
.site-nav .nav-cta { margin-left: 4px; color: #031018; background: var(--accent); font-weight: 820; }
.site-nav .nav-cta:hover { background: #dffbff; color: #031018; }
.nav-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.07); color: var(--text); cursor: pointer; }
.nav-toggle span:not(.sr-only) { display: block; width: 17px; height: 2px; margin: 4px auto; border-radius: 99px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }

/* Typography */
.hero h1, .section-heading h2, .contact-card h2, .proof-copy h2,
.process-card h3, .service-card h3, .lens-card h3, .pricing-card h3, .diagnostic-result h3,
.price-top h3, .system-core strong, .output-dock strong, .brand-text, .brand-mark {
  font-family: var(--font-display);
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: .17em;
  font-size: .72rem;
  font-weight: 860;
}
h1, h2, h3, p {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
p, .lead, .sublead, .section-text p, .diagnostic-copy p, .proof-copy p, .contact-card p,
.process-card p, .service-card p, .lens-card p, .pricing-card p, .diagnostic-result p:not(.result-kicker) {
  overflow-wrap: break-word;
}
.hero h1, .section-heading h2, .contact-card h2, .proof-copy h2,
.process-card h3, .service-card h3, .lens-card h3, .pricing-card h3,
.orbit-card strong, .system-core strong, .output-dock strong {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.hero h1, .section-heading h2, .contact-card h2, .proof-copy h2 {
  margin: 0;
  max-width: 960px;
  font-weight: 760;
  letter-spacing: -.052em;
  font-variation-settings: "wght" 760;
  text-wrap: balance;
}
.hero h1 { max-width: 780px; font-size: clamp(3.1rem, 6.05vw, 5.92rem); line-height: .995; }
.section-heading h2, .contact-card h2, .proof-copy h2 { font-size: clamp(2.35rem, 4.35vw, 4.18rem); line-height: 1.045; }
.lead, .sublead, .section-text p, .diagnostic-copy p, .proof-copy p, .contact-card p, .process-card p, .service-card p, .lens-card p, .pricing-card p, .diagnostic-result p:not(.result-kicker) { color: var(--text-soft); line-height: 1.72; }
.lead { max-width: 690px; margin: 32px 0 0; font-size: clamp(1.05rem, 1.42vw, 1.22rem); letter-spacing: -0.02em; }
.sublead { max-width: 720px; margin: 26px 0 0; font-size: 1.05rem; }

/* Surfaces */
.system-orbit, .orbit-card, .output-dock, .diagnostic-card, .service-card, .process-card, .lens-card, .pricing-card, .contact-card, .proof-item, .hero-notes p, .hero-panel, .diagnostic-principles div {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.082), rgba(255,255,255,.035));
  box-shadow: var(--shadow);
  backdrop-filter: blur(22px) saturate(1.25);
}

/* Hero */
.hero { position: relative; padding: 166px 0 118px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .94fr); align-items: center; gap: clamp(50px, 6.4vw, 92px); }
.hero-copy { min-width: 0; align-self: center; }
.hero-media { display: grid; gap: 22px; align-self: center; min-width: 0; }
.hero-panel { padding: 18px; border-radius: 24px; box-shadow: 0 18px 64px rgba(0,0,0,.28); background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.028)); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 0; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 18px; border: 1px solid transparent; border-radius: 999px; font-weight: 830; letter-spacing: -0.03em; cursor: pointer; transition: transform .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease; }
.button:hover { transform: translateY(-1px); }
.button.primary { color: #031018; background: var(--accent); box-shadow: 0 16px 52px rgba(138,239,255,.16); }
.button.primary:hover { background: #dffbff; }
.button.ghost { color: var(--text); border-color: var(--line-strong); background: rgba(255,255,255,.045); }
.button.ghost:hover { background: rgba(255,255,255,.085); }
.button.full { width: 100%; }
.trust-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.trust-row span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; color: rgba(246,249,255,.66); background: rgba(255,255,255,.035); font-size: .84rem; }
.hero-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: none; margin-top: 14px; }
.hero-notes p { margin: 0; padding: 14px 15px; border-radius: 18px; color: rgba(246,249,255,.76); line-height: 1.5; box-shadow: none; }

.hero-visual { position: relative; display: grid; align-content: center; min-height: 430px; isolation: isolate; }
.orb { position: absolute; z-index: -1; border-radius: 999px; filter: blur(14px); opacity: .58; }
.orb.one { width: 280px; height: 280px; right: 0; top: 4%; background: rgba(91,151,255,.22); }
.orb.two { width: 220px; height: 220px; left: 8%; bottom: 8%; background: rgba(138,239,255,.14); }
.system-orbit {
  position: relative;
  width: min(520px, 100%);
  min-height: 420px;
  justify-self: end;
  border-radius: 32px;
  overflow: hidden;
  transform: none;
  background:
    radial-gradient(circle at 72% 16%, rgba(138,239,255,.18), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
}
.system-orbit::before {
  content: "";
  position: absolute;
  inset: 52px;
  border: 1px solid rgba(138,239,255,.20);
  border-radius: 50%;
  transform: rotate(-18deg) skew(-8deg);
}
.system-orbit::after {
  content: "";
  position: absolute;
  inset: auto 36px 36px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(138,239,255,.45), transparent);
}
.orbit-card { position: absolute; z-index: 2; width: 168px; padding: 16px; border-radius: 22px; box-shadow: 0 22px 62px rgba(0,0,0,.34); }
.orbit-card span, .system-core span, .output-dock span { display: block; color: var(--faint); font-size: .70rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 830; }
.orbit-card strong { display: block; margin-top: 7px; line-height: 1.12; font-size: 1.04rem; letter-spacing: -.035em; }
.orbit-card-a { left: 34px; top: 54px; transform: none; }
.orbit-card-b { right: 28px; top: 96px; transform: none; }
.orbit-card-c { left: 62px; bottom: 112px; transform: none; }
.system-core {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 48%;
  width: 170px;
  height: 170px;
  display: grid;
  place-items: center;
  padding: 28px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(138,239,255,.42);
  border-radius: 42px;
  text-align: center;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.22), transparent 7rem),
    linear-gradient(135deg, rgba(138,239,255,.20), rgba(167,184,255,.08));
  box-shadow: 0 28px 90px rgba(0,0,0,.44), 0 0 70px rgba(138,239,255,.18);
}
.core-ring { position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 34px; }
.system-core strong { display: block; margin-top: 10px; font-size: 1.36rem; line-height: 1.02; letter-spacing: -.05em; }
.output-dock {
  position: absolute;
  z-index: 4;
  left: 30px;
  right: 30px;
  bottom: 26px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 10px;
  border-radius: 24px;
  background: rgba(2,4,9,.54);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.output-dock div { min-width: 0; padding: 12px 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.04); }
.output-dock strong { display: block; margin-top: 6px; font-size: .92rem; line-height: 1.15; letter-spacing: -.035em; }

/* Sections */
.signal-strip { display: none; }
.section { padding: 112px 0; }
#diagnostic { padding-bottom: 50px; }
#diagnostic + .section.compact { padding-top: 0; }
.section.compact { padding: 58px 0 72px; }
.section.soft { background: linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.036)); border-block: 1px solid rgba(255,255,255,.06); }
.split { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1fr); gap: clamp(42px, 8vw, 120px); align-items: start; }
.approach-split { grid-template-columns: minmax(0,1.02fr) minmax(0,.82fr); align-items: center; }
.section-heading.center { text-align: center; display: grid; justify-items: center; }
.section-heading.center h2 { max-width: 860px; }
.section-text p, .diagnostic-copy p, .proof-copy p, .contact-card p { margin: 0; font-size: 1.05rem; }
.section-text p + p { margin-top: 22px; }
.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-top: 64px; }
.process-card, .service-card, .lens-card, .pricing-card { border-radius: var(--radius-md); padding: 25px; }
.step { color: var(--accent); font-weight: 880; font-size: .84rem; }
.process-card h3, .service-card h3, .lens-card h3, .pricing-card h3, .diagnostic-result h3 { margin: 16px 0 12px; letter-spacing: -.045em; line-height: 1.16; }
.process-card p, .service-card p, .lens-card p, .pricing-card p { margin: 0; color: rgba(246,249,255,.68); font-size: .98rem; }
.service-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 16px; margin-top: 58px; }
.service-card { min-height: 240px; }
.service-card:nth-child(1) { grid-column: span 5; }
.service-card:nth-child(2) { grid-column: span 7; }
.service-card:nth-child(3) { grid-column: span 4; }
.service-card:nth-child(4) { grid-column: span 4; }
.service-card:nth-child(5) { grid-column: span 4; }
.service-card:nth-child(6) { grid-column: span 12; min-height: 180px; }
.service-card .icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--accent-line); border-radius: 15px; color: var(--accent); background: var(--accent-soft); font-size: 1.18rem; font-weight: 850; }
.service-card h3, .lens-card h3, .pricing-card h3 { font-size: 1.34rem; }

/* Diagnostic */
.diagnostic-layout { display: grid; grid-template-columns: minmax(310px,.86fr) minmax(560px,1.14fr); gap: clamp(38px, 5vw, 72px); align-items: center; }
.diagnostic-copy h2 { max-width: 660px; }
.diagnostic-principles { display: grid; gap: 12px; margin-top: 34px; }
.diagnostic-principles div { display: grid; grid-template-columns: 42px 1fr; column-gap: 14px; row-gap: 4px; padding: 17px; border-radius: 20px; box-shadow: none; }
.diagnostic-principles span { grid-row: span 2; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 14px; color: var(--accent); background: rgba(138,239,255,.10); font-weight: 860; }
.diagnostic-principles strong { align-self: end; letter-spacing: -.035em; }
.diagnostic-principles p { font-size: .94rem; line-height: 1.5; color: rgba(246,249,255,.64); }
.clean-list { display: none; }
.diagnostic-card { min-width: 0; border-radius: var(--radius-lg); padding: clamp(20px,2.2vw,26px); }
.diagnostic-card-grid { display: grid; grid-template-columns: minmax(270px,1.12fr) minmax(250px,.88fr); gap: 18px; align-items: stretch; }
.diagnostic-fields { min-width: 0; display: grid; gap: 17px; }
.field-group { display: grid; gap: 12px; }
.field-group + .field-group, .diagnostic-result { margin-top: 0; }
label, .label { color: rgba(246,249,255,.84); font-size: .91rem; font-weight: 760; }
select, input[type="text"], textarea { width: 100%; border: 1px solid var(--line); border-radius: 15px; color: var(--text); background: rgba(2,4,9,.66); outline: none; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
select, input[type="text"] { height: 50px; padding: 0 15px; }
textarea { resize: vertical; min-height: 132px; padding: 14px 15px; }
select:focus, input[type="text"]:focus, textarea:focus { border-color: rgba(138,239,255,.55); box-shadow: 0 0 0 4px rgba(138,239,255,.08); background: rgba(2,4,9,.88); }
.check-grid { display: grid; grid-template-columns: repeat(2,minmax(132px,1fr)); gap: 10px; }
.check-grid label { display: grid; grid-template-columns: 17px minmax(0,1fr); align-items: center; gap: 10px; min-height: 50px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 15px; color: rgba(246,249,255,.76); background: rgba(255,255,255,.035); cursor: pointer; font-size: .84rem; line-height: 1.22; letter-spacing: -.018em; overflow: hidden; transition: border-color .18s ease, background .18s ease, color .18s ease; }
.check-grid label:has(input:checked) { color: var(--text); border-color: var(--accent-line); background: var(--accent-soft); }
input[type="checkbox"] { flex: 0 0 auto; width: 17px; height: 17px; accent-color: var(--accent); }
.range-group input[type="range"] { width: 100%; accent-color: var(--accent); }
.range-meta { display: flex; justify-content: space-between; color: var(--faint); font-size: .84rem; }
.range-meta strong { color: var(--text); }
.diagnostic-result { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 22px; border: 1px solid var(--accent-line); border-radius: 24px; background: radial-gradient(circle at 0 0, rgba(138,239,255,.13), transparent 18rem), rgba(255,255,255,.05); }
.diagnostic-result h3 { margin: 0; font-size: clamp(1.22rem, 1.65vw, 1.56rem); line-height: 1.12; }
.diagnostic-result p:not(.result-kicker) { margin: 0; }
.metric-label, .result-kicker, .recommendation-grid span, .price-top span { display: block; color: var(--faint); font-size: .75rem; text-transform: uppercase; letter-spacing: .13em; font-weight: 820; }
.recommendation-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin: auto 0 0; }
.recommendation-grid div { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(2,4,9,.35); }
.recommendation-grid strong { display: block; margin-top: 7px; line-height: 1.25; }

.lens-grid { display: grid; grid-template-columns: 1.25fr .95fr .95fr; gap: 16px; margin-top: 0; }
.lens-card { min-height: 154px; }

/* Offers */
#offres .sublead { margin-bottom: 0; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: stretch; margin-top: 72px; }
.pricing-card { display: flex; min-height: 390px; flex-direction: column; }
.pricing-card > p { margin-top: 20px; }
.pricing-card.featured { border-color: var(--accent-line); background: radial-gradient(circle at 25% 0, rgba(138,239,255,.13), transparent 20rem), linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.044)); }
.price-top { display: grid; gap: 7px; }
.price-top h3 { margin: 0; }
.price-top span { color: var(--accent); }
.pricing-card ul { display: grid; gap: 12px; margin: auto 0 0; padding: 28px 0 0; list-style: none; color: rgba(246,249,255,.72); }
.pricing-card li { position: relative; padding-left: 22px; line-height: 1.45; }
.pricing-card li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 16px rgba(138,239,255,.35); }
.offer-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 24px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--text); background: rgba(255,255,255,.04); font-weight: 800; font-size: .94rem; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.offer-link:hover { transform: translateY(-1px); border-color: var(--accent-line); background: rgba(138,239,255,.10); }
.pricing-card.featured .offer-link { color: #031018; background: var(--accent); border-color: transparent; }

/* Proof / contact */
.proof-section { position: relative; overflow: hidden; padding-bottom: 52px; }
#contact { padding-top: 48px; }
.proof-section::before { content: ""; position: absolute; inset: 16% -20% auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(138,239,255,.22), transparent); transform: rotate(-5deg); }
.proof-layout { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(40px,7vw,96px); align-items: center; }
.proof-stack { display: grid; gap: 12px; }
.proof-item { padding: 23px; border-radius: 22px; }
.proof-item span { display: block; color: var(--faint); font-size: .75rem; text-transform: uppercase; letter-spacing: .13em; font-weight: 820; }
.proof-item strong { display: block; margin-top: 9px; font-size: 1.2rem; line-height: 1.32; letter-spacing: -.035em; }
.contact-card { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(34px,6vw,74px); padding: clamp(26px,5vw,54px); border-radius: var(--radius-lg); }
.contact-card p { margin-top: 26px; }
.contact-form { display: grid; gap: 15px; }
.contact-form label { display: grid; gap: 9px; }
.form-note { margin: 0; color: var(--faint); font-size: .88rem; line-height: 1.45; }
.site-footer { padding: 46px 0 64px; border-top: 1px solid var(--line); color: rgba(246,249,255,.64); }
.footer-grid { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
.footer-brand { margin-bottom: 14px; color: var(--text); }
.site-footer p { max-width: 560px; margin: 0; line-height: 1.58; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.footer-links a { padding: 9px 10px; border-radius: 999px; transition: background .18s ease, color .18s ease; }
.footer-links a:hover { color: var(--text); background: rgba(255,255,255,.07); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: .08s; }
.delay-2 { transition-delay: .15s; }
.delay-3 { transition-delay: .22s; }

@media (max-width: 1180px) {
  .diagnostic-layout { grid-template-columns: 1fr; align-items: start; }
  .diagnostic-card-grid { grid-template-columns: minmax(0,1fr) minmax(280px,.82fr); }
}
@media (max-width: 1020px) {
  .hero-grid, .split, .proof-layout, .contact-card { grid-template-columns: 1fr; }
  .approach-split .section-heading { order: 1; }
  .approach-split .section-text { order: 2; }
  .hero { padding-top: 148px; }
  .hero-visual { min-height: auto; }
  .hero-panel { max-width: none; }
  .system-orbit { justify-self: stretch; width: 100%; transform: none; }
  .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-card:nth-child(n) { grid-column: auto; min-height: 220px; }
  .lens-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .diagnostic-card-grid { grid-template-columns: 1fr; }
  .diagnostic-result { min-height: auto; }
}
@media (max-width: 780px) {
  .container { width: min(100% - 28px, var(--container)); }
  .site-header { top: 12px; width: calc(100% - 20px); }
  .nav-toggle { display: block; }
  .site-nav { position: fixed; left: 10px; right: 10px; top: 72px; display: none; flex-direction: column; align-items: stretch; padding: 12px; border: 1px solid var(--line); border-radius: 24px; background: rgba(2,4,9,.96); box-shadow: var(--shadow); }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 14px; }
  .site-nav .nav-cta { margin: 6px 0 0; text-align: center; }
  body.nav-open .nav-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  body.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
  body.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .hero { padding: 132px 0 76px; }
  .hero h1 { font-size: clamp(2.95rem, 14.4vw, 4.25rem); line-height: 1.01; letter-spacing: -.055em; }
  .section-heading h2, .contact-card h2, .proof-copy h2 { font-size: clamp(2.08rem, 10.2vw, 3.25rem); line-height: 1.06; letter-spacing: -.052em; }
  .lead { margin-top: 26px; }
  .hero-actions { margin-top: 0; }
  .button { width: 100%; }
  .hero-notes { grid-template-columns: 1fr; }
  .hero-visual { margin-top: 4px; }
  .system-orbit { min-height: 460px; }
  .orbit-card { width: 152px; }
  .orbit-card-a { left: 18px; top: 54px; }
  .orbit-card-b { right: 18px; top: 116px; }
  .orbit-card-c { left: 24px; bottom: 154px; }
  .system-core { width: 172px; height: 172px; }
  .output-dock { grid-template-columns: repeat(2, 1fr); left: 18px; right: 18px; }
  .section { padding: 86px 0; }
  .section.compact { padding: 60px 0; }
  .process-grid, .service-grid, .pricing-grid, .check-grid, .recommendation-grid, .diagnostic-card-grid { grid-template-columns: 1fr; }
  .process-card, .service-card, .lens-card, .pricing-card { min-height: auto; }
  .pricing-grid { margin-top: 54px; }
  .pricing-card { min-height: auto; }
  .contact-card { padding: 23px; }
  .footer-grid { flex-direction: column; }
  .footer-links { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .brand-text { font-size: .92rem; }
  .brand-mark { width: 30px; height: 30px; }
  .system-orbit { min-height: 430px; border-radius: 28px; }
  .system-core { top: 44%; }
  .orbit-card { width: 140px; padding: 14px; }
  .output-dock strong { font-size: .86rem; }
  .trust-row span { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}


/* V9 refinements: flat hero visual + tighter proof/contact rhythm */
.system-orbit {
  box-shadow: 0 28px 92px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.08);
}
.system-core,
.orbit-card,
.output-dock {
  transform-style: flat;
}
#contact .contact-card {
  margin-top: 0;
}
@media (max-width: 780px) {
  .proof-section { padding-bottom: 42px; }
  #contact { padding-top: 42px; }
}

/* V10 — real section separation pass */
.part {
  position: relative;
  isolation: isolate;
  scroll-margin-top: 116px;
}
.part::before {
  content: "";
  position: absolute;
  left: max(24px, calc((100vw - var(--container)) / 2));
  right: max(24px, calc((100vw - var(--container)) / 2));
  top: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(138,239,255,.22), rgba(167,184,255,.12), transparent);
  opacity: .78;
}
.part-hero::before { display: none; }
.part-hero {
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding-top: 166px;
  padding-bottom: 150px;
}
.part-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 180px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(2,4,9,.92));
}
.approach-section {
  margin-top: 0;
  padding-top: 132px;
  padding-bottom: 132px;
  background:
    radial-gradient(circle at 10% 8%, rgba(138,239,255,.075), transparent 24rem),
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.004));
}
.approach-section::after,
.method-section::after {
  content: "";
  position: absolute;
  left: max(24px, calc((100vw - var(--container)) / 2));
  right: max(24px, calc((100vw - var(--container)) / 2));
  bottom: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.11), transparent);
}
.services-section,
.offers-section {
  padding-top: 126px;
  padding-bottom: 126px;
}
.diagnostic-section {
  padding-top: 126px;
  padding-bottom: 34px;
}
.lens-section {
  padding-top: 26px;
  padding-bottom: 104px;
}
.method-section {
  padding-top: 132px;
  padding-bottom: 132px;
  background:
    radial-gradient(circle at 82% 18%, rgba(138,239,255,.08), transparent 25rem),
    linear-gradient(180deg, rgba(255,255,255,.006), rgba(255,255,255,.024));
}
.contact-section {
  padding-top: 132px;
  padding-bottom: 132px;
  background:
    radial-gradient(circle at 50% 8%, rgba(167,184,255,.075), transparent 26rem),
    linear-gradient(180deg, rgba(2,4,9,.95), rgba(5,9,20,.88));
}
.contact-section::before {
  opacity: 1;
  background: linear-gradient(90deg, transparent, rgba(138,239,255,.30), rgba(255,255,255,.12), transparent);
}
.method-section + .contact-section {
  margin-top: 0;
}
.contact-card {
  box-shadow: 0 34px 110px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.065);
}

@media (max-width: 780px) {
  .part { scroll-margin-top: 96px; }
  .part::before,
  .approach-section::after,
  .method-section::after {
    left: 14px;
    right: 14px;
  }
  .part-hero {
    min-height: auto;
    padding-top: 132px;
    padding-bottom: 98px;
  }
  .approach-section,
  .services-section,
  .offers-section,
  .method-section,
  .contact-section {
    padding-top: 92px;
    padding-bottom: 92px;
  }
  .diagnostic-section {
    padding-top: 92px;
    padding-bottom: 30px;
  }
  .lens-section {
    padding-top: 18px;
    padding-bottom: 86px;
  }
}

/* V11 — restore the method background line and make it visible */
.method-section .proof-layout {
  position: relative;
}
.method-section .proof-layout::before {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  top: 50%;
  height: 2px;
  pointer-events: none;
  z-index: -1;
  opacity: .95;
  transform: rotate(-4deg);
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(138, 239, 255, .08) 12%,
      rgba(138, 239, 255, .42) 42%,
      rgba(167, 184, 255, .30) 58%,
      rgba(138, 239, 255, .10) 82%,
      transparent 100%);
  box-shadow: 0 0 28px rgba(138, 239, 255, .18);
}
.method-section .proof-layout::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 18%;
  top: 50%;
  height: 90px;
  pointer-events: none;
  z-index: -1;
  opacity: .42;
  transform: translateY(-50%) rotate(-4deg);
  background: radial-gradient(ellipse at center, rgba(138, 239, 255, .11), transparent 68%);
  filter: blur(12px);
}

@media (max-width: 760px) {
  .method-section .proof-layout::before,
  .method-section .proof-layout::after {
    opacity: .55;
    top: 46%;
  }
}

/* V12 — subtle imported tech icons + cleaner method background */
.service-card {
  position: relative;
  overflow: hidden;
}
.service-card::after {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 150px;
  height: 150px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(138,239,255,.13), transparent 68%);
  opacity: .72;
  pointer-events: none;
}
.service-card .image-icon {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  padding: 8px;
  border-color: rgba(138,239,255,.30);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.11), transparent 46%),
    linear-gradient(180deg, rgba(138,239,255,.11), rgba(138,239,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 18px 42px rgba(0,0,0,.20);
}
.service-card .image-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: .92;
  filter: drop-shadow(0 0 16px rgba(138,239,255,.15));
}
.service-card h3,
.service-card p {
  position: relative;
  z-index: 1;
}
.method-section {
  background: linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.036));
  border-block: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.method-section::before,
.method-section::after,
.method-section .proof-layout::before,
.method-section .proof-layout::after {
  display: none !important;
}
.method-section .proof-layout {
  position: relative;
  z-index: 1;
}
.method-section .proof-layout::selection {
  background: rgba(138,239,255,.25);
}
.method-section .proof-item {
  background:
    radial-gradient(circle at 100% 0%, rgba(138,239,255,.08), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.078), rgba(255,255,255,.035));
}

@media (max-width: 760px) {
  .service-card .image-icon {
    width: 50px;
    height: 50px;
  }
  .service-card::after {
    width: 120px;
    height: 120px;
    right: -34px;
    top: -34px;
  }
}


/* V15 — mobile-only hero cleanup. Desktop remains unchanged. */
@media (max-width: 780px) {
  .part-hero {
    min-height: auto;
    padding-top: 118px;
    padding-bottom: 72px;
  }

  .hero-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
  }

  .hero-copy {
    order: 1;
  }

  .hero-media {
    display: contents;
  }

  .hero-panel {
    order: 2;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero-actions .button {
    min-height: 50px;
  }

  .trust-row {
    margin-top: 14px;
    gap: 7px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .trust-row::-webkit-scrollbar {
    display: none;
  }

  .trust-row span {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: .78rem;
    padding: 8px 10px;
    background: rgba(255,255,255,.032);
  }

  .hero-notes {
    display: none;
  }

  .hero-visual {
    order: 3;
    min-height: auto;
    margin-top: 8px;
  }

  .hero h1 {
    font-size: clamp(2.55rem, 12.8vw, 3.68rem);
    line-height: 1.025;
    letter-spacing: -.058em;
  }

  .lead {
    max-width: 100%;
    margin-top: 20px;
    font-size: 1rem;
    line-height: 1.64;
  }

  .eyebrow {
    margin-bottom: 14px;
    font-size: .68rem;
    letter-spacing: .15em;
  }

  .system-orbit {
    justify-self: stretch;
    width: 100%;
    min-height: 292px;
    border-radius: 28px;
    background:
      radial-gradient(circle at 68% 16%, rgba(138,239,255,.13), transparent 15rem),
      linear-gradient(180deg, rgba(255,255,255,.078), rgba(255,255,255,.032));
    box-shadow: 0 26px 78px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.075);
  }

  .system-orbit::before {
    inset: 34px;
    opacity: .48;
    border-color: rgba(138,239,255,.17);
    transform: rotate(-14deg) skew(-6deg);
  }

  .system-orbit::after {
    left: 26px;
    right: 26px;
    bottom: 24px;
    opacity: .65;
  }

  .orb,
  .orbit-card {
    display: none;
  }

  .system-core {
    top: 39%;
    width: 138px;
    height: 138px;
    padding: 20px;
    border-radius: 32px;
  }

  .core-ring {
    inset: 14px;
    border-radius: 25px;
  }

  .system-core span,
  .output-dock span {
    font-size: .58rem;
    letter-spacing: .12em;
  }

  .system-core strong {
    margin-top: 8px;
    font-size: 1.06rem;
    line-height: 1.04;
  }

  .output-dock {
    left: 14px;
    right: 14px;
    bottom: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    padding: 7px;
    border-radius: 18px;
  }

  .output-dock div {
    padding: 8px 5px;
    border-radius: 12px;
  }

  .output-dock strong {
    margin-top: 4px;
    font-size: .68rem;
    line-height: 1.08;
    letter-spacing: -.04em;
  }
}

@media (max-width: 430px) {
  .part-hero {
    padding-top: 108px;
    padding-bottom: 62px;
  }

  .hero-grid {
    gap: 18px;
  }

  .hero h1 {
    font-size: clamp(2.32rem, 12.4vw, 3.25rem);
  }

  .lead {
    margin-top: 18px;
    font-size: .97rem;
    line-height: 1.62;
  }

  .system-orbit {
    min-height: 268px;
    border-radius: 24px;
  }

  .system-core {
    top: 36%;
    width: 126px;
    height: 126px;
    border-radius: 28px;
  }

  .system-core strong {
    font-size: .98rem;
  }

  .output-dock {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    left: 12px;
    right: 12px;
    bottom: 12px;
  }

  .output-dock div {
    padding: 8px 8px;
  }

  .output-dock strong {
    font-size: .78rem;
  }
}

/* V16 — mobile-only hero final cleanup. Desktop remains untouched. */
@media (max-width: 780px) {

  .part-hero {
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding-top: 104px;
    padding-bottom: 58px;
  }

  .part-hero::after {
    height: 96px;
    background: linear-gradient(180deg, transparent, rgba(2,4,9,.78));
  }

  .hero-grid {
    width: min(100% - 32px, var(--container));
    gap: 24px;
  }

  .hero-copy {
    max-width: 380px;
  }

  .hero .eyebrow {
    margin-bottom: 16px;
    font-size: .66rem;
    line-height: 1.35;
    letter-spacing: .155em;
  }

  .hero h1 {
    max-width: 370px;
    font-size: clamp(2.46rem, 10.8vw, 3.02rem);
    line-height: .985;
    letter-spacing: -.062em;
  }

  .lead {
    max-width: 365px;
    margin-top: 20px;
    font-size: .98rem;
    line-height: 1.56;
    color: rgba(246,249,255,.76);
  }

  .hero-panel {
    max-width: 380px;
    order: 2;
  }

  .hero-actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero-actions .button {
    min-height: 48px;
    width: 100%;
    font-size: .94rem;
  }

  .hero-actions .button.ghost {
    background: rgba(255,255,255,.035);
  }

  .trust-row,
  .hero-notes,
  .hero-visual {
    display: none !important;
  }
}

@media (max-width: 430px) {
  .part-hero {
    padding-top: 100px;
    padding-bottom: 52px;
  }

  .hero-grid {
    width: min(100% - 28px, var(--container));
    gap: 22px;
  }

  .hero h1 {
    max-width: 348px;
    font-size: clamp(2.34rem, 10.45vw, 2.72rem);
    line-height: .99;
  }

  .lead {
    max-width: 348px;
    margin-top: 18px;
    font-size: .94rem;
    line-height: 1.55;
  }

  .hero-actions .button {
    min-height: 46px;
  }
}

/* V20 — icon language menu */
.language-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 2px;
}

.language-icon-button {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  color: rgba(246,249,255,.58);
  background: rgba(255,255,255,.035);
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.language-icon-button svg {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.language-icon-button:hover,
.language-menu.is-open .language-icon-button {
  color: var(--accent);
  border-color: rgba(125,236,255,.28);
  background: rgba(125,236,255,.08);
  transform: translateY(-1px);
}

.language-options {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 154px;
  display: none;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(18,24,34,.98), rgba(5,8,14,.98));
  box-shadow: 0 22px 60px rgba(0,0,0,.45);
  z-index: 80;
}

.language-menu.is-open .language-options {
  display: grid;
  gap: 4px;
}

.language-options::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 15px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  border-left: 1px solid rgba(255,255,255,.12);
  border-top: 1px solid rgba(255,255,255,.12);
  background: rgba(18,24,34,.98);
}

.language-options button {
  position: relative;
  width: 100%;
  min-height: 34px;
  padding: 8px 30px 8px 12px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: rgba(246,249,255,.68);
  cursor: pointer;
  text-align: left;
  font: inherit;
  font-size: .82rem;
  font-weight: 760;
  transition: background .16s ease, color .16s ease;
}

.language-options button:hover {
  color: var(--text);
  background: rgba(255,255,255,.06);
}

.language-options button.is-active {
  color: var(--accent);
  background: rgba(125,236,255,.08);
}

.language-options button.is-active::after {
  content: '✓';
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  font-size: .76rem;
}

@media (max-width: 780px) {
  .site-nav .language-menu {
    width: 100%;
    justify-content: flex-start;
    margin: 2px 0 6px;
    padding: 2px 0 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .site-nav .language-icon-button {
    width: 42px;
    height: 42px;
  }

  .site-nav .language-options {
    left: 52px;
    right: auto;
    top: 0;
  }

  .site-nav .language-options::before {
    top: 16px;
    right: auto;
    left: -6px;
    border-left: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
    border-top: 0;
    transform: rotate(45deg);
  }
}

@media (max-width: 1040px) and (min-width: 781px) {
  .site-nav { font-size: .86rem; }
  .site-nav a { padding-inline: 9px; }
  .language-icon-button { width: 32px; height: 32px; }
}



/* V21 — Dutch layout polish: no ugly mid-word cuts on desktop */
html[lang="nl"] .hero h1 {
  max-width: 820px;
  font-size: clamp(3rem, 5.55vw, 5.45rem);
}
html[lang="nl"] .section-heading h2,
html[lang="nl"] .contact-card h2,
html[lang="nl"] .proof-copy h2 {
  max-width: 920px;
  font-size: clamp(2.25rem, 4.05vw, 4rem);
}
html[lang="nl"] .site-nav {
  gap: 2px;
  font-size: .88rem;
}
html[lang="nl"] .site-nav a {
  padding-inline: 10px;
}
html[lang="nl"] .service-card h3,
html[lang="nl"] .pricing-card h3,
html[lang="nl"] .process-card h3,
html[lang="nl"] .lens-card h3 {
  line-height: 1.18;
  text-wrap: balance;
}
html[lang="nl"] .output-dock strong,
html[lang="nl"] .orbit-card strong,
html[lang="nl"] .trust-row span,
html[lang="nl"] .button,
html[lang="nl"] .offer-link {
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
@media (max-width: 780px) {
  html[lang="nl"] .hero h1 {
    max-width: 370px;
    font-size: clamp(2.2rem, 10.6vw, 3.02rem);
  }
}


/* V22 — STUDIO SX27 typography + clean motion pass */
html {
  scroll-padding-top: 118px;
}

body {
  font-feature-settings: "ss01" 1, "ss02" 1, "cv01" 1;
}

.brand-mark {
  width: 36px;
  height: 36px;
}

.brand-mark::selection,
.brand-text::selection {
  background: rgba(138,239,255,.24);
}

.brand-mark {
  font-size: .74rem;
}

.eyebrow,
.result-kicker,
.step,
.price-top span,
.proof-item span,
.output-dock span,
.system-core span,
.orbit-card span,
.range-meta,
.language-options button {
  font-family: var(--font-mono);
}

.eyebrow {
  letter-spacing: .18em;
  font-weight: 760;
}

.hero h1,
.section-heading h2,
.contact-card h2,
.proof-copy h2 {
  letter-spacing: -.048em;
}

.lead,
.sublead,
.section-text p,
.diagnostic-copy p,
.proof-copy p,
.contact-card p {
  letter-spacing: -.012em;
}

/* Scroll motion without external dependencies. GSAP-like feel, lighter and safer. */
.reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.985);
  filter: blur(10px);
  transition:
    opacity .86s var(--ease-sx),
    transform .86s var(--ease-sx),
    filter .86s var(--ease-sx),
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease;
  will-change: opacity, transform, filter;
}

.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

.hero-copy.reveal {
  transform: translate3d(0, 22px, 0) scale(.992);
}

.hero-media.reveal {
  transform: translate3d(18px, 20px, 0) scale(.988);
}

.part::before {
  transform: scaleX(.34);
  transform-origin: center;
  opacity: 0;
  transition: transform 1.15s var(--ease-sx), opacity 1.15s var(--ease-sx);
}

.part.is-inview::before {
  transform: scaleX(1);
  opacity: .78;
}

.part-hero::before {
  display: none;
}

.process-grid .reveal:nth-child(1),
.service-grid .reveal:nth-child(1),
.pricing-grid .reveal:nth-child(1),
.lens-grid .reveal:nth-child(1) { transition-delay: .02s; }
.process-grid .reveal:nth-child(2),
.service-grid .reveal:nth-child(2),
.pricing-grid .reveal:nth-child(2),
.lens-grid .reveal:nth-child(2) { transition-delay: .10s; }
.process-grid .reveal:nth-child(3),
.service-grid .reveal:nth-child(3),
.pricing-grid .reveal:nth-child(3),
.lens-grid .reveal:nth-child(3) { transition-delay: .18s; }
.process-grid .reveal:nth-child(4),
.service-grid .reveal:nth-child(4) { transition-delay: .08s; }
.process-grid .reveal:nth-child(5),
.service-grid .reveal:nth-child(5) { transition-delay: .16s; }
.process-grid .reveal:nth-child(6),
.service-grid .reveal:nth-child(6) { transition-delay: .24s; }

.service-card,
.process-card,
.lens-card,
.pricing-card,
.proof-item,
.diagnostic-card,
.contact-card,
.system-orbit {
  transition:
    transform .24s var(--ease-sx),
    border-color .24s ease,
    background .24s ease,
    box-shadow .24s ease;
}

@media (hover: hover) and (pointer: fine) {
  .service-card.reveal.is-visible:hover,
  .process-card.reveal.is-visible:hover,
  .lens-card.reveal.is-visible:hover,
  .pricing-card.reveal.is-visible:hover {
    transform: translate3d(0, -5px, 0) scale(1.005);
    border-color: rgba(138,239,255,.25);
    box-shadow: 0 34px 100px rgba(0,0,0,.50), 0 0 0 1px rgba(138,239,255,.045) inset;
  }

  .button:hover,
  .offer-link:hover {
    transform: translate3d(0, -2px, 0);
  }
}

@media (max-width: 780px) {
  .hero-media.reveal,
  .hero-copy.reveal,
  .reveal {
    transform: translate3d(0, 22px, 0) scale(.99);
    filter: blur(7px);
  }

  .reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }

  .brand-text {
    font-size: .86rem;
    letter-spacing: .01em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .part::before,
  .service-card,
  .process-card,
  .lens-card,
  .pricing-card,
  .proof-item,
  .diagnostic-card,
  .contact-card,
  .system-orbit {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* V23 — Logo assets + calmer motion pass
   Goal: premium movement that feels intentional, not like elements popping from nowhere. */
.brand {
  gap: 0;
}

.brand-logo {
  display: block;
  width: clamp(128px, 12vw, 174px);
  height: auto;
  max-height: 26px;
  object-fit: contain;
  filter: drop-shadow(0 0 18px rgba(138,239,255,.08));
}

.footer-logo {
  width: clamp(142px, 14vw, 190px);
  max-height: 30px;
}

/* Keep the first screen stable. The home hero should feel loaded, not delayed. */
.part-hero .reveal,
.part-hero .reveal.is-visible {
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
}

/* Replace the previous blur/scale reveal with a readable, directional fade-up. */
.reveal {
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  filter: none;
  transition:
    opacity .62s cubic-bezier(.22,.75,.22,1),
    transform .62s cubic-bezier(.22,.75,.22,1),
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease;
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: none;
}

.hero-copy.reveal,
.hero-media.reveal {
  transform: none;
}

.delay-1 { transition-delay: .045s; }
.delay-2 { transition-delay: .09s; }
.delay-3 { transition-delay: .135s; }

.process-grid .reveal:nth-child(1),
.service-grid .reveal:nth-child(1),
.pricing-grid .reveal:nth-child(1),
.lens-grid .reveal:nth-child(1) { transition-delay: .00s; }
.process-grid .reveal:nth-child(2),
.service-grid .reveal:nth-child(2),
.pricing-grid .reveal:nth-child(2),
.lens-grid .reveal:nth-child(2) { transition-delay: .055s; }
.process-grid .reveal:nth-child(3),
.service-grid .reveal:nth-child(3),
.pricing-grid .reveal:nth-child(3),
.lens-grid .reveal:nth-child(3) { transition-delay: .11s; }
.process-grid .reveal:nth-child(4),
.service-grid .reveal:nth-child(4) { transition-delay: .035s; }
.process-grid .reveal:nth-child(5),
.service-grid .reveal:nth-child(5) { transition-delay: .08s; }
.process-grid .reveal:nth-child(6),
.service-grid .reveal:nth-child(6) { transition-delay: .125s; }

/* Hover should confirm quality, not jump. */
@media (hover: hover) and (pointer: fine) {
  .service-card.reveal.is-visible:hover,
  .process-card.reveal.is-visible:hover,
  .lens-card.reveal.is-visible:hover,
  .pricing-card.reveal.is-visible:hover {
    transform: translate3d(0, -3px, 0);
  }
}

@media (max-width: 780px) {
  .brand-logo {
    width: 136px;
    max-height: 23px;
  }

  .footer-logo {
    width: 152px;
    max-height: 26px;
  }

  .hero-media.reveal,
  .hero-copy.reveal,
  .reveal {
    transform: translate3d(0, 12px, 0);
    filter: none;
  }

  .part-hero .reveal,
  .part-hero .reveal.is-visible {
    transform: none;
  }
}


/* V24 — visible but calm motion system
   No external dependency, no GSAP/CDN. Motion is progressive and readable. */
html.motion-ready {
  scroll-behavior: smooth;
}

html.motion-ready .section:not(.part-hero) .reveal,
html.motion-ready .approach-section .reveal,
html.motion-ready .services-section .reveal,
html.motion-ready .diagnostic-section .reveal,
html.motion-ready .pricing-section .reveal,
html.motion-ready .method-section .reveal,
html.motion-ready .contact-section .reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 780ms cubic-bezier(.16, 1, .3, 1),
    transform 780ms cubic-bezier(.16, 1, .3, 1),
    border-color 220ms ease,
    background 220ms ease,
    box-shadow 220ms ease;
  will-change: opacity, transform;
}

html.motion-ready .section:not(.part-hero) .reveal.is-visible,
html.motion-ready .approach-section .reveal.is-visible,
html.motion-ready .services-section .reveal.is-visible,
html.motion-ready .diagnostic-section .reveal.is-visible,
html.motion-ready .pricing-section .reveal.is-visible,
html.motion-ready .method-section .reveal.is-visible,
html.motion-ready .contact-section .reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Keep the first screen immediate, but give it a precise load-in instead of a random pop. */
html.motion-ready .part-hero .hero-copy,
html.motion-ready .part-hero .hero-media {
  opacity: 1;
  transform: none;
}

html.motion-ready .part-hero .eyebrow,
html.motion-ready .part-hero h1,
html.motion-ready .part-hero .lead,
html.motion-ready .part-hero .hero-visual,
html.motion-ready .part-hero .hero-panel {
  opacity: 0;
  animation: sx27-intro-up 780ms cubic-bezier(.16, 1, .3, 1) forwards;
}

html.motion-ready .part-hero .eyebrow { animation-delay: 80ms; }
html.motion-ready .part-hero h1 { animation-delay: 150ms; }
html.motion-ready .part-hero .lead { animation-delay: 235ms; }
html.motion-ready .part-hero .hero-visual { animation-delay: 270ms; }
html.motion-ready .part-hero .hero-panel { animation-delay: 390ms; }

@keyframes sx27-intro-up {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* The motion should read section by section, not as elements appearing from nowhere. */
html.motion-ready .delay-1 { transition-delay: 80ms; }
html.motion-ready .delay-2 { transition-delay: 150ms; }
html.motion-ready .delay-3 { transition-delay: 220ms; }

html.motion-ready .service-grid .reveal:nth-child(1),
html.motion-ready .process-grid .reveal:nth-child(1),
html.motion-ready .pricing-grid .reveal:nth-child(1),
html.motion-ready .lens-grid .reveal:nth-child(1) { transition-delay: 0ms; }
html.motion-ready .service-grid .reveal:nth-child(2),
html.motion-ready .process-grid .reveal:nth-child(2),
html.motion-ready .pricing-grid .reveal:nth-child(2),
html.motion-ready .lens-grid .reveal:nth-child(2) { transition-delay: 90ms; }
html.motion-ready .service-grid .reveal:nth-child(3),
html.motion-ready .process-grid .reveal:nth-child(3),
html.motion-ready .pricing-grid .reveal:nth-child(3),
html.motion-ready .lens-grid .reveal:nth-child(3) { transition-delay: 180ms; }
html.motion-ready .service-grid .reveal:nth-child(4),
html.motion-ready .process-grid .reveal:nth-child(4) { transition-delay: 70ms; }
html.motion-ready .service-grid .reveal:nth-child(5) { transition-delay: 150ms; }
html.motion-ready .service-grid .reveal:nth-child(6) { transition-delay: 230ms; }

/* A subtle underline draws as each section arrives: visible, premium, not flashy. */
.section-heading h2 {
  position: relative;
}

.section-heading h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -18px;
  width: min(112px, 30%);
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,.82), rgba(118, 172, 255, .38), rgba(255,255,255,0));
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 850ms cubic-bezier(.16, 1, .3, 1), opacity 650ms ease;
}

.section-heading.center h2::after {
  left: 50%;
  transform-origin: center center;
  translate: -50% 0;
}

.part.is-inview .section-heading h2::after {
  opacity: 1;
  transform: scaleX(1);
}

/* Small living details on the hero visual, without turning it into a distracting animation. */
html.motion-ready .system-core .core-ring {
  animation: sx27-core-breathe 3.4s ease-in-out infinite;
}

html.motion-ready .orbit-card-a { animation: sx27-float-soft-a 7.2s ease-in-out infinite; }
html.motion-ready .orbit-card-b { animation: sx27-float-soft-b 8s ease-in-out infinite; }
html.motion-ready .orbit-card-c { animation: sx27-float-soft-c 7.6s ease-in-out infinite; }

@keyframes sx27-core-breathe {
  0%, 100% { transform: scale(1); opacity: .72; }
  50% { transform: scale(1.035); opacity: 1; }
}

@keyframes sx27-float-soft-a {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -7px, 0); }
}

@keyframes sx27-float-soft-b {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(6px, 4px, 0); }
}

@keyframes sx27-float-soft-c {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-5px, 6px, 0); }
}

@media (hover: hover) and (pointer: fine) {
  .service-card.is-visible:hover,
  .process-card.is-visible:hover,
  .pricing-card.is-visible:hover,
  .lens-card.is-visible:hover {
    transform: translate3d(0, -4px, 0);
  }
}

@media (max-width: 760px) {
  html.motion-ready .part-hero .eyebrow,
  html.motion-ready .part-hero h1,
  html.motion-ready .part-hero .lead,
  html.motion-ready .part-hero .hero-visual,
  html.motion-ready .part-hero .hero-panel {
    animation-duration: 620ms;
  }

  .section-heading h2::after {
    bottom: -14px;
    width: 84px;
  }

  html.motion-ready .section:not(.part-hero) .reveal,
  html.motion-ready .approach-section .reveal,
  html.motion-ready .services-section .reveal,
  html.motion-ready .diagnostic-section .reveal,
  html.motion-ready .pricing-section .reveal,
  html.motion-ready .method-section .reveal,
  html.motion-ready .contact-section .reveal {
    transform: translate3d(0, 18px, 0);
    transition-duration: 620ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.motion-ready,
  html.motion-ready * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: 1ms !important;
    transition-delay: 0ms !important;
  }

  html.motion-ready .reveal,
  html.motion-ready .reveal.is-visible,
  html.motion-ready .part-hero .eyebrow,
  html.motion-ready .part-hero h1,
  html.motion-ready .part-hero .lead,
  html.motion-ready .part-hero .hero-visual,
  html.motion-ready .part-hero .hero-panel {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* =========================
   SX27 ECOSYSTEM V2
   Main hub + shop + library
   ========================= */

.sx-home,
.sx-subpage {
  background:
    radial-gradient(circle at 74% -12%, rgba(138,239,255,.18), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(167,184,255,.13), transparent 28rem),
    radial-gradient(circle at 50% 110%, rgba(77,105,255,.12), transparent 36rem),
    linear-gradient(180deg, #020409 0%, #050a13 52%, #020409 100%);
}

.sx-home-header,
.sx-sub-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  min-height: 76px;
  padding: 20px clamp(18px, 4vw, 42px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.sx-home-logo,
.sx-sub-logo,
.sx-back-link {
  pointer-events: auto;
}

.sx-home-logo img,
.sx-sub-logo img {
  width: clamp(154px, 16vw, 224px);
  height: auto;
  display: block;
}

.sx-back-link {
  color: var(--text-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255,255,255,.045);
  backdrop-filter: blur(14px);
  font-size: 13px;
  transition: color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}

.sx-back-link:hover {
  color: var(--text);
  border-color: var(--accent-line);
  background: rgba(255,255,255,.075);
}

.sx-home-main {
  min-height: 100svh;
}

.sx-home-hero {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 112px 0 56px;
}

.sx-home-wrap {
  width: min(1180px, calc(100% - 40px));
}

.sx-home-intro {
  max-width: 920px;
  margin: 0 auto 34px;
  text-align: center;
}

.sx-home-intro h1 {
  max-width: 920px;
  margin: 0 auto;
  text-wrap: balance;
}

.sx-home-intro .lead {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.sx-choice-layout {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
}

.sx-choice-modal {
  min-height: 360px;
  border: 1px solid var(--line);
  border-radius: 32px;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.028)),
    radial-gradient(circle at 30% 0%, rgba(138,239,255,.12), transparent 18rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  box-shadow: 0 24px 90px rgba(0,0,0,.28);
  transition: transform .32s var(--ease), border-color .32s var(--ease), background .32s var(--ease);
}

.sx-choice-modal:hover {
  transform: translateY(-7px);
  border-color: rgba(138,239,255,.36);
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04)),
    radial-gradient(circle at 30% 0%, rgba(138,239,255,.18), transparent 18rem);
}

.sx-choice-number {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  color: var(--accent);
  background: rgba(255,255,255,.045);
}

.sx-choice-kicker {
  color: var(--accent);
  font-size: 13px;
  margin-bottom: 12px;
}

.sx-choice-modal h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: .96;
  letter-spacing: -.06em;
  margin-bottom: 16px;
}

.sx-choice-modal p:not(.sx-choice-kicker) {
  color: var(--text-soft);
  line-height: 1.65;
}

.sx-choice-modal strong {
  color: var(--text);
  font-weight: 650;
  letter-spacing: -.015em;
}

.sx-sub-hero {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 112px 0 72px;
}

.sx-sub-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .9fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
}

.sx-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.sx-product-preview,
.sx-library-console {
  min-height: 480px;
  border: 1px solid var(--line);
  border-radius: 34px;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 60% 12%, rgba(138,239,255,.14), transparent 18rem);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-preview-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding-bottom: 18px;
}

.sx-preview-top span {
  font-family: var(--font-display);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 13px;
}

.sx-preview-top small {
  color: var(--muted);
}

.sx-preview-stack {
  display: grid;
  gap: 16px;
}

.sx-preview-stack div,
.sx-tool-status div {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  padding: 18px;
}

.sx-preview-stack span,
.sx-tool-status span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-preview-stack strong,
.sx-tool-status strong {
  display: block;
  font-size: clamp(26px, 4vw, 42px);
  line-height: .96;
  letter-spacing: -.055em;
  margin-top: 7px;
}

.sx-tool-status {
  display: grid;
  gap: 14px;
}

.sx-tool-status small {
  display: block;
  color: var(--muted);
  margin-top: 8px;
}

.sx-content-section {
  padding: 92px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.sx-section-head {
  display: grid;
  grid-template-columns: .74fr 1.08fr;
  gap: clamp(20px, 4vw, 48px);
  align-items: end;
  margin-bottom: 34px;
}

.sx-section-head h2,
.sx-strip h2 {
  text-wrap: balance;
}

.sx-section-head > p:last-child,
.sx-strip > p:last-child {
  color: var(--text-soft);
  line-height: 1.72;
  font-size: clamp(16px, 1.5vw, 18px);
}

.sx-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.sx-info-card {
  min-height: 300px;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)),
    radial-gradient(circle at 30% 0%, rgba(138,239,255,.08), transparent 18rem);
}

.sx-info-card span {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.12);
  color: var(--accent);
  font-family: var(--font-mono);
  background: rgba(255,255,255,.045);
  margin-bottom: 46px;
}

.sx-info-card h3 {
  font-size: clamp(24px, 2.4vw, 31px);
  letter-spacing: -.045em;
  margin-bottom: 14px;
}

.sx-info-card p {
  color: var(--text-soft);
  line-height: 1.68;
}

.sx-strip {
  border: 1px solid var(--line);
  border-radius: 34px;
  padding: clamp(28px, 5vw, 54px);
  background:
    linear-gradient(120deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
    radial-gradient(circle at 88% 0%, rgba(138,239,255,.16), transparent 22rem);
  box-shadow: var(--shadow);
}

.sx-strip p:first-child {
  color: var(--accent);
  margin-bottom: 10px;
}

.sx-strip h2 {
  max-width: 840px;
}

.sx-strip p:last-child {
  max-width: 820px;
  margin-top: 18px;
}

@media (max-width: 980px) {
  .sx-home-hero,
  .sx-sub-hero {
    min-height: auto;
    padding-top: 104px;
  }

  .sx-choice-layout,
  .sx-sub-grid,
  .sx-section-head {
    grid-template-columns: 1fr;
  }

  .sx-choice-modal {
    min-height: 0;
  }

  .sx-card-grid {
    grid-template-columns: 1fr;
  }

  .sx-product-preview,
  .sx-library-console {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .sx-home-header,
  .sx-sub-header {
    min-height: 64px;
    padding: 16px 16px;
  }

  .sx-home-logo img,
  .sx-sub-logo img {
    width: 154px;
  }

  .sx-back-link {
    font-size: 12px;
    padding: 9px 12px;
  }

  .sx-home-hero,
  .sx-sub-hero {
    padding: 96px 0 48px;
  }

  .sx-home-wrap {
    width: min(100% - 24px, 640px);
  }

  .sx-home-intro {
    text-align: left;
    margin-bottom: 24px;
  }

  .sx-home-intro .lead {
    margin-left: 0;
    margin-right: 0;
  }

  .sx-choice-layout {
    gap: 12px;
  }

  .sx-choice-modal {
    border-radius: 24px;
    padding: 20px;
    gap: 22px;
  }

  .sx-choice-number {
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }

  .sx-content-section {
    padding: 72px 0;
  }

  .sx-info-card {
    min-height: 0;
    border-radius: 24px;
    padding: 20px;
  }

  .sx-info-card span {
    margin-bottom: 34px;
  }
}


/* SX27 hub safety fix:
   The ecosystem homepage/shop/library must never depend on scroll JS to be visible. */
.sx-home .reveal,
.sx-subpage .reveal,
.sx-home .delay-1,
.sx-home .delay-2,
.sx-subpage .delay-1,
.sx-subpage .delay-2 {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}


/* SX27 ECOSYSTEM V4 HARD FIX */
body.sx-home .reveal,
body.sx-home .delay-1,
body.sx-home .delay-2,
body.sx-home .delay-3,
body.sx-subpage .reveal,
body.sx-subpage .delay-1,
body.sx-subpage .delay-2,
body.sx-subpage .delay-3 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

body.sx-home main,
body.sx-subpage main {
  opacity: 1 !important;
  visibility: visible !important;
}


/* =========================
   SX27 ECOSYSTEM V5 — UX/COPY PASS
   ========================= */

.sx-home-v5 .sx-home-hero {
  padding-top: 106px;
  padding-bottom: 46px;
}

.sx-home-v5 .sx-home-intro {
  max-width: 980px;
  margin-bottom: clamp(28px, 4vw, 46px);
}

.sx-home-v5 .sx-home-intro h1 {
  font-size: clamp(44px, 6.4vw, 92px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-home-v5 .sx-home-intro .lead {
  max-width: 810px;
  color: rgba(246,249,255,.72);
}

.sx-home-v5 .sx-choice-layout {
  gap: clamp(14px, 2vw, 22px);
}

.sx-home-v5 .sx-choice-modal {
  min-height: 420px;
  position: relative;
  overflow: hidden;
}

.sx-home-v5 .sx-choice-modal::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 24% 0%, rgba(138,239,255,.12), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 42%);
  opacity: .9;
  pointer-events: none;
}

.sx-home-v5 .sx-choice-modal > * {
  position: relative;
  z-index: 1;
}

.sx-choice-studio { --card-accent: rgba(138,239,255,.35); }
.sx-choice-shop { --card-accent: rgba(167,184,255,.32); }
.sx-choice-library { --card-accent: rgba(255,255,255,.22); }

.sx-home-v5 .sx-choice-modal:hover {
  border-color: var(--card-accent);
}

.sx-home-v5 .sx-choice-kicker {
  min-height: 34px;
  max-width: 290px;
  line-height: 1.35;
  color: rgba(138,239,255,.86);
}

.sx-home-v5 .sx-choice-modal h2 {
  margin-top: 10px;
  margin-bottom: 18px;
}

.sx-home-v5 .sx-choice-modal p:not(.sx-choice-kicker) {
  font-size: 15px;
}

.sx-choice-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: grid;
  gap: 8px;
}

.sx-choice-list li {
  color: rgba(246,249,255,.68);
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sx-choice-list li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 18px rgba(138,239,255,.5);
  flex: 0 0 auto;
}

.sx-home-note {
  margin: clamp(18px, 3vw, 30px) auto 0;
  max-width: 740px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  color: rgba(246,249,255,.58);
}

.sx-home-note span {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
}

.sx-page-v5 .sx-sub-hero {
  padding-top: 118px;
}

.sx-page-v5 .sx-sub-grid {
  align-items: center;
}

.sx-page-v5 .sx-sub-grid h1 {
  font-size: clamp(44px, 6.2vw, 86px);
  letter-spacing: -.075em;
  line-height: .9;
  max-width: 880px;
  text-wrap: balance;
}

.sx-page-v5 .sx-sub-grid .lead {
  max-width: 780px;
  color: rgba(246,249,255,.72);
}

.sx-page-v5 .sx-product-preview,
.sx-page-v5 .sx-library-console {
  min-height: 540px;
  border-radius: 36px;
}

.sx-page-v5 .sx-preview-stack,
.sx-page-v5 .sx-tool-status {
  gap: 14px;
}

.sx-page-v5 .sx-preview-stack div,
.sx-page-v5 .sx-tool-status div {
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}

.sx-page-v5 .sx-preview-stack strong,
.sx-page-v5 .sx-tool-status strong {
  font-size: clamp(25px, 3.2vw, 38px);
}

.sx-page-v5 .sx-section-head {
  align-items: start;
}

.sx-page-v5 .sx-section-head h2 {
  font-size: clamp(38px, 5vw, 70px);
  letter-spacing: -.07em;
  line-height: .92;
}

.sx-page-v5 .sx-card-grid-v5 {
  align-items: stretch;
}

.sx-page-v5 .sx-info-card {
  min-height: 360px;
  display: flex;
  flex-direction: column;
}

.sx-page-v5 .sx-info-card p {
  flex: 1;
}

.sx-card-meta {
  margin-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
  padding-top: 14px;
  color: var(--accent);
  font-size: 13px;
  letter-spacing: -.01em;
}

.sx-page-v5 .sx-strip h2 {
  font-size: clamp(34px, 5vw, 64px);
  letter-spacing: -.07em;
  line-height: .95;
}

@media (max-width: 980px) {
  .sx-home-v5 .sx-choice-modal {
    min-height: 0;
  }

  .sx-page-v5 .sx-product-preview,
  .sx-page-v5 .sx-library-console {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .sx-home-v5 .sx-home-hero,
  .sx-page-v5 .sx-sub-hero {
    padding-top: 94px;
  }

  .sx-home-v5 .sx-home-intro h1,
  .sx-page-v5 .sx-sub-grid h1 {
    font-size: clamp(40px, 13vw, 58px);
    letter-spacing: -.065em;
  }

  .sx-home-v5 .sx-choice-modal {
    padding: 19px;
  }

  .sx-choice-list {
    margin-top: 16px;
  }

  .sx-home-note {
    justify-content: flex-start;
  }
}


/* =========================
   SX27 ECOSYSTEM V6 — CLIENT-FACING COPY + DISTINCT DA
   ========================= */

.sx-home-v6 .sx-home-hero {
  padding-top: 106px;
  padding-bottom: 54px;
}

.sx-home-v6 .sx-home-intro {
  max-width: 980px;
  margin-bottom: clamp(28px, 4vw, 46px);
}

.sx-home-v6 .sx-home-intro h1 {
  font-size: clamp(44px, 6.4vw, 92px);
  letter-spacing: -.075em;
  line-height: .9;
  max-width: 940px;
}

.sx-home-v6 .sx-home-intro .lead {
  max-width: 820px;
  color: rgba(246,249,255,.72);
}

.sx-home-v6 .sx-choice-layout {
  gap: clamp(14px, 2vw, 22px);
}

.sx-home-v6 .sx-choice-modal {
  min-height: 440px;
  position: relative;
  overflow: hidden;
}

.sx-home-v6 .sx-choice-modal::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 24% 0%, rgba(138,239,255,.12), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 42%);
  opacity: .9;
  pointer-events: none;
}

.sx-home-v6 .sx-choice-modal > * {
  position: relative;
  z-index: 1;
}

.sx-home-v6 .sx-choice-kicker {
  min-height: 36px;
  max-width: 310px;
  line-height: 1.35;
  color: rgba(138,239,255,.86);
}

.sx-home-v6 .sx-choice-modal h2 {
  margin-top: 10px;
  margin-bottom: 18px;
}

.sx-home-v6 .sx-choice-modal p:not(.sx-choice-kicker) {
  font-size: 15px;
}

.sx-home-v6 .sx-choice-modal:hover {
  border-color: rgba(138,239,255,.34);
}

/* Shop DA: warmer, product/catalog feeling */
.sx-shop-da {
  --shop-bg: #f4efe6;
  --shop-ink: #17120d;
  --shop-muted: rgba(23,18,13,.64);
  --shop-line: rgba(23,18,13,.16);
  --shop-panel: rgba(255,255,255,.62);
  color: var(--shop-ink);
  background:
    radial-gradient(circle at 72% -12%, rgba(203,159,91,.28), transparent 34rem),
    radial-gradient(circle at 8% 18%, rgba(255,255,255,.76), transparent 28rem),
    linear-gradient(180deg, #f4efe6 0%, #eee5d7 100%);
}

.sx-shop-da .grain {
  opacity: .18;
  mix-blend-mode: multiply;
}

.sx-shop-da .sx-sub-header img {
  filter: invert(1);
}

.sx-shop-da .sx-back-link,
.sx-shop-da .eyebrow,
.sx-shop-da .button.secondary,
.sx-shop-da .sx-product-preview,
.sx-shop-da .sx-info-card,
.sx-shop-da .sx-strip {
  border-color: var(--shop-line);
}

.sx-shop-da .sx-back-link,
.sx-shop-da .eyebrow,
.sx-shop-da .button.secondary {
  color: var(--shop-ink);
  background: rgba(255,255,255,.48);
}

.sx-shop-da .lead,
.sx-shop-da .sx-section-head > p:last-child,
.sx-shop-da .sx-info-card p,
.sx-shop-da .sx-strip > p:last-child {
  color: var(--shop-muted);
}

.sx-shop-da .section-kicker,
.sx-shop-da .sx-card-meta,
.sx-shop-da .sx-strip p:first-child,
.sx-shop-da .sx-preview-stack span {
  color: #9b6632;
}

.sx-shop-da .button.primary {
  background: #17120d;
  color: #fff;
}

.sx-shop-da .button.secondary:hover,
.sx-shop-da .sx-back-link:hover {
  background: rgba(255,255,255,.78);
}

.sx-shop-da .sx-sub-grid h1 {
  color: var(--shop-ink);
  font-size: clamp(44px, 6.2vw, 86px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-shop-da .sx-product-preview,
.sx-shop-da .sx-info-card,
.sx-shop-da .sx-strip {
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.42)),
    radial-gradient(circle at 85% 0%, rgba(203,159,91,.18), transparent 18rem);
  box-shadow: 0 26px 80px rgba(44,31,18,.16);
}

.sx-shop-shelf {
  min-height: 540px;
  border: 1px solid var(--shop-line);
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.34)),
    radial-gradient(circle at 70% 10%, rgba(203,159,91,.22), transparent 18rem);
  box-shadow: 0 26px 90px rgba(44,31,18,.16);
  padding: 24px;
}

.sx-shop-window {
  height: 100%;
  border: 1px solid rgba(23,18,13,.12);
  border-radius: 28px;
  padding: 20px;
  background: rgba(255,255,255,.48);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-shop-window-top,
.sx-shop-window-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--shop-muted);
  font-size: 13px;
}

.sx-shop-window-top span {
  color: var(--shop-ink);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: var(--font-display);
  font-size: 13px;
}

.sx-shelf-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.sx-shelf-row div {
  min-height: 132px;
  border: 1px solid rgba(23,18,13,.12);
  border-radius: 24px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.34));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-shelf-row span {
  color: #9b6632;
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-shelf-row strong {
  color: var(--shop-ink);
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: .92;
  letter-spacing: -.06em;
}

/* Library DA: launcher/app hub feeling */
.sx-library-da {
  color: #f6f9ff;
  background:
    radial-gradient(circle at 76% -8%, rgba(97,128,255,.24), transparent 34rem),
    radial-gradient(circle at 15% 18%, rgba(138,239,255,.10), transparent 26rem),
    linear-gradient(180deg, #06070c 0%, #0a0d14 52%, #030409 100%);
}

.sx-library-da .sx-sub-grid h1 {
  font-size: clamp(44px, 6.2vw, 86px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-library-launcher {
  min-height: 560px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 60% 0%, rgba(138,239,255,.12), transparent 20rem);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: 112px 1fr;
  overflow: hidden;
}

.sx-launcher-sidebar {
  border-right: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  padding: 20px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: var(--text-soft);
}

.sx-launcher-dot {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 38px rgba(138,239,255,.22);
}

.sx-launcher-sidebar span:not(.sx-launcher-dot) {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-family: var(--font-display);
  font-size: 12px;
}

.sx-launcher-sidebar small {
  margin-top: auto;
  writing-mode: vertical-rl;
  color: var(--muted);
  font-size: 11px;
}

.sx-launcher-main {
  padding: 22px;
  display: flex;
  flex-direction: column;
}

.sx-launcher-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: var(--muted);
}

.sx-launcher-top span {
  color: var(--text);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: var(--font-display);
  font-size: 13px;
}

.sx-app-grid {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-content: center;
}

.sx-app-card {
  min-height: 164px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-app-card.is-active {
  border-color: rgba(138,239,255,.34);
  background:
    linear-gradient(180deg, rgba(138,239,255,.13), rgba(255,255,255,.045));
}

.sx-app-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-app-card strong {
  font-size: clamp(20px, 2vw, 29px);
  line-height: .98;
  letter-spacing: -.045em;
}

.sx-app-card small {
  color: var(--muted);
  line-height: 1.35;
}

.sx-library-da .sx-info-card,
.sx-library-da .sx-strip {
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.032)),
    radial-gradient(circle at 70% 0%, rgba(97,128,255,.12), transparent 18rem);
}

@media (max-width: 980px) {
  .sx-shop-shelf,
  .sx-library-launcher {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .sx-home-v6 .sx-home-hero,
  .sx-shop-da .sx-sub-hero,
  .sx-library-da .sx-sub-hero {
    padding-top: 94px;
  }

  .sx-home-v6 .sx-home-intro h1,
  .sx-shop-da .sx-sub-grid h1,
  .sx-library-da .sx-sub-grid h1 {
    font-size: clamp(40px, 13vw, 58px);
    letter-spacing: -.065em;
  }

  .sx-shelf-row,
  .sx-app-grid {
    grid-template-columns: 1fr;
  }

  .sx-library-launcher {
    grid-template-columns: 1fr;
  }

  .sx-launcher-sidebar {
    min-height: 72px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
    flex-direction: row;
    align-items: center;
  }

  .sx-launcher-sidebar span:not(.sx-launcher-dot),
  .sx-launcher-sidebar small {
    writing-mode: horizontal-tb;
  }

  .sx-launcher-sidebar small {
    margin-left: auto;
    margin-top: 0;
  }
}


/* =========================
   SX27 ECOSYSTEM V7 — SHOP BACK TO SX27 DARK DA
   ========================= */

.sx-shop-sx27 {
  color: var(--text);
  background:
    radial-gradient(circle at 74% -12%, rgba(91,151,255,.22), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(138,239,255,.12), transparent 28rem),
    radial-gradient(circle at 50% 110%, rgba(77,105,255,.12), transparent 36rem),
    linear-gradient(180deg, #020409 0%, #050a13 52%, #020409 100%);
}

.sx-shop-sx27 .sx-sub-header img {
  filter: none;
}

.sx-shop-sx27 .sx-back-link,
.sx-shop-sx27 .eyebrow,
.sx-shop-sx27 .button.secondary {
  color: var(--text-soft);
  background: rgba(255,255,255,.045);
  border-color: var(--line);
}

.sx-shop-sx27 .sx-back-link:hover,
.sx-shop-sx27 .button.secondary:hover {
  color: var(--text);
  border-color: var(--accent-line);
  background: rgba(255,255,255,.075);
}

.sx-shop-sx27 .button.primary {
  color: #061018;
  background: linear-gradient(135deg, var(--accent), #dfe7ff);
  border-color: transparent;
}

.sx-shop-sx27 .lead,
.sx-shop-sx27 .sx-section-head > p:last-child,
.sx-shop-sx27 .sx-info-card p,
.sx-shop-sx27 .sx-strip > p:last-child {
  color: var(--text-soft);
}

.sx-shop-sx27 .section-kicker,
.sx-shop-sx27 .sx-card-meta,
.sx-shop-sx27 .sx-strip p:first-child,
.sx-shop-sx27 .sx-shelf-row span {
  color: var(--accent);
}

.sx-shop-sx27 .sx-sub-grid h1 {
  color: var(--text);
  font-size: clamp(44px, 6.2vw, 86px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-shop-sx27 .sx-shop-shelf {
  min-height: 540px;
  border: 1px solid var(--line);
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 60% 8%, rgba(138,239,255,.14), transparent 18rem);
  box-shadow: var(--shadow);
  padding: 24px;
}

.sx-shop-sx27 .sx-shop-window {
  height: 100%;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 28px;
  padding: 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.070), rgba(255,255,255,.028));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-shop-sx27 .sx-shop-window-top,
.sx-shop-sx27 .sx-shop-window-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
}

.sx-shop-sx27 .sx-shop-window-top span {
  color: var(--text);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: var(--font-display);
  font-size: 13px;
}

.sx-shop-sx27 .sx-shelf-row div {
  min-height: 132px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-shop-sx27 .sx-shelf-row strong {
  color: var(--text);
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: .92;
  letter-spacing: -.06em;
}

.sx-shop-sx27 .sx-info-card,
.sx-shop-sx27 .sx-strip {
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)),
    radial-gradient(circle at 70% 0%, rgba(138,239,255,.08), transparent 18rem);
  border-color: var(--line);
  box-shadow: 0 20px 78px rgba(0,0,0,.22);
}

/* Keep Library distinct by layout, not by leaving the SX27 universe. */
.sx-library-da {
  background:
    radial-gradient(circle at 74% -12%, rgba(91,151,255,.24), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(138,239,255,.10), transparent 28rem),
    linear-gradient(180deg, #020409 0%, #070a10 52%, #020409 100%);
}

@media (max-width: 980px) {
  .sx-shop-sx27 .sx-shop-shelf {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .sx-shop-sx27 .sx-sub-hero {
    padding-top: 94px;
  }

  .sx-shop-sx27 .sx-sub-grid h1 {
    font-size: clamp(40px, 13vw, 58px);
    letter-spacing: -.065em;
  }
}


/* =========================
   SX27 ECOSYSTEM V8 — UNIFIED SX27 DA + LAUNCHER LIBRARY
   ========================= */

.sx-core-da {
  color: var(--text);
  background:
    radial-gradient(circle at 74% -12%, rgba(91,151,255,.22), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(138,239,255,.12), transparent 28rem),
    radial-gradient(circle at 50% 110%, rgba(77,105,255,.12), transparent 36rem),
    linear-gradient(180deg, #020409 0%, #050a13 52%, #020409 100%);
}

.sx-core-da .sx-sub-header img,
.sx-core-da .sx-home-header img {
  filter: none;
}

.sx-core-da .sx-back-link,
.sx-core-da .eyebrow,
.sx-core-da .button.secondary {
  color: var(--text-soft);
  background: rgba(255,255,255,.045);
  border-color: var(--line);
}

.sx-core-da .sx-back-link:hover,
.sx-core-da .button.secondary:hover {
  color: var(--text);
  border-color: var(--accent-line);
  background: rgba(255,255,255,.075);
}

.sx-core-da .button.primary {
  color: #061018;
  background: linear-gradient(135deg, var(--accent), #dfe7ff);
  border-color: transparent;
}

.sx-home-v8 .sx-home-hero {
  padding-top: 108px;
  padding-bottom: 56px;
}

.sx-home-v8 .sx-home-intro {
  max-width: 920px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.sx-home-v8 .sx-home-intro h1 {
  max-width: 920px;
  font-size: clamp(44px, 6.4vw, 88px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-home-v8 .sx-home-intro .lead {
  max-width: 760px;
  color: rgba(246,249,255,.72);
}

.sx-home-v8 .sx-choice-modal {
  min-height: 428px;
  border-color: var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)),
    radial-gradient(circle at 34% 0%, rgba(138,239,255,.09), transparent 18rem);
  box-shadow: 0 20px 78px rgba(0,0,0,.22);
}

.sx-home-v8 .sx-choice-modal:hover {
  border-color: rgba(138,239,255,.34);
}

.sx-home-v8 .sx-choice-kicker {
  min-height: 0;
  max-width: 320px;
  color: var(--accent);
}

/* Shop unified DA */
.sx-shop-v8 .sx-sub-grid h1,
.sx-library-v8 h1 {
  color: var(--text);
  font-size: clamp(44px, 6.2vw, 86px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-shop-v8 .lead,
.sx-library-v8 .lead,
.sx-shop-v8 .sx-section-head > p:last-child,
.sx-library-v8 .sx-section-head > p:last-child,
.sx-shop-v8 .sx-info-card p,
.sx-library-v8 .sx-info-card p,
.sx-shop-v8 .sx-strip > p:last-child,
.sx-library-v8 .sx-strip > p:last-child {
  color: var(--text-soft);
}

.sx-shop-v8 .section-kicker,
.sx-library-v8 .section-kicker,
.sx-shop-v8 .sx-card-meta,
.sx-library-v8 .sx-card-meta,
.sx-shop-v8 .sx-strip p:first-child,
.sx-library-v8 .sx-strip p:first-child {
  color: var(--accent);
}

.sx-shop-showcase {
  min-height: 540px;
  border: 1px solid var(--line);
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 60% 8%, rgba(138,239,255,.14), transparent 18rem);
  box-shadow: var(--shadow);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-showcase-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding-bottom: 18px;
  font-size: 13px;
}

.sx-showcase-top span {
  color: var(--text);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: var(--font-display);
}

.sx-product-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.sx-product-card {
  min-height: 154px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sx-product-card.is-large {
  grid-column: span 2;
  min-height: 190px;
  background:
    linear-gradient(180deg, rgba(138,239,255,.11), rgba(255,255,255,.035));
  border-color: rgba(138,239,255,.24);
}

.sx-product-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-product-card strong {
  color: var(--text);
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: .92;
  letter-spacing: -.06em;
}

.sx-product-card small {
  color: var(--muted);
  line-height: 1.35;
}

/* Library launcher */
.sx-library-hero-v8 {
  min-height: 100svh;
  padding: 118px 0 72px;
}

.sx-library-title {
  max-width: 930px;
  margin-bottom: 34px;
}

.sx-library-title h1 {
  max-width: 930px;
}

.sx-library-launcher-v8 {
  min-height: 620px;
  border: 1px solid var(--line);
  border-radius: 36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 74% 0%, rgba(138,239,255,.13), transparent 24rem);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: 230px 1fr;
  overflow: hidden;
}

.sx-launcher-panel {
  border-right: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.sx-launcher-brand {
  display: flex;
  gap: 12px;
  align-items: center;
}

.sx-launcher-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #061018;
  background: linear-gradient(135deg, var(--accent), #dfe7ff);
  font-family: var(--font-display);
  font-weight: 800;
}

.sx-launcher-brand strong {
  display: block;
  letter-spacing: -.02em;
}

.sx-launcher-brand small {
  color: var(--muted);
}

.sx-launcher-cats {
  display: grid;
  gap: 8px;
}

.sx-launcher-cats a {
  border: 1px solid transparent;
  border-radius: 16px;
  padding: 12px 13px;
  color: var(--text-soft);
  background: transparent;
  transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}

.sx-launcher-cats a:hover,
.sx-launcher-cats a.is-active {
  color: var(--text);
  border-color: rgba(138,239,255,.20);
  background: rgba(255,255,255,.055);
}

.sx-launcher-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.sx-launcher-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding-bottom: 18px;
}

.sx-launcher-head span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-launcher-head h2 {
  margin-top: 7px;
  font-size: clamp(28px, 4vw, 52px);
}

.sx-launcher-head a {
  color: var(--text-soft);
  font-size: 14px;
}

.sx-featured-app {
  min-height: 220px;
  border: 1px solid rgba(138,239,255,.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 8%, rgba(138,239,255,.16), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  padding: 24px;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: end;
}

.sx-featured-app p {
  color: var(--accent);
  font-size: 13px;
  margin-bottom: 10px;
}

.sx-featured-app h3 {
  font-size: clamp(36px, 5vw, 70px);
  letter-spacing: -.075em;
  line-height: .9;
  margin-bottom: 14px;
}

.sx-featured-app span {
  display: block;
  color: var(--text-soft);
  max-width: 560px;
  line-height: 1.55;
}

.sx-featured-app strong {
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: var(--text);
  background: rgba(255,255,255,.055);
  padding: 10px 13px;
  font-size: 13px;
}

.sx-app-library-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.sx-launch-app-card {
  min-height: 230px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  display: flex;
  flex-direction: column;
}

.sx-launch-app-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-launch-app-card h3 {
  margin-top: 34px;
  font-size: clamp(21px, 2.1vw, 30px);
  line-height: .98;
}

.sx-launch-app-card p {
  color: var(--text-soft);
  line-height: 1.5;
  font-size: 14px;
  margin-top: 12px;
  flex: 1;
}

.sx-launch-app-card small {
  color: var(--muted);
}

.sx-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.sx-plan-card {
  min-height: 270px;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  display: flex;
  flex-direction: column;
}

.sx-plan-card.is-main {
  border-color: rgba(138,239,255,.28);
  background:
    radial-gradient(circle at 70% 0%, rgba(138,239,255,.13), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
}

.sx-plan-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-plan-card h3 {
  margin-top: 24px;
  font-size: clamp(22px, 2.3vw, 32px);
}

.sx-plan-card p {
  color: var(--text-soft);
  line-height: 1.55;
  font-size: 14px;
  margin-top: 12px;
  flex: 1;
}

.sx-plan-card strong {
  color: var(--text);
  margin-top: 20px;
}

.sx-shop-v8 .sx-info-card,
.sx-shop-v8 .sx-strip,
.sx-library-v8 .sx-info-card,
.sx-library-v8 .sx-strip {
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)),
    radial-gradient(circle at 70% 0%, rgba(138,239,255,.08), transparent 18rem);
  border-color: var(--line);
  box-shadow: 0 20px 78px rgba(0,0,0,.22);
}

@media (max-width: 1100px) {
  .sx-app-library-grid,
  .sx-plan-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sx-library-launcher-v8 {
    grid-template-columns: 190px 1fr;
  }
}

@media (max-width: 980px) {
  .sx-shop-showcase,
  .sx-library-launcher-v8 {
    min-height: auto;
  }

  .sx-library-launcher-v8 {
    grid-template-columns: 1fr;
  }

  .sx-launcher-panel {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
  }

  .sx-launcher-cats {
    display: flex;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .sx-launcher-cats a {
    white-space: nowrap;
  }
}

@media (max-width: 720px) {
  .sx-home-v8 .sx-home-hero,
  .sx-shop-v8 .sx-sub-hero,
  .sx-library-hero-v8 {
    padding-top: 94px;
  }

  .sx-home-v8 .sx-home-intro h1,
  .sx-shop-v8 .sx-sub-grid h1,
  .sx-library-v8 h1 {
    font-size: clamp(40px, 13vw, 58px);
    letter-spacing: -.065em;
  }

  .sx-product-stack,
  .sx-app-library-grid,
  .sx-plan-grid {
    grid-template-columns: 1fr;
  }

  .sx-product-card.is-large {
    grid-column: auto;
  }

  .sx-featured-app {
    flex-direction: column;
    align-items: flex-start;
  }

  .sx-launcher-content {
    padding: 16px;
  }

  .sx-library-launcher-v8 {
    border-radius: 26px;
  }
}


/* =========================
   SX27 ECOSYSTEM V9 — CLEANUP + REAL LIBRARY
   ========================= */

.sx-shop-v9 .eyebrow,
.sx-library-v9 .eyebrow {
  display: inline-flex;
  width: fit-content;
  min-width: auto;
  letter-spacing: .02em;
}

.sx-shop-v9 .sx-shop-showcase {
  min-height: 540px;
}

.sx-product-row {
  border: 1px solid var(--line);
  border-radius: 34px;
  padding: clamp(24px, 4vw, 40px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)),
    radial-gradient(circle at 70% 0%, rgba(138,239,255,.09), transparent 18rem);
  display: grid;
  grid-template-columns: .72fr 1fr;
  gap: clamp(22px, 4vw, 50px);
  box-shadow: 0 20px 78px rgba(0,0,0,.22);
}

.sx-product-row h2 {
  font-size: clamp(34px, 4.6vw, 60px);
  line-height: .94;
  letter-spacing: -.065em;
}

.sx-mini-product-list {
  display: grid;
  gap: 12px;
}

.sx-mini-product-list article {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  padding: 16px;
  background: rgba(255,255,255,.04);
}

.sx-mini-product-list span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-mini-product-list strong {
  display: block;
  margin-top: 8px;
  font-size: 19px;
  letter-spacing: -.02em;
}

.sx-mini-product-list small {
  display: block;
  color: var(--muted);
  line-height: 1.45;
  margin-top: 7px;
}

.sx-library-hero-v9 {
  min-height: 100svh;
  padding: 118px 0 72px;
}

.sx-library-v9 .sx-library-title {
  max-width: 940px;
  margin-bottom: 34px;
}

.sx-library-v9 .sx-library-title h1 {
  max-width: 920px;
  font-size: clamp(44px, 6.2vw, 86px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-library-v9 .sx-library-title .lead {
  max-width: 780px;
  color: var(--text-soft);
}

.sx-library-v9 .sx-library-launcher-v9 {
  min-height: 690px;
  border: 1px solid var(--line);
  border-radius: 36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 74% 0%, rgba(138,239,255,.13), transparent 24rem);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: 236px 1fr;
  overflow: hidden;
}

.sx-library-v9 .sx-launcher-panel {
  border-right: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.sx-library-v9 .sx-launcher-cats {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow-y: auto;
  padding-right: 4px;
}

.sx-library-v9 .sx-launcher-cats button {
  border: 1px solid transparent;
  border-radius: 16px;
  padding: 12px 13px;
  color: var(--text-soft);
  background: transparent;
  text-align: left;
  transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}

.sx-library-v9 .sx-launcher-cats button:hover,
.sx-library-v9 .sx-launcher-cats button.is-active {
  color: var(--text);
  border-color: rgba(138,239,255,.20);
  background: rgba(255,255,255,.055);
}

.sx-library-v9 .sx-launcher-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

.sx-library-v9 .sx-launcher-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding-bottom: 18px;
}

.sx-library-v9 .sx-launcher-head span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-library-v9 .sx-launcher-head h2 {
  margin-top: 7px;
  font-size: clamp(28px, 4vw, 52px);
}

.sx-library-v9 .sx-launcher-head a {
  color: var(--text-soft);
  font-size: 14px;
}

.sx-library-v9 .sx-featured-app {
  min-height: 210px;
  border: 1px solid rgba(138,239,255,.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 8%, rgba(138,239,255,.16), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  padding: 24px;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: end;
}

.sx-library-v9 .sx-featured-app p {
  color: var(--accent);
  font-size: 13px;
  margin-bottom: 10px;
}

.sx-library-v9 .sx-featured-app h3 {
  font-size: clamp(36px, 5vw, 70px);
  letter-spacing: -.075em;
  line-height: .9;
  margin-bottom: 14px;
}

.sx-library-v9 .sx-featured-app span {
  display: block;
  color: var(--text-soft);
  max-width: 610px;
  line-height: 1.55;
}

.sx-library-v9 .sx-featured-app strong {
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: var(--text);
  background: rgba(255,255,255,.055);
  padding: 10px 13px;
  font-size: 13px;
}

.sx-library-v9 .sx-app-library-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-height: 315px;
  overflow-y: auto;
  padding-right: 4px;
}

.sx-library-v9 .sx-launch-app-card {
  min-height: 210px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  display: flex;
  flex-direction: column;
  transition: border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
  cursor: pointer;
}

.sx-library-v9 .sx-launch-app-card:hover,
.sx-library-v9 .sx-launch-app-card.is-selected {
  border-color: rgba(138,239,255,.30);
  background:
    linear-gradient(180deg, rgba(138,239,255,.10), rgba(255,255,255,.035));
  transform: translateY(-2px);
}

.sx-library-v9 .sx-launch-app-card[hidden] {
  display: none;
}

.sx-library-v9 .sx-launch-app-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-library-v9 .sx-launch-app-card h3 {
  margin-top: 28px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: .98;
}

.sx-library-v9 .sx-launch-app-card p {
  color: var(--text-soft);
  line-height: 1.48;
  font-size: 14px;
  margin-top: 12px;
  flex: 1;
}

.sx-library-v9 .sx-launch-app-card small {
  color: var(--muted);
}

.sx-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.sx-price-card {
  min-height: 470px;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  display: flex;
  flex-direction: column;
  box-shadow: 0 18px 64px rgba(0,0,0,.20);
}

.sx-price-card.is-main {
  border-color: rgba(138,239,255,.32);
  background:
    radial-gradient(circle at 70% 0%, rgba(138,239,255,.13), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
}

.sx-price-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-price-card h3 {
  font-size: clamp(26px, 3vw, 38px);
  margin-top: 18px;
  letter-spacing: -.055em;
}

.sx-price-card p {
  color: var(--text-soft);
  line-height: 1.5;
  margin-top: 12px;
  min-height: 72px;
}

.sx-price-card strong {
  display: block;
  color: var(--text);
  font-size: clamp(24px, 2.5vw, 34px);
  letter-spacing: -.055em;
  margin: 20px 0;
}

.sx-price-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  flex: 1;
}

.sx-price-card li {
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.35;
  display: flex;
  gap: 8px;
}

.sx-price-card li::before {
  content: "✓";
  color: var(--accent);
  flex: 0 0 auto;
}

.sx-price-card li.is-off {
  color: var(--faint);
}

.sx-price-card li.is-off::before {
  content: "–";
  color: var(--faint);
}

.sx-price-card a {
  margin-top: 22px;
  min-height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  color: var(--text);
  font-size: 14px;
}

.sx-price-card.is-main a {
  color: #061018;
  background: linear-gradient(135deg, var(--accent), #dfe7ff);
  border-color: transparent;
}

@media (max-width: 1180px) {
  .sx-library-v9 .sx-app-library-grid,
  .sx-pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sx-library-v9 .sx-library-launcher-v9 {
    grid-template-columns: 210px 1fr;
  }
}

@media (max-width: 980px) {
  .sx-product-row,
  .sx-library-v9 .sx-library-launcher-v9 {
    grid-template-columns: 1fr;
  }

  .sx-library-v9 .sx-launcher-panel {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
  }

  .sx-library-v9 .sx-launcher-cats {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    max-height: none;
    padding-bottom: 3px;
  }

  .sx-library-v9 .sx-launcher-cats button {
    white-space: nowrap;
  }
}

@media (max-width: 720px) {
  .sx-library-hero-v9 {
    padding-top: 94px;
  }

  .sx-library-v9 .sx-library-title h1 {
    font-size: clamp(40px, 13vw, 58px);
    letter-spacing: -.065em;
  }

  .sx-library-v9 .sx-app-library-grid,
  .sx-pricing-grid {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .sx-library-v9 .sx-featured-app {
    flex-direction: column;
    align-items: flex-start;
  }

  .sx-library-v9 .sx-launcher-content {
    padding: 16px;
  }

  .sx-library-v9 .sx-library-launcher-v9 {
    border-radius: 26px;
  }
}


/* =========================
   SX27 ECOSYSTEM V10 — EYEBROW CLEANUP
   ========================= */

/* Keep the ecosystem/shop/library intro labels consistent with the studio:
   turquoise text only, no pill/rectangle treatment. */
.sx-home .eyebrow,
.sx-shop-page .eyebrow,
.sx-library-page .eyebrow {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin-bottom: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: var(--accent) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}


/* =========================
   SX27 ECOSYSTEM V12 — UNIFIED ACCENT + NO-SCROLL LAUNCHER
   ========================= */

/* Studio page accent alignment */
.studio .eyebrow,
body:not(.sx-home):not(.sx-subpage) .eyebrow,
.part-hero .eyebrow,
.services-section .eyebrow,
.offers-section .eyebrow {
  color: var(--accent) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Ecosystem labels: same turquoise, no rectangle */
.sx-home .eyebrow,
.sx-shop-page .eyebrow,
.sx-library-page .eyebrow {
  color: var(--accent) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Library: remove turquoise/blue gradients on key CTA elements, use solid SX27 accent */
.sx-library-v12 .button.primary,
.sx-library-v12 .sx-launcher-mark,
.sx-library-v12 .sx-price-card.is-main a {
  background: var(--accent) !important;
  color: #061018 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Library V12 launcher */
.sx-library-hero-v12 {
  min-height: 100svh;
  padding: 118px 0 72px;
}

.sx-library-v12 .sx-library-title {
  max-width: 940px;
  margin-bottom: 34px;
}

.sx-library-v12 .sx-library-title h1 {
  max-width: 940px;
  font-size: clamp(44px, 6.2vw, 86px);
  letter-spacing: -.075em;
  line-height: .9;
}

.sx-library-v12 .sx-library-title .lead {
  max-width: 800px;
  color: var(--text-soft);
}

.sx-library-v12 .sx-library-launcher-v12 {
  border: 1px solid var(--line);
  border-radius: 36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 74% 0%, rgba(138,239,255,.08), transparent 24rem);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.sx-library-v12 .sx-launcher-topbar {
  padding: 22px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 22px;
  align-items: start;
  background: rgba(255,255,255,.026);
}

.sx-library-v12 .sx-launcher-brand-row {
  display: flex;
  gap: 12px;
  align-items: center;
}

.sx-library-v12 .sx-launcher-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-weight: 800;
}

.sx-library-v12 .sx-launcher-brand-row strong {
  display: block;
  letter-spacing: -.02em;
}

.sx-library-v12 .sx-launcher-brand-row small {
  color: var(--muted);
}

.sx-library-v12 .sx-launcher-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
  overflow: visible !important;
}

.sx-library-v12 .sx-launcher-tabs button {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  padding: 10px 12px;
  color: var(--text-soft);
  background: rgba(255,255,255,.035);
  text-align: center;
  white-space: nowrap;
  transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}

.sx-library-v12 .sx-launcher-tabs button:hover,
.sx-library-v12 .sx-launcher-tabs button.is-active {
  color: var(--text);
  border-color: rgba(138,239,255,.28);
  background: rgba(138,239,255,.08);
}

.sx-library-v12 .sx-launcher-meta {
  padding: 22px 24px 0;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: end;
}

.sx-library-v12 .sx-launcher-meta span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-library-v12 .sx-launcher-meta h2 {
  margin-top: 7px;
  font-size: clamp(28px, 4vw, 52px);
}

.sx-library-v12 .sx-launcher-meta a {
  color: var(--text-soft);
  font-size: 14px;
  padding-bottom: 8px;
}

.sx-library-v12 .sx-launcher-stage {
  padding: 20px 24px 24px;
  display: grid;
  grid-template-columns: .9fr 1.2fr;
  gap: 16px;
  align-items: stretch;
}

.sx-library-v12 .sx-featured-app-v12 {
  min-height: 100%;
  border: 1px solid rgba(138,239,255,.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 8%, rgba(138,239,255,.10), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
}

.sx-library-v12 .sx-featured-app-v12 p {
  color: var(--accent);
  font-size: 13px;
  margin-bottom: 10px;
}

.sx-library-v12 .sx-featured-app-v12 h3 {
  font-size: clamp(38px, 5vw, 72px);
  letter-spacing: -.075em;
  line-height: .9;
  margin-bottom: 14px;
}

.sx-library-v12 .sx-featured-app-v12 span {
  display: block;
  color: var(--text-soft);
  max-width: 610px;
  line-height: 1.55;
}

.sx-library-v12 .sx-featured-app-v12 strong {
  align-self: flex-start;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: var(--text);
  background: rgba(255,255,255,.055);
  padding: 10px 13px;
  font-size: 13px;
}

.sx-library-v12 .sx-app-library-grid-v12 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  overflow: visible !important;
  max-height: none !important;
}

.sx-library-v12 .sx-launch-app-card {
  min-height: 190px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  padding: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  display: flex;
  flex-direction: column;
  transition: border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
  cursor: pointer;
}

.sx-library-v12 .sx-launch-app-card:hover,
.sx-library-v12 .sx-launch-app-card.is-selected {
  border-color: rgba(138,239,255,.30);
  background:
    linear-gradient(180deg, rgba(138,239,255,.08), rgba(255,255,255,.035));
  transform: translateY(-2px);
}

.sx-library-v12 .sx-launch-app-card[hidden] {
  display: none !important;
}

.sx-library-v12 .sx-launch-app-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 12px;
}

.sx-library-v12 .sx-launch-app-card h3 {
  margin-top: 26px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: .98;
}

.sx-library-v12 .sx-launch-app-card p {
  color: var(--text-soft);
  line-height: 1.48;
  font-size: 14px;
  margin-top: 12px;
  flex: 1;
}

.sx-library-v12 .sx-launch-app-card small {
  color: var(--muted);
}

/* Pricing stays clean and concrete */
.sx-library-v12 .sx-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.sx-library-v12 .sx-price-card {
  min-height: 470px;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  display: flex;
  flex-direction: column;
  box-shadow: 0 18px 64px rgba(0,0,0,.20);
}

.sx-library-v12 .sx-price-card.is-main {
  border-color: rgba(138,239,255,.32);
  background:
    radial-gradient(circle at 70% 0%, rgba(138,239,255,.09), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
}

@media (max-width: 1180px) {
  .sx-library-v12 .sx-launcher-stage {
    grid-template-columns: 1fr;
  }

  .sx-library-v12 .sx-pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 980px) {
  .sx-library-v12 .sx-launcher-topbar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .sx-library-hero-v12 {
    padding-top: 94px;
  }

  .sx-library-v12 .sx-library-title h1 {
    font-size: clamp(40px, 13vw, 58px);
    letter-spacing: -.065em;
  }

  .sx-library-v12 .sx-launcher-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .sx-library-v12 .sx-app-library-grid-v12,
  .sx-library-v12 .sx-pricing-grid {
    grid-template-columns: 1fr;
  }

  .sx-library-v12 .sx-library-launcher-v12 {
    border-radius: 26px;
  }

  .sx-library-v12 .sx-featured-app-v12 h3 {
    font-size: clamp(36px, 11vw, 54px);
  }
}


/* SX27 Studio V2 — local business offers */
.add-on-panel {
  margin-top: 26px;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 18px;
  align-items: center;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,.068), rgba(255,255,255,.030));
  box-shadow: var(--shadow);
  backdrop-filter: blur(22px) saturate(1.2);
}
.add-on-panel h3 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.add-on-panel p:not(.eyebrow) {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.6;
}
.addon-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.addon-grid span {
  display: block;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.78);
  font-weight: 760;
  letter-spacing: -.02em;
}
.price-top span {
  font-size: .82rem;
}
@media (max-width: 860px) {
  .add-on-panel,
  .addon-grid {
    grid-template-columns: 1fr;
  }
}


/* SX27 Studio V3 — header no-overlap + clearer offer scope */
html {
  scroll-padding-top: 132px !important;
}

body .site-header {
  position: sticky !important;
  top: 12px !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 12px auto 0 !important;
  z-index: 1200 !important;
  width: min(var(--container), calc(100% - 28px)) !important;
  background: rgba(2,4,9,.96) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: 0 18px 70px rgba(0,0,0,.44) !important;
}

body .site-header.is-scrolled {
  background: rgba(2,4,9,.985) !important;
  border-color: rgba(138,239,255,.22) !important;
}

body .part {
  scroll-margin-top: 132px !important;
}

body .hero.part-hero,
body .part-hero {
  padding-top: 96px !important;
}

.offer-scope-panel {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 18px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(138,239,255,.16);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 82% 0%, rgba(138,239,255,.075), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.058), rgba(255,255,255,.026));
  box-shadow: var(--shadow);
  backdrop-filter: blur(22px) saturate(1.2);
}

.offer-scope-panel h3 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.35vw, 2.05rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.offer-scope-panel p:not(.eyebrow) {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.6;
}

.scope-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.scope-grid article {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.035);
}

.scope-grid span {
  display: block;
  color: var(--blue);
  font-family: var(--font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  margin-bottom: 7px;
}

.scope-grid strong {
  display: block;
  color: rgba(246,249,255,.82);
  font-size: .92rem;
  line-height: 1.45;
}

@media (max-width: 860px) {
  body .site-header {
    top: 8px !important;
    margin-top: 8px !important;
    width: calc(100% - 20px) !important;
  }

  body .hero.part-hero,
  body .part-hero {
    padding-top: 78px !important;
  }

  body .part {
    scroll-margin-top: 104px !important;
  }

  .offer-scope-panel {
    grid-template-columns: 1fr;
    padding: 20px;
  }
}


/* SX27 Studio V4 — general rebuild polish */
.faq-section .lens-card,
.lens-section .lens-card {
  min-height: 100%;
}

.offer-scope-panel .scope-grid article,
.add-on-panel .addon-grid span {
  line-height: 1.35;
}

.pricing-card ul li {
  line-height: 1.5;
}

.hero-notes p {
  line-height: 1.35;
}

@media (max-width: 760px) {
  .trust-row {
    gap: 0.45rem;
  }

  .trust-row span {
    font-size: 0.72rem;
  }
}


/* SX27 Studio V5 — detailed client-first offers */
.offer-details,
.design-detail-card {
  margin-top: 1rem;
  border: 1px solid rgba(138, 239, 255, 0.14);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

.offer-details summary,
.design-detail-card summary {
  list-style: none;
  cursor: pointer;
  color: var(--text);
  font-weight: 800;
  letter-spacing: -0.01em;
  padding: 0.95rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.offer-details summary::-webkit-details-marker,
.design-detail-card summary::-webkit-details-marker {
  display: none;
}

.offer-details summary::after,
.design-detail-card summary::after {
  content: "+";
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 1rem;
  flex: 0 0 auto;
}

.offer-details[open] summary::after,
.design-detail-card[open] summary::after {
  content: "–";
}

.offer-detail-content {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0 1rem 1rem;
}

.offer-detail-content h4 {
  margin: 1rem 0 0.5rem;
  color: var(--accent);
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.offer-detail-content ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--muted);
}

.offer-detail-content li {
  margin: 0.42rem 0;
  line-height: 1.45;
}

.design-detail-card {
  margin: 0;
}

.design-detail-card p {
  margin: 0;
  padding: 0 1rem 1rem;
  color: var(--muted);
  line-height: 1.45;
}

.custom-offer-panel {
  margin-top: 1.5rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border-radius: 28px;
  border: 1px solid rgba(138, 239, 255, 0.16);
  background:
    radial-gradient(circle at 15% 15%, rgba(138, 239, 255, 0.09), transparent 32rem),
    rgba(255, 255, 255, 0.035);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
}

.custom-offer-panel h3 {
  margin: 0.2rem 0 0.6rem;
}

.custom-offer-panel p:last-child {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .custom-offer-panel {
    grid-template-columns: 1fr;
  }
}


/* SX27 Studio V6 — priority section replaces diagnostic */
.priority-section .sublead {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.priority-card {
  min-height: 100%;
  padding: clamp(1.1rem, 2.5vw, 1.55rem);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 12%, rgba(138, 239, 255, 0.08), transparent 18rem),
    rgba(255, 255, 255, 0.035);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.18);
}

.priority-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  border: 1px solid rgba(138, 239, 255, 0.24);
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  margin-bottom: 1rem;
  background: rgba(138, 239, 255, 0.045);
}

.priority-card h3 {
  margin: 0 0 0.7rem;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.priority-card p {
  color: var(--muted);
  line-height: 1.55;
}

.priority-card strong {
  display: block;
  margin-top: 1rem;
  color: var(--text);
  font-size: 0.92rem;
}

.decision-panel {
  margin-top: 1.25rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border-radius: 28px;
  border: 1px solid rgba(138, 239, 255, 0.16);
  background:
    linear-gradient(135deg, rgba(138, 239, 255, 0.06), rgba(255, 255, 255, 0.025)),
    rgba(255, 255, 255, 0.025);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  gap: 1.5rem;
  align-items: start;
}

.decision-panel h3 {
  margin: 0.2rem 0 0.75rem;
}

.decision-grid {
  display: grid;
  gap: 0.75rem;
}

.decision-grid article {
  padding: 1rem;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(0, 0, 0, 0.16);
}

.decision-grid span {
  display: block;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.45rem;
}

.decision-grid strong {
  display: block;
  color: var(--text);
  line-height: 1.35;
  font-size: 0.92rem;
}

@media (max-width: 980px) {
  .priority-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .priority-grid {
    grid-template-columns: 1fr;
  }
}


/* SX27 Studio V7 — conversion, trust, clean sections */
.offer-quick-grid {
  display: grid;
  gap: 0.75rem;
  margin: 1rem 0;
}

.offer-quick-grid div {
  padding: 0.9rem;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.03);
}

.offer-quick-grid span {
  display: block;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.offer-quick-grid strong {
  display: block;
  color: var(--text);
  line-height: 1.4;
  font-size: 0.92rem;
}

.pricing-grid-v7 .pricing-card > ul {
  display: none;
}

.process-grid-v7 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trust-panel {
  margin-top: 1.25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 28px;
  border: 1px solid rgba(138, 239, 255, 0.16);
  background:
    radial-gradient(circle at 12% 10%, rgba(138, 239, 255, 0.10), transparent 25rem),
    rgba(255, 255, 255, 0.035);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.9fr);
  gap: 1.5rem;
  align-items: center;
}

.trust-panel h3 {
  margin: 0.2rem 0 0.65rem;
}

.trust-panel p:last-child {
  margin-bottom: 0;
}

.trust-pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.trust-pill-grid span {
  border: 1px solid rgba(138, 239, 255, 0.17);
  background: rgba(138, 239, 255, 0.045);
  color: var(--text);
  border-radius: 999px;
  padding: 0.65rem 0.8rem;
  font-size: 0.86rem;
  line-height: 1;
}

@media (max-width: 980px) {
  .process-grid-v7 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .process-grid-v7 {
    grid-template-columns: 1fr;
  }
}


/* SX27 Studio V8 — clean production simplification */
.studio-clean-v8 .approach-section,
.studio-clean-v8 .priority-section,
.studio-clean-v8 .faq-section,
.studio-clean-v8 .lens-section {
  display: none !important;
}

.studio-clean-v8 .hero-copy .lead {
  max-width: 720px;
}

.hero-actions-inline {
  margin-top: 1.6rem;
}

.hero-panel-compact {
  margin-top: 1rem;
}

.service-grid-clean .service-card p {
  line-height: 1.52;
}

.pricing-grid-v8 .pricing-card > ul {
  display: none;
}

.pricing-grid-v8 .pricing-card {
  display: flex;
  flex-direction: column;
}

.offer-quick-grid {
  display: grid;
  gap: 0.75rem;
  margin: 1rem 0;
}

.offer-quick-grid div {
  padding: 0.9rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.03);
}

.offer-quick-grid span {
  display: block;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.offer-quick-grid strong {
  display: block;
  color: var(--text);
  line-height: 1.4;
  font-size: 0.92rem;
}

.compact-offer-panel,
.compact-design-panel,
.clean-scope-panel {
  margin-top: 1.25rem;
}

.compact-design-panel .addon-grid-compact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.compact-design-panel .addon-grid-compact span {
  border-radius: 16px;
  padding: 0.8rem 0.9rem;
  font-size: 0.9rem;
  line-height: 1.25;
}

.process-grid-v8 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trust-card {
  border-color: rgba(138,239,255,.22);
  background:
    radial-gradient(circle at 20% 10%, rgba(138,239,255,.12), transparent 18rem),
    rgba(255,255,255,.04);
}

.sx-coming-soon .sx-home-main {
  min-height: 100dvh;
}

.sx-coming-wrap {
  max-width: 1100px;
  padding-top: clamp(7rem, 12vw, 10rem);
  padding-bottom: clamp(4rem, 8vw, 7rem);
}

.sx-coming-wrap h1 {
  max-width: 760px;
  margin: 0.35rem 0 1rem;
}

.sx-coming-wrap .lead {
  max-width: 720px;
}

.sx-coming-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.sx-coming-card {
  padding: clamp(1.1rem, 2.4vw, 1.5rem);
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 15% 12%, rgba(138,239,255,.09), transparent 18rem),
    rgba(255,255,255,.035);
}

.sx-coming-card span {
  display: inline-flex;
  min-width: 2.2rem;
  height: 2.2rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.22);
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  margin-bottom: 1rem;
}

.sx-coming-card h2 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
}

.sx-coming-card p {
  color: var(--muted);
  line-height: 1.5;
}

.sx-coming-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

@media (max-width: 980px) {
  .process-grid-v8,
  .sx-coming-grid,
  .compact-design-panel .addon-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-nav {
    gap: 0.6rem;
  }
}

@media (max-width: 640px) {
  .process-grid-v8,
  .sx-coming-grid,
  .compact-design-panel .addon-grid-compact {
    grid-template-columns: 1fr;
  }
}


/* SX27 V9 — homepage ecosystem rebuild */
.sx-home-v9 .sx-home-hero {
  padding-bottom: clamp(4rem, 8vw, 7rem);
}

.sx-home-intro-v9 {
  max-width: 900px;
}

.sx-home-intro-v9 h1 {
  max-width: 900px;
}

.sx-home-intro-v9 .lead {
  max-width: 780px;
}

.sx-home-v9 .sx-choice-list li:last-child {
  color: rgba(246, 249, 255, 0.82);
}

.sx-ecosystem-section {
  margin-top: clamp(3rem, 7vw, 5rem);
}

.sx-ecosystem-head {
  max-width: 920px;
}

.sx-ecosystem-head h2 {
  margin: 0.35rem 0 0.85rem;
  max-width: 840px;
  font-size: clamp(1.65rem, 4vw, 3.2rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.sx-ecosystem-head p:last-child {
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(1rem, 1.8vw, 1.12rem);
  line-height: 1.58;
}

.sx-ecosystem-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1.5rem;
}

.sx-ecosystem-card {
  padding: clamp(1.1rem, 2.4vw, 1.45rem);
  min-height: 100%;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background:
    radial-gradient(circle at 18% 12%, rgba(138, 239, 255, 0.09), transparent 18rem),
    rgba(255, 255, 255, 0.035);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.20);
}

.sx-ecosystem-card span {
  display: inline-flex;
  min-width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(138, 239, 255, 0.22);
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  margin-bottom: 1rem;
  background: rgba(138, 239, 255, 0.045);
}

.sx-ecosystem-card h3 {
  margin: 0 0 0.55rem;
  font-size: 1.05rem;
  letter-spacing: -0.03em;
}

.sx-ecosystem-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.52;
  font-size: 0.92rem;
}

.sx-flow-panel {
  margin-top: 1rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 30px;
  border: 1px solid rgba(138, 239, 255, 0.16);
  background:
    linear-gradient(135deg, rgba(138, 239, 255, 0.07), rgba(255, 255, 255, 0.025)),
    rgba(255, 255, 255, 0.03);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
}

.sx-flow-panel h3 {
  margin: 0.2rem 0 0.55rem;
  font-size: clamp(1.25rem, 2.3vw, 1.8rem);
  letter-spacing: -0.04em;
}

.sx-flow-panel p:last-child {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.55;
  max-width: 760px;
}

@media (max-width: 1100px) {
  .sx-ecosystem-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .sx-flow-panel {
    grid-template-columns: 1fr;
  }

  .sx-ecosystem-grid {
    grid-template-columns: 1fr;
  }
}


/* SX27 V10 — home centered logo + ultra-light first-visit intro */
.sx-home-v10 .sx-home-header {
  justify-content: center;
  pointer-events: none;
}

.sx-home-v10 .sx-home-logo {
  pointer-events: auto;
}

.sx-intro {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 45%, rgba(138, 239, 255, 0.08), transparent 28rem),
    rgba(2, 4, 9, 0.98);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.sx-intro.is-visible {
  visibility: visible;
  animation: sxIntroFade 1.65s cubic-bezier(.16, 1, .3, 1) both;
}

.sx-intro-mark {
  display: grid;
  justify-items: center;
  gap: 1rem;
  transform: translateY(8px) scale(0.985);
  opacity: 0;
}

.sx-intro.is-visible .sx-intro-mark {
  animation: sxIntroMark 1.2s cubic-bezier(.16, 1, .3, 1) 0.08s both;
}

.sx-intro-mark img {
  width: min(52vw, 270px);
  height: auto;
  filter: drop-shadow(0 0 28px rgba(138, 239, 255, 0.10));
}

.sx-intro-mark span {
  color: rgba(138, 239, 255, 0.78);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

@keyframes sxIntroFade {
  0% {
    opacity: 1;
  }

  62% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes sxIntroMark {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
    filter: blur(8px);
  }

  35% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }

  78% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }

  100% {
    opacity: 0;
    transform: translateY(-5px) scale(1.008);
    filter: blur(4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sx-intro,
  .sx-intro.is-visible,
  .sx-intro.is-visible .sx-intro-mark {
    display: none !important;
    animation: none !important;
  }
}


/* SX27 V11 — homepage refonte simple */
.sx-home-v11 .sx-home-main {
  min-height: 100dvh;
}

.sx-home-v11-hero {
  padding: clamp(7rem, 12vw, 10rem) 0 clamp(4rem, 8vw, 7rem);
}

.sx-home-v11-wrap {
  display: grid;
  gap: clamp(1.4rem, 3vw, 2.3rem);
}

.sx-home-v11-intro {
  max-width: 860px;
}

.sx-home-v11-intro h1 {
  max-width: 820px;
  margin: 0.35rem 0 0.9rem;
  font-size: clamp(2.8rem, 8vw, 7.8rem);
  line-height: 0.9;
  letter-spacing: -0.09em;
}

.sx-home-v11-intro .lead {
  max-width: 760px;
  color: rgba(246, 249, 255, 0.74);
}

.sx-choice-layout-v11 {
  margin-top: 0.4rem;
}

.sx-choice-layout-v11 .sx-choice-modal {
  min-height: 390px;
}

.sx-choice-layout-v11 .sx-choice-content h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: -0.08em;
}

.sx-home-v11-panel {
  margin-top: 0.5rem;
  padding: clamp(1.35rem, 3vw, 2.2rem);
  border-radius: 34px;
  border: 1px solid rgba(138, 239, 255, 0.14);
  background:
    radial-gradient(circle at 12% 10%, rgba(138, 239, 255, 0.10), transparent 30rem),
    rgba(255, 255, 255, 0.035);
}

.sx-home-v11-panel h2 {
  max-width: 820px;
  margin: 0.25rem 0 0.75rem;
  font-size: clamp(1.55rem, 4vw, 3.4rem);
  line-height: 0.98;
  letter-spacing: -0.065em;
}

.sx-home-v11-panel p:last-child {
  max-width: 900px;
  color: var(--muted);
  line-height: 1.6;
}

.sx-home-v11-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.sx-home-v11-card {
  padding: clamp(1.1rem, 2.4vw, 1.55rem);
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.032);
}

.sx-home-v11-card span {
  display: inline-flex;
  color: var(--accent);
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  margin-bottom: 0.8rem;
}

.sx-home-v11-card h3 {
  margin: 0 0 0.55rem;
  letter-spacing: -0.04em;
}

.sx-home-v11-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.sx-home-v11-note {
  padding: clamp(1rem, 2.4vw, 1.4rem);
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(0, 0, 0, 0.16);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
}

.sx-home-v11-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.sx-home-v11-note strong {
  color: var(--text);
}

@media (max-width: 980px) {
  .sx-home-v11-grid {
    grid-template-columns: 1fr;
  }

  .sx-home-v11-note {
    grid-template-columns: 1fr;
  }
}


/* SX27 V12 — Library positioning polish */
.sx-library-v12 .sx-coming-wrap .lead {
  max-width: 760px;
}


/* SX27 V13 — header logo protection + Studio DA polish */

/* Header logo protection: transparent logo gets a real surface behind it */
.site-header {
  background:
    linear-gradient(180deg, rgba(2, 4, 9, 0.96), rgba(2, 4, 9, 0.78)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(18px);
}

.brand,
.sx-home-logo {
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 999px;
  background:
    radial-gradient(circle at 20% 20%, rgba(138, 239, 255, 0.08), transparent 12rem),
    rgba(2, 4, 9, 0.82);
  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  padding: 0.55rem 0.9rem;
}

.brand-logo,
.sx-home-logo img {
  display: block;
  position: relative;
  z-index: 1;
}

/* Home logo remains centered, but no longer floats invisibly over content */
.sx-home-v10 .sx-home-header {
  background: linear-gradient(180deg, rgba(2, 4, 9, 0.78), rgba(2, 4, 9, 0));
  min-height: 84px;
}

.sx-home-v10 .sx-home-logo {
  pointer-events: auto;
}

/* Page-local home icon */
.nav-home-icon,
.sx-section-home {
  width: 2.45rem;
  height: 2.45rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(138, 239, 255, 0.16);
  background: rgba(255, 255, 255, 0.035);
  color: var(--text);
  text-decoration: none;
  line-height: 1;
  font-size: 1rem;
}

.nav-home-icon:hover,
.sx-section-home:hover {
  border-color: rgba(138, 239, 255, 0.34);
  color: var(--accent);
  background: rgba(138, 239, 255, 0.055);
}

.sx-section-header {
  justify-content: center;
}

.sx-section-header .sx-section-home {
  position: absolute;
  right: clamp(1rem, 3vw, 2rem);
  top: 50%;
  transform: translateY(-50%);
}

/* Studio DA polish: less generic AI/SaaS, more editorial/product-studio */
.studio-clean-v8 {
  --studio-line: rgba(255, 255, 255, 0.105);
}

.studio-clean-v8 .part-hero {
  background:
    linear-gradient(180deg, rgba(2, 4, 9, 0.2), rgba(2, 4, 9, 0.96)),
    radial-gradient(circle at 78% 28%, rgba(138, 239, 255, 0.10), transparent 28rem);
}

.studio-clean-v8 .hero-grid {
  align-items: end;
}

.studio-clean-v8 .hero-copy h1 {
  max-width: 920px;
  letter-spacing: -0.085em;
}

.studio-clean-v8 .hero-copy .lead {
  max-width: 760px;
  color: rgba(246, 249, 255, 0.72);
}

.studio-clean-v8 .hero-visual {
  border-radius: 34px;
  border: 1px solid var(--studio-line);
  background:
    linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 86px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 86px);
  box-shadow: 0 40px 120px rgba(0,0,0,.32);
}

/* Tone down the "AI orbit" feeling */
.studio-clean-v8 .orb {
  opacity: 0.35;
  filter: blur(14px);
}

.studio-clean-v8 .system-orbit {
  transform: scale(0.94);
}

.studio-clean-v8 .orbit-card,
.studio-clean-v8 .system-core,
.studio-clean-v8 .output-dock {
  border-color: rgba(255,255,255,.105);
  background: rgba(2,4,9,.54);
  box-shadow: none;
}

.studio-clean-v8 .system-core span,
.studio-clean-v8 .orbit-card span,
.studio-clean-v8 .output-dock span {
  color: rgba(138, 239, 255, 0.75);
}

.studio-clean-v8 .service-card,
.studio-clean-v8 .pricing-card,
.studio-clean-v8 .process-card,
.studio-clean-v8 .custom-offer-panel,
.studio-clean-v8 .add-on-panel,
.studio-clean-v8 .offer-scope-panel,
.studio-clean-v8 .contact-card {
  border-radius: 22px;
  border-color: var(--studio-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.016));
  box-shadow: none;
}

.studio-clean-v8 .service-card {
  position: relative;
  padding-top: 1.35rem;
}

.studio-clean-v8 .service-card .icon {
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 12px;
  opacity: 0.62;
  filter: grayscale(1) contrast(1.08);
  background: rgba(255,255,255,.035);
}

.studio-clean-v8 .service-card h3,
.studio-clean-v8 .pricing-card h3,
.studio-clean-v8 .process-card h3 {
  letter-spacing: -0.045em;
}

.studio-clean-v8 .pricing-card.featured {
  border-color: rgba(138, 239, 255, 0.22);
  background:
    linear-gradient(180deg, rgba(138,239,255,.055), rgba(255,255,255,.018));
}

.studio-clean-v8 .offer-quick-grid div,
.studio-clean-v8 .offer-details,
.studio-clean-v8 .scope-grid article,
.studio-clean-v8 .addon-grid span {
  background: rgba(0,0,0,.16);
  border-color: rgba(255,255,255,.085);
}

.studio-clean-v8 .button.primary,
.studio-clean-v8 .nav-cta {
  box-shadow: 0 16px 54px rgba(138, 239, 255, 0.10);
}

.studio-clean-v8 .section-heading.center {
  max-width: 880px;
}

/* More distinctive thin separators */
.studio-clean-v8 .section {
  border-top: 1px solid rgba(255,255,255,.055);
}

@media (max-width: 780px) {
  .site-header {
    background: rgba(2, 4, 9, 0.96) !important;
  }

  .brand,
  .sx-home-logo {
    padding: 0.5rem 0.75rem;
  }

  .nav-home-icon {
    width: 2.35rem;
    height: 2.35rem;
  }
}


/* SX27 V14 — homepage logo ecosystem hero */
.sx-home-v14 .sx-home-header {
  opacity: 0;
  pointer-events: none;
}

.sx-home-v14 .sx-home-v11-hero {
  padding-top: clamp(5.8rem, 10vw, 8.5rem);
}

.sx-hero-brand-lockup {
  display: grid;
  justify-items: start;
  gap: 0.75rem;
  max-width: 1040px;
}

.sx-hero-logo {
  width: min(68vw, 520px);
  height: auto;
  margin-bottom: clamp(0.3rem, 1.5vw, 0.9rem);
  filter:
    drop-shadow(0 0 22px rgba(138, 239, 255, 0.10))
    drop-shadow(0 30px 90px rgba(0, 0, 0, 0.42));
}

.sx-hero-kicker {
  margin: 0;
  color: rgba(138, 239, 255, 0.82);
  font-family: var(--font-mono);
  font-size: clamp(0.68rem, 1.2vw, 0.82rem);
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.sx-home-v14 .sx-home-v11-intro h1 {
  max-width: 1000px;
  margin-top: 0.15rem;
  font-size: clamp(2.2rem, 6vw, 6.15rem);
  line-height: 0.92;
  letter-spacing: -0.085em;
}

.sx-home-v14 .sx-home-v11-intro .lead {
  max-width: 840px;
  font-size: clamp(1rem, 1.8vw, 1.22rem);
  line-height: 1.55;
}

.sx-home-v14 .sx-choice-layout-v11 {
  margin-top: clamp(0.4rem, 1.7vw, 1.1rem);
}

/* Tie the first-visit intro to the homepage hero: same text logic, same logo */
.sx-home-v14 .sx-intro-mark span {
  letter-spacing: 0.26em;
}

.sx-home-v14 .sx-intro-mark img {
  width: min(62vw, 440px);
}

@media (max-width: 760px) {
  .sx-hero-brand-lockup {
    justify-items: center;
    text-align: center;
  }

  .sx-home-v14 .sx-home-v11-intro .lead {
    margin-left: auto;
    margin-right: auto;
  }

  .sx-hero-logo {
    width: min(82vw, 420px);
  }
}


/* SX27 V15 — homepage clean logo + digital system */
.sx-home-v15 .sx-home-v11-hero {
  padding-top: clamp(5.2rem, 9vw, 7.2rem);
}

.sx-home-v15 .sx-home-v11-wrap {
  gap: clamp(1.2rem, 2.6vw, 1.85rem);
}

.sx-hero-brand-lockup-v15 {
  justify-items: center;
  text-align: center;
  max-width: 860px;
  margin-inline: auto;
  gap: 0.55rem;
}

.sx-home-v15 .sx-hero-logo {
  width: min(72vw, 560px);
  margin: 0;
  filter:
    drop-shadow(0 0 20px rgba(138, 239, 255, 0.08))
    drop-shadow(0 28px 88px rgba(0, 0, 0, 0.38));
}

.sx-home-v15 .sx-hero-kicker {
  margin: 0.2rem 0 0.25rem;
  color: rgba(138, 239, 255, 0.80);
  font-size: clamp(0.72rem, 1.25vw, 0.9rem);
  letter-spacing: 0.34em;
}

.sx-home-v15 .sx-home-v11-intro h1 {
  display: none !important;
}

.sx-home-v15 .sx-home-v11-intro .lead {
  max-width: 760px;
  margin: 0.7rem auto 0;
  color: rgba(246, 249, 255, 0.72);
  font-size: clamp(1rem, 1.7vw, 1.18rem);
  line-height: 1.55;
}

.sx-home-v15 .sx-choice-layout-v11 {
  margin-top: clamp(0.7rem, 2.2vw, 1.5rem);
}

.sx-home-v15 .sx-choice-layout-v11 .sx-choice-modal {
  min-height: 330px;
  padding: clamp(1.1rem, 2.2vw, 1.45rem);
}

.sx-home-v15 .sx-choice-layout-v11 .sx-choice-content h2 {
  font-size: clamp(1.55rem, 3vw, 2.45rem);
}

.sx-home-v15 .sx-choice-content p {
  line-height: 1.46;
}

.sx-home-v15 .sx-home-v11-panel {
  margin-top: 0.2rem;
}

.sx-home-v15 .sx-intro {
  background:
    radial-gradient(circle at 50% 44%, rgba(138, 239, 255, 0.07), transparent 24rem),
    rgba(2, 4, 9, 0.985);
}

.sx-home-v15 .sx-intro-mark {
  gap: 0.75rem;
}

.sx-home-v15 .sx-intro-mark img {
  width: min(68vw, 500px);
  filter:
    drop-shadow(0 0 20px rgba(138, 239, 255, 0.08))
    drop-shadow(0 26px 80px rgba(0, 0, 0, 0.42));
}

.sx-home-v15 .sx-intro-mark span {
  color: rgba(138, 239, 255, 0.78);
  letter-spacing: 0.34em;
}

.sx-home-v15 .sx-intro.is-visible {
  animation-duration: 1.55s;
}

.sx-home-v15 .sx-intro.is-visible .sx-intro-mark {
  animation-duration: 1.12s;
}

@media (max-width: 760px) {
  .sx-home-v15 .sx-hero-logo {
    width: min(84vw, 430px);
  }

  .sx-home-v15 .sx-hero-kicker,
  .sx-home-v15 .sx-intro-mark span {
    letter-spacing: 0.22em;
  }
}


/* SX27 V16 — cleaner ecosystem homepage + transparent subscription terms */
.sx-home-v16 .sx-home-v11-hero {
  padding-top: clamp(4.6rem, 8vw, 6.5rem);
}

.sx-home-v16 .sx-home-v11-wrap {
  gap: clamp(1rem, 2.2vw, 1.55rem);
}

.sx-home-v16 .sx-hero-brand-lockup-v15 {
  max-width: 820px;
}

.sx-home-v16 .sx-hero-logo {
  display: none;
}

.sx-hero-logo-system {
  display: inline-grid;
  justify-items: center;
  gap: clamp(0.45rem, 1.2vw, 0.7rem);
  margin: 0 auto;
}

.sx-hero-logo-system .sx-hero-mark {
  width: clamp(5.4rem, 13vw, 9rem);
  height: auto;
  filter:
    drop-shadow(0 0 18px rgba(138, 239, 255, 0.10))
    drop-shadow(0 26px 70px rgba(0, 0, 0, 0.42));
}

.sx-hero-logo-system strong {
  display: block;
  color: rgba(250, 252, 255, 0.98);
  font-size: clamp(4.1rem, 12vw, 9.2rem);
  line-height: 0.78;
  letter-spacing: -0.105em;
  font-weight: 860;
  text-transform: uppercase;
  text-shadow: 0 26px 80px rgba(0, 0, 0, 0.42);
}

.sx-home-v16 .sx-hero-kicker {
  margin-top: clamp(0.45rem, 1vw, 0.8rem);
}

.sx-home-v16 .sx-home-v11-intro .lead {
  max-width: 720px;
  margin-top: 0.55rem;
}

.sx-home-v16 .sx-choice-layout-v11 {
  align-items: stretch;
  margin-top: clamp(0.45rem, 1.5vw, 1rem);
}

.sx-home-v16 .sx-choice-layout-v11 .sx-choice-modal {
  min-height: 300px;
}

.sx-home-v16 .sx-home-v11-panel {
  max-width: 980px;
  margin-inline: auto;
  padding: clamp(1.15rem, 2.4vw, 1.7rem);
}

.sx-home-v16 .sx-home-v11-panel h2 {
  max-width: 760px;
  font-size: clamp(1.45rem, 3vw, 2.45rem);
  line-height: 1.02;
}

.sx-home-v16 .sx-home-v11-panel p:not(.eyebrow) {
  max-width: 780px;
}

.sx-intro-mark-v16 img {
  width: clamp(4.6rem, 14vw, 7.4rem) !important;
}

.sx-intro-mark-v16 strong {
  display: block;
  color: rgba(250, 252, 255, 0.98);
  font-size: clamp(3.6rem, 11vw, 8rem);
  line-height: 0.78;
  letter-spacing: -0.1em;
  font-weight: 860;
}

.subscription-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: clamp(1rem, 2.4vw, 1.5rem);
  align-items: center;
  margin-top: clamp(1rem, 2vw, 1.4rem);
  padding: clamp(1.15rem, 2.5vw, 1.65rem);
  border: 1px solid rgba(138, 239, 255, 0.16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 14% 8%, rgba(138, 239, 255, 0.10), transparent 17rem),
    linear-gradient(180deg, rgba(138,239,255,.04), rgba(255,255,255,.018));
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.24);
}

.subscription-panel h3 {
  max-width: 760px;
  margin: 0 0 0.55rem;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.35rem, 2.8vw, 2rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.subscription-panel p {
  max-width: 780px;
  margin: 0;
  color: rgba(246,249,255,.68);
  line-height: 1.6;
}

.subscription-points {
  display: grid;
  gap: 0.65rem;
}

.subscription-points span {
  display: block;
  padding: 0.82rem 0.95rem;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  background: rgba(0,0,0,.18);
  color: rgba(246,249,255,.78);
  font-size: 0.88rem;
  font-weight: 650;
}

@media (max-width: 860px) {
  .subscription-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .sx-home-v16 .sx-home-v11-hero {
    padding-top: 4.25rem;
  }

  .sx-hero-logo-system .sx-hero-mark {
    width: clamp(4.8rem, 22vw, 6.8rem);
  }

  .sx-hero-logo-system strong {
    font-size: clamp(3.6rem, 19vw, 6.4rem);
  }

  .sx-home-v16 .sx-choice-layout-v11 .sx-choice-modal {
    min-height: auto;
  }
}


/* SX27 V17 — global homepage logo cleanup + simpler ecosystem block */
.sx-home-v16.sx-home-v17 .sx-hero-logo-system {
  gap: 0;
}

.sx-home-v16.sx-home-v17 .sx-hero-logo-system .sx-hero-mark {
  width: clamp(9.6rem, 26vw, 20rem);
  filter:
    drop-shadow(0 0 20px rgba(138, 239, 255, 0.09))
    drop-shadow(0 28px 88px rgba(0, 0, 0, 0.42));
}

.sx-home-v16.sx-home-v17 .sx-hero-logo-system strong,
.sx-home-v16.sx-home-v17 .sx-intro-mark-v16 strong {
  display: none !important;
}

.sx-home-v16.sx-home-v17 .sx-intro-mark-v16 img {
  width: clamp(9rem, 28vw, 18rem) !important;
}

.sx-home-v16.sx-home-v17 .sx-home-v11-intro .lead {
  max-width: 700px;
  margin-top: 0.45rem;
}

.sx-home-v17-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(1rem, 2.4vw, 1.5rem);
}

.sx-home-v16 .sx-home-v17-panel h2 {
  max-width: 680px;
  font-size: clamp(1.5rem, 3vw, 2.65rem);
}

.sx-home-v16 .sx-home-v17-panel p:not(.eyebrow) {
  max-width: 760px;
}

.sx-home-v17-grid {
  margin-top: 0.1rem;
}

.sx-home-v17-grid .sx-home-v11-card span {
  letter-spacing: 0.11em;
}

@media (max-width: 760px) {
  .sx-home-v16.sx-home-v17 .sx-hero-logo-system .sx-hero-mark {
    width: min(70vw, 17rem);
  }

  .sx-home-v17-panel {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .sx-home-v17-panel .button {
    width: 100%;
    justify-content: center;
  }
}


/* SX27 V18 — structure cards under entry cards + final copy as a real section */
.sx-home-v18 .sx-home-v18-structure-grid {
  margin-top: clamp(0.7rem, 1.8vw, 1.15rem);
}

.sx-home-v18 .sx-home-v18-structure-grid .sx-home-v11-card {
  min-height: 0;
}

.sx-home-v18-final {
  width: min(100%, 920px);
  margin: clamp(1.35rem, 3vw, 2rem) auto 0;
  padding: clamp(0.25rem, 1vw, 0.4rem) clamp(0.2rem, 1vw, 0.4rem) 0;
  text-align: center;
}

.sx-home-v18-final h2 {
  max-width: 760px;
  margin: 0.35rem auto 0;
  color: rgba(250, 252, 255, 0.96);
  font-size: clamp(1.75rem, 4vw, 3.65rem);
  line-height: 0.98;
  letter-spacing: -0.07em;
}

.sx-home-v18-final p:not(.eyebrow) {
  max-width: 760px;
  margin: 0.75rem auto 0;
  color: rgba(246, 249, 255, 0.68);
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  line-height: 1.62;
}

.sx-home-v18-final .button {
  margin-top: clamp(1rem, 2vw, 1.35rem);
}

@media (max-width: 760px) {
  .sx-home-v18 .sx-home-v18-structure-grid {
    margin-top: 0.85rem;
  }

  .sx-home-v18-final {
    text-align: left;
    margin-top: 1.15rem;
  }

  .sx-home-v18-final h2,
  .sx-home-v18-final p:not(.eyebrow) {
    margin-left: 0;
    margin-right: 0;
  }

  .sx-home-v18-final .button {
    width: 100%;
    justify-content: center;
  }
}


/* SX27 V20 — requested visible order: entry cards, detail cards, then final structure copy */
.sx-home-v20 .sx-home-v18-structure-grid {
  margin-top: clamp(0.8rem, 2vw, 1.25rem);
}

.sx-home-v20 .sx-home-v18-final {
  width: 100%;
  max-width: none;
  margin: clamp(1.7rem, 3.8vw, 2.6rem) 0 0;
  padding: clamp(0.25rem, 1vw, 0.4rem) 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.sx-home-v20 .sx-home-v18-final h2,
.sx-home-v20 .sx-home-v18-final p:not(.eyebrow) {
  max-width: 860px;
}


/* V23 offers refinement */
.pricing-grid-v23 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.pricing-grid-v23 .pricing-card {
  min-height: 520px;
}

.price-top small {
  display: block;
  color: rgba(246,249,255,.52);
  font-size: .78rem;
  line-height: 1.35;
  font-weight: 700;
}

@media (max-width: 1180px) {
  .pricing-grid-v23 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .pricing-grid-v23 {
    grid-template-columns: 1fr;
  }
}


/* SX27 V24 — cleaner commercial offers + admin basics */
.studio-v24 .hero-notes p:first-child::before {
  content: "";
}

.studio-v24 .pricing-grid-v24 {
  align-items: stretch;
}

.studio-v24 .pricing-grid-v24 .pricing-card-v24 {
  min-height: 0;
  padding: clamp(1.1rem, 2vw, 1.45rem);
}

.studio-v24 .pricing-card-v24 > p {
  margin-top: 0.95rem;
  min-height: 4.8em;
  font-size: 0.95rem;
  line-height: 1.55;
}

.studio-v24 .price-top span {
  color: rgba(250,252,255,.98);
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  letter-spacing: -0.055em;
  text-transform: none;
}

.studio-v24 .price-top small {
  color: var(--accent);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  text-transform: none;
}

.offer-short-list {
  display: grid;
  gap: 0.62rem;
  margin: 1rem 0 1.15rem;
  padding: 0;
  list-style: none;
  color: rgba(246,249,255,.72);
  font-size: 0.9rem;
}

.offer-short-list li {
  position: relative;
  padding-left: 1.05rem;
  line-height: 1.42;
}

.offer-short-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 99px;
  background: var(--accent);
  box-shadow: 0 0 14px rgba(138,239,255,.32);
}

.launch-note,
.conditions-panel {
  margin-top: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.024));
  box-shadow: 0 22px 82px rgba(0,0,0,.22);
}

.launch-note {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr);
  gap: clamp(1rem, 2.4vw, 1.4rem);
  align-items: center;
  padding: clamp(1.05rem, 2.5vw, 1.55rem);
}

.launch-note h3,
.conditions-panel h3 {
  margin: 0 0 .55rem;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.28rem, 2.6vw, 1.9rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.launch-note p:not(.eyebrow),
.conditions-panel p:not(.eyebrow) {
  margin: 0;
  color: rgba(246,249,255,.66);
  line-height: 1.58;
}

.launch-note-points {
  display: grid;
  gap: .62rem;
}

.launch-note-points span {
  display: block;
  padding: .78rem .9rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(0,0,0,.18);
  color: rgba(246,249,255,.78);
  font-size: .86rem;
  font-weight: 720;
}

.conditions-panel {
  padding: clamp(1.05rem, 2.5vw, 1.65rem);
}

.conditions-head {
  max-width: 760px;
}

.conditions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-top: clamp(1rem, 2vw, 1.25rem);
}

.conditions-grid article {
  padding: .92rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 18px;
  background: rgba(0,0,0,.16);
}

.conditions-grid span,
.footer-admin span {
  display: block;
  color: var(--accent);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}

.conditions-grid strong {
  display: block;
  color: rgba(246,249,255,.78);
  font-size: .88rem;
  line-height: 1.45;
}

.footer-admin {
  max-width: 330px;
}

.footer-admin p {
  font-size: .86rem;
  color: rgba(246,249,255,.56);
}

@media (max-width: 980px) {
  .conditions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .launch-note {
    grid-template-columns: 1fr;
  }

  .conditions-grid {
    grid-template-columns: 1fr;
  }

  .studio-v24 .pricing-card-v24 > p {
    min-height: 0;
  }
}


/* V27 — studio modal net + service cards 2x2 + shop/library wording */
.studio-clean-v8 .orb {
  opacity: 0.28;
  filter: blur(10px);
}
.studio-clean-v8 .system-orbit {
  transform: none;
}
.studio-clean-v8 .orbit-card,
.studio-clean-v8 .system-core,
.studio-clean-v8 .output-dock {
  background: rgba(4, 8, 18, 0.82);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.studio-clean-v8 .orbit-card strong,
.studio-clean-v8 .system-core strong,
.studio-clean-v8 .output-dock strong {
  color: rgba(250,252,255,.96);
}
.studio-clean-v8 .hero-visual {
  overflow: hidden;
}
.studio-clean-v8 .service-grid.service-grid-clean {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.studio-clean-v8 .service-grid.service-grid-clean .service-card {
  grid-column: span 1;
  min-height: auto;
  padding: 24px;
}
.studio-clean-v8 .service-grid.service-grid-clean .service-card:nth-child(n) {
  grid-column: span 1;
  min-height: auto;
}
.studio-clean-v8 .service-grid.service-grid-clean .service-card h3 {
  margin-bottom: 10px;
}
.studio-clean-v8 .service-grid.service-grid-clean .service-card p {
  margin-bottom: 16px;
}
.studio-clean-v8 .service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.studio-clean-v8 .service-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: rgba(246,249,255,.82);
  font-size: .82rem;
  letter-spacing: -.01em;
}
@media (max-width: 780px) {
  .studio-clean-v8 .service-grid.service-grid-clean {
    grid-template-columns: 1fr;
  }
}


/* V28 — align intro logo with real homepage logo */
.sx-home-v16.sx-home-v17 .sx-intro {
  --sx-intro-target-x: 50vw;
  --sx-intro-target-y: 34vh;
  --sx-intro-target-w: clamp(9.6rem, 26vw, 20rem);
}
.sx-home-v16.sx-home-v17 .sx-intro {
  display: block;
}
.sx-home-v16.sx-home-v17 .sx-intro-mark {
  position: absolute;
  left: var(--sx-intro-target-x);
  top: var(--sx-intro-target-y);
  transform: translate(-50%, -50%) translateY(8px) scale(0.985);
  gap: 0.55rem;
}
.sx-home-v16.sx-home-v17 .sx-intro-mark-v16 img {
  width: var(--sx-intro-target-w) !important;
}
.sx-home-v16.sx-home-v17 .sx-intro.is-visible .sx-intro-mark {
  animation: sxIntroMarkAligned 1.2s cubic-bezier(.16, 1, .3, 1) 0.08s both;
}
@keyframes sxIntroMarkAligned {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(10px) scale(0.985);
    filter: blur(8px);
  }
  35% {
    opacity: 1;
    transform: translate(-50%, -50%) translateY(0) scale(1);
    filter: blur(0);
  }
  78% {
    opacity: 1;
    transform: translate(-50%, -50%) translateY(0) scale(1);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(-5px) scale(1.008);
    filter: blur(4px);
  }
}
@media (max-width: 760px) {
  .sx-home-v16.sx-home-v17 .sx-intro {
    --sx-intro-target-w: min(70vw, 17rem);
  }
}


/* V29 — final premium cleanup: shorter offers, subtler hero motion, cleaner legal/admin */
@keyframes sx27-float-soft-a {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -3px, 0); }
}
@keyframes sx27-float-soft-b {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(3px, 2px, 0); }
}
@keyframes sx27-float-soft-c {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-2px, 3px, 0); }
}
.studio-clean-v8 .pricing-card-v24 {
  min-height: auto;
  padding: clamp(1.15rem, 2vw, 1.45rem);
}
.studio-clean-v8 .pricing-card-v24 .price-top {
  margin-bottom: 1rem;
}
.studio-clean-v8 .offer-result {
  margin: 0 0 1rem;
  color: rgba(246,249,255,.74);
  font-size: .98rem;
  line-height: 1.45;
}
.studio-clean-v8 .offer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 1rem;
}
.studio-clean-v8 .offer-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: rgba(246,249,255,.80);
  font-size: .8rem;
  line-height: 1;
}
.studio-clean-v8 .offer-details-native {
  margin-top: .15rem;
  border-top: 1px solid rgba(255,255,255,.075);
  padding-top: .85rem;
}
.studio-clean-v8 .offer-details-native summary {
  cursor: pointer;
  color: rgba(138,239,255,.88);
  font-weight: 820;
  font-size: .9rem;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.studio-clean-v8 .offer-details-native summary::-webkit-details-marker { display: none; }
.studio-clean-v8 .offer-details-native summary::after {
  content: "+";
  width: 1.25rem;
  height: 1.25rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  color: rgba(246,249,255,.86);
  font-weight: 700;
}
.studio-clean-v8 .offer-details-native[open] summary::after { content: "−"; }
.studio-clean-v8 .offer-detail-body {
  padding-top: .9rem;
}
.studio-clean-v8 .offer-detail-body > strong {
  display: block;
  margin-bottom: .65rem;
  color: rgba(246,249,255,.92);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.studio-clean-v8 .offer-limit {
  margin: .85rem 0 0;
  color: rgba(246,249,255,.58);
  font-size: .86rem;
  line-height: 1.45;
}
.studio-clean-v8 .pricing-card-v24 .offer-link {
  margin-top: auto;
  transform: translateY(1rem);
}
.studio-clean-v8 .launch-note,
.studio-clean-v8 .conditions-panel {
  margin-top: clamp(1rem, 2vw, 1.4rem);
}
.studio-clean-v8 .conditions-grid strong {
  font-size: .9rem;
  line-height: 1.45;
}
@media (max-width: 780px) {
  .studio-clean-v8 .pricing-card-v24 .offer-link {
    transform: none;
  }
}


/* V30 — SX27 typography profile
   Syne = creative/premium display, Manrope = clean readable body, Space Mono = precise system labels. */
body {
  font-family: var(--font-body);
  font-weight: 500;
  letter-spacing: -0.011em;
}
.hero h1,
.section-heading h2,
.contact-card h2,
.proof-copy h2,
.sx-choice-content h2,
.sx-coming-wrap h1,
.price-top h3,
.service-card h3,
.process-card h3,
.conditions-head h3,
.launch-note h3,
.system-core strong,
.output-dock strong,
.orbit-card strong {
  font-family: var(--font-display);
  font-weight: 760;
  letter-spacing: -0.056em;
}
.hero h1,
.sx-coming-wrap h1 {
  letter-spacing: -0.066em;
}
.section-heading h2,
.contact-card h2,
.proof-copy h2 {
  letter-spacing: -0.06em;
}
.sx-choice-content h2 {
  font-weight: 780;
  letter-spacing: -0.065em;
}
.price-top h3,
.service-card h3,
.process-card h3 {
  font-weight: 720;
  letter-spacing: -0.048em;
}
.lead,
.sublead,
.sx-choice-content p,
.sx-coming-wrap .lead,
.service-card p,
.process-card p,
.pricing-card p,
.contact-card p,
.conditions-head p,
.conditions-grid strong,
.offer-limit,
.form-note {
  font-family: var(--font-body);
  font-weight: 500;
}
.eyebrow,
.sx-hero-kicker,
.sx-choice-kicker,
.sx-choice-number,
.step,
.metric-label,
.result-kicker,
.price-top small,
.price-top span,
.proof-item span,
.orbit-card span,
.system-core span,
.output-dock span,
.service-tags span,
.offer-tags span,
.launch-note-points span,
.conditions-grid span,
.sx-coming-card span {
  font-family: var(--font-mono);
  letter-spacing: 0.095em;
  font-weight: 700;
}
.sx-hero-kicker {
  letter-spacing: 0.22em;
}
.button,
.nav-cta,
.offer-link,
.offer-details-native summary,
.sx-choice-modal > strong,
.site-nav a,
.language-options button {
  font-family: var(--font-body);
  font-weight: 760;
  letter-spacing: -0.026em;
}
.sx-home-v16.sx-home-v17 .sx-hero-logo-system .sx-hero-mark,
.sx-home-v16.sx-home-v17 .sx-intro-mark-v16 img {
  filter:
    drop-shadow(0 0 18px rgba(138, 239, 255, 0.08))
    drop-shadow(0 28px 90px rgba(0, 0, 0, 0.46));
}
.sx-home-v11-intro .lead,
.studio-clean-v8 .hero-copy .lead,
.sx-coming-wrap .lead {
  line-height: 1.62;
}
.studio-clean-v8 .hero-copy h1 {
  max-width: 960px;
}
.studio-clean-v8 .service-tags span,
.studio-clean-v8 .offer-tags span {
  letter-spacing: -0.006em;
  font-family: var(--font-body);
  font-weight: 650;
}
.studio-clean-v8 .price-top span {
  font-family: var(--font-display);
  font-weight: 760;
  letter-spacing: -0.052em;
}
@media (max-width: 780px) {
  .hero h1,
  .section-heading h2,
  .contact-card h2,
  .proof-copy h2,
  .sx-coming-wrap h1 {
    letter-spacing: -0.052em;
  }
  .sx-hero-kicker {
    letter-spacing: 0.18em;
  }
}


/* V31 — offer details sync + monthly base price crossed */
.studio-clean-v8 .monthly-price {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  flex-wrap: wrap;
  margin-top: .35rem;
  color: rgba(246,249,255,.62);
  font-size: .86rem;
  line-height: 1.25;
}
.studio-clean-v8 .monthly-price s {
  color: rgba(246,249,255,.38);
  text-decoration-color: rgba(255,255,255,.42);
  text-decoration-thickness: 1.5px;
}
.studio-clean-v8 .monthly-price strong {
  color: rgba(138,239,255,.96);
  font-weight: 880;
}
.studio-clean-v8 .offer-details-native summary[data-detail-summary] {
  user-select: none;
}


/* V32 — typography reset: ultra premium, compact, modern */
body {
  letter-spacing: -0.006em;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

h1, h2, h3,
.sx-choice-content h2,
.price-top h3,
.system-core strong,
.output-dock strong,
.brand-text,
.brand-mark,
.sx-intro-mark-v16 strong,
.sx-hero-logo-system strong {
  font-family: var(--font-display);
}

h1,
.hero-copy h1,
.sx-home-v11-intro h1 {
  letter-spacing: -0.072em;
  font-weight: 800;
}

h2,
.section-heading h2,
.contact-card h2,
.sx-coming-wrap h1 {
  letter-spacing: -0.058em;
  font-weight: 760;
}

h3,
.service-card h3,
.pricing-card h3,
.process-card h3,
.conditions-panel h3,
.launch-note h3 {
  letter-spacing: -0.044em;
  font-weight: 720;
}

p,
li,
input,
textarea,
select,
button,
.button,
.nav-cta,
.offer-link,
.sx-choice-content p,
.sx-coming-card p {
  font-family: var(--font-body);
}

.eyebrow,
.step,
.metric-label,
.result-kicker,
.recommendation-grid span,
.price-top span,
.price-top small,
.sx-choice-kicker,
.sx-choice-number,
.sx-hero-kicker,
.sx-intro-mark span,
.service-tags span,
.offer-tags span,
.launch-note-points span,
.conditions-grid span {
  font-family: var(--font-mono);
  letter-spacing: 0.105em;
}

.button,
.nav-cta,
.offer-link {
  font-weight: 760;
  letter-spacing: -0.012em;
}

.sx-home-v16.sx-home-v17 .sx-hero-logo-system .sx-hero-mark,
.sx-home-v16.sx-home-v17 .sx-intro-mark-v16 img {
  filter:
    drop-shadow(0 0 18px rgba(138, 239, 255, 0.075))
    drop-shadow(0 24px 76px rgba(0, 0, 0, 0.42));
}

.sx-home-v15 .sx-hero-kicker,
.sx-home-v16 .sx-hero-kicker,
.sx-home-v15 .sx-intro-mark span,
.sx-hero-kicker {
  letter-spacing: 0.26em;
  font-weight: 600;
}

.hero-copy h1 {
  line-height: 0.94;
}

.section-heading h2 {
  line-height: 0.98;
}

.pricing-card,
.service-card,
.process-card,
.conditions-panel,
.launch-note,
.contact-card {
  letter-spacing: -0.004em;
}

.pricing-card p,
.service-card p,
.process-card p,
.conditions-grid strong,
.offer-details p,
.offer-detail-list li {
  line-height: 1.52;
}

@media (max-width: 760px) {
  h1,
  .hero-copy h1,
  .sx-home-v11-intro h1 {
    letter-spacing: -0.055em;
  }

  h2,
  .section-heading h2,
  .contact-card h2,
  .sx-coming-wrap h1 {
    letter-spacing: -0.045em;
  }

  .eyebrow,
  .step,
  .sx-choice-kicker,
  .sx-choice-number,
  .sx-hero-kicker,
  .sx-intro-mark span,
  .service-tags span,
  .offer-tags span {
    letter-spacing: 0.08em;
  }
}


/* V33 — MILLIARD premium identity polish */
body {
  font-family: var(--font-body);
  letter-spacing: -0.004em;
}

h1, h2, h3,
.hero-copy h1,
.section-heading h2,
.sx-choice-content h2,
.sx-coming-wrap h1,
.price-top h3,
.service-card h3,
.process-card h3,
.conditions-panel h3,
.launch-note h3,
.contact-card h2,
.system-core strong,
.output-dock strong {
  font-family: var(--font-display);
}

h1,
.hero-copy h1,
.sx-home-v11-intro h1 {
  font-weight: 850;
  letter-spacing: -0.058em;
  line-height: 0.94;
}

h2,
.section-heading h2,
.contact-card h2,
.sx-coming-wrap h1 {
  font-weight: 800;
  letter-spacing: -0.046em;
  line-height: 0.99;
}

h3,
.service-card h3,
.pricing-card h3,
.process-card h3,
.conditions-panel h3,
.launch-note h3 {
  font-weight: 700;
  letter-spacing: -0.034em;
}

p,
li,
input,
textarea,
select,
.sx-choice-content p,
.sx-coming-card p,
.pricing-card p,
.service-card p,
.process-card p,
.conditions-grid strong {
  font-weight: 400;
}

.lead,
.sublead,
.hero-copy .lead {
  font-weight: 400;
  letter-spacing: -0.012em;
}

.button,
.nav-cta,
.offer-link {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.eyebrow,
.step,
.metric-label,
.result-kicker,
.recommendation-grid span,
.price-top span,
.price-top small,
.sx-choice-kicker,
.sx-choice-number,
.sx-hero-kicker,
.sx-intro-mark span,
.service-tags span,
.offer-tags span,
.launch-note-points span,
.conditions-grid span {
  font-family: var(--font-mono);
  font-weight: 600;
  letter-spacing: 0.092em;
}

.sx-choice-content h2,
.sx-coming-card h2 {
  font-weight: 850;
}

.price-top span {
  font-family: var(--font-display);
  letter-spacing: -0.04em;
  font-weight: 850;
  text-transform: none;
}

.price-top small,
.monthly-price,
.monthly-old,
.monthly-new {
  font-family: var(--font-body);
}

@media (max-width: 760px) {
  h1,
  .hero-copy h1,
  .sx-home-v11-intro h1 {
    letter-spacing: -0.047em;
  }

  h2,
  .section-heading h2,
  .contact-card h2,
  .sx-coming-wrap h1 {
    letter-spacing: -0.038em;
  }
}


/* V35 — clearer offers, design system section and dedicated conditions page */
.studio-clean-v8 .offers-section .section-heading h2 {
  max-width: 760px;
}

.studio-clean-v8 .offer-detail-body > strong {
  margin-bottom: .75rem;
}

.studio-clean-v8 .offer-short-list {
  margin: .75rem 0 1rem;
}

.studio-clean-v8 .pricing-card-v24 .offer-link {
  margin-top: clamp(1rem, 1.6vw, 1.35rem);
  transform: none;
}

.studio-clean-v8 .offer-details-native[open] {
  margin-bottom: .35rem;
}

.design-section {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.08), transparent 25rem),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.026));
}

.design-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 56px;
}

.design-detail-card {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  overflow: hidden;
}

.design-detail-card summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 78px;
  padding: 1.15rem 1.25rem;
}

.design-detail-card summary::-webkit-details-marker {
  display: none;
}

.design-detail-card summary span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .11em;
  font-weight: 700;
}

.design-detail-card summary strong {
  margin-left: auto;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  letter-spacing: -.035em;
}

.design-detail-card summary::after {
  content: "+";
  width: 1.45rem;
  height: 1.45rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  color: rgba(246,249,255,.88);
  font-weight: 800;
  flex: 0 0 auto;
}

.design-detail-card[open] summary::after {
  content: "−";
}

.design-detail-body {
  padding: 0 1.25rem 1.25rem;
}

.design-detail-body p {
  margin: 0 0 1rem;
  color: rgba(246,249,255,.66);
  line-height: 1.5;
}

.design-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.design-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: rgba(246,249,255,.80);
  font-size: .8rem;
  font-weight: 650;
}

.design-note {
  display: flex;
  align-items: center;
  gap: .9rem;
  margin-top: 16px;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(0,0,0,.16);
}

.design-note span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 750;
  flex: 0 0 auto;
}

.design-note p {
  margin: 0;
  color: rgba(246,249,255,.62);
  font-size: .9rem;
  line-height: 1.45;
}

.admin-lite-section {
  padding-top: 72px;
  padding-bottom: 72px;
  background: linear-gradient(180deg, rgba(2,4,9,.94), rgba(5,9,20,.88));
}

.admin-lite-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: clamp(1.1rem, 2.5vw, 1.55rem);
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 26px;
  background: rgba(255,255,255,.026);
}

.admin-lite-card h2 {
  margin: 0 0 .45rem;
  font-size: clamp(1.32rem, 2.5vw, 1.9rem);
  letter-spacing: -.045em;
  line-height: 1.02;
}

.admin-lite-card p {
  margin: 0;
  max-width: 760px;
  color: rgba(246,249,255,.64);
  line-height: 1.5;
}

.sx-conditions-page .site-header {
  justify-content: space-between;
}

.sx-conditions-page .is-desktop-simple {
  display: flex;
}

.conditions-page-section {
  padding-top: clamp(8rem, 14vw, 11rem);
}

.conditions-page-hero {
  max-width: 860px;
}

.conditions-page-hero h1 {
  margin: .35rem 0 .9rem;
  font-family: var(--font-display);
  font-size: clamp(2.55rem, 7vw, 6.2rem);
  line-height: .9;
  letter-spacing: -.07em;
}

.conditions-page-hero p {
  margin: 0;
  color: rgba(246,249,255,.68);
  font-size: clamp(1rem, 1.7vw, 1.18rem);
  line-height: 1.58;
}

.conditions-page-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 56px;
}

.conditions-page-card {
  min-height: 210px;
  padding: 1.2rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
}

.conditions-page-card span {
  display: block;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 760;
  margin-bottom: .85rem;
}

.conditions-page-card h2 {
  margin: 0 0 .7rem;
  font-size: 1.22rem;
  letter-spacing: -.04em;
}

.conditions-page-card p {
  margin: 0;
  color: rgba(246,249,255,.65);
  line-height: 1.5;
  font-size: .94rem;
}

.conditions-page-cta {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
  margin-top: 28px;
}

@media (max-width: 980px) {
  .design-detail-grid,
  .conditions-page-grid {
    grid-template-columns: 1fr;
  }

  .admin-lite-card {
    grid-template-columns: 1fr;
  }

  .admin-lite-card .button {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 780px) {
  .design-detail-card summary {
    min-height: 68px;
    padding: 1rem;
  }

  .design-detail-body {
    padding: 0 1rem 1rem;
  }

  .design-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .conditions-page-section {
    padding-top: 7rem;
  }
}


/* V36 — short questionnaire modal */
.questionnaire-entry {
  align-items: center;
}

.questionnaire-entry-actions {
  display: grid;
  gap: .85rem;
  align-content: center;
}

.questionnaire-entry-actions .form-note {
  max-width: 360px;
}

body.questionnaire-open {
  overflow: hidden;
}

.questionnaire-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: clamp(.8rem, 2vw, 1.4rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}

.questionnaire-modal[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.questionnaire-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.08), transparent 32rem),
    rgba(2,4,9,.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.questionnaire-dialog {
  position: relative;
  width: min(960px, 100%);
  max-height: min(88vh, 920px);
  overflow: auto;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: clamp(24px, 3vw, 34px);
  background:
    linear-gradient(180deg, rgba(8,13,28,.96), rgba(3,6,14,.98)),
    radial-gradient(circle at 8% 0%, rgba(138,239,255,.12), transparent 25rem);
  box-shadow: 0 40px 140px rgba(0,0,0,.58);
}

.questionnaire-head {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding: clamp(1.15rem, 2.5vw, 1.6rem);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(4,8,18,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.questionnaire-head h2 {
  margin: .25rem 0 0;
  font-size: clamp(1.35rem, 3vw, 2.15rem);
  line-height: 1;
  letter-spacing: -.055em;
}

.questionnaire-close {
  width: 2.65rem;
  height: 2.65rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: var(--text);
  font-size: 1.35rem;
  cursor: pointer;
}

.questionnaire-form {
  padding: clamp(1rem, 2.5vw, 1.6rem);
}

.questionnaire-progress {
  height: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
  margin-bottom: clamp(1.1rem, 2vw, 1.4rem);
}

.questionnaire-progress span {
  display: block;
  width: 25%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), rgba(167,184,255,.92));
  transition: width .22s ease;
}

.question-step {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.question-step.is-active {
  display: block;
}

.question-step legend {
  margin-bottom: .75rem;
  color: rgba(250,252,255,.96);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  font-weight: 760;
  letter-spacing: -.045em;
}

.question-help {
  margin: 0 0 1rem;
  color: rgba(246,249,255,.62);
}

.question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.questionnaire-form label,
.full-label {
  display: grid;
  gap: .42rem;
  color: rgba(246,249,255,.80);
  font-size: .9rem;
  font-weight: 680;
}

.questionnaire-form input,
.questionnaire-form select,
.questionnaire-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 16px;
  color: var(--text);
  background: rgba(0,0,0,.24);
  outline: none;
}

.questionnaire-form select,
.questionnaire-form input {
  min-height: 52px;
}

.full-label {
  margin-top: .9rem;
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.option-grid label {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 54px;
  padding: .78rem .85rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.76);
  line-height: 1.25;
}

.option-grid input {
  width: 17px;
  height: 17px;
  min-height: 0;
  accent-color: var(--accent);
}

.questionnaire-actions,
.questionnaire-result-actions {
  display: flex;
  justify-content: flex-end;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}

.questionnaire-result {
  margin-top: 1.35rem;
  padding: clamp(1rem, 2vw, 1.25rem);
  border: 1px solid rgba(138,239,255,.16);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 0%, rgba(138,239,255,.10), transparent 18rem),
    rgba(255,255,255,.035);
}

.questionnaire-result h3 {
  margin: .2rem 0 .85rem;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  letter-spacing: -.04em;
}

.questionnaire-result textarea {
  width: 100%;
  min-height: 250px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 1rem;
  resize: vertical;
  color: rgba(246,249,255,.86);
  background: rgba(0,0,0,.26);
  font-family: var(--font-mono);
  font-size: .82rem;
  line-height: 1.55;
}

@media (max-width: 780px) {
  .questionnaire-dialog {
    max-height: 92vh;
  }

  .question-grid,
  .option-grid {
    grid-template-columns: 1fr;
  }

  .questionnaire-actions,
  .questionnaire-result-actions {
    justify-content: stretch;
  }

  .questionnaire-actions .button,
  .questionnaire-result-actions .button {
    width: 100%;
    justify-content: center;
  }
}


/* V37 — value section before questionnaire */
.value-section {
  background:
    radial-gradient(circle at 80% 0%, rgba(138,239,255,.075), transparent 26rem),
    linear-gradient(180deg, rgba(255,255,255,.014), rgba(255,255,255,.026));
}

.value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 56px;
}

.value-card {
  min-height: 210px;
  padding: 1.15rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.018));
}

.value-card span {
  display: inline-flex;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .11em;
  font-weight: 760;
  margin-bottom: 1rem;
}

.value-card h3 {
  margin: 0 0 .75rem;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.05rem, 1.7vw, 1.32rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.value-card p {
  margin: 0;
  color: rgba(246,249,255,.64);
  font-size: .94rem;
  line-height: 1.5;
}

@media (max-width: 1080px) {
  .value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .value-grid {
    grid-template-columns: 1fr;
  }

  .value-card {
    min-height: auto;
  }
}


/* V38 — cleaner subscription, priced design cards, conditions page header, responsive polish */
html, body {
  max-width: 100%;
}

@media (max-width: 780px) {
  .container {
    width: min(var(--container), calc(100% - 32px));
  }

  .site-header {
    width: calc(100% - 20px);
    top: 10px;
  }

  .part-hero,
  .conditions-page-section {
    padding-left: 0;
    padding-right: 0;
  }
}

.subscription-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr);
  gap: clamp(1rem, 2.4vw, 1.4rem);
  align-items: center;
  margin-top: clamp(1rem, 2vw, 1.35rem);
  padding: clamp(1.05rem, 2.5vw, 1.55rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.subscription-strip h3 {
  margin: 0 0 .55rem;
  max-width: 760px;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.22rem, 2.4vw, 1.75rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.subscription-strip p:not(.eyebrow) {
  margin: 0;
  color: rgba(246,249,255,.64);
  line-height: 1.55;
}

.subscription-strip-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
}

.subscription-strip-points span {
  display: block;
  padding: .75rem .85rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(0,0,0,.16);
  color: rgba(246,249,255,.78);
  font-size: .84rem;
  font-weight: 700;
}

.design-detail-card summary {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
}

.design-detail-card summary em {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 .7rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  color: rgba(138,239,255,.92);
  background: rgba(138,239,255,.06);
  font-style: normal;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .04em;
  white-space: nowrap;
}

.question-block {
  margin-top: 1rem;
}

.question-block:first-child {
  margin-top: 0;
}

.option-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.conditional-question {
  margin-top: 1rem;
  padding: .95rem;
  border: 1px solid rgba(138,239,255,.12);
  border-radius: 18px;
  background: rgba(138,239,255,.035);
}

.questionnaire-result-copy {
  margin: 0 0 1rem;
  color: rgba(246,249,255,.64);
  line-height: 1.5;
}

.sx-conditions-page .site-header {
  position: fixed;
}

.sx-conditions-page .site-nav.is-desktop-simple {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  display: flex !important;
  flex-direction: row !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.sx-conditions-page .site-nav.is-desktop-simple a:not(.nav-cta) {
  display: inline-flex;
}

@media (max-width: 980px) {
  .subscription-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .subscription-strip-points,
  .option-grid.compact {
    grid-template-columns: 1fr;
  }

  .design-detail-card summary {
    grid-template-columns: auto 1fr;
  }

  .design-detail-card summary em {
    grid-column: 2;
    justify-self: start;
  }

  .design-detail-card summary::after {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .questionnaire-modal {
    padding: 10px;
  }

  .questionnaire-dialog {
    width: min(100%, calc(100vw - 20px));
    max-height: calc(100dvh - 20px);
    border-radius: 22px;
  }

  .questionnaire-head,
  .questionnaire-form {
    padding: 1rem;
  }

  .sx-conditions-page .site-nav.is-desktop-simple a:not(.nav-cta) {
    display: none;
  }
}


/* V38b — simple conditions page nav, no mobile overlay/modal behavior */
.sx-conditions-page .conditions-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: auto;
}

.sx-conditions-page .conditions-nav a:not(.nav-cta) {
  color: rgba(246,249,255,.72);
  font-size: .9rem;
  font-weight: 650;
}

.sx-conditions-page .conditions-nav a:not(.nav-cta):hover {
  color: var(--text);
}

@media (max-width: 780px) {
  .sx-conditions-page .conditions-nav a:not(.nav-cta) {
    display: none;
  }

  .sx-conditions-page .conditions-nav .nav-cta {
    padding-inline: .8rem;
    min-height: 2.35rem;
    font-size: .82rem;
  }
}


/* V39 — rebuilt image & graphisme section */
.design-section-v39 {
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.085), transparent 26rem),
    radial-gradient(circle at 88% 22%, rgba(167,184,255,.07), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.026));
}

.design-v39-layout {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(18px, 3vw, 28px);
  align-items: start;
  margin-top: 56px;
}

.design-v39-intro {
  position: sticky;
  top: 116px;
  padding: clamp(1.15rem, 2.4vw, 1.45rem);
  border: 1px solid rgba(138,239,255,.13);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.11), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.018));
}

.design-v39-intro h3 {
  margin: .35rem 0 1rem;
  max-width: 460px;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.35rem, 2.7vw, 2.05rem);
  line-height: 1;
  letter-spacing: -.052em;
}

.design-v39-points {
  display: grid;
  gap: .62rem;
}

.design-v39-points span {
  display: block;
  padding: .78rem .9rem;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 16px;
  background: rgba(0,0,0,.17);
  color: rgba(246,249,255,.74);
  font-size: .9rem;
  line-height: 1.25;
}

.design-v39-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.design-v39-card {
  min-height: 250px;
  padding: clamp(1.05rem, 2vw, 1.25rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  display: flex;
  flex-direction: column;
}

.design-v39-card.design-v39-wide {
  grid-column: 1 / -1;
  min-height: 190px;
}

.design-v39-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .55rem .8rem;
  align-items: center;
  margin-bottom: .85rem;
}

.design-v39-head span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .11em;
  font-weight: 760;
}

.design-v39-head strong {
  color: rgba(250,252,255,.96);
  font-size: clamp(1.05rem, 1.65vw, 1.25rem);
  letter-spacing: -.04em;
  line-height: 1.05;
}

.design-v39-head em {
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  color: rgba(138,239,255,.92);
  background: rgba(138,239,255,.06);
  font-style: normal;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .04em;
}

.design-v39-card p {
  margin: 0 0 1rem;
  color: rgba(246,249,255,.66);
  line-height: 1.48;
  font-size: .94rem;
}

.design-v39-card .design-tags {
  margin-top: auto;
}

@media (max-width: 980px) {
  .design-v39-layout {
    grid-template-columns: 1fr;
  }

  .design-v39-intro {
    position: relative;
    top: auto;
  }
}

@media (max-width: 680px) {
  .design-v39-grid {
    grid-template-columns: 1fr;
  }

  .design-v39-card,
  .design-v39-card.design-v39-wide {
    min-height: auto;
  }
}


/* V40 — full clear graphisme card */
.design-section-v40 {
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.07), transparent 28rem),
    radial-gradient(circle at 90% 18%, rgba(167,184,255,.06), transparent 26rem),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.026));
}
.design-master-card {
  margin-top: 56px;
  padding: clamp(1.1rem, 2.5vw, 1.6rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.design-master-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 1rem 1.25rem;
  align-items: end;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.design-master-intro h3 {
  margin: .35rem 0 .6rem;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.02;
  letter-spacing: -.05em;
}
.design-master-intro p {
  margin: 0;
  max-width: 760px;
  color: rgba(246,249,255,.66);
  line-height: 1.55;
}
.design-master-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .55rem;
}
.design-master-pills span,
.design-line-label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.80);
  font-size: .76rem;
  font-weight: 700;
}
.design-line-label {
  margin-bottom: .7rem;
  color: rgba(138,239,255,.92);
  border-color: rgba(138,239,255,.16);
  background: rgba(138,239,255,.05);
}
.design-master-list {
  display: grid;
  gap: 12px;
  margin-top: 1rem;
}
.design-line-card {
  padding: 1rem 1.05rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: rgba(0,0,0,.15);
}
.design-line-top {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: .7rem;
  align-items: center;
  margin-bottom: .9rem;
}
.design-line-number {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .11em;
  font-weight: 760;
}
.design-line-top strong {
  color: rgba(250,252,255,.96);
  font-size: clamp(1.05rem,1.8vw,1.25rem);
  letter-spacing: -.04em;
  line-height: 1.05;
}
.design-line-top em {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  color: rgba(138,239,255,.92);
  background: rgba(138,239,255,.06);
  font-style: normal;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .04em;
  white-space: nowrap;
}
.design-line-grid {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: 1rem 1.2rem;
}
.design-line-grid p {
  margin: 0;
  color: rgba(246,249,255,.66);
  line-height: 1.5;
  font-size: .94rem;
}
@media (max-width: 980px) {
  .design-master-intro {
    grid-template-columns: 1fr;
  }
  .design-master-pills {
    justify-content: flex-start;
  }
}
@media (max-width: 760px) {
  .design-master-card {
    padding: 1rem;
    border-radius: 24px;
  }
  .design-line-top,
  .design-line-grid {
    grid-template-columns: 1fr;
  }
  .design-line-top {
    gap: .55rem;
  }
  .design-line-top em {
    justify-self: start;
  }
}


/* V41 — catalog graphisme with per-item pricing */
.design-section-v41 {
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.07), transparent 28rem),
    radial-gradient(circle at 90% 18%, rgba(167,184,255,.06), transparent 26rem),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.026));
}
.design-catalog-card {
  margin-top: 56px;
  padding: clamp(1.1rem, 2.4vw, 1.55rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.design-catalog-head {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.design-catalog-head h3 {
  margin: .35rem 0 .6rem;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.02;
  letter-spacing: -.05em;
}
.design-catalog-head p {
  margin: 0;
  max-width: 780px;
  color: rgba(246,249,255,.66);
  line-height: 1.55;
}
.design-catalog-list {
  display: grid;
  gap: 12px;
  margin-top: 1rem;
}
.design-catalog-item {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: rgba(0,0,0,.15);
  overflow: hidden;
}
.design-catalog-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 1.05rem;
}
.design-catalog-item summary::-webkit-details-marker { display:none; }
.design-catalog-top {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: .7rem;
  align-items: center;
}
.design-catalog-number {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .11em;
  font-weight: 760;
}
.design-catalog-top strong {
  color: rgba(250,252,255,.96);
  font-size: clamp(1.05rem,1.8vw,1.25rem);
  letter-spacing: -.04em;
  line-height: 1.05;
}
.design-catalog-top em {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  color: rgba(138,239,255,.92);
  background: rgba(138,239,255,.06);
  font-style: normal;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .04em;
  white-space: nowrap;
}
.design-catalog-item summary p {
  margin: .72rem 0 0;
  color: rgba(246,249,255,.66);
  line-height: 1.5;
  font-size: .94rem;
  max-width: 760px;
}
.design-catalog-toggle {
  margin-top: .8rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: rgba(138,239,255,.9);
  font-weight: 760;
  font-size: .9rem;
}
.design-catalog-toggle::after {
  content: '+';
  width: 1.25rem;
  height: 1.25rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  color: rgba(246,249,255,.86);
}
.design-catalog-item[open] .design-catalog-toggle::after { content: '−'; }
.design-catalog-body {
  padding: 0 1.05rem 1.05rem;
}
.design-price-list {
  list-style: none;
  padding: 0;
  margin: .2rem 0 0;
  display: grid;
  gap: 8px;
}
.design-price-list li {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .8rem;
  align-items: center;
  min-height: 48px;
  padding: .82rem .9rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
}
.design-price-list li span {
  color: rgba(246,249,255,.82);
  line-height: 1.35;
}
.design-price-list li strong {
  color: rgba(250,252,255,.96);
  font-size: .95rem;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .design-catalog-card {
    padding: 1rem;
    border-radius: 24px;
  }
  .design-catalog-top,
  .design-price-list li {
    grid-template-columns: 1fr;
  }
  .design-catalog-top em,
  .design-price-list li strong {
    justify-self: start;
  }
}


/* V42 — request modal choice: free message or short questionnaire */
.request-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  padding: 1rem clamp(1rem, 2.5vw, 1.6rem) 0;
}

.request-tab {
  min-height: 48px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.72);
  cursor: pointer;
  font-weight: 760;
}

.request-tab.is-active {
  border-color: rgba(138,239,255,.34);
  background: rgba(138,239,255,.08);
  color: rgba(250,252,255,.96);
}

.request-intro {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(0,0,0,.16);
}

.request-intro h3 {
  margin: 0 0 .45rem;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  letter-spacing: -.04em;
}

.request-intro p {
  margin: 0;
  color: rgba(246,249,255,.62);
  line-height: 1.48;
}

.request-form[hidden] {
  display: none !important;
}

.request-dialog .questionnaire-progress,
.request-dialog .question-step {
  display: none !important;
}

.request-dialog .questionnaire-form {
  padding-top: 1rem;
}

.request-dialog .questionnaire-actions {
  justify-content: flex-start;
}

.request-dialog .questionnaire-result {
  margin: 0 clamp(1rem, 2.5vw, 1.6rem) clamp(1rem, 2.5vw, 1.6rem);
}

@media (max-width: 700px) {
  .request-choice {
    grid-template-columns: 1fr;
  }
}


/* V43 — clearer offer use cases */
.studio-clean-v8 .offer-use {
  margin: -.35rem 0 1rem;
  color: rgba(246,249,255,.58);
  font-size: .86rem;
  line-height: 1.42;
}

.studio-clean-v8 .pricing-card-v24 .offer-tags {
  margin-bottom: 1rem;
}

.studio-clean-v8 .pricing-card-v24 .offer-result {
  min-height: 0;
}

@media (max-width: 780px) {
  .studio-clean-v8 .offer-use {
    margin-top: -.15rem;
  }
}


/* V44 — guided questionnaire pages + form color correction */
.request-dialog select,
.request-dialog input,
.request-dialog textarea {
  color: rgba(246,249,255,.94);
  background: rgba(3,7,16,.72);
  border-color: rgba(255,255,255,.13);
}
.request-dialog select option {
  color: #f6f9ff;
  background: #050914;
}
.request-dialog select:focus,
.request-dialog input:focus,
.request-dialog textarea:focus {
  border-color: rgba(138,239,255,.38);
  box-shadow: 0 0 0 3px rgba(138,239,255,.08);
}
.request-dialog [data-request-guided] .questionnaire-progress {
  display: block !important;
  margin-bottom: 1rem;
}
.request-dialog [data-request-guided] .question-step {
  display: none !important;
  margin: 0;
  padding: 0;
  border: 0;
}
.request-dialog [data-request-guided] .question-step.is-active {
  display: block !important;
}
.request-dialog [data-request-guided] .question-step legend {
  margin-bottom: .9rem;
  color: rgba(250,252,255,.96);
  font-family: var(--font-display);
  font-size: clamp(1.22rem, 2.4vw, 1.7rem);
  font-weight: 760;
  letter-spacing: -.045em;
}
.guided-actions {
  justify-content: space-between !important;
}
@media (max-width: 780px) {
  .guided-actions {
    justify-content: stretch !important;
  }
}


/* V45 — graphisme section compact like offers */
.design-section-v45 {
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.07), transparent 28rem),
    radial-gradient(circle at 90% 18%, rgba(167,184,255,.06), transparent 26rem),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.026));
}
.design-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 56px;
}
.design-pricing-card {
  min-height: 100%;
}
.design-pricing-card .offer-result {
  min-height: 0;
}
.design-pricing-card .offer-tags {
  margin-bottom: 1rem;
}
.design-pricing-card-wide {
  grid-column: span 2;
}
.design-detail-native .offer-detail-body strong {
  margin-bottom: .8rem;
}
.design-price-list {
  list-style: none;
  padding: 0;
  margin: .15rem 0 0;
  display: grid;
  gap: 8px;
}
.design-price-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  min-height: 46px;
  padding: .82rem .9rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
}
.design-price-list li span {
  color: rgba(246,249,255,.82);
  line-height: 1.35;
}
.design-price-list li strong {
  color: rgba(250,252,255,.96);
  font-size: .95rem;
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .design-pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .design-pricing-card-wide {
    grid-column: span 2;
  }
}
@media (max-width: 780px) {
  .design-pricing-grid {
    grid-template-columns: 1fr;
  }
  .design-pricing-card-wide {
    grid-column: span 1;
  }
  .design-price-list li {
    grid-template-columns: 1fr;
  }
  .design-price-list li strong {
    justify-self: start;
  }
}


/* V46 — graphisme layout 4 cards + full width below, plus dynamic request follow-up */
.design-section-v46 .design-pricing-grid-v46 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 56px;
}
.design-section-v46 .design-pricing-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.design-section-v46 .design-pricing-card .offer-result {
  min-height: 0;
}
.design-section-v46 .design-pricing-card .design-buy-link {
  margin-top: auto;
}
.design-section-v46 .design-pricing-card-fullwidth {
  grid-column: 1 / -1;
}
.design-section-v46 .design-price-list {
  list-style: none;
  padding: 0;
  margin: .15rem 0 0;
  display: grid;
  gap: 8px;
}
.design-section-v46 .design-price-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  min-height: 46px;
  padding: .82rem .9rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
}
.design-section-v46 .design-price-list li span {
  color: rgba(246,249,255,.82);
  line-height: 1.35;
}
.design-section-v46 .design-price-list li strong {
  color: rgba(250,252,255,.96);
  font-size: .95rem;
  white-space: nowrap;
}
.conditional-request-block {
  margin: .35rem 0 .25rem;
  padding: .95rem;
  border: 1px solid rgba(138,239,255,.12);
  border-radius: 18px;
  background: rgba(138,239,255,.035);
}
.conditional-multiselect {
  margin-top: .8rem;
}
@media (max-width: 1180px) {
  .design-section-v46 .design-pricing-grid-v46 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .design-section-v46 .design-pricing-card-fullwidth {
    grid-column: 1 / -1;
  }
}
@media (max-width: 780px) {
  .design-section-v46 .design-pricing-grid-v46,
  .design-section-v46 .design-pricing-card-fullwidth {
    grid-template-columns: 1fr;
    grid-column: auto;
  }
  .design-section-v46 .design-price-list li {
    grid-template-columns: 1fr;
  }
  .design-section-v46 .design-price-list li strong {
    justify-self: start;
  }
}


/* V50 — spacing between graphisme detail toggle and action button */
.design-section-v46 .design-pricing-card .design-detail-native {
  margin-bottom: 1.1rem;
}

.design-section-v46 .design-pricing-card .design-buy-link {
  margin-top: 1.1rem;
}

.design-section-v46 .design-pricing-card .design-detail-native[open] {
  margin-bottom: 1.25rem;
}

@media (max-width: 780px) {
  .design-section-v46 .design-pricing-card .design-detail-native {
    margin-bottom: 1rem;
  }

  .design-section-v46 .design-pricing-card .design-buy-link {
    margin-top: 1rem;
  }
}


/* V51 — compact request CTA before modal */
.contact-section-v51 {
  padding-top: clamp(4.5rem, 8vw, 6.8rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.request-cta-card {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(240px, .7fr) auto;
  gap: clamp(1rem, 2.2vw, 1.4rem);
  align-items: center;
  padding: clamp(1.05rem, 2.2vw, 1.45rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.08), transparent 24rem),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.request-cta-copy h2 {
  margin: .35rem 0 .6rem;
  max-width: 720px;
  font-size: clamp(1.35rem, 2.8vw, 2.25rem);
  line-height: 1;
  letter-spacing: -.055em;
}

.request-cta-copy p:not(.eyebrow) {
  margin: 0;
  max-width: 680px;
  color: rgba(246,249,255,.66);
  line-height: 1.5;
}

.request-cta-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: .55rem;
}

.request-cta-options span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 .85rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(0,0,0,.16);
  color: rgba(246,249,255,.78);
  font-size: .88rem;
  font-weight: 720;
  white-space: nowrap;
}

.request-cta-action {
  display: flex;
  justify-content: flex-end;
}

.request-cta-action .button {
  white-space: nowrap;
}

@media (max-width: 980px) {
  .request-cta-card {
    grid-template-columns: 1fr;
  }

  .request-cta-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .request-cta-action {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .request-cta-options {
    grid-template-columns: 1fr;
  }

  .request-cta-action .button {
    width: 100%;
    justify-content: center;
  }
}


/* V52 — align offer/action buttons horizontally on desktop */
@media (min-width: 781px) {
  .pricing-grid-v24 {
    align-items: stretch;
  }

  .pricing-grid-v24 .pricing-card-v24 {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-details-native {
    margin-top: auto;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-link {
    margin-top: 1rem;
  }

  .design-section-v46 .design-pricing-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .design-section-v46 .design-pricing-card .design-detail-native {
    margin-top: auto;
  }

  .design-section-v46 .design-pricing-card .design-buy-link {
    margin-top: 1rem !important;
  }
}


/* V53 — bring “Demandes claires” card in front of the SX27 core */
.orbit-card-b {
  z-index: 6;
  right: 74px;
  top: 72px;
}


/* V54 — Parcours is the recommended/main offer */
.studio-v24 .pricing-card-v24.featured .offer-tags span:first-child {
  border-color: rgba(138,239,255,.30);
  background: rgba(138,239,255,.10);
  color: rgba(250,252,255,.96);
}


/* V56 — wording/layout fixes, mobile details reset, graphisme conditions, anchor offset */
html {
  scroll-padding-top: 108px;
}

section[id],
[id="offres"],
[id="design-supports"],
[id="deroulement"],
[id="contact"],
[id="services"] {
  scroll-margin-top: 108px;
}

.design-terms-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr);
  gap: clamp(1rem, 2.4vw, 1.4rem);
  align-items: center;
  margin-top: clamp(1rem, 2vw, 1.35rem);
  padding: clamp(1.05rem, 2.5vw, 1.55rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.design-terms-strip h3 {
  margin: 0 0 .55rem;
  max-width: 760px;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.22rem, 2.4vw, 1.75rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.design-terms-strip p:not(.eyebrow) {
  margin: 0;
  color: rgba(246,249,255,.64);
  line-height: 1.55;
}

.design-terms-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
}

.design-terms-points span {
  display: block;
  padding: .75rem .85rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(0,0,0,.16);
  color: rgba(246,249,255,.78);
  font-size: .84rem;
  font-weight: 700;
}

@media (max-width: 980px) {
  .design-terms-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  html {
    scroll-padding-top: 88px;
  }

  section[id],
  [id="offres"],
  [id="design-supports"],
  [id="deroulement"],
  [id="contact"],
  [id="services"] {
    scroll-margin-top: 88px;
  }

  .design-terms-points {
    grid-template-columns: 1fr;
  }

  .design-section-v46 .design-pricing-card {
    height: auto !important;
    min-height: 0 !important;
    align-self: start;
  }

  .design-section-v46 .design-pricing-card .design-detail-native {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
  }

  .design-section-v46 .design-pricing-card .design-detail-native:not([open]) {
    margin-bottom: 1rem !important;
  }

  .design-section-v46 .design-pricing-card .design-buy-link {
    margin-top: 0 !important;
  }
}


/* V57 — details stay under content; only CTA aligns at bottom + graphisme breathing */
@media (min-width: 781px) {
  .pricing-grid-v24 .pricing-card-v24 .offer-details-native,
  .design-section-v46 .design-pricing-card .design-detail-native {
    margin-top: 0 !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-link,
  .design-section-v46 .design-pricing-card .design-buy-link {
    margin-top: auto !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-details-native + .offer-link,
  .design-section-v46 .design-pricing-card .design-detail-native + .design-buy-link {
    padding-top: 1rem;
  }
}

.design-terms-strip {
  margin-top: clamp(1.75rem, 3vw, 2.4rem);
  margin-bottom: clamp(3.5rem, 6vw, 5.5rem);
}

@media (max-width: 780px) {
  .design-terms-strip {
    margin-top: 1.5rem;
    margin-bottom: 3.2rem;
  }

  .design-section-v46 .design-pricing-card .design-detail-native + .design-buy-link {
    padding-top: .8rem;
  }
}


/* V58 — repair CTA spacing without shifting card text */
@media (min-width: 781px) {
  .pricing-grid-v24,
  .design-section-v46 .design-pricing-grid-v46 {
    align-items: stretch;
  }

  .pricing-grid-v24 .pricing-card-v24,
  .design-section-v46 .design-pricing-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .price-top,
  .pricing-grid-v24 .pricing-card-v24 .offer-result,
  .pricing-grid-v24 .pricing-card-v24 .offer-tags,
  .pricing-grid-v24 .pricing-card-v24 .offer-use,
  .pricing-grid-v24 .pricing-card-v24 .offer-details-native,
  .design-section-v46 .design-pricing-card .price-top,
  .design-section-v46 .design-pricing-card .offer-result,
  .design-section-v46 .design-pricing-card .offer-tags,
  .design-section-v46 .design-pricing-card .design-detail-native {
    margin-top: 0 !important;
    transform: none !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-details-native,
  .design-section-v46 .design-pricing-card .design-detail-native {
    margin-bottom: 1rem !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-link,
  .design-section-v46 .design-pricing-card .design-buy-link {
    margin-top: auto !important;
    align-self: stretch !important;
    transform: none !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-details-native + .offer-link,
  .design-section-v46 .design-pricing-card .design-detail-native + .design-buy-link {
    padding-top: 0 !important;
  }
}

@media (max-width: 780px) {
  .pricing-grid-v24 .pricing-card-v24,
  .design-section-v46 .design-pricing-card {
    display: block !important;
    height: auto !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-link,
  .design-section-v46 .design-pricing-card .design-buy-link {
    margin-top: 1rem !important;
    align-self: auto !important;
  }

  .pricing-grid-v24 .pricing-card-v24 .offer-details-native,
  .design-section-v46 .design-pricing-card .design-detail-native {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
  }
}


/* V59 — align blue bullet in design unit-price rows */
.design-section-v46 .design-price-list li {
  align-items: start !important;
}

.design-section-v46 .design-price-list li::before {
  align-self: start !important;
  margin-top: .18rem !important;
}


/* V60 — remove broken blue bullets and make design price rows resilient */
.design-section-v46 .design-price-list,
.design-section-v46 .design-price-list li {
  list-style: none !important;
}

.design-section-v46 .design-price-list li::marker,
.design-section-v46 .design-price-list li *::marker {
  content: "" !important;
  display: none !important;
}

.design-section-v46 .design-price-list li::before,
.design-section-v46 .design-price-list li::after {
  content: none !important;
  display: none !important;
}

.design-section-v46 .offer-detail-body,
.design-section-v46 .design-detail-native,
.design-section-v46 .design-price-list,
.design-section-v46 .design-price-list li,
.design-section-v46 .design-price-list li span,
.design-section-v46 .design-price-list li strong {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.design-section-v46 .design-price-list li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: .8rem !important;
  padding: .82rem .9rem !important;
  overflow: hidden !important;
}

.design-section-v46 .design-price-list li span {
  display: block !important;
  padding: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

.design-section-v46 .design-price-list li strong {
  display: block !important;
  justify-self: end !important;
  text-align: right !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

.design-section-v46 .design-detail-native summary,
.design-section-v46 .design-pricing-card .offer-result,
.design-section-v46 .design-pricing-card h3,
.design-section-v46 .offer-detail-body strong {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 780px) {
  .design-section-v46 .design-price-list li {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .design-section-v46 .design-price-list li strong {
    justify-self: end !important;
    text-align: right !important;
  }
}

@media (max-width: 430px) {
  .design-section-v46 .design-price-list li {
    grid-template-columns: 1fr !important;
    gap: .45rem !important;
  }

  .design-section-v46 .design-price-list li strong {
    justify-self: start !important;
    text-align: left !important;
  }
}


/* V70 — studio page restructure */
.services-section {
  padding-top: clamp(7rem, 12vw, 10rem);
}

.services-brand-heading {
  margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.studio-service-logo {
  width: clamp(92px, 14vw, 150px);
  height: clamp(92px, 14vw, 150px);
  margin: 0 auto .85rem;
  display: grid;
  place-items: center;
}

.studio-service-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 22px rgba(138,239,255,.18));
}

.studio-service-kicker {
  margin: 0 0 1rem;
  color: var(--accent);
  font-family: var(--font-mono);
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: clamp(.82rem, 1.8vw, 1.05rem);
}

.services-brand-heading h2 {
  margin: 0;
  font-size: clamp(2.1rem, 6vw, 4.8rem);
  line-height: .95;
  letter-spacing: -.07em;
}

.solutions-section-v70 {
  position: relative;
  padding-top: clamp(5rem, 9vw, 8rem);
}

.scroll-anchor {
  position: absolute;
  top: -110px;
}

.solution-explorer {
  display: grid;
  grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  margin-top: clamp(2rem, 4vw, 3.2rem);
}

.solution-menu {
  display: grid;
  gap: .65rem;
  align-content: start;
}

.solution-menu-item {
  appearance: none;
  width: 100%;
  min-height: 76px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "num title"
    "num sub";
  column-gap: .9rem;
  align-items: center;
  text-align: left;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.032);
  color: rgba(246,249,255,.78);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.solution-menu-item:hover {
  transform: translateY(-1px);
  border-color: rgba(138,239,255,.18);
  background: rgba(255,255,255,.045);
}

.solution-menu-item.is-active {
  border-color: rgba(138,239,255,.35);
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.12), transparent 16rem),
    rgba(138,239,255,.06);
  color: rgba(250,252,255,.96);
}

.solution-menu-item span {
  grid-area: num;
  color: var(--accent);
  font-family: var(--font-mono);
  font-weight: 800;
  font-size: .72rem;
  letter-spacing: .12em;
}

.solution-menu-item strong {
  grid-area: title;
  font-size: .98rem;
  letter-spacing: -.025em;
}

.solution-menu-item small {
  grid-area: sub;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.solution-detail-card {
  min-height: 620px;
  display: grid;
  align-content: start;
  gap: 1.15rem;
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 32px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.09), transparent 28rem),
    radial-gradient(circle at 100% 10%, rgba(167,184,255,.06), transparent 24rem),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.solution-detail-top h3 {
  margin: .25rem 0 .6rem;
  font-size: clamp(1.8rem, 4vw, 3.4rem);
  line-height: .96;
  letter-spacing: -.065em;
}

.solution-detail-top p:not(.eyebrow) {
  margin: 0;
  max-width: 820px;
  color: rgba(246,249,255,.68);
  line-height: 1.55;
  font-size: clamp(.98rem, 1.4vw, 1.08rem);
}

.solution-price-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.solution-price-box > div {
  padding: .95rem 1rem;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: 18px;
  background: rgba(0,0,0,.16);
}

.solution-price-box span {
  display: block;
  margin-bottom: .25rem;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.solution-price-box strong {
  display: block;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  letter-spacing: -.04em;
}

.solution-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.solution-tags span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.78);
  font-size: .82rem;
  font-weight: 700;
}

.solution-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  gap: .9rem;
}

.solution-columns > div {
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(0,0,0,.13);
}

.solution-columns h4 {
  margin: 0 0 .65rem;
  color: rgba(250,252,255,.94);
  font-size: .9rem;
}

.solution-columns ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .55rem;
}

.solution-columns li {
  color: rgba(246,249,255,.68);
  line-height: 1.42;
  font-size: .9rem;
}

.solution-columns li::before {
  content: "— ";
  color: var(--accent);
}

.solution-note {
  padding: .9rem 1rem;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: 18px;
  background: rgba(138,239,255,.045);
  color: rgba(246,249,255,.72);
  line-height: 1.5;
  font-size: .92rem;
}

.solution-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: .2rem;
}

.solution-followup-strip {
  margin-top: clamp(1.2rem, 3vw, 2rem);
}

.request-cta-card-v70 {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
}

.request-paths {
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
}

.request-path-card {
  appearance: none;
  width: 100%;
  min-height: 116px;
  display: grid;
  align-content: center;
  gap: .35rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.82);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.request-path-card-primary {
  border-color: rgba(138,239,255,.22);
  background: rgba(138,239,255,.06);
}

.request-path-card span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.request-path-card strong {
  color: rgba(250,252,255,.96);
  font-size: 1.1rem;
}

.request-path-card small {
  color: rgba(246,249,255,.56);
  line-height: 1.35;
}

@media (max-width: 1020px) {
  .solution-explorer,
  .request-cta-card-v70 {
    grid-template-columns: 1fr;
  }

  .solution-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-detail-card {
    min-height: auto;
  }
}

@media (max-width: 740px) {
  .services-section {
    padding-top: 6rem;
  }

  .solution-menu,
  .solution-price-box,
  .solution-columns {
    grid-template-columns: 1fr;
  }

  .solution-menu-item {
    min-height: 68px;
  }

  .solution-detail-card {
    border-radius: 24px;
  }
}


/* V71 — offers overview rail + discreet services text */
.services-brand-heading h2 {
  display: none !important;
}

.studio-service-subtext {
  max-width: 720px;
  margin: .35rem auto 0;
  color: rgba(246,249,255,.56) !important;
  font-size: clamp(.98rem, 1.45vw, 1.12rem);
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: -.01em;
}

.solution-explorer {
  grid-template-columns: minmax(290px, .38fr) minmax(0, 1fr) !important;
  align-items: start;
}

.solution-menu-wrap {
  position: sticky;
  top: 92px;
  align-self: start;
  max-height: calc(100vh - 112px);
  overflow: auto;
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.06), transparent 18rem),
    rgba(255,255,255,.025);
  scrollbar-width: thin;
}

.solution-menu-title {
  display: grid;
  gap: .18rem;
  padding: .35rem .35rem .85rem;
}

.solution-menu-title span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.solution-menu-title strong {
  color: rgba(250,252,255,.92);
  font-size: 1rem;
  letter-spacing: -.025em;
}

.solution-menu-item {
  grid-template-columns: auto 1fr !important;
  grid-template-areas:
    "num title"
    "num sub"
    "num price" !important;
  min-height: 88px !important;
}

.solution-menu-item em {
  grid-area: price;
  display: block;
  margin-top: .18rem;
  color: rgba(138,239,255,.76);
  font-style: normal;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: -.01em;
}

.solution-menu-item.is-active em {
  color: rgba(138,239,255,.96);
}

.solution-detail-card {
  position: relative;
  overflow: hidden;
}

.solution-detail-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255,255,255,.055), transparent 42%);
  opacity: .45;
}

.solution-detail-card > * {
  position: relative;
  z-index: 1;
}

.solution-followup-panel {
  padding: 1rem;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.08), transparent 18rem),
    rgba(138,239,255,.035);
}

.solution-followup-panel[hidden] {
  display: none !important;
}

.solution-followup-panel h4 {
  margin: 0 0 .45rem;
  color: rgba(250,252,255,.94);
  font-size: .96rem;
  letter-spacing: -.02em;
}

.solution-followup-panel p {
  margin: 0;
  color: rgba(246,249,255,.64);
  line-height: 1.5;
  font-size: .9rem;
}

.solution-followup-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .8rem;
}

.solution-followup-pills span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 .62rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.72);
  font-size: .74rem;
  font-weight: 700;
}

@media (max-width: 1020px) {
  .solution-menu-wrap {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .solution-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-explorer {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 740px) {
  .solution-menu-wrap {
    padding: .55rem;
    border-radius: 24px;
  }

  .solution-menu {
    grid-template-columns: 1fr;
  }

  .solution-menu-item {
    min-height: 78px !important;
  }
}


/* V72 — spacing + questionnaire simplification */
.services-section {
  padding-top: clamp(4.5rem, 7vw, 6.3rem) !important;
  padding-bottom: clamp(4.8rem, 8vw, 6.5rem);
}

.services-brand-heading {
  margin-bottom: clamp(2.2rem, 4vw, 3.1rem) !important;
}

.studio-service-logo {
  margin-bottom: .65rem !important;
}

.studio-service-kicker {
  margin-bottom: .7rem !important;
}

.studio-service-subtext {
  margin-top: .1rem !important;
}

.solution-menu-title {
  padding-bottom: .45rem !important;
}

.solution-menu-title strong {
  display: none !important;
}

/* Calendly replaces the old quick-question mode */
.questionnaire-modal .request-choice,
.questionnaire-modal [data-request-free] {
  display: none !important;
}

.questionnaire-modal [data-request-guided] {
  display: block !important;
}

/* Defensive fix against duplicate Continue/Submit visibility */
.questionnaire-modal [data-guided-submit][hidden],
.questionnaire-modal [data-guided-next][hidden],
.questionnaire-modal [data-guided-prev][hidden] {
  display: none !important;
}

.questionnaire-modal [data-guided-submit]:not([hidden]),
.questionnaire-modal [data-guided-next]:not([hidden]),
.questionnaire-modal [data-guided-prev]:not([hidden]) {
  display: inline-flex;
}


/* V73 — offer explorer by need / by métier */
.solutions-section-v73 {
  padding-top: clamp(5rem, 9vw, 8rem);
}

.offer-explorer-v73 {
  display: grid;
  grid-template-columns: minmax(310px, .36fr) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  margin-top: clamp(2rem, 4vw, 3.2rem);
  align-items: start;
}

.offer-rail-v73 {
  position: sticky;
  top: 92px;
  align-self: start;
  max-height: calc(100vh - 112px);
  overflow: auto;
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.06), transparent 18rem),
    rgba(255,255,255,.025);
  scrollbar-width: thin;
}

.offer-view-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem;
  padding: .28rem;
  margin-bottom: .75rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(0,0,0,.16);
}

.offer-view-switch button {
  appearance: none;
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: rgba(246,249,255,.55);
  cursor: pointer;
  font-weight: 800;
  font-size: .78rem;
}

.offer-view-switch button.is-active {
  color: rgba(250,252,255,.96);
  background: rgba(138,239,255,.10);
  box-shadow: inset 0 0 0 1px rgba(138,239,255,.18);
}

.offer-rail-panel {
  display: grid;
  gap: .62rem;
}

.offer-rail-panel[hidden] {
  display: none !important;
}

.offer-rail-label {
  margin: 0;
  padding: .2rem .35rem .35rem;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.offer-rail-item {
  appearance: none;
  width: 100%;
  min-height: 88px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "num title"
    "num sub"
    "num price";
  column-gap: .9rem;
  align-items: center;
  text-align: left;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.032);
  color: rgba(246,249,255,.78);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.offer-rail-item:hover {
  transform: translateY(-1px);
  border-color: rgba(138,239,255,.18);
  background: rgba(255,255,255,.045);
}

.offer-rail-item.is-active {
  border-color: rgba(138,239,255,.35);
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.12), transparent 16rem),
    rgba(138,239,255,.06);
  color: rgba(250,252,255,.96);
}

.offer-rail-item span {
  grid-area: num;
  color: var(--accent);
  font-family: var(--font-mono);
  font-weight: 800;
  font-size: .72rem;
  letter-spacing: .12em;
}

.offer-rail-item strong {
  grid-area: title;
  font-size: .98rem;
  letter-spacing: -.025em;
}

.offer-rail-item small {
  grid-area: sub;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.offer-rail-item em {
  grid-area: price;
  display: block;
  margin-top: .18rem;
  color: rgba(138,239,255,.76);
  font-style: normal;
  font-size: .76rem;
  font-weight: 800;
}

.offer-detail-v73 {
  min-height: 630px;
  display: grid;
  align-content: start;
  gap: 1.15rem;
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 32px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.09), transparent 28rem),
    radial-gradient(circle at 100% 10%, rgba(167,184,255,.06), transparent 24rem),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.offer-detail-head-v73 h3 {
  margin: .25rem 0 .6rem;
  font-size: clamp(1.9rem, 4.2vw, 3.65rem);
  line-height: .95;
  letter-spacing: -.065em;
}

.offer-detail-head-v73 p:not(.eyebrow) {
  margin: 0;
  max-width: 830px;
  color: rgba(246,249,255,.68);
  line-height: 1.55;
  font-size: clamp(.98rem, 1.4vw, 1.08rem);
}

.offer-price-row-v73 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-price-row-v73[hidden] {
  display: none !important;
}

.offer-price-row-v73 > div {
  padding: .95rem 1rem;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: 18px;
  background: rgba(0,0,0,.16);
}

.offer-price-row-v73 span {
  display: block;
  margin-bottom: .25rem;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.offer-price-row-v73 strong {
  display: block;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  letter-spacing: -.04em;
}

.offer-tags-v73 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.offer-tags-v73 span,
.profile-reco-card span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.78);
  font-size: .82rem;
  font-weight: 700;
}

.offer-profile-recos-v73 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.offer-profile-recos-v73[hidden] {
  display: none !important;
}

.profile-reco-card {
  display: grid;
  gap: .45rem;
  padding: .9rem;
  border: 1px solid rgba(138,239,255,.13);
  border-radius: 18px;
  background: rgba(138,239,255,.04);
}

.profile-reco-card strong {
  color: rgba(250,252,255,.95);
  font-size: .98rem;
}

.profile-reco-card small {
  color: rgba(246,249,255,.58);
  line-height: 1.35;
}

.offer-columns-v73 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  gap: .9rem;
}

.offer-columns-v73 > div {
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(0,0,0,.13);
}

.offer-columns-v73 h4 {
  margin: 0 0 .65rem;
  color: rgba(250,252,255,.94);
  font-size: .9rem;
}

.offer-columns-v73 ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .55rem;
}

.offer-columns-v73 li {
  color: rgba(246,249,255,.68);
  line-height: 1.42;
  font-size: .9rem;
}

.offer-columns-v73 li::before {
  content: "— ";
  color: var(--accent);
}

.offer-note-v73,
.offer-followup-v73 {
  padding: .9rem 1rem;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: 18px;
  background: rgba(138,239,255,.045);
  color: rgba(246,249,255,.72);
  line-height: 1.5;
  font-size: .92rem;
}

.offer-followup-v73[hidden] {
  display: none !important;
}

.offer-followup-v73 h4 {
  margin: 0 0 .45rem;
  color: rgba(250,252,255,.94);
  font-size: .96rem;
}

.offer-followup-v73 p {
  margin: 0;
  color: rgba(246,249,255,.64);
}

.offer-followup-v73 .pills {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .8rem;
}

.offer-followup-v73 .pills span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 .62rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.72);
  font-size: .74rem;
  font-weight: 700;
}

.offer-actions-v73 {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

@media (max-width: 1080px) {
  .offer-explorer-v73 {
    grid-template-columns: 1fr;
  }

  .offer-rail-v73 {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .offer-rail-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .offer-rail-label {
    grid-column: 1 / -1;
  }

  .offer-profile-recos-v73 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 740px) {
  .offer-view-switch,
  .offer-price-row-v73,
  .offer-columns-v73,
  .offer-rail-panel {
    grid-template-columns: 1fr;
  }

  .offer-detail-v73 {
    min-height: auto;
    border-radius: 24px;
  }

  .offer-rail-v73 {
    border-radius: 24px;
  }
}


/* V74 — studio lockup line/star + Calendly modal */
.services-brand-heading {
  position: relative;
}

.studio-service-kicker {
  position: relative;
}

.studio-service-kicker::after {
  content: "";
  display: block;
  width: min(240px, 46vw);
  height: 1px;
  margin: .78rem auto .66rem;
  background: linear-gradient(90deg, transparent, rgba(138,239,255,.34), rgba(255,255,255,.34), transparent);
  box-shadow: 0 0 18px rgba(138,239,255,.2);
}

.studio-service-subtext {
  position: relative;
}

.studio-service-subtext::before {
  content: "";
  position: absolute;
  top: -1.02rem;
  left: 50%;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 12px rgba(138,239,255,.9), 26px -2px 18px rgba(138,239,255,.35);
  transform: translateX(-50%) rotate(45deg);
}

.calendly-modal[aria-hidden="true"] {
  display: none !important;
}

.calendly-modal[aria-hidden="false"] {
  display: grid;
}

.calendly-dialog {
  max-width: min(980px, calc(100vw - 2rem));
}

.calendly-embed-shell {
  min-height: min(620px, 68vh);
  display: grid;
  place-items: center;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.08), transparent 20rem),
    rgba(0,0,0,.16);
}

.calendly-placeholder {
  max-width: 560px;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: .8rem;
}

.calendly-placeholder span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.calendly-placeholder h3 {
  margin: 0;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -.05em;
}

.calendly-placeholder p {
  margin: 0;
  color: rgba(246,249,255,.64);
  line-height: 1.55;
}

body.calendly-open {
  overflow: hidden;
}


/* V75 — clean studio line + direct offer UX */
.studio-service-kicker {
  position: relative;
}

.studio-service-kicker::after {
  content: "" !important;
  display: block !important;
  width: min(220px, 44vw) !important;
  height: 1px !important;
  margin: .72rem auto .68rem !important;
  background:
    linear-gradient(90deg, transparent 0%, rgba(138,239,255,.22) 22%, rgba(246,249,255,.42) 50%, rgba(138,239,255,.22) 78%, transparent 100%) !important;
  box-shadow: 0 0 16px rgba(138,239,255,.16) !important;
  border-radius: 999px !important;
}

.studio-service-subtext::before {
  content: none !important;
  display: none !important;
}

/* V75 offers */
.offers-section-v75 {
  padding-top: clamp(5rem, 9vw, 8rem);
}

.offer-explorer-v75 {
  display: grid;
  grid-template-columns: minmax(310px, .34fr) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  margin-top: clamp(2rem, 4vw, 3.2rem);
  align-items: start;
}

.offer-rail-v75 {
  position: sticky;
  top: 92px;
  align-self: start;
  max-height: calc(100vh - 112px);
  overflow: auto;
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.06), transparent 18rem),
    rgba(255,255,255,.025);
  scrollbar-width: thin;
}

.offer-view-switch-v75 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem;
  padding: .28rem;
  margin-bottom: .75rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(0,0,0,.16);
}

.offer-view-switch-v75 button {
  appearance: none;
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: rgba(246,249,255,.55);
  cursor: pointer;
  font-weight: 800;
  font-size: .78rem;
}

.offer-view-switch-v75 button.is-active {
  color: rgba(250,252,255,.96);
  background: rgba(138,239,255,.10);
  box-shadow: inset 0 0 0 1px rgba(138,239,255,.18);
}

.offer-rail-panel-v75 {
  display: grid;
  gap: .62rem;
}

.offer-rail-panel-v75[hidden] {
  display: none !important;
}

.offer-rail-label-v75 {
  margin: 0;
  padding: .2rem .35rem .35rem;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.offer-rail-item-v75 {
  appearance: none;
  width: 100%;
  min-height: 88px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "num title"
    "num sub"
    "num price";
  column-gap: .9rem;
  align-items: center;
  text-align: left;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.032);
  color: rgba(246,249,255,.78);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.offer-rail-item-v75:hover {
  transform: translateY(-1px);
  border-color: rgba(138,239,255,.18);
  background: rgba(255,255,255,.045);
}

.offer-rail-item-v75.is-active {
  border-color: rgba(138,239,255,.35);
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.12), transparent 16rem),
    rgba(138,239,255,.06);
  color: rgba(250,252,255,.96);
}

.offer-rail-item-v75 span {
  grid-area: num;
  color: var(--accent);
  font-family: var(--font-mono);
  font-weight: 800;
  font-size: .72rem;
  letter-spacing: .12em;
}

.offer-rail-item-v75 strong {
  grid-area: title;
  font-size: .98rem;
  letter-spacing: -.025em;
}

.offer-rail-item-v75 small {
  grid-area: sub;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.offer-rail-item-v75 em {
  grid-area: price;
  display: block;
  margin-top: .18rem;
  color: rgba(138,239,255,.76);
  font-style: normal;
  font-size: .76rem;
  font-weight: 800;
}

.offer-detail-v75 {
  min-height: 630px;
  display: grid;
  align-content: start;
  gap: 1.05rem;
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 32px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.09), transparent 28rem),
    radial-gradient(circle at 100% 10%, rgba(167,184,255,.06), transparent 24rem),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.offer-detail-head-v75 h3 {
  margin: .25rem 0 .55rem;
  font-size: clamp(1.9rem, 4.2vw, 3.65rem);
  line-height: .95;
  letter-spacing: -.065em;
}

.offer-detail-head-v75 p:not(.eyebrow) {
  margin: 0;
  max-width: 850px;
  color: rgba(246,249,255,.68);
  line-height: 1.55;
  font-size: clamp(.98rem, 1.4vw, 1.08rem);
}

.offer-price-row-v75 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-price-row-v75[hidden] {
  display: none !important;
}

.offer-price-row-v75 > div,
.offer-info-grid-v75 > section,
.offer-mini-card-v75,
.profile-reco-card-v75 {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(0,0,0,.13);
}

.offer-price-row-v75 > div {
  padding: .95rem 1rem;
  border-color: rgba(138,239,255,.14);
}

.offer-price-row-v75 span {
  display: block;
  margin-bottom: .25rem;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.offer-price-row-v75 strong {
  display: block;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  letter-spacing: -.04em;
}

.offer-tags-v75 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.offer-tags-v75 span,
.offer-mini-card-v75 span,
.profile-reco-card-v75 span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 .68rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.78);
  font-size: .78rem;
  font-weight: 700;
}

.offer-breakdown-v75[hidden],
.offer-profile-recos-v75[hidden] {
  display: none !important;
}

.offer-breakdown-v75 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-mini-card-v75 {
  padding: .95rem;
  display: grid;
  gap: .55rem;
}

.offer-mini-card-v75 h4,
.profile-reco-card-v75 strong,
.offer-info-grid-v75 h4 {
  margin: 0;
  color: rgba(250,252,255,.94);
  font-size: .94rem;
  letter-spacing: -.02em;
}

.offer-mini-card-v75 ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .4rem;
}

.offer-mini-card-v75 li {
  display: flex;
  justify-content: space-between;
  gap: .9rem;
  color: rgba(246,249,255,.66);
  line-height: 1.35;
  font-size: .84rem;
}

.offer-mini-card-v75 li strong {
  color: rgba(250,252,255,.88);
  white-space: nowrap;
}

.offer-profile-recos-v75 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.profile-reco-card-v75 {
  padding: .9rem;
  display: grid;
  gap: .45rem;
}

.profile-reco-card-v75 small {
  color: rgba(246,249,255,.58);
  line-height: 1.35;
}

.offer-info-grid-v75 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.offer-info-grid-v75 > section {
  padding: 1rem;
}

.offer-terms-card-v75 {
  border-color: rgba(138,239,255,.14) !important;
  background: rgba(138,239,255,.035) !important;
}

.offer-info-grid-v75 ul {
  margin: .65rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .55rem;
}

.offer-info-grid-v75 li {
  color: rgba(246,249,255,.68);
  line-height: 1.42;
  font-size: .88rem;
}

.offer-info-grid-v75 li::before {
  content: "— ";
  color: var(--accent);
}

.offer-actions-v75 {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: .1rem;
}

@media (max-width: 1080px) {
  .offer-explorer-v75 {
    grid-template-columns: 1fr;
  }

  .offer-rail-v75 {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .offer-rail-panel-v75 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .offer-rail-label-v75 {
    grid-column: 1 / -1;
  }

  .offer-info-grid-v75,
  .offer-profile-recos-v75 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 740px) {
  .offer-view-switch-v75,
  .offer-price-row-v75,
  .offer-rail-panel-v75,
  .offer-breakdown-v75 {
    grid-template-columns: 1fr;
  }

  .offer-detail-v75,
  .offer-rail-v75 {
    border-radius: 24px;
  }
}


/* V77 — expert offer structure: family -> offer -> detail */
.offers-section-v77 {
  padding-top: clamp(5rem, 9vw, 8rem);
}

.offer-system-v77 {
  display: grid;
  grid-template-columns: minmax(310px, .36fr) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  margin-top: clamp(2rem, 4vw, 3.2rem);
  align-items: start;
}

.offer-overview-v77 {
  position: sticky;
  top: 92px;
  align-self: start;
  max-height: calc(100vh - 112px);
  overflow: auto;
  display: grid;
  gap: .85rem;
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.06), transparent 18rem),
    rgba(255,255,255,.025);
  scrollbar-width: thin;
}

.offer-family-list-v77 {
  display: grid;
  gap: .65rem;
}

.offer-family-card-v77 {
  appearance: none;
  width: 100%;
  min-height: 112px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "num title"
    "num text"
    "num meta";
  column-gap: .9rem;
  align-items: center;
  text-align: left;
  padding: .95rem 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.032);
  color: rgba(246,249,255,.78);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.offer-family-card-v77:hover {
  transform: translateY(-1px);
  border-color: rgba(138,239,255,.18);
  background: rgba(255,255,255,.045);
}

.offer-family-card-v77.is-active {
  border-color: rgba(138,239,255,.35);
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.12), transparent 16rem),
    rgba(138,239,255,.06);
}

.offer-family-card-v77 span {
  grid-area: num;
  color: var(--accent);
  font-family: var(--font-mono);
  font-weight: 850;
  font-size: .72rem;
  letter-spacing: .12em;
}

.offer-family-card-v77 strong {
  grid-area: title;
  color: rgba(250,252,255,.96);
  font-size: 1rem;
  letter-spacing: -.03em;
}

.offer-family-card-v77 small {
  grid-area: text;
  color: rgba(246,249,255,.58);
  line-height: 1.35;
  font-size: .78rem;
}

.offer-family-card-v77 em {
  grid-area: meta;
  display: block;
  color: rgba(138,239,255,.78);
  font-style: normal;
  font-size: .76rem;
  font-weight: 800;
}

.profile-shortcuts-v77 {
  padding: .9rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: rgba(0,0,0,.13);
}

.profile-shortcuts-v77 p {
  margin: 0 0 .7rem;
  color: rgba(246,249,255,.58);
  font-size: .82rem;
  line-height: 1.35;
}

.profile-shortcuts-v77 div {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.profile-shortcuts-v77 button {
  appearance: none;
  min-height: 30px;
  padding: 0 .65rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.72);
  cursor: pointer;
  font-size: .74rem;
  font-weight: 750;
}

.profile-shortcuts-v77 button.is-active,
.profile-shortcuts-v77 button:hover {
  border-color: rgba(138,239,255,.24);
  background: rgba(138,239,255,.07);
  color: rgba(250,252,255,.92);
}

.offer-workspace-v77 {
  display: grid;
  gap: 1rem;
}

.offer-family-head-v77,
.offer-detail-v77,
.profile-advice-v77 {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.08), transparent 26rem),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.offer-family-head-v77 {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(260px, .75fr);
  gap: 1rem;
  align-items: end;
  padding: clamp(1rem, 2vw, 1.35rem);
}

.offer-family-head-v77 h3,
.offer-detail-head-v77 h3 {
  margin: .18rem 0 .4rem;
  color: rgba(250,252,255,.96);
  letter-spacing: -.055em;
  line-height: .98;
}

.offer-family-head-v77 h3 {
  font-size: clamp(1.45rem, 3vw, 2.6rem);
}

.offer-detail-head-v77 h3 {
  font-size: clamp(1.75rem, 3.8vw, 3.35rem);
}

.offer-family-head-v77 p:not(.eyebrow),
.offer-detail-head-v77 p:not(.eyebrow) {
  margin: 0;
  color: rgba(246,249,255,.66);
  line-height: 1.48;
}

.offer-tabs-v77 {
  display: grid;
  gap: .55rem;
}

.offer-tabs-v77 button {
  appearance: none;
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem;
  align-items: center;
  text-align: left;
  padding: .7rem .8rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 17px;
  background: rgba(0,0,0,.14);
  color: rgba(246,249,255,.74);
  cursor: pointer;
}

.offer-tabs-v77 button.is-active {
  border-color: rgba(138,239,255,.28);
  background: rgba(138,239,255,.07);
  color: rgba(250,252,255,.95);
}

.offer-tabs-v77 strong {
  font-size: .9rem;
  letter-spacing: -.02em;
}

.offer-tabs-v77 em {
  color: rgba(138,239,255,.78);
  font-style: normal;
  font-size: .75rem;
  font-weight: 800;
}

.profile-advice-v77 {
  padding: 1rem;
}

.profile-advice-v77[hidden] {
  display: none !important;
}

.profile-advice-v77 h4 {
  margin: 0 0 .45rem;
  color: rgba(250,252,255,.94);
  font-size: 1rem;
}

.profile-advice-v77 p {
  margin: 0 0 .75rem;
  color: rgba(246,249,255,.64);
  line-height: 1.45;
  font-size: .92rem;
}

.profile-advice-v77 div {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.profile-advice-v77 button {
  appearance: none;
  min-height: 34px;
  padding: 0 .75rem;
  border: 1px solid rgba(138,239,255,.18);
  border-radius: 999px;
  background: rgba(138,239,255,.055);
  color: rgba(246,249,255,.84);
  cursor: pointer;
  font-weight: 800;
  font-size: .78rem;
}

.offer-detail-v77 {
  display: grid;
  gap: 1rem;
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
}

.offer-price-row-v77 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-price-row-v77 > div,
.offer-info-grid-v77 > section,
.offer-mini-card-v77 {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(0,0,0,.13);
}

.offer-price-row-v77 > div {
  padding: .95rem 1rem;
  border-color: rgba(138,239,255,.14);
}

.offer-price-row-v77 span {
  display: block;
  margin-bottom: .25rem;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.offer-price-row-v77 strong {
  display: block;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.18rem, 2.2vw, 1.62rem);
  letter-spacing: -.04em;
}

.offer-tags-v77 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.offer-tags-v77 span,
.offer-mini-card-v77 span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 .68rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.78);
  font-size: .78rem;
  font-weight: 700;
}

.offer-breakdown-v77[hidden] {
  display: none !important;
}

.offer-breakdown-v77 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-mini-card-v77 {
  padding: .95rem;
  display: grid;
  gap: .55rem;
}

.offer-mini-card-v77 h4,
.offer-info-grid-v77 h4 {
  margin: 0;
  color: rgba(250,252,255,.94);
  font-size: .94rem;
  letter-spacing: -.02em;
}

.offer-mini-card-v77 ul,
.offer-info-grid-v77 ul {
  margin: .65rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .5rem;
}

.offer-mini-card-v77 li {
  display: flex;
  justify-content: space-between;
  gap: .9rem;
  color: rgba(246,249,255,.66);
  line-height: 1.35;
  font-size: .84rem;
}

.offer-mini-card-v77 li strong {
  color: rgba(250,252,255,.88);
  white-space: nowrap;
}

.offer-info-grid-v77 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.offer-info-grid-v77 > section {
  padding: 1rem;
}

.offer-terms-card-v77 {
  border-color: rgba(138,239,255,.14) !important;
  background: rgba(138,239,255,.035) !important;
}

.offer-info-grid-v77 li {
  color: rgba(246,249,255,.68);
  line-height: 1.42;
  font-size: .86rem;
}

.offer-info-grid-v77 li::before {
  content: "— ";
  color: var(--accent);
}

.offer-actions-v77 {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

@media (max-width: 1180px) {
  .offer-system-v77 {
    grid-template-columns: 1fr;
  }

  .offer-overview-v77 {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .offer-family-list-v77 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .offer-info-grid-v77 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .offer-family-head-v77,
  .offer-price-row-v77,
  .offer-breakdown-v77 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .offer-family-list-v77,
  .offer-info-grid-v77 {
    grid-template-columns: 1fr;
  }

  .offer-detail-v77,
  .offer-family-head-v77,
  .offer-overview-v77 {
    border-radius: 24px;
  }
}


/* V78 — simple offers: family -> visible cards -> detail on click */
.offers-section-v78 {
  padding-top: clamp(5rem, 9vw, 8rem);
}

.offer-simple-v78 {
  display: grid;
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.family-switch-v78 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.family-switch-v78 button {
  appearance: none;
  min-height: 128px;
  display: grid;
  align-content: start;
  gap: .38rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: rgba(255,255,255,.032);
  color: rgba(246,249,255,.76);
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.family-switch-v78 button:hover {
  transform: translateY(-1px);
  border-color: rgba(138,239,255,.18);
  background: rgba(255,255,255,.045);
}

.family-switch-v78 button.is-active {
  border-color: rgba(138,239,255,.34);
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.12), transparent 14rem),
    rgba(138,239,255,.06);
}

.family-switch-v78 span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .13em;
}

.family-switch-v78 strong {
  color: rgba(250,252,255,.95);
  font-size: 1rem;
  letter-spacing: -.03em;
}

.family-switch-v78 small {
  color: rgba(246,249,255,.58);
  line-height: 1.35;
  font-size: .82rem;
}

.offers-family-panel-v78 {
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.08), transparent 26rem),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.family-panel-head-v78 {
  display: grid;
  gap: .25rem;
}

.family-panel-head-v78 h3 {
  margin: 0;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.55rem, 3vw, 2.7rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.family-panel-head-v78 p:not(.eyebrow) {
  margin: 0;
  max-width: 760px;
  color: rgba(246,249,255,.64);
  line-height: 1.5;
}

.offer-cards-v78 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-card-v78 {
  appearance: none;
  min-height: 146px;
  display: grid;
  align-content: start;
  gap: .55rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: rgba(0,0,0,.13);
  color: rgba(246,249,255,.76);
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.offer-card-v78:hover {
  transform: translateY(-1px);
  border-color: rgba(138,239,255,.18);
  background: rgba(255,255,255,.04);
}

.offer-card-v78.is-active {
  border-color: rgba(138,239,255,.34);
  background: rgba(138,239,255,.055);
}

.offer-card-v78 header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .8rem;
}

.offer-card-v78 h4 {
  margin: 0;
  color: rgba(250,252,255,.95);
  font-size: 1.08rem;
  letter-spacing: -.03em;
}

.offer-card-v78 strong {
  color: rgba(138,239,255,.88);
  font-size: .86rem;
  white-space: nowrap;
}

.offer-card-v78 p {
  margin: 0;
  color: rgba(246,249,255,.62);
  line-height: 1.4;
  font-size: .9rem;
}

.offer-card-v78 .mini-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.offer-card-v78 .mini-tags span {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 .55rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.70);
  font-size: .72rem;
  font-weight: 700;
}

.offer-detail-v78 {
  display: grid;
  gap: 1rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255,255,255,.08);
}

.offer-detail-v78[hidden] {
  display: none !important;
}

.offer-detail-head-v78 h3 {
  margin: .18rem 0 .35rem;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.65rem, 3.2vw, 2.8rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.offer-detail-head-v78 p:not(.eyebrow) {
  margin: 0;
  color: rgba(246,249,255,.66);
  line-height: 1.5;
}

.offer-price-row-v78 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-price-row-v78 > div,
.offer-info-grid-v78 > section,
.offer-mini-card-v78 {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(0,0,0,.13);
}

.offer-price-row-v78 > div {
  padding: .95rem 1rem;
  border-color: rgba(138,239,255,.14);
}

.offer-price-row-v78 span {
  display: block;
  margin-bottom: .25rem;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.offer-price-row-v78 strong {
  display: block;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.18rem, 2.2vw, 1.62rem);
  letter-spacing: -.04em;
}

.offer-tags-v78 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.offer-tags-v78 span,
.offer-mini-card-v78 span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 .68rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.78);
  font-size: .78rem;
  font-weight: 700;
}

.offer-breakdown-v78[hidden] {
  display: none !important;
}

.offer-breakdown-v78 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.offer-mini-card-v78 {
  padding: .95rem;
  display: grid;
  gap: .55rem;
}

.offer-mini-card-v78 h4,
.offer-info-grid-v78 h4 {
  margin: 0;
  color: rgba(250,252,255,.94);
  font-size: .94rem;
  letter-spacing: -.02em;
}

.offer-mini-card-v78 ul,
.offer-info-grid-v78 ul {
  margin: .65rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .5rem;
}

.offer-mini-card-v78 li {
  display: flex;
  justify-content: space-between;
  gap: .9rem;
  color: rgba(246,249,255,.66);
  line-height: 1.35;
  font-size: .84rem;
}

.offer-mini-card-v78 li strong {
  color: rgba(250,252,255,.88);
  white-space: nowrap;
}

.offer-info-grid-v78 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.offer-info-grid-v78 > section {
  padding: 1rem;
}

.offer-info-grid-v78 li {
  color: rgba(246,249,255,.68);
  line-height: 1.42;
  font-size: .86rem;
}

.offer-info-grid-v78 li::before {
  content: "— ";
  color: var(--accent);
}

.offer-actions-v78 {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

@media (max-width: 980px) {
  .family-switch-v78,
  .offer-cards-v78,
  .offer-info-grid-v78 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .offer-price-row-v78,
  .offer-breakdown-v78 {
    grid-template-columns: 1fr;
  }

  .offers-family-panel-v78,
  .family-switch-v78 button,
  .offer-card-v78 {
    border-radius: 22px;
  }
}


/* V79 — make the offer interaction obvious without a heavy explanation */
.family-switch-v78 button,
.offer-card-v78 {
  position: relative;
  overflow: hidden;
}

.family-switch-v78 button::after {
  content: "→";
  position: absolute;
  right: 1rem;
  bottom: .9rem;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.16);
  background: rgba(138,239,255,.055);
  color: rgba(138,239,255,.86);
  font-weight: 900;
  transform: translateX(-3px);
  opacity: .72;
  transition: opacity .2s ease, transform .2s ease, background .2s ease, border-color .2s ease;
}

.family-switch-v78 button:hover::after,
.family-switch-v78 button.is-active::after {
  opacity: 1;
  transform: translateX(0);
  background: rgba(138,239,255,.11);
  border-color: rgba(138,239,255,.28);
}

.family-switch-v78 button.is-active::before {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0;
  height: 2px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, transparent, rgba(138,239,255,.75), transparent);
  box-shadow: 0 0 18px rgba(138,239,255,.25);
}

.offer-card-v78 {
  padding-bottom: 3.05rem !important;
}

.offer-card-v78::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 100% 0%, rgba(138,239,255,.09), transparent 13rem);
  opacity: .52;
}

.offer-card-v78::after {
  content: "Voir le détail →";
  position: absolute;
  right: .95rem;
  bottom: .9rem;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 .72rem;
  border: 1px solid rgba(138,239,255,.16);
  border-radius: 999px;
  background: rgba(138,239,255,.055);
  color: rgba(138,239,255,.86);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: -.01em;
  transform: translateY(1px);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.offer-card-v78:hover::after,
.offer-card-v78.is-active::after {
  transform: translateY(0);
  background: rgba(138,239,255,.11);
  border-color: rgba(138,239,255,.30);
}

.offer-card-v78.is-active {
  box-shadow:
    inset 0 0 0 1px rgba(138,239,255,.16),
    0 18px 60px rgba(0,0,0,.20);
}

.offer-card-v78.is-active::after {
  content: "Détail ouvert";
}

.offer-empty-detail-v79 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  min-height: 150px;
  padding: 1rem;
  border: 1px dashed rgba(138,239,255,.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.08), transparent 18rem),
    rgba(0,0,0,.10);
}

.offer-empty-detail-v79[hidden] {
  display: none !important;
}

.offer-empty-detail-v79 h4 {
  margin: .12rem 0 .3rem;
  color: rgba(250,252,255,.94);
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  letter-spacing: -.04em;
}

.offer-empty-detail-v79 p:not(.eyebrow) {
  margin: 0;
  color: rgba(246,249,255,.58);
  line-height: 1.45;
}

.empty-detail-orbit-v79 {
  width: 72px;
  height: 72px;
  position: relative;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.empty-detail-orbit-v79 span {
  position: absolute;
  border-radius: 999px;
}

.empty-detail-orbit-v79 span:nth-child(1) {
  inset: 14px;
  border: 1px solid rgba(138,239,255,.18);
}

.empty-detail-orbit-v79 span:nth-child(2) {
  width: 7px;
  height: 7px;
  right: 16px;
  top: 18px;
  background: rgba(138,239,255,.9);
  box-shadow: 0 0 18px rgba(138,239,255,.55);
}

.empty-detail-orbit-v79 span:nth-child(3) {
  left: 50%;
  top: 50%;
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(250,252,255,.55), rgba(138,239,255,.65));
  transform: translate(-50%, -50%) rotate(-25deg);
}

.offer-detail-v78 {
  animation: offerDetailInV79 .24s ease both;
}

@keyframes offerDetailInV79 {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
  .offer-empty-detail-v79 {
    grid-template-columns: 1fr;
  }

  .empty-detail-orbit-v79 {
    width: 58px;
    height: 58px;
  }
}


/* V80 — remove empty offer-detail prompt */
.offer-empty-detail-v79 {
  display: none !important;
}


/* V82 — cleaner design price lists + optional monthly box */
.offer-price-row-v78.is-single {
  grid-template-columns: minmax(0, 1fr) !important;
}

.offer-price-row-v78 [hidden] {
  display: none !important;
}

.offer-tags-v78[hidden] {
  display: none !important;
}

.offer-mini-card-v78.is-price-list-only {
  padding-top: .85rem;
}

.offer-mini-card-v78.is-price-list-only ul {
  margin-top: 0 !important;
}

.offer-card-v78 .mini-tags {
  display: none !important;
}


/* V83 — clearer interaction labels */
.family-switch-v78 button::after {
  content: "Voir les détails" !important;
  width: auto !important;
  min-width: 112px !important;
  height: 30px !important;
  padding: 0 .72rem !important;
  font-size: .72rem !important;
  letter-spacing: -.01em !important;
}

.family-switch-v78 button.is-active::after {
  content: "Offres visibles" !important;
}

.offer-card-v78.is-active::after {
  content: "Fermer les détails" !important;
}


/* V84 — real translated labels instead of pseudo text; no overlap */
.family-switch-v78 button {
  padding-bottom: 3.25rem !important;
}

.family-switch-v78 button::after,
.offer-card-v78::after {
  content: none !important;
  display: none !important;
}

.family-action-v84,
.offer-action-v84 {
  position: absolute;
  right: .95rem;
  bottom: .9rem;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 .72rem;
  border: 1px solid rgba(138,239,255,.16);
  border-radius: 999px;
  background: rgba(138,239,255,.055);
  color: rgba(138,239,255,.86);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: -.01em;
  white-space: nowrap;
  transform: translateY(1px);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.family-switch-v78 button:hover .family-action-v84,
.family-switch-v78 button.is-active .family-action-v84,
.offer-card-v78:hover .offer-action-v84,
.offer-card-v78.is-active .offer-action-v84 {
  transform: translateY(0);
  background: rgba(138,239,255,.11);
  border-color: rgba(138,239,255,.30);
}

.offer-card-v78 {
  padding-bottom: 3.05rem !important;
}

@media (max-width: 460px) {
  .family-action-v84,
  .offer-action-v84 {
    position: static;
    justify-self: start;
    margin-top: .2rem;
  }

  .family-switch-v78 button,
  .offer-card-v78 {
    padding-bottom: 1rem !important;
  }
}


/* V85 — breathing room for offer family cards */
.family-switch-v78 {
  gap: clamp(.85rem, 1.5vw, 1.05rem) !important;
}

.family-switch-v78 button {
  min-height: 158px !important;
  padding: 1.08rem 1rem 3.65rem !important;
  align-content: start !important;
  gap: .52rem !important;
}

.family-switch-v78 strong {
  line-height: 1.08 !important;
}

.family-switch-v78 small {
  max-width: 92%;
  line-height: 1.5 !important;
}

.family-action-v84 {
  left: 1rem;
  right: auto !important;
  bottom: 1rem !important;
  min-height: 32px !important;
}

@media (max-width: 980px) {
  .family-switch-v78 button {
    min-height: 138px !important;
  }
}

@media (max-width: 460px) {
  .family-switch-v78 button {
    min-height: auto !important;
    padding: 1rem !important;
  }

  .family-action-v84 {
    left: auto;
    bottom: auto !important;
  }
}


/* V96 — stable offer modal + compact mobile offers */
.offer-detail-v78 {
  display: none !important;
}

.offer-modal-v96 {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: none;
  align-items: center;
  justify-content: center;
  padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
}

.offer-modal-v96.is-open {
  display: flex;
}

.offer-modal-backdrop-v96 {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0,0,0,.68);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
}

.offer-modal-panel-v96 {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(88svh, 780px);
  overflow: auto;
  overscroll-behavior: contain;
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 2.4vw, 1.55rem);
  border: 1px solid rgba(138,239,255,.24);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0% 0%, rgba(138,239,255,.14), transparent 26rem),
    rgba(6,8,12,.97);
  box-shadow:
    0 32px 120px rgba(0,0,0,.6),
    inset 0 0 0 1px rgba(255,255,255,.045);
}

.offer-modal-close-v96 {
  appearance: none;
  justify-self: end;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 .78rem;
  border: 1px solid rgba(138,239,255,.18);
  border-radius: 999px;
  background: rgba(138,239,255,.07);
  color: rgba(138,239,255,.92);
  font-size: .76rem;
  font-weight: 850;
  cursor: pointer;
}

.offer-modal-panel-v96 h3 {
  margin: -.15rem 0 0;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.65rem, 4vw, 3rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.offer-modal-panel-v96 p:not(.eyebrow) {
  margin: 0;
  color: rgba(246,249,255,.66);
  line-height: 1.48;
}

.offer-modal-price-v96,
.offer-modal-breakdown-v96,
.offer-modal-info-v96 {
  display: grid;
  gap: .75rem;
}

.offer-modal-price-v96 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offer-modal-price-v96.is-single {
  grid-template-columns: 1fr;
}

.offer-modal-breakdown-v96 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offer-modal-info-v96 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.offer-modal-price-v96 > div,
.offer-modal-info-v96 > section,
.offer-modal-mini-card-v96 {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(0,0,0,.14);
}

.offer-modal-price-v96 > div,
.offer-modal-info-v96 > section,
.offer-modal-mini-card-v96 {
  padding: .95rem;
}

.offer-modal-price-v96 span {
  display: block;
  margin-bottom: .22rem;
  color: rgba(246,249,255,.54);
  font-size: .78rem;
}

.offer-modal-price-v96 strong {
  display: block;
  color: rgba(250,252,255,.96);
  font-size: clamp(1.15rem, 2.2vw, 1.6rem);
  letter-spacing: -.04em;
}

.offer-modal-tags-v96 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.offer-modal-tags-v96[hidden],
.offer-modal-breakdown-v96[hidden],
.offer-modal-price-v96 [hidden] {
  display: none !important;
}

.offer-modal-tags-v96 span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 .68rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.78);
  font-size: .78rem;
  font-weight: 700;
}

.offer-modal-mini-card-v96 ul,
.offer-modal-info-v96 ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .5rem;
}

.offer-modal-mini-card-v96 li {
  display: flex;
  justify-content: space-between;
  gap: .9rem;
  color: rgba(246,249,255,.66);
  line-height: 1.35;
  font-size: .84rem;
}

.offer-modal-mini-card-v96 li strong {
  color: rgba(250,252,255,.88);
  white-space: nowrap;
}

.offer-modal-info-v96 h4 {
  margin: 0 0 .65rem;
  color: rgba(250,252,255,.94);
  font-size: .94rem;
}

.offer-modal-info-v96 li {
  color: rgba(246,249,255,.68);
  line-height: 1.42;
  font-size: .86rem;
}

.offer-modal-info-v96 li::before {
  content: "— ";
  color: var(--accent);
}

.offer-modal-actions-v96 {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

body.offer-modal-v96-open {
  overflow: hidden !important;
}

@media (max-width: 720px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  input,
  textarea,
  select,
  button {
    font-size: 16px;
  }

  .family-switch-v78 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem !important;
  }

  .family-switch-v78 button {
    min-height: 112px !important;
    padding: .82rem .72rem .7rem !important;
    border-radius: 18px !important;
  }

  .family-switch-v78 small {
    display: none !important;
  }

  .family-action-v84,
  .offer-action-v84 {
    position: static !important;
    margin-top: .3rem !important;
    min-height: 25px !important;
    padding: 0 .55rem !important;
    font-size: .62rem !important;
    justify-self: start !important;
  }

  .offer-cards-v78 {
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }

  .offer-card-v78 {
    min-height: 0 !important;
    padding: .76rem !important;
    border-radius: 18px !important;
  }

  .offer-card-v78 p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .offer-modal-v96 {
    align-items: end;
    padding: .65rem;
  }

  .offer-modal-panel-v96 {
    width: 100%;
    max-height: 88svh;
    border-radius: 24px;
    padding: .95rem;
    gap: .78rem;
  }

  .offer-modal-close-v96 {
    position: sticky;
    top: 0;
    z-index: 2;
    margin-left: auto;
    background: rgba(10,14,20,.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .offer-modal-panel-v96 h3 {
    font-size: clamp(1.45rem, 8vw, 2.05rem);
  }

  .offer-modal-price-v96,
  .offer-modal-breakdown-v96,
  .offer-modal-info-v96 {
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  .offer-modal-price-v96 > div,
  .offer-modal-info-v96 > section,
  .offer-modal-mini-card-v96 {
    padding: .78rem;
    border-radius: 16px;
  }

  .offer-modal-actions-v96 {
    position: sticky;
    bottom: -.95rem;
    margin-inline: -.95rem;
    padding: .75rem .95rem .95rem;
    background: linear-gradient(180deg, transparent, rgba(6,8,12,.98) 28%);
  }

  .offer-modal-actions-v96 .button {
    flex: 1 1 100%;
    min-height: 44px;
  }
}


/* V97 — lock horizontal scrolling on mobile/desktop */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

body {
  position: relative;
  overscroll-behavior-x: none;
  touch-action: pan-y;
}

#main,
main,
.site-shell,
.page-shell,
section,
header,
footer {
  max-width: 100%;
  overflow-x: clip;
}

.container,
[class*="container"],
[class*="grid"],
[class*="panel"],
[class*="section"],
[class*="modal"],
[class*="drawer"] {
  max-width: 100%;
  box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

.offer-modal-v96,
.questionnaire-modal,
.calendly-modal,
[data-questionnaire-modal],
[data-calendly-modal] {
  max-width: 100vw;
  overflow-x: hidden;
}

.offer-modal-panel-v96 {
  max-width: min(920px, calc(100vw - 2rem));
  box-sizing: border-box;
}

@media (max-width: 720px) {
  html,
  body {
    width: 100vw;
    max-width: 100vw;
    overflow-x: hidden !important;
  }

  body {
    touch-action: pan-y;
  }

  .container,
  [class*="container"] {
    width: min(100% - 1rem, var(--container, 1180px)) !important;
    max-width: calc(100vw - 1rem) !important;
  }

  .offer-modal-panel-v96,
  .questionnaire-panel,
  .calendly-panel,
  [data-questionnaire-modal] > *,
  [data-calendly-modal] > * {
    max-width: calc(100vw - 1.3rem) !important;
  }
}


/* V98 — general mobile density upgrade, outside offer module */
@media (max-width: 720px) {
  .section.part,
  .section.soft.part,
  .services-section,
  .method-section,
  .contact-section {
    padding-top: clamp(2.4rem, 8vw, 3.4rem) !important;
    padding-bottom: clamp(2.4rem, 8vw, 3.4rem) !important;
  }

  .section-heading {
    margin-bottom: 1.15rem !important;
  }

  .section-heading h2 {
    font-size: clamp(1.85rem, 9vw, 2.7rem) !important;
    line-height: .96 !important;
    max-width: 11em;
    margin-inline: auto;
  }

  .section-heading .sublead,
  .studio-service-subtext {
    font-size: .92rem !important;
    line-height: 1.38 !important;
    max-width: 27rem !important;
  }

  .studio-service-logo {
    transform: scale(.88);
    margin-bottom: .35rem !important;
  }

  .studio-service-kicker {
    font-size: .72rem !important;
    margin-bottom: .35rem !important;
  }

  .service-grid-clean,
  .service-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .62rem !important;
    align-items: stretch !important;
  }

  .service-card-compact,
  .service-card {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: .82rem .72rem !important;
    border-radius: 18px !important;
    display: grid !important;
    align-content: start !important;
    gap: .42rem !important;
  }

  .service-card .icon,
  .service-card-compact .icon {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: .08rem !important;
  }

  .service-card h3 {
    font-size: .93rem !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
    margin: 0 !important;
  }

  .service-card p {
    font-size: .73rem !important;
    line-height: 1.24 !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .service-tags {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .28rem !important;
    margin-top: .1rem !important;
  }

  .service-tags span {
    min-width: 0 !important;
    min-height: 22px !important;
    padding: 0 .35rem !important;
    border-radius: 999px !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .process-grid-v8,
  .process-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .62rem !important;
  }

  .process-card {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: .82rem .72rem !important;
    border-radius: 18px !important;
    display: grid !important;
    align-content: start !important;
    gap: .32rem !important;
  }

  .process-card .step,
  .process-card span.step {
    font-size: .64rem !important;
    margin: 0 0 .08rem !important;
  }

  .process-card h3 {
    font-size: .95rem !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
    margin: 0 !important;
  }

  .process-card p {
    font-size: .73rem !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .request-cta-card-v70,
  .request-cta-card {
    padding: .95rem !important;
    border-radius: 24px !important;
    display: grid !important;
    gap: .85rem !important;
  }

  .request-cta-copy {
    display: grid !important;
    gap: .42rem !important;
  }

  .request-cta-copy h2 {
    font-size: clamp(1.65rem, 8vw, 2.25rem) !important;
    line-height: .98 !important;
    margin: 0 !important;
  }

  .request-cta-copy p:not(.eyebrow) {
    font-size: .84rem !important;
    line-height: 1.36 !important;
    margin: 0 !important;
  }

  .request-paths {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .6rem !important;
  }

  .request-path-card {
    min-width: 0 !important;
    min-height: 112px !important;
    padding: .78rem .68rem !important;
    border-radius: 18px !important;
    display: grid !important;
    align-content: start !important;
    gap: .3rem !important;
    text-align: left !important;
  }

  .request-path-card span {
    font-size: .6rem !important;
    margin: 0 !important;
  }

  .request-path-card strong {
    font-size: .9rem !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
  }

  .request-path-card small {
    font-size: .68rem !important;
    line-height: 1.22 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .site-footer {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .footer-grid {
    display: grid !important;
    grid-template-columns: 1.08fr .92fr !important;
    gap: .85rem !important;
    align-items: start !important;
  }

  .footer-brand,
  .footer-logo {
    max-width: 116px !important;
  }

  .footer-grid p {
    font-size: .72rem !important;
    line-height: 1.32 !important;
    margin-top: .55rem !important;
  }

  .footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .42rem !important;
  }

  .footer-links a {
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 .45rem !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.035) !important;
    font-size: .68rem !important;
    white-space: nowrap !important;
  }

  .footer-admin {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: .42fr 1fr !important;
    gap: .6rem !important;
    align-items: start !important;
    padding-top: .3rem !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
  }

  .footer-admin span {
    font-size: .68rem !important;
  }

  .footer-admin p {
    margin: 0 !important;
    font-size: .7rem !important;
    line-height: 1.32 !important;
  }
}

@media (max-width: 390px) {
  .service-grid-clean,
  .service-grid,
  .process-grid-v8,
  .process-grid,
  .request-paths {
    gap: .48rem !important;
  }

  .service-card,
  .process-card,
  .request-path-card {
    padding: .68rem .58rem !important;
    border-radius: 16px !important;
  }

  .service-tags {
    grid-template-columns: 1fr !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-admin {
    grid-template-columns: 1fr !important;
  }
}


/* V99 — hide service tags on phone */
@media (max-width: 720px) {
  .services-section .service-tags {
    display: none !important;
  }

  .services-section .service-card,
  .services-section .service-card-compact {
    align-content: center !important;
    min-height: 118px !important;
  }
}


/* V100 — offers become a clear selector/configurator module */
.offers-section-v78 {
  position: relative;
}

.offers-section-v78 .section-heading {
  position: relative;
  z-index: 1;
}

.offer-journey-v100 {
  width: min(100%, 680px);
  margin: 1rem auto 0;
  display: grid;
  grid-template-columns: 1fr 26px 1fr 26px 1fr;
  align-items: center;
  gap: .35rem;
  padding: .42rem;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)),
    rgba(0,0,0,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

.offer-journey-v100 span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  padding: 0 .7rem;
  border-radius: 999px;
  color: rgba(246,249,255,.76);
  font-size: .76rem;
  font-weight: 760;
  letter-spacing: -.01em;
  white-space: nowrap;
}

.offer-journey-v100 span:first-child {
  background: rgba(138,239,255,.10);
  color: rgba(250,252,255,.94);
}

.offer-journey-v100 b {
  color: rgba(138,239,255,.95);
  font-size: .68rem;
  letter-spacing: .08em;
}

.offer-journey-v100 i {
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, rgba(138,239,255,.32), rgba(255,255,255,.10));
}

.offer-simple-v78 {
  position: relative;
  margin-top: clamp(1.25rem, 2.5vw, 1.8rem) !important;
  padding: clamp(.85rem, 1.7vw, 1.2rem) !important;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: clamp(24px, 3vw, 34px);
  background:
    radial-gradient(circle at 12% 0%, rgba(138,239,255,.105), transparent 24rem),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018)),
    rgba(0,0,0,.12);
  box-shadow:
    0 22px 70px rgba(0,0,0,.18),
    inset 0 0 0 1px rgba(255,255,255,.025);
}

.offer-simple-v78::before {
  content: "Sélecteur d’offres";
  position: absolute;
  top: 0;
  left: clamp(1rem, 2vw, 1.35rem);
  transform: translateY(-50%);
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 .72rem;
  border: 1px solid rgba(138,239,255,.18);
  border-radius: 999px;
  background: rgba(7,10,15,.94);
  color: rgba(138,239,255,.9);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.family-switch-v78 {
  padding: .35rem;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 24px;
  background: rgba(0,0,0,.12);
}

.family-switch-v78 button {
  border-color: rgba(255,255,255,.075) !important;
  background: rgba(255,255,255,.025) !important;
}

.family-switch-v78 button.is-active {
  border-color: rgba(138,239,255,.34) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.16), transparent 12rem),
    rgba(138,239,255,.055) !important;
  box-shadow: inset 0 0 0 1px rgba(138,239,255,.08);
}

.family-action-v84,
.offer-action-v84 {
  color: rgba(138,239,255,.94) !important;
  border-color: rgba(138,239,255,.20) !important;
  background: rgba(138,239,255,.065) !important;
}

.offers-family-panel-v78 {
  border-color: rgba(255,255,255,.075) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.016)),
    rgba(0,0,0,.10) !important;
}

.family-panel-head-v78 {
  padding-bottom: .85rem;
  border-bottom: 1px solid rgba(255,255,255,.075);
}

.family-panel-head-v78::after {
  content: "Offres disponibles";
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-self: start;
  margin-top: .2rem;
  padding: 0 .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.085);
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.62);
  font-size: .68rem;
  font-weight: 820;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.offer-card-v78 {
  border-color: rgba(255,255,255,.08) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018)),
    rgba(0,0,0,.11) !important;
}

.offer-card-v78:hover,
.offer-card-v78.is-active {
  border-color: rgba(138,239,255,.28) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(138,239,255,.12), transparent 13rem),
    rgba(138,239,255,.045) !important;
}

.offer-card-v78 header strong {
  padding: .22rem .45rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.16);
  background: rgba(138,239,255,.055);
}

@media (max-width: 720px) {
  .offer-journey-v100 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
    padding: .35rem;
    border-radius: 20px;
  }

  .offer-journey-v100 i {
    display: none;
  }

  .offer-journey-v100 span {
    min-height: 42px;
    flex-direction: column;
    gap: .1rem;
    padding: .35rem .25rem;
    font-size: .68rem;
    line-height: 1.05;
  }

  .offer-journey-v100 b {
    font-size: .62rem;
  }

  .offer-simple-v78 {
    padding: .78rem !important;
    border-radius: 24px;
  }

  .offer-simple-v78::before {
    left: .9rem;
    min-height: 25px;
    padding: 0 .58rem;
    font-size: .58rem;
  }

  .family-switch-v78 {
    padding: .28rem;
    border-radius: 20px;
  }

  .family-panel-head-v78 {
    padding-bottom: .65rem;
  }

  .family-panel-head-v78::after {
    min-height: 25px;
    font-size: .58rem;
  }

  .offer-card-v78 header strong {
    font-size: .68rem !important;
    padding: .18rem .38rem;
  }
}


/* V101 — interactive offer journey pulses */
.offer-journey-v100 button {
  appearance: none;
  border: 0;
  font: inherit;
  cursor: pointer;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  padding: 0 .7rem;
  border-radius: 999px;
  color: rgba(246,249,255,.76);
  background: transparent;
  font-size: .76rem;
  font-weight: 760;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.offer-journey-v100 button:first-child {
  background: rgba(138,239,255,.10);
  color: rgba(250,252,255,.94);
}

.offer-journey-v100 button:hover,
.offer-journey-v100 button:focus-visible {
  color: rgba(250,252,255,.96);
  background: rgba(138,239,255,.11);
  box-shadow: inset 0 0 0 1px rgba(138,239,255,.18);
  outline: none;
}

.offer-journey-v100 button:active {
  transform: scale(.98);
}

.offer-journey-v100 button b {
  color: rgba(138,239,255,.95);
  font-size: .68rem;
  letter-spacing: .08em;
}

.offer-journey-v100 span {
  display: contents;
}

.offer-pulse-target-v101 {
  position: relative;
  animation: sx27OfferPulseV101 1.05s ease both;
}

.offer-pulse-target-v101::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: -6px;
  z-index: 20;
  border-radius: inherit;
  border: 1px solid rgba(138,239,255,.64);
  box-shadow:
    0 0 0 1px rgba(138,239,255,.14),
    0 0 34px rgba(138,239,255,.24);
  animation: sx27OfferPulseRingV101 1.05s ease both;
}

.offer-cards-v78.offer-pulse-target-v101::after,
.family-switch-v78.offer-pulse-target-v101::after {
  border-radius: 24px;
}

.offer-modal-panel-v96.offer-pulse-target-v101::after {
  border-radius: 28px;
}

@keyframes sx27OfferPulseV101 {
  0% { transform: translateZ(0); filter: brightness(1); }
  22% { transform: translateY(-2px); filter: brightness(1.18); }
  48% { transform: translateY(0); filter: brightness(1.05); }
  72% { filter: brightness(1.14); }
  100% { transform: translateZ(0); filter: brightness(1); }
}

@keyframes sx27OfferPulseRingV101 {
  0% { opacity: 0; transform: scale(.985); }
  18% { opacity: 1; transform: scale(1); }
  68% { opacity: .55; transform: scale(1.012); }
  100% { opacity: 0; transform: scale(1.025); }
}

@media (max-width: 720px) {
  .offer-journey-v100 button {
    min-height: 42px;
    flex-direction: column;
    gap: .1rem;
    padding: .35rem .25rem;
    font-size: .68rem;
    line-height: 1.05;
  }

  .offer-journey-v100 button b {
    font-size: .62rem;
  }

  .offer-pulse-target-v101::after {
    inset: -4px;
  }
}


/* V102 — pulse exact offer-step targets */
.offer-action-v84.offer-pulse-target-v101 {
  position: relative;
  animation: sx27OfferPulseV101 1.05s ease both;
  box-shadow:
    inset 0 0 0 1px rgba(138,239,255,.28),
    0 0 24px rgba(138,239,255,.20);
}

.offer-action-v84.offer-pulse-target-v101::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: -5px;
  z-index: 20;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.66);
  box-shadow: 0 0 30px rgba(138,239,255,.24);
  animation: sx27OfferPulseRingV101 1.05s ease both;
}

.offers-family-panel-v78.offer-pulse-target-v101::after {
  border-radius: 28px;
}


/* V103 — detail step flashes pills without moving/resizing them */
.offer-action-v84.offer-detail-flash-v103 {
  animation: sx27OfferDetailFlashV103 .95s ease both !important;
  transform: none !important;
  filter: none !important;
  will-change: box-shadow, background-color, color;
}

.offer-action-v84.offer-detail-flash-v103::after {
  content: none !important;
  display: none !important;
}

@keyframes sx27OfferDetailFlashV103 {
  0% {
    box-shadow: inset 0 0 0 1px rgba(138,239,255,.18), 0 0 0 rgba(138,239,255,0);
    background-color: rgba(138,239,255,.065);
    color: rgba(138,239,255,.94);
  }
  25% {
    box-shadow: inset 0 0 0 1px rgba(138,239,255,.62), 0 0 24px rgba(138,239,255,.24);
    background-color: rgba(138,239,255,.16);
    color: rgba(250,252,255,.98);
  }
  55% {
    box-shadow: inset 0 0 0 1px rgba(138,239,255,.32), 0 0 12px rgba(138,239,255,.14);
    background-color: rgba(138,239,255,.09);
  }
  100% {
    box-shadow: inset 0 0 0 1px rgba(138,239,255,.18), 0 0 0 rgba(138,239,255,0);
    background-color: rgba(138,239,255,.065);
    color: rgba(138,239,255,.94);
  }
}


/* V104 — detail step scrolls to price/detail buttons while keeping no-layout flash */


/* V105 — mobile hamburger content + mark logo */
.brand-logo {
  object-fit: contain;
}

.site-header .brand-logo,
.footer-brand .brand-logo,
.footer-logo {
  width: auto;
  height: 38px;
  max-width: 42px;
}

.footer-brand .brand-logo,
.footer-logo {
  height: 42px;
  max-width: 46px;
}

@media (max-width: 860px) {
  .site-header {
    z-index: 2147482000 !important;
  }

  .nav-toggle {
    display: inline-grid !important;
    place-items: center;
    flex: 0 0 42px;
  }

  .site-nav {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: calc(env(safe-area-inset-top) + 72px) !important;
    z-index: 2147481999 !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
    align-items: stretch !important;
    padding: .75rem !important;
    border: 1px solid rgba(138,239,255,.18) !important;
    border-radius: 24px !important;
    background:
      radial-gradient(circle at 10% 0%, rgba(138,239,255,.12), transparent 18rem),
      rgba(4, 7, 12, .98) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.035) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    color: rgba(246,249,255,.92) !important;
    max-height: calc(100svh - 88px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .site-nav.is-open {
    display: grid !important;
  }

  .site-nav > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 46px !important;
    padding: 0 .95rem !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.035) !important;
    color: rgba(250,252,255,.94) !important;
    font-size: .94rem !important;
    font-weight: 760 !important;
    text-decoration: none !important;
  }

  .site-nav > a::after {
    content: "→";
    color: rgba(138,239,255,.8);
    font-weight: 800;
  }

  .site-nav > a.nav-cta {
    justify-content: center !important;
    margin: .15rem 0 0 !important;
    border-color: rgba(138,239,255,.38) !important;
    background: rgba(138,239,255,.95) !important;
    color: #031018 !important;
  }

  .site-nav > a.nav-cta::after {
    content: none !important;
  }

  .site-nav .language-menu {
    width: 100% !important;
    order: 10;
    display: grid !important;
    gap: .45rem !important;
    padding: .55rem !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.03) !important;
  }

  .site-nav .language-icon-button {
    display: none !important;
  }

  .site-nav .language-options {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .4rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-nav .language-options button {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 .45rem !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.04) !important;
    color: rgba(246,249,255,.86) !important;
    font-size: .72rem !important;
    font-weight: 780 !important;
  }

  .site-nav .language-options button.is-active,
  .site-nav .language-options button[aria-checked="true"] {
    border-color: rgba(138,239,255,.35) !important;
    background: rgba(138,239,255,.12) !important;
    color: rgba(250,252,255,.96) !important;
  }

  body.nav-open {
    overflow: hidden !important;
  }
}

@media (max-width: 420px) {
  .site-header .brand-logo {
    height: 34px;
    max-width: 38px;
  }

  .footer-brand .brand-logo,
  .footer-logo {
    height: 38px;
    max-width: 42px;
  }
}


/* V106 — phone header removal + compact horizontal home launcher */
@media (max-width: 720px) {
  .site-header,
  .sx-home-header,
  .sx-sub-header {
    display: none !important;
  }

  body.nav-open {
    overflow: auto !important;
  }

  /* Studio page: no hidden header space on phone */
  body:not(.sx-home):not(.sx-subpage) main {
    padding-top: 0 !important;
  }

  body:not(.sx-home):not(.sx-subpage) .services-section {
    padding-top: clamp(1.35rem, 5vw, 2.2rem) !important;
  }

  /* Home launcher: one compact app-like screen */
  body.sx-home {
    min-height: 100svh !important;
    overflow-x: hidden !important;
  }

  body.sx-home .sx-home-main {
    min-height: 100svh !important;
    display: grid !important;
    align-items: center !important;
  }

  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    min-height: 100svh !important;
    padding: max(.85rem, env(safe-area-inset-top)) 0 max(.9rem, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    align-items: center !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap,
  body.sx-home .container {
    width: min(100% - 1rem, 720px) !important;
    max-width: calc(100vw - 1rem) !important;
  }

  body.sx-home .sx-home-v11-wrap {
    display: grid !important;
    gap: .85rem !important;
  }

  body.sx-home .sx-home-intro,
  body.sx-home .sx-home-v11-intro {
    margin: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  body.sx-home .sx-hero-logo-system {
    width: 56px !important;
    height: 56px !important;
    margin: 0 0 .45rem !important;
  }

  body.sx-home .sx-hero-logo-system img,
  body.sx-home .sx-hero-mark {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.sx-home .sx-hero-kicker {
    margin: 0 0 .35rem !important;
    font-size: .72rem !important;
    letter-spacing: .08em !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    max-width: 34rem !important;
    margin: 0 !important;
    font-size: clamp(.86rem, 3.6vw, .98rem) !important;
    line-height: 1.38 !important;
    color: rgba(246,249,255,.72) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(222px, 76vw) !important;
    grid-template-columns: none !important;
    gap: .72rem !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: .1rem .15rem .45rem !important;
    margin: 0 !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.sx-home .sx-choice-layout::-webkit-scrollbar,
  body.sx-home .sx-choice-layout-v11::-webkit-scrollbar {
    display: none !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    scrollbar-width: none !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    scroll-snap-align: start !important;
    min-height: 224px !important;
    max-height: 250px !important;
    min-width: 0 !important;
    padding: .88rem !important;
    border-radius: 22px !important;
    gap: .65rem !important;
    display: grid !important;
    align-content: space-between !important;
    transform: none !important;
  }

  body.sx-home .sx-choice-modal:hover {
    transform: none !important;
  }

  body.sx-home .sx-choice-number {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
    font-size: .7rem !important;
  }

  body.sx-home .sx-choice-content {
    display: grid !important;
    gap: .35rem !important;
    min-width: 0 !important;
  }

  body.sx-home .sx-choice-kicker {
    margin: 0 !important;
    font-size: .66rem !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2 {
    margin: 0 !important;
    font-size: clamp(1.75rem, 12vw, 2.55rem) !important;
    line-height: .9 !important;
    letter-spacing: -.085em !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker) {
    margin: 0 !important;
    font-size: .74rem !important;
    line-height: 1.25 !important;
    color: rgba(246,249,255,.68) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-list {
    display: none !important;
  }

  body.sx-home .sx-choice-modal > strong {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 .65rem !important;
    border: 1px solid rgba(138,239,255,.20) !important;
    border-radius: 999px !important;
    background: rgba(138,239,255,.075) !important;
    color: rgba(250,252,255,.94) !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.sx-home .sx-choice-studio {
    border-color: rgba(138,239,255,.30) !important;
    background:
      radial-gradient(circle at 16% 0%, rgba(138,239,255,.16), transparent 13rem),
      rgba(255,255,255,.045) !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    grid-auto-columns: minmax(205px, 82vw) !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    min-height: 214px !important;
    max-height: 238px !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    -webkit-line-clamp: 2 !important;
  }
}


/* V107 — studio logo link + one-screen mobile home */
.studio-service-logo-link-v107 {
  display: inline-grid;
  place-items: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease;
}

.studio-service-logo-link-v107:hover {
  transform: translateY(-1px);
  opacity: .92;
}

@media (max-width: 720px) {
  /* Home page must behave like a one-screen launcher on phone */
  html:has(body.sx-home),
  body.sx-home {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-home-main {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
    display: grid !important;
    align-items: stretch !important;
  }

  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
    padding: max(.65rem, env(safe-area-inset-top)) 0 max(.65rem, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    align-items: stretch !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    height: 100% !important;
    width: min(100% - .75rem, 720px) !important;
    max-width: calc(100vw - .75rem) !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    align-content: stretch !important;
    gap: .62rem !important;
  }

  body.sx-home .sx-home-intro,
  body.sx-home .sx-home-v11-intro {
    min-height: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: .6rem !important;
    row-gap: .1rem !important;
    align-items: center !important;
    text-align: left !important;
  }

  body.sx-home .sx-hero-logo-system {
    grid-row: 1 / 3 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  body.sx-home .sx-hero-kicker {
    margin: 0 !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    margin: 0 !important;
    font-size: clamp(.72rem, 3.1vw, .82rem) !important;
    line-height: 1.22 !important;
    max-width: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100% !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: unset !important;
    gap: .45rem !important;
    padding: 0 !important;
    margin: 0 !important;
    scroll-snap-type: none !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    padding: .58rem .5rem !important;
    border-radius: 18px !important;
    gap: .35rem !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
    align-content: stretch !important;
    justify-content: stretch !important;
  }

  body.sx-home .sx-choice-number {
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    font-size: .62rem !important;
  }

  body.sx-home .sx-choice-content {
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: .22rem !important;
  }

  body.sx-home .sx-choice-kicker {
    margin: 0 !important;
    font-size: .54rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2 {
    margin: 0 !important;
    font-size: clamp(1.15rem, 8.7vw, 1.75rem) !important;
    line-height: .9 !important;
    letter-spacing: -.085em !important;
    word-break: normal !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker) {
    margin: .08rem 0 0 !important;
    font-size: .62rem !important;
    line-height: 1.14 !important;
    color: rgba(246,249,255,.64) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-list {
    display: none !important;
  }

  body.sx-home .sx-choice-modal > strong {
    min-height: 30px !important;
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 .35rem !important;
    border: 1px solid rgba(138,239,255,.20) !important;
    border-radius: 999px !important;
    background: rgba(138,239,255,.075) !important;
    color: rgba(250,252,255,.94) !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    gap: .48rem !important;
  }

  body.sx-home .sx-hero-logo-system {
    width: 38px !important;
    height: 38px !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    -webkit-line-clamp: 1 !important;
    font-size: .68rem !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    padding: .5rem .42rem !important;
    border-radius: 16px !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker) {
    -webkit-line-clamp: 3 !important;
    font-size: .58rem !important;
  }

  body.sx-home .sx-choice-modal > strong {
    font-size: .54rem !important;
  }
}


/* V108 — centered home choices, Studio in the middle, no 01/02/03 */
.sx-choice-layout {
  align-items: stretch;
}

.sx-choice-modal {
  text-align: center;
  align-items: center;
}

.sx-choice-content {
  width: 100%;
  text-align: center;
}

.sx-choice-modal p:not(.sx-choice-kicker),
.sx-choice-list {
  text-align: center;
}

.sx-choice-list {
  list-style-position: inside;
  padding-left: 0;
}

.sx-choice-number {
  display: none !important;
}

.sx-choice-studio {
  order: 2;
}

.sx-choice-shop {
  order: 1;
}

.sx-choice-library {
  order: 3;
}

.sx-choice-modal > strong {
  align-self: center;
  text-align: center;
}

@media (max-width: 720px) {
  body.sx-home .sx-home-intro,
  body.sx-home .sx-home-v11-intro {
    text-align: center !important;
  }

  body.sx-home .sx-hero-logo-system {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    text-align: center !important;
    justify-items: center !important;
    align-items: stretch !important;
    grid-template-rows: 1fr auto !important;
  }

  body.sx-home .sx-choice-studio {
    order: 2 !important;
  }

  body.sx-home .sx-choice-shop {
    order: 1 !important;
  }

  body.sx-home .sx-choice-library {
    order: 3 !important;
  }

  body.sx-home .sx-choice-content {
    height: 100% !important;
    text-align: center !important;
    align-content: center !important;
    justify-items: center !important;
  }

  body.sx-home .sx-choice-kicker,
  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker) {
    text-align: center !important;
  }

  body.sx-home .sx-choice-number {
    display: none !important;
  }

  body.sx-home .sx-choice-modal > strong {
    align-self: end !important;
    justify-self: center !important;
    text-align: center !important;
  }
}


/* V109 — mobile home intro restored + shorter clickable choice cards */
@media (max-width: 720px) {
  body.sx-home .sx-home-main {
    align-items: start !important;
  }

  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    align-items: start !important;
    padding: max(1.05rem, env(safe-area-inset-top)) 0 max(.75rem, env(safe-area-inset-bottom)) !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    height: 100% !important;
    display: grid !important;
    grid-template-rows: auto auto !important;
    align-content: start !important;
    justify-content: center !important;
    gap: .9rem !important;
  }

  body.sx-home .sx-home-intro,
  body.sx-home .sx-home-v11-intro {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    justify-items: center !important;
    align-items: center !important;
    gap: .28rem !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 22rem !important;
    margin: 0 auto !important;
  }

  body.sx-home .sx-hero-logo-system {
    grid-row: auto !important;
    width: 68px !important;
    height: 68px !important;
    margin: 0 auto .1rem !important;
  }

  body.sx-home .sx-hero-kicker {
    margin: 0 !important;
    text-align: center !important;
    font-size: .76rem !important;
    line-height: 1 !important;
    letter-spacing: .095em !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    margin: .18rem auto 0 !important;
    max-width: 20.5rem !important;
    text-align: center !important;
    font-size: clamp(.76rem, 3.2vw, .88rem) !important;
    line-height: 1.28 !important;
    color: rgba(246,249,255,.62) !important;
    -webkit-line-clamp: 3 !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .48rem !important;
    overflow: visible !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    height: clamp(185px, 34svh, 235px) !important;
    min-height: 0 !important;
    max-height: 235px !important;
    padding: .62rem .48rem !important;
    border-radius: 18px !important;
    grid-template-rows: 1fr auto !important;
    align-content: stretch !important;
  }

  body.sx-home .sx-choice-content {
    align-content: center !important;
    gap: .24rem !important;
  }

  body.sx-home .sx-choice-kicker {
    font-size: .52rem !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2 {
    font-size: clamp(1.05rem, 8vw, 1.6rem) !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker) {
    font-size: .59rem !important;
    line-height: 1.12 !important;
    -webkit-line-clamp: 4 !important;
  }

  body.sx-home .sx-choice-modal > strong {
    min-height: 28px !important;
    font-size: .54rem !important;
    padding: 0 .3rem !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    padding-top: .8rem !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    gap: .65rem !important;
  }

  body.sx-home .sx-hero-logo-system {
    width: 56px !important;
    height: 56px !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    -webkit-line-clamp: 2 !important;
    font-size: .7rem !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    height: clamp(168px, 32svh, 210px) !important;
    max-height: 210px !important;
    padding: .5rem .38rem !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker) {
    -webkit-line-clamp: 3 !important;
    font-size: .54rem !important;
  }
}


/* V110 — mobile home centered vertically */
@media (max-width: 720px) {
  body.sx-home .sx-home-main {
    align-items: center !important;
  }

  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    align-items: center !important;
    justify-items: center !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100svh - 1.6rem) !important;
    align-content: center !important;
    justify-content: center !important;
    align-self: center !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    align-self: center !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    max-height: calc(100svh - 1rem) !important;
  }
}


/* V113 — custom SX27 booking calendar, no Calendly dependency */
.booking-dialog-v113 {
  max-width: min(940px, calc(100vw - 2rem)) !important;
}

.booking-head-v113 h2 {
  margin-bottom: .35rem;
}

.booking-intro-v113 {
  margin: 0;
  max-width: 640px;
  color: rgba(246,249,255,.64);
  line-height: 1.45;
}

.booking-form-v113 {
  display: grid;
  gap: 1rem;
}

.booking-grid-v113 {
  display: grid;
  grid-template-columns: 1.05fr .8fr .95fr;
  gap: .8rem;
  align-items: stretch;
}

.booking-panel-v113 {
  min-height: 238px;
  padding: .88rem;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 24px;
  background:
    radial-gradient(circle at 0 0, rgba(138,239,255,.08), transparent 14rem),
    rgba(255,255,255,.032);
  display: grid;
  align-content: start;
  gap: .75rem;
}

.booking-month-v113,
.booking-step-title-v113 {
  display: grid;
  gap: .18rem;
}

.booking-month-v113 strong,
.booking-step-title-v113 strong {
  color: rgba(250,252,255,.95);
  font-size: .98rem;
  letter-spacing: -.02em;
}

.booking-month-v113 span,
.booking-step-title-v113 span {
  color: rgba(246,249,255,.52);
  font-size: .72rem;
  font-weight: 720;
}

.booking-days-v113 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
}

.booking-days-v113 button,
.booking-slots-v113 button {
  min-height: 52px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.84);
  cursor: pointer;
  font: inherit;
  display: grid;
  place-items: center;
  gap: .05rem;
  transition: border-color .18s ease, background .18s ease, transform .18s ease, color .18s ease;
}

.booking-days-v113 button:hover,
.booking-slots-v113 button:hover,
.booking-days-v113 button.is-active,
.booking-slots-v113 button.is-active {
  border-color: rgba(138,239,255,.38);
  background: rgba(138,239,255,.12);
  color: rgba(250,252,255,.96);
}

.booking-days-v113 button:active,
.booking-slots-v113 button:active {
  transform: scale(.98);
}

.booking-days-v113 button b {
  font-size: .9rem;
  line-height: 1;
}

.booking-days-v113 button span {
  color: rgba(246,249,255,.56);
  font-size: .64rem;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.booking-slots-v113 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}

.booking-slots-v113 button {
  min-height: 42px;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 760;
}

.booking-contact-panel-v113 {
  gap: .62rem;
}

.booking-contact-field-v113 {
  display: grid;
  gap: .32rem;
}

.booking-contact-field-v113 span {
  color: rgba(246,249,255,.58);
  font-size: .7rem;
  font-weight: 780;
}

.booking-contact-field-v113 input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.095);
  border-radius: 15px;
  background: rgba(0,0,0,.20);
  color: rgba(250,252,255,.94);
  padding: 0 .75rem;
  outline: none;
}

.booking-contact-field-v113 input:focus {
  border-color: rgba(138,239,255,.38);
  box-shadow: 0 0 0 3px rgba(138,239,255,.09);
}

.booking-summary-v113 {
  min-height: 42px;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  padding: .42rem;
  border: 1px solid rgba(138,239,255,.14);
  border-radius: 999px;
  background: rgba(138,239,255,.045);
}

.booking-summary-v113 span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: rgba(246,249,255,.74);
  font-size: .76rem;
  font-weight: 760;
}

.booking-actions-v113 {
  display: flex;
  justify-content: flex-end;
  gap: .6rem;
}

.booking-status-v113 {
  margin: -.25rem 0 0;
  color: rgba(138,239,255,.9);
  font-size: .82rem;
  font-weight: 720;
  min-height: 1.1em;
}

@media (max-width: 820px) {
  .booking-grid-v113 {
    grid-template-columns: 1fr;
  }

  .booking-panel-v113 {
    min-height: 0;
  }

  .booking-days-v113 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .booking-dialog-v113 {
    max-height: calc(100svh - 1.3rem) !important;
    overflow-y: auto;
  }

  .booking-grid-v113 {
    gap: .55rem;
  }

  .booking-panel-v113 {
    padding: .62rem;
    border-radius: 18px;
    gap: .5rem;
  }

  .booking-intro-v113 {
    font-size: .82rem;
    line-height: 1.35;
  }

  .booking-days-v113 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
  }

  .booking-days-v113 button {
    min-height: 45px;
    border-radius: 14px;
  }

  .booking-slots-v113 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
  }

  .booking-slots-v113 button {
    min-height: 38px;
    font-size: .74rem;
  }

  .booking-contact-field-v113 input {
    min-height: 40px;
  }

  .booking-summary-v113 {
    border-radius: 18px;
  }

  .booking-actions-v113 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .booking-actions-v113 .button {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .booking-days-v113 button b {
    font-size: .78rem;
  }

  .booking-days-v113 button span,
  .booking-step-title-v113 span,
  .booking-month-v113 span {
    font-size: .58rem;
  }

  .booking-slots-v113 button {
    font-size: .68rem;
  }
}


/* V114 — booking modal PC centering + 14-day calendar + phone/WhatsApp polish */
.calendly-modal.booking-modal-v113[aria-hidden="false"],
.booking-modal-v113[aria-hidden="false"] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482500 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(1rem, 2.2vw, 2rem) !important;
  overflow: hidden !important;
}

.calendly-modal.booking-modal-v113[aria-hidden="true"],
.booking-modal-v113[aria-hidden="true"] {
  display: none !important;
}

.booking-modal-v113 .questionnaire-backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(138,239,255,.10), transparent 34rem),
    rgba(2,4,9,.74) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.booking-dialog-v113 {
  position: relative !important;
  z-index: 1 !important;
  width: min(1120px, calc(100vw - 2rem)) !important;
  max-width: min(1120px, calc(100vw - 2rem)) !important;
  max-height: calc(100svh - 2rem) !important;
  margin: 0 auto !important;
  overflow: auto !important;
  border-radius: 30px !important;
}

.booking-grid-v113 {
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .72fr) minmax(260px, .9fr) !important;
}

.booking-calendar-panel-v113 {
  min-width: 0 !important;
}

.booking-days-v113 {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: .42rem !important;
}

.booking-days-v113 button {
  min-height: 58px !important;
  border-radius: 15px !important;
}

.booking-days-v113 button b {
  font-size: .9rem !important;
}

.booking-days-v113 button span {
  font-size: .58rem !important;
}

.booking-slots-v113 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.booking-whatsapp-v114 {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .55rem;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(255,255,255,.032);
  color: rgba(246,249,255,.72);
  font-size: .72rem;
  font-weight: 720;
  cursor: pointer;
}

.booking-whatsapp-v114 input {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  accent-color: rgb(138,239,255);
  flex: 0 0 auto;
}

.booking-whatsapp-v114 span {
  color: rgba(246,249,255,.76) !important;
  font-size: .72rem !important;
}

body.calendly-open {
  overflow: hidden !important;
}

@media (max-width: 980px) {
  .booking-grid-v113 {
    grid-template-columns: 1fr !important;
  }

  .booking-days-v113 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .calendly-modal.booking-modal-v113[aria-hidden="false"],
  .booking-modal-v113[aria-hidden="false"] {
    padding: .65rem !important;
    place-items: center !important;
  }

  .booking-dialog-v113 {
    width: min(100%, calc(100vw - 1.3rem)) !important;
    max-width: calc(100vw - 1.3rem) !important;
    max-height: calc(100svh - 1.3rem) !important;
    border-radius: 24px !important;
  }

  .booking-days-v113 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: .25rem !important;
  }

  .booking-days-v113 button {
    min-height: 42px !important;
    border-radius: 11px !important;
    padding: 0 !important;
  }

  .booking-days-v113 button b {
    font-size: .72rem !important;
  }

  .booking-days-v113 button span {
    font-size: .48rem !important;
  }

  .booking-slots-v113 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .booking-slots-v113 button {
    min-height: 36px !important;
  }
}

@media (max-width: 420px) {
  .booking-days-v113 {
    gap: .2rem !important;
  }

  .booking-days-v113 button {
    min-height: 38px !important;
  }

  .booking-days-v113 button b {
    font-size: .66rem !important;
  }

  .booking-days-v113 button span {
    font-size: .43rem !important;
  }

  .booking-slots-v113 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}


/* V115 — monthly booking calendar + cleaner modal UX */
.calendly-modal.booking-modal-v115[aria-hidden="false"],
.booking-modal-v115[aria-hidden="false"] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482500 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(1rem, 2vw, 1.6rem) !important;
  overflow: hidden !important;
}

.booking-dialog-v115 {
  width: min(1180px, calc(100vw - 2rem)) !important;
  max-width: min(1180px, calc(100vw - 2rem)) !important;
  max-height: calc(100svh - 2rem) !important;
  overflow: auto !important;
  margin: 0 auto !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
  border-radius: 34px !important;
}

.booking-head-v115 {
  margin-bottom: .9rem !important;
  padding-bottom: .85rem !important;
  border-bottom: 1px solid rgba(255,255,255,.075);
}

.booking-intro-v115 {
  max-width: 650px;
  color: rgba(246,249,255,.62) !important;
}

.booking-form-v115 {
  gap: .82rem !important;
}

.booking-selected-offer-v115 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  padding: .52rem .62rem;
  border: 1px solid rgba(138,239,255,.20);
  border-radius: 18px;
  background: rgba(138,239,255,.065);
}

.booking-selected-offer-v115[hidden] {
  display: none !important;
}

.booking-selected-offer-v115 span {
  color: rgba(138,239,255,.9);
  font-family: var(--font-mono);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.booking-selected-offer-v115 strong {
  color: rgba(250,252,255,.94);
  font-size: .86rem;
}

.booking-layout-v115 {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(310px, .78fr);
  gap: .82rem;
  align-items: stretch;
}

.booking-side-v115 {
  display: grid;
  gap: .82rem;
  min-width: 0;
}

.booking-panel-v113.booking-calendar-panel-v115,
.booking-panel-v113.booking-time-panel-v115,
.booking-panel-v113.booking-contact-panel-v115,
.booking-panel-v113.booking-mini-panel-v115 {
  min-height: 0 !important;
  padding: .95rem !important;
  border-radius: 24px !important;
  overflow: hidden;
}

.booking-calendar-panel-v115 {
  align-content: stretch !important;
}

.booking-month-v115 {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: .5rem;
  margin-bottom: .35rem;
}

.booking-month-v115 strong {
  text-align: center;
  text-transform: capitalize;
  font-size: 1rem;
}

.booking-month-arrow-v115 {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: rgba(250,252,255,.9);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.booking-month-arrow-v115:disabled {
  opacity: .32;
  cursor: not-allowed;
}

.booking-weekdays-v115,
.booking-days-v115 {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: .34rem !important;
}

.booking-weekdays-v115 {
  margin-bottom: .34rem;
}

.booking-weekdays-v115 span {
  min-height: 22px;
  display: grid;
  place-items: center;
  color: rgba(246,249,255,.42);
  font-size: .58rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.booking-days-v115 button {
  min-height: 48px !important;
  padding: 0 !important;
  border-radius: 13px !important;
}

.booking-days-v115 button.is-empty {
  opacity: 0;
  pointer-events: none;
}

.booking-days-v115 button.is-disabled {
  opacity: .28;
  pointer-events: none;
}

.booking-days-v115 button b {
  font-size: .78rem !important;
}

.booking-days-v115 button span {
  font-size: .48rem !important;
}

.booking-slots-v115 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.booking-slots-v115 button {
  min-height: 38px !important;
  font-size: .75rem !important;
}

.booking-contact-field-v115 {
  margin: 0;
}

.booking-whatsapp-v115 {
  margin-top: .1rem;
  border-radius: 15px;
}

.booking-mini-grid-v115 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .82rem;
}

.booking-activity-options-v115,
.booking-needs-v115 {
  display: grid;
  gap: .38rem;
}

.booking-activity-options-v115 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.booking-activity-options-v115 button {
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.78);
  cursor: pointer;
  font: inherit;
  font-size: .68rem;
  font-weight: 780;
}

.booking-activity-options-v115 button.is-active {
  border-color: rgba(138,239,255,.38);
  background: rgba(138,239,255,.12);
  color: rgba(250,252,255,.95);
}

.booking-free-input-v115 {
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(255,255,255,.095);
  border-radius: 15px;
  background: rgba(0,0,0,.18);
  color: rgba(250,252,255,.92);
  padding: 0 .72rem;
  outline: none;
}

.booking-free-input-v115:focus {
  border-color: rgba(138,239,255,.38);
  box-shadow: 0 0 0 3px rgba(138,239,255,.09);
}

.booking-needs-v115 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.booking-needs-v115 label {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: .42rem;
  padding: .35rem .5rem;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(255,255,255,.032);
  color: rgba(246,249,255,.76);
  font-size: .68rem;
  font-weight: 740;
  cursor: pointer;
}

.booking-needs-v115 input {
  width: 14px;
  height: 14px;
  accent-color: rgb(138,239,255);
  flex: 0 0 auto;
}

.booking-summary-v115 {
  border-radius: 18px !important;
}

.booking-actions-v115 {
  padding-top: .15rem;
}

@media (max-width: 960px) {
  .booking-layout-v115,
  .booking-mini-grid-v115 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .booking-dialog-v115 {
    width: min(100%, calc(100vw - 1rem)) !important;
    max-width: calc(100vw - 1rem) !important;
    max-height: calc(100svh - 1rem) !important;
    padding: .82rem !important;
    border-radius: 24px !important;
  }

  .booking-head-v115 {
    margin-bottom: .65rem !important;
    padding-bottom: .65rem !important;
  }

  .booking-layout-v115,
  .booking-side-v115,
  .booking-mini-grid-v115 {
    gap: .55rem;
  }

  .booking-panel-v113.booking-calendar-panel-v115,
  .booking-panel-v113.booking-time-panel-v115,
  .booking-panel-v113.booking-contact-panel-v115,
  .booking-panel-v113.booking-mini-panel-v115 {
    padding: .62rem !important;
    border-radius: 18px !important;
  }

  .booking-month-v115 {
    grid-template-columns: 34px minmax(0, 1fr) 34px;
  }

  .booking-month-arrow-v115 {
    width: 34px;
    height: 34px;
  }

  .booking-weekdays-v115,
  .booking-days-v115 {
    gap: .2rem !important;
  }

  .booking-days-v115 button {
    min-height: 35px !important;
    border-radius: 9px !important;
  }

  .booking-days-v115 button b {
    font-size: .62rem !important;
  }

  .booking-days-v115 button span {
    display: none;
  }

  .booking-slots-v115,
  .booking-activity-options-v115 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .booking-needs-v115 {
    grid-template-columns: 1fr;
  }

  .booking-actions-v115 {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .booking-actions-v115 .button {
    width: 100%;
  }
}


/* V116 — booking over offer modal + selected-offer UX */
.calendly-modal.booking-modal-v115[aria-hidden="false"],
.calendly-modal.booking-modal-v113[aria-hidden="false"],
.booking-modal-v115[aria-hidden="false"],
.booking-modal-v113[aria-hidden="false"] {
  z-index: 2147483000 !important;
}

.offer-modal-v96.is-open {
  z-index: 2147481500 !important;
}

.booking-selected-offer-v116 {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
}

.booking-selected-offer-v116[hidden] {
  display: none !important;
}

.booking-selected-offer-v116 > div {
  display: grid;
  gap: .12rem;
  min-width: 0;
}

.booking-selected-offer-v116 strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.booking-add-needs-v116 {
  min-height: 34px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 .72rem;
  border: 1px solid rgba(138,239,255,.24);
  border-radius: 999px;
  background: rgba(138,239,255,.075);
  color: rgba(250,252,255,.94);
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 820;
  white-space: nowrap;
}

.booking-add-needs-v116:hover,
.booking-add-needs-v116:focus-visible {
  border-color: rgba(138,239,255,.42);
  background: rgba(138,239,255,.13);
  outline: none;
}

.booking-needs-focus-v116 {
  animation: sx27BookingNeedsFocusV116 1.05s ease both;
}

@keyframes sx27BookingNeedsFocusV116 {
  0% {
    box-shadow: 0 0 0 rgba(138,239,255,0), inset 0 0 0 1px rgba(255,255,255,.08);
  }
  22% {
    box-shadow: 0 0 36px rgba(138,239,255,.24), inset 0 0 0 1px rgba(138,239,255,.42);
    filter: brightness(1.12);
  }
  100% {
    box-shadow: 0 0 0 rgba(138,239,255,0), inset 0 0 0 1px rgba(255,255,255,.08);
    filter: brightness(1);
  }
}

/* Calendar day cell should show only the day number, not 11 + 11/06 */
.booking-days-v115 button span {
  display: none !important;
}

.booking-days-v115 button {
  place-items: center !important;
}

.booking-days-v115 button b {
  line-height: 1 !important;
}

@media (max-width: 720px) {
  .booking-selected-offer-v116 {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .55rem;
    padding: .55rem !important;
  }

  .booking-selected-offer-v116 > div {
    justify-items: center;
    text-align: center;
  }

  .booking-selected-offer-v116 strong {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
  }

  .booking-add-needs-v116 {
    width: 100%;
    min-height: 32px;
    font-size: .68rem;
  }
}


/* V117 — footer without logo + public email */
.footer-kicker-v117 {
  margin: 0 0 .55rem !important;
  color: rgba(138,239,255,.9) !important;
  font-family: var(--font-mono);
  font-size: .72rem !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

.footer-email-v117 {
  margin-top: .75rem;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 34px;
  padding: 0 .72rem;
  border: 1px solid rgba(138,239,255,.22);
  border-radius: 999px;
  background: rgba(138,239,255,.065);
  color: rgba(250,252,255,.94);
  font-weight: 780;
  text-decoration: none;
}

.footer-email-v117:hover,
.footer-email-v117:focus-visible {
  border-color: rgba(138,239,255,.42);
  background: rgba(138,239,255,.12);
  outline: none;
}

.site-footer .footer-brand,
.site-footer .footer-logo {
  display: none !important;
}


/* V120 — hidden honeypot field for booking anti-spam */
.sx27-hp-v120 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}


/* V121 — booking validation and confirmation modal */
.booking-contact-field-v115 input.is-invalid-v121,
.booking-free-input-v115.is-invalid-v121 {
  border-color: rgba(255, 78, 78, 0.95) !important;
  box-shadow: 0 0 0 1px rgba(255, 78, 78, 0.45), 0 0 0 4px rgba(255, 78, 78, 0.08) !important;
}

.field-error-v121 {
  display: block;
  margin-top: 6px;
  color: #ff6b6b;
  font-size: 0.76rem;
  line-height: 1.25;
  letter-spacing: 0.01em;
}

.booking-status-v113.is-error-v121 {
  color: #ff6b6b;
}

.booking-status-v113.is-success-v121 {
  color: rgba(255, 255, 255, 0.86);
}

.booking-success-modal-v121 {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  place-items: center;
  padding: clamp(18px, 4vw, 42px);
}

.booking-success-modal-v121[aria-hidden="false"] {
  display: grid;
}

.booking-success-backdrop-v121 {
  position: absolute;
  inset: 0;
  background: rgba(2, 3, 8, 0.78);
  backdrop-filter: blur(18px);
}

.booking-success-dialog-v121 {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(22, 23, 29, 0.98), rgba(8, 9, 13, 0.98));
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5);
  padding: clamp(22px, 4vw, 34px);
  color: #fff;
}

.booking-success-dialog-v121 h2 {
  margin: 8px 0 10px;
  font-size: clamp(1.8rem, 5vw, 3rem);
  letter-spacing: -0.06em;
}

.booking-success-lead-v121 {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.55;
}

.booking-success-summary-v121 {
  display: grid;
  gap: 10px;
  margin: 22px 0;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.booking-success-row-v121 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  font-size: 0.9rem;
}

.booking-success-row-v121 span:first-child {
  color: rgba(255, 255, 255, 0.52);
}

.booking-success-row-v121 span:last-child {
  text-align: right;
  color: rgba(255, 255, 255, 0.92);
  font-weight: 650;
}

.booking-success-note-v121 {
  display: grid;
  gap: 4px;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  line-height: 1.45;
}

.booking-success-note-v121 strong {
  color: #fff;
}

@media (max-width: 620px) {
  .booking-success-row-v121 {
    display: grid;
    gap: 3px;
  }

  .booking-success-row-v121 span:last-child {
    text-align: left;
  }
}


.booking-status-v113 {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.1em;
  border-radius: 999px;
  transition: color .18s ease, background .18s ease, border-color .18s ease, padding .18s ease;
}

.booking-status-v113.is-error-v121,
.booking-status-v113.is-success-v121 {
  margin-top: .35rem;
  padding: .54rem .78rem;
  border: 1px solid transparent;
  font-size: .78rem;
  line-height: 1.35;
}

.booking-status-v113.is-error-v121 {
  color: #ffd8d8;
  background: rgba(255, 77, 77, .085);
  border-color: rgba(255, 77, 77, .22);
  box-shadow: 0 14px 42px rgba(0, 0, 0, .16);
}

.booking-status-v113.is-success-v121 {
  color: rgba(234, 252, 255, .95);
  background: rgba(138, 239, 255, .075);
  border-color: rgba(138, 239, 255, .18);
  box-shadow: 0 14px 42px rgba(0, 0, 0, .16);
}

.booking-actions-v113 .button:disabled,
.booking-actions-v113 .button[aria-busy="true"] {
  opacity: .62;
  cursor: wait;
  pointer-events: none;
  transform: none !important;
  filter: saturate(.82);
}

.booking-success-dialog-v121 {
  border-color: rgba(255, 255, 255, .14);
  background:
    radial-gradient(circle at 22% 0%, rgba(138, 239, 255, .12), transparent 32%),
    linear-gradient(180deg, rgba(20, 22, 28, .985), rgba(5, 6, 10, .99));
}

.booking-success-dialog-v121 .eyebrow {
  color: rgba(138, 239, 255, .82);
}

.booking-success-lead-v121 {
  color: rgba(255, 255, 255, .76);
}

.booking-success-summary-v121 {
  background: rgba(255, 255, 255, .045);
  border-color: rgba(255, 255, 255, .095);
}

.booking-success-note-v121 {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(138, 239, 255, .055);
  border: 1px solid rgba(138, 239, 255, .12);
}


/* V130 — booking availability states */
.booking-slots-v115 button.is-booked-v130,
.booking-slots-v115 button:disabled.is-booked-v130 {
  opacity: .36 !important;
  cursor: not-allowed !important;
  border-color: rgba(255,255,255,.06) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.025), rgba(255,255,255,.012)) !important;
  color: rgba(246,249,255,.38) !important;
  text-decoration: line-through;
  box-shadow: none !important;
}

.booking-slots-v115 button.is-booked-v130::after {
  content: "pris";
  display: inline-block;
  margin-left: .35rem;
  color: rgba(246,249,255,.32);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}

html[lang="en"] .booking-slots-v115 button.is-booked-v130::after {
  content: "taken";
}

html[lang="nl"] .booking-slots-v115 button.is-booked-v130::after {
  content: "bezet";
}

.booking-days-v115 button.is-full-v130 {
  opacity: .24 !important;
  cursor: not-allowed !important;
  background: rgba(255,255,255,.025) !important;
  border-color: rgba(255,255,255,.045) !important;
}

.booking-days-v115 button.is-full-v130 span {
  color: rgba(246,249,255,.46) !important;
  font-size: .44rem !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.booking-days-v115 button.is-full-v130 b {
  text-decoration: line-through;
  color: rgba(246,249,255,.52) !important;
}


/* V131 — mobile readability: no incomplete card text */
@media (max-width: 720px) {
  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead,
  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p,
  .service-card p,
  .service-card-compact p,
  .service-grid-clean .service-card p,
  .process-card p,
  .offer-card-v78 p,
  .offer-modal-info-v96 li,
  .sx-ecosystem-card p,
  .pricing-card p,
  .lens-card p,
  .diagnostic-result p,
  .contact-card p,
  .shop-page-card p,
  .library-page-card p,
  [class*="card"] p:not(.eyebrow):not(.result-kicker) {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal,
  .service-card,
  .service-card-compact,
  .offer-card-v78,
  .process-card,
  .pricing-card,
  .lens-card,
  [class*="card"] {
    height: auto !important;
    min-height: auto !important;
  }

  body.sx-home .sx-choice-modal {
    padding-top: .72rem !important;
    padding-bottom: .72rem !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2 {
    line-height: .92 !important;
  }

  body.sx-home .sx-choice-kicker,
  body.sx-home .sx-choice-modal > strong,
  .service-tags span {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  .service-card,
  .service-card-compact {
    gap: .55rem !important;
    align-content: start !important;
  }

  .service-tags span {
    min-height: auto !important;
    line-height: 1.18 !important;
    padding-top: .28rem !important;
    padding-bottom: .28rem !important;
  }
}

@media (max-width: 390px) {
  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p {
    font-size: .56rem !important;
    line-height: 1.16 !important;
  }

  .service-card p,
  .service-card-compact p {
    font-size: .70rem !important;
    line-height: 1.23 !important;
  }
}


/* V134 — validated Studio shell header */
.sx-studio-shell-header {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  max-width: min(1180px, calc(100% - 24px));
  padding: 9px 10px;
}

.sx-studio-shell-brand {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(138,239,255,.14);
  background: rgba(255,255,255,.045);
  border-radius: 999px;
}

.sx-studio-shell-brand .brand-logo {
  width: 24px !important;
  height: 24px !important;
}

.sx-shell-spaces {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 4px;
  min-width: 0;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}

.sx-shell-space {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: rgba(246,249,255,.70);
  font-size: .78rem;
  font-weight: 820;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.sx-shell-space:hover {
  color: #fff;
  background: rgba(138,239,255,.08);
}

.sx-shell-space.is-active {
  color: #06111e;
  background: var(--accent);
  box-shadow: 0 0 24px rgba(138,239,255,.22);
}

.sx-shell-context {
  justify-self: end;
  gap: 5px;
}

.sx-shell-context-link.is-active {
  color: #fff;
  background: rgba(138,239,255,.10);
  border: 1px solid rgba(138,239,255,.18);
}

.sx-min-lang {
  display: inline-flex;
  margin-left: auto;
}

.sx-home-header .language-menu,
.sx-section-header .language-menu {
  position: relative;
}

.sx-home-header .language-options,
.sx-section-header .language-options {
  right: 0;
  left: auto;
}

/* V134 — Studio dedicated pages */
.sx-studio-subpage main {
  padding-top: 112px;
}

.sx-subpage-hero-v134 {
  min-height: auto;
  padding: 86px 0 36px;
}

.sx-subpage-hero-inner-v134 {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}

.sx-subpage-hero-inner-v134 h1,
.sx-subpage-hero-inner-v134 h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(3.1rem, 7.6vw, 6.8rem);
  line-height: .86;
  letter-spacing: -.08em;
}

.sx-subpage-close-v134 {
  padding: 72px 0 94px;
}

.sx-offres-page-v134 .offers-section-v78 {
  padding-top: 42px;
}

.sx-offres-page-v134 .offer-simple-v78 {
  max-width: 1180px;
}

.sx-offres-page-v134 .family-switch-v78 {
  margin-bottom: 22px;
}

.sx-offres-page-v134 .offer-cards-v78 {
  gap: 16px;
}

.sx-offres-page-v134 .offer-card-v78 {
  min-height: 210px;
}

.sx-contact-info-v134 {
  padding-top: 44px;
}

.sx-contact-grid-v134,
.sx-modules-grid-v134 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}

.sx-modules-grid-v134 {
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.sx-contact-grid-v134 article,
.sx-modules-grid-v134 article {
  display: grid;
  align-content: start;
  gap: 13px;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 20% 0%, rgba(138,239,255,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow: 0 24px 80px rgba(0,0,0,.23);
}

.sx-contact-grid-v134 span,
.sx-modules-grid-v134 span {
  width: fit-content;
  padding: .45rem .65rem;
  border-radius: 999px;
  color: var(--accent);
  background: rgba(138,239,255,.075);
  border: 1px solid rgba(138,239,255,.14);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sx-contact-grid-v134 h2,
.sx-modules-grid-v134 h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.sx-contact-grid-v134 p,
.sx-modules-grid-v134 p {
  margin: 0;
  color: rgba(246,249,255,.70);
  line-height: 1.45;
}

/* V134 — mobile, no ellipses */
@media (max-width: 980px) {
  .sx-contact-grid-v134,
  .sx-modules-grid-v134 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .sx-studio-shell-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
  }

  .sx-shell-spaces {
    justify-self: stretch;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .sx-shell-spaces::-webkit-scrollbar {
    display: none;
  }

  .sx-shell-space {
    flex: 1 0 auto;
    min-height: 36px;
    padding: 0 10px;
    font-size: .72rem;
  }

  .sx-shell-context {
    top: 74px !important;
  }

  .sx-studio-subpage main {
    padding-top: 94px;
  }

  .sx-subpage-hero-v134 {
    padding-top: 66px;
  }

  .sx-subpage-hero-inner-v134 h1,
  .sx-subpage-hero-inner-v134 h2 {
    font-size: clamp(3.1rem, 16vw, 5.8rem);
  }

  .sx-contact-grid-v134,
  .sx-modules-grid-v134 {
    grid-template-columns: 1fr;
  }

  body.sx-home .sx-choice-modal p,
  body.sx-home .sx-choice-content p,
  .sx-coming-card p,
  .service-card p,
  .service-card-compact p,
  .offer-card-v78 p,
  .process-card p,
  .pricing-card p,
  .sx-contact-grid-v134 p,
  .sx-modules-grid-v134 p,
  [class*="card"] p:not(.eyebrow) {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }

  body.sx-home .sx-choice-modal,
  .sx-coming-card,
  .service-card,
  .service-card-compact,
  .offer-card-v78,
  .process-card,
  .pricing-card {
    height: auto !important;
    min-height: auto !important;
  }
}


/* V135 — Hub language floating button */
.sx-hub-lang-float-v135 {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 18px);
  right: 18px;
  z-index: 1200;
}

.sx-hub-lang-float-v135 .language-icon-button {
  background: rgba(5, 12, 24, .74);
  border-color: rgba(138,239,255,.22);
  box-shadow: 0 18px 55px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}

/* V135 — Shop / Library minimal prep header */
.sx-coming-header-v135 {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 14px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 900;
  width: min(620px, calc(100% - 24px));
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(5, 10, 18, .76);
  box-shadow: 0 18px 65px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(20px);
}

.sx-coming-lang-v135 {
  display: inline-flex;
  flex: 0 0 auto;
}

.sx-coming-spaces-v135 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}

.sx-coming-space {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 999px;
  color: rgba(246,249,255,.70);
  font-size: .78rem;
  font-weight: 820;
  text-decoration: none;
}

.sx-coming-space.is-active {
  color: #06111e;
  background: var(--accent);
  box-shadow: 0 0 24px rgba(138,239,255,.22);
}

/* V135 — offers page starts directly on real selector */
.sx-offres-page-v135 main {
  padding-top: 100px;
}

.sx-offres-page-v135 #offres {
  padding-top: 48px;
}

.sx-advice-strip-v135 {
  padding-top: 38px;
  padding-bottom: 96px;
}

.sx-advice-card-v135 {
  margin-top: 0 !important;
}

.sx-contact-choice-section-v135 {
  min-height: auto;
  padding-top: 150px;
  padding-bottom: 96px;
}

.sx-contact-choice-card-v135 {
  max-width: 1120px;
}

.sx-contact-three-v135 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sx-mail-card-v135 {
  text-decoration: none;
  color: inherit;
}

/* V135 — client-facing modules */
.sx-modules-page-v135 main {
  padding-top: 112px;
}

.sx-modules-hero-v135 {
  min-height: auto;
  padding: 88px 0 42px;
}

.sx-modules-hero-inner-v135 {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}

.sx-modules-hero-inner-v135 h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(3.2rem, 8vw, 7.2rem);
  line-height: .86;
  letter-spacing: -.08em;
}

.sx-modules-client-grid-v135 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.sx-modules-client-grid-v135 article {
  min-height: 320px;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 24px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
  box-shadow: 0 28px 90px rgba(0,0,0,.24);
}

.sx-modules-client-grid-v135 span {
  width: fit-content;
  padding: .45rem .68rem;
  border-radius: 999px;
  color: var(--accent);
  background: rgba(138,239,255,.075);
  border: 1px solid rgba(138,239,255,.14);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sx-modules-client-grid-v135 h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 2.1vw, 2.25rem);
  line-height: .94;
  letter-spacing: -.065em;
}

.sx-modules-client-grid-v135 p {
  margin: 0;
  color: rgba(246,249,255,.72);
  line-height: 1.48;
}

.sx-modules-scenario-v135 {
  padding: 78px 0 100px;
}

.sx-modules-scenario-card-v135 {
  max-width: 1040px;
  padding: clamp(24px, 5vw, 56px);
  border-radius: 34px;
  border: 1px solid rgba(138,239,255,.14);
  background:
    radial-gradient(circle at 20% 0%, rgba(138,239,255,.16), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
  box-shadow: 0 28px 90px rgba(0,0,0,.24);
  text-align: center;
}

.sx-modules-scenario-card-v135 h2 {
  max-width: 850px;
  margin: 0 auto;
  color: #fff;
  font-size: clamp(2.3rem, 5vw, 5.2rem);
  line-height: .9;
  letter-spacing: -.075em;
}

.sx-modules-scenario-card-v135 p {
  max-width: 720px;
  margin: 24px auto 0;
  color: rgba(246,249,255,.74);
  line-height: 1.52;
}

.sx-flow-v135 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.sx-flow-v135 span {
  padding: .68rem .88rem;
  border-radius: 999px;
  color: #06111e;
  background: var(--accent);
  font-size: .78rem;
  font-weight: 900;
}

.sx-flow-v135 i {
  width: 24px;
  height: 1px;
  background: rgba(138,239,255,.38);
}

/* V135 — mobile */
@media (max-width: 980px) {
  .sx-modules-client-grid-v135 {
    grid-template-columns: 1fr 1fr;
  }

  .sx-contact-three-v135 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .sx-coming-header-v135 {
    width: min(520px, calc(100% - 18px));
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    justify-content: flex-start;
  }

  .sx-coming-spaces-v135 {
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .sx-coming-spaces-v135::-webkit-scrollbar {
    display: none;
  }

  .sx-coming-space {
    flex: 1 0 auto;
    padding: 0 10px;
    font-size: .72rem;
  }

  .sx-hub-lang-float-v135 {
    top: calc(env(safe-area-inset-top, 0px) + 12px);
    right: 12px;
  }

  .sx-offres-page-v135 main,
  .sx-modules-page-v135 main {
    padding-top: 92px;
  }

  .sx-offres-page-v135 #offres {
    padding-top: 34px;
  }

  .sx-contact-choice-section-v135 {
    padding-top: 118px;
  }

  .sx-modules-hero-v135 {
    padding-top: 68px;
  }

  .sx-modules-hero-inner-v135 h1 {
    font-size: clamp(3.05rem, 16vw, 6rem);
  }

  .sx-modules-client-grid-v135 {
    grid-template-columns: 1fr;
  }

  .sx-modules-client-grid-v135 article {
    min-height: auto;
  }

  .sx-flow-v135 i {
    display: none;
  }

  .sx-modules-client-grid-v135 p,
  .sx-modules-scenario-card-v135 p,
  .request-path-card small,
  .request-cta-copy p,
  .sx-coming-card p,
  .service-card p,
  .service-card-compact p,
  .offer-card-v78 p,
  [class*="card"] p:not(.eyebrow) {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V136 — unified SX27 header system */
.sx-unified-header-v136 {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  left: 12px;
  right: 12px;
  z-index: 1100;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  width: calc(100% - 24px);
  max-width: none;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background:
    radial-gradient(circle at 4% 0%, rgba(138,239,255,.10), transparent 26%),
    rgba(5, 10, 18, .78);
  box-shadow: 0 18px 65px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(20px);
}

.sx-unified-left-v136 {
  min-width: 0;
  justify-self: start;
}

.sx-unified-spaces-v136 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  min-width: 0;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}

.sx-unified-space-v136 {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border-radius: 999px;
  color: rgba(246,249,255,.70);
  font-size: .78rem;
  font-weight: 840;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.sx-unified-space-v136:hover {
  color: #fff;
  background: rgba(138,239,255,.08);
}

.sx-unified-space-v136.is-active {
  color: #06111e;
  background: var(--accent);
  box-shadow: 0 0 24px rgba(138,239,255,.22);
}

.sx-unified-right-v136 {
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.sx-unified-context-link-v136 {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  color: rgba(246,249,255,.66);
  font-size: .75rem;
  font-weight: 820;
  text-decoration: none;
}

.sx-unified-context-link-v136:hover,
.sx-unified-context-link-v136.is-active {
  color: #fff;
  background: rgba(138,239,255,.10);
  border: 1px solid rgba(138,239,255,.18);
}

.sx-unified-header-v136 .language-menu {
  position: relative;
  display: inline-flex;
}

.sx-unified-header-v136 .language-options,
.sx-hub-lang-float-v136 .language-options {
  right: 0;
  left: auto;
}

.sx-unified-header-v136 .nav-toggle,
.sx-unified-toggle-v136 {
  display: none !important;
}

/* Remove visual footprint from older header systems */
.sx-studio-shell-brand,
.sx-studio-os-brand,
.sx-app-brand,
.sx-coming-header-v135,
.sx-hub-lang-float-v135 {
  display: none !important;
}

.sx-hub-lang-float-v136 {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 18px);
  right: 18px;
  z-index: 1200;
}

.sx-hub-lang-float-v136 .language-icon-button {
  background: rgba(5, 12, 24, .78);
  border-color: rgba(138,239,255,.22);
  box-shadow: 0 18px 55px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}

/* Keep page offset consistent with full-width header */
.sx-studio-subpage main,
.sx-offres-page-v135 main,
.sx-modules-page-v135 main {
  padding-top: 104px !important;
}

@media (max-width: 860px) {
  .sx-unified-header-v136 {
    top: calc(env(safe-area-inset-top, 0px) + 9px);
    left: 9px;
    right: 9px;
    width: calc(100% - 18px);
    min-height: 56px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 7px 8px;
  }

  .sx-unified-left-v136 {
    overflow: hidden;
  }

  .sx-unified-spaces-v136 {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .sx-unified-spaces-v136::-webkit-scrollbar {
    display: none;
  }

  .sx-unified-space-v136 {
    flex: 1 0 auto;
    min-height: 34px;
    padding: 0 10px;
    font-size: .70rem;
  }

  .sx-unified-right-v136 {
    gap: 4px;
  }

  .sx-unified-context-link-v136,
  .sx-unified-right-v136 .nav-cta {
    display: none !important;
  }

  .sx-hub-lang-float-v136 {
    top: calc(env(safe-area-inset-top, 0px) + 12px);
    right: 12px;
  }

  .sx-studio-subpage main,
  .sx-offres-page-v135 main,
  .sx-modules-page-v135 main {
    padding-top: 90px !important;
  }
}


/* V137 — header width aligned to Studio visual grid */
.sx-unified-header-v136 {
  left: 50% !important;
  right: auto !important;
  width: min(1180px, calc(100% - 24px)) !important;
  max-width: min(1180px, calc(100% - 24px)) !important;
  transform: translateX(-50%) !important;
}

/* V137 — contact page composition */
.sx-contact-choice-section-v137 {
  min-height: auto;
  padding-top: 150px;
  padding-bottom: 96px;
}

.sx-contact-choice-wrap-v137 {
  max-width: 1120px;
  margin: 0 auto;
}

.sx-contact-choice-copy-v137 {
  max-width: 780px;
  margin: 0 auto 24px;
  text-align: center;
}

.sx-contact-choice-copy-v137 h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(3.2rem, 7vw, 6.4rem);
  line-height: .86;
  letter-spacing: -.08em;
}

.sx-contact-three-v137 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.sx-contact-option-v137 {
  min-height: 225px;
}

/* V137 — modules page aligned with Studio cards */
.sx-modules-studio-section-v137 {
  min-height: auto;
  padding-top: 150px;
  padding-bottom: 56px;
}

.sx-modules-studio-wrap-v137 {
  max-width: 1180px;
}

.sx-modules-heading-v137 {
  max-width: 900px;
  margin: 0 auto 32px;
}

.sx-modules-heading-v137 h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(3.2rem, 7vw, 6.8rem);
  line-height: .86;
  letter-spacing: -.08em;
}

.sx-modules-studio-grid-v137 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.sx-module-card-v137 {
  min-height: 310px;
  align-content: start;
}

.sx-module-card-v137 span {
  width: fit-content;
  padding: .42rem .64rem;
  border-radius: 999px;
  color: var(--accent);
  background: rgba(138,239,255,.075);
  border: 1px solid rgba(138,239,255,.14);
  font-size: .70rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sx-module-card-v137 h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 2vw, 2.1rem);
  line-height: .95;
  letter-spacing: -.06em;
}

.sx-modules-example-strip-v137 {
  padding: 38px 0 96px;
}

.sx-modules-example-card-v137 {
  margin-top: 0 !important;
}

/* V137 — unified modals: rendez-vous, questionnaire, contact direct */
.sx-modal-unified-v137,
.booking-dialog-v113,
.questionnaire-dialog-v113,
[data-questionnaire-modal] .questionnaire-dialog-v113 {
  border: 1px solid rgba(138,239,255,.16) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.14), transparent 34%),
    linear-gradient(180deg, rgba(11,18,31,.985), rgba(5,8,14,.985)) !important;
  box-shadow: 0 34px 110px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08) !important;
  border-radius: 34px !important;
}

.sx-modal-intro-v137,
.booking-intro-v113,
.questionnaire-intro-v113 {
  border-color: rgba(138,239,255,.12) !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(138,239,255,.10), transparent 36%),
    rgba(255,255,255,.035) !important;
}

.contact-message-modal-v137 textarea {
  resize: vertical;
  min-height: 140px;
}

.booking-field-full-v137 {
  grid-column: 1 / -1;
}

.contact-message-form-v137 {
  align-content: start;
}

/* V137 — mobile checks */
@media (max-width: 980px) {
  .sx-contact-three-v137,
  .sx-modules-studio-grid-v137 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .sx-unified-header-v136 {
    width: min(1180px, calc(100% - 18px)) !important;
    max-width: min(1180px, calc(100% - 18px)) !important;
  }

  .sx-contact-choice-section-v137,
  .sx-modules-studio-section-v137 {
    padding-top: 118px;
  }

  .sx-contact-choice-copy-v137 h1,
  .sx-modules-heading-v137 h1 {
    font-size: clamp(3rem, 16vw, 5.8rem);
  }

  .sx-contact-three-v137,
  .sx-modules-studio-grid-v137 {
    grid-template-columns: 1fr;
  }

  .sx-contact-option-v137,
  .sx-module-card-v137 {
    min-height: auto;
  }

  .booking-dialog-v113,
  .questionnaire-dialog-v113,
  .sx-modal-unified-v137 {
    width: min(100% - 18px, 760px) !important;
    border-radius: 28px !important;
  }

  .sx-contact-choice-copy-v137 p,
  .sx-module-card-v137 p,
  .sx-modules-example-card-v137 p,
  .booking-intro-v113 p,
  .questionnaire-intro-v113 p,
  .request-path-card small {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V138 — final header alignment + contact card redesign */
.sx-unified-header-v136 {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.sx-unified-left-v138 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.sx-header-icon-v138 {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.16);
  background: rgba(255,255,255,.045);
  color: rgba(246,249,255,.86);
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.sx-header-icon-v138:hover {
  color: #fff;
  background: rgba(138,239,255,.085);
  border-color: rgba(138,239,255,.26);
}

.sx-header-icon-v138 svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sx-unified-right-v138 {
  margin-left: auto !important;
}

.sx-unified-right-v138 .language-menu {
  margin-left: auto !important;
}

/* remove modules route visual leftovers */
a[href*="modules"] {
  pointer-events: auto;
}

/* Contact page spacing fix */
.sx-contact-choice-section-v138 {
  min-height: auto;
  padding-top: 148px;
  padding-bottom: 98px;
}

.sx-contact-choice-wrap-v138 {
  max-width: 1180px;
  margin: 0 auto;
}

.sx-contact-choice-heading-v138 {
  max-width: 850px;
  margin: 0 auto 28px !important;
  display: grid;
  gap: 14px;
}

.sx-contact-choice-heading-v138 h1 {
  margin: 0 !important;
  color: var(--text);
  font-size: clamp(3.2rem, 7vw, 6.4rem);
  line-height: .86;
  letter-spacing: -.08em;
}

.sx-contact-choice-heading-v138 .sublead {
  margin: 0 auto !important;
  max-width: 720px;
  line-height: 1.56 !important;
}

/* 3 options closer to SX27 hub / offer card language */
.sx-contact-choice-grid-v138 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.sx-choice-style-card-v138 {
  appearance: none;
  width: 100%;
  min-height: 310px;
  display: grid;
  align-content: space-between;
  gap: 18px;
  text-align: left;
  padding: 24px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
  box-shadow: 0 28px 90px rgba(0,0,0,.24);
  color: inherit;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.sx-choice-style-card-v138:hover {
  transform: translateY(-3px);
  border-color: rgba(138,239,255,.22);
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.20), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.074), rgba(255,255,255,.032));
}

.sx-choice-style-card-v138 span {
  width: fit-content;
  padding: .44rem .66rem;
  border-radius: 999px;
  color: var(--accent);
  background: rgba(138,239,255,.075);
  border: 1px solid rgba(138,239,255,.14);
  font-size: .70rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sx-choice-style-card-v138 strong {
  display: block;
  max-width: 12ch;
  color: #fff;
  font-size: clamp(2.05rem, 3.1vw, 3.35rem);
  line-height: .88;
  letter-spacing: -.085em;
}

.sx-choice-style-card-v138 small {
  display: block;
  max-width: 28ch;
  color: rgba(246,249,255,.70);
  font-size: .92rem;
  line-height: 1.4;
}

.sx-choice-style-primary-v138 {
  border-color: rgba(138,239,255,.22);
  box-shadow: 0 30px 96px rgba(0,0,0,.26), 0 0 42px rgba(138,239,255,.075);
}

/* V138 — mobile */
@media (max-width: 980px) {
  .sx-contact-choice-grid-v138 {
    grid-template-columns: 1fr;
  }

  .sx-choice-style-card-v138 {
    min-height: 245px;
  }
}

@media (max-width: 760px) {
  .sx-unified-left-v138 {
    gap: 6px !important;
  }

  .sx-header-icon-v138 {
    width: 38px;
    height: 38px;
  }

  .sx-unified-spaces-v136 {
    min-width: 0;
  }

  .sx-unified-space-v136 {
    padding: 0 9px;
  }

  .sx-contact-choice-section-v138 {
    padding-top: 118px;
  }

  .sx-contact-choice-heading-v138 {
    gap: 12px;
    margin-bottom: 22px !important;
  }

  .sx-contact-choice-heading-v138 h1 {
    font-size: clamp(3rem, 16vw, 5.7rem);
    line-height: .88;
  }

  .sx-choice-style-card-v138 {
    min-height: auto;
    padding: 22px;
  }

  .sx-choice-style-card-v138 strong {
    max-width: 13ch;
  }

  .sx-contact-choice-heading-v138 .sublead,
  .sx-choice-style-card-v138 small {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V139 — simplified SX27 header */
.sx-header-v139 {
  grid-template-columns: minmax(0, 1fr) auto !important;
  width: min(1180px, calc(100% - 24px)) !important;
  max-width: min(1180px, calc(100% - 24px)) !important;
}

.sx-header-left-v139 {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
}

.sx-header-right-v139 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  margin-left: auto;
}

.sx-header-icon-v139 {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.16);
  background: rgba(255,255,255,.045);
  color: rgba(246,249,255,.86);
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.sx-header-icon-v139:hover {
  color: #fff;
  background: rgba(138,239,255,.085);
  border-color: rgba(138,239,255,.26);
}

.sx-header-icon-v139 svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sx-simple-nav-v139 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}

.sx-simple-nav-link-v139 {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border-radius: 999px;
  color: rgba(246,249,255,.70);
  font-size: .78rem;
  font-weight: 840;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.sx-simple-nav-link-v139:hover,
.sx-simple-nav-link-v139.is-active {
  color: #06111e;
  background: var(--accent);
  box-shadow: 0 0 24px rgba(138,239,255,.22);
}

.sx-header-v139 .language-menu {
  margin-left: auto;
}

/* V139 — contact page uses hub cards */
.sx-contact-section-v139 {
  min-height: auto;
  padding-top: 148px;
  padding-bottom: 96px;
}

.sx-contact-wrap-v139 {
  max-width: 1180px;
}

.sx-contact-intro-v139 {
  max-width: 860px;
  margin: 0 auto 28px;
  text-align: center;
}

.sx-contact-intro-v139 h1 {
  max-width: 880px;
  margin: 0 auto;
  color: var(--text);
  font-size: clamp(3.25rem, 7vw, 6.4rem);
  line-height: .86;
  letter-spacing: -.08em;
}

.sx-contact-intro-v139 .lead {
  max-width: 760px;
  margin: 18px auto 0;
  line-height: 1.55;
}

.sx-contact-choice-layout-v139 {
  align-items: stretch;
}

.sx-contact-choice-card-v139 {
  appearance: none;
  border: 1px solid var(--line);
  cursor: pointer;
  text-align: left;
  color: inherit;
  font: inherit;
}

.sx-contact-choice-card-v139 h2 {
  font-size: clamp(2.25rem, 4vw, 4.6rem);
}

.sx-contact-choice-card-v139 strong {
  justify-self: start;
}

/* V139 — fix booking intro regression */
.booking-head-v113 .booking-intro-v113,
.booking-head-v115 .booking-intro-v115,
p.booking-intro-v113,
p.booking-intro-v115 {
  display: block !important;
  max-width: 680px !important;
  margin: .35rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(246,249,255,.68) !important;
  line-height: 1.45 !important;
}

/* V139 — direct contact modal, independent and stable */
.sx-contact-modal-v139 {
  position: fixed;
  inset: 0;
  z-index: 2600;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(12px, 3vw, 28px);
}

.sx-contact-modal-v139.is-open {
  display: flex;
}

.sx-contact-modal-backdrop-v139 {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.08), transparent 32rem),
    rgba(2,4,9,.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.sx-contact-dialog-v139 {
  position: relative;
  width: min(960px, 100%);
  max-height: min(88vh, 920px);
  overflow: auto;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: clamp(24px, 3vw, 34px);
  background:
    linear-gradient(180deg, rgba(8,13,28,.96), rgba(3,6,14,.98)),
    radial-gradient(circle at 8% 0%, rgba(138,239,255,.12), transparent 25rem);
  box-shadow: 0 40px 140px rgba(0,0,0,.58);
}

.sx-contact-close-v139 {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  left: auto !important;
  z-index: 5 !important;
}

.sx-contact-dialog-head-v139 {
  padding: clamp(1.15rem, 2.5vw, 2rem);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.sx-contact-dialog-head-v139 h2 {
  margin: .7rem 0 .45rem;
  color: #fff;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  line-height: .92;
  letter-spacing: -.075em;
}

.sx-contact-dialog-head-v139 p:last-child {
  max-width: 720px;
  margin: 0;
  color: rgba(246,249,255,.68);
  line-height: 1.5;
}

.sx-contact-form-v139 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: clamp(1.15rem, 2.5vw, 2rem);
}

.sx-contact-field-v139 {
  display: grid;
  gap: .48rem;
}

.sx-contact-field-full-v139,
.sx-contact-actions-v139 {
  grid-column: 1 / -1;
}

.sx-contact-field-v139 label {
  color: rgba(246,249,255,.82);
  font-size: .82rem;
  font-weight: 800;
}

.sx-contact-field-v139 input,
.sx-contact-field-v139 textarea {
  width: 100%;
  appearance: none;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(2,5,12,.68);
  color: #fff;
  padding: .95rem 1rem;
  font: inherit;
  outline: none;
  box-shadow: none;
}

.sx-contact-field-v139 input:focus,
.sx-contact-field-v139 textarea:focus {
  border-color: rgba(138,239,255,.46);
  box-shadow: 0 0 0 4px rgba(138,239,255,.08);
}

.sx-contact-field-v139 textarea {
  resize: vertical;
  min-height: 150px;
}

.sx-contact-actions-v139 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}

/* V139 — mobile */
@media (max-width: 860px) {
  .sx-header-v139 {
    width: min(1180px, calc(100% - 18px)) !important;
    max-width: min(1180px, calc(100% - 18px)) !important;
    min-height: 56px;
    padding: 7px 8px;
  }

  .sx-header-left-v139 {
    gap: 6px;
  }

  .sx-header-icon-v139 {
    width: 38px;
    height: 38px;
  }

  .sx-simple-nav-link-v139 {
    min-height: 34px;
    padding: 0 10px;
    font-size: .72rem;
  }

  .sx-contact-section-v139 {
    padding-top: 116px;
  }

  .sx-contact-intro-v139 h1 {
    font-size: clamp(3rem, 16vw, 5.7rem);
  }

  .sx-contact-choice-layout-v139 {
    grid-template-columns: 1fr;
  }

  .sx-contact-choice-card-v139 {
    min-height: auto;
  }

  .sx-contact-form-v139 {
    grid-template-columns: 1fr;
  }

  .sx-contact-dialog-v139 {
    width: min(100%, 760px);
    max-height: 90vh;
  }

  .sx-contact-intro-v139 .lead,
  .sx-contact-choice-card-v139 p,
  .sx-contact-choice-card-v139 li,
  .sx-contact-dialog-head-v139 p,
  .sx-contact-field-v139 label {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V140 — header with logo left and Studio nav right */
.sx-site-header-v140 {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 1200;
  width: min(1180px, calc(100% - 24px));
  min-height: 58px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background:
    radial-gradient(circle at 4% 0%, rgba(138,239,255,.10), transparent 26%),
    rgba(5, 10, 18, .78);
  box-shadow: 0 18px 65px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.sx-header-logo-v140 {
  width: 46px;
  height: 42px;
  display: grid;
  place-items: center;
  text-decoration: none;
}

.sx-header-logo-v140 img {
  display: block;
  width: 36px;
  height: 36px;
  object-fit: contain;
  border: 0;
  filter: none;
}

.sx-header-nav-v140 {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.sx-header-nav-link-v140 {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 999px;
  color: rgba(246,249,255,.70);
  font-size: .78rem;
  font-weight: 840;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.sx-header-nav-link-v140:hover,
.sx-header-nav-link-v140.is-active {
  color: #06111e;
  background: var(--accent);
  box-shadow: 0 0 24px rgba(138,239,255,.22);
}

.sx-site-header-v140 .language-menu {
  position: relative;
  margin-left: 2px;
}

.sx-site-header-v140 .language-options,
.sx-hub-lang-float-v140 .language-options {
  right: 0;
  left: auto;
}

/* Make dropdown reliable everywhere */
.language-options {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 148px;
  padding: 6px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(5,10,18,.96);
  box-shadow: 0 22px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  z-index: 4000;
}

.language-options.is-open {
  display: grid !important;
  gap: 4px;
}

.language-options button {
  appearance: none;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: rgba(246,249,255,.78);
  padding: 9px 10px;
  text-align: left;
  font: inherit;
  font-size: .8rem;
  font-weight: 820;
  cursor: pointer;
}

.language-options button:hover,
.language-options button.is-active {
  color: #06111e;
  background: var(--accent);
}

/* Hub language only */
.sx-hub-lang-float-v140 {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 18px);
  right: 18px;
  z-index: 1300;
}

.sx-hub-lang-float-v140 .language-menu {
  position: relative;
}

.sx-hub-lang-float-v140 .language-icon-button {
  background: rgba(5, 12, 24, .78);
  border-color: rgba(138,239,255,.22);
  box-shadow: 0 18px 55px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

/* V140 — contact heading aligned to existing Studio section headings */
.sx-contact-section-v140 {
  min-height: auto;
  padding-top: 138px;
  padding-bottom: 96px;
}

.sx-contact-wrap-v140 {
  max-width: 1180px;
}

.sx-contact-heading-v140 {
  max-width: 820px;
  margin: 0 auto 30px !important;
}

.sx-contact-heading-v140 h2 {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(2.7rem, 5.6vw, 5.25rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
}

.sx-contact-heading-v140 .sublead {
  max-width: 720px;
  margin-top: 1.1rem !important;
  line-height: 1.55 !important;
}

/* V140 — contact cards mirror offer family cards */
.sx-contact-options-v140 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.sx-offer-family-card-v140 {
  appearance: none;
  min-height: 230px;
  display: grid;
  align-content: start;
  gap: 12px;
  width: 100%;
  text-align: left;
  padding: 24px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.024));
  color: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.sx-offer-family-card-v140:hover,
.sx-offer-family-card-v140.is-active {
  transform: translateY(-2px);
  border-color: rgba(138,239,255,.32);
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.18), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.068), rgba(255,255,255,.028));
}

.sx-offer-family-card-v140 span {
  color: var(--accent);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.sx-offer-family-card-v140 h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.sx-offer-family-card-v140 p {
  margin: 0;
  color: rgba(246,249,255,.70);
  line-height: 1.45;
}

.sx-offer-family-card-v140 strong {
  align-self: end;
  width: fit-content;
  margin-top: auto;
  padding: .68rem .86rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  background: rgba(138,239,255,.075);
  color: var(--accent);
  font-size: .78rem;
  font-weight: 900;
}

/* V140 — questionnaire/contact direct on booking visual base */
.questionnaire-as-booking-v140,
.contact-message-modal-v140 {
  z-index: 2600;
}

.questionnaire-dialog-v140,
.contact-message-dialog-v140 {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.12), transparent 34%),
    linear-gradient(180deg, rgba(8,13,28,.98), rgba(3,6,14,.99)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 40px 140px rgba(0,0,0,.58) !important;
}

.questionnaire-as-booking-v140 .questionnaire-intro-v113,
.questionnaire-as-booking-v140 .booking-head-v113 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.contact-message-form-v140 {
  padding: 0;
}

.contact-message-full-v140,
.contact-message-actions-v140 {
  grid-column: 1 / -1;
}

.contact-message-form-v140 textarea {
  width: 100%;
  min-height: 145px;
  resize: vertical;
  appearance: none;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(2,5,12,.68);
  color: #fff;
  padding: .95rem 1rem;
  font: inherit;
  outline: none;
}

.contact-message-form-v140 textarea:focus {
  border-color: rgba(138,239,255,.46);
  box-shadow: 0 0 0 4px rgba(138,239,255,.08);
}

/* Make old broken modal CSS harmless */
.sx-contact-modal-v139,
.sx-contact-dialog-v139,
.sx-contact-form-v139 {
  all: unset;
}

/* V140 — mobile */
@media (max-width: 860px) {
  .sx-site-header-v140 {
    top: calc(env(safe-area-inset-top, 0px) + 9px);
    width: min(1180px, calc(100% - 18px));
    min-height: 56px;
    padding: 7px 8px;
    gap: 8px;
  }

  .sx-header-logo-v140 {
    width: 40px;
    height: 38px;
  }

  .sx-header-logo-v140 img {
    width: 30px;
    height: 30px;
  }

  .sx-header-nav-v140 {
    gap: 3px;
  }

  .sx-header-nav-link-v140 {
    min-height: 34px;
    padding: 0 9px;
    font-size: .70rem;
  }

  .sx-contact-section-v140 {
    padding-top: 114px;
  }

  .sx-contact-heading-v140 h2 {
    font-size: clamp(2.65rem, 14vw, 4.8rem) !important;
  }

  .sx-contact-options-v140 {
    grid-template-columns: 1fr;
  }

  .sx-offer-family-card-v140 {
    min-height: auto;
  }

  .booking-dialog-v113,
  .questionnaire-dialog-v140,
  .contact-message-dialog-v140 {
    width: min(100% - 18px, 760px) !important;
    max-height: 90vh !important;
    overflow: auto !important;
    border-radius: 28px !important;
  }

  .sx-contact-heading-v140 .sublead,
  .sx-offer-family-card-v140 p,
  .sx-offer-family-card-v140 strong,
  .contact-message-form-v140 label,
  .questionnaire-as-booking-v140 p,
  .contact-message-dialog-v140 p {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V141 — Shop/Library preparation header */
.sx-coming-only-header-v141 .sx-header-nav-v140 {
  margin-left: auto;
}

.sx-coming-only-header-v141 .sx-header-nav-link-v140 {
  display: none !important;
}

/* V141 — modal unification and scroll fixes */
.booking-modal-v113.is-open,
.sx-unified-modal-v141.is-open,
.contact-message-modal-v141.is-open,
.questionnaire-modal-v141.is-open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-y: auto !important;
  padding: clamp(14px, 3vw, 30px) !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.08), transparent 32rem),
    rgba(2,4,9,.86) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.booking-dialog-v113,
.sx-unified-dialog-v141,
.contact-message-dialog-v141,
.questionnaire-dialog-v141 {
  position: relative !important;
  width: min(1180px, 100%) !important;
  max-height: min(90vh, 920px) !important;
  overflow: auto !important;
  border-radius: clamp(24px, 3vw, 34px) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(138,239,255,.12), transparent 28rem),
    linear-gradient(180deg, rgba(8,13,28,.985), rgba(3,6,14,.99)) !important;
  box-shadow: 0 40px 140px rgba(0,0,0,.58) !important;
}

/* Fix square/box around booking title */
.booking-head-v113,
.booking-head-v115,
.sx-unified-modal-head-v141 {
  position: relative !important;
  display: block !important;
  padding: clamp(1.2rem, 2.4vw, 2rem) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.booking-head-v113::before,
.booking-head-v115::before,
.sx-unified-modal-head-v141::before {
  content: none !important;
}

.booking-head-v113 .eyebrow,
.booking-head-v115 .eyebrow,
.sx-unified-modal-head-v141 .eyebrow {
  margin: 0 0 .75rem !important;
}

.booking-head-v113 h2,
.booking-head-v115 h2,
.sx-unified-modal-head-v141 h2 {
  margin: 0 !important;
  max-width: 760px !important;
  color: #fff !important;
  font-size: clamp(2rem, 4vw, 3.6rem) !important;
  line-height: .92 !important;
  letter-spacing: -.075em !important;
  background: transparent !important;
}

.booking-head-v113 p,
.booking-head-v115 p,
.booking-intro-v113,
.booking-intro-v115,
.sx-unified-modal-head-v141 p {
  max-width: 720px !important;
  margin: .55rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(246,249,255,.68) !important;
  line-height: 1.5 !important;
}

/* Booking internal scroll: dialog scrolls, not page behind */
.booking-dialog-v113 .booking-layout-v113,
.booking-dialog-v113 .booking-grid-v113 {
  min-width: 0 !important;
}

.booking-grid-v113,
.sx-unified-form-v141 {
  padding: clamp(1.1rem, 2.4vw, 2rem) !important;
}

/* Contact form on booking base */
.contact-message-form-v141 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.sx-unified-full-v141 {
  grid-column: 1 / -1 !important;
}

.contact-message-form-v141 textarea {
  width: 100% !important;
  min-height: 145px !important;
  resize: vertical !important;
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  background: rgba(2,5,12,.68) !important;
  color: #fff !important;
  padding: .95rem 1rem !important;
  font: inherit !important;
  outline: none !important;
}

.contact-message-form-v141 textarea:focus {
  border-color: rgba(138,239,255,.46) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.08) !important;
}

.sx-unified-actions-v141 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

/* Make old broken contact modal classes harmless without all:unset chaos */
.sx-contact-modal-v139,
.sx-contact-dialog-v139,
.sx-contact-form-v139 {
  display: none !important;
}

/* Questionnaire closer to booking base */
.questionnaire-dialog-v141 .questionnaire-body-v113,
.questionnaire-dialog-v141 form {
  padding: clamp(1.1rem, 2.4vw, 2rem) !important;
}

.questionnaire-dialog-v141 .questionnaire-intro-v113 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Contact option cards remain offer-family style */
.sx-contact-options-v140 {
  align-items: stretch !important;
}

.sx-offer-family-card-v140 {
  min-height: 220px !important;
}

/* V141 — mobile modal stability */
@media (max-width: 860px) {
  .booking-modal-v113.is-open,
  .sx-unified-modal-v141.is-open {
    align-items: flex-start !important;
    padding: calc(env(safe-area-inset-top, 0px) + 12px) 9px 18px !important;
  }

  .booking-dialog-v113,
  .sx-unified-dialog-v141,
  .contact-message-dialog-v141,
  .questionnaire-dialog-v141 {
    width: min(100%, 760px) !important;
    max-height: calc(100vh - 32px) !important;
    border-radius: 28px !important;
  }

  .contact-message-form-v141 {
    grid-template-columns: 1fr !important;
  }

  .booking-head-v113 h2,
  .booking-head-v115 h2,
  .sx-unified-modal-head-v141 h2 {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
  }

  .booking-head-v113 p,
  .booking-head-v115 p,
  .booking-intro-v113,
  .booking-intro-v115,
  .sx-unified-modal-head-v141 p,
  .sx-offer-family-card-v140 p {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V142 — final modal polish: booking / questionnaire / contact direct */
.hp-field,
.sx-hp-field-v142,
input[name="website"],
input.hp-field {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* One visual shell for the three modals */
.booking-modal-v113.is-open,
.booking-modal-v115.is-open,
.sx-unified-modal-v141.is-open,
.contact-message-modal-v141.is-open,
.questionnaire-modal-v141.is-open,
[data-calendly-modal].is-open,
[data-questionnaire-modal].is-open,
[data-contact-message-modal].is-open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-y: auto !important;
  padding: clamp(14px, 3vw, 30px) !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.085), transparent 32rem),
    rgba(2,4,9,.88) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.booking-dialog-v113,
.booking-dialog-v115,
.sx-unified-dialog-v141,
.contact-message-dialog-v141,
.questionnaire-dialog-v141,
[data-calendly-modal] .booking-dialog-v113,
[data-questionnaire-modal] .questionnaire-dialog-v113,
[data-contact-message-modal] .booking-dialog-v113 {
  position: relative !important;
  width: min(1180px, 100%) !important;
  max-height: min(90vh, 920px) !important;
  overflow: auto !important;
  border-radius: clamp(24px, 3vw, 34px) !important;
  border: 1px solid rgba(138,239,255,.16) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.13), transparent 29rem),
    linear-gradient(180deg, rgba(8,13,28,.985), rgba(3,6,14,.99)) !important;
  box-shadow: 0 40px 140px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.065) !important;
  color: #f7f9ff !important;
}

/* Close button always top-right, never under title */
.booking-close-v113,
.booking-close-v115,
.sx-contact-close-v139,
[data-close-contact-message],
[data-close-questionnaire],
[data-close-calendly] {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 50 !important;
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
  font-size: 1.55rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.booking-close-v113:hover,
.booking-close-v115:hover,
.sx-contact-close-v139:hover,
[data-close-contact-message]:hover,
[data-close-questionnaire]:hover,
[data-close-calendly]:hover {
  border-color: rgba(138,239,255,.28) !important;
  background: rgba(138,239,255,.10) !important;
}

/* Header/title zone consistent and with room for close button */
.booking-head-v113,
.booking-head-v115,
.sx-unified-modal-head-v141,
.questionnaire-intro-v113,
[data-questionnaire-modal] .questionnaire-intro-v113 {
  position: relative !important;
  display: block !important;
  padding: clamp(1.25rem, 2.4vw, 2rem) 5.4rem clamp(1.25rem, 2.4vw, 2rem) clamp(1.25rem, 2.4vw, 2rem) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.booking-head-v113::before,
.booking-head-v115::before,
.sx-unified-modal-head-v141::before,
.questionnaire-intro-v113::before {
  content: none !important;
}

.booking-head-v113 h2,
.booking-head-v115 h2,
.sx-unified-modal-head-v141 h2,
.questionnaire-intro-v113 h2,
[data-questionnaire-modal] .questionnaire-intro-v113 h2 {
  margin: 0 !important;
  max-width: 760px !important;
  color: #fff !important;
  font-size: clamp(2rem, 4vw, 3.6rem) !important;
  line-height: .92 !important;
  letter-spacing: -.075em !important;
  background: transparent !important;
}

.booking-head-v113 p,
.booking-head-v115 p,
.booking-intro-v113,
.booking-intro-v115,
.sx-unified-modal-head-v141 p,
.questionnaire-intro-v113 p {
  max-width: 720px !important;
  margin: .55rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(246,249,255,.68) !important;
  line-height: 1.5 !important;
}

/* Body/form surfaces */
.booking-grid-v113,
.booking-grid-v115,
.booking-layout-v113,
.sx-unified-form-v141,
.contact-message-form-v141,
.questionnaire-body-v113,
[data-questionnaire-modal] form {
  min-width: 0 !important;
}

.booking-grid-v113,
.booking-grid-v115,
.sx-unified-form-v141,
.contact-message-form-v141 {
  padding: clamp(1.15rem, 2.4vw, 2rem) !important;
}

/* Contact direct form must look like booking fields */
.contact-message-form-v141 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.contact-message-form-v141 .booking-field-v113,
.contact-message-form-v141 label.booking-field-v113,
.contact-message-form-v141 label {
  display: grid !important;
  gap: .48rem !important;
  min-width: 0 !important;
  color: rgba(246,249,255,.82) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

.contact-message-form-v141 .booking-field-v113 span,
.contact-message-form-v141 label span {
  color: rgba(246,249,255,.82) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

.contact-message-form-v141 input:not(.hp-field),
.contact-message-form-v141 textarea,
.contact-message-form-v141 .sx-input-v142,
.sx-unified-form-v141 input:not(.hp-field),
.sx-unified-form-v141 textarea {
  width: 100% !important;
  min-width: 0 !important;
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  background: rgba(2,5,12,.68) !important;
  color: #fff !important;
  padding: .95rem 1rem !important;
  font: inherit !important;
  outline: none !important;
  box-shadow: none !important;
}

.contact-message-form-v141 input:not(.hp-field):focus,
.contact-message-form-v141 textarea:focus,
.sx-unified-form-v141 input:not(.hp-field):focus,
.sx-unified-form-v141 textarea:focus {
  border-color: rgba(138,239,255,.46) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.08) !important;
}

.contact-message-form-v141 textarea {
  min-height: 145px !important;
  resize: vertical !important;
}

.sx-unified-full-v141,
.contact-message-full-v140,
.contact-message-actions-v140,
.sx-unified-actions-v141 {
  grid-column: 1 / -1 !important;
}

.sx-unified-actions-v141,
.contact-message-actions-v140 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

/* Force questionnaire to use same color/base as option 1 and 3 */
.questionnaire-dialog-v141,
[data-questionnaire-modal] .questionnaire-dialog-v113 {
  border-color: rgba(138,239,255,.16) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.13), transparent 29rem),
    linear-gradient(180deg, rgba(8,13,28,.985), rgba(3,6,14,.99)) !important;
}

.questionnaire-dialog-v141 .questionnaire-body-v113,
[data-questionnaire-modal] .questionnaire-body-v113 {
  padding: clamp(1.15rem, 2.4vw, 2rem) !important;
}

/* Avoid old broken v139 direct-contact rules */
.sx-contact-modal-v139,
.sx-contact-dialog-v139,
.sx-contact-form-v139 {
  display: none !important;
}

/* V142 mobile stability */
@media (max-width: 860px) {
  .booking-modal-v113.is-open,
  .booking-modal-v115.is-open,
  .sx-unified-modal-v141.is-open,
  .contact-message-modal-v141.is-open,
  .questionnaire-modal-v141.is-open,
  [data-calendly-modal].is-open,
  [data-questionnaire-modal].is-open,
  [data-contact-message-modal].is-open {
    align-items: flex-start !important;
    padding: calc(env(safe-area-inset-top, 0px) + 12px) 9px 18px !important;
  }

  .booking-dialog-v113,
  .booking-dialog-v115,
  .sx-unified-dialog-v141,
  .contact-message-dialog-v141,
  .questionnaire-dialog-v141 {
    width: min(100%, 760px) !important;
    max-height: calc(100vh - 32px) !important;
    border-radius: 28px !important;
  }

  .booking-close-v113,
  .booking-close-v115,
  [data-close-contact-message],
  [data-close-questionnaire],
  [data-close-calendly] {
    top: 16px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
  }

  .booking-head-v113,
  .booking-head-v115,
  .sx-unified-modal-head-v141,
  .questionnaire-intro-v113 {
    padding-right: 4.7rem !important;
  }

  .contact-message-form-v141 {
    grid-template-columns: 1fr !important;
  }

  .booking-head-v113 h2,
  .booking-head-v115 h2,
  .sx-unified-modal-head-v141 h2,
  .questionnaire-intro-v113 h2 {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
  }

  .booking-head-v113 p,
  .booking-head-v115 p,
  .booking-intro-v113,
  .booking-intro-v115,
  .sx-unified-modal-head-v141 p,
  .questionnaire-intro-v113 p,
  .contact-message-form-v141 label,
  .contact-message-form-v141 .booking-field-v113 span {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V143 — exact modal match: option 3 is the reference */
:root {
  --sx-modal-bg-v143:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.13), transparent 29rem),
    linear-gradient(180deg, rgba(8,13,28,.985), rgba(3,6,14,.99));
  --sx-modal-border-v143: rgba(138,239,255,.16);
  --sx-modal-shadow-v143: 0 40px 140px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.065);
  --sx-modal-field-bg-v143: rgba(2,5,12,.68);
  --sx-modal-field-border-v143: rgba(255,255,255,.10);
}

/* Same overlay for option 1, 2, 3 */
[data-calendly-modal].is-open,
[data-questionnaire-modal].is-open,
[data-contact-message-modal].is-open,
.booking-modal-v113.is-open,
.questionnaire-modal-v141.is-open,
.contact-message-modal-v141.is-open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-y: auto !important;
  padding: clamp(14px, 3vw, 30px) !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.085), transparent 32rem),
    rgba(2,4,9,.88) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

/* Same dialog surface for option 1, 2, 3 */
[data-calendly-modal] .booking-dialog-v113,
[data-questionnaire-modal] .questionnaire-dialog-v113,
[data-contact-message-modal] .booking-dialog-v113,
.booking-dialog-v113,
.questionnaire-dialog-v113,
.questionnaire-dialog-v141,
.contact-message-dialog-v141 {
  position: relative !important;
  width: min(1180px, 100%) !important;
  max-height: min(90vh, 920px) !important;
  overflow: auto !important;
  border-radius: clamp(24px, 3vw, 34px) !important;
  border: 1px solid var(--sx-modal-border-v143) !important;
  background: var(--sx-modal-bg-v143) !important;
  box-shadow: var(--sx-modal-shadow-v143) !important;
  color: #f7f9ff !important;
}

/* Same head/title zone */
[data-calendly-modal] .booking-head-v113,
[data-questionnaire-modal] .questionnaire-intro-v113,
[data-contact-message-modal] .booking-head-v113,
.booking-head-v113,
.questionnaire-intro-v113,
.sx-unified-modal-head-v141 {
  position: relative !important;
  display: block !important;
  padding: clamp(1.25rem, 2.4vw, 2rem) 5.4rem clamp(1.25rem, 2.4vw, 2rem) clamp(1.25rem, 2.4vw, 2rem) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  background: transparent !important;
  box-shadow: none !important;
}

[data-calendly-modal] .booking-head-v113::before,
[data-questionnaire-modal] .questionnaire-intro-v113::before,
[data-contact-message-modal] .booking-head-v113::before,
.booking-head-v113::before,
.questionnaire-intro-v113::before {
  content: none !important;
}

[data-calendly-modal] .booking-head-v113 h2,
[data-questionnaire-modal] .questionnaire-intro-v113 h2,
[data-contact-message-modal] .booking-head-v113 h2,
.booking-head-v113 h2,
.questionnaire-intro-v113 h2 {
  margin: 0 !important;
  max-width: 760px !important;
  color: #fff !important;
  font-size: clamp(2rem, 4vw, 3.6rem) !important;
  line-height: .92 !important;
  letter-spacing: -.075em !important;
  background: transparent !important;
}

[data-calendly-modal] .booking-head-v113 p,
[data-questionnaire-modal] .questionnaire-intro-v113 p,
[data-contact-message-modal] .booking-head-v113 p,
.booking-head-v113 p,
.booking-intro-v113,
.questionnaire-intro-v113 p {
  max-width: 720px !important;
  margin: .55rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(246,249,255,.68) !important;
  line-height: 1.5 !important;
}

/* Same X close button in all three modals */
[data-calendly-modal] .booking-close-v113,
[data-questionnaire-modal] .booking-close-v113,
[data-questionnaire-modal] .questionnaire-close-v113,
[data-contact-message-modal] .booking-close-v113,
[data-close-contact-message],
[data-close-questionnaire],
[data-close-calendly],
.booking-close-v113,
.booking-close-v115 {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 80 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
  font-size: 1.55rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  text-decoration: none !important;
}

[data-calendly-modal] .booking-close-v113:hover,
[data-questionnaire-modal] .booking-close-v113:hover,
[data-questionnaire-modal] .questionnaire-close-v113:hover,
[data-contact-message-modal] .booking-close-v113:hover,
[data-close-contact-message]:hover,
[data-close-questionnaire]:hover,
[data-close-calendly]:hover,
.booking-close-v113:hover {
  border-color: rgba(138,239,255,.28) !important;
  background: rgba(138,239,255,.10) !important;
}

/* Option 1: no separate cancel button, only the X */
[data-calendly-modal] .booking-actions-v113 [data-close-calendly],
[data-calendly-modal] .booking-actions-v113 .button.secondary,
[data-calendly-modal] .booking-actions-v113 .button.ghost,
[data-calendly-modal] .booking-actions-v113 button:not([type="submit"]),
[data-calendly-modal] .booking-actions-v113 a.button:not(.primary) {
  display: none !important;
}

/* Same form/field look for option 2 and 3 */
[data-questionnaire-modal] input:not(.hp-field),
[data-questionnaire-modal] textarea,
[data-questionnaire-modal] select,
[data-contact-message-modal] input:not(.hp-field),
[data-contact-message-modal] textarea,
[data-contact-message-modal] select,
.contact-message-form-v141 input:not(.hp-field),
.contact-message-form-v141 textarea {
  width: 100% !important;
  min-width: 0 !important;
  appearance: none !important;
  border: 1px solid var(--sx-modal-field-border-v143) !important;
  border-radius: 18px !important;
  background: var(--sx-modal-field-bg-v143) !important;
  color: #fff !important;
  padding: .95rem 1rem !important;
  font: inherit !important;
  outline: none !important;
  box-shadow: none !important;
}

[data-questionnaire-modal] input:not(.hp-field):focus,
[data-questionnaire-modal] textarea:focus,
[data-questionnaire-modal] select:focus,
[data-contact-message-modal] input:not(.hp-field):focus,
[data-contact-message-modal] textarea:focus,
[data-contact-message-modal] select:focus {
  border-color: rgba(138,239,255,.46) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.08) !important;
}

[data-contact-message-form] input[name="phone"],
[data-contact-message-form] label:has(input[name="phone"]) {
  display: none !important;
}

.contact-message-form-v141 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.contact-message-form-v141 label,
.contact-message-form-v141 .booking-field-v113,
[data-questionnaire-modal] label {
  display: grid !important;
  gap: .48rem !important;
  min-width: 0 !important;
  color: rgba(246,249,255,.82) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

.contact-message-form-v141 label span,
.contact-message-form-v141 .booking-field-v113 span,
[data-questionnaire-modal] label span {
  color: rgba(246,249,255,.82) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

.contact-message-form-v141 textarea {
  min-height: 145px !important;
  resize: vertical !important;
}

.sx-unified-full-v141,
.contact-message-full-v140,
.contact-message-actions-v140,
.sx-unified-actions-v141 {
  grid-column: 1 / -1 !important;
}

.sx-unified-actions-v141,
.contact-message-actions-v140 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

/* Anti old broken direct contact styles */
.sx-contact-modal-v139,
.sx-contact-dialog-v139,
.sx-contact-form-v139 {
  display: none !important;
}

/* V143 mobile */
@media (max-width: 860px) {
  [data-calendly-modal].is-open,
  [data-questionnaire-modal].is-open,
  [data-contact-message-modal].is-open,
  .booking-modal-v113.is-open,
  .questionnaire-modal-v141.is-open,
  .contact-message-modal-v141.is-open {
    align-items: flex-start !important;
    padding: calc(env(safe-area-inset-top, 0px) + 12px) 9px 18px !important;
  }

  [data-calendly-modal] .booking-dialog-v113,
  [data-questionnaire-modal] .questionnaire-dialog-v113,
  [data-contact-message-modal] .booking-dialog-v113,
  .booking-dialog-v113,
  .questionnaire-dialog-v113,
  .contact-message-dialog-v141 {
    width: min(100%, 760px) !important;
    max-height: calc(100vh - 32px) !important;
    border-radius: 28px !important;
  }

  [data-calendly-modal] .booking-close-v113,
  [data-questionnaire-modal] .booking-close-v113,
  [data-questionnaire-modal] .questionnaire-close-v113,
  [data-contact-message-modal] .booking-close-v113,
  [data-close-contact-message],
  [data-close-questionnaire],
  [data-close-calendly],
  .booking-close-v113 {
    top: 16px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  [data-calendly-modal] .booking-head-v113,
  [data-questionnaire-modal] .questionnaire-intro-v113,
  [data-contact-message-modal] .booking-head-v113,
  .booking-head-v113,
  .questionnaire-intro-v113 {
    padding-right: 4.7rem !important;
  }

  .contact-message-form-v141 {
    grid-template-columns: 1fr !important;
  }

  [data-calendly-modal] .booking-head-v113 h2,
  [data-questionnaire-modal] .questionnaire-intro-v113 h2,
  [data-contact-message-modal] .booking-head-v113 h2,
  .booking-head-v113 h2,
  .questionnaire-intro-v113 h2 {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
  }

  [data-calendly-modal] .booking-head-v113 p,
  [data-questionnaire-modal] .questionnaire-intro-v113 p,
  [data-contact-message-modal] .booking-head-v113 p,
  .booking-head-v113 p,
  .booking-intro-v113,
  .questionnaire-intro-v113 p,
  .contact-message-form-v141 label,
  .contact-message-form-v141 .booking-field-v113 span {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }
}


/* V144 — final modal opacity + heading spacing */
:root {
  --sx-final-modal-surface-v144:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.14), transparent 29rem),
    linear-gradient(180deg, #080d1c 0%, #050814 52%, #03060e 100%);
  --sx-final-modal-inner-v144: rgba(2,5,12,.72);
  --sx-final-modal-line-v144: rgba(138,239,255,.16);
}

/* Force option 1, 2 and 3 to share the exact same opaque modal surface */
.sx-modal-final-v144.is-open,
[data-calendly-modal].is-open,
[data-questionnaire-modal].is-open,
[data-contact-message-modal].is-open {
  background:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.085), transparent 32rem),
    rgba(2,4,9,.90) !important;
}

.sx-modal-dialog-final-v144,
[data-calendly-modal] .booking-dialog-v113,
[data-questionnaire-modal] .questionnaire-dialog-v113,
[data-contact-message-modal] .booking-dialog-v113 {
  background: var(--sx-final-modal-surface-v144) !important;
  background-color: #050814 !important;
  opacity: 1 !important;
  border: 1px solid var(--sx-final-modal-line-v144) !important;
  box-shadow: 0 40px 140px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.065) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Kill old semi-transparent cards inside option 1 and 2 that made them look different from option 3 */
[data-calendly-modal] .booking-layout-v113,
[data-calendly-modal] .booking-grid-v113,
[data-calendly-modal] .booking-calendar-v113,
[data-calendly-modal] .booking-panel-v113,
[data-calendly-modal] .booking-slots-v115,
[data-questionnaire-modal] .questionnaire-body-v113,
[data-questionnaire-modal] .questionnaire-panel-v113,
[data-questionnaire-modal] .questionnaire-form-v113,
[data-questionnaire-modal] form,
[data-contact-message-modal] .contact-message-form-v141,
[data-contact-message-modal] .booking-grid-v113 {
  background: transparent !important;
  box-shadow: none !important;
}

/* Use the same dark inner surfaces for cards/fields across all three modals */
[data-calendly-modal] .booking-card-v113,
[data-calendly-modal] .booking-summary-v113,
[data-calendly-modal] .booking-calendar-card-v113,
[data-questionnaire-modal] .questionnaire-card-v113,
[data-questionnaire-modal] .questionnaire-step-v113,
[data-contact-message-modal] .booking-field-v113,
[data-calendly-modal] .booking-field-v113,
[data-questionnaire-modal] .booking-field-v113 {
  background: var(--sx-final-modal-inner-v144) !important;
  border-color: rgba(255,255,255,.10) !important;
}

/* Header text spacing: no overlaps between eyebrow, title, and intro */
.sx-modal-head-final-v144,
[data-calendly-modal] .booking-head-v113,
[data-questionnaire-modal] .questionnaire-intro-v113,
[data-contact-message-modal] .booking-head-v113 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .72rem !important;
  padding: clamp(1.35rem, 2.6vw, 2.15rem) 5.65rem clamp(1.35rem, 2.6vw, 2.15rem) clamp(1.35rem, 2.6vw, 2.15rem) !important;
  border-bottom: 1px solid rgba(255,255,255,.085) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sx-modal-head-final-v144 > *,
[data-calendly-modal] .booking-head-v113 > *,
[data-questionnaire-modal] .questionnaire-intro-v113 > *,
[data-contact-message-modal] .booking-head-v113 > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-width: 0 !important;
}

.sx-modal-head-final-v144 .eyebrow,
[data-calendly-modal] .booking-head-v113 .eyebrow,
[data-questionnaire-modal] .questionnaire-intro-v113 .eyebrow,
[data-contact-message-modal] .booking-head-v113 .eyebrow {
  display: block !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

.sx-modal-head-final-v144 h2,
[data-calendly-modal] .booking-head-v113 h2,
[data-questionnaire-modal] .questionnaire-intro-v113 h2,
[data-contact-message-modal] .booking-head-v113 h2 {
  display: block !important;
  max-width: 760px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(2rem, 4vw, 3.55rem) !important;
  line-height: .94 !important;
  letter-spacing: -.075em !important;
  background: transparent !important;
  transform: none !important;
}

.sx-modal-head-final-v144 p,
[data-calendly-modal] .booking-head-v113 p,
[data-calendly-modal] .booking-intro-v113,
[data-questionnaire-modal] .questionnaire-intro-v113 p,
[data-contact-message-modal] .booking-head-v113 p,
[data-contact-message-modal] .booking-intro-v113 {
  display: block !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(246,249,255,.70) !important;
  line-height: 1.52 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Same exact X position for all modal close buttons */
.sx-modal-final-v144 .booking-close-v113,
[data-calendly-modal] .booking-close-v113,
[data-questionnaire-modal] .booking-close-v113,
[data-questionnaire-modal] .questionnaire-close-v113,
[data-contact-message-modal] .booking-close-v113,
[data-close-contact-message],
[data-close-questionnaire],
[data-close-calendly] {
  top: 22px !important;
  right: 22px !important;
  z-index: 90 !important;
}

/* Option 1: keep only X close, never a second cancel button */
[data-calendly-modal] .booking-actions-v113 [data-close-calendly],
[data-calendly-modal] .booking-actions-v113 .button.secondary,
[data-calendly-modal] .booking-actions-v113 .button.ghost,
[data-calendly-modal] .booking-actions-v113 button:not([type="submit"]) {
  display: none !important;
}

/* Option 3: keep phone removed and layout tighter */
[data-contact-message-form] input[name="phone"],
[data-contact-message-form] label:has(input[name="phone"]) {
  display: none !important;
}

[data-contact-message-modal] .contact-message-form-v141 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

[data-contact-message-modal] .contact-message-form-v141 label,
[data-contact-message-modal] .contact-message-form-v141 .booking-field-v113 {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Mobile spacing */
@media (max-width: 860px) {
  .sx-modal-head-final-v144,
  [data-calendly-modal] .booking-head-v113,
  [data-questionnaire-modal] .questionnaire-intro-v113,
  [data-contact-message-modal] .booking-head-v113 {
    gap: .62rem !important;
    padding: 1.25rem 4.7rem 1.25rem 1.25rem !important;
  }

  .sx-modal-head-final-v144 h2,
  [data-calendly-modal] .booking-head-v113 h2,
  [data-questionnaire-modal] .questionnaire-intro-v113 h2,
  [data-contact-message-modal] .booking-head-v113 h2 {
    font-size: clamp(2rem, 10vw, 3.15rem) !important;
    line-height: .96 !important;
  }

  .sx-modal-final-v144 .booking-close-v113,
  [data-calendly-modal] .booking-close-v113,
  [data-questionnaire-modal] .booking-close-v113,
  [data-questionnaire-modal] .questionnaire-close-v113,
  [data-contact-message-modal] .booking-close-v113,
  [data-close-contact-message],
  [data-close-questionnaire],
  [data-close-calendly] {
    top: 16px !important;
    right: 16px !important;
  }

  [data-contact-message-modal] .contact-message-form-v141 {
    grid-template-columns: 1fr !important;
  }
}


/* V145 — final title breathing + force option 2 to option 3 surface */
:root {
  --sx-modal-v145-bg:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.14), transparent 29rem),
    linear-gradient(180deg, #080d1c 0%, #050814 52%, #03060e 100%);
  --sx-modal-v145-field: rgba(2,5,12,.72);
  --sx-modal-v145-line: rgba(138,239,255,.16);
}

/* Let option 1 and option 3 title breathe more */
.sx-title-breathe-v145,
[data-calendly-modal] .booking-head-v113,
[data-contact-message-modal] .booking-head-v113,
[data-questionnaire-modal] .questionnaire-intro-v113 {
  gap: 1rem !important;
  padding-top: clamp(1.55rem, 2.9vw, 2.35rem) !important;
  padding-bottom: clamp(1.55rem, 2.9vw, 2.35rem) !important;
}

.sx-title-breathe-v145 h2,
[data-calendly-modal] .booking-head-v113 h2,
[data-contact-message-modal] .booking-head-v113 h2,
[data-questionnaire-modal] .questionnaire-intro-v113 h2 {
  line-height: .98 !important;
}

.sx-title-breathe-v145 p,
[data-calendly-modal] .booking-head-v113 p,
[data-contact-message-modal] .booking-head-v113 p,
[data-questionnaire-modal] .questionnaire-intro-v113 p {
  line-height: 1.62 !important;
}

/* Option 2 was still visually transparent: override every questionnaire layer */
[data-questionnaire-modal],
[data-questionnaire-modal].is-open,
.sx-option2-final-v145,
.sx-option2-final-v145.is-open {
  background:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.085), transparent 32rem),
    rgba(2,4,9,.90) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

[data-questionnaire-modal] .questionnaire-dialog-v113,
.sx-option2-dialog-final-v145 {
  background: var(--sx-modal-v145-bg) !important;
  background-color: #050814 !important;
  opacity: 1 !important;
  border: 1px solid var(--sx-modal-v145-line) !important;
  box-shadow: 0 40px 140px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.065) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate !important;
}

/* remove transparent/grey inherited blocks inside option 2 */
[data-questionnaire-modal] .questionnaire-body-v113,
[data-questionnaire-modal] .questionnaire-panel-v113,
[data-questionnaire-modal] .questionnaire-form-v113,
[data-questionnaire-modal] .questionnaire-step-v113,
[data-questionnaire-modal] .questionnaire-content-v113,
[data-questionnaire-modal] .questionnaire-fields-v113,
[data-questionnaire-modal] .questionnaire-grid-v113,
[data-questionnaire-modal] form,
.sx-option2-body-final-v145,
.sx-option2-node-v145 {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* If option 2 has internal cards, make them same dark inner cards, not transparent glass */
[data-questionnaire-modal] .questionnaire-card-v113,
[data-questionnaire-modal] .questionnaire-group-v113,
[data-questionnaire-modal] .questionnaire-choice-v113,
[data-questionnaire-modal] .questionnaire-option-v113,
[data-questionnaire-modal] .questionnaire-field-v113 {
  background: var(--sx-modal-v145-field) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

/* Option 2 fields exactly like option 3 */
[data-questionnaire-modal] input:not(.hp-field),
[data-questionnaire-modal] textarea,
[data-questionnaire-modal] select {
  width: 100% !important;
  min-width: 0 !important;
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  background: var(--sx-modal-v145-field) !important;
  color: #fff !important;
  padding: .95rem 1rem !important;
  font: inherit !important;
  outline: none !important;
  box-shadow: none !important;
}

[data-questionnaire-modal] input:not(.hp-field):focus,
[data-questionnaire-modal] textarea:focus,
[data-questionnaire-modal] select:focus {
  border-color: rgba(138,239,255,.46) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.08) !important;
}

/* Keep option 3 as validated, just ensure phone stays removed */
[data-contact-message-form] input[name="phone"],
[data-contact-message-form] label:has(input[name="phone"]) {
  display: none !important;
}

/* Mobile breathing */
@media (max-width: 860px) {
  .sx-title-breathe-v145,
  [data-calendly-modal] .booking-head-v113,
  [data-contact-message-modal] .booking-head-v113,
  [data-questionnaire-modal] .questionnaire-intro-v113 {
    gap: .82rem !important;
    padding-top: 1.4rem !important;
    padding-bottom: 1.4rem !important;
  }
}


/* V146 — modal backdrop + option 2 exact structure fix */
:root {
  --sx-modal-bg-v146:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.14), transparent 29rem),
    linear-gradient(180deg, #080d1c 0%, #050814 52%, #03060e 100%);
  --sx-modal-page-dim-v146:
    radial-gradient(circle at 50% 12%, rgba(138,239,255,.075), transparent 32rem),
    #020409;
  --sx-modal-field-v146: rgba(2,5,12,.72);
  --sx-modal-line-v146: rgba(138,239,255,.16);
}

/* The page behind must not remain visible in option 1/2 */
[data-calendly-modal].is-open,
[data-questionnaire-modal].is-open,
[data-contact-message-modal].is-open,
.sx-modal-v146.is-open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-y: auto !important;
  padding: clamp(14px, 3vw, 30px) !important;
  background: var(--sx-modal-page-dim-v146) !important;
  background-color: #020409 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Backdrop DIVs were being styled like close buttons: neutralize them */
.sx-modal-backdrop-v146,
[data-calendly-modal] .questionnaire-backdrop[data-close-calendly],
[data-questionnaire-modal] .questionnaire-backdrop[data-close-questionnaire] {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  cursor: default !important;
  z-index: 0 !important;
}

/* Only real BUTTONS can be close buttons */
.sx-modal-close-v146,
[data-calendly-modal] button[data-close-calendly],
[data-questionnaire-modal] button[data-close-questionnaire],
[data-contact-message-modal] button[data-close-contact-message],
[data-contact-message-modal] .booking-close-v113 {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 90 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
  font-size: 1.55rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  text-decoration: none !important;
}

.sx-modal-close-v146:hover,
[data-calendly-modal] button[data-close-calendly]:hover,
[data-questionnaire-modal] button[data-close-questionnaire]:hover,
[data-contact-message-modal] button[data-close-contact-message]:hover {
  border-color: rgba(138,239,255,.28) !important;
  background: rgba(138,239,255,.10) !important;
}

/* Same opaque dialog surface for option 1/2/3 */
[data-calendly-modal] .booking-dialog-v113,
[data-questionnaire-modal] .questionnaire-dialog,
[data-questionnaire-modal] .questionnaire-dialog-v113,
[data-contact-message-modal] .booking-dialog-v113,
.sx-option2-dialog-v146 {
  position: relative !important;
  z-index: 1 !important;
  width: min(1180px, 100%) !important;
  max-height: min(90vh, 920px) !important;
  overflow: auto !important;
  border-radius: clamp(24px, 3vw, 34px) !important;
  border: 1px solid var(--sx-modal-line-v146) !important;
  background: var(--sx-modal-bg-v146) !important;
  background-color: #050814 !important;
  opacity: 1 !important;
  box-shadow: 0 40px 140px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.065) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #f7f9ff !important;
}

/* Header of option 1/2/3: option 3 spacing is the reference */
[data-calendly-modal] .booking-head-v113,
[data-questionnaire-modal] .questionnaire-head,
[data-questionnaire-modal] .questionnaire-intro-v113,
[data-contact-message-modal] .booking-head-v113,
.sx-option2-head-v146,
.sx-contact-head-v146 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 1rem !important;
  position: relative !important;
  padding: clamp(1.55rem, 2.9vw, 2.35rem) 5.65rem clamp(1.55rem, 2.9vw, 2.35rem) clamp(1.55rem, 2.9vw, 2.35rem) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.085) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* The real questionnaire markup wraps text in an extra div; make it behave like option 3 */
[data-questionnaire-modal] .questionnaire-head > div,
.sx-option2-head-v146 > div,
[data-calendly-modal] .booking-head-v113 > div {
  display: grid !important;
  gap: 1rem !important;
  min-width: 0 !important;
}

/* No margins causing collision */
[data-calendly-modal] .booking-head-v113 > *,
[data-questionnaire-modal] .questionnaire-head > *,
[data-contact-message-modal] .booking-head-v113 > *,
[data-questionnaire-modal] .questionnaire-head > div > *,
[data-calendly-modal] .booking-head-v113 > div > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-width: 0 !important;
}

[data-calendly-modal] .booking-head-v113 .eyebrow,
[data-questionnaire-modal] .questionnaire-head .eyebrow,
[data-contact-message-modal] .booking-head-v113 .eyebrow {
  display: block !important;
  line-height: 1.1 !important;
}

[data-calendly-modal] .booking-head-v113 h2,
[data-questionnaire-modal] .questionnaire-head h2,
[data-contact-message-modal] .booking-head-v113 h2 {
  display: block !important;
  max-width: 760px !important;
  color: #fff !important;
  font-size: clamp(2rem, 4vw, 3.55rem) !important;
  line-height: .98 !important;
  letter-spacing: -.075em !important;
  background: transparent !important;
  transform: none !important;
}

[data-calendly-modal] .booking-head-v113 p,
[data-calendly-modal] .booking-intro-v113,
[data-questionnaire-modal] .questionnaire-head p,
[data-questionnaire-modal] .sx-option2-intro-v146,
[data-contact-message-modal] .booking-head-v113 p,
[data-contact-message-modal] .booking-intro-v113 {
  display: block !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(246,249,255,.70) !important;
  line-height: 1.62 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Hide the internal bad intro in option 2: "Questionnaire complet..." */
.sx-hide-inner-intro-v146,
[data-questionnaire-modal] .request-intro {
  display: none !important;
}

/* Remove the tab block in option 2 so it starts cleanly like option 1/3 */
[data-questionnaire-modal] .request-choice {
  display: none !important;
}

/* Option 2 body: opaque outer shell, transparent body, dark fields */
[data-questionnaire-modal] .questionnaire-form,
[data-questionnaire-modal] .request-form,
[data-questionnaire-modal] .questionnaire-body-v113,
[data-questionnaire-modal] form {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: clamp(1.15rem, 2.4vw, 2rem) !important;
}

[data-questionnaire-modal] .request-mode,
[data-questionnaire-modal] .question-grid,
[data-questionnaire-modal] .guided-step,
[data-questionnaire-modal] .conditional-request-block,
[data-questionnaire-modal] .option-grid,
[data-questionnaire-modal] .conditional-multiselect {
  background: transparent !important;
  box-shadow: none !important;
}

[data-questionnaire-modal] label {
  color: rgba(246,249,255,.82) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

[data-questionnaire-modal] input,
[data-questionnaire-modal] textarea,
[data-questionnaire-modal] select,
[data-contact-message-modal] input:not(.hp-field),
[data-contact-message-modal] textarea,
[data-calendly-modal] input,
[data-calendly-modal] textarea,
[data-calendly-modal] select {
  width: 100% !important;
  min-width: 0 !important;
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  background: var(--sx-modal-field-v146) !important;
  color: #fff !important;
  padding: .95rem 1rem !important;
  font: inherit !important;
  outline: none !important;
  box-shadow: none !important;
}

[data-questionnaire-modal] input:focus,
[data-questionnaire-modal] textarea:focus,
[data-questionnaire-modal] select:focus,
[data-contact-message-modal] input:not(.hp-field):focus,
[data-contact-message-modal] textarea:focus,
[data-calendly-modal] input:focus,
[data-calendly-modal] textarea:focus,
[data-calendly-modal] select:focus {
  border-color: rgba(138,239,255,.46) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.08) !important;
}

/* Option 1: no second close/cancel in actions */
[data-calendly-modal] .booking-actions-v113 [data-close-calendly],
[data-calendly-modal] .booking-actions-v113 .button.secondary,
[data-calendly-modal] .booking-actions-v113 .button.ghost,
[data-calendly-modal] .booking-actions-v113 button:not([type="submit"]) {
  display: none !important;
}

/* Option 3 stays validated */
[data-contact-message-form] input[name="phone"],
[data-contact-message-form] label:has(input[name="phone"]) {
  display: none !important;
}

/* Mobile */
@media (max-width: 860px) {
  [data-calendly-modal].is-open,
  [data-questionnaire-modal].is-open,
  [data-contact-message-modal].is-open,
  .sx-modal-v146.is-open {
    align-items: flex-start !important;
    padding: calc(env(safe-area-inset-top, 0px) + 12px) 9px 18px !important;
  }

  [data-calendly-modal] .booking-dialog-v113,
  [data-questionnaire-modal] .questionnaire-dialog,
  [data-contact-message-modal] .booking-dialog-v113 {
    width: min(100%, 760px) !important;
    max-height: calc(100vh - 32px) !important;
    border-radius: 28px !important;
  }

  [data-calendly-modal] .booking-head-v113,
  [data-questionnaire-modal] .questionnaire-head,
  [data-contact-message-modal] .booking-head-v113 {
    gap: .82rem !important;
    padding: 1.4rem 4.7rem 1.4rem 1.25rem !important;
  }

  [data-questionnaire-modal] .questionnaire-head > div,
  [data-calendly-modal] .booking-head-v113 > div {
    gap: .82rem !important;
  }

  [data-calendly-modal] .booking-head-v113 h2,
  [data-questionnaire-modal] .questionnaire-head h2,
  [data-contact-message-modal] .booking-head-v113 h2 {
    font-size: clamp(2rem, 10vw, 3.15rem) !important;
    line-height: .98 !important;
  }

  .sx-modal-close-v146,
  [data-calendly-modal] button[data-close-calendly],
  [data-questionnaire-modal] button[data-close-questionnaire],
  [data-contact-message-modal] button[data-close-contact-message] {
    top: 16px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }
}


/* V147 — fix booking/questionnaire checkbox/radio fields */
[data-calendly-modal] input[type="checkbox"],
[data-calendly-modal] input[type="radio"],
[data-questionnaire-modal] input[type="checkbox"],
[data-questionnaire-modal] input[type="radio"],
[data-contact-message-modal] input[type="checkbox"],
[data-contact-message-modal] input[type="radio"],
.sx-check-input-v147 {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  flex: 0 0 16px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 5px !important;
  background: rgba(2,5,12,.74) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  vertical-align: middle !important;
}

[data-calendly-modal] input[type="radio"],
[data-questionnaire-modal] input[type="radio"],
[data-contact-message-modal] input[type="radio"] {
  border-radius: 999px !important;
}

[data-calendly-modal] input[type="checkbox"]:checked,
[data-calendly-modal] input[type="radio"]:checked,
[data-questionnaire-modal] input[type="checkbox"]:checked,
[data-questionnaire-modal] input[type="radio"]:checked,
[data-contact-message-modal] input[type="checkbox"]:checked,
[data-contact-message-modal] input[type="radio"]:checked,
.sx-check-input-v147:checked {
  background: var(--accent) !important;
  border-color: rgba(138,239,255,.88) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.10), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

[data-calendly-modal] input[type="checkbox"]:checked::after,
[data-questionnaire-modal] input[type="checkbox"]:checked::after,
[data-contact-message-modal] input[type="checkbox"]:checked::after,
.sx-check-input-v147[type="checkbox"]:checked::after {
  content: "" !important;
  width: 7px !important;
  height: 4px !important;
  border-left: 2px solid #06111e !important;
  border-bottom: 2px solid #06111e !important;
  transform: rotate(-45deg) translate(1px, -1px) !important;
}

[data-calendly-modal] input[type="radio"]:checked::after,
[data-questionnaire-modal] input[type="radio"]:checked::after,
[data-contact-message-modal] input[type="radio"]:checked::after,
.sx-check-input-v147[type="radio"]:checked::after {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #06111e !important;
}

/* Rows containing checkboxes/radios must not inherit text-input layout */
[data-calendly-modal] label:has(input[type="checkbox"]),
[data-calendly-modal] label:has(input[type="radio"]),
[data-questionnaire-modal] label:has(input[type="checkbox"]),
[data-questionnaire-modal] label:has(input[type="radio"]),
[data-contact-message-modal] label:has(input[type="checkbox"]),
[data-contact-message-modal] label:has(input[type="radio"]),
.sx-check-label-v147 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .68rem !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: .82rem .92rem !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(246,249,255,.82) !important;
  font-size: .82rem !important;
  font-weight: 820 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  box-shadow: none !important;
}

[data-calendly-modal] label:has(input[type="checkbox"]) *,
[data-calendly-modal] label:has(input[type="radio"]) *,
[data-questionnaire-modal] label:has(input[type="checkbox"]) *,
[data-questionnaire-modal] label:has(input[type="radio"]) *,
[data-contact-message-modal] label:has(input[type="checkbox"]) *,
[data-contact-message-modal] label:has(input[type="radio"]) *,
.sx-check-label-v147 * {
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

[data-calendly-modal] label:has(input[type="checkbox"]):hover,
[data-calendly-modal] label:has(input[type="radio"]):hover,
[data-questionnaire-modal] label:has(input[type="checkbox"]):hover,
[data-questionnaire-modal] label:has(input[type="radio"]):hover,
.sx-check-label-v147:hover {
  border-color: rgba(138,239,255,.22) !important;
  background: rgba(138,239,255,.055) !important;
}

/* Specific repair for the booking need/activity grids shown in the screenshot */
[data-calendly-modal] .option-grid,
[data-calendly-modal] .conditional-multiselect,
[data-calendly-modal] .question-grid,
[data-calendly-modal] .booking-choices-v113,
[data-calendly-modal] .booking-choice-grid-v113 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .72rem !important;
  align-items: stretch !important;
  overflow: visible !important;
}

[data-calendly-modal] .option-grid label,
[data-calendly-modal] .conditional-multiselect label,
[data-calendly-modal] .question-grid label,
[data-calendly-modal] .booking-choices-v113 label,
[data-calendly-modal] .booking-choice-grid-v113 label {
  min-height: 44px !important;
}

/* Prevent previous text-input override from touching check/radio again */
[data-calendly-modal] input[type="checkbox"]:focus,
[data-calendly-modal] input[type="radio"]:focus,
[data-questionnaire-modal] input[type="checkbox"]:focus,
[data-questionnaire-modal] input[type="radio"]:focus {
  border-color: rgba(138,239,255,.46) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.08) !important;
}

/* Mobile: one column for choice rows */
@media (max-width: 700px) {
  [data-calendly-modal] .option-grid,
  [data-calendly-modal] .conditional-multiselect,
  [data-calendly-modal] .question-grid,
  [data-calendly-modal] .booking-choices-v113,
  [data-calendly-modal] .booking-choice-grid-v113 {
    grid-template-columns: 1fr !important;
  }
}


/* V151 — no default/permanent selected option on contact/request choices */
.sx-contact-options-v140 .sx-offer-family-card-v140.is-active,
.sx-contact-choice-layout-v139 .sx-contact-choice-card-v139.is-active,
.sx-contact-choice-grid-v138 .sx-choice-style-card-v138.is-active,
.request-cta-card .request-path-card.is-active,
.request-cta-card .request-path-card.request-path-card-primary,
.request-paths .request-path-card.is-active,
.request-paths .request-path-card.request-path-card-primary {
  transform: none !important;
  border-color: rgba(255,255,255,.09) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.sx-contact-options-v140 .sx-offer-family-card-v140.is-active {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.024)) !important;
}

.sx-contact-choice-layout-v139 .sx-contact-choice-card-v139.is-active,
.sx-contact-choice-grid-v138 .sx-choice-style-card-v138.is-active,
.request-cta-card .request-path-card.request-path-card-primary,
.request-paths .request-path-card.request-path-card-primary {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.024)) !important;
}

/* Hover can still show interaction, but nothing is selected by default */
.sx-contact-options-v140 .sx-offer-family-card-v140:hover,
.sx-contact-choice-layout-v139 .sx-contact-choice-card-v139:hover,
.sx-contact-choice-grid-v138 .sx-choice-style-card-v138:hover,
.request-cta-card .request-path-card:hover,
.request-paths .request-path-card:hover {
  border-color: rgba(138,239,255,.24) !important;
}


/* V152 — mobile-only fixes: contact row, header spacing, language menu */
@media (max-width: 860px) {
  /* 1) Page contact: keep the 3 options side by side on mobile */
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-choice-layout-v139,
  body.sx-mobile-contact-fix-v152 .sx-contact-choice-grid-v138,
  body.sx-mobile-contact-fix-v152 .sx-mobile-contact-row-v152 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(172px, 1fr)) !important;
    gap: .72rem !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    padding-bottom: .35rem !important;
    margin-left: calc(var(--page-padding, 16px) * -1) !important;
    margin-right: calc(var(--page-padding, 16px) * -1) !important;
    padding-left: var(--page-padding, 16px) !important;
    padding-right: var(--page-padding, 16px) !important;
  }

  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 > *,
  body.sx-mobile-contact-fix-v152 .sx-contact-choice-layout-v139 > *,
  body.sx-mobile-contact-fix-v152 .sx-contact-choice-grid-v138 > *,
  body.sx-mobile-contact-fix-v152 .sx-mobile-contact-row-v152 > * {
    min-width: 172px !important;
    width: 172px !important;
    scroll-snap-align: start !important;
  }

  /* Keep cards compact enough to read on phone */
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-choice-card-v139,
  body.sx-mobile-contact-fix-v152 .sx-choice-style-card-v138 {
    min-height: 100% !important;
  }

  /* 2) Accueil + Offres: prevent fixed/sticky header from overlapping first content */
  body.sx-mobile-home-fix-v152 main,
  body.sx-mobile-offers-fix-v152 main,
  body.sx-mobile-home-fix-v152 .studio-shell,
  body.sx-mobile-offers-fix-v152 .studio-shell,
  body.sx-mobile-home-fix-v152 .studio-main,
  body.sx-mobile-offers-fix-v152 .studio-main {
    padding-top: max(92px, calc(env(safe-area-inset-top, 0px) + 88px)) !important;
  }

  body.sx-mobile-home-fix-v152 .studio-hero,
  body.sx-mobile-offers-fix-v152 .studio-hero,
  body.sx-mobile-home-fix-v152 .hero,
  body.sx-mobile-offers-fix-v152 .hero,
  body.sx-mobile-home-fix-v152 .offer-hero,
  body.sx-mobile-offers-fix-v152 .offer-hero,
  body.sx-mobile-offers-fix-v152 .offers-hero,
  body.sx-mobile-home-fix-v152 section:first-of-type,
  body.sx-mobile-offers-fix-v152 section:first-of-type {
    margin-top: 0 !important;
  }

  /* Make sure the header itself stays above content */
  body.sx-mobile-home-fix-v152 header,
  body.sx-mobile-offers-fix-v152 header,
  body.sx-mobile-contact-fix-v152 header {
    z-index: 9000 !important;
  }

  /* 3) Language menu must appear above the site and stay clickable */
  [data-lang-menu],
  .sx-lang-menu,
  .lang-menu,
  .language-menu,
  .language-dropdown {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 74px) !important;
    right: 12px !important;
    left: auto !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
    max-width: min(260px, calc(100vw - 24px)) !important;
    transform: none !important;
  }

  [data-lang-menu][hidden] {
    display: none !important;
  }

  [data-lang-menu]:not([hidden]),
  .sx-lang-menu.is-open,
  .lang-menu.is-open,
  .language-menu.is-open,
  .language-dropdown.is-open {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  [data-lang-menu] *,
  .sx-lang-menu *,
  .lang-menu *,
  .language-menu *,
  .language-dropdown * {
    pointer-events: auto !important;
  }
}

/* V152 — stronger language dropdown stacking for all sizes */
[data-lang-root],
.sx-lang,
.lang-switch,
.language-switcher {
  position: relative !important;
  z-index: 999990 !important;
}

[data-lang-menu],
.sx-lang-menu,
.lang-menu,
.language-menu,
.language-dropdown {
  z-index: 999999 !important;
}


/* V153 — real mobile header/contact/language fixes */
@media (max-width: 860px) {
  /* A. Header compact enough to include the language button */
  .sx-site-header-v140 {
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    left: 50% !important;
    right: auto !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: 58px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 6px !important;
    padding: 7px 8px !important;
    overflow: visible !important;
    z-index: 99990 !important;
  }

  .sx-header-logo-v140 {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  .sx-header-logo-v140 img {
    width: 31px !important;
    height: 31px !important;
  }

  .sx-header-nav-v140 {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 3px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .sx-header-nav-link-v140 {
    min-height: 34px !important;
    padding: 0 7px !important;
    font-size: .66rem !important;
    letter-spacing: .005em !important;
    white-space: nowrap !important;
    flex: 0 1 auto !important;
  }

  /* Language button stays inside header and remains visible */
  .sx-site-header-v140 .language-menu,
  .sx-site-header-v140 [data-lang-menu] {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 34px !important;
    margin-left: 1px !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .sx-site-header-v140 .language-icon-button {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .sx-site-header-v140 .language-icon-button svg {
    width: 15px !important;
    height: 15px !important;
  }

  /* Dropdown only: fixed above the page when open, not under the site */
  .sx-site-header-v140 .language-options,
  [data-lang-options] {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 78px) !important;
    right: 14px !important;
    left: auto !important;
    z-index: 1000000 !important;
    min-width: 158px !important;
    max-width: calc(100vw - 28px) !important;
    pointer-events: auto !important;
  }

  .sx-site-header-v140 .language-menu.is-open .language-options,
  .sx-site-header-v140 [data-lang-menu].is-open [data-lang-options],
  [data-lang-options].is-open {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* B. Real spacing: push first content below fixed header */
  body.sx-mobile-home-fix-v153 #main,
  body.sx-mobile-offers-fix-v153 #main,
  body.sx-mobile-home-fix-v152 #main,
  body.sx-mobile-offers-fix-v152 #main {
    padding-top: 0 !important;
  }

  body.sx-mobile-home-fix-v153 #services,
  body.sx-mobile-home-fix-v152 #services {
    padding-top: calc(env(safe-area-inset-top, 0px) + 154px) !important;
  }

  body.sx-mobile-offers-fix-v153 #offres,
  body.sx-mobile-offers-fix-v152 #offres {
    padding-top: calc(env(safe-area-inset-top, 0px) + 138px) !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-section-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-section-v140 {
    padding-top: calc(env(safe-area-inset-top, 0px) + 122px) !important;
  }

  /* C. Contact mobile: 3 fixed cards visible, no horizontal scroll */
  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v153 .sx-contact-three-fixed-v153 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 > *,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 > *,
  body.sx-mobile-contact-fix-v153 .sx-contact-three-fixed-v153 > * {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    scroll-snap-align: unset !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    min-height: 220px !important;
    padding: 14px 10px !important;
    border-radius: 22px !important;
    gap: 9px !important;
    overflow: hidden !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 span,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 span {
    font-size: .68rem !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 h3,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    font-size: clamp(.92rem, 4.15vw, 1.18rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    overflow-wrap: anywhere !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 p,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    font-size: clamp(.72rem, 3.25vw, .84rem) !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 strong,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    padding: .52rem .48rem !important;
    font-size: .66rem !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    text-align: center !important;
    max-width: 100% !important;
  }
}

@media (max-width: 380px) {
  .sx-header-nav-link-v140 {
    padding: 0 5px !important;
    font-size: .61rem !important;
  }

  .sx-site-header-v140 .language-menu,
  .sx-site-header-v140 [data-lang-menu] {
    flex-basis: 28px !important;
    width: 28px !important;
  }

  .sx-site-header-v140 .language-icon-button {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 {
    gap: 6px !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    padding: 12px 8px !important;
  }
}


/* V154 — mobile contact words + hub language corner */
@media (max-width: 860px) {
  /* Contact cards: keep 3 fixed columns, but never cut words like "Questionnaire" */
  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    padding: 13px 8px !important;
    gap: 8px !important;
    min-height: 222px !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 h3,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    font-size: clamp(.78rem, 3.45vw, .98rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.055em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    white-space: normal !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 p,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    font-size: clamp(.67rem, 2.95vw, .78rem) !important;
    line-height: 1.22 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 strong,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    font-size: clamp(.58rem, 2.65vw, .68rem) !important;
    line-height: 1.08 !important;
    padding: .48rem .36rem !important;
    letter-spacing: -.02em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  /* Page principale / hub: language button pinned to the user's screen corner */
  body.sx-hub-lang-corner-v154 .language-menu,
  body.sx-hub-lang-corner-v154 [data-lang-menu] {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 14px) !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 1000000 !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.sx-hub-lang-corner-v154 .language-icon-button,
  body.sx-hub-lang-corner-v154 [data-lang-toggle] {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.sx-hub-lang-corner-v154 .language-options,
  body.sx-hub-lang-corner-v154 [data-lang-options] {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 64px) !important;
    right: 16px !important;
    left: auto !important;
    z-index: 1000001 !important;
    min-width: 160px !important;
    max-width: calc(100vw - 32px) !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 380px) {
  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 h3,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    font-size: .76rem !important;
    letter-spacing: -.06em !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 p,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    font-size: .66rem !important;
  }

  body.sx-mobile-contact-fix-v153 .sx-contact-options-v140 .sx-offer-family-card-v140 strong,
  body.sx-mobile-contact-fix-v152 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    font-size: .56rem !important;
  }
}


/* V155 — contact page wording/scale refinement */
.sx-contact-refine-v155 .sx-contact-direct-info-v155 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  flex-wrap: wrap;
  margin: 1.25rem auto 0;
  max-width: 760px;
}

.sx-contact-refine-v155 .sx-contact-direct-pill-v155 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .72rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.18);
  background: rgba(255,255,255,.04);
  color: rgba(246,249,255,.86);
  font-weight: 850;
  font-size: .86rem;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.sx-contact-refine-v155 .sx-contact-phone-soon-v155 {
  color: rgba(246,249,255,.62);
}

@media (max-width: 860px) {
  .sx-contact-refine-v155 .sx-contact-section-v140 h1,
  .sx-contact-refine-v155 .sx-contact-hero-v135 h1,
  .sx-contact-refine-v155 h1 {
    font-size: clamp(3rem, 15.5vw, 4.75rem) !important;
    line-height: .92 !important;
    letter-spacing: -.085em !important;
    max-width: 92vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sx-contact-refine-v155 .sx-contact-section-v140 > p,
  .sx-contact-refine-v155 .sx-contact-hero-v135 > p,
  .sx-contact-refine-v155 h1 + p {
    max-width: 92vw !important;
    font-size: clamp(1rem, 4.1vw, 1.18rem) !important;
    line-height: 1.38 !important;
  }

  .sx-contact-refine-v155 .sx-contact-direct-info-v155 {
    gap: .5rem !important;
    margin-top: 1rem !important;
    padding: 0 .25rem !important;
  }

  .sx-contact-refine-v155 .sx-contact-direct-pill-v155 {
    width: 100% !important;
    min-height: 38px !important;
    padding: .62rem .8rem !important;
    font-size: .78rem !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    min-height: 250px !important;
    padding: 13px 8px !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140 h3,
  body.sx-mobile-contact-fix-v152.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    font-size: clamp(.76rem, 3.35vw, .95rem) !important;
    line-height: 1.06 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140 p,
  body.sx-mobile-contact-fix-v152.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    font-size: clamp(.64rem, 2.75vw, .74rem) !important;
    line-height: 1.22 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140 strong,
  body.sx-mobile-contact-fix-v152.sx-contact-refine-v155 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    font-size: clamp(.55rem, 2.45vw, .64rem) !important;
    line-height: 1.08 !important;
    padding: .46rem .34rem !important;
  }
}


/* V156 — contact title scale, separator and compact cards */
.sx-contact-v156 .sx-contact-phone-soon-v155 {
  display: none !important;
}

.sx-contact-v156 .sx-contact-title-line-v156 {
  width: min(220px, 44vw);
  height: 1px;
  margin: clamp(1rem, 2vw, 1.35rem) auto clamp(1rem, 2vw, 1.35rem);
  background: linear-gradient(90deg, transparent, rgba(246,249,255,.58), transparent);
}

.sx-contact-v156 .sx-contact-direct-info-v155 {
  margin-top: .9rem !important;
}

.sx-contact-v156 .sx-contact-direct-pill-v155 {
  min-height: 38px !important;
  padding: .62rem .95rem !important;
}

@media (max-width: 860px) {
  /* Match offers page visual weight */
  .sx-contact-v156 .sx-contact-section-v140 h1,
  .sx-contact-v156 .sx-contact-hero-v135 h1,
  .sx-contact-v156 h1 {
    font-size: clamp(3.4rem, 12.6vw, 4.35rem) !important;
    line-height: .94 !important;
    letter-spacing: -.078em !important;
    max-width: 94vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sx-contact-v156 .sx-contact-title-line-v156 {
    width: min(220px, 44vw) !important;
    margin: .95rem auto 1rem !important;
  }

  .sx-contact-v156 .sx-contact-section-v140 > p,
  .sx-contact-v156 .sx-contact-hero-v135 > p,
  .sx-contact-v156 h1 + .sx-contact-title-line-v156 + p,
  .sx-contact-v156 h1 + p {
    max-width: 88vw !important;
    font-size: clamp(1rem, 3.95vw, 1.16rem) !important;
    line-height: 1.36 !important;
  }

  .sx-contact-v156 .sx-contact-direct-info-v155 {
    margin-top: .8rem !important;
  }

  .sx-contact-v156 .sx-contact-direct-pill-v155 {
    width: auto !important;
    max-width: 92vw !important;
    min-height: 36px !important;
    padding: .56rem .85rem !important;
    font-size: .76rem !important;
  }

  /* Cards are a bit shorter now */
  body.sx-mobile-contact-fix-v153.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    min-height: 205px !important;
    padding: 12px 8px !important;
    gap: 7px !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140 h3,
  body.sx-mobile-contact-fix-v152.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    font-size: clamp(.76rem, 3.35vw, .95rem) !important;
    line-height: 1.05 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140 p,
  body.sx-mobile-contact-fix-v152.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    font-size: clamp(.62rem, 2.7vw, .73rem) !important;
    line-height: 1.2 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140 strong,
  body.sx-mobile-contact-fix-v152.sx-contact-v156 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    font-size: clamp(.54rem, 2.35vw, .62rem) !important;
    line-height: 1.05 !important;
    padding: .42rem .3rem !important;
  }
}


/* V157 — contact page aligned with Accueil / Offres hierarchy */
.sx-contact-v157 .sx-contact-direct-info-v155 {
  margin: .95rem auto 1.2rem !important;
}

.sx-contact-v157 .sx-contact-direct-pill-v155 {
  min-height: 36px !important;
  padding: .56rem .9rem !important;
  font-size: .78rem !important;
}

@media (max-width: 860px) {
  /* Match the offers hero: less aggressive, same rhythm */
  .sx-contact-v157 .sx-contact-section-v140,
  .sx-contact-v157 .sx-contact-hero-v135 {
    text-align: center !important;
  }

  .sx-contact-v157 .sx-contact-section-v140 h1,
  .sx-contact-v157 .sx-contact-hero-v135 h1,
  .sx-contact-v157 h1 {
    font-size: clamp(3.15rem, 13.2vw, 4.25rem) !important;
    line-height: .92 !important;
    letter-spacing: -.082em !important;
    max-width: 92vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sx-contact-v157 .sx-contact-title-line-v156 {
    width: min(220px, 42vw) !important;
    margin: .9rem auto 1rem !important;
  }

  .sx-contact-v157 .sx-contact-section-v140 > p,
  .sx-contact-v157 .sx-contact-hero-v135 > p,
  .sx-contact-v157 h1 + .sx-contact-title-line-v156 + p,
  .sx-contact-v157 h1 + p {
    max-width: 88vw !important;
    font-size: clamp(1rem, 3.9vw, 1.14rem) !important;
    line-height: 1.34 !important;
    color: rgba(246,249,255,.68) !important;
  }

  .sx-contact-v157 .sx-contact-direct-info-v155 {
    margin: .78rem auto 1.15rem !important;
  }

  .sx-contact-v157 .sx-contact-direct-pill-v155 {
    width: auto !important;
    max-width: 92vw !important;
    min-height: 34px !important;
    padding: .5rem .82rem !important;
    font-size: .74rem !important;
  }

  /* Make the three contact cards feel lighter and less like a wall */
  body.sx-mobile-contact-fix-v153.sx-contact-v157 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v152.sx-contact-v157 .sx-contact-options-v140 {
    gap: 8px !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    min-height: 175px !important;
    padding: 12px 8px !important;
    gap: 6px !important;
    border-radius: 22px !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 span,
  body.sx-mobile-contact-fix-v152.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 span {
    font-size: .66rem !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 h3,
  body.sx-mobile-contact-fix-v152.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    font-size: clamp(.82rem, 3.55vw, 1rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.05em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    white-space: normal !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 p,
  body.sx-mobile-contact-fix-v152.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    font-size: clamp(.66rem, 2.8vw, .75rem) !important;
    line-height: 1.2 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 strong,
  body.sx-mobile-contact-fix-v152.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    font-size: clamp(.56rem, 2.45vw, .63rem) !important;
    line-height: 1.05 !important;
    padding: .42rem .32rem !important;
    white-space: normal !important;
  }
}

@media (max-width: 380px) {
  .sx-contact-v157 h1 {
    font-size: clamp(2.85rem, 12.7vw, 3.8rem) !important;
  }

  body.sx-mobile-contact-fix-v153.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140,
  body.sx-mobile-contact-fix-v152.sx-contact-v157 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    min-height: 182px !important;
    padding: 11px 7px !important;
  }
}


/* V158 — contact page system redesign, aligned with Accueil / Offres */
.sx-contact-system-v158 {
  --sx-contact-surface-v158: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  --sx-contact-surface-soft-v158: rgba(8,13,25,.74);
}

/* calm hero, less glow and less cyan noise */
.sx-contact-system-v158 .sx-contact-section-v140,
.sx-contact-system-v158 .sx-contact-hero-v135 {
  background:
    radial-gradient(circle at 50% 0%, rgba(138,239,255,.06), transparent 30rem),
    transparent !important;
}

.sx-contact-system-v158 .sx-contact-section-v140 h1,
.sx-contact-system-v158 .sx-contact-hero-v135 h1,
.sx-contact-system-v158 h1 {
  max-width: 920px !important;
}

/* real system container */
.sx-contact-system-v158 .sx-contact-system-panel-v158 {
  width: min(1180px, calc(100% - 2rem));
  margin: clamp(1.65rem, 4vw, 3rem) auto 0;
  padding: clamp(1rem, 2.5vw, 1.6rem);
  border-radius: clamp(26px, 3vw, 36px);
  border: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.075), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}

.sx-contact-system-v158 .sx-contact-system-head-v158 {
  display: grid;
  gap: .55rem;
  margin: 0 0 1rem;
  text-align: left;
}

.sx-contact-system-v158 .sx-contact-system-head-v158 .eyebrow {
  color: var(--accent);
  letter-spacing: .18em;
  font-weight: 900;
  font-size: .74rem;
}

.sx-contact-system-v158 .sx-contact-system-head-v158 h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.sx-contact-system-v158 .sx-contact-system-head-v158 p {
  max-width: 680px;
  margin: 0;
  color: rgba(246,249,255,.62);
  font-size: 1rem;
  line-height: 1.45;
}

/* neutralize page 1 color/glow excess */
.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 {
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.055), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.018)) !important;
  border-color: rgba(255,255,255,.09) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
  white-space: nowrap;
}

.sx-contact-system-v158 .sx-contact-mail-inline-v158 {
  margin: .1rem 0 .35rem !important;
  color: rgba(246,249,255,.52) !important;
  font-size: .84rem !important;
  line-height: 1.35 !important;
}

/* Remove standalone mail pill if old CSS leaves it around */
.sx-contact-system-v158 .sx-contact-direct-info-v155 {
  display: none !important;
}

@media (max-width: 860px) {
  /* hero: closer to offers page, not massive landing title */
  .sx-contact-system-v158 .sx-contact-section-v140 h1,
  .sx-contact-system-v158 .sx-contact-hero-v135 h1,
  .sx-contact-system-v158 h1 {
    font-size: clamp(3rem, 12.8vw, 4.15rem) !important;
    line-height: .92 !important;
    letter-spacing: -.078em !important;
    max-width: 92vw !important;
  }

  .sx-contact-system-v158 .sx-contact-title-line-v156 {
    margin: .9rem auto 1rem !important;
    width: min(220px, 42vw) !important;
  }

  .sx-contact-system-v158 .sx-contact-section-v140 > p,
  .sx-contact-system-v158 .sx-contact-hero-v135 > p,
  .sx-contact-system-v158 h1 + .sx-contact-title-line-v156 + p,
  .sx-contact-system-v158 h1 + p {
    max-width: 86vw !important;
    font-size: clamp(1rem, 3.9vw, 1.13rem) !important;
    line-height: 1.34 !important;
    color: rgba(246,249,255,.66) !important;
  }

  /* mobile contact must be full-width comfortable cards, not 3 compressed columns */
  body.sx-mobile-contact-fix-v153.sx-contact-system-v158 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v152.sx-contact-system-v158 .sx-contact-options-v140,
  body.sx-contact-system-v158 .sx-contact-options-v140 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
    width: 100% !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.sx-contact-system-v158 .sx-contact-system-panel-v158 {
    width: calc(100% - 1.5rem) !important;
    margin-top: 1.55rem !important;
    padding: .9rem !important;
    border-radius: 28px !important;
  }

  body.sx-contact-system-v158 .sx-contact-system-head-v158 {
    margin-bottom: .85rem !important;
    text-align: left !important;
  }

  body.sx-contact-system-v158 .sx-contact-system-head-v158 h2 {
    font-size: clamp(1.35rem, 6vw, 1.85rem) !important;
  }

  body.sx-contact-system-v158 .sx-contact-system-head-v158 p {
    font-size: .88rem !important;
    line-height: 1.38 !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: .78rem !important;
    row-gap: .3rem !important;
    min-height: auto !important;
    padding: .92rem !important;
    border-radius: 22px !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 > span {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    border: 1px solid rgba(138,239,255,.17) !important;
    background: rgba(138,239,255,.055) !important;
    color: var(--accent) !important;
    font-size: .68rem !important;
    letter-spacing: .04em !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    font-size: 1.08rem !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    font-size: .82rem !important;
    line-height: 1.28 !important;
    color: rgba(246,249,255,.62) !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 .sx-contact-mail-inline-v158 {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin: .08rem 0 0 !important;
    font-size: .72rem !important;
    color: rgba(246,249,255,.48) !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    grid-column: 3 !important;
    grid-row: 1 / span 3 !important;
    align-self: center !important;
    margin: 0 !important;
    padding: .58rem .82rem !important;
    min-width: max-content !important;
    max-width: 136px !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    text-align: center !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 390px) {
  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    grid-column: 2 !important;
    grid-row: 3 !important;
    justify-self: start !important;
    margin-top: .25rem !important;
  }

  body.sx-contact-system-v158 .sx-contact-options-v140 .sx-offer-family-card-v140 .sx-contact-mail-inline-v158 {
    grid-row: 4 !important;
  }
}


/* V159 — contact page: one intro, calmer system, full-width mobile cards */
.sx-contact-simplified-v159 {
  --sx-contact-panel-v159:
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.014));
  --sx-contact-card-v159:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.016));
}

/* Make Contact use the same quiet density as Accueil / Offres */
.sx-contact-simplified-v159 .sx-contact-section-v140,
.sx-contact-simplified-v159 .sx-contact-hero-v135 {
  background:
    radial-gradient(circle at 50% 0%, rgba(138,239,255,.045), transparent 30rem),
    transparent !important;
}

/* Hero remains the only intro */
.sx-contact-simplified-v159 .sx-contact-section-v140 h1,
.sx-contact-simplified-v159 .sx-contact-hero-v135 h1,
.sx-contact-simplified-v159 h1 {
  max-width: 880px !important;
}

.sx-contact-simplified-v159 .sx-contact-title-line-v156 {
  opacity: .72 !important;
}

/* The panel is now only a content frame, not a second hero */
.sx-contact-simplified-v159 .sx-contact-system-panel-v158,
.sx-contact-simplified-v159 .sx-contact-system-panel-v159 {
  width: min(1080px, calc(100% - 2rem)) !important;
  margin: clamp(1.35rem, 3vw, 2.2rem) auto 0 !important;
  padding: clamp(.9rem, 2.1vw, 1.25rem) !important;
  border-radius: clamp(24px, 3vw, 32px) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.035), transparent 34%),
    var(--sx-contact-panel-v159) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.sx-contact-simplified-v159 .sx-contact-system-head-v158 {
  display: none !important;
}

/* Desktop can stay compact in 3 columns; mobile becomes full-width rows */
.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 {
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.035), transparent 38%),
    var(--sx-contact-card-v159) !important;
  border-color: rgba(255,255,255,.080) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.032) !important;
}

.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140:hover {
  border-color: rgba(138,239,255,.18) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.052), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.018)) !important;
}

.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 span {
  color: var(--accent) !important;
}

.sx-contact-simplified-v159 .sx-contact-mail-inline-v158 {
  color: rgba(246,249,255,.48) !important;
  font-size: .82rem !important;
  line-height: 1.34 !important;
  margin: .05rem 0 .35rem !important;
}

/* Remove any floating mail patch */
.sx-contact-simplified-v159 .sx-contact-direct-info-v155 {
  display: none !important;
}

@media (max-width: 860px) {
  .sx-contact-simplified-v159 .sx-contact-section-v140 h1,
  .sx-contact-simplified-v159 .sx-contact-hero-v135 h1,
  .sx-contact-simplified-v159 h1 {
    font-size: clamp(3rem, 12.4vw, 4.05rem) !important;
    line-height: .92 !important;
    letter-spacing: -.078em !important;
    max-width: 91vw !important;
  }

  .sx-contact-simplified-v159 .sx-contact-section-v140 > p,
  .sx-contact-simplified-v159 .sx-contact-hero-v135 > p,
  .sx-contact-simplified-v159 h1 + .sx-contact-title-line-v156 + p,
  .sx-contact-simplified-v159 h1 + p {
    max-width: 84vw !important;
    font-size: clamp(1rem, 3.85vw, 1.12rem) !important;
    line-height: 1.34 !important;
    color: rgba(246,249,255,.64) !important;
  }

  .sx-contact-simplified-v159 .sx-contact-system-panel-v158,
  .sx-contact-simplified-v159 .sx-contact-system-panel-v159 {
    width: calc(100% - 1.35rem) !important;
    margin-top: 1.35rem !important;
    padding: .82rem !important;
    border-radius: 26px !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(138,239,255,.030), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)) !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v153.sx-contact-simplified-v159 .sx-contact-options-v140,
  body.sx-mobile-contact-fix-v152.sx-contact-simplified-v159 .sx-contact-options-v140 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .72rem !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    width: 100% !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  /* Natural mobile rows: CTA below text, not squeezed on the right */
  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: .85rem !important;
    row-gap: .32rem !important;
    min-height: auto !important;
    padding: .95rem !important;
    border-radius: 22px !important;
    background:
      radial-gradient(circle at 14% 0%, rgba(138,239,255,.030), transparent 38%),
      linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)) !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 > span {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    border: 1px solid rgba(138,239,255,.14) !important;
    background: rgba(138,239,255,.045) !important;
    font-size: .68rem !important;
    line-height: 1 !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    font-size: 1.16rem !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    grid-column: 2 !important;
    grid-row: auto !important;
    margin: 0 !important;
    font-size: .86rem !important;
    line-height: 1.3 !important;
    color: rgba(246,249,255,.60) !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 .sx-contact-mail-inline-v158 {
    grid-column: 2 !important;
    margin: .05rem 0 0 !important;
    font-size: .74rem !important;
    color: rgba(246,249,255,.46) !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: .35rem !important;
    padding: .58rem .9rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: .78rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    text-align: center !important;
    border-radius: 999px !important;
  }
}

/* Keep it calm on smaller phones too */
@media (max-width: 390px) {
  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 h3 {
    font-size: 1.08rem !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 p {
    font-size: .82rem !important;
  }

  body.sx-contact-simplified-v159 .sx-contact-options-v140 .sx-offer-family-card-v140 strong {
    font-size: .74rem !important;
  }
}


/* V160 — contact page only: calmer, compact, premium mobile layout */
body.sx-contact-v160 .sx-contact-heading-v140 h2 {
  max-width: 390px;
  margin-inline: auto;
}

body.sx-contact-v160 .sx-contact-system-panel-v158,
body.sx-contact-v160 .sx-contact-system-panel-v159,
body.sx-contact-v160 .contact-options-v160 {
  width: 100%;
  margin-top: 34px;
  padding: 16px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(9,12,18,.74), rgba(8,11,17,.62));
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

body.sx-contact-v160 .contact-options-list-v160 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 0;
  padding: 0;
}

body.sx-contact-v160 .contact-card-v160 {
  min-height: auto;
  padding: 20px;
  border-radius: 24px;
  display: grid !important;
  grid-template-columns: 1fr;
  align-items: start;
  justify-items: start;
  gap: 0;
  background: linear-gradient(180deg, rgba(12,16,24,.72), rgba(10,14,21,.60));
  border: 1px solid rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.028);
}

body.sx-contact-v160 .contact-card-v160 > span {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  margin: 0 0 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.09);
  color: var(--accent);
  font-size: .86rem;
  line-height: 1;
}

body.sx-contact-v160 .contact-card-v160 h3 {
  margin: 0;
  font-size: clamp(1.5rem, 3vw, 1.8rem);
  line-height: .98;
  letter-spacing: -.05em;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}

body.sx-contact-v160 .contact-card-v160 .contact-card-copy-v160,
body.sx-contact-v160 .contact-card-v160 p {
  margin: 12px 0 0;
  font-size: .98rem;
  line-height: 1.34;
  color: rgba(246,249,255,.62);
  max-width: 52ch;
}

body.sx-contact-v160 .contact-card-v160 strong {
  margin-top: 14px;
  align-self: start;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  padding: .72rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(138,239,255,.20);
  background: rgba(138,239,255,.05);
  color: var(--accent);
  font-size: .84rem;
  line-height: 1.05;
  box-shadow: none;
}

body.sx-contact-v160 .contact-card-v160:hover,
body.sx-contact-v160 .contact-card-v160.is-active {
  background: linear-gradient(180deg, rgba(13,17,24,.76), rgba(10,14,21,.62));
  border-color: rgba(255,255,255,.085);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

body.sx-contact-v160 .email-contact-block-v160 {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  text-align: center;
}

body.sx-contact-v160 .email-contact-label-v160 {
  color: rgba(246,249,255,.58);
  font-size: .92rem;
  margin-right: .35rem;
}

body.sx-contact-v160 .email-contact-link-v160 {
  color: rgba(246,249,255,.92);
  font-size: .98rem;
  font-weight: 600;
  text-decoration: none;
}

/* Tone down blue/cyan glow specifically on Contact */
body.sx-contact-v160 .sx-contact-section-v140,
body.sx-contact-v160 .sx-contact-wrap-v140,
body.sx-contact-v160 .sx-contact-system-panel-v158,
body.sx-contact-v160 .sx-contact-system-panel-v159,
body.sx-contact-v160 .contact-card-v160 {
  filter: none;
}

@media (max-width: 860px) {
  body.sx-contact-v160 .sx-contact-heading-v140 h2 {
    font-size: clamp(46px, 11.5vw, 56px) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.055em !important;
    max-width: 390px !important;
    margin-inline: auto !important;
  }

  body.sx-contact-v160 .sx-contact-heading-v140 .sublead {
    max-width: 28rem;
    margin-inline: auto;
  }

  body.sx-contact-v160 .sx-contact-system-panel-v158,
  body.sx-contact-v160 .sx-contact-system-panel-v159,
  body.sx-contact-v160 .contact-options-v160 {
    margin-top: 34px !important;
    padding: 16px !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(9,12,18,.74), rgba(8,11,17,.62)) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
  }

  body.sx-contact-v160 .contact-card-v160 {
    min-height: auto !important;
    padding: 20px !important;
    border-radius: 24px !important;
  }

  body.sx-contact-v160 .contact-card-v160 h3 {
    font-size: 1.42rem !important;
  }

  body.sx-contact-v160 .contact-card-v160 .contact-card-copy-v160,
  body.sx-contact-v160 .contact-card-v160 p {
    font-size: .95rem !important;
  }

  body.sx-contact-v160 .contact-card-v160 strong {
    margin-top: 12px !important;
  }
}

@media (max-width: 420px) {
  body.sx-contact-v160 .contact-card-v160 h3 {
    font-size: 1.34rem !important;
  }

  body.sx-contact-v160 .contact-card-v160 .contact-card-copy-v160,
  body.sx-contact-v160 .contact-card-v160 p {
    font-size: .92rem !important;
  }

  body.sx-contact-v160 .email-contact-link-v160 {
    display: inline-block;
    margin-top: .15rem;
  }
}


/* V161 — safe scroll foundation for hub/shop/library */
html,
body,
#root {
  min-height: 100%;
  overflow-x: hidden;
}

body {
  overflow-y: auto;
}

.shop-page,
.library-page,
.sx-prep-page-v161 {
  min-height: 100svh;
  height: auto;
  overflow: visible;
  padding-bottom: max(72px, env(safe-area-inset-bottom));
}

/* V161 — Hub principal: same structure, softer typography/color only */
body.sx-hub-refine-v161 .hub-card-title,
body.sx-hub-refine-v161 .hub-card h2,
body.sx-hub-refine-v161 .hub-choice-title,
body.sx-hub-refine-v161 .portal-card-title,
body.sx-hub-refine-v161 [data-hub-card-title] {
  font-size: clamp(2.15rem, 5.1vw, 3.25rem) !important;
  line-height: .86 !important;
  letter-spacing: -.075em !important;
  font-weight: 860 !important;
  color: rgba(248,250,255,.91) !important;
  text-shadow: none !important;
}

body.sx-hub-refine-v161 .hub-card,
body.sx-hub-refine-v161 .hub-choice-card,
body.sx-hub-refine-v161 .portal-card {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.045), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.016)) !important;
  border-color: rgba(255,255,255,.080) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

body.sx-hub-refine-v161 .hub-card.is-featured,
body.sx-hub-refine-v161 .hub-choice-card.is-featured,
body.sx-hub-refine-v161 .portal-card.is-featured,
body.sx-hub-refine-v161 [data-hub-card="studio"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.070), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.020)) !important;
  border-color: rgba(138,239,255,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body.sx-hub-refine-v161 .hub-card-status,
body.sx-hub-refine-v161 .hub-status,
body.sx-hub-refine-v161 .portal-card-kicker,
body.sx-hub-refine-v161 .hub-tagline,
body.sx-hub-refine-v161 .digital-system,
body.sx-hub-refine-v161 [data-hub-status] {
  color: rgba(138,239,255,.76) !important;
  text-shadow: none !important;
}

body.sx-hub-refine-v161 .hub-card a,
body.sx-hub-refine-v161 .hub-card button,
body.sx-hub-refine-v161 .hub-choice-card a,
body.sx-hub-refine-v161 .portal-card a {
  border-color: rgba(138,239,255,.18) !important;
  background: rgba(138,239,255,.040) !important;
  box-shadow: none !important;
}

/* V161 — Shop / Library premium coming soon pages */
.sx-prep-page-v161 {
  color: #f7f9ff;
  background:
    radial-gradient(circle at 50% 0%, rgba(138,239,255,.055), transparent 30rem),
    radial-gradient(circle at 10% 20%, rgba(138,239,255,.035), transparent 22rem),
    #050812;
}

.sx-prep-header-v161 {
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  z-index: 9000;
  width: min(1120px, calc(100% - 28px));
  min-height: 62px;
  margin: 12px auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(6,10,18,.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.sx-prep-logo-v161 {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  text-decoration: none;
}

.sx-prep-logo-v161 img {
  width: 34px;
  height: 34px;
  display: block;
}

.sx-prep-nav-v161 {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

.sx-prep-back-v161 {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  color: rgba(246,249,255,.82);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 850;
}

.sx-prep-header-v161 .language-menu {
  position: relative;
  z-index: 9990;
}

.sx-prep-main-v161 {
  width: min(1060px, calc(100% - 28px));
  margin: 0 auto;
  padding: clamp(54px, 8vw, 92px) 0 0;
}

.sx-prep-hero-v161 {
  min-height: auto;
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 0;
}

.sx-prep-hero-v161 .eyebrow {
  margin: 0 0 .9rem;
  color: rgba(138,239,255,.76);
  letter-spacing: .22em;
  font-weight: 900;
  font-size: .76rem;
  text-transform: uppercase;
}

.sx-prep-hero-v161 h1 {
  margin: 0;
  max-width: 760px;
  color: rgba(248,250,255,.94);
  font-size: clamp(3rem, 7vw, 5.6rem);
  line-height: .90;
  letter-spacing: -.085em;
}

.sx-prep-hero-v161 h1 span {
  color: rgba(248,250,255,.52);
}

.sx-prep-line-v161 {
  width: min(220px, 44vw);
  height: 1px;
  margin: 1.2rem auto 1.15rem;
  background: linear-gradient(90deg, transparent, rgba(246,249,255,.45), transparent);
}

.sx-prep-lead-v161 {
  max-width: 640px;
  margin: 0 auto;
  color: rgba(246,249,255,.66);
  font-size: clamp(1.05rem, 2vw, 1.22rem);
  line-height: 1.42;
}

.prep-grid,
.sx-prep-grid-v161 {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(32px, 5vw, 48px);
}

.prep-card,
.sx-prep-card-v161 {
  min-height: auto;
  padding: 20px;
  border-radius: 24px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.075);
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.035), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.015));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.sx-prep-card-v161 span {
  display: inline-block;
  margin: 0 0 .75rem;
  color: rgba(138,239,255,.76);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .10em;
}

.sx-prep-card-v161 h2 {
  margin: 0;
  color: rgba(248,250,255,.94);
  font-size: clamp(1.28rem, 2.2vw, 1.75rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.sx-prep-card-v161 p {
  margin: .65rem 0 0;
  color: rgba(246,249,255,.62);
  font-size: .94rem;
  line-height: 1.36;
}

.sx-prep-footer-v161 {
  width: min(1060px, calc(100% - 28px));
  margin: clamp(38px, 6vw, 64px) auto 0;
  padding: 0 0 max(36px, env(safe-area-inset-bottom));
  text-align: center;
  color: rgba(246,249,255,.42);
  font-size: .86rem;
}

@media (max-width: 860px) {
  .sx-prep-page-v161 {
    min-height: 100svh;
    height: auto;
    overflow: visible;
    padding-bottom: max(72px, env(safe-area-inset-bottom));
  }

  .sx-prep-header-v161 {
    width: calc(100% - 24px);
    min-height: 58px;
    margin-top: 10px;
    padding: .5rem .56rem;
  }

  .sx-prep-logo-v161 {
    width: 42px;
    height: 42px;
  }

  .sx-prep-logo-v161 img {
    width: 32px;
    height: 32px;
  }

  .sx-prep-back-v161 {
    min-height: 36px;
    padding: 0 .9rem;
    font-size: .78rem;
  }

  .sx-prep-main-v161 {
    width: min(100% - 28px, 720px);
    padding-top: clamp(44px, 9vw, 68px);
  }

  .sx-prep-hero-v161 h1 {
    font-size: clamp(3.25rem, 13vw, 4.9rem);
    max-width: 92vw;
  }

  .sx-prep-lead-v161 {
    max-width: 90vw;
    font-size: 1rem;
    line-height: 1.38;
  }

  .prep-grid,
  .sx-prep-grid-v161 {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 34px;
  }

  .prep-card,
  .sx-prep-card-v161 {
    min-height: auto;
    padding: 20px;
    border-radius: 24px;
  }

  .sx-prep-card-v161 h2 {
    font-size: 1.42rem;
  }

  .sx-prep-card-v161 p {
    font-size: .92rem;
  }
}


/* V164 — clean rebased real fix */

/* Contact: remove previous visual corruption and keep only the requested hierarchy */
body.sx-contact-clean-v164 .sx-contact-heading-v140 .eyebrow {
  letter-spacing: .2em !important;
  color: rgba(138,239,255,.74) !important;
}

body.sx-contact-clean-v164 .sx-contact-heading-v140 h2,
body.sx-contact-clean-v164 .sx-contact-heading-v140 h1 {
  font-size: clamp(46px, 11.5vw, 56px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  max-width: 390px !important;
  margin-inline: auto !important;
  color: rgba(248,250,255,.94) !important;
}

body.sx-contact-clean-v164 .sx-contact-heading-v140 .sublead {
  max-width: 670px !important;
  margin-inline: auto !important;
  color: rgba(246,249,255,.66) !important;
}

body.sx-contact-clean-v164 .contact-options-v164 {
  display: grid !important;
  gap: 12px !important;
  margin-top: 34px !important;
  padding: 16px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(9,12,18,.72), rgba(8,11,17,.58)) !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body.sx-contact-clean-v164 .contact-card-v164 {
  appearance: none !important;
  width: 100% !important;
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: start !important;
  text-align: left !important;
  padding: 18px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: linear-gradient(180deg, rgba(12,16,24,.70), rgba(10,14,21,.58)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  color: inherit !important;
}

body.sx-contact-clean-v164 .contact-card-v164:hover,
body.sx-contact-clean-v164 .contact-card-v164:focus-visible {
  border-color: rgba(138,239,255,.15) !important;
  background: linear-gradient(180deg, rgba(14,18,25,.74), rgba(10,14,21,.60)) !important;
}

body.sx-contact-clean-v164 .contact-card-badge-v164 {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 0 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  color: rgba(138,239,255,.78) !important;
  font-size: .8rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

body.sx-contact-clean-v164 .contact-card-v164 h3 {
  margin: 0 !important;
  color: rgba(248,250,255,.94) !important;
  font-size: clamp(1.28rem, 5vw, 1.48rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.sx-contact-clean-v164 .contact-card-v164 p {
  margin: 9px 0 0 !important;
  color: rgba(246,249,255,.60) !important;
  font-size: .9rem !important;
  line-height: 1.28 !important;
  max-width: 58ch !important;
}

body.sx-contact-clean-v164 .contact-card-v164 strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 12px !important;
  padding: .62rem .9rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(138,239,255,.18) !important;
  background: rgba(138,239,255,.045) !important;
  color: rgba(138,239,255,.88) !important;
  font-size: .77rem !important;
  line-height: 1.05 !important;
  box-shadow: none !important;
}

body.sx-contact-clean-v164 .contact-mail-v164 {
  margin-top: 18px !important;
  padding: 14px 16px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.030) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  text-align: center !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}

body.sx-contact-clean-v164 .contact-mail-v164 span {
  color: rgba(246,249,255,.48) !important;
  font-size: .86rem !important;
  margin-right: .35rem !important;
}

body.sx-contact-clean-v164 .contact-mail-v164 a {
  color: rgba(246,249,255,.88) !important;
  text-decoration: none !important;
  font-weight: 760 !important;
  font-size: .92rem !important;
}

body.sx-contact-clean-v164 .message-modal-v164 .booking-dialog-v113,
body.sx-contact-clean-v164 .message-modal-v164 .sx-unified-dialog-v141,
body.sx-contact-clean-v164 .message-modal-v164 .sx-modal-dialog-final-v144 {
  background:
    radial-gradient(circle at 12% 0%, rgba(138,239,255,.045), transparent 26rem),
    linear-gradient(180deg, #080d18, #050812 64%, #03060d) !important;
  border-color: rgba(255,255,255,.09) !important;
  box-shadow: 0 40px 140px rgba(0,0,0,.66), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body.sx-contact-clean-v164 .message-modal-v164 .booking-field-v113 {
  background: rgba(255,255,255,.025) !important;
  border-color: rgba(255,255,255,.075) !important;
}

body.sx-contact-clean-v164 .message-modal-v164 input,
body.sx-contact-clean-v164 .message-modal-v164 textarea {
  background: rgba(2,5,12,.80) !important;
  border-color: rgba(255,255,255,.10) !important;
}

/* Hub: actual cards alignment, no structural change */
body.sx-hub-align-v164 .sx-choice-modal {
  display: grid !important;
  grid-template-rows: 1fr auto !important;
}

body.sx-hub-align-v164 .hub-card-align-v164 {
  display: grid !important;
  grid-template-rows: 20px 64px minmax(88px, auto) !important;
  align-items: start !important;
  justify-items: center !important;
  row-gap: .42rem !important;
}

body.sx-hub-align-v164 .hub-kicker-v164 {
  height: 20px !important;
  line-height: 20px !important;
  margin: 0 !important;
  color: rgba(138,239,255,.72) !important;
}

body.sx-hub-align-v164 .hub-title-v164 {
  height: 64px !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  font-size: clamp(2rem, 8vw, 2.55rem) !important;
  line-height: .88 !important;
  letter-spacing: -.065em !important;
  font-weight: 820 !important;
  color: rgba(248,250,255,.90) !important;
  text-shadow: none !important;
}

body.sx-hub-align-v164 .hub-card-align-v164 > p:not(.sx-choice-kicker) {
  margin: 0 !important;
  align-self: start !important;
}

body.sx-hub-align-v164 .sx-choice-modal strong {
  margin-top: .95rem !important;
}

body.sx-hub-align-v164 .hub-card-align-v164 {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.035), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.014)) !important;
  border-color: rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.030) !important;
}

body.sx-hub-align-v164 .hub-studio-v164 {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.052), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
  border-color: rgba(138,239,255,.15) !important;
}

/* Shop / Library: clearer, smaller, with real spacing and working scroll */
html, body, #root {
  min-height: 100%;
  overflow-x: hidden;
}

body {
  overflow-y: auto;
}

body.prep-page-v164 {
  min-height: 100svh !important;
  height: auto !important;
  overflow: visible !important;
  padding-bottom: max(72px, env(safe-area-inset-bottom)) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(138,239,255,.032), transparent 26rem),
    #050812 !important;
  color: #f7f9ff !important;
}

.prep-header-v164 {
  position: sticky !important;
  top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
  z-index: 9000 !important;
  width: min(1120px, calc(100% - 28px)) !important;
  min-height: 62px !important;
  margin: 12px auto 0 !important;
  padding: .55rem .65rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(6,10,18,.84) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.prep-logo-v164 {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
}

.prep-logo-v164 img {
  width: 34px !important;
  height: 34px !important;
}

.prep-nav-v164 {
  display: inline-flex !important;
  align-items: center !important;
  gap: .55rem !important;
}

.prep-home-v164 {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 1rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(246,249,255,.82) !important;
  text-decoration: none !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
}

.prep-main-v164 {
  width: min(1040px, calc(100% - 28px)) !important;
  margin: 0 auto !important;
  padding-top: clamp(112px, 15vw, 150px) !important;
}

.prep-hero-v164 {
  display: grid !important;
  justify-items: center !important;
  text-align: center !important;
}

.prep-hero-v164 .eyebrow {
  margin: 0 0 .75rem !important;
  color: rgba(138,239,255,.72) !important;
  letter-spacing: .22em !important;
  font-weight: 900 !important;
  font-size: .76rem !important;
}

.prep-hero-v164 h1 {
  margin: 0 !important;
  color: rgba(248,250,255,.94) !important;
  font-size: clamp(2.75rem, 6.5vw, 4.7rem) !important;
  line-height: .94 !important;
  letter-spacing: -.07em !important;
}

.prep-status-v164 {
  margin: .6rem 0 0 !important;
  color: rgba(248,250,255,.54) !important;
  font-size: clamp(1rem, 2vw, 1.25rem) !important;
  font-weight: 740 !important;
}

.prep-line-v164 {
  width: min(210px, 42vw) !important;
  height: 1px !important;
  margin: 1rem auto !important;
  background: linear-gradient(90deg, transparent, rgba(246,249,255,.38), transparent) !important;
}

.prep-lead-v164 {
  max-width: 620px !important;
  margin: 0 auto !important;
  color: rgba(246,249,255,.64) !important;
  font-size: clamp(1rem, 2vw, 1.12rem) !important;
  line-height: 1.42 !important;
}

.prep-panel-v164 {
  width: min(940px, 100%) !important;
  margin: clamp(30px, 5vw, 42px) auto 0 !important;
  padding: clamp(16px, 3vw, 22px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)) !important;
}

.prep-panel-head-v164 {
  text-align: left !important;
  display: grid !important;
  gap: .45rem !important;
  margin-bottom: 16px !important;
}

.prep-panel-head-v164 h2 {
  margin: 0 !important;
  color: rgba(248,250,255,.92) !important;
  font-size: clamp(1.35rem, 3vw, 1.9rem) !important;
  line-height: 1 !important;
  letter-spacing: -.052em !important;
}

.prep-panel-head-v164 p {
  margin: 0 !important;
  max-width: 680px !important;
  color: rgba(246,249,255,.56) !important;
  font-size: .92rem !important;
  line-height: 1.36 !important;
}

.prep-grid-v164 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.prep-card-v164 {
  min-height: auto !important;
  padding: 18px !important;
  border-radius: 22px !important;
  text-align: left !important;
  border: 1px solid rgba(255,255,255,.068) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.022), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)) !important;
}

.prep-card-v164 span {
  color: rgba(138,239,255,.70) !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
}

.prep-card-v164 h3 {
  margin: .65rem 0 0 !important;
  color: rgba(248,250,255,.90) !important;
  font-size: clamp(1.18rem, 2.2vw, 1.45rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.042em !important;
}

.prep-card-v164 p {
  margin: .6rem 0 0 !important;
  color: rgba(246,249,255,.58) !important;
  font-size: .88rem !important;
  line-height: 1.34 !important;
}

.prep-footer-v164 {
  width: min(1040px, calc(100% - 28px)) !important;
  margin: 40px auto 0 !important;
  padding-bottom: max(36px, env(safe-area-inset-bottom)) !important;
  text-align: center !important;
  color: rgba(246,249,255,.42) !important;
}

@media (max-width: 860px) {
  .prep-main-v164 {
    padding-top: clamp(118px, 24vw, 158px) !important;
  }

  .prep-hero-v164 h1 {
    font-size: clamp(2.75rem, 10.6vw, 3.8rem) !important;
  }

  .prep-grid-v164 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .prep-card-v164 {
    min-height: auto !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }
}


/* V165 — targeted visual corrections */
:root { --accent: #8AEFFF; --sx-cyan: #8AEFFF; }

/* Shop / Library: visible title is now Shop / Library + stronger spacing under the header */
body.prep-page-v165 .prep-main-v164,
body.prep-page-v165 .prep-main-v163,
body.prep-page-v165 .sx-prep-main-v162,
body.prep-page-v165 .sx-prep-main-v161 {
  padding-top: clamp(132px, 15vw, 168px) !important;
}
body.prep-page-v165 .prep-hero-v164 h1,
body.prep-page-v165 .prep-hero-v163 h1,
body.prep-page-v165 .sx-prep-hero-v162 h1,
body.prep-page-v165 .sx-prep-hero-v161 h1 {
  font-size: clamp(3.15rem, 6.6vw, 4.9rem) !important;
  letter-spacing: -.075em !important;
}
body.prep-page-v165 .eyebrow { color: rgba(138,239,255,.72) !important; }
body.prep-page-v165 .prep-header-v164,
body.prep-page-v165 .prep-header-v163,
body.prep-page-v165 .sx-prep-header-v162,
body.prep-page-v165 .sx-prep-header-v161 { margin-top: 14px !important; }

/* Contact desktop: starts higher and options can use the available width */
body.sx-contact-v165 .sx-contact-wrap-v140,
body.sx-contact-v165 .sx-contact-section-v140,
body.sx-contact-v165 main { padding-top: clamp(84px, 7vw, 118px) !important; }
body.sx-contact-v165 .sx-contact-heading-v140 .eyebrow { color: rgba(138,239,255,.72) !important; }
body.sx-contact-v165 .sx-contact-heading-v140 h2,
body.sx-contact-v165 .sx-contact-heading-v140 h1 {
  font-size: clamp(46px, 5.3vw, 72px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  max-width: 620px !important;
  margin-inline: auto !important;
}
body.sx-contact-v165 .sx-contact-heading-v140 .sublead { max-width: 690px !important; color: rgba(246,249,255,.66) !important; }
body.sx-contact-v165 .contact-options-v165 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 36px !important;
  padding: 16px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(9,12,18,.70), rgba(8,11,17,.56)) !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
body.sx-contact-v165 .contact-card-v165 {
  width: 100% !important;
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: start !important;
  align-items: start !important;
  text-align: left !important;
  padding: 18px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: linear-gradient(180deg, rgba(12,16,24,.68), rgba(10,14,21,.56)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  color: inherit !important;
}
body.sx-contact-v165 .contact-card-v165:hover { border-color: rgba(138,239,255,.15) !important; }
body.sx-contact-v165 .contact-card-badge-v165 {
  width: 38px !important; height: 38px !important; display: grid !important; place-items: center !important;
  margin: 0 0 12px !important; border-radius: 13px !important;
  background: rgba(255,255,255,.022) !important; border: 1px solid rgba(255,255,255,.085) !important;
  color: rgba(138,239,255,.78) !important; font-size: .78rem !important; font-weight: 900 !important; line-height: 1 !important;
}
body.sx-contact-v165 .contact-card-v165 h3 {
  margin: 0 !important; color: rgba(248,250,255,.94) !important;
  font-size: clamp(1.16rem, 2.1vw, 1.48rem) !important; line-height: 1.02 !important; letter-spacing: -.045em !important;
  word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important;
}
body.sx-contact-v165 .contact-card-v165 p { margin: 9px 0 0 !important; color: rgba(246,249,255,.60) !important; font-size: .86rem !important; line-height: 1.28 !important; }
body.sx-contact-v165 .contact-card-v165 strong {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  margin-top: 12px !important; padding: .58rem .82rem !important; border-radius: 999px !important;
  border: 1px solid rgba(138,239,255,.18) !important; background: rgba(138,239,255,.045) !important;
  color: rgba(138,239,255,.88) !important; font-size: .72rem !important; line-height: 1.05 !important; box-shadow: none !important;
}
body.sx-contact-v165 .contact-mail-v165 {
  width: fit-content !important; max-width: calc(100% - 32px) !important; margin: 18px auto 0 !important; padding: 12px 16px !important;
  border-radius: 999px !important; background: rgba(255,255,255,.028) !important; border: 1px solid rgba(255,255,255,.075) !important;
  text-align: center !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.018) !important;
}
body.sx-contact-v165 .contact-mail-v165 span { color: rgba(246,249,255,.46) !important; margin-right: .35rem !important; font-size: .82rem !important; }
body.sx-contact-v165 .contact-mail-v165 a { color: rgba(246,249,255,.88) !important; text-decoration: none !important; font-weight: 760 !important; font-size: .88rem !important; }

/* Contact mobile: test all 3 cards visible side-by-side, no horizontal scroll */
@media (max-width: 860px) {
  body.sx-contact-v165 .sx-contact-wrap-v140,
  body.sx-contact-v165 .sx-contact-section-v140,
  body.sx-contact-v165 main { padding-top: calc(env(safe-area-inset-top, 0px) + 116px) !important; }
  body.sx-contact-v165 .sx-contact-heading-v140 h2,
  body.sx-contact-v165 .sx-contact-heading-v140 h1 { font-size: clamp(46px, 11.5vw, 56px) !important; max-width: 390px !important; }
  body.sx-contact-v165 .contact-options-v165 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; padding: 12px !important; margin-top: 30px !important; overflow: visible !important; }
  body.sx-contact-v165 .contact-card-v165 { padding: 12px 9px !important; border-radius: 20px !important; min-height: 190px !important; }
  body.sx-contact-v165 .contact-card-badge-v165 { width: 30px !important; height: 30px !important; margin-bottom: 9px !important; border-radius: 10px !important; font-size: .62rem !important; }
  body.sx-contact-v165 .contact-card-v165 h3 { font-size: clamp(.72rem, 3.25vw, .95rem) !important; line-height: 1.03 !important; letter-spacing: -.045em !important; }
  body.sx-contact-v165 .contact-card-v165 p { margin-top: 7px !important; font-size: clamp(.58rem, 2.6vw, .70rem) !important; line-height: 1.18 !important; }
  body.sx-contact-v165 .contact-card-v165 strong { margin-top: 9px !important; padding: .44rem .34rem !important; width: 100% !important; font-size: clamp(.50rem, 2.25vw, .60rem) !important; white-space: normal !important; text-align: center !important; }
  body.sx-contact-v165 .contact-mail-v165 { margin-top: 14px !important; padding: 10px 14px !important; }
}
@media (max-width: 380px) {
  body.sx-contact-v165 .contact-card-v165 { padding: 11px 7px !important; }
  body.sx-contact-v165 .contact-card-v165 h3 { font-size: .70rem !important; }
  body.sx-contact-v165 .contact-card-v165 p { font-size: .56rem !important; }
  body.sx-contact-v165 .contact-card-v165 strong { font-size: .48rem !important; }
}

/* Hub: remove the visible inner rectangles and button overlap */
body.sx-hub-v165 .sx-choice-content::before,
body.sx-hub-v165 .sx-choice-content::after,
body.sx-hub-v165 .sx-choice-modal::before,
body.sx-hub-v165 .sx-choice-modal::after,
body.sx-hub-v165 .hub-card-align-v164::before,
body.sx-hub-v165 .hub-card-align-v164::after { display: none !important; opacity: 0 !important; content: none !important; }
body.sx-hub-v165 .sx-choice-content,
body.sx-hub-v165 .hub-card-align-v164 {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.032), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.026) !important;
  min-height: 100% !important;
  display: grid !important;
  grid-template-rows: 20px 64px minmax(100px, auto) auto !important;
  align-items: start !important;
  justify-items: center !important;
}
body.sx-hub-v165 .sx-choice-list { background: transparent !important; box-shadow: none !important; border: 0 !important; display: none !important; }
body.sx-hub-v165 .sx-choice-content h2,
body.sx-hub-v165 .hub-title-v164 { height: 64px !important; min-height: 64px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; }
body.sx-hub-v165 .sx-choice-content strong { align-self: end !important; margin-top: 16px !important; position: relative !important; z-index: 2 !important; }
@media (max-width: 860px) {
  body.sx-hub-v165 .sx-choice-content,
  body.sx-hub-v165 .hub-card-align-v164 { grid-template-rows: 18px 54px minmax(150px, auto) auto !important; padding-bottom: 18px !important; }
  body.sx-hub-v165 .sx-choice-content h2,
  body.sx-hub-v165 .hub-title-v164 { height: 54px !important; min-height: 54px !important; }
}

/* Shop / Library mobile header spacing */
@media (max-width: 860px) {
  body.prep-page-v165 .prep-main-v164,
  body.prep-page-v165 .prep-main-v163,
  body.prep-page-v165 .sx-prep-main-v162,
  body.prep-page-v165 .sx-prep-main-v161 { padding-top: calc(env(safe-area-inset-top, 0px) + 138px) !important; }
}


/* V166 — targeted fixes after visual review */

/* Unified SX27 accent */
:root {
  --accent: #8AEFFF;
  --sx-cyan: #8AEFFF;
}

/* HUB: do not remove content; remove only the semi-opaque inner rectangles inside the 3 cards */
body.sx-hub-v166 .sx-choice-content,
body.sx-hub-v166 .hub-card-align-v164,
body.sx-hub-v166 .hub-card-align-v165 {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-hub-v166 .sx-choice-content::before,
body.sx-hub-v166 .sx-choice-content::after,
body.sx-hub-v166 .hub-card-align-v164::before,
body.sx-hub-v166 .hub-card-align-v164::after,
body.sx-hub-v166 .hub-card-align-v165::before,
body.sx-hub-v166 .hub-card-align-v165::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

body.sx-hub-v166 .sx-choice-content h2,
body.sx-hub-v166 .sx-choice-content p,
body.sx-hub-v166 .sx-choice-content ul,
body.sx-hub-v166 .sx-choice-content li {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* keep the visible outer card and CTA */
body.sx-hub-v166 .sx-choice-modal {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.038), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.016)) !important;
  border-color: rgba(255,255,255,.08) !important;
}

body.sx-hub-v166 .sx-choice-studio {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.055), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.018)) !important;
  border-color: rgba(138,239,255,.16) !important;
}

body.sx-hub-v166 .sx-choice-content strong,
body.sx-hub-v166 .sx-choice-modal > strong {
  background: rgba(138,239,255,.04) !important;
  border-color: rgba(138,239,255,.18) !important;
}

/* CONTACT + OFFRES: remove the useless separator line below header */
body.sx-contact-v166::before,
body.sx-contact-v166::after,
body.sx-offers-v166::before,
body.sx-offers-v166::after,
body.sx-contact-v166 .studio-page-shell::before,
body.sx-contact-v166 .studio-page-shell::after,
body.sx-offers-v166 .studio-page-shell::before,
body.sx-offers-v166 .studio-page-shell::after,
body.sx-contact-v166 .sx-site-frame::before,
body.sx-contact-v166 .sx-site-frame::after,
body.sx-offers-v166 .sx-site-frame::before,
body.sx-offers-v166 .sx-site-frame::after,
body.sx-contact-v166 .studio-bg-line,
body.sx-offers-v166 .studio-bg-line {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  border: 0 !important;
}

/* CONTACT desktop: match Offres vertical rhythm more closely */
@media (min-width: 861px) {
  body.sx-contact-v166 .sx-contact-wrap-v140,
  body.sx-contact-v166 .sx-contact-section-v140,
  body.sx-contact-v166 main {
    padding-top: clamp(58px, 5vw, 82px) !important;
  }

  body.sx-contact-v166 .sx-contact-heading-v140,
  body.sx-contact-v166 .section-heading.center {
    margin-top: 0 !important;
  }

  body.sx-contact-v166 .contact-options-v166,
  body.sx-contact-v166 .contact-options-v165,
  body.sx-contact-v166 .contact-options-v164,
  body.sx-contact-v166 .contact-options-v163 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

/* CONTACT: 01/02/03 like Offres — plain cyan text, no box */
body.sx-contact-v166 .contact-index-offerlike-v166,
body.sx-contact-v166 .contact-card-badge-v165,
body.sx-contact-v166 .contact-card-badge-v164,
body.sx-contact-v166 .contact-card-badge-v163 {
  width: auto !important;
  height: auto !important;
  display: block !important;
  margin: 0 0 .72rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(138,239,255,.76) !important;
  font-size: .84rem !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  font-weight: 900 !important;
}

/* CONTACT: cards compact, CTA below content */
body.sx-contact-v166 .contact-card-v166,
body.sx-contact-v166 .contact-card-v165,
body.sx-contact-v166 .contact-card-v164,
body.sx-contact-v166 .contact-card-v163 {
  min-height: auto !important;
  padding: 18px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(12,16,24,.68), rgba(10,14,21,.56)) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body.sx-contact-v166 .contact-card-v166 h3,
body.sx-contact-v166 .contact-card-v165 h3,
body.sx-contact-v166 .contact-card-v164 h3,
body.sx-contact-v166 .contact-card-v163 h3 {
  color: rgba(248,250,255,.94) !important;
}

body.sx-contact-v166 .contact-card-v166 strong,
body.sx-contact-v166 .contact-card-v165 strong,
body.sx-contact-v166 .contact-card-v164 strong,
body.sx-contact-v166 .contact-card-v163 strong {
  margin-top: 12px !important;
}

/* CONTACT mail: same family as selection cards, separate but not foreign */
body.sx-contact-v166 .contact-mail-v166,
body.sx-contact-v166 .contact-mail-v165,
body.sx-contact-v166 .contact-mail-v164 {
  width: min(100%, 560px) !important;
  margin: 18px auto 0 !important;
  padding: 14px 18px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(138,239,255,.025), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.022) !important;
  text-align: center !important;
}

body.sx-contact-v166 .contact-mail-v166 span,
body.sx-contact-v166 .contact-mail-v165 span,
body.sx-contact-v166 .contact-mail-v164 span {
  color: rgba(138,239,255,.72) !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  margin-right: .55rem !important;
}

body.sx-contact-v166 .contact-mail-v166 a,
body.sx-contact-v166 .contact-mail-v165 a,
body.sx-contact-v166 .contact-mail-v164 a {
  color: rgba(246,249,255,.90) !important;
  text-decoration: none !important;
  font-size: .92rem !important;
  font-weight: 750 !important;
}

/* CONTACT mobile: test 3 cards side-by-side visible without horizontal scroll */
@media (max-width: 860px) {
  body.sx-contact-v166 .contact-options-v166,
  body.sx-contact-v166 .contact-options-v165,
  body.sx-contact-v166 .contact-options-v164,
  body.sx-contact-v166 .contact-options-v163 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding: 12px !important;
  }

  body.sx-contact-v166 .contact-card-v166,
  body.sx-contact-v166 .contact-card-v165,
  body.sx-contact-v166 .contact-card-v164,
  body.sx-contact-v166 .contact-card-v163 {
    padding: 12px 8px !important;
    border-radius: 20px !important;
    min-height: 178px !important;
  }

  body.sx-contact-v166 .contact-card-v166 h3,
  body.sx-contact-v166 .contact-card-v165 h3,
  body.sx-contact-v166 .contact-card-v164 h3,
  body.sx-contact-v166 .contact-card-v163 h3 {
    font-size: clamp(.72rem, 3.2vw, .94rem) !important;
    line-height: 1.03 !important;
  }

  body.sx-contact-v166 .contact-card-v166 p,
  body.sx-contact-v166 .contact-card-v165 p,
  body.sx-contact-v166 .contact-card-v164 p,
  body.sx-contact-v166 .contact-card-v163 p {
    font-size: clamp(.57rem, 2.55vw, .70rem) !important;
    line-height: 1.18 !important;
    margin-top: 7px !important;
  }

  body.sx-contact-v166 .contact-card-v166 strong,
  body.sx-contact-v166 .contact-card-v165 strong,
  body.sx-contact-v166 .contact-card-v164 strong,
  body.sx-contact-v166 .contact-card-v163 strong {
    width: 100% !important;
    padding: .44rem .3rem !important;
    margin-top: 9px !important;
    font-size: clamp(.48rem, 2.2vw, .60rem) !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.sx-contact-v166 .contact-index-offerlike-v166,
  body.sx-contact-v166 .contact-card-badge-v165,
  body.sx-contact-v166 .contact-card-badge-v164,
  body.sx-contact-v166 .contact-card-badge-v163 {
    font-size: .62rem !important;
    margin-bottom: .5rem !important;
  }
}

/* Shop/Library: title text starts lower under header on mobile */
@media (max-width: 860px) {
  body.prep-v166 .prep-main-v164,
  body.prep-v166 .prep-main-v163,
  body.prep-v166 .sx-prep-main-v162,
  body.prep-v166 .sx-prep-main-v161 {
    padding-top: calc(env(safe-area-inset-top, 0px) + 142px) !important;
  }
}


/* V167 — rebuild Contact/Shop/Library from Offres visual base + restore hub bullets/buttons */

/* Hub: keep bullets and CTA visible, remove only the inner translucent content rectangles */
body.sx-hub-v167 .sx-choice-content,
body.sx-hub-v167 .hub-card-align-v164 {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-hub-v167 .sx-choice-content::before,
body.sx-hub-v167 .sx-choice-content::after,
body.sx-hub-v167 .hub-card-align-v164::before,
body.sx-hub-v167 .hub-card-align-v164::after {
  content: none !important;
  display: none !important;
}

body.sx-hub-v167 .sx-choice-list {
  display: grid !important;
  gap: .42rem !important;
  margin: .95rem 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  color: rgba(246,249,255,.72) !important;
}

body.sx-hub-v167 .sx-choice-list li {
  display: list-item !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-hub-v167 .sx-choice-list li::marker {
  color: rgba(138,239,255,.76) !important;
}

body.sx-hub-v167 .sx-choice-modal > strong {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 1rem !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Contact: same base/rhythm as page Offres */
body.sx-contact-offerbase-v167 .contact-section-v167 {
  padding-top: clamp(64px, 5.8vw, 92px) !important;
}

body.sx-contact-offerbase-v167 .contact-heading-v167 {
  margin-top: 0 !important;
}

body.sx-contact-offerbase-v167 .contact-heading-v167 h2 {
  font-size: clamp(3.25rem, 5.6vw, 5.1rem) !important;
  line-height: .92 !important;
  letter-spacing: -.072em !important;
  max-width: 760px !important;
  margin-inline: auto !important;
}

body.sx-contact-offerbase-v167 .contact-simple-v167 {
  margin-top: clamp(1.6rem, 3vw, 2.2rem) !important;
}

body.sx-contact-offerbase-v167 .contact-choice-grid-v167 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
}

body.sx-contact-offerbase-v167 .contact-choice-grid-v167 button {
  text-align: left !important;
}

body.sx-contact-offerbase-v167 .contact-choice-grid-v167 button span {
  color: rgba(138,239,255,.76) !important;
}

body.sx-contact-offerbase-v167 .contact-choice-grid-v167 button small {
  min-height: 2.7em !important;
}

body.sx-contact-offerbase-v167 .contact-action-v167 {
  margin-top: 1rem !important;
  display: inline-flex !important;
}

body.sx-contact-offerbase-v167 .contact-mail-panel-v167 {
  margin-top: 14px !important;
  padding: clamp(1rem, 2vw, 1.25rem) !important;
}

body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 {
  font-size: clamp(1.65rem, 3vw, 2.35rem) !important;
  line-height: 1 !important;
}

body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 a {
  color: rgba(248,250,255,.94) !important;
  text-decoration: none !important;
}

/* remove background separator line below header on Contact/Offres */
body.sx-contact-offerbase-v167::before,
body.sx-contact-offerbase-v167::after,
body.sx-offers-v166::before,
body.sx-offers-v166::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Shop/Library: offer-page base */
body.prep-offerbase-v167 {
  min-height: 100svh !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: max(72px, env(safe-area-inset-bottom)) !important;
}

body.prep-offerbase-v167 .prep-offerbase-main-v167 {
  width: 100% !important;
}

body.prep-offerbase-v167 .prep-offerbase-section-v167 {
  padding-top: clamp(92px, 10vw, 132px) !important;
}

body.prep-offerbase-v167 .prep-offerbase-heading-v167 h2 {
  font-size: clamp(3.35rem, 6.2vw, 5.2rem) !important;
  line-height: .92 !important;
  letter-spacing: -.075em !important;
  max-width: 760px !important;
  margin-inline: auto !important;
}

body.prep-offerbase-v167 .prep-offerbase-simple-v167 {
  margin-top: clamp(1.8rem, 3.4vw, 2.6rem) !important;
}

body.prep-offerbase-v167 .prep-card-grid-v167 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 1rem !important;
}

body.prep-offerbase-v167 .prep-card-offer-v167 {
  min-height: auto !important;
  padding: 20px !important;
  border-radius: 24px !important;
  text-align: left !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.013)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body.prep-offerbase-v167 .prep-card-offer-v167 span {
  display: block !important;
  color: rgba(138,239,255,.76) !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  letter-spacing: .10em !important;
  margin-bottom: .85rem !important;
}

body.prep-offerbase-v167 .prep-card-offer-v167 strong {
  display: block !important;
  color: rgba(248,250,255,.94) !important;
  font-size: clamp(1.25rem, 2.1vw, 1.55rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
  margin: 0 !important;
}

body.prep-offerbase-v167 .prep-card-offer-v167 small {
  display: block !important;
  margin-top: .65rem !important;
  color: rgba(246,249,255,.60) !important;
  font-size: .92rem !important;
  line-height: 1.34 !important;
}

@media (max-width: 860px) {
  body.sx-contact-offerbase-v167 .contact-section-v167 {
    padding-top: calc(env(safe-area-inset-top, 0px) + 104px) !important;
  }

  body.sx-contact-offerbase-v167 .contact-heading-v167 h2 {
    font-size: clamp(46px, 11.5vw, 56px) !important;
    max-width: 390px !important;
  }

  body.sx-contact-offerbase-v167 .contact-choice-grid-v167 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.sx-contact-offerbase-v167 .contact-choice-grid-v167 button {
    padding: 12px 8px !important;
    border-radius: 20px !important;
    min-height: 180px !important;
  }

  body.sx-contact-offerbase-v167 .contact-choice-grid-v167 button span {
    font-size: .62rem !important;
  }

  body.sx-contact-offerbase-v167 .contact-choice-grid-v167 button strong {
    font-size: clamp(.72rem, 3.2vw, .94rem) !important;
    line-height: 1.03 !important;
  }

  body.sx-contact-offerbase-v167 .contact-choice-grid-v167 button small {
    font-size: clamp(.57rem, 2.55vw, .70rem) !important;
    line-height: 1.18 !important;
    min-height: 5.1em !important;
  }

  body.sx-contact-offerbase-v167 .contact-action-v167 {
    width: 100% !important;
    justify-content: center !important;
    padding: .44rem .32rem !important;
    font-size: clamp(.48rem, 2.2vw, .60rem) !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.prep-offerbase-v167 .prep-offerbase-section-v167 {
    padding-top: calc(env(safe-area-inset-top, 0px) + 136px) !important;
  }

  body.prep-offerbase-v167 .prep-offerbase-heading-v167 h2 {
    font-size: clamp(46px, 11.5vw, 56px) !important;
    max-width: 390px !important;
  }

  body.prep-offerbase-v167 .prep-card-grid-v167 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 {
    padding: 20px !important;
    border-radius: 24px !important;
  }
}


/* V168 — damage control, do not reinvent */

/* Make new Shop/Library and Contact visible even if reveal JS does not fire */
body.prep-offerbase-v167 .reveal,
body.prep-offerbase-v167 .delay-1,
body.prep-offerbase-v167 .delay-2,
body.sx-contact-offerbase-v167 .reveal,
body.sx-contact-offerbase-v167 .delay-1,
body.sx-contact-offerbase-v167 .delay-2 {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* Hub: restore original bullet proof style exactly as a turquoise dot list */
body.sx-hub-v167 .sx-choice-list,
body.sx-hub-v168 .sx-choice-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 20px 0 0 !important;
  display: grid !important;
  gap: 8px !important;
  text-align: left !important;
}

body.sx-hub-v167 .sx-choice-list li,
body.sx-hub-v168 .sx-choice-list li {
  color: rgba(246,249,255,.68) !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-hub-v167 .sx-choice-list li::before,
body.sx-hub-v168 .sx-choice-list li::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--accent) !important;
  box-shadow: 0 0 18px rgba(138,239,255,.5) !important;
  flex: 0 0 auto !important;
}

/* Hub: restore old CTA button, no invented new large button */
body.sx-hub-v167 .sx-choice-modal > strong,
body.sx-hub-v168 .sx-choice-modal > strong {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  min-height: 34px !important;
  padding: 0 .9rem !important;
  border: 1px solid rgba(138,239,255,.20) !important;
  border-radius: 999px !important;
  background: rgba(138,239,255,.075) !important;
  color: rgba(250,252,255,.94) !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
  position: relative !important;
  z-index: 4 !important;
  margin-top: 1rem !important;
}

/* Hub: remove only inner grey rectangles, but keep outer cards/buttons/lists */
body.sx-hub-v167 .sx-choice-content,
body.sx-hub-v168 .sx-choice-content {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-hub-v167 .sx-choice-content::before,
body.sx-hub-v167 .sx-choice-content::after,
body.sx-hub-v168 .sx-choice-content::before,
body.sx-hub-v168 .sx-choice-content::after {
  content: none !important;
  display: none !important;
}

/* Contact: remove the useless extra big modal around the 3 option cards */
body.sx-contact-offerbase-v167 .contact-simple-v167 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: clamp(1.35rem, 2.6vw, 1.85rem) !important;
}

body.sx-contact-offerbase-v167 .contact-choice-grid-v167 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Contact: keep the three choices in the offer-card family without an added wrapper */
body.sx-contact-offerbase-v167 .contact-choice-grid-v167 > button {
  min-height: auto !important;
  padding: 20px !important;
  border-radius: 24px !important;
}

/* Contact/Offres: remove the real background grid line under header */
body.sx-contact-offerbase-v167::before,
body.sx-contact-offerbase-v167::after,
body.sx-contact-v166::before,
body.sx-contact-v166::after,
body.sx-offres-page-v135::before,
body.sx-offres-page-v135::after,
body.sx-offers-v166::before,
body.sx-offers-v166::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background-image: none !important;
  background: transparent !important;
}

/* Contact/Offres: remove top horizontal grid/separator from page background only */
body.sx-contact-offerbase-v167 .grain,
body.sx-offres-page-v135 .grain {
  opacity: 0 !important;
  display: none !important;
}

/* Studio pages spacing: closer to Offres rhythm, less huge gap under header */
@media (min-width: 861px) {
  body.sx-contact-offerbase-v167 main,
  body.sx-offres-page-v135 main {
    padding-top: 72px !important;
  }

  body.sx-contact-offerbase-v167 .contact-section-v167,
  body.sx-offres-page-v135 .offers-section-v78 {
    padding-top: 54px !important;
  }
}

@media (max-width: 860px) {
  body.sx-contact-offerbase-v167 main,
  body.sx-offres-page-v135 main {
    padding-top: 86px !important;
  }

  body.sx-contact-offerbase-v167 .contact-section-v167,
  body.sx-offres-page-v135 .offers-section-v78 {
    padding-top: 38px !important;
  }
}

/* Shop/Library: keep all written content visible and on the same DA as Offres */
body.prep-offerbase-v167 .prep-offerbase-heading-v167,
body.prep-offerbase-v167 .prep-offerbase-simple-v167,
body.prep-offerbase-v167 .prep-offerbase-panel-v167,
body.prep-offerbase-v167 .prep-card-grid-v167,
body.prep-offerbase-v167 .prep-card-offer-v167 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

body.prep-offerbase-v167 .prep-offerbase-heading-v167 h2,
body.prep-offerbase-v167 .prep-offerbase-heading-v167 p,
body.prep-offerbase-v167 .prep-offerbase-panel-head-v167 h3,
body.prep-offerbase-v167 .prep-offerbase-panel-head-v167 p,
body.prep-offerbase-v167 .prep-card-offer-v167 strong,
body.prep-offerbase-v167 .prep-card-offer-v167 small {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Shop/Library: correct title request — h2 is the only big title, no grey "En préparation" below */
body.prep-offerbase-v167 .prep-offerbase-heading-v167 h2 {
  color: rgba(248,250,255,.94) !important;
}

@media (max-width: 860px) {
  body.prep-offerbase-v167 .prep-offerbase-section-v167 {
    padding-top: calc(env(safe-area-inset-top, 0px) + 126px) !important;
  }
}


/* V170 — exact fixes from annotated screenshots */

/* 1) Restore the same global background on Offres / Contact as Studio home */
body.sx-contact-offerbase-v167::before,
body.sx-offres-page-v135::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  mask-image: radial-gradient(circle at 50% 18%, rgba(0,0,0,.78), transparent 72%) !important;
  display: block !important;
  opacity: 1 !important;
}

body.sx-contact-offerbase-v167::after,
body.sx-offres-page-v135::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(2,4,9,.10), rgba(2,4,9,.42)),
    radial-gradient(circle at 50% 40%, transparent 0, rgba(0,0,0,.40) 70%) !important;
  display: block !important;
  opacity: 1 !important;
}

body.sx-contact-offerbase-v167 .grain,
body.sx-offres-page-v135 .grain {
  display: block !important;
  opacity: .04 !important;
}

/* 2) Remove the separator line under header on Offres / Contact / Shop / Library */
body.sx-contact-offerbase-v167 .contact-section-v167::before,
body.sx-offres-page-v135 .offers-section-v78::before,
body.prep-offerbase-v167 .prep-offerbase-section-v167::before {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

/* 3) Contact: remove the "Sélecteur d’offres" mention */
body.sx-contact-offerbase-v167 .contact-simple-v167::before,
body.sx-contact-offerbase-v167 .offer-simple-v78.contact-simple-v167::before {
  content: none !important;
  display: none !important;
}

/* 4) Contact: fix overlap inside the 3 cards */
body.sx-contact-offerbase-v167 .contact-choice-grid-v167 > button {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 228px !important;
}

body.sx-contact-offerbase-v167 .contact-choice-grid-v167 > button small {
  min-height: 0 !important;
  flex: 0 0 auto !important;
}

body.sx-contact-offerbase-v167 .contact-action-v167 {
  margin-top: auto !important;
  align-self: flex-start !important;
  white-space: nowrap !important;
}

/* 5) Contact + Shop + Library: remove the useless "Offres disponibles" mention and empty divider row */
body.sx-contact-offerbase-v167 .contact-mail-head-v167,
body.prep-offerbase-v167 .prep-offerbase-panel-head-v167 {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body.sx-contact-offerbase-v167 .contact-mail-head-v167::after,
body.prep-offerbase-v167 .prep-offerbase-panel-head-v167::after {
  content: none !important;
  display: none !important;
}

/* tighten the space that existed only because of that removed row */
body.sx-contact-offerbase-v167 .contact-mail-panel-v167,
body.prep-offerbase-v167 .prep-offerbase-panel-v167 {
  gap: 0 !important;
}

body.prep-offerbase-v167 .prep-card-grid-v167 {
  margin-top: 1.15rem !important;
}

/* 6) Keep accent consistently cyan, not greenish */
body.sx-contact-offerbase-v167,
body.sx-offres-page-v135,
body.prep-offerbase-v167,
body.sx-hub-v168,
body.sx-hub-v167,
body.sx-hub-v166 {
  --accent: #8aefff !important;
  --accent-2: #a7b8ff !important;
  --accent-soft: rgba(138,239,255,0.12) !important;
  --accent-line: rgba(138,239,255,0.34) !important;
}

@media (max-width: 860px) {
  body.sx-contact-offerbase-v167 .contact-choice-grid-v167 > button {
    min-height: 196px !important;
    gap: 8px !important;
  }

  body.sx-contact-offerbase-v167 .contact-action-v167 {
    width: 100% !important;
    white-space: normal !important;
  }
}


/* V171 — screenshot-targeted flattening / no reinvention */

/* A. Kill the real section separator line on Studio subpages and prep pages.
   This is the thin line crossing the screen next to/under the header. */
body.sx-contact-v171 .part::before,
body.sx-contact-v171 .section.part::before,
body.sx-contact-v171 .contact-section-v167::before,
body.sx-offres-v171 .part::before,
body.sx-offres-v171 .section.part::before,
body.sx-offres-v171 .offers-section-v78::before,
body.sx-prep-v171 .part::before,
body.sx-prep-v171 .section.part::before,
body.sx-prep-v171 .prep-offerbase-section-v167::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  height: 0 !important;
  transform: none !important;
}

/* B. Remove "Sélecteur d’offres" ONLY where it is wrong:
   Contact / Shop / Library. Keep it on the real Offres page. */
body.sx-contact-v171 .offer-simple-v78::before,
body.sx-contact-v171 .contact-simple-v167::before,
body.sx-prep-v171 .offer-simple-v78::before,
body.sx-prep-v171 .prep-offerbase-simple-v167::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* C. Remove useless "Offres disponibles" pseudo labels inside mail/shop/library panels. */
body.sx-contact-v171 .family-panel-head-v78::after,
body.sx-contact-v171 .contact-mail-head-v167::after,
body.sx-prep-v171 .family-panel-head-v78::after,
body.sx-prep-v171 .prep-offerbase-panel-head-v167::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

body.sx-contact-v171 .family-panel-head-v78,
body.sx-contact-v171 .contact-mail-head-v167,
body.sx-prep-v171 .family-panel-head-v78,
body.sx-prep-v171 .prep-offerbase-panel-head-v167 {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* D. Flatten modal-ception:
   - outer module becomes layout only
   - inner cards/panel keep the visible surface
   - avoids 3/4 semi-transparent layers changing page color */
body.sx-contact-v171 .offer-simple-v78,
body.sx-contact-v171 .contact-simple-v167,
body.sx-prep-v171 .offer-simple-v78,
body.sx-prep-v171 .prep-offerbase-simple-v167 {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* On real Offers page, flatten only the excessive outer shell but keep the selector label and inner module intact */
body.sx-offres-v171 .offer-simple-v78 {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Keep one consistent visible panel layer */
body.sx-contact-v171 .family-switch-v78,
body.sx-prep-v171 .family-switch-v78,
body.sx-offres-v171 .family-switch-v78 {
  background: rgba(8, 12, 18, .42) !important;
  border-color: rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.022) !important;
}

body.sx-contact-v171 .offers-family-panel-v78,
body.sx-prep-v171 .offers-family-panel-v78,
body.sx-offres-v171 .offers-family-panel-v78 {
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)),
    rgba(8, 12, 18, .48) !important;
  border-color: rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.022) !important;
}

/* E. Contact: prevent the page from ending brutally after the mail panel. */
body.sx-contact-v171 main {
  min-height: 100svh !important;
}

body.sx-contact-v171 .contact-section-v167 {
  min-height: calc(100svh - 12px) !important;
  padding-bottom: clamp(120px, 16vh, 210px) !important;
}

body.sx-contact-v171 .contact-mail-panel-v167 {
  margin-bottom: clamp(44px, 7vh, 92px) !important;
}

/* F. Contact card overlap fix: CTA never rides on top of the text. */
body.sx-contact-v171 .contact-choice-grid-v167 > button {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-height: 218px !important;
}

body.sx-contact-v171 .contact-choice-grid-v167 > button small {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

body.sx-contact-v171 .contact-action-v167 {
  margin-top: auto !important;
  align-self: flex-start !important;
  white-space: nowrap !important;
}

/* G. Same cyan everywhere, no green/blue drift */
body.sx-contact-v171,
body.sx-offres-v171,
body.sx-prep-v171,
body.sx-hub-v171 {
  --accent: #8aefff !important;
  --accent-2: #a7b8ff !important;
  --accent-soft: rgba(138,239,255,.12) !important;
  --accent-line: rgba(138,239,255,.34) !important;
}

/* H. Make sure Shop/Library content never becomes invisible because of old reveal logic. */
body.sx-prep-v171 .reveal,
body.sx-prep-v171 .prep-offerbase-heading-v167,
body.sx-prep-v171 .prep-offerbase-simple-v167,
body.sx-prep-v171 .prep-offerbase-panel-v167,
body.sx-prep-v171 .prep-card-grid-v167,
body.sx-prep-v171 .prep-card-offer-v167 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

/* I. Mobile keeps the corrections without horizontal bugs */
@media (max-width: 860px) {
  body.sx-contact-v171 .contact-section-v167 {
    padding-bottom: max(120px, calc(88px + env(safe-area-inset-bottom))) !important;
  }

  body.sx-contact-v171 .contact-choice-grid-v167 > button {
    min-height: 196px !important;
    gap: 8px !important;
  }

  body.sx-contact-v171 .contact-action-v167 {
    width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
  }

  body.sx-prep-v171 .prep-offerbase-section-v167 {
    padding-bottom: max(110px, calc(80px + env(safe-area-inset-bottom))) !important;
  }
}


/* V172 — flatten Shop / Library remaining modal-ception only */

/* Keep the main panel, remove the unnecessary inner frame around the 3 prep cards */
body.sx-prep-v172 .prep-card-grid-v167,
body.sx-prep-v172 .family-switch-v78.prep-card-grid-v167 {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 1.15rem !important;
}

/* Remove pseudo frames from that inner grid if inherited from family-switch */
body.sx-prep-v172 .prep-card-grid-v167::before,
body.sx-prep-v172 .prep-card-grid-v167::after,
body.sx-prep-v172 .family-switch-v78.prep-card-grid-v167::before,
body.sx-prep-v172 .family-switch-v78.prep-card-grid-v167::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Keep each resource card as the only visible card layer inside the main panel */
body.sx-prep-v172 .prep-card-offer-v167,
body.sx-prep-v172 .prep-card-offer-v169 {
  background:
    radial-gradient(circle at 18% 0%, rgba(138,239,255,.020), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.013)) !important;
  border: 1px solid rgba(255,255,255,.070) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.020) !important;
}

/* Keep the main panel calm and single-layer */
body.sx-prep-v172 .prep-offerbase-panel-v167,
body.sx-prep-v172 .offers-family-panel-v78.prep-offerbase-panel-v167 {
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)),
    rgba(8,12,18,.48) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.022) !important;
}

/* Ensure the removed "Sélecteur d’offres" and "Offres disponibles" stay removed on Shop / Library only */
body.sx-prep-v172 .offer-simple-v78::before,
body.sx-prep-v172 .prep-offerbase-simple-v167::before,
body.sx-prep-v172 .prep-offerbase-panel-head-v167::after,
body.sx-prep-v172 .family-panel-head-v78::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Prevent right-side clipping/overflow visible on Library screenshot */
body.sx-prep-v172 .prep-offerbase-simple-v167,
body.sx-prep-v172 .prep-offerbase-panel-v167,
body.sx-prep-v172 .prep-card-grid-v167 {
  max-width: 100% !important;
  overflow: visible !important;
}

body.sx-prep-v172 {
  overflow-x: hidden !important;
}

/* Keep content visible */
body.sx-prep-v172 .prep-offerbase-heading-v167,
body.sx-prep-v172 .prep-offerbase-simple-v167,
body.sx-prep-v172 .prep-offerbase-panel-v167,
body.sx-prep-v172 .prep-card-grid-v167,
body.sx-prep-v172 .prep-card-offer-v167 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

@media (max-width: 860px) {
  body.sx-prep-v172 .prep-card-grid-v167,
  body.sx-prep-v172 .family-switch-v78.prep-card-grid-v167 {
    padding: 0 !important;
    gap: 14px !important;
  }
}


/* V173 — restore real Offers selector + remove "Offres disponibles" + kill top section lines */

/* 1) Restore the real Offres selector/modal visual shell.
   Previous flat-layer patches had made the real offer selector too transparent.
   This applies ONLY to /studio/offres. */
body.sx-offres-v173 .offer-simple-v78 {
  position: relative !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
  border-radius: 34px !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(138,239,255,.055), transparent 34rem),
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.016)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 22px 80px rgba(0,0,0,.18) !important;
}

body.sx-offres-v173 .offer-simple-v78::before {
  content: "SÉLECTEUR D’OFFRES" !important;
  position: absolute !important;
  top: -1.05rem !important;
  left: 1.35rem !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 .78rem !important;
  border-radius: 999px !important;
  background: rgba(2,5,12,.88) !important;
  border: 1px solid rgba(138,239,255,.14) !important;
  color: rgba(138,239,255,.88) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
  opacity: 1 !important;
}

body.sx-offres-v173 .family-switch-v78 {
  background:
    radial-gradient(circle at 10% 0%, rgba(138,239,255,.030), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012)) !important;
  border: 1px solid rgba(255,255,255,.070) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.024) !important;
  padding: .7rem !important;
  border-radius: 28px !important;
}

body.sx-offres-v173 .offers-family-panel-v78 {
  background:
    radial-gradient(circle at 12% 0%, rgba(138,239,255,.032), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.024) !important;
  border-radius: 30px !important;
}

/* 2) Remove every wrong "Offres disponibles" pseudo mention.
   It should not appear in the offer detail panel, contact mail panel, shop or library panels. */
body.sx-offres-v173 .family-panel-head-v78::after,
body.sx-contact-v173 .family-panel-head-v78::after,
body.sx-contact-v173 .contact-mail-head-v167::after,
body.sx-prep-v173 .family-panel-head-v78::after,
body.sx-prep-v173 .prep-offerbase-panel-head-v167::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Remove the empty separator row/line that remained because of the removed pseudo label. */
body.sx-offres-v173 .family-panel-head-v78,
body.sx-contact-v173 .family-panel-head-v78,
body.sx-contact-v173 .contact-mail-head-v167,
body.sx-prep-v173 .family-panel-head-v78,
body.sx-prep-v173 .prep-offerbase-panel-head-v167 {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* 3) Kill the thin horizontal line near/under the header on Offres and Contact.
   This targets the section divider/sequelles, not the card borders. */
body.sx-offres-v173 .part::before,
body.sx-offres-v173 .section.part::before,
body.sx-offres-v173 .offers-section-v78::before,
body.sx-offres-v173 main::before,
body.sx-offres-v173 .studio-shell::before,
body.sx-offres-v173 .studio-shell::after,
body.sx-offres-v173 .studio-bg::before,
body.sx-offres-v173 .studio-bg::after,
body.sx-contact-v173 .part::before,
body.sx-contact-v173 .section.part::before,
body.sx-contact-v173 .contact-section-v167::before,
body.sx-contact-v173 main::before,
body.sx-contact-v173 .studio-shell::before,
body.sx-contact-v173 .studio-shell::after,
body.sx-contact-v173 .studio-bg::before,
body.sx-contact-v173 .studio-bg::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
  background-image: none !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* If the line is coming from the page grid/grain crossing the header zone, hide that overlay only on these two pages. */
body.sx-offres-v173 .grain,
body.sx-contact-v173 .grain {
  display: none !important;
  opacity: 0 !important;
}

/* Keep background consistent without drawing a horizontal section rule. */
body.sx-offres-v173::before,
body.sx-contact-v173::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(rgba(255,255,255,.038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.038) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  mask-image: radial-gradient(circle at 50% 20%, rgba(0,0,0,.72), transparent 72%) !important;
}

body.sx-offres-v173::after,
body.sx-contact-v173::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(2,4,9,.12), rgba(2,4,9,.40)),
    radial-gradient(circle at 50% 40%, transparent 0, rgba(0,0,0,.38) 70%) !important;
}

/* Prevent contact from ending too abruptly. */
body.sx-contact-v173 .contact-section-v167 {
  padding-bottom: clamp(120px, 14vh, 210px) !important;
}


/* V174 — remove persistent horizontal header/background line on Offres + Contact */

/*
  The remaining line is not the card separator; it comes from the page background grid.
  Previous patches removed section ::before lines, but the horizontal grid line still crossed
  the header area. This keeps the dark SX27 background but removes horizontal grid strokes
  on Offres + Contact only.
*/
body.sx-no-header-line-v174::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.030) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  background-position: 0 0 !important;
  mask-image: radial-gradient(circle at 50% 20%, rgba(0,0,0,.62), transparent 72%) !important;
  opacity: 1 !important;
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-no-header-line-v174::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(2,4,9,.12), rgba(2,4,9,.40)),
    radial-gradient(circle at 50% 40%, transparent 0, rgba(0,0,0,.38) 70%) !important;
  opacity: 1 !important;
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Hard kill every possible horizontal section/header rule on these two pages */
body.sx-no-header-line-v174 .part::before,
body.sx-no-header-line-v174 .section.part::before,
body.sx-no-header-line-v174 .offers-section-v78::before,
body.sx-no-header-line-v174 .contact-section-v167::before,
body.sx-no-header-line-v174 main::before,
body.sx-no-header-line-v174 main::after,
body.sx-no-header-line-v174 .studio-shell::before,
body.sx-no-header-line-v174 .studio-shell::after,
body.sx-no-header-line-v174 .sx-site-header-v140::before,
body.sx-no-header-line-v174 .sx-site-header-v140::after,
body.sx-no-header-line-v174 .grain {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Hide any top-positioned 1px decorative layer that sits around the header zone */
body.sx-no-header-line-v174 [class*="line"],
body.sx-no-header-line-v174 [class*="divider"] {
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
}

/* Keep real card borders intact */
body.sx-no-header-line-v174 .family-switch-v78,
body.sx-no-header-line-v174 .offers-family-panel-v78,
body.sx-no-header-line-v174 .offer-simple-v78,
body.sx-no-header-line-v174 .contact-choice-grid-v167 > button,
body.sx-no-header-line-v174 .contact-mail-panel-v167 {
  border-color: rgba(255,255,255,.075) !important;
}


/* V175 — remove header line at root + flatten offer selector shells */

/* 1) REAL FIX FOR THE LINE ON OFFRES + CONTACT
   Directly targets the stable page classes and the global section line source. */
body.sx-offres-page-v135.part::before,
body.sx-offres-page-v135 .part::before,
body.sx-offres-page-v135 .section::before,
body.sx-offres-page-v135 .section.part::before,
body.sx-offres-page-v135 .offers-section-v78::before,
body.sx-offres-line-flat-v175.part::before,
body.sx-offres-line-flat-v175 .part::before,
body.sx-offres-line-flat-v175 .section::before,
body.sx-offres-line-flat-v175 .section.part::before,
body.sx-offres-line-flat-v175 .offers-section-v78::before,
body.sx-contact-page-v135.part::before,
body.sx-contact-page-v135 .part::before,
body.sx-contact-page-v135 .section::before,
body.sx-contact-page-v135 .section.part::before,
body.sx-contact-page-v135 .contact-section-v167::before,
body.sx-contact-line-flat-v175.part::before,
body.sx-contact-line-flat-v175 .part::before,
body.sx-contact-line-flat-v175 .section::before,
body.sx-contact-line-flat-v175 .section.part::before,
body.sx-contact-line-flat-v175 .contact-section-v167::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* If the line comes from the horizontal part of the body grid, remove horizontal grid on these two pages only. */
body.sx-offres-page-v135::before,
body.sx-offres-line-flat-v175::before,
body.sx-contact-page-v135::before,
body.sx-contact-line-flat-v175::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.030) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  background-position: 0 0 !important;
  mask-image: radial-gradient(circle at 50% 20%, rgba(0,0,0,.62), transparent 72%) !important;
  opacity: 1 !important;
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-offres-page-v135::after,
body.sx-offres-line-flat-v175::after,
body.sx-contact-page-v135::after,
body.sx-contact-line-flat-v175::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(2,4,9,.12), rgba(2,4,9,.40)),
    radial-gradient(circle at 50% 40%, transparent 0, rgba(0,0,0,.38) 70%) !important;
}

/* Hide grain overlay only on Offres + Contact because it can draw horizontal artifacts near the header. */
body.sx-offres-page-v135 .grain,
body.sx-offres-line-flat-v175 .grain,
body.sx-contact-page-v135 .grain,
body.sx-contact-line-flat-v175 .grain {
  display: none !important;
  opacity: 0 !important;
}

/* 2) SELECTEUR D'OFFRES — SAME CHANGE ON STUDIO HOME + OFFRES PAGE
   Keep:
   - 01 / 02 / 03 / 04 cards
   - Famille sélectionnée panel
   Remove visually:
   - big modal containing both areas
   - useless modal around only 01/02/03/04
*/
body.sx-studio-selector-flat-v175 .offer-simple-v78 {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* remove the external "Sélecteur d'offres" tag if it belongs to the big wrapper */
body.sx-studio-selector-flat-v175 .offer-simple-v78::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* flatten the useless switch wrapper only; the 01-04 buttons remain styled as cards */
body.sx-studio-selector-flat-v175 .family-switch-v78 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding: 0 !important;
  margin: 0 0 clamp(1.2rem, 2vw, 1.45rem) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.sx-studio-selector-flat-v175 .family-switch-v78::before,
body.sx-studio-selector-flat-v175 .family-switch-v78::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* keep each choice card as the real visible card */
body.sx-studio-selector-flat-v175 .family-switch-v78 > button {
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.030), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.022) !important;
}

body.sx-studio-selector-flat-v175 .family-switch-v78 > button.is-active,
body.sx-studio-selector-flat-v175 .family-switch-v78 > button[aria-selected="true"] {
  border-color: rgba(138,239,255,.28) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(138,239,255,.090), transparent 46%),
    linear-gradient(180deg, rgba(138,239,255,.055), rgba(255,255,255,.018)) !important;
}

/* the selected family panel stays as the only large panel */
body.sx-studio-selector-flat-v175 .offers-family-panel-v78 {
  margin-top: 0 !important;
  border-radius: 30px !important;
  border: 1px solid rgba(255,255,255,.080) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(138,239,255,.032), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.024) !important;
}

/* remove "Offres disponibles" pseudo mention from panel heads if still generated */
body.sx-studio-selector-flat-v175 .family-panel-head-v78::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
}

/* remove empty row/line left by that label */
body.sx-studio-selector-flat-v175 .family-panel-head-v78 {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

/* Mobile: keep the existing behavior readable without horizontal overflow */
@media (max-width: 860px) {
  body.sx-studio-selector-flat-v175 .family-switch-v78 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

@media (max-width: 520px) {
  body.sx-studio-selector-flat-v175 .family-switch-v78 {
    grid-template-columns: 1fr !important;
  }
}


/* V176 — real rendered line kill
   The persistent line was not a single named element. It came from:
   1) .part::before section divider
   2) horizontal strokes in the body background grid.
   This patch removes both causes at render level. */

/* 1. Kill all section divider pseudo-lines globally.
   This is intentional: user asked to not have that line anywhere. */
.part::before,
.part.is-inview::before,
.section.part::before,
.section.soft.part::before,
section.part::before,
.offers-section-v78::before,
.contact-section-v167::before,
.prep-offerbase-section-v167::before,
.services-section::before,
.method-section::before,
.contact-section::before,
.proof-section::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* 2. Remove horizontal strokes from the Studio background grid.
   Keep only subtle vertical grid strokes so the dark SX27 background still has texture,
   but no line can pass behind / next to / under the header. */
body.studio-clean-v8::before,
body.sx-no-rendered-line-v176::before,
body.sx-offres-page-v135::before,
body.sx-contact-page-v135::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  background-position: 0 0 !important;
  mask-image: radial-gradient(circle at 50% 22%, rgba(0,0,0,.58), transparent 72%) !important;
  opacity: 1 !important;
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Keep the dark vignette overlay, but never draw a line. */
body.studio-clean-v8::after,
body.sx-no-rendered-line-v176::after,
body.sx-offres-page-v135::after,
body.sx-contact-page-v135::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(2,4,9,.12), rgba(2,4,9,.40)),
    radial-gradient(circle at 50% 42%, transparent 0, rgba(0,0,0,.38) 72%) !important;
  display: block !important;
  opacity: 1 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 3. Kill any decorative top/bottom rule generated by page shells/header zones,
   without touching the actual card borders. */
body.studio-clean-v8 main::before,
body.studio-clean-v8 main::after,
body.studio-clean-v8 .studio-shell::before,
body.studio-clean-v8 .studio-shell::after,
body.studio-clean-v8 .studio-main::before,
body.studio-clean-v8 .studio-main::after,
body.studio-clean-v8 .sx-site-frame::before,
body.studio-clean-v8 .sx-site-frame::after,
body.studio-clean-v8 .sx-site-header-v140::before,
body.studio-clean-v8 .sx-site-header-v140::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 4. Hide grain on Studio pages because it can visually reinforce the same line. */
body.studio-clean-v8 .grain,
body.sx-no-rendered-line-v176 .grain {
  display: none !important;
  opacity: 0 !important;
}

/* 5. Preserve real visible UI borders. */
body.studio-clean-v8 .sx-site-header-v140,
body.studio-clean-v8 .offer-simple-v78,
body.studio-clean-v8 .family-switch-v78,
body.studio-clean-v8 .offers-family-panel-v78,
body.studio-clean-v8 .service-card,
body.studio-clean-v8 .contact-choice-card-v167,
body.studio-clean-v8 .contact-mail-panel-v167 {
  border-color: rgba(255,255,255,.075) !important;
}


/* V177 — kill the remaining visible line on Offres + Contact.
   Real source left after grid/section patches:
   .section-heading h2::after creates a 1px underline under the top title.
   On Offres/Contact it visually reads as the "line near the header". */
body.sx-no-title-line-v177 .section-heading h2::after,
body.sx-no-title-line-v177 .section-heading.center h2::after,
body.sx-no-title-line-v177 .offers-section-v78 .section-heading h2::after,
body.sx-no-title-line-v177 .contact-section-v167 .section-heading h2::after,
body.sx-no-title-line-v177 .contact-heading-v167 h2::after,
body.sx-no-title-line-v177 .contact-heading-v169 h2::after,
body.sx-no-title-line-v177 .sx-contact-heading-v140 h2::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Also neutralize any V11/V16 "section heading arrives" animation that tries to scale that same line. */
body.sx-no-title-line-v177 .part.is-inview .section-heading h2::after,
body.sx-no-title-line-v177 .motion-ready .section-heading h2::after {
  transform: none !important;
  opacity: 0 !important;
}

/* Keep previous hard kills for section/grid lines on these two pages */
body.sx-no-title-line-v177 .part::before,
body.sx-no-title-line-v177 .part.is-inview::before,
body.sx-no-title-line-v177 .section.part::before,
body.sx-no-title-line-v177 section.part::before,
body.sx-no-title-line-v177 .offers-section-v78::before,
body.sx-no-title-line-v177 .contact-section-v167::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* V178 — final SX27 closeout: no header line, fixed mobile hub/offers/contact */

/* 1) Offres + Contact use the same dark Studio base, without a horizontal grid stroke crossing the header. */
body.sx-offres-page-v135,
body.sx-contact-page-v135 {
  background:
    radial-gradient(circle at 74% -12%, rgba(91,151,255,.25), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(138,239,255,.13), transparent 28rem),
    radial-gradient(circle at 50% 110%, rgba(77,105,255,.14), transparent 36rem),
    linear-gradient(180deg, #020409 0%, #050914 46%, #020409 100%) !important;
}

body.sx-offres-page-v135::before,
body.sx-contact-page-v135::before,
body.sx-no-header-line-v174::before,
body.sx-no-rendered-line-v176::before,
body.sx-no-title-line-v177::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image: linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  background-position: 0 0 !important;
  mask-image: radial-gradient(circle at 50% 18%, rgba(0,0,0,.58), transparent 72%) !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  display: block !important;
}

body.sx-offres-page-v135::after,
body.sx-contact-page-v135::after,
body.sx-no-header-line-v174::after,
body.sx-no-rendered-line-v176::after,
body.sx-no-title-line-v177::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(2,4,9,.10), rgba(2,4,9,.42)),
    radial-gradient(circle at 50% 40%, transparent 0, rgba(0,0,0,.40) 70%) !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  display: block !important;
}

body.sx-offres-page-v135 .grain,
body.sx-contact-page-v135 .grain {
  display: none !important;
  opacity: 0 !important;
}

body.sx-offres-page-v135 .part::before,
body.sx-offres-page-v135 .part::after,
body.sx-offres-page-v135 .section::before,
body.sx-offres-page-v135 .section::after,
body.sx-offres-page-v135 .offers-section-v78::before,
body.sx-offres-page-v135 .offers-section-v78::after,
body.sx-contact-page-v135 .part::before,
body.sx-contact-page-v135 .part::after,
body.sx-contact-page-v135 .section::before,
body.sx-contact-page-v135 .section::after,
body.sx-contact-page-v135 .contact-section-v167::before,
body.sx-contact-page-v135 .contact-section-v167::after,
body.sx-offres-page-v135 .section-heading h2::after,
body.sx-contact-page-v135 .section-heading h2::after,
body.sx-contact-page-v135 .contact-heading-v167 h2::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Make the fixed header opaque enough that no background artifact can pass through it. */
body.sx-offres-page-v135 .sx-site-header-v140,
body.sx-contact-page-v135 .sx-site-header-v140 {
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 4% 0%, rgba(138,239,255,.075), transparent 26%),
    rgba(3, 7, 14, .965) !important;
  border-color: rgba(255,255,255,.09) !important;
  box-shadow: 0 18px 65px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body.sx-offres-page-v135 .sx-site-header-v140::before,
body.sx-offres-page-v135 .sx-site-header-v140::after,
body.sx-contact-page-v135 .sx-site-header-v140::before,
body.sx-contact-page-v135 .sx-site-header-v140::after {
  content: none !important;
  display: none !important;
}

/* 2) Hub mobile: keep the 3 app cards side by side, but stop text/list/buttons from fighting inside them. */
@media (max-width: 760px) {
  html:has(body.sx-home),
  body.sx-home {
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.sx-home .sx-home-main,
  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    padding: max(1.05rem, env(safe-area-inset-top)) 0 max(1.15rem, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    width: min(100% - 18px, 720px) !important;
    max-width: calc(100vw - 18px) !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto !important;
    gap: .8rem !important;
  }

  body.sx-home .sx-home-intro,
  body.sx-home .sx-home-v11-intro {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: .65rem !important;
    row-gap: .16rem !important;
    min-width: 0 !important;
  }

  body.sx-home .sx-hero-logo-system {
    grid-row: 1 / 3 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  body.sx-home .sx-hero-kicker {
    margin: 0 !important;
    font-size: .66rem !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    margin: 0 !important;
    max-width: none !important;
    font-size: clamp(.76rem, 3.15vw, .86rem) !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: unset !important;
    gap: .5rem !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    scroll-snap-type: none !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    min-height: 268px !important;
    max-height: none !important;
    padding: .72rem .55rem !important;
    border-radius: 18px !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
    align-content: stretch !important;
    gap: .45rem !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body.sx-home .sx-choice-number {
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    font-size: .62rem !important;
  }

  body.sx-home .sx-choice-content {
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: .32rem !important;
  }

  body.sx-home .sx-choice-kicker {
    margin: 0 !important;
    min-height: auto !important;
    font-size: .56rem !important;
    line-height: 1.05 !important;
    letter-spacing: .035em !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2,
  body.sx-home .hub-title-v164 {
    margin: 0 !important;
    font-size: clamp(1.42rem, 7vw, 1.9rem) !important;
    line-height: .9 !important;
    letter-spacing: -.065em !important;
    overflow-wrap: anywhere !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    margin: 0 !important;
    font-size: .64rem !important;
    line-height: 1.22 !important;
    color: rgba(246,249,255,.68) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.sx-home .sx-choice-list,
  body.sx-home .sx-choice-list li {
    display: none !important;
  }

  body.sx-home .sx-choice-modal > strong,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal > strong {
    min-height: 30px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 .42rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    border: 1px solid rgba(138,239,255,.18) !important;
    background: rgba(138,239,255,.07) !important;
    color: rgba(250,252,255,.92) !important;
    font-size: .58rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    text-align: center !important;
    overflow: hidden !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    min-height: 286px !important;
    padding-inline: .48rem !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    -webkit-line-clamp: 4 !important;
  }
}

/* 3) Offres selector: the 01/02/03/04 cards must stay on one row on desktop and mobile. */
@media (max-width: 860px) {
  body.sx-studio-selector-flat-v175 .family-switch-v78,
  body.sx-mobile-home-fix-v152 .family-switch-v78,
  body.sx-mobile-home-fix-v153 .family-switch-v78,
  body.sx-mobile-offers-fix-v152 .family-switch-v78,
  body.sx-mobile-offers-fix-v153 .family-switch-v78,
  body.sx-offres-page-v135 .family-switch-v78,
  body.studio-clean-v8 #offres .family-switch-v78 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1rem !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button,
  body.sx-offres-page-v135 .family-switch-v78 > button,
  body.studio-clean-v8 #offres .family-switch-v78 > button {
    min-width: 0 !important;
    width: auto !important;
    min-height: 132px !important;
    padding: .68rem .45rem !important;
    border-radius: 17px !important;
    gap: .34rem !important;
    align-content: start !important;
    overflow: hidden !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button span,
  body.sx-offres-page-v135 .family-switch-v78 > button span,
  body.studio-clean-v8 #offres .family-switch-v78 > button span {
    font-size: .58rem !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button strong,
  body.sx-offres-page-v135 .family-switch-v78 > button strong,
  body.studio-clean-v8 #offres .family-switch-v78 > button strong {
    font-size: .66rem !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
    overflow-wrap: anywhere !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button small,
  body.sx-offres-page-v135 .family-switch-v78 > button small,
  body.studio-clean-v8 #offres .family-switch-v78 > button small {
    display: block !important;
    color: rgba(246,249,255,.58) !important;
    font-size: .55rem !important;
    line-height: 1.13 !important;
    min-height: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button .family-action-v84,
  body.sx-offres-page-v135 .family-switch-v78 > button .family-action-v84,
  body.studio-clean-v8 #offres .family-switch-v78 > button .family-action-v84 {
    min-height: 24px !important;
    margin-top: auto !important;
    padding: 0 .42rem !important;
    font-size: .52rem !important;
    line-height: 1 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button::after,
  body.sx-offres-page-v135 .family-switch-v78 > button::after,
  body.studio-clean-v8 #offres .family-switch-v78 > button::after {
    display: none !important;
    content: none !important;
  }
}

@media (max-width: 520px) {
  body.sx-studio-selector-flat-v175 .family-switch-v78,
  body.sx-offres-page-v135 .family-switch-v78,
  body.studio-clean-v8 #offres .family-switch-v78 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* 4) Contact: compact mail panel, remove useless sentence, and make the grey descriptions visible on phone. */
body.sx-contact-page-v135 .contact-mail-head-v167 p:not(.eyebrow),
body.sx-contact-offerbase-v167 .contact-mail-head-v167 p:not(.eyebrow) {
  display: none !important;
}

body.sx-contact-page-v135 .contact-mail-panel-v167,
body.sx-contact-offerbase-v167 .contact-mail-panel-v167 {
  padding: clamp(.9rem, 1.6vw, 1.15rem) !important;
  margin-top: 12px !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 h3,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 {
  margin: 0 !important;
}

body.sx-contact-page-v135 .contact-choice-grid-v167 > button small,
body.sx-contact-offerbase-v167 .contact-choice-grid-v167 > button small {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: rgba(246,249,255,.64) !important;
  line-height: 1.28 !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  max-height: none !important;
}

@media (max-width: 760px) {
  body.sx-contact-page-v135 .contact-section-v167 {
    padding-top: calc(env(safe-area-inset-top, 0px) + 112px) !important;
    padding-bottom: clamp(72px, 12vh, 128px) !important;
  }

  body.sx-contact-page-v135 .contact-heading-v167 h2 {
    font-size: clamp(48px, 12vw, 56px) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.055em !important;
    max-width: 390px !important;
    margin-inline: auto !important;
  }

  body.sx-contact-page-v135 .contact-simple-v167 {
    margin-top: 1.25rem !important;
  }

  body.sx-contact-page-v135 .contact-choice-grid-v167 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.sx-contact-page-v135 .contact-choice-grid-v167 > button {
    min-width: 0 !important;
    width: auto !important;
    min-height: 190px !important;
    padding: .72rem .52rem !important;
    border-radius: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .42rem !important;
    overflow: hidden !important;
  }

  body.sx-contact-page-v135 .contact-choice-grid-v167 > button span {
    font-size: .58rem !important;
    letter-spacing: .06em !important;
  }

  body.sx-contact-page-v135 .contact-choice-grid-v167 > button strong {
    font-size: .72rem !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
  }

  body.sx-contact-page-v135 .contact-choice-grid-v167 > button small {
    font-size: .58rem !important;
    line-height: 1.17 !important;
    color: rgba(246,249,255,.62) !important;
    display: block !important;
  }

  body.sx-contact-page-v135 .contact-action-v167 {
    min-height: 26px !important;
    width: 100% !important;
    margin-top: auto !important;
    padding: 0 .34rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: .52rem !important;
    line-height: 1 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.sx-contact-page-v135 .contact-choice-grid-v167 > button::after {
    display: none !important;
    content: none !important;
  }

  body.sx-contact-page-v135 .contact-mail-panel-v167 {
    margin-top: 10px !important;
    padding: .82rem .9rem !important;
    border-radius: 20px !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 h3 {
    font-size: clamp(1.14rem, 6vw, 1.42rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: anywhere !important;
  }
}

/* V179 — unified background, final header-line removal, mobile hub/offers polish */

/* One SX27 page background for Hub, Studio, Offres and Contact.
   The previous versions mixed grid layers + different radial positions, which made
   Contact/Offres look bluer and Studio greener and could create a visible horizontal band near the header. */
body.sx-home,
body.studio-clean-v8,
body.sx-offres-page-v135,
body.sx-contact-page-v135,
body.prep-offerbase-v167 {
  --sx-v179-bg-top: #091726;
  --sx-v179-bg-mid: #050a14;
  --sx-v179-bg-bottom: #020409;
  --sx-v179-blue-glow: rgba(76, 132, 225, .18);
  --sx-v179-cyan-glow: rgba(138, 239, 255, .082);
  --sx-v179-accent: #8aefff;
  --sx-v179-accent-line: rgba(138,239,255,.25);
  --accent: var(--sx-v179-accent) !important;
  --accent-line: rgba(138,239,255,.30) !important;
  --accent-soft: rgba(138,239,255,.085) !important;
  background:
    radial-gradient(circle at 15% 7%, var(--sx-v179-cyan-glow), transparent 26rem),
    radial-gradient(circle at 82% 0%, var(--sx-v179-blue-glow), transparent 32rem),
    radial-gradient(circle at 55% 104%, rgba(62, 96, 190, .115), transparent 34rem),
    linear-gradient(180deg, var(--sx-v179-bg-top) 0%, var(--sx-v179-bg-mid) 42%, var(--sx-v179-bg-bottom) 100%) !important;
  background-attachment: fixed !important;
}

/* Remove the grid/noise layers as line sources on all pages using this DA. */
body.sx-home::before,
body.sx-home::after,
body.studio-clean-v8::before,
body.studio-clean-v8::after,
body.sx-offres-page-v135::before,
body.sx-offres-page-v135::after,
body.sx-contact-page-v135::before,
body.sx-contact-page-v135::after,
body.prep-offerbase-v167::before,
body.prep-offerbase-v167::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.sx-home::before,
body.studio-clean-v8::before,
body.sx-offres-page-v135::before,
body.sx-contact-page-v135::before,
body.prep-offerbase-v167::before {
  z-index: -2 !important;
  background: none !important;
  background-image: none !important;
  display: block !important;
  opacity: 0 !important;
}

body.sx-home::after,
body.studio-clean-v8::after,
body.sx-offres-page-v135::after,
body.sx-contact-page-v135::after,
body.prep-offerbase-v167::after {
  z-index: -1 !important;
  display: block !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 50% 42%, transparent 0, rgba(0,0,0,.30) 72%),
    linear-gradient(180deg, rgba(2,4,9,.03), rgba(2,4,9,.34)) !important;
}

body.sx-home .grain,
body.studio-clean-v8 .grain,
body.sx-offres-page-v135 .grain,
body.sx-contact-page-v135 .grain,
body.prep-offerbase-v167 .grain {
  display: none !important;
  opacity: 0 !important;
}

/* Extra hard kill for the PC horizontal band: no page/section pseudo can draw a rule around the header zone. */
body.studio-clean-v8 main::before,
body.studio-clean-v8 main::after,
body.studio-clean-v8 .section::before,
body.studio-clean-v8 .section::after,
body.studio-clean-v8 .part::before,
body.studio-clean-v8 .part::after,
body.studio-clean-v8 .offers-section-v78::before,
body.studio-clean-v8 .offers-section-v78::after,
body.studio-clean-v8 .contact-section-v167::before,
body.studio-clean-v8 .contact-section-v167::after,
body.prep-offerbase-v167 main::before,
body.prep-offerbase-v167 main::after,
body.prep-offerbase-v167 .section::before,
body.prep-offerbase-v167 .section::after,
body.prep-offerbase-v167 .part::before,
body.prep-offerbase-v167 .part::after,
body.prep-offerbase-v167 .prep-offerbase-section-v167::before,
body.prep-offerbase-v167 .prep-offerbase-section-v167::after,
body.sx-home main::before,
body.sx-home main::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Same header everywhere on Studio pages. No transparent blur, so no background line can show through it. */
body.studio-clean-v8 .sx-site-header-v140 {
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 6% 0%, rgba(138,239,255,.052), transparent 30%),
    linear-gradient(180deg, rgba(4,8,15,.985), rgba(3,6,12,.965)) !important;
  border-color: rgba(255,255,255,.088) !important;
  box-shadow: 0 18px 65px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.052) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.studio-clean-v8 .sx-site-header-v140::before,
body.studio-clean-v8 .sx-site-header-v140::after {
  content: none !important;
  display: none !important;
}

/* Cards/panels: use the same blue-cyan balance everywhere instead of page-dependent transparent color shifts. */
body.studio-clean-v8 .service-card,
body.studio-clean-v8 .offer-simple-v78,
body.studio-clean-v8 .family-switch-v78 > button,
body.studio-clean-v8 .offers-family-panel-v78,
body.studio-clean-v8 .contact-choice-grid-v167 > button,
body.studio-clean-v8 .contact-mail-panel-v167,
body.sx-home .sx-choice-modal,
body.prep-offerbase-v167 .prep-offerbase-panel-v167,
body.prep-offerbase-v167 .prep-card-offer-v167 {
  background:
    radial-gradient(circle at 16% 0%, rgba(138,239,255,.040), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.016)) !important;
  border-color: rgba(255,255,255,.086) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.030) !important;
}

/* Contact/Offres headings: same size box and rhythm. */
body.sx-offres-page-v135 .offers-section-v78 > .section-heading,
body.sx-contact-page-v135 .contact-heading-v167 {
  max-width: 820px !important;
  margin-inline: auto !important;
}

body.sx-offres-page-v135 .offers-section-v78 .section-heading h2,
body.sx-contact-page-v135 .contact-heading-v167 h2 {
  font-size: clamp(3.45rem, 5.65vw, 5.15rem) !important;
  line-height: .92 !important;
  letter-spacing: -.072em !important;
  max-width: 760px !important;
  margin-inline: auto !important;
}

body.sx-offres-page-v135 .offers-section-v78 .section-heading .sublead,
body.sx-contact-page-v135 .contact-heading-v167 .sublead {
  max-width: 690px !important;
  margin-inline: auto !important;
}

/* Contact mail panel: compact premium contact chip, not a huge empty modal. */
body.sx-contact-page-v135 .contact-mail-panel-v167,
body.sx-contact-offerbase-v167 .contact-mail-panel-v167 {
  width: min(100%, 720px) !important;
  margin: 14px auto 0 !important;
  padding: .88rem 1rem !important;
  border-radius: 24px !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .85rem !important;
  min-width: 0 !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 .eyebrow,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 .eyebrow {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 .65rem !important;
  border: 1px solid rgba(138,239,255,.20) !important;
  border-radius: 999px !important;
  background: rgba(138,239,255,.055) !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 h3,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 {
  min-width: 0 !important;
  margin: 0 !important;
  font-size: clamp(1.2rem, 2.05vw, 1.68rem) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  text-align: right !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 h3 a,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 a {
  display: block !important;
  overflow-wrap: anywhere !important;
}

/* Hub mobile: keep the PC hierarchy — big centered logo, Digital System, centered grey text — then three cards. */
@media (max-width: 760px) {
  html:has(body.sx-home),
  body.sx-home {
    min-height: 100svh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.sx-home .sx-home-main,
  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    min-height: 100svh !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    padding: calc(env(safe-area-inset-top, 0px) + 4.1rem) 0 max(1.4rem, env(safe-area-inset-bottom)) !important;
    align-items: start !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    width: min(100% - 18px, 720px) !important;
    max-width: calc(100vw - 18px) !important;
    display: grid !important;
    grid-template-rows: auto auto !important;
    gap: 1.15rem !important;
  }

  body.sx-home .sx-home-intro,
  body.sx-home .sx-home-v11-intro {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: .55rem !important;
    min-width: 0 !important;
  }

  body.sx-home .sx-hero-logo-system {
    grid-row: auto !important;
    width: clamp(86px, 24vw, 118px) !important;
    height: clamp(86px, 24vw, 118px) !important;
    margin: 0 auto !important;
  }

  body.sx-home .sx-hero-kicker {
    margin: 0 !important;
    font-size: clamp(.72rem, 2.9vw, .95rem) !important;
    line-height: 1 !important;
    letter-spacing: .20em !important;
    text-align: center !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    max-width: 560px !important;
    margin: .05rem auto 0 !important;
    color: rgba(246,249,255,.66) !important;
    font-size: clamp(.88rem, 3.55vw, 1rem) !important;
    line-height: 1.28 !important;
    text-align: center !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .55rem !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    min-width: 0 !important;
    width: auto !important;
    min-height: clamp(302px, 48vh, 388px) !important;
    padding: .86rem .55rem .78rem !important;
    border-radius: 20px !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
    align-content: stretch !important;
    gap: .55rem !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body.sx-home .sx-choice-content {
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    justify-items: center !important;
    text-align: center !important;
    gap: .48rem !important;
  }

  body.sx-home .sx-choice-kicker,
  body.sx-home .hub-kicker-v164 {
    min-height: 2.15em !important;
    margin: 0 !important;
    font-size: .58rem !important;
    line-height: 1.08 !important;
    letter-spacing: .055em !important;
    text-align: center !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2,
  body.sx-home .hub-title-v164 {
    width: 100% !important;
    margin: 0 !important;
    font-size: clamp(1.14rem, 5.25vw, 1.46rem) !important;
    line-height: .95 !important;
    letter-spacing: -.072em !important;
    text-align: center !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(.66rem, 2.75vw, .78rem) !important;
    line-height: 1.14 !important;
    color: rgba(246,249,255,.68) !important;
    text-align: center !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 7 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-home .sx-choice-list,
  body.sx-home .sx-choice-list li {
    display: none !important;
  }

  body.sx-home .sx-choice-modal > strong,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal > strong {
    min-height: 34px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 .38rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: .60rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* Offers selector on mobile: only 01/title/button; no grey descriptions in the 4 cards. */
  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button,
  body.sx-offres-page-v135 .family-switch-v78 > button,
  body.studio-clean-v8 #offres .family-switch-v78 > button {
    min-height: 112px !important;
    padding: .62rem .42rem !important;
    gap: .32rem !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button small,
  body.sx-offres-page-v135 .family-switch-v78 > button small,
  body.studio-clean-v8 #offres .family-switch-v78 > button small {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button strong,
  body.sx-offres-page-v135 .family-switch-v78 > button strong,
  body.studio-clean-v8 #offres .family-switch-v78 > button strong {
    font-size: clamp(.66rem, 2.8vw, .78rem) !important;
    line-height: 1.02 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button .family-action-v84,
  body.sx-offres-page-v135 .family-switch-v78 > button .family-action-v84,
  body.studio-clean-v8 #offres .family-switch-v78 > button .family-action-v84 {
    min-height: 25px !important;
    font-size: .52rem !important;
    margin-top: auto !important;
  }

  /* Contact heading and mail chip on mobile. */
  body.sx-contact-page-v135 .contact-heading-v167 h2,
  body.sx-offres-page-v135 .offers-section-v78 .section-heading h2 {
    font-size: clamp(44px, 11.4vw, 56px) !important;
    max-width: 390px !important;
  }

  body.sx-contact-page-v135 .contact-mail-panel-v167 {
    width: 100% !important;
    padding: .72rem .82rem !important;
    border-radius: 20px !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 {
    gap: .58rem !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 .eyebrow {
    min-height: 26px !important;
    padding-inline: .52rem !important;
    font-size: .56rem !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 h3 {
    font-size: clamp(1rem, 5.1vw, 1.34rem) !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    width: min(100% - 14px, 720px) !important;
    max-width: calc(100vw - 14px) !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    gap: .42rem !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    min-height: 292px !important;
    padding-inline: .44rem !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2,
  body.sx-home .hub-title-v164 {
    font-size: 1.03rem !important;
    letter-spacing: -.065em !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    font-size: .61rem !important;
    -webkit-line-clamp: 6 !important;
  }
}


/* V180 — surgical fixes after screenshot review
   - no PC header line on Offres/Contact
   - no square/wrapper behind the offer selector cards
   - unified blue background + stable header/cards
   - hub mobile word/button wrapping fixes
   - mobile offer selector internal spacing
   - mobile RDV/questionnaire modal top clipping fix */

/* 1) Background: no image asset is used for the page background; keep one CSS background everywhere. */
html,
body.sx-home,
body.studio-clean-v8,
body.sx-offres-page-v135,
body.sx-contact-page-v135,
body.prep-offerbase-v167 {
  --sx27-bg-top-v180: #071421;
  --sx27-bg-mid-v180: #040914;
  --sx27-bg-bottom-v180: #020409;
  --sx27-glow-cyan-v180: rgba(116, 208, 235, .060);
  --sx27-glow-blue-v180: rgba(67, 116, 207, .165);
  --sx27-glow-low-v180: rgba(63, 90, 170, .110);
  --accent: #8aefff !important;
  --accent-2: #a7b8ff !important;
  --accent-soft: rgba(138,239,255,.082) !important;
  --accent-line: rgba(138,239,255,.255) !important;
  background-color: #020409 !important;
}

body.sx-home,
body.studio-clean-v8,
body.sx-offres-page-v135,
body.sx-contact-page-v135,
body.prep-offerbase-v167 {
  background:
    radial-gradient(circle at 14% 8%, var(--sx27-glow-cyan-v180), transparent 26rem),
    radial-gradient(circle at 82% 0%, var(--sx27-glow-blue-v180), transparent 32rem),
    radial-gradient(circle at 54% 110%, var(--sx27-glow-low-v180), transparent 36rem),
    linear-gradient(180deg, var(--sx27-bg-top-v180) 0%, var(--sx27-bg-mid-v180) 42%, var(--sx27-bg-bottom-v180) 100%) !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: scroll !important;
}

/* No grid/noise/background pseudo can create a horizontal rule. */
body.sx-home::before,
body.studio-clean-v8::before,
body.sx-offres-page-v135::before,
body.sx-contact-page-v135::before,
body.prep-offerbase-v167::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  display: block !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-home::after,
body.studio-clean-v8::after,
body.sx-offres-page-v135::after,
body.sx-contact-page-v135::after,
body.prep-offerbase-v167::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  display: block !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 50% 42%, transparent 0, rgba(0,0,0,.30) 72%),
    linear-gradient(180deg, rgba(2,4,9,.025), rgba(2,4,9,.34)) !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-home .grain,
body.studio-clean-v8 .grain,
body.sx-offres-page-v135 .grain,
body.sx-contact-page-v135 .grain,
body.prep-offerbase-v167 .grain {
  display: none !important;
  opacity: 0 !important;
}

/* 2) Absolute line kill: the Studio page did not have an image-line; Offres/Contact line is layout/CSS. */
body.studio-clean-v8 main::before,
body.studio-clean-v8 main::after,
body.studio-clean-v8 .section::before,
body.studio-clean-v8 .section::after,
body.studio-clean-v8 .part::before,
body.studio-clean-v8 .part::after,
body.studio-clean-v8 .section-heading h2::after,
body.sx-offres-page-v135 .offers-section-v78::before,
body.sx-offres-page-v135 .offers-section-v78::after,
body.sx-contact-page-v135 .contact-section-v167::before,
body.sx-contact-page-v135 .contact-section-v167::after,
body.sx-offres-page-v135 .section-heading h2::after,
body.sx-contact-page-v135 .section-heading h2::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.studio-clean-v8 .sx-site-header-v140 {
  background:
    radial-gradient(circle at 6% 0%, rgba(138,239,255,.042), transparent 30%),
    linear-gradient(180deg, rgba(4,8,15,.985), rgba(3,6,12,.970)) !important;
  border-color: rgba(255,255,255,.082) !important;
  box-shadow: 0 18px 65px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.045) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 3) Offer selector: remove the ugly big square/wrapper behind the 01/02/03/04 cards. */
body.studio-clean-v8 .offer-simple-v78,
body.sx-studio-selector-flat-v175 .offer-simple-v78,
body.sx-offres-page-v135 .offer-simple-v78 {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

body.studio-clean-v8 .offer-simple-v78::before,
body.studio-clean-v8 .offer-simple-v78::after,
body.sx-studio-selector-flat-v175 .offer-simple-v78::before,
body.sx-studio-selector-flat-v175 .offer-simple-v78::after,
body.sx-offres-page-v135 .offer-simple-v78::before,
body.sx-offres-page-v135 .offer-simple-v78::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.studio-clean-v8 .family-switch-v78 {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.studio-clean-v8 .family-switch-v78 > button,
body.studio-clean-v8 .contact-choice-grid-v167 > button,
body.sx-home .sx-choice-modal {
  background:
    radial-gradient(circle at 16% 0%, rgba(120,213,240,.038), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.014)) !important;
  border-color: rgba(255,255,255,.084) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.028) !important;
}

body.studio-clean-v8 .family-switch-v78 > button.is-active,
body.studio-clean-v8 .family-switch-v78 > button[aria-selected="true"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(120,213,240,.095), transparent 48%),
    linear-gradient(180deg, rgba(138,239,255,.052), rgba(255,255,255,.016)) !important;
  border-color: rgba(138,239,255,.28) !important;
}

body.studio-clean-v8 .offers-family-panel-v78,
body.studio-clean-v8 .contact-mail-panel-v167 {
  background:
    radial-gradient(circle at 16% 0%, rgba(120,213,240,.035), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.014)) !important;
  border-color: rgba(255,255,255,.084) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.028) !important;
}

/* 4) Contact mail chip: important but not a huge empty modal. */
body.sx-contact-page-v135 .contact-mail-panel-v167,
body.sx-contact-offerbase-v167 .contact-mail-panel-v167 {
  width: min(100%, 560px) !important;
  margin: clamp(1rem, 2.2vw, 1.35rem) auto 0 !important;
  padding: .95rem 1.05rem !important;
  border-radius: 24px !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 {
  display: grid !important;
  justify-items: center !important;
  align-items: center !important;
  gap: .38rem !important;
  text-align: center !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 .eyebrow,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 .eyebrow {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(138,239,255,.90) !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 h3,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 {
  margin: 0 !important;
  max-width: 100% !important;
  font-size: clamp(1.45rem, 2.7vw, 2.2rem) !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  text-align: center !important;
}

/* 5) Hub mobile: text balance + no split words + no button line breaks. */
@media (max-width: 760px) {
  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    padding: calc(env(safe-area-inset-top, 0px) + 3.9rem) 0 max(1.25rem, env(safe-area-inset-bottom)) !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    min-height: clamp(318px, 48svh, 390px) !important;
    padding: .86rem .52rem .78rem !important;
  }

  body.sx-home .sx-choice-content {
    gap: .50rem !important;
  }

  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2,
  body.sx-home .hub-title-v164 {
    font-size: clamp(1.02rem, 4.85vw, 1.38rem) !important;
    line-height: .96 !important;
    letter-spacing: -.068em !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    min-height: 7.1em !important;
    font-size: clamp(.64rem, 2.55vw, .74rem) !important;
    line-height: 1.18 !important;
    -webkit-line-clamp: 7 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.sx-home .sx-choice-shop .sx-choice-content p:not(.sx-choice-kicker) {
    font-size: clamp(.62rem, 2.45vw, .72rem) !important;
    -webkit-line-clamp: 7 !important;
  }

  body.sx-home .sx-choice-modal > strong,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal > strong {
    min-height: 34px !important;
    padding: 0 .25rem !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    font-size: clamp(.50rem, 2.15vw, .62rem) !important;
    line-height: 1 !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .sx-choice-modal h2,
  body.sx-home .sx-choice-layout-v11 .sx-choice-content h2,
  body.sx-home .hub-title-v164 {
    font-size: clamp(.92rem, 4.3vw, 1.08rem) !important;
    letter-spacing: -.06em !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    font-size: .59rem !important;
    line-height: 1.16 !important;
  }

  body.sx-home .sx-choice-modal > strong,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal > strong {
    font-size: .48rem !important;
  }
}

/* 6) Mobile offer 01/02/03/04 cards: keep their layout, breathe inside. */
@media (max-width: 760px) {
  body.sx-studio-selector-flat-v175 #offres .family-switch-v78,
  body.sx-offres-page-v135 .family-switch-v78,
  body.studio-clean-v8 #offres .family-switch-v78 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(.45rem, 2vw, .85rem) !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button,
  body.sx-offres-page-v135 .family-switch-v78 > button,
  body.studio-clean-v8 #offres .family-switch-v78 > button {
    min-height: 124px !important;
    padding: .68rem .38rem .60rem !important;
    display: grid !important;
    grid-template-rows: auto minmax(2.25em, auto) auto !important;
    align-content: start !important;
    align-items: start !important;
    gap: .54rem !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button span,
  body.sx-offres-page-v135 .family-switch-v78 > button span,
  body.studio-clean-v8 #offres .family-switch-v78 > button span {
    margin: 0 !important;
    line-height: 1 !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button strong,
  body.sx-offres-page-v135 .family-switch-v78 > button strong,
  body.studio-clean-v8 #offres .family-switch-v78 > button strong {
    margin: 0 !important;
    align-self: start !important;
    font-size: clamp(.62rem, 2.55vw, .76rem) !important;
    line-height: 1.02 !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button .family-action-v84,
  body.sx-offres-page-v135 .family-switch-v78 > button .family-action-v84,
  body.studio-clean-v8 #offres .family-switch-v78 > button .family-action-v84 {
    align-self: end !important;
    justify-self: center !important;
    width: min(100%, 118px) !important;
    min-height: 30px !important;
    margin: .10rem auto 0 !important;
    padding: 0 .42rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: clamp(.49rem, 2.05vw, .57rem) !important;
    line-height: .98 !important;
  }
}

/* 7) Mobile modal top clipping: RDV and Questionnaire get the same viewport behavior as Question rapide. */
@media (max-width: 860px) {
  [data-calendly-modal].is-open,
  [data-questionnaire-modal].is-open,
  [data-contact-message-modal].is-open,
  .sx-modal-v146.is-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: max(14px, env(safe-area-inset-top, 0px)) 9px max(14px, env(safe-area-inset-bottom, 0px)) !important;
  }

  [data-calendly-modal] .booking-dialog-v113,
  [data-questionnaire-modal] .questionnaire-dialog,
  [data-questionnaire-modal] .questionnaire-dialog-v113,
  [data-contact-message-modal] .booking-dialog-v113,
  .sx-option2-dialog-v146 {
    width: min(100%, 760px) !important;
    max-height: calc(100dvh - max(14px, env(safe-area-inset-top, 0px)) - max(14px, env(safe-area-inset-bottom, 0px))) !important;
    margin: 0 auto !important;
    overflow: auto !important;
    transform: none !important;
    border-radius: 26px !important;
  }
}

@supports not (height: 100dvh) {
  @media (max-width: 860px) {
    [data-calendly-modal].is-open,
    [data-questionnaire-modal].is-open,
    [data-contact-message-modal].is-open,
    .sx-modal-v146.is-open {
      height: 100vh !important;
      min-height: 100vh !important;
      max-height: 100vh !important;
    }

    [data-calendly-modal] .booking-dialog-v113,
    [data-questionnaire-modal] .questionnaire-dialog,
    [data-questionnaire-modal] .questionnaire-dialog-v113,
    [data-contact-message-modal] .booking-dialog-v113,
    .sx-option2-dialog-v146 {
      max-height: calc(100vh - 28px) !important;
    }
  }
}


/* V181 — contact mail width, reliable language dropdowns, mobile prep cards */

/* 1) Language button/dropdown reliability.
   The dropdown is fixed when open, so it cannot be clipped by the rounded header or appear under the page. */
.sx-site-header-v140,
.prep-header-v164 {
  overflow: visible !important;
  z-index: 999990 !important;
}

.sx-site-header-v140 .language-menu,
.prep-header-v164 .language-menu,
[data-lang-menu].language-menu {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1000000 !important;
}

.sx-site-header-v140 .language-icon-button,
.prep-header-v164 .language-icon-button {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.sx-site-header-v140 .language-options.is-open,
.prep-header-v164 .language-options.is-open,
[data-lang-options].is-open {
  display: grid !important;
  gap: 4px !important;
  position: fixed !important;
  top: calc(env(safe-area-inset-top, 0px) + 82px) !important;
  right: clamp(14px, 3vw, 36px) !important;
  left: auto !important;
  z-index: 1000001 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.sx-site-header-v140 .language-options.is-open::before,
.prep-header-v164 .language-options.is-open::before,
[data-lang-options].is-open::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 860px) {
  .prep-header-v164 {
    overflow: visible !important;
  }

  .prep-header-v164 .prep-nav-v164 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .42rem !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .prep-header-v164 .language-menu,
  .prep-header-v164 [data-lang-menu] {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .prep-header-v164 .language-icon-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  .prep-header-v164 .language-options.is-open,
  .sx-site-header-v140 .language-options.is-open,
  [data-lang-options].is-open {
    top: calc(env(safe-area-inset-top, 0px) + 76px) !important;
    right: 14px !important;
    min-width: 158px !important;
    max-width: calc(100vw - 28px) !important;
  }
}

/* 2) Contact mail: same width as the three cards above, but compact and readable. */
body.sx-contact-page-v135 .contact-mail-panel-v167,
body.sx-contact-offerbase-v167 .contact-mail-panel-v167 {
  width: 100% !important;
  max-width: none !important;
  margin: clamp(.95rem, 2vw, 1.25rem) 0 0 !important;
  padding: clamp(.86rem, 1.45vw, 1.05rem) clamp(1rem, 2vw, 1.35rem) !important;
  border-radius: 24px !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .72rem !important;
  min-width: 0 !important;
  text-align: center !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 .eyebrow,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 .eyebrow {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: .36rem .62rem !important;
  min-height: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(138,239,255,.18) !important;
  background: rgba(138,239,255,.045) !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  color: rgba(138,239,255,.88) !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 h3,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  font-size: clamp(1.25rem, 2.35vw, 1.85rem) !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
  text-align: center !important;
}

body.sx-contact-page-v135 .contact-mail-head-v167 h3 a,
body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 a {
  display: inline-block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  color: rgba(248,250,255,.94) !important;
  text-decoration: none !important;
}

@media (max-width: 760px) {
  body.sx-contact-page-v135 .contact-mail-panel-v167,
  body.sx-contact-offerbase-v167 .contact-mail-panel-v167 {
    padding: .86rem .76rem !important;
    border-radius: 22px !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167,
  body.sx-contact-offerbase-v167 .contact-mail-head-v167 {
    justify-content: center !important;
    gap: .52rem !important;
    flex-wrap: nowrap !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 .eyebrow,
  body.sx-contact-offerbase-v167 .contact-mail-head-v167 .eyebrow {
    padding: .30rem .46rem !important;
    font-size: .56rem !important;
    letter-spacing: .11em !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 h3,
  body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 {
    font-size: clamp(1.02rem, 4.65vw, 1.32rem) !important;
    letter-spacing: -.045em !important;
  }
}

@media (max-width: 350px) {
  body.sx-contact-page-v135 .contact-mail-head-v167,
  body.sx-contact-offerbase-v167 .contact-mail-head-v167 {
    gap: .36rem !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 .eyebrow,
  body.sx-contact-offerbase-v167 .contact-mail-head-v167 .eyebrow {
    font-size: .50rem !important;
    padding-inline: .36rem !important;
  }

  body.sx-contact-page-v135 .contact-mail-head-v167 h3,
  body.sx-contact-offerbase-v167 .contact-mail-head-v167 h3 {
    font-size: .98rem !important;
  }
}

/* 3) Shop/Library mobile: keep 01/02/03 side by side instead of stacked. */
@media (max-width: 860px) {
  body.prep-offerbase-v167 .prep-card-grid-v167 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .55rem !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 {
    min-width: 0 !important;
    min-height: 164px !important;
    padding: .78rem .52rem !important;
    border-radius: 20px !important;
    display: grid !important;
    grid-template-rows: auto auto 1fr !important;
    align-content: start !important;
    gap: .46rem !important;
    overflow: hidden !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 span {
    margin: 0 !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 strong {
    margin: 0 !important;
    font-size: clamp(.72rem, 3vw, .92rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 small {
    margin: 0 !important;
    color: rgba(246,249,255,.58) !important;
    font-size: clamp(.54rem, 2.25vw, .66rem) !important;
    line-height: 1.14 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}

@media (max-width: 380px) {
  body.prep-offerbase-v167 .prep-card-grid-v167 {
    gap: .42rem !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 {
    min-height: 154px !important;
    padding: .68rem .42rem !important;
    border-radius: 18px !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 strong {
    font-size: .68rem !important;
  }

  body.prep-offerbase-v167 .prep-card-offer-v167 small {
    font-size: .52rem !important;
    -webkit-line-clamp: 5 !important;
  }
}

/* 4) Offers selector mobile: same structure, but the CTA breathes under the title. */
@media (max-width: 760px) {
  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button,
  body.sx-offres-page-v135 .family-switch-v78 > button,
  body.studio-clean-v8 #offres .family-switch-v78 > button {
    display: grid !important;
    grid-template-rows: auto minmax(2.45em, auto) 1fr auto !important;
    align-content: stretch !important;
    align-items: start !important;
    gap: .40rem !important;
    min-height: 118px !important;
    padding: .66rem .42rem .58rem !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button span,
  body.sx-offres-page-v135 .family-switch-v78 > button span,
  body.studio-clean-v8 #offres .family-switch-v78 > button span {
    align-self: start !important;
    margin: 0 !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button strong,
  body.sx-offres-page-v135 .family-switch-v78 > button strong,
  body.studio-clean-v8 #offres .family-switch-v78 > button strong {
    align-self: start !important;
    margin: 0 !important;
    min-height: 2.1em !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button small,
  body.sx-offres-page-v135 .family-switch-v78 > button small,
  body.studio-clean-v8 #offres .family-switch-v78 > button small {
    display: none !important;
  }

  body.sx-studio-selector-flat-v175 #offres .family-switch-v78 > button .family-action-v84,
  body.sx-offres-page-v135 .family-switch-v78 > button .family-action-v84,
  body.studio-clean-v8 #offres .family-switch-v78 > button .family-action-v84 {
    grid-row: 4 !important;
    align-self: end !important;
    justify-self: center !important;
    width: min(100%, 118px) !important;
    margin: .36rem auto 0 !important;
  }
}

/* V182 — Studio language dropdown front-layer + Contact mail/tel rows */

/* 1) Language dropdown: visible on Studio/Offres/Contact/Shop/Library even when script.js only toggles the parent menu. */
.sx-site-header-v140,
.prep-header-v164,
.sx-header-nav-v140,
.prep-nav-v164,
.language-menu,
[data-lang-menu] {
  overflow: visible !important;
  isolation: auto !important;
}

.sx-site-header-v140,
.prep-header-v164 {
  z-index: 2147482000 !important;
}

.language-menu.is-open .language-options,
[data-lang-menu].is-open [data-lang-options],
[data-lang-options].is-open {
  display: grid !important;
  gap: 4px !important;
  position: fixed !important;
  top: calc(env(safe-area-inset-top, 0px) + 74px) !important;
  right: clamp(14px, 3vw, 44px) !important;
  left: auto !important;
  width: max-content !important;
  min-width: 158px !important;
  max-width: calc(100vw - 28px) !important;
  z-index: 2147483000 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  clip-path: none !important;
  overflow: visible !important;
}

.language-menu.is-open .language-options::before,
[data-lang-menu].is-open [data-lang-options]::before,
[data-lang-options].is-open::before {
  content: none !important;
  display: none !important;
}

.language-menu.is-open .language-options button,
[data-lang-menu].is-open [data-lang-options] button,
[data-lang-options].is-open button {
  pointer-events: auto !important;
  white-space: nowrap !important;
}

@media (max-width: 860px) {
  .language-menu.is-open .language-options,
  [data-lang-menu].is-open [data-lang-options],
  [data-lang-options].is-open {
    top: calc(env(safe-area-inset-top, 0px) + 76px) !important;
    right: 14px !important;
    min-width: 158px !important;
  }
}

/* 2) Contact page: two identical info modals, label left, value centered. */
body.sx-contact-v182 .contact-info-panel-v182,
body.sx-contact-page-v135 .contact-info-panel-v182,
body.sx-contact-offerbase-v167 .contact-info-panel-v182 {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: clamp(.88rem, 1.35vw, 1.06rem) clamp(1rem, 2vw, 1.38rem) !important;
  border-radius: 24px !important;
}

body.sx-contact-v182 .contact-info-mail-v182,
body.sx-contact-page-v135 .contact-info-mail-v182,
body.sx-contact-offerbase-v167 .contact-info-mail-v182 {
  margin-top: clamp(.95rem, 2vw, 1.25rem) !important;
}

body.sx-contact-v182 .contact-info-tel-v182,
body.sx-contact-page-v135 .contact-info-tel-v182,
body.sx-contact-offerbase-v167 .contact-info-tel-v182 {
  margin-top: .72rem !important;
}

body.sx-contact-v182 .contact-info-head-v182,
body.sx-contact-page-v135 .contact-info-head-v182,
body.sx-contact-offerbase-v167 .contact-info-head-v182 {
  display: grid !important;
  grid-template-columns: minmax(76px, 1fr) auto minmax(76px, 1fr) !important;
  align-items: center !important;
  gap: .7rem !important;
  width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
}

body.sx-contact-v182 .contact-info-head-v182 .eyebrow,
body.sx-contact-page-v135 .contact-info-head-v182 .eyebrow,
body.sx-contact-offerbase-v167 .contact-info-head-v182 .eyebrow {
  grid-column: 1 !important;
  justify-self: start !important;
  align-self: center !important;
  margin: 0 !important;
  padding: .34rem .62rem !important;
  width: auto !important;
  min-height: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(138,239,255,.18) !important;
  background: rgba(138,239,255,.045) !important;
  color: rgba(138,239,255,.88) !important;
  font-size: .66rem !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  white-space: nowrap !important;
}

body.sx-contact-v182 .contact-info-head-v182 h3,
body.sx-contact-page-v135 .contact-info-head-v182 h3,
body.sx-contact-offerbase-v167 .contact-info-head-v182 h3 {
  grid-column: 2 !important;
  justify-self: center !important;
  align-self: center !important;
  min-width: 0 !important;
  max-width: min(100%, 560px) !important;
  margin: 0 !important;
  font-size: clamp(1.18rem, 2.15vw, 1.72rem) !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
  text-align: center !important;
}

body.sx-contact-v182 .contact-info-head-v182 h3 a,
body.sx-contact-v182 .contact-info-head-v182 h3 span,
body.sx-contact-page-v135 .contact-info-head-v182 h3 a,
body.sx-contact-page-v135 .contact-info-head-v182 h3 span,
body.sx-contact-offerbase-v167 .contact-info-head-v182 h3 a,
body.sx-contact-offerbase-v167 .contact-info-head-v182 h3 span {
  display: inline-block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  color: rgba(248,250,255,.94) !important;
  text-decoration: none !important;
}

@media (max-width: 760px) {
  body.sx-contact-v182 .contact-info-panel-v182,
  body.sx-contact-page-v135 .contact-info-panel-v182,
  body.sx-contact-offerbase-v167 .contact-info-panel-v182 {
    padding: .82rem .72rem !important;
    border-radius: 22px !important;
  }

  body.sx-contact-v182 .contact-info-head-v182,
  body.sx-contact-page-v135 .contact-info-head-v182,
  body.sx-contact-offerbase-v167 .contact-info-head-v182 {
    grid-template-columns: minmax(42px, 1fr) auto minmax(42px, 1fr) !important;
    gap: .42rem !important;
  }

  body.sx-contact-v182 .contact-info-head-v182 .eyebrow,
  body.sx-contact-page-v135 .contact-info-head-v182 .eyebrow,
  body.sx-contact-offerbase-v167 .contact-info-head-v182 .eyebrow {
    padding: .28rem .42rem !important;
    font-size: .52rem !important;
    letter-spacing: .10em !important;
  }

  body.sx-contact-v182 .contact-info-head-v182 h3,
  body.sx-contact-page-v135 .contact-info-head-v182 h3,
  body.sx-contact-offerbase-v167 .contact-info-head-v182 h3 {
    font-size: clamp(.96rem, 4.35vw, 1.26rem) !important;
    letter-spacing: -.045em !important;
  }
}

@media (max-width: 350px) {
  body.sx-contact-v182 .contact-info-head-v182,
  body.sx-contact-page-v135 .contact-info-head-v182,
  body.sx-contact-offerbase-v167 .contact-info-head-v182 {
    grid-template-columns: minmax(34px, 1fr) auto minmax(34px, 1fr) !important;
    gap: .30rem !important;
  }

  body.sx-contact-v182 .contact-info-head-v182 h3,
  body.sx-contact-page-v135 .contact-info-head-v182 h3,
  body.sx-contact-offerbase-v167 .contact-info-head-v182 h3 {
    font-size: .94rem !important;
  }
}

/* V183 — body-level language dropdown portal, above every header/section/modal layer. */
.sx27-lang-portal-v183 {
  position: fixed !important;
  display: grid !important;
  gap: 4px !important;
  width: max-content !important;
  min-width: 158px !important;
  max-width: calc(100vw - 28px) !important;
  padding: 7px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(13,20,31,.98), rgba(4,7,13,.985)) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  z-index: 2147483647 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.sx27-lang-portal-v183[hidden] {
  display: none !important;
}

.sx27-lang-portal-v183 button {
  appearance: none !important;
  width: 100% !important;
  min-height: 36px !important;
  padding: 9px 32px 9px 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: rgba(246,249,255,.78) !important;
  text-align: left !important;
  font: inherit !important;
  font-size: .82rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  position: relative !important;
}

.sx27-lang-portal-v183 button:hover,
.sx27-lang-portal-v183 button.is-active {
  color: #06111e !important;
  background: var(--accent) !important;
}

.sx27-lang-portal-v183 button.is-active::after {
  content: '✓' !important;
  position: absolute !important;
  right: 11px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: .76rem !important;
}

.language-menu.sx27-lang-active-v183 .language-icon-button,
[data-lang-menu].sx27-lang-active-v183 [data-lang-toggle] {
  color: #06111e !important;
  border-color: rgba(138,239,255,.70) !important;
  background: var(--accent) !important;
}


/* V186 — legal pages and discreet legal footers */
.sx-legal-mini-footer-v186 {
  width: min(1120px, calc(100% - 32px));
  margin: clamp(1.6rem, 4vw, 3rem) auto clamp(1.1rem, 3vw, 2rem);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: .42rem .88rem;
  color: rgba(246,249,255,.42);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sx-legal-mini-footer-v186 a,
.sx-prep-legal-footer-v186 a,
.sx-legal-footer-v186 a {
  color: rgba(246,249,255,.56);
  text-decoration: none;
}

.sx-legal-mini-footer-v186 a:hover,
.sx-prep-legal-footer-v186 a:hover,
.sx-legal-footer-v186 a:hover {
  color: rgba(138,239,255,.92);
}

.sx-home .sx-legal-mini-footer-root-v186 {
  position: fixed;
  left: 50%;
  bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: 30;
  margin: 0;
  width: min(680px, calc(100% - 28px));
}

.sx-prep-legal-footer-v186 {
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem .9rem;
}

.sx-prep-legal-footer-v186 span {
  color: rgba(246,249,255,.38);
}

.sx-legal-page-v186 .sx-header-nav-v140 {
  gap: clamp(.45rem, 1.4vw, .9rem);
}

.sx-legal-page-v186 .sx-header-nav-v140 a {
  white-space: nowrap;
}

.sx-legal-section-v186 {
  padding-bottom: clamp(3rem, 8vw, 6rem);
}

.sx-legal-hero-v186 {
  max-width: 940px;
}

.sx-legal-content-v186 {
  margin-top: clamp(2rem, 5vw, 3.8rem);
  display: grid;
  gap: .92rem;
  max-width: 980px;
}

.sx-legal-note-v186,
.sx-legal-block-v186 {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  padding: clamp(1rem, 2.2vw, 1.45rem);
}

.sx-legal-note-v186 {
  border-color: rgba(138,239,255,.18);
  background: linear-gradient(180deg, rgba(138,239,255,.065), rgba(255,255,255,.018));
}

.sx-legal-block-v186 h2 {
  margin: 0 0 .72rem;
  font-size: clamp(1.1rem, 2.1vw, 1.55rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.sx-legal-block-v186 p,
.sx-legal-note-v186 p,
.sx-legal-block-v186 li,
.sx-legal-block-v186 dd {
  color: rgba(246,249,255,.68);
  font-size: .96rem;
  line-height: 1.62;
}

.sx-legal-block-v186 p,
.sx-legal-note-v186 p {
  margin: 0;
}

.sx-legal-block-v186 ul {
  margin: 0;
  padding-left: 1.15rem;
}

.sx-legal-block-v186 li + li {
  margin-top: .38rem;
}

.sx-legal-block-v186 dl {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(140px, .36fr) minmax(0, 1fr);
  gap: .6rem .9rem;
}

.sx-legal-block-v186 dt {
  color: rgba(138,239,255,.85);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sx-legal-block-v186 dd {
  margin: 0;
}

.sx-legal-block-v186 a {
  color: rgba(138,239,255,.92);
  text-decoration: none;
}

.sx-legal-block-v186 a:hover {
  text-decoration: underline;
}

.sx-legal-footer-v186 {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1.2rem 0 1.5rem;
}

.sx-legal-footer-inner-v186 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 860px) {
  .sx-home .sx-legal-mini-footer-root-v186 {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    margin: 1rem auto 1rem;
    padding-inline: .5rem;
  }

  .sx-legal-mini-footer-v186 {
    font-size: .6rem;
    gap: .36rem .62rem;
  }

  .sx-legal-page-v186 .sx-header-nav-v140 a[href*="mentions"],
  .sx-legal-page-v186 .sx-header-nav-v140 a[href*="confidentialite"],
  .sx-legal-page-v186 .sx-header-nav-v140 a[href*="conditions-sx27"] {
    display: none;
  }

  .sx-legal-block-v186 dl {
    grid-template-columns: 1fr;
    gap: .18rem .8rem;
  }

  .sx-legal-block-v186 dt:not(:first-child) {
    margin-top: .6rem;
  }
}

/* =========================
   SX27 LIBRARY V188 — TOOL LAUNCHER LOCAL PROTOTYPE
   ========================= */

.sx-library-v188 {
  background:
    radial-gradient(circle at 74% -12%, rgba(138,239,255,.18), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(167,184,255,.13), transparent 28rem),
    radial-gradient(circle at 50% 110%, rgba(77,105,255,.12), transparent 36rem),
    linear-gradient(180deg, #020409 0%, #050a13 52%, #020409 100%);
  min-height: 100svh;
}

.sx-library-header-v188 {
  background: linear-gradient(180deg, rgba(2,4,9,.94), rgba(2,4,9,.74) 72%, rgba(2,4,9,0));
}

.sx-library-nav-v188 {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.sx-library-v188 .sx-library-title {
  margin-inline: auto;
  text-align: left;
}

.sx-library-v188 .sx-library-title h1 {
  max-width: 980px;
}

.sx-library-v188 .sx-library-title .lead {
  max-width: 860px;
}

.sx-library-launcher-v188 {
  position: relative;
  isolation: isolate;
}

.sx-launcher-brand-v188 {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  padding: 18px;
  background:
    radial-gradient(circle at 80% 0%, rgba(138,239,255,.13), transparent 15rem),
    rgba(255,255,255,.045);
}

.sx-launcher-brand-v188 span,
.sx-launcher-search-v188 span {
  display: block;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.sx-launcher-brand-v188 strong {
  display: block;
  margin-top: 22px;
  font-size: 42px;
  line-height: .86;
  letter-spacing: -.07em;
}

.sx-launcher-brand-v188 small {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  line-height: 1.35;
}

.sx-launcher-search-v188 {
  display: grid;
  gap: 10px;
}

.sx-launcher-search-v188 input {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  color: var(--text);
  background: rgba(255,255,255,.055);
  padding: 0 14px;
  outline: none;
  font: inherit;
  transition: border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
}

.sx-launcher-search-v188 input::placeholder {
  color: rgba(226,232,240,.42);
}

.sx-launcher-search-v188 input:focus {
  border-color: rgba(138,239,255,.42);
  background: rgba(255,255,255,.075);
  box-shadow: 0 0 0 4px rgba(138,239,255,.07);
}

.sx-launcher-head-v188 p {
  max-width: 330px;
  color: var(--text-soft);
  line-height: 1.5;
  font-size: 14px;
  text-align: right;
}

.sx-featured-app-v188 span em {
  display: inline-block;
  margin-top: 10px;
  color: rgba(226,232,240,.70);
  font-style: normal;
}

.sx-tool-action-v188 {
  margin-top: 16px;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: var(--text);
  background: rgba(255,255,255,.052);
  font-size: 13px;
  cursor: default;
}

.sx-launcher-empty-v188 {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  padding: 18px;
  color: var(--text-soft);
  background: rgba(255,255,255,.04);
  text-align: center;
}

.sx-library-v188 .sx-launch-app-card small {
  min-height: 34px;
}

.sx-library-v188 .sx-launch-app-card h3,
.sx-library-v188 .sx-launch-app-card p,
.sx-library-v188 .sx-launch-app-card small,
.sx-library-v188 .sx-launch-app-card button {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.sx-library-footer-v188 {
  position: relative;
}

@media (max-width: 1180px) {
  .sx-library-v188 .sx-app-library-grid-v188 {
    max-height: 460px;
  }
}

@media (max-width: 980px) {
  .sx-library-v188 .sx-library-sidebar-v188 {
    gap: 16px;
  }

  .sx-launcher-brand-v188 {
    display: none;
  }

  .sx-launcher-head-v188 {
    align-items: flex-start;
  }

  .sx-launcher-head-v188 p {
    text-align: left;
    max-width: 100%;
  }

  .sx-library-v188 .sx-launcher-cats {
    scrollbar-width: none;
  }

  .sx-library-v188 .sx-launcher-cats::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 720px) {
  .sx-library-nav-v188 .sx-back-link:nth-child(2) {
    display: none;
  }

  .sx-library-v188 .sx-library-title {
    margin-bottom: 22px;
  }

  .sx-library-v188 .sx-library-title .lead {
    font-size: 15px;
    line-height: 1.58;
  }

  .sx-library-v188 .sx-library-launcher-v9 {
    min-height: 0;
  }

  .sx-library-v188 .sx-launcher-panel {
    padding: 16px;
  }

  .sx-library-v188 .sx-launcher-content {
    gap: 14px;
  }

  .sx-library-v188 .sx-launcher-head {
    display: grid;
    gap: 12px;
  }

  .sx-library-v188 .sx-launcher-head h2 {
    font-size: clamp(28px, 8vw, 42px);
  }

  .sx-library-v188 .sx-featured-app {
    min-height: 0;
    padding: 20px;
    border-radius: 24px;
  }

  .sx-library-v188 .sx-featured-app h3 {
    font-size: clamp(36px, 10vw, 52px);
  }

  .sx-library-v188 .sx-launch-app-card {
    min-height: 0;
    padding: 18px;
  }

  .sx-library-v188 .sx-launch-app-card h3 {
    margin-top: 22px;
    font-size: 25px;
  }

  .sx-library-v188 .sx-launch-app-card small {
    min-height: 0;
  }
}


/* =========================
   SX27 V189 — Library launcher polish + unified shell
   ========================= */

/* Hub legal links must stay in the page flow, never fixed over the content. */
body.sx-home .sx-legal-mini-footer-root-v186 {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 1 !important;
  margin: clamp(1rem, 2.6vw, 1.6rem) auto clamp(1rem, 2.6vw, 1.6rem) !important;
}

/* Use the same visual base as Studio for Shop + Library. */
body.sx-library-v189,
body.sx-shop-v189 {
  --sx27-bg-top-v180: #071421;
  --sx27-bg-mid-v180: #040914;
  --sx27-bg-bottom-v180: #020409;
  --sx27-glow-cyan-v180: rgba(116, 208, 235, .060);
  --sx27-glow-blue-v180: rgba(67, 116, 207, .165);
  --sx27-glow-low-v180: rgba(63, 90, 170, .110);
  --accent: #8aefff !important;
  --accent-2: #a7b8ff !important;
  --accent-soft: rgba(138,239,255,.082) !important;
  --accent-line: rgba(138,239,255,.255) !important;
  min-height: 100svh !important;
  height: auto !important;
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 14% 8%, var(--sx27-glow-cyan-v180), transparent 26rem),
    radial-gradient(circle at 82% 0%, var(--sx27-glow-blue-v180), transparent 32rem),
    radial-gradient(circle at 54% 110%, var(--sx27-glow-low-v180), transparent 36rem),
    linear-gradient(180deg, var(--sx27-bg-top-v180) 0%, var(--sx27-bg-mid-v180) 42%, var(--sx27-bg-bottom-v180) 100%) !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: scroll !important;
  color: var(--text) !important;
}

body.sx-library-v189::before,
body.sx-library-v189::after,
body.sx-shop-v189::before,
body.sx-shop-v189::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-library-v189::before,
body.sx-shop-v189::before {
  z-index: -2 !important;
  opacity: 0 !important;
  background: none !important;
}

body.sx-library-v189::after,
body.sx-shop-v189::after {
  z-index: -1 !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 50% 42%, transparent 0, rgba(0,0,0,.30) 72%),
    linear-gradient(180deg, rgba(2,4,9,.025), rgba(2,4,9,.34)) !important;
}

body.sx-library-v189 .grain,
body.sx-shop-v189 .grain {
  display: none !important;
  opacity: 0 !important;
}

body.sx-library-v189 main::before,
body.sx-library-v189 main::after,
body.sx-library-v189 .section::before,
body.sx-library-v189 .section::after,
body.sx-library-v189 .part::before,
body.sx-library-v189 .part::after,
body.sx-shop-v189 main::before,
body.sx-shop-v189 main::after,
body.sx-shop-v189 .section::before,
body.sx-shop-v189 .section::after,
body.sx-shop-v189 .part::before,
body.sx-shop-v189 .part::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Same header shell as Studio. */
body.sx-library-v189 .sx-site-header-v140,
body.sx-shop-v189 .sx-site-header-v140 {
  overflow: visible !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 6% 0%, rgba(138,239,255,.042), transparent 30%),
    linear-gradient(180deg, rgba(4,8,15,.985), rgba(3,6,12,.970)) !important;
  border-color: rgba(255,255,255,.082) !important;
  box-shadow: 0 18px 65px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.045) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.sx-library-v189 .sx-site-header-v140::before,
body.sx-library-v189 .sx-site-header-v140::after,
body.sx-shop-v189 .sx-site-header-v140::before,
body.sx-shop-v189 .sx-site-header-v140::after {
  content: none !important;
  display: none !important;
}

/* New Library launcher layout: no huge hero, no selected-tool modal. */
body.sx-library-v189 .sx-library-main-v189 {
  padding-top: clamp(6.9rem, 10vw, 8.2rem) !important;
  min-height: 100svh !important;
}

body.sx-library-v189 .sx-library-section-v189 {
  padding: clamp(1rem, 3vw, 2rem) 0 clamp(3.2rem, 7vw, 5.5rem) !important;
}

body.sx-library-v189 .sx-library-shell-v189,
body.sx-library-v189 .sx-library-filters-v189,
body.sx-library-v189 .sx-library-panel-v189,
body.sx-library-v189 .sx-library-tool-card-v189 {
  background:
    radial-gradient(circle at 16% 0%, rgba(120,213,240,.038), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.014)) !important;
  border-color: rgba(255,255,255,.084) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.028) !important;
}

body.sx-library-v189 .sx-library-shell-v189 {
  max-width: 1180px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.sx-library-v189 .sx-library-toolbar-v189 {
  display: grid !important;
  grid-template-columns: minmax(0, .78fr) minmax(280px, .42fr) !important;
  gap: clamp(.9rem, 2vw, 1.15rem) !important;
  align-items: end !important;
  margin-bottom: clamp(.95rem, 2vw, 1.25rem) !important;
}

body.sx-library-v189 .sx-library-toolbar-title-v189 {
  min-width: 0 !important;
}

body.sx-library-v189 .sx-library-toolbar-title-v189 h1 {
  margin: .28rem 0 0 !important;
  color: rgba(250,252,255,.98) !important;
  font-size: clamp(3rem, 7.4vw, 6.4rem) !important;
  line-height: .84 !important;
  letter-spacing: -.085em !important;
}

body.sx-library-v189 .sx-library-search-v189 {
  display: grid !important;
  gap: .58rem !important;
}

body.sx-library-v189 .sx-library-search-v189 span {
  color: rgba(138,239,255,.86) !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: .72rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

body.sx-library-v189 .sx-library-search-v189 input {
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid rgba(255,255,255,.095) !important;
  border-radius: 999px !important;
  color: rgba(250,252,255,.94) !important;
  background: rgba(255,255,255,.040) !important;
  padding: 0 1rem !important;
  outline: none !important;
  font: inherit !important;
}

body.sx-library-v189 .sx-library-search-v189 input:focus {
  border-color: rgba(138,239,255,.32) !important;
  background: rgba(255,255,255,.058) !important;
  box-shadow: 0 0 0 4px rgba(138,239,255,.055) !important;
}

body.sx-library-v189 .sx-library-layout-v189 {
  display: grid !important;
  grid-template-columns: minmax(210px, .28fr) minmax(0, 1fr) !important;
  gap: clamp(.9rem, 1.7vw, 1.15rem) !important;
  align-items: start !important;
}

body.sx-library-v189 .sx-library-filters-v189 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .7rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.sx-library-v189 .sx-library-filters-v189 > button {
  min-height: 126px !important;
  border-radius: 24px !important;
  padding: 1rem !important;
}

body.sx-library-v189 .sx-library-filters-v189 > button strong {
  font-size: clamp(1rem, 1.5vw, 1.18rem) !important;
}

body.sx-library-v189 .sx-library-filters-v189 > button small {
  max-width: 94% !important;
}

body.sx-library-v189 .sx-library-panel-v189 {
  min-width: 0 !important;
  border-radius: 28px !important;
  padding: clamp(1rem, 1.8vw, 1.2rem) !important;
}

body.sx-library-v189 .sx-library-panel-head-v189 {
  margin-bottom: clamp(.9rem, 1.8vw, 1.05rem) !important;
}

body.sx-library-v189 .sx-library-panel-head-v189 h2 {
  font-size: clamp(1.8rem, 3.6vw, 3.2rem) !important;
  line-height: .9 !important;
  letter-spacing: -.065em !important;
}

body.sx-library-v189 .sx-library-panel-head-v189 p:not(.eyebrow) {
  max-width: 660px !important;
  color: rgba(246,249,255,.58) !important;
  line-height: 1.5 !important;
}

body.sx-library-v189 .sx-app-library-grid-v189 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(.75rem, 1.35vw, .95rem) !important;
  max-height: none !important;
  overflow: visible !important;
}

body.sx-library-v189 .sx-library-tool-card-v189 {
  position: relative !important;
  overflow: hidden !important;
  min-height: 230px !important;
  display: grid !important;
  align-content: start !important;
  gap: .68rem !important;
  border: 1px solid rgba(255,255,255,.084) !important;
  border-radius: 24px !important;
  padding: 1rem 1rem 3.75rem !important;
  color: rgba(250,252,255,.94) !important;
}

body.sx-library-v189 .sx-library-tool-card-v189:hover,
body.sx-library-v189 .sx-library-tool-card-v189.is-visible:hover {
  border-color: rgba(138,239,255,.26) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(120,213,240,.082), transparent 48%),
    linear-gradient(180deg, rgba(138,239,255,.044), rgba(255,255,255,.016)) !important;
}

body.sx-library-v189 .sx-library-tool-card-v189[hidden] {
  display: none !important;
}

body.sx-library-v189 .sx-library-tool-card-v189 span {
  color: rgba(138,239,255,.86) !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: .72rem !important;
  letter-spacing: .06em !important;
}

body.sx-library-v189 .sx-library-tool-card-v189 h3 {
  margin: .42rem 0 0 !important;
  color: rgba(250,252,255,.96) !important;
  font-size: clamp(1.22rem, 2.05vw, 1.78rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.052em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.sx-library-v189 .sx-library-tool-card-v189 p,
body.sx-library-v189 .sx-library-tool-card-v189 small {
  margin: 0 !important;
  color: rgba(246,249,255,.62) !important;
  line-height: 1.42 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.sx-library-v189 .sx-library-tool-card-v189 p {
  font-size: .88rem !important;
}

body.sx-library-v189 .sx-library-tool-card-v189 small {
  display: block !important;
  color: rgba(246,249,255,.44) !important;
  font-size: .78rem !important;
}

body.sx-library-v189 .sx-tool-status-v189 {
  left: 1rem !important;
  right: auto !important;
  bottom: 1rem !important;
  position: absolute !important;
}

body.sx-library-v189 .sx-launcher-empty-v189 {
  margin: .95rem 0 0 !important;
  border: 1px dashed rgba(138,239,255,.20) !important;
  border-radius: 22px !important;
  padding: 1rem !important;
  color: rgba(246,249,255,.58) !important;
  text-align: center !important;
}

/* Hide old V188 objects if an older HTML copy is cached/mixed. */
body.sx-library-v189 .sx-library-title,
body.sx-library-v189 .sx-featured-app,
body.sx-library-v189 .sx-launcher-brand-v188,
body.sx-library-v189 .sx-launcher-head-v188 > p,
body.sx-library-v189 .sx-featured-app-v188,
body.sx-library-v189 [data-selected-app] {
  display: none !important;
}

body.sx-library-v189 .sx-legal-mini-footer-v186,
body.sx-shop-v189 .sx-prep-legal-footer-v186 {
  position: relative !important;
}

@media (max-width: 1080px) {
  body.sx-library-v189 .sx-library-layout-v189 {
    grid-template-columns: 1fr !important;
  }

  body.sx-library-v189 .sx-library-filters-v189 {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: .15rem !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }

  body.sx-library-v189 .sx-library-filters-v189::-webkit-scrollbar {
    display: none !important;
  }

  body.sx-library-v189 .sx-library-filters-v189 > button {
    min-width: 174px !important;
    min-height: 124px !important;
    scroll-snap-align: start !important;
  }

  body.sx-library-v189 .sx-app-library-grid-v189 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body.sx-library-v189 .sx-library-main-v189,
  body.sx-shop-v189 .prep-offerbase-main-v167 {
    padding-top: 5.9rem !important;
  }

  body.sx-library-v189 .sx-header-nav-v140 a[href*="shop"],
  body.sx-library-v189 .sx-header-nav-v140 a[href*="studio"],
  body.sx-shop-v189 .sx-header-nav-v140 a[href*="library"],
  body.sx-shop-v189 .sx-header-nav-v140 a[href*="studio"] {
    display: none !important;
  }

  body.sx-library-v189 .sx-library-toolbar-v189 {
    grid-template-columns: 1fr !important;
    gap: .95rem !important;
  }

  body.sx-library-v189 .sx-library-toolbar-title-v189 h1 {
    font-size: clamp(3rem, 16vw, 4.9rem) !important;
  }

  body.sx-library-v189 .sx-library-panel-v189 {
    border-radius: 24px !important;
    padding: .9rem !important;
  }

  body.sx-library-v189 .sx-app-library-grid-v189 {
    grid-template-columns: 1fr !important;
  }

  body.sx-library-v189 .sx-library-tool-card-v189 {
    min-height: 0 !important;
    padding: .95rem .95rem 3.45rem !important;
  }

  body.sx-library-v189 .sx-library-tool-card-v189 h3 {
    font-size: clamp(1.35rem, 7vw, 1.95rem) !important;
  }
}


/* =========================
   SX27 V190 — Library visibility hotfix
   ========================= */
body.sx-library-v189 .sx-library-main-v189,
body.sx-library-v189 .sx-library-section-v189,
body.sx-library-v189 .sx-library-shell-v189,
body.sx-library-v189 .sx-library-toolbar-v189,
body.sx-library-v189 .sx-library-layout-v189,
body.sx-library-v189 .sx-library-panel-v189,
body.sx-library-v189 .sx-app-library-grid-v189,
body.sx-library-v189 .sx-library-tool-card-v189 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.sx-library-v189 .sx-library-shell-v189 {
  display: block !important;
}
body.sx-library-v189 .sx-library-toolbar-v189,
body.sx-library-v189 .sx-library-layout-v189,
body.sx-library-v189 .sx-app-library-grid-v189 {
  pointer-events: auto !important;
}

/* =========================
   SX27 V191 — Library top divider removal
   ========================= */
body.sx-library-v189 .sx-library-main-v189::before,
body.sx-library-v189 .sx-library-main-v189::after,
body.sx-library-v189 .sx-library-section-v189::before,
body.sx-library-v189 .sx-library-section-v189::after,
body.sx-library-v189 .sx-library-shell-v189::before,
body.sx-library-v189 .sx-library-shell-v189::after,
body.sx-library-v189 .sx-library-toolbar-v189::before,
body.sx-library-v189 .sx-library-toolbar-v189::after,
body.sx-library-v189 .sx-library-toolbar-title-v189::before,
body.sx-library-v189 .sx-library-toolbar-title-v189::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sx-library-v189 .sx-library-main-v189,
body.sx-library-v189 .sx-library-section-v189,
body.sx-library-v189 .sx-library-shell-v189,
body.sx-library-v189 .sx-library-toolbar-v189,
body.sx-library-v189 .sx-library-toolbar-title-v189,
body.sx-library-v189 .sx-library-toolbar-title-v189 .eyebrow {
  border-top: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.sx-library-v189 .sx-library-toolbar-title-v189 .eyebrow {
  background: transparent !important;
  padding-top: 0 !important;
}

/* =========================
   SX27 V192 — Library launcher simplification
   ========================= */
body.sx-library-v192 .sx-library-main-v189 {
  padding-top: clamp(6.8rem, 9vw, 8rem) !important;
}

body.sx-library-v192 .sx-library-section-v192 {
  padding-top: clamp(.9rem, 2vw, 1.4rem) !important;
}

body.sx-library-v192 .sx-library-shell-v192 {
  max-width: 1200px !important;
}

body.sx-library-v192 .sx-library-board-v192 {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.082) !important;
  border-radius: 34px !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(120,213,240,.048), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.012)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 24px 80px rgba(0,0,0,.18) !important;
}

body.sx-library-v192 .sx-library-board-v192::before,
body.sx-library-v192 .sx-library-board-v192::after {
  content: none !important;
  display: none !important;
}

body.sx-library-v192 .sx-library-top-v192 {
  display: grid !important;
  grid-template-columns: minmax(130px, .26fr) minmax(280px, .74fr) !important;
  gap: clamp(.75rem, 1.6vw, 1rem) !important;
  align-items: end !important;
  margin-bottom: clamp(.85rem, 1.6vw, 1.1rem) !important;
}

body.sx-library-v192 .sx-library-titleline-v192 {
  min-width: 0 !important;
}

body.sx-library-v192 .sx-library-titleline-v192 .eyebrow {
  margin: 0 !important;
  color: rgba(138,239,255,.86) !important;
}

body.sx-library-v192 .sx-library-search-v192 {
  gap: .46rem !important;
}

body.sx-library-v192 .sx-library-search-v192 span {
  display: none !important;
}

body.sx-library-v192 .sx-library-search-v192 input {
  min-height: 50px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.082) !important;
}

body.sx-library-v192 .sx-library-layout-v192 {
  grid-template-columns: minmax(190px, 230px) minmax(0, 1fr) !important;
  gap: clamp(.8rem, 1.45vw, 1rem) !important;
}

body.sx-library-v192 .sx-library-filters-v192 {
  align-self: stretch !important;
  display: grid !important;
  grid-auto-rows: min-content !important;
  gap: .78rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.sx-library-v192 .sx-filter-group-v192 {
  display: grid !important;
  gap: .34rem !important;
  padding: .64rem !important;
  border: 1px solid rgba(255,255,255,.064) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.018) !important;
}

body.sx-library-v192 .sx-filter-group-v192 p {
  margin: 0 0 .24rem !important;
  color: rgba(246,249,255,.36) !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: .62rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.sx-library-v192 .sx-filter-group-main-v192 {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.sx-library-v192 .sx-library-filters-v192 > button,
body.sx-library-v192 .sx-filter-group-v192 button {
  min-height: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: 1px solid rgba(255,255,255,.068) !important;
  border-radius: 999px !important;
  padding: .66rem .78rem !important;
  color: rgba(246,249,255,.70) !important;
  background: rgba(255,255,255,.020) !important;
  text-align: left !important;
  font: inherit !important;
  font-size: .84rem !important;
  letter-spacing: -.012em !important;
  cursor: pointer !important;
}

body.sx-library-v192 .sx-filter-group-main-v192 button {
  min-height: 48px !important;
  padding: .78rem .9rem !important;
  border-radius: 18px !important;
  color: rgba(250,252,255,.92) !important;
}

body.sx-library-v192 .sx-filter-group-v192 button:hover,
body.sx-library-v192 .sx-filter-group-v192 button.is-active,
body.sx-library-v192 .sx-filter-group-main-v192 button.is-active {
  color: rgba(250,252,255,.96) !important;
  border-color: rgba(138,239,255,.24) !important;
  background: rgba(138,239,255,.060) !important;
}

body.sx-library-v192 .sx-library-filters-v192 button span,
body.sx-library-v192 .sx-library-filters-v192 button small,
body.sx-library-v192 .sx-library-filters-v192 button .family-action-v84,
body.sx-library-v192 .sx-library-filters-v192 button b,
body.sx-library-v192 .sx-library-filters-v192 button strong {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
}

body.sx-library-v192 .sx-library-tools-v192 {
  min-width: 0 !important;
  border: 1px solid rgba(255,255,255,.064) !important;
  border-radius: 26px !important;
  padding: clamp(.82rem, 1.45vw, 1rem) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(120,213,240,.035), transparent 44%),
    rgba(255,255,255,.018) !important;
}

body.sx-library-v192 .sx-library-active-row-v192 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-bottom: .82rem !important;
  color: rgba(246,249,255,.72) !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: .68rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

body.sx-library-v192 .sx-app-library-grid-v192 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(.82rem, 1.4vw, 1rem) !important;
}

body.sx-library-v192 .sx-library-tool-card-v192 {
  min-height: 265px !important;
  border-radius: 25px !important;
  padding: 1.08rem 1.08rem 3.85rem !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(120,213,240,.044), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.014)) !important;
}

body.sx-library-v192 .sx-library-tool-card-v192 span {
  color: rgba(138,239,255,.82) !important;
  font-size: .72rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.sx-library-v192 .sx-library-tool-card-v192 h3 {
  margin-top: .32rem !important;
  font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
  line-height: .94 !important;
  letter-spacing: -.065em !important;
}

body.sx-library-v192 .sx-library-tool-card-v192 p {
  max-width: 34rem !important;
  font-size: .94rem !important;
  color: rgba(246,249,255,.62) !important;
}

body.sx-library-v192 .sx-library-tool-card-v192 small {
  margin-top: .12rem !important;
  color: rgba(246,249,255,.46) !important;
}

body.sx-library-v192 .sx-tool-action-v192 {
  min-width: 92px !important;
  text-align: center !important;
}

body.sx-library-v192 .sx-launcher-empty-v192 {
  margin: 0 !important;
  min-height: 220px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px dashed rgba(138,239,255,.18) !important;
  border-radius: 24px !important;
  color: rgba(246,249,255,.55) !important;
  background: rgba(255,255,255,.015) !important;
  font-size: .96rem !important;
}

body.sx-library-v192 .sx-launcher-empty-v192[hidden] {
  display: none !important;
}

body.sx-library-v192 .sx-library-panel-head-v189,
body.sx-library-v192 .sx-library-toolbar-title-v189 h1,
body.sx-library-v192 [data-launcher-title] + p,
body.sx-library-v192 .sx-library-panel-v189 > .family-panel-head-v78 {
  display: none !important;
}

@media (max-width: 1080px) {
  body.sx-library-v192 .sx-library-layout-v192 {
    grid-template-columns: 1fr !important;
  }

  body.sx-library-v192 .sx-library-filters-v192 {
    display: flex !important;
    gap: .62rem !important;
    overflow-x: auto !important;
    padding-bottom: .12rem !important;
    scroll-snap-type: x proximity !important;
  }

  body.sx-library-v192 .sx-filter-group-v192 {
    min-width: 155px !important;
    align-content: start !important;
  }

  body.sx-library-v192 .sx-filter-group-main-v192 {
    min-width: 105px !important;
    padding-top: .64rem !important;
  }

  body.sx-library-v192 .sx-filter-group-v192 button {
    white-space: nowrap !important;
  }
}

@media (max-width: 720px) {
  body.sx-library-v192 .sx-library-board-v192 {
    border-radius: 26px !important;
    padding: .82rem !important;
  }

  body.sx-library-v192 .sx-library-top-v192 {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body.sx-library-v192 .sx-library-titleline-v192 .eyebrow {
    font-size: .68rem !important;
  }

  body.sx-library-v192 .sx-library-search-v192 input {
    min-height: 48px !important;
    font-size: .9rem !important;
  }

  body.sx-library-v192 .sx-app-library-grid-v192 {
    grid-template-columns: 1fr !important;
  }

  body.sx-library-v192 .sx-library-tool-card-v192 {
    min-height: 232px !important;
  }
}

/* =========================
   SX27 V193 — Library compact launcher + i18n ready
   ========================= */
body.sx-library-v193 .sx-header-nav-v140 a[href="../"] {
  display: none !important;
}

body.sx-library-v193 .sx-library-main-v189 {
  padding-top: clamp(5.9rem, 8vw, 7.15rem) !important;
  min-height: calc(100svh - 3.4rem) !important;
}

body.sx-library-v193 .sx-library-section-v192 {
  padding-top: clamp(.55rem, 1.4vw, .9rem) !important;
  padding-bottom: clamp(1.1rem, 2vw, 1.65rem) !important;
}

body.sx-library-v193 .sx-library-shell-v192 {
  max-width: min(1220px, calc(100vw - clamp(1.05rem, 3vw, 2.6rem))) !important;
}

body.sx-library-v193 .sx-library-board-v193 {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  min-height: min(665px, calc(100svh - 9.6rem)) !important;
  max-height: calc(100svh - 8.9rem) !important;
  padding: clamp(.86rem, 1.55vw, 1.08rem) !important;
  border-radius: 30px !important;
  overflow: hidden !important;
}

body.sx-library-v193 .sx-library-top-v193 {
  grid-template-columns: minmax(145px, .22fr) minmax(280px, .78fr) !important;
  gap: clamp(.72rem, 1.25vw, .92rem) !important;
  align-items: center !important;
  margin-bottom: clamp(.72rem, 1.25vw, .92rem) !important;
}

body.sx-library-v193 .sx-library-titleline-v193 h1 {
  margin: 0 !important;
  color: rgba(250,252,255,.98) !important;
  font-size: clamp(2.25rem, 4.4vw, 4.15rem) !important;
  line-height: .84 !important;
  letter-spacing: -.078em !important;
}

body.sx-library-v193 .sx-library-titleline-v193 .eyebrow {
  display: none !important;
}

body.sx-library-v193 .sx-library-search-v193 {
  display: block !important;
}

body.sx-library-v193 .sx-library-search-v193 span {
  display: none !important;
}

body.sx-library-v193 .sx-library-search-v193 input {
  min-height: 46px !important;
  border-radius: 16px !important;
  padding-inline: .95rem !important;
  font-size: .92rem !important;
}

body.sx-library-v193 .sx-library-layout-v193 {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
  gap: clamp(.78rem, 1.24vw, .96rem) !important;
  align-items: stretch !important;
}

body.sx-library-v193 .sx-library-filters-v193 {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: auto !important;
  scrollbar-width: thin !important;
  padding-right: .14rem !important;
  gap: .6rem !important;
}

body.sx-library-v193 .sx-filter-group-v193 {
  gap: .26rem !important;
  padding: .56rem !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.015) !important;
  border-color: rgba(255,255,255,.055) !important;
}

body.sx-library-v193 .sx-filter-group-main-v193 {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.sx-library-v193 .sx-filter-group-v193 p {
  margin: 0 0 .22rem !important;
  color: rgba(246,249,255,.34) !important;
  font-size: .58rem !important;
  letter-spacing: .13em !important;
}

body.sx-library-v193 .sx-filter-group-v193 button,
body.sx-library-v193 .sx-filter-group-main-v193 button {
  min-height: 0 !important;
  height: auto !important;
  border-radius: 14px !important;
  padding: .48rem .62rem !important;
  font-size: .78rem !important;
  line-height: 1.12 !important;
  letter-spacing: -.01em !important;
  white-space: normal !important;
}

body.sx-library-v193 .sx-filter-group-main-v193 button {
  min-height: 42px !important;
  font-size: .86rem !important;
  color: rgba(250,252,255,.92) !important;
}

body.sx-library-v193 .sx-library-tools-v193 {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  padding: clamp(.68rem, 1.2vw, .82rem) !important;
}

body.sx-library-v193 .sx-library-active-row-v192 {
  display: none !important;
}

body.sx-library-v193 .sx-app-library-grid-v193 {
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(152px, auto) !important;
  gap: clamp(.64rem, 1vw, .78rem) !important;
  align-content: start !important;
}

body.sx-library-v193 .sx-library-tool-card-v193 {
  min-height: 152px !important;
  height: auto !important;
  border-radius: 19px !important;
  padding: .82rem .82rem 2.95rem !important;
  gap: .38rem !important;
  align-content: start !important;
}

body.sx-library-v193 .sx-library-tool-card-v193 span {
  font-size: .62rem !important;
  line-height: 1 !important;
  letter-spacing: .1em !important;
}

body.sx-library-v193 .sx-library-tool-card-v193 h3 {
  margin-top: .16rem !important;
  font-size: clamp(1.18rem, 1.9vw, 1.62rem) !important;
  line-height: .98 !important;
  letter-spacing: -.054em !important;
}

body.sx-library-v193 .sx-library-tool-card-v193 p {
  font-size: .78rem !important;
  line-height: 1.34 !important;
  max-width: 28rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.sx-library-v193 .sx-library-tool-card-v193 small {
  font-size: .68rem !important;
  line-height: 1.25 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.sx-library-v193 .sx-tool-action-v193 {
  min-width: 74px !important;
  padding: .5rem .64rem !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  left: .82rem !important;
  bottom: .82rem !important;
  border-radius: 999px !important;
}

body.sx-library-v193 .sx-launcher-empty-v193 {
  height: 100% !important;
  min-height: 280px !important;
  border-radius: 20px !important;
  font-size: .92rem !important;
  padding: 1rem !important;
}

body.sx-library-v193 .sx-library-footer-v189 {
  margin-top: .35rem !important;
  padding-bottom: .85rem !important;
}

@media (min-width: 1180px) and (min-height: 760px) {
  body.sx-library-v193 .sx-library-board-v193 {
    min-height: min(650px, calc(100svh - 9.8rem)) !important;
  }
}

@media (max-width: 1080px) {
  body.sx-library-v193 .sx-library-board-v193 {
    max-height: none !important;
    min-height: 0 !important;
  }

  body.sx-library-v193 .sx-library-layout-v193 {
    grid-template-columns: 1fr !important;
  }

  body.sx-library-v193 .sx-library-filters-v193 {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-height: none !important;
    gap: .58rem !important;
    padding-bottom: .16rem !important;
  }

  body.sx-library-v193 .sx-filter-group-v193 {
    min-width: 150px !important;
  }

  body.sx-library-v193 .sx-filter-group-main-v193 {
    min-width: 92px !important;
    padding-top: .56rem !important;
  }

  body.sx-library-v193 .sx-library-tools-v193 {
    overflow: visible !important;
  }

  body.sx-library-v193 .sx-app-library-grid-v193 {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 720px) {
  body.sx-library-v193 .sx-library-main-v189 {
    padding-top: 5.75rem !important;
  }

  body.sx-library-v193 .sx-library-section-v192 {
    padding-top: .42rem !important;
  }

  body.sx-library-v193 .sx-library-board-v193 {
    border-radius: 24px !important;
    padding: .72rem !important;
  }

  body.sx-library-v193 .sx-library-top-v193 {
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
  }

  body.sx-library-v193 .sx-library-titleline-v193 h1 {
    font-size: clamp(2.65rem, 14vw, 4.25rem) !important;
  }

  body.sx-library-v193 .sx-filter-group-v193 {
    min-width: 142px !important;
  }

  body.sx-library-v193 .sx-filter-group-v193 button {
    font-size: .74rem !important;
    padding: .45rem .56rem !important;
  }

  body.sx-library-v193 .sx-app-library-grid-v193 {
    grid-template-columns: 1fr !important;
    gap: .62rem !important;
  }

  body.sx-library-v193 .sx-library-tool-card-v193 {
    min-height: 145px !important;
    padding: .78rem .78rem 2.85rem !important;
  }

  body.sx-library-v193 .sx-library-tool-card-v193 h3 {
    font-size: clamp(1.22rem, 6vw, 1.65rem) !important;
  }
}


/* V194 — Library launcher compact alignment + non-scroll filters */
body.sx-library-v194 .sx-library-top-v193 {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
}

body.sx-library-v194 .sx-library-titleline-v193 h1 {
  font-size: clamp(2rem, 3.75vw, 3.55rem) !important;
  letter-spacing: -.074em !important;
}

body.sx-library-v194 .sx-library-search-v193 input {
  min-height: 44px !important;
  border-radius: 15px !important;
}

body.sx-library-v194 .sx-library-layout-v193 {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
}

body.sx-library-v194 .sx-library-filters-v193 {
  overflow: visible !important;
  max-height: none !important;
  scrollbar-width: none !important;
  gap: .42rem !important;
  padding-right: 0 !important;
}

body.sx-library-v194 .sx-library-filters-v193::-webkit-scrollbar {
  display: none !important;
}

body.sx-library-v194 .sx-filter-group-v193 {
  gap: .18rem !important;
  padding: .46rem !important;
  border-radius: 16px !important;
}

body.sx-library-v194 .sx-filter-group-v193 p {
  margin-bottom: .14rem !important;
  font-size: .55rem !important;
  line-height: 1 !important;
  color: rgba(246,249,255,.38) !important;
}

body.sx-library-v194 .sx-filter-group-v193 button,
body.sx-library-v194 .sx-filter-group-main-v193 button {
  padding: .36rem .54rem !important;
  border-radius: 12px !important;
  font-size: .72rem !important;
  line-height: 1.08 !important;
  min-height: 0 !important;
}

body.sx-library-v194 .sx-filter-group-main-v193 button {
  min-height: 36px !important;
  font-size: .8rem !important;
}

body.sx-library-v194 .sx-library-tools-v193 {
  padding: clamp(.66rem, 1vw, .78rem) !important;
}

body.sx-library-v194 .sx-app-library-grid-v193 {
  grid-auto-rows: minmax(142px, auto) !important;
  gap: clamp(.62rem, .9vw, .72rem) !important;
}

body.sx-library-v194 .sx-library-tool-card-v193 {
  min-height: 142px !important;
  padding: .78rem !important;
  gap: .34rem !important;
}

body.sx-library-v194 .sx-library-tool-card-v193 h3 {
  font-size: clamp(1.12rem, 1.72vw, 1.48rem) !important;
}

body.sx-library-v194 .sx-library-tool-card-v193 p {
  font-size: .76rem !important;
  line-height: 1.3 !important;
  margin-bottom: .08rem !important;
}

body.sx-library-v194 .sx-library-tool-card-v193 small {
  font-size: .66rem !important;
  line-height: 1.25 !important;
  margin-bottom: .38rem !important;
}

body.sx-library-v194 .sx-tool-action-v193 {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: fit-content !important;
  min-width: 70px !important;
  min-height: 28px !important;
  padding: .42rem .62rem !important;
  margin-top: .24rem !important;
  border-radius: 999px !important;
}

@media (max-width: 1080px) {
  body.sx-library-v194 .sx-library-top-v193 {
    grid-template-columns: 1fr !important;
  }

  body.sx-library-v194 .sx-library-filters-v193 {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-height: none !important;
    padding-bottom: .2rem !important;
  }

  body.sx-library-v194 .sx-filter-group-v193 {
    min-width: 132px !important;
  }
}

@media (max-width: 720px) {
  body.sx-library-v194 .sx-library-titleline-v193 h1 {
    font-size: clamp(2.38rem, 12.5vw, 3.85rem) !important;
  }

  body.sx-library-v194 .sx-filter-group-v193 {
    min-width: 128px !important;
  }

  body.sx-library-v194 .sx-library-tool-card-v193 {
    min-height: 136px !important;
  }
}

/* V195 — Offer launcher experiment + Shop launcher */
body.sx-offers-launcher-test-v195 .offers-section-v78 {
  background: transparent !important;
}

body.sx-offers-launcher-test-v195 .offer-journey-v100 {
  display: none !important;
}

body.sx-offers-launcher-test-v195 .offer-simple-v78.sx-offer-launcher-v195 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 268px) minmax(0, 1fr) !important;
  grid-template-areas: "title search" "filters tools" !important;
  gap: clamp(.74rem, 1vw, .92rem) !important;
  padding: clamp(.72rem, 1.35vw, 1rem) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(55, 214, 255, .10), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.064), rgba(255,255,255,.026)) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(16px) !important;
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v195 .offer-simple-v78.sx-offer-launcher-v195::before,
body.sx-offers-launcher-test-v195 .offer-simple-v78.sx-offer-launcher-v195::after {
  display: none !important;
}

body.sx-offers-launcher-test-v195 .sx-offer-search-v195 {
  grid-area: search !important;
  display: grid !important;
  gap: .38rem !important;
  align-self: end !important;
  max-width: none !important;
}

body.sx-offers-launcher-test-v195 .sx-offer-search-v195 span {
  display: block !important;
  color: rgba(246,249,255,.45) !important;
  font-size: .6rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body.sx-offers-launcher-test-v195 .sx-offer-search-v195 input {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  background: rgba(2,5,10,.36) !important;
  color: rgba(246,249,255,.94) !important;
  outline: none !important;
  padding: 0 .9rem !important;
  font: inherit !important;
  font-size: .82rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.sx-offers-launcher-test-v195 .sx-offer-search-v195 input::placeholder {
  color: rgba(246,249,255,.34) !important;
}

body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 {
  grid-area: filters !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .42rem !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 button {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 15px !important;
  padding: .72rem .78rem !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.035) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 button.is-active {
  border-color: rgba(103,220,255,.34) !important;
  background: rgba(65,196,255,.105) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 35px rgba(34,163,255,.09) !important;
}

body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 button span,
body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 button small,
body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 button b {
  display: none !important;
}

body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 button strong {
  color: rgba(246,249,255,.9) !important;
  font-size: .82rem !important;
  line-height: 1.08 !important;
  letter-spacing: -.015em !important;
  font-weight: 760 !important;
}

body.sx-offers-launcher-test-v195 .offers-family-panel-v78.sx-offer-panel-v195 {
  grid-area: tools !important;
  min-width: 0 !important;
  padding: clamp(.72rem, 1.05vw, .88rem) !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  background: rgba(2,5,10,.26) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v195 .offers-family-panel-v78.sx-offer-panel-v195 .family-panel-head-v78 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .28rem !important;
  padding: 0 0 .66rem !important;
  margin: 0 0 .7rem !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

body.sx-offers-launcher-test-v195 .offers-family-panel-v78.sx-offer-panel-v195 .family-panel-head-v78 .eyebrow {
  display: none !important;
}

body.sx-offers-launcher-test-v195 .offers-family-panel-v78.sx-offer-panel-v195 .family-panel-head-v78 h3 {
  font-size: clamp(1.25rem, 2.2vw, 1.92rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  color: #fff !important;
  margin: 0 !important;
}

body.sx-offers-launcher-test-v195 .offers-family-panel-v78.sx-offer-panel-v195 .family-panel-head-v78 p:not(.eyebrow) {
  max-width: 720px !important;
  color: rgba(246,249,255,.52) !important;
  font-size: .82rem !important;
  line-height: 1.38 !important;
  margin: 0 !important;
}

body.sx-offers-launcher-test-v195 .offer-cards-v78 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: clamp(.62rem, .9vw, .78rem) !important;
}

body.sx-offers-launcher-test-v195 .offer-card-v78 {
  min-height: 142px !important;
  border-radius: 19px !important;
  padding: .84rem !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.025)) !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .36rem !important;
  text-align: left !important;
}

body.sx-offers-launcher-test-v195 .offer-card-v78 header {
  display: grid !important;
  gap: .18rem !important;
}

body.sx-offers-launcher-test-v195 .offer-card-v78 h4 {
  font-size: clamp(1.06rem, 1.55vw, 1.34rem) !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
  margin: 0 !important;
  color: #fff !important;
}

body.sx-offers-launcher-test-v195 .offer-card-v78 header strong {
  font-size: .76rem !important;
  line-height: 1 !important;
  color: rgba(106,220,255,.94) !important;
  font-weight: 800 !important;
}

body.sx-offers-launcher-test-v195 .offer-card-v78 p {
  font-size: .76rem !important;
  line-height: 1.3 !important;
  color: rgba(246,249,255,.52) !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v195 .offer-card-v78 .offer-action-v84 {
  position: static !important;
  width: fit-content !important;
  min-height: 28px !important;
  padding: .42rem .62rem !important;
  margin-top: auto !important;
  border-radius: 999px !important;
  font-size: .68rem !important;
  line-height: 1 !important;
}

body.sx-offers-launcher-test-v195 .offer-card-v78[hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v195 .offer-simple-v78.sx-offer-launcher-v195 {
    grid-template-columns: 1fr !important;
    grid-template-areas: "title" "search" "filters" "tools" !important;
  }
  body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 {
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: .12rem !important;
    scrollbar-width: none !important;
  }
  body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195::-webkit-scrollbar { display: none !important; }
  body.sx-offers-launcher-test-v195 .family-switch-v78.sx-offer-sidebar-v195 button {
    min-width: 154px !important;
  }
}

@media (max-width: 680px) {
  body.sx-offers-launcher-test-v195 .offer-simple-v78.sx-offer-launcher-v195 {
    border-radius: 24px !important;
    padding: .72rem !important;
  }
  body.sx-offers-launcher-test-v195 .offer-card-v78 {
    min-height: 136px !important;
  }
}

body.sx-shop-launcher-page-v195,
body.sx-shop-launcher-page-v195 .sx-shop-section-v195,
body.sx-shop-launcher-page-v195 .sx-shop-main-v195 {
  background: transparent !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-board-v195 {
  min-height: min(650px, calc(100svh - 9.8rem)) !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-top-v195,
body.sx-shop-launcher-page-v195 .sx-shop-layout-v195 {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
}

body.sx-shop-launcher-page-v195 .sx-library-titleline-v193 h1 {
  font-size: clamp(2rem, 3.75vw, 3.55rem) !important;
  letter-spacing: -.074em !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-filters-v195 {
  overflow: visible !important;
  max-height: none !important;
  gap: .42rem !important;
  padding-right: 0 !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-products-v195 {
  padding: clamp(.66rem, 1vw, .78rem) !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-grid-v195 {
  grid-auto-rows: minmax(142px, auto) !important;
  gap: clamp(.62rem, .9vw, .72rem) !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 {
  min-height: 142px !important;
  padding: .78rem !important;
  gap: .34rem !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 h3 {
  font-size: clamp(1.12rem, 1.72vw, 1.48rem) !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 p {
  font-size: .76rem !important;
  line-height: 1.3 !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 small {
  font-size: .66rem !important;
  line-height: 1.25 !important;
  margin-bottom: .38rem !important;
}

body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 .sx-tool-action-v193 {
  position: static !important;
  width: fit-content !important;
  min-width: 88px !important;
  min-height: 28px !important;
  padding: .42rem .62rem !important;
  margin-top: .24rem !important;
  border-radius: 999px !important;
}

@media (max-width: 1080px) {
  body.sx-shop-launcher-page-v195 .sx-shop-board-v195 { max-height: none !important; min-height: 0 !important; }
  body.sx-shop-launcher-page-v195 .sx-shop-top-v195,
  body.sx-shop-launcher-page-v195 .sx-shop-layout-v195 { grid-template-columns: 1fr !important; }
  body.sx-shop-launcher-page-v195 .sx-shop-filters-v195 { overflow-x: auto !important; overflow-y: hidden !important; padding-bottom: .2rem !important; }
  body.sx-shop-launcher-page-v195 .sx-shop-filters-v195 .sx-filter-group-v193 { min-width: 132px !important; }
  body.sx-shop-launcher-page-v195 .sx-shop-products-v195,
  body.sx-shop-launcher-page-v195 .sx-shop-grid-v195 { overflow: visible !important; max-height: none !important; height: auto !important; }
}

@media (max-width: 720px) {
  body.sx-shop-launcher-page-v195 .sx-shop-main-v195 { padding-top: 5.75rem !important; }
  body.sx-shop-launcher-page-v195 .sx-shop-board-v195 { border-radius: 24px !important; padding: .72rem !important; }
  body.sx-shop-launcher-page-v195 .sx-library-titleline-v193 h1 { font-size: clamp(2.38rem, 12.5vw, 3.85rem) !important; }
  body.sx-shop-launcher-page-v195 .sx-shop-grid-v195 { grid-template-columns: 1fr !important; }
  body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 { min-height: 136px !important; }
}


/* =========================
   SX27 V196 — Shop fix + offer launcher refinements
   ========================= */
body.sx-shop-launcher-page-v196 {
  min-height: 100svh !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(120,213,240,.12), transparent 34rem),
    radial-gradient(circle at 82% 8%, rgba(76,107,201,.12), transparent 36rem),
    linear-gradient(180deg, #07111b 0%, #060811 45%, #05060c 100%) !important;
  color: rgba(246,249,255,.92) !important;
}
body.sx-shop-launcher-page-v196 .sx-shop-main-v195,
body.sx-shop-launcher-page-v196 .sx-shop-section-v195 {
  background: transparent !important;
}
body.sx-shop-launcher-page-v196 .sx-shop-board-v195 {
  max-width: 1200px !important;
  margin: 0 auto !important;
}
body.sx-shop-launcher-page-v196 .sx-library-search-v193 span,
body.sx-shop-launcher-page-v196 .sx-filter-group-v193 p,
body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 span,
body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 small,
body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 p,
body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 h3 {
  font-family: inherit !important;
}

body.sx-offers-launcher-test-v195 .offer-simple-v78.sx-offer-launcher-v196 {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
  grid-template-areas:
    "title search"
    "filters tools" !important;
  min-height: min(680px, calc(100svh - 9.2rem)) !important;
  max-height: min(720px, calc(100svh - 7.8rem)) !important;
  align-items: stretch !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-title-v196 {
  grid-area: title !important;
  align-self: end !important;
  min-width: 0 !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-title-v196 h3 {
  margin: 0 !important;
  color: rgba(250,252,255,.98) !important;
  font-size: clamp(2rem, 3.75vw, 3.55rem) !important;
  line-height: .9 !important;
  letter-spacing: -.074em !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-search-v196 input {
  min-height: 44px !important;
  border-radius: 15px !important;
  padding: 0 .92rem !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.082) !important;
  color: rgba(250,252,255,.92) !important;
  outline: none !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-search-v196 input::placeholder {
  color: rgba(246,249,255,.38) !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-sidebar-v196 {
  max-height: none !important;
  overflow: visible !important;
  display: grid !important;
  grid-auto-rows: min-content !important;
  align-self: start !important;
  gap: .42rem !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-sidebar-v196 button {
  min-height: 38px !important;
  padding: .48rem .58rem !important;
  border-radius: 14px !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-sidebar-v196 button strong {
  font-size: .76rem !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196 {
  grid-area: filters !important;
  align-self: end !important;
  display: grid !important;
  gap: .18rem !important;
  padding: .46rem !important;
  border: 1px solid rgba(255,255,255,.064) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.018) !important;
  margin-top: .48rem !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196 p {
  margin: 0 0 .14rem !important;
  color: rgba(246,249,255,.38) !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: .55rem !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196 button {
  min-height: 0 !important;
  border: 1px solid rgba(255,255,255,.068) !important;
  border-radius: 12px !important;
  padding: .36rem .54rem !important;
  color: rgba(246,249,255,.70) !important;
  background: rgba(255,255,255,.020) !important;
  text-align: left !important;
  font: inherit !important;
  font-size: .72rem !important;
  line-height: 1.08 !important;
  cursor: pointer !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196 button:hover {
  border-color: rgba(138,239,255,.18) !important;
  color: rgba(250,252,255,.92) !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-panel-v196 {
  height: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-panel-v196 .family-panel-head-v78 {
  flex: 0 0 auto !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-panel-v196 .offer-cards-v78 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: .22rem !important;
  scrollbar-width: thin !important;
  grid-auto-rows: minmax(132px, auto) !important;
}
body.sx-offers-launcher-test-v195 .offer-card-v78 {
  min-height: 132px !important;
}
body.sx-offers-launcher-test-v195 .sx-offer-search-terms-v196 {
  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;
}
body.sx-offers-launcher-test-v195 .offer-card-v78[hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v195 .offer-simple-v78.sx-offer-launcher-v196 {
    grid-template-columns: 1fr !important;
    grid-template-areas: "title" "search" "filters" "tools" !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.sx-offers-launcher-test-v195 .sx-offer-sidebar-v196,
  body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196 {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }
  body.sx-offers-launcher-test-v195 .sx-offer-sidebar-v196::-webkit-scrollbar,
  body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196::-webkit-scrollbar { display: none !important; }
  body.sx-offers-launcher-test-v195 .sx-offer-sidebar-v196 button,
  body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196 button {
    min-width: 138px !important;
    white-space: nowrap !important;
  }
  body.sx-offers-launcher-test-v195 .sx-offer-quick-filters-v196 p { display:none !important; }
  body.sx-offers-launcher-test-v195 .sx-offer-panel-v196 .offer-cards-v78 {
    overflow: visible !important;
    max-height: none !important;
  }
}
@media (max-width: 720px) {
  body.sx-offers-launcher-test-v195 .sx-offer-title-v196 h3 { font-size: clamp(2.38rem, 12.5vw, 3.85rem) !important; }
}

/* =========================
   SX27 V197 — shop, offers and legal refinements
   ========================= */

/* Legal pages keep the exact Studio header structure; no legal links inside header. */
body.sx-legal-v197 .sx-header-nav-v140 a[href*="mentions"],
body.sx-legal-v197 .sx-header-nav-v140 a[href*="confidentialite"],
body.sx-legal-v197 .sx-header-nav-v140 a[href*="conditions-sx27"] {
  display: none !important;
}

/* Shop: match Library launcher sizing/search and make the board slightly shorter. */
body.sx-shop-launcher-page-v197 .sx-shop-board-v195 {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  min-height: min(570px, calc(100svh - 10.7rem)) !important;
  max-height: min(600px, calc(100svh - 9.6rem)) !important;
  padding: clamp(.78rem, 1.38vw, .96rem) !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-top-v195,
body.sx-shop-launcher-page-v197 .sx-shop-layout-v195 {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
  gap: clamp(.78rem, 1.24vw, .96rem) !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-search-v195,
body.sx-shop-launcher-page-v197 .sx-library-search-v193 {
  display: block !important;
  align-self: center !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-search-v195 span,
body.sx-shop-launcher-page-v197 .sx-library-search-v193 span {
  display: none !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-search-v195 input,
body.sx-shop-launcher-page-v197 .sx-library-search-v193 input {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 15px !important;
  padding: 0 .95rem !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.082) !important;
  color: rgba(246,249,255,.94) !important;
  font: inherit !important;
  font-size: .92rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-grid-v195 {
  grid-auto-rows: minmax(130px, auto) !important;
  gap: .62rem !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-product-card-v195 {
  min-height: 130px !important;
  padding: .72rem !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-product-card-v195 h3 {
  font-size: clamp(1.05rem, 1.58vw, 1.36rem) !important;
}

body.sx-shop-launcher-page-v197 .sx-shop-product-card-v195 p,
body.sx-shop-launcher-page-v197 .sx-shop-product-card-v195 small {
  line-height: 1.24 !important;
}

/* Offers: fixed board, clean sidebar, no quick-search block, no search label title. */
body.sx-offers-launcher-test-v197 .offer-simple-v78.sx-offer-launcher-v196 {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  grid-template-areas:
    "title search"
    "filters tools" !important;
  min-height: min(650px, calc(100svh - 9.8rem)) !important;
  height: min(650px, calc(100svh - 9.8rem)) !important;
  max-height: min(650px, calc(100svh - 9.8rem)) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-title-v196 {
  grid-area: title !important;
  align-self: center !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-search-v196 {
  grid-area: search !important;
  display: block !important;
  align-self: center !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-search-v196 span {
  display: none !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-search-v196 input {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 15px !important;
  padding: 0 .95rem !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.082) !important;
  color: rgba(246,249,255,.94) !important;
  font: inherit !important;
  font-size: .92rem !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-quick-filters-v196 {
  display: none !important;
}

body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v196,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 {
  grid-area: filters !important;
  align-self: stretch !important;
  display: grid !important;
  grid-auto-rows: min-content !important;
  gap: .42rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  max-height: none !important;
}

body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v196 button,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button {
  width: 100% !important;
  min-height: 0 !important;
  border-radius: 14px !important;
  padding: .46rem .62rem !important;
  border: 1px solid rgba(255,255,255,.068) !important;
  color: rgba(246,249,255,.72) !important;
  background: rgba(255,255,255,.020) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button:first-child,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button:first-child {
  min-height: 38px !important;
  border-radius: 16px !important;
  color: rgba(250,252,255,.92) !important;
}

body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button.is-active,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v196 button.is-active,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button.is-active {
  color: rgba(250,252,255,.96) !important;
  border-color: rgba(138,239,255,.24) !important;
  background: rgba(138,239,255,.060) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
}

body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button span,
body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button small,
body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button b,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button span,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button small,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button b {
  display: none !important;
}

body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button strong,
body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button strong {
  color: inherit !important;
  font: inherit !important;
  font-size: .76rem !important;
  line-height: 1.08 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}

body.sx-offers-launcher-test-v197 .offers-family-panel-v78.sx-offer-panel-v195,
body.sx-offers-launcher-test-v197 .sx-offer-panel-v196 {
  grid-area: tools !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  padding: clamp(.66rem, 1vw, .78rem) !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-panel-v196 .family-panel-head-v78 {
  flex: 0 0 auto !important;
  margin: 0 0 .62rem !important;
  padding: 0 0 .56rem !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  gap: .2rem !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-panel-v196 .family-panel-head-v78 h3 {
  font-size: clamp(1.08rem, 1.65vw, 1.48rem) !important;
  line-height: 1 !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-panel-v196 .family-panel-head-v78 p:not(.eyebrow) {
  font-size: .74rem !important;
  line-height: 1.28 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v197 .sx-offer-panel-v196 .offer-cards-v78 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: .16rem !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  grid-auto-rows: minmax(132px, auto) !important;
  gap: .62rem !important;
  align-content: start !important;
}

body.sx-offers-launcher-test-v197 .offer-card-v78 {
  min-height: 132px !important;
  padding: .78rem !important;
  gap: .42rem !important;
}

body.sx-offers-launcher-test-v197 .offer-card-v78 header {
  display: grid !important;
  gap: .34rem !important;
}

body.sx-offers-launcher-test-v197 .offer-card-v78 h4 {
  font-size: clamp(1.04rem, 1.44vw, 1.25rem) !important;
}

body.sx-offers-launcher-test-v197 .offer-card-v78 header strong {
  display: block !important;
  margin-top: .02rem !important;
  font-size: .76rem !important;
  line-height: 1.08 !important;
}

body.sx-offers-launcher-test-v197 .offer-card-v78 p {
  margin-top: .12rem !important;
  font-size: .74rem !important;
  line-height: 1.28 !important;
  -webkit-line-clamp: 2 !important;
}

body.sx-offers-launcher-test-v197 .offer-card-v78 .offer-action-v84 {
  margin-top: auto !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v197 .offer-simple-v78.sx-offer-launcher-v196 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "title" "search" "filters" "tools" !important;
  }
  body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195,
  body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: .16rem !important;
  }
  body.sx-offers-launcher-test-v197 .family-switch-v78.sx-offer-sidebar-v195 button,
  body.sx-offers-launcher-test-v197 .sx-offer-sidebar-v197 button {
    min-width: 138px !important;
    white-space: nowrap !important;
  }
  body.sx-offers-launcher-test-v197 .sx-offer-panel-v196 .offer-cards-v78 {
    overflow: visible !important;
    max-height: none !important;
  }
}

@media (max-width: 1080px) {
  body.sx-shop-launcher-page-v197 .sx-shop-board-v195 {
    max-height: none !important;
    min-height: 0 !important;
  }
}

/* =========================
   SX27 V198 — Offers grouping + Shop empty-state polish
   ========================= */

/* Offers: stable launcher with a true vertical sidebar. */
body.sx-offers-launcher-test-v198 .offer-simple-v78.sx-offer-launcher-v196 {
  grid-template-columns: minmax(210px, 248px) minmax(0, 1fr) !important;
  grid-template-rows: 46px minmax(0, 1fr) !important;
  grid-template-areas:
    "title search"
    "filters tools" !important;
  gap: clamp(.72rem, 1vw, .9rem) !important;
  height: min(690px, calc(100svh - 8.6rem)) !important;
  min-height: min(690px, calc(100svh - 8.6rem)) !important;
  max-height: min(690px, calc(100svh - 8.6rem)) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-title-v196,
body.sx-offers-launcher-test-v198 .sx-offer-search-v196 {
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-title-v196 h3 {
  font-size: clamp(2.15rem, 4.25vw, 3.95rem) !important;
  line-height: .84 !important;
  letter-spacing: -.078em !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-search-v196 input {
  height: 46px !important;
  min-height: 46px !important;
  border-radius: 16px !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198,
body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 {
  grid-area: filters !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: .38rem !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198 button,
body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 button {
  width: 100% !important;
  min-height: 38px !important;
  max-width: none !important;
  border-radius: 14px !important;
  padding: .56rem .72rem !important;
  justify-content: flex-start !important;
  text-align: left !important;
  white-space: normal !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198 button strong,
body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 button strong {
  font-size: .78rem !important;
  line-height: 1.08 !important;
  letter-spacing: -.012em !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  padding: .84rem !important;
  border-radius: 24px !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .family-panel-head-v78 {
  margin: 0 0 .72rem !important;
  padding: 0 0 .68rem !important;
  gap: .24rem !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .family-panel-head-v78 h3 {
  font-size: clamp(1.28rem, 2.05vw, 1.82rem) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .family-panel-head-v78 p:not(.eyebrow) {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  font-size: .78rem !important;
  line-height: 1.34 !important;
  max-width: 760px !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .offer-cards-v78 {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  align-content: start !important;
  padding-right: .28rem !important;
  scrollbar-width: thin !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
  grid-auto-rows: minmax(154px, auto) !important;
  gap: .78rem !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-all-groups-v198 {
  display: flex !important;
  flex-direction: column !important;
  gap: .95rem !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-group-v198 {
  display: grid !important;
  gap: .58rem !important;
  padding-top: .1rem !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-group-v198[hidden] {
  display: none !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-group-v198 h4 {
  margin: 0 !important;
  color: rgba(138,239,255,.88) !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-group-grid-v198 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
  gap: .78rem !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 {
  min-height: 154px !important;
  padding: .92rem !important;
  gap: .52rem !important;
  border-radius: 20px !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 header {
  gap: .42rem !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 header strong {
  width: fit-content !important;
  max-width: 100% !important;
  padding: .32rem .62rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(100,221,255,.22) !important;
  background: rgba(100,221,255,.07) !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 p {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  font-size: .78rem !important;
  line-height: 1.36 !important;
  color: rgba(246,249,255,.57) !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 .offer-action-v84 {
  margin-top: .18rem !important;
}

/* Updated design for the “Voir prix & détails” panel/modal. */
body.sx-offers-launcher-test-v198.offer-modal-v96-open .offer-modal-v96,
body.offer-modal-v96-open .offer-modal-v96 {
  backdrop-filter: blur(16px) !important;
}

body.sx-offers-launcher-test-v198 .offer-modal-panel-v96,
body .offer-modal-panel-v96 {
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(91,219,255,.12), transparent 36%),
    linear-gradient(135deg, rgba(14,23,34,.96), rgba(7,10,18,.96)) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.sx-offers-launcher-test-v198 .offer-modal-panel-v96 h3,
body .offer-modal-panel-v96 h3 {
  letter-spacing: -.058em !important;
  line-height: .96 !important;
}

body.sx-offers-launcher-test-v198 .offer-modal-price-v96 > div,
body.sx-offers-launcher-test-v198 .offer-modal-info-v96 > section,
body.sx-offers-launcher-test-v198 .offer-modal-mini-card-v96,
body .offer-modal-price-v96 > div,
body .offer-modal-info-v96 > section,
body .offer-modal-mini-card-v96 {
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

/* Shop: categories with no product should not create the dashed lost modal/line. */
body.sx-shop-launcher-page-v198 .sx-shop-empty-v195,
body.sx-shop-launcher-page-v198 .sx-launcher-empty-v192,
body.sx-shop-launcher-page-v198 .sx-launcher-empty-v193 {
  min-height: 0 !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: .2rem .1rem !important;
  display: block !important;
  color: rgba(246,249,255,.48) !important;
}

body.sx-shop-launcher-page-v198 .sx-shop-empty-v195[hidden],
body.sx-shop-launcher-page-v198 .sx-launcher-empty-v192[hidden],
body.sx-shop-launcher-page-v198 .sx-launcher-empty-v193[hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v198 .offer-simple-v78.sx-offer-launcher-v196 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    grid-template-areas: "title" "search" "filters" "tools" !important;
  }

  body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 {
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: .16rem !important;
    scrollbar-width: none !important;
  }

  body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198::-webkit-scrollbar,
  body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198::-webkit-scrollbar {
    display: none !important;
  }

  body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198 button,
  body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 button {
    min-width: 148px !important;
    width: auto !important;
    white-space: nowrap !important;
  }

  body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .offer-cards-v78 {
    overflow: visible !important;
    max-height: none !important;
  }
}


/* SX27 V199 — Offers simplified Web/Design filters */
body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198,
body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 {
  gap: .44rem !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198 button,
body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 button {
  min-height: 40px !important;
  padding: .66rem .82rem !important;
  white-space: nowrap !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198 button strong,
body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 button strong {
  font-size: .82rem !important;
  line-height: 1 !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .family-panel-head-v78 {
  display: none !important;
}

body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .offer-cards-v78,
body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
body.sx-offers-launcher-test-v198 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  grid-auto-rows: minmax(176px, auto) !important;
  gap: .88rem !important;
  padding-top: 0 !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 {
  min-height: 176px !important;
  padding: 1rem !important;
  gap: .66rem !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 header {
  gap: .52rem !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 header h4 {
  margin-bottom: .04rem !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 p {
  font-size: .82rem !important;
  line-height: 1.42 !important;
}

body.sx-offers-launcher-test-v198 .offer-card-v78 .offer-action-v84 {
  margin-top: auto !important;
}

/* Keep empty Shop states invisible: no dashed residual panel/line. */
body.sx-shop-launcher-page-v198 .sx-shop-empty-v195,
body.sx-shop-launcher-page-v198 .sx-launcher-empty-v192,
body.sx-shop-launcher-page-v198 .sx-launcher-empty-v193 {
  display: none !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 {
    flex-direction: row !important;
    gap: .5rem !important;
  }
  body.sx-offers-launcher-test-v198 .sx-offer-sidebar-v198 button,
  body.sx-offers-launcher-test-v198 .family-switch-v78.sx-offer-sidebar-v198 button {
    min-width: 126px !important;
  }
}

/* =========================
   SX27 V200 — Offers launcher parity + Shop top-line cleanup
   ========================= */
body.sx-shop-launcher-page-v200 .sx-library-main-v189::before,
body.sx-shop-launcher-page-v200 .sx-library-main-v189::after,
body.sx-shop-launcher-page-v200 .sx-library-section-v189::before,
body.sx-shop-launcher-page-v200 .sx-library-section-v189::after,
body.sx-shop-launcher-page-v200 .sx-library-section-v192::before,
body.sx-shop-launcher-page-v200 .sx-library-section-v192::after,
body.sx-shop-launcher-page-v200 .sx-shop-board-v195::before,
body.sx-shop-launcher-page-v200 .sx-shop-board-v195::after,
body.sx-shop-launcher-page-v200 .sx-shop-top-v195::before,
body.sx-shop-launcher-page-v200 .sx-shop-top-v195::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

body.sx-shop-launcher-page-v200 .sx-library-main-v189,
body.sx-shop-launcher-page-v200 .sx-library-section-v189,
body.sx-shop-launcher-page-v200 .sx-library-section-v192,
body.sx-shop-launcher-page-v200 .sx-shop-top-v195 {
  border-top: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
  display: grid !important;
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  grid-template-areas:
    "title search"
    "filters tools" !important;
  gap: clamp(.78rem, 1.24vw, .96rem) !important;
  min-height: min(650px, calc(100svh - 9.8rem)) !important;
  height: min(650px, calc(100svh - 9.8rem)) !important;
  max-height: min(650px, calc(100svh - 9.8rem)) !important;
  padding: clamp(.86rem, 1.45vw, 1.08rem) !important;
  border-radius: 34px !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-title-v196 {
  grid-area: title !important;
  align-self: end !important;
  min-width: 0 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
  margin: 0 !important;
  color: rgba(250,252,255,.98) !important;
  font-size: clamp(2.25rem, 4.4vw, 4.15rem) !important;
  line-height: .84 !important;
  letter-spacing: -.078em !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-search-v196 {
  grid-area: search !important;
  align-self: center !important;
  display: block !important;
  width: 100% !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-search-v196 span {
  display: none !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-search-v196 input {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 15px !important;
  padding: 0 .95rem !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.082) !important;
  color: rgba(246,249,255,.94) !important;
  font: inherit !important;
  font-size: .92rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-search-v196 input::placeholder {
  color: rgba(246,249,255,.48) !important;
}

body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200,
body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 {
  grid-area: filters !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .62rem !important;
  min-width: 0 !important;
  overflow: visible !important;
  max-height: none !important;
  border: 1px solid rgba(255,255,255,.064) !important;
  border-radius: 26px !important;
  padding: .72rem !important;
  background: rgba(255,255,255,.018) !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-filter-group-v200,
body.sx-offers-launcher-test-v200 .sx-offer-filter-main-v200 {
  display: grid !important;
  gap: .32rem !important;
  padding: .64rem !important;
  border: 1px solid rgba(255,255,255,.064) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.018) !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-filter-main-v200 {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-filter-group-v200 p {
  margin: 0 0 .24rem !important;
  color: rgba(246,249,255,.36) !important;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: .62rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 button,
body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200 button {
  min-height: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: 1px solid rgba(255,255,255,.068) !important;
  border-radius: 999px !important;
  padding: .66rem .78rem !important;
  color: rgba(246,249,255,.70) !important;
  background: rgba(255,255,255,.020) !important;
  text-align: left !important;
  font: inherit !important;
  font-size: .84rem !important;
  letter-spacing: -.012em !important;
  cursor: pointer !important;
  white-space: normal !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-filter-main-v200 button {
  min-height: 48px !important;
  padding: .78rem .9rem !important;
  border-radius: 18px !important;
  color: rgba(250,252,255,.92) !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 button:hover,
body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 button.is-active {
  color: rgba(250,252,255,.96) !important;
  border-color: rgba(138,239,255,.24) !important;
  background: rgba(138,239,255,.060) !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 button strong {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-subfilters-v200 {
  display: none !important;
}
body.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="web"] .sx-offer-subfilters-v200[data-offer-subfilters="web"],
body.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="design"] .sx-offer-subfilters-v200[data-offer-subfilters="design"] {
  display: grid !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 {
  grid-area: tools !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.064) !important;
  border-radius: 26px !important;
  padding: clamp(.82rem, 1.45vw, 1rem) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(120,213,240,.035), transparent 44%),
    rgba(255,255,255,.018) !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .family-panel-head-v78 {
  display: none !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(190px, auto) !important;
  align-content: start !important;
  gap: .78rem !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: .02rem .34rem .02rem .02rem !important;
  scrollbar-width: thin !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 {
  min-height: 190px !important;
  padding: .98rem !important;
  gap: .72rem !important;
  border-radius: 20px !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v200 {
  grid-column: span 2 !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 header {
  gap: .58rem !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 header h4 {
  font-size: clamp(1.18rem, 1.75vw, 1.56rem) !important;
  line-height: .98 !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 header strong {
  width: fit-content !important;
  max-width: 100% !important;
  padding: .34rem .66rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(100,221,255,.22) !important;
  background: rgba(100,221,255,.07) !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 p {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  font-size: .84rem !important;
  line-height: 1.46 !important;
  color: rgba(246,249,255,.58) !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 .offer-action-v84 {
  margin-top: auto !important;
  width: fit-content !important;
}

body.sx-offers-launcher-test-v200 .offer-modal-panel-v96,
body .offer-modal-panel-v96 {
  border-radius: 30px !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(120,213,240,.105), transparent 38%),
    linear-gradient(135deg, rgba(13,22,32,.975), rgba(7,9,17,.972)) !important;
}

body.sx-offers-launcher-test-v200 .offer-modal-price-v96,
body .offer-modal-price-v96,
body.sx-offers-launcher-test-v200 .offer-modal-info-v96,
body .offer-modal-info-v96 {
  gap: .72rem !important;
}

body.sx-offers-launcher-test-v200 .offer-modal-actions-v96 .button,
body .offer-modal-actions-v96 .button {
  border-radius: 999px !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    grid-template-areas: "title" "search" "filters" "tools" !important;
  }

  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 {
    overflow: visible !important;
    max-height: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    grid-template-columns: 1fr !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v200 {
    grid-column: auto !important;
  }
}


/* V201 — cleaner all-offers mosaic: 3-column packing without visual holes */
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: dense !important;
  grid-auto-rows: minmax(172px, auto) !important;
  align-items: stretch !important;
  gap: .78rem !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 {
  min-height: 172px !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v200 {
  grid-column: span 1 !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v201 {
  grid-column: span 2 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 header h4 {
  max-width: 100% !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 p {
  max-width: 92ch !important;
}

@media (max-width: 760px) {
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v201 {
    grid-column: span 2 !important;
  }
}

@media (max-width: 520px) {
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 {
    grid-template-columns: 1fr !important;
  }
  body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v201 {
    grid-column: span 1 !important;
  }
}

/* =========================
   SX27 V202 — Offers cards no-cut readability fix
   Keeps the V201 mosaic, but prevents card content/action from being clipped.
   ========================= */
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 {
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
  grid-auto-flow: dense !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  align-content: start !important;
  gap: .88rem !important;
  padding: .02rem .42rem 1.35rem .02rem !important;
  scroll-padding-bottom: 1.35rem !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 {
  height: auto !important;
  min-height: 218px !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-content: initial !important;
  justify-content: flex-start !important;
  gap: .68rem !important;
  padding: 1rem !important;
  padding-bottom: 1rem !important;
  box-sizing: border-box !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78::after {
  content: none !important;
  display: none !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .52rem !important;
  min-width: 0 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header h4 {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header strong {
  justify-self: start !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.08 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 p {
  flex: 0 0 auto !important;
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  font-size: .82rem !important;
  line-height: 1.42 !important;
  margin: 0 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84 {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 30px !important;
  margin-top: auto !important;
  padding: .48rem .72rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  z-index: 2 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78:hover .offer-action-v84,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78.is-active .offer-action-v84 {
  transform: none !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78.sx-offer-wide-v201 {
  min-height: 196px !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 {
    min-height: 0 !important;
  }
}

/* =========================
   SX27 V203 — E-commerce offer card spacing fix
   Keeps the validated offers launcher while giving the long E-commerce card enough breathing room.
   ========================= */
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78[data-v96-offer="ecommerce"] {
  min-height: 252px !important;
  padding-bottom: 1.18rem !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78[data-v96-offer="ecommerce"] p {
  margin-bottom: .12rem !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78[data-v96-offer="ecommerce"] .offer-action-v84 {
  margin-top: .32rem !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78[data-v96-offer="ecommerce"] {
    min-height: 0 !important;
  }
}

/* =========================
   SX27 V204 — Offers card ghost-square fix
   Removes the old rectangular pseudo-layer behind offer cards while keeping the validated layout.
   ========================= */
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78::before,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 {
  isolation: isolate !important;
}

/* =========================================================
   SX27 V210 — Mobile rollback + clean launchers
   Base: V204 desktop. Mobile is rebuilt without the broken V205–V209 desktop-forced layout.
   ========================================================= */
@media (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.studio-clean-v8 .sx-site-header-v140,
  body.sx-library-v189 .sx-site-header-v140,
  body.sx-shop-launcher-page-v195 .sx-site-header-v140,
  body.sx-shop-launcher-page-v196 .sx-site-header-v140,
  body.sx-offers-launcher-test-v200 .sx-site-header-v140 {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 9px !important;
    border-radius: 999px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    z-index: 9000 !important;
  }

  body.studio-clean-v8 .sx-header-logo-v140,
  body.sx-library-v189 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v195 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v196 .sx-header-logo-v140,
  body.sx-offers-launcher-test-v200 .sx-header-logo-v140 {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
  }

  body.studio-clean-v8 .sx-header-logo-v140 img,
  body.sx-library-v189 .sx-header-logo-v140 img,
  body.sx-shop-launcher-page-v195 .sx-header-logo-v140 img,
  body.sx-shop-launcher-page-v196 .sx-header-logo-v140 img,
  body.sx-offers-launcher-test-v200 .sx-header-logo-v140 img {
    width: 36px !important;
    height: 36px !important;
  }

  body.studio-clean-v8 .sx-header-nav-v140,
  body.sx-library-v189 .sx-header-nav-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-v140,
  body.sx-offers-launcher-test-v200 .sx-header-nav-v140 {
    width: 100% !important;
    min-width: 0 !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    overflow: visible !important;
  }

  body.studio-clean-v8 .sx-header-nav-link-v140,
  body.sx-library-v189 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140,
  body.sx-offers-launcher-test-v200 .sx-header-nav-link-v140 {
    min-height: 40px !important;
    padding: 0 9px !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
  }

  body.studio-clean-v8 .language-icon-button,
  body.sx-library-v189 .language-icon-button,
  body.sx-shop-launcher-page-v195 .language-icon-button,
  body.sx-shop-launcher-page-v196 .language-icon-button,
  body.sx-offers-launcher-test-v200 .language-icon-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  /* Safe content offset: boards start below the fixed header. */
  body.sx-library-v189 .sx-library-main-v189,
  body.sx-shop-launcher-page-v195 .sx-shop-main-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-main-v195,
  body.sx-offers-launcher-test-v200 main,
  body.sx-studio-subpage.sx-offers-launcher-test-v200 main {
    padding-top: calc(104px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-library-v189 .sx-library-section-v189,
  body.sx-shop-launcher-page-v195 .sx-shop-section-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-section-v195,
  body.sx-offers-launcher-test-v200 .offers-section-v78 {
    padding-top: 0 !important;
  }

  body.sx-library-v189 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v195 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v196 .sx-library-shell-v192,
  body.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }

  /* Shop + Library: compact top row and no filter wall on mobile. */
  body.sx-library-v193 .sx-library-board-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-board-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-board-v195 {
    padding: 14px !important;
    border-radius: 26px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-library-v193 .sx-library-top-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-top-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-top-v195 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(142px, 44%) !important;
    grid-template-areas: "title filter" !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
  }

  body.sx-library-v193 .sx-library-titleline-v193,
  body.sx-shop-launcher-page-v195 .sx-library-titleline-v193,
  body.sx-shop-launcher-page-v196 .sx-library-titleline-v193 {
    grid-area: title !important;
    min-width: 0 !important;
  }

  body.sx-library-v193 .sx-library-titleline-v193 h1,
  body.sx-shop-launcher-page-v195 .sx-library-titleline-v193 h1,
  body.sx-shop-launcher-page-v196 .sx-library-titleline-v193 h1,
  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
    margin: 0 !important;
    font-size: clamp(2.38rem, 11vw, 3.45rem) !important;
    line-height: .84 !important;
    letter-spacing: -.085em !important;
    white-space: nowrap !important;
  }

  body.sx-library-v193 .sx-library-search-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-search-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-search-v195,
  body.sx-library-v194 .sx-library-filters-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-filters-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-filters-v195 {
    display: none !important;
  }

  .sx-mobile-launcher-select-v210,
  .sx-offer-mobile-select-v210 {
    display: block !important;
    grid-area: filter !important;
    width: 100% !important;
    position: static !important;
    margin: 0 !important;
  }

  .sx-mobile-launcher-select-v210 select,
  .sx-offer-mobile-select-v210 select {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    height: 46px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(138,239,255,.22) !important;
    background:
      linear-gradient(135deg, rgba(138,239,255,.11), rgba(255,255,255,.04)),
      rgba(9,15,25,.88) !important;
    color: rgba(246,249,255,.93) !important;
    font-family: inherit !important;
    font-size: .74rem !important;
    font-weight: 880 !important;
    padding: 0 2rem 0 .76rem !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
  }

  .sx-mobile-launcher-select-v210::after,
  .sx-offer-mobile-select-v210::after {
    content: "" !important;
    position: absolute !important;
    right: .78rem !important;
    top: 50% !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 6px solid var(--accent) !important;
    transform: translateY(-35%) !important;
    pointer-events: none !important;
  }

  body.sx-library-v193 .sx-library-layout-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-layout-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-layout-v195 {
    display: block !important;
  }

  body.sx-library-v193 .sx-library-tools-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-products-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-products-v195 {
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 22px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-library-v193 .sx-app-library-grid-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-grid-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-grid-v195 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-library-v194 .sx-library-tool-card-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 {
    padding: 18px 18px 16px !important;
    border-radius: 22px !important;
    min-height: 0 !important;
    height: auto !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  body.sx-library-v194 .sx-library-tool-card-v193 h3,
  body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 h3,
  body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 h3 {
    font-size: clamp(1.72rem, 8vw, 2.35rem) !important;
    line-height: .92 !important;
    margin: 0 !important;
  }

  body.sx-library-v194 .sx-library-tool-card-v193 p,
  body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 p,
  body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 p {
    font-size: .96rem !important;
    line-height: 1.26 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-library-v194 .sx-library-tool-card-v193 small,
  body.sx-shop-launcher-page-v195 .sx-shop-product-card-v195 small,
  body.sx-shop-launcher-page-v196 .sx-shop-product-card-v195 small {
    font-size: .84rem !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
  }

  /* Offers mobile: use the same launcher, but remove the desktop sidebar and make it a real 2-col mobile grid. */
  body.sx-offers-launcher-test-v200 .section-heading.center,
  body.sx-offers-launcher-test-v200 .offer-journey-v100 {
    display: none !important;
  }

  body.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
    display: block !important;
    position: relative !important;
    padding: 14px !important;
    border-radius: 26px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(142px, 44%) !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    width: 100% !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-search-v196,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v197,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v196,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v195 {
    display: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 22px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .family-panel-head-v78 {
    display: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
  body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v200,
  body.sx-offers-launcher-test-v200 .offer-card-v78.sx-offer-wide-v201 {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 174px !important;
    padding: 13px 12px !important;
    border-radius: 20px !important;
    gap: 7px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header {
    display: grid !important;
    gap: 7px !important;
    margin: 0 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header h4 {
    font-size: clamp(1.15rem, 5.7vw, 1.55rem) !important;
    line-height: .92 !important;
    letter-spacing: -.06em !important;
    margin: 0 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header strong {
    justify-self: start !important;
    max-width: 100% !important;
    font-size: .62rem !important;
    line-height: 1.05 !important;
    padding: .32rem .46rem !important;
    white-space: normal !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 p {
    font-size: .76rem !important;
    line-height: 1.22 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84 {
    position: static !important;
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 30px !important;
    padding: .42rem .52rem !important;
    margin-top: auto !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    align-self: start !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84::after {
    content: "Détails" !important;
    font-size: .66rem !important;
    font-weight: 900 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-search-terms-v196 {
    display: none !important;
  }
}

@media (max-width: 390px) {
  body.studio-clean-v8 .sx-site-header-v140,
  body.sx-library-v189 .sx-site-header-v140,
  body.sx-shop-launcher-page-v195 .sx-site-header-v140,
  body.sx-shop-launcher-page-v196 .sx-site-header-v140,
  body.sx-offers-launcher-test-v200 .sx-site-header-v140 {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    min-height: 60px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    padding: 7px 7px !important;
  }

  body.studio-clean-v8 .sx-header-logo-v140,
  body.sx-library-v189 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v195 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v196 .sx-header-logo-v140,
  body.sx-offers-launcher-test-v200 .sx-header-logo-v140 {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }

  body.studio-clean-v8 .sx-header-nav-link-v140,
  body.sx-library-v189 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140,
  body.sx-offers-launcher-test-v200 .sx-header-nav-link-v140 {
    min-height: 36px !important;
    padding: 0 7px !important;
    font-size: .70rem !important;
  }

  body.studio-clean-v8 .language-icon-button,
  body.sx-library-v189 .language-icon-button,
  body.sx-shop-launcher-page-v195 .language-icon-button,
  body.sx-shop-launcher-page-v196 .language-icon-button,
  body.sx-offers-launcher-test-v200 .language-icon-button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 {
    min-height: 168px !important;
    padding: 12px 10px !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header h4 {
    font-size: clamp(1.05rem, 5.4vw, 1.38rem) !important;
  }
}

/* =========================================================
   SX27 V211 — Mobile hard fix after V210
   - Move Shop/Library boards below fixed header
   - Remove mobile Offers sidebar/filter wall
   - Align Offers title + select
   - Restore Studio service logo visibility
   ========================================================= */
@media (max-width: 820px) {
  /* Keep the phone header usable, but leave real space below it. */
  body.studio-clean-v8 .sx-site-header-v140,
  body.sx-library-v189 .sx-site-header-v140,
  body.sx-shop-launcher-page-v195 .sx-site-header-v140,
  body.sx-shop-launcher-page-v196 .sx-site-header-v140,
  body.sx-offers-launcher-test-v200 .sx-site-header-v140 {
    top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: 64px !important;
    z-index: 99999 !important;
  }

  /* Shop + Library: the board itself must not sit underneath the fixed header. */
  body.sx-library-v189 main#main.sx-library-main-v189,
  body.sx-shop-launcher-page-v195 main#main.sx-shop-main-v195,
  body.sx-shop-launcher-page-v196 main#main.sx-shop-main-v195 {
    padding-top: calc(124px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-library-v189 .sx-library-section-v189,
  body.sx-library-v189 .sx-library-section-v192,
  body.sx-shop-launcher-page-v195 .sx-shop-section-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-section-v195 {
    padding-top: 0 !important;
  }

  body.sx-library-v189 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v195 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v196 .sx-library-shell-v192 {
    margin-top: 32px !important;
  }

  body.sx-library-v193 .sx-library-board-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-board-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-board-v195 {
    margin-top: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Restore the Studio logo/title block if mobile offer CSS touched reveal/headings. */
  body.studio-clean-v8 .services-brand-heading,
  body.studio-clean-v8 .services-brand-heading.reveal,
  body.studio-clean-v8 .studio-service-logo,
  body.studio-clean-v8 .studio-service-logo-link-v107,
  body.studio-clean-v8 .studio-service-logo img,
  body.studio-clean-v8 .studio-service-kicker,
  body.studio-clean-v8 .studio-service-subtext {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.studio-clean-v8 .studio-service-logo,
  body.studio-clean-v8 .studio-service-logo-link-v107 {
    display: grid !important;
  }

  /* Offers: rebuild the mobile layout without the desktop sidebar/filter wall. */
  body.sx-offers-launcher-test-v200 main#main {
    padding-top: calc(124px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-offers-launcher-test-v200 .offers-section-v78 {
    padding-top: 0 !important;
  }

  body.sx-offers-launcher-test-v200 .section-heading.center,
  body.sx-offers-launcher-test-v200 .offer-journey-v100,
  body.sx-offers-launcher-test-v200 .sx-offer-search-v195,
  body.sx-offers-launcher-test-v200 .sx-offer-search-v196,
  body.sx-offers-launcher-test-v200 .sx-offer-search-terms-v196,
  body.sx-offers-launcher-test-v200 aside.family-switch-v78,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v195,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v196,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v197,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v195,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v196,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v197,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    pointer-events: none !important;
  }

  body.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
    display: block !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 32px auto 0 !important;
    padding: 14px !important;
    border-radius: 28px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 14px !important;
    position: relative !important;
    z-index: 5 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 50% !important;
    margin: 0 !important;
    font-size: clamp(2.55rem, 13vw, 3.35rem) !important;
    line-height: .86 !important;
    letter-spacing: -.088em !important;
    white-space: nowrap !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 {
    flex: 0 0 min(190px, 48%) !important;
    width: min(190px, 48%) !important;
    max-width: 48% !important;
    min-width: 142px !important;
    height: 56px !important;
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    z-index: 6 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 select {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    border-radius: 19px !important;
    border: 1px solid rgba(138,239,255,.24) !important;
    background: rgba(255,255,255,.045) !important;
    color: rgba(250,252,255,.94) !important;
    font: inherit !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    padding: 0 2.25rem 0 .86rem !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210::after {
    content: "" !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-35%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 7px solid var(--accent) !important;
    pointer-events: none !important;
    z-index: 7 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 24px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .family-panel-head-v78 {
    display: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78.sx-offer-wide-v200,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78.sx-offer-wide-v201 {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 172px !important;
    height: auto !important;
    padding: 13px 11px !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header {
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header h4 {
    margin: 0 !important;
    font-size: clamp(1.16rem, 6vw, 1.55rem) !important;
    line-height: .92 !important;
    letter-spacing: -.066em !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header strong {
    justify-self: start !important;
    max-width: 100% !important;
    font-size: .61rem !important;
    line-height: 1.05 !important;
    padding: .34rem .48rem !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 p {
    margin: 0 !important;
    font-size: .76rem !important;
    line-height: 1.22 !important;
    color: rgba(246,249,255,.64) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84 {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 30px !important;
    padding: .42rem .56rem !important;
    margin-top: auto !important;
    align-self: flex-start !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84::after {
    content: "Détails" !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 390px) {
  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
    font-size: clamp(2.3rem, 12.5vw, 3rem) !important;
    max-width: 48% !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 {
    flex-basis: 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 132px !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 select {
    font-size: .78rem !important;
    padding-left: .72rem !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 {
    min-height: 164px !important;
    padding: 12px 10px !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header h4 {
    font-size: clamp(1.04rem, 5.55vw, 1.34rem) !important;
  }
}

/* =========================
   SX27 V212 — final mobile positioning + select arrow + Studio logo restore
   ========================= */

/* Remove the thin divider/ghost line on the dedicated Offers page. */
body.sx-offres-page-v135 main::before,
body.sx-offres-page-v135 main::after,
body.sx-offres-page-v135 .offers-section-v78::before,
body.sx-offres-page-v135 .offers-section-v78::after,
body.sx-offres-page-v135 .scroll-anchor::before,
body.sx-offres-page-v135 .scroll-anchor::after,
body.studio-clean-v8 .services-section::before,
body.studio-clean-v8 .services-section::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

@media (max-width: 760px) {
  /* Keep the mobile header full-width, centered, and safely above page content. */
  body.studio-clean-v8 .sx-site-header-v140,
  body.sx-library-v189 .sx-site-header-v140,
  body.sx-shop-launcher-page-v195 .sx-site-header-v140,
  body.sx-shop-launcher-page-v196 .sx-site-header-v140,
  body.sx-offers-launcher-test-v200 .sx-site-header-v140 {
    position: fixed !important;
    top: calc(12px + env(safe-area-inset-top, 0px)) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 auto !important;
    transform: none !important;
    z-index: 300 !important;
    box-sizing: border-box !important;
  }

  /* Shop / Library: force the board below the fixed header. */
  body.sx-library-v189 main#main.sx-library-main-v189,
  body.sx-shop-launcher-page-v195 main#main.sx-shop-main-v195,
  body.sx-shop-launcher-page-v196 main#main.sx-shop-main-v195 {
    padding-top: calc(142px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-library-v189 .sx-library-section-v189,
  body.sx-library-v189 .sx-library-section-v192,
  body.sx-shop-launcher-page-v195 .sx-shop-section-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-section-v195 {
    padding-top: 18px !important;
  }

  body.sx-library-v189 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v195 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v196 .sx-library-shell-v192 {
    margin-top: 18px !important;
  }

  body.sx-library-v193 .sx-library-board-v193,
  body.sx-shop-launcher-page-v195 .sx-shop-board-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-board-v195 {
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  /* The select triangles must stay inside their own buttons. */
  .sx-mobile-launcher-select-v210,
  .sx-offer-mobile-select-v210 {
    position: relative !important;
    isolation: isolate !important;
  }

  .sx-mobile-launcher-select-v210::after,
  .sx-offer-mobile-select-v210::after {
    content: "" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-34%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 7px solid var(--accent) !important;
    pointer-events: none !important;
    z-index: 3 !important;
  }

  /* Studio home: restore the logo/kicker/subtext block and remove the extra separator line. */
  body.studio-clean-v8 #services.services-section {
    padding-top: calc(136px + env(safe-area-inset-top, 0px)) !important;
  }

  body.studio-clean-v8 .services-brand-heading,
  body.studio-clean-v8 .services-brand-heading.reveal {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    margin-top: 0 !important;
    margin-bottom: 1.35rem !important;
  }

  body.studio-clean-v8 .studio-service-logo,
  body.studio-clean-v8 .studio-service-logo-link-v107 {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: clamp(96px, 28vw, 132px) !important;
    height: clamp(96px, 28vw, 132px) !important;
    margin: 0 auto .65rem !important;
    place-items: center !important;
    transform: none !important;
  }

  body.studio-clean-v8 .studio-service-logo img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.studio-clean-v8 .studio-service-kicker,
  body.studio-clean-v8 .studio-service-subtext {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.studio-clean-v8 .studio-service-kicker::after {
    display: block !important;
  }

  /* Offers mobile: kill the desktop/sidebar layout completely and keep only title + select + cards. */
  body.sx-offers-launcher-test-v200 main#main {
    padding-top: calc(142px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-offers-launcher-test-v200 .section-heading.center,
  body.sx-offers-launcher-test-v200 .offer-journey-v100,
  body.sx-offers-launcher-test-v200 .sx-offer-search-v195,
  body.sx-offers-launcher-test-v200 .sx-offer-search-v196,
  body.sx-offers-launcher-test-v200 .sx-offer-search-terms-v196,
  body.sx-offers-launcher-test-v200 .family-switch-v78,
  body.sx-offers-launcher-test-v200 aside.family-switch-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v195,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v196,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v197,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    inset: auto auto auto -10000px !important;
    pointer-events: none !important;
  }

  body.sx-offers-launcher-test-v200 .offers-section-v78 {
    padding-top: 18px !important;
    padding-bottom: 2rem !important;
    border-top: 0 !important;
  }

  body.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
    display: block !important;
    position: relative !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    margin: 18px auto 0 !important;
    padding: 16px !important;
    border-radius: 30px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 45%) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
    grid-column: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: clamp(2.35rem, 10.5vw, 3.15rem) !important;
    line-height: .86 !important;
    letter-spacing: -.088em !important;
    white-space: nowrap !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 {
    grid-column: 2 !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    z-index: 2 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 select {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    border-radius: 18px !important;
    padding: 0 2.35rem 0 .92rem !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210::after {
    right: 16px !important;
    top: 50% !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
    border-radius: 25px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .family-panel-head-v78 {
    display: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78.sx-offer-wide-v200,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78.sx-offer-wide-v201 {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 174px !important;
    height: auto !important;
    padding: 13px 11px !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header {
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header h4 {
    margin: 0 !important;
    font-size: clamp(1.1rem, 5.65vw, 1.46rem) !important;
    line-height: .92 !important;
    letter-spacing: -.066em !important;
    overflow-wrap: anywhere !important;
    hyphens: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 header strong {
    justify-self: start !important;
    max-width: 100% !important;
    font-size: .62rem !important;
    line-height: 1.05 !important;
    padding: .34rem .48rem !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 p {
    margin: 0 !important;
    font-size: .74rem !important;
    line-height: 1.22 !important;
    color: rgba(246,249,255,.64) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84 {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 30px !important;
    padding: .42rem .56rem !important;
    margin-top: auto !important;
    align-self: flex-start !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84::after {
    content: "Détails" !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 390px) {
  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 {
    grid-template-columns: minmax(0, 1fr) minmax(132px, 44%) !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
    font-size: clamp(2.12rem, 10vw, 2.65rem) !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 select {
    font-size: .72rem !important;
    padding-left: .74rem !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 {
    min-height: 164px !important;
    padding: 12px 10px !important;
  }
}

/* =========================================================
   SX27 V213 — Studio mobile logo restore
   Cause: a generic mobile offers rule hid every .section-heading.center
   on pages carrying the offers launcher class, including the Studio
   home services logo block. This override restores only the Studio
   home logo/kicker/subtext and keeps the divider line disabled.
   ========================================================= */
@media (max-width: 760px) {
  body.studio-clean-v8 #services.services-section {
    padding-top: calc(118px + env(safe-area-inset-top, 0px)) !important;
  }

  body.studio-clean-v8 #services .services-brand-heading,
  body.studio-clean-v8 #services .services-brand-heading.reveal,
  body.studio-clean-v8 #services .section-heading.center.services-brand-heading,
  body.studio-clean-v8 #services .section-heading.center.reveal.services-brand-heading {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: min(100% - 1rem, var(--container, 1180px)) !important;
    max-width: calc(100vw - 1rem) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto 1.25rem !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.studio-clean-v8 #services .studio-service-logo,
  body.studio-clean-v8 #services .studio-service-logo-link-v107 {
    display: grid !important;
    position: relative !important;
    width: clamp(104px, 30vw, 136px) !important;
    height: clamp(104px, 30vw, 136px) !important;
    margin: 0 auto .62rem !important;
    padding: 0 !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.studio-clean-v8 #services .studio-service-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.studio-clean-v8 #services .studio-service-kicker,
  body.studio-clean-v8 #services .studio-service-subtext {
    display: block !important;
    position: relative !important;
    width: auto !important;
    max-width: 27rem !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.studio-clean-v8 #services .studio-service-kicker {
    margin-bottom: .35rem !important;
    font-size: .72rem !important;
  }

  body.studio-clean-v8 #services .studio-service-kicker::after {
    content: "" !important;
    display: block !important;
    width: min(240px, 46vw) !important;
    height: 1px !important;
    margin: .78rem auto .66rem !important;
    background: linear-gradient(90deg, transparent, rgba(138,239,255,.34), rgba(255,255,255,.34), transparent) !important;
    box-shadow: 0 0 18px rgba(138,239,255,.2) !important;
  }

  body.studio-clean-v8 #services .studio-service-subtext {
    font-size: .92rem !important;
    line-height: 1.38 !important;
  }

  body.studio-clean-v8 #services .studio-service-subtext::before {
    content: "" !important;
    display: block !important;
  }
}

/* =========================================================
   SX27 V214 — Studio mobile hero spacing / divider removal
   Scope: Studio home only. Remove the separator line between
   header and the logo block, and bring the logo block closer
   to the mobile header without affecting Shop/Library/Offers.
   ========================================================= */
@media (max-width: 760px) {
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.services-section {
    padding-top: calc(88px + env(safe-area-inset-top, 0px)) !important;
    border-top: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.services-section::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.services-section::after,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.part::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.part::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .services-brand-heading.reveal,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.reveal.services-brand-heading {
    margin-top: 0 !important;
    margin-bottom: 1.08rem !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo-link-v107 {
    margin-top: 0 !important;
    margin-bottom: .54rem !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker::after,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) .studio-service-kicker::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker {
    margin-bottom: .62rem !important;
  }
}


/* =========================================================
   SX27 V215 — Mobile spacing + headings + phone-only selects
   Scope: fixes after V214 without touching desktop launchers.
   ========================================================= */

/* Phone-only selects created by JS must never appear on desktop. */
@media (min-width: 761px) {
  .sx-mobile-launcher-select-v210,
  .sx-offer-mobile-select-v210 {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 760px) {
  /* Smaller, controlled gap between the mobile header and the Studio logo block. */
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.services-section {
    padding-top: calc(70px + env(safe-area-inset-top, 0px)) !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.reveal.services-brand-heading {
    margin-top: 0 !important;
    margin-bottom: .92rem !important;
  }

  /* Shop / Library: board starts under the fixed header, but without the oversized empty gap. */
  body.sx-library-v189 main#main.sx-library-main-v189,
  body.sx-shop-launcher-page-v195 main#main.sx-shop-main-v195,
  body.sx-shop-launcher-page-v196 main#main.sx-shop-main-v195 {
    padding-top: calc(92px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-library-v189 .sx-library-section-v189,
  body.sx-library-v189 .sx-library-section-v192,
  body.sx-shop-launcher-page-v195 .sx-shop-section-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-section-v195 {
    padding-top: 0 !important;
  }

  body.sx-library-v189 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v195 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v196 .sx-library-shell-v192 {
    margin-top: 0 !important;
  }

  /* Show the real Offer intro text again on the dedicated Offers page. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center.reveal {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    width: min(calc(100vw - 24px), var(--container, 1180px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto 1rem !important;
    overflow: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center .eyebrow,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center h2,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center .sublead {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center h2 {
    font-size: clamp(2.8rem, 12vw, 3.85rem) !important;
    line-height: .9 !important;
    letter-spacing: -.075em !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center .sublead {
    max-width: 26rem !important;
    margin-inline: auto !important;
  }

  /* Studio home: show Offer intro and Method intro, but replace the heavy offer launcher with a CTA. */
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center.reveal,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center.reveal {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    width: min(calc(100vw - 24px), var(--container, 1180px)) !important;
    height: auto !important;
    max-height: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center {
    margin-bottom: 1rem !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center .eyebrow,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center h2,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center .sublead,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center .eyebrow,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center h2,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center .sublead {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres .offer-journey-v100 {
    display: none !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres .offer-simple-v78.sx-offer-launcher-v196 {
    display: none !important;
  }

  .sx-mobile-offers-cta-v215 {
    display: flex !important;
    justify-content: center !important;
    margin: .25rem auto 2rem !important;
  }

  .sx-mobile-offers-cta-v215 .button {
    min-height: 48px !important;
    padding-inline: 1.25rem !important;
    border-radius: 999px !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #deroulement.method-section {
    padding-top: 1.5rem !important;
  }

  /* Dedicated Offers page: keep the offer launcher visible and compact below the intro. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
    margin-top: .75rem !important;
  }

  /* Phone selects are allowed only on mobile and their arrows stay inside their buttons. */
  .sx-mobile-launcher-select-v210,
  .sx-offer-mobile-select-v210 {
    display: block !important;
    position: relative !important;
    isolation: isolate !important;
  }

  .sx-mobile-launcher-select-v210::after,
  .sx-offer-mobile-select-v210::after {
    content: "" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-45%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 7px solid var(--accent) !important;
    pointer-events: none !important;
    z-index: 4 !important;
  }
}

@media (min-width: 761px) {
  .sx-mobile-offers-cta-v215 {
    display: none !important;
  }
}

/* =========================================================
   SX27 V216 — Mobile text/header final cleanup
   - Library mobile header must behave exactly like Shop
   - Prevent restored Studio/Offers/Method texts from collapsing letter-by-letter
   - Bring Studio logo block closer to header and remove pseudo-dot/line
   - Keep Shop/Library boards under the fixed mobile header
   ========================================================= */
@media (max-width: 760px) {
  /* Library = same mobile header behaviour as Shop: full nav stays visible. */
  body.sx-library-v189 .sx-site-header-v140,
  body.sx-shop-launcher-page-v195 .sx-site-header-v140,
  body.sx-shop-launcher-page-v196 .sx-site-header-v140 {
    top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: 64px !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    padding: 8px 9px !important;
    box-sizing: border-box !important;
  }

  body.sx-library-v189 .sx-header-nav-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-v140 {
    display: inline-flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.sx-library-v189 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140 {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 38px !important;
    padding: 0 9px !important;
    font-size: .74rem !important;
    white-space: nowrap !important;
  }

  body.sx-library-v189 .language-menu,
  body.sx-shop-launcher-page-v195 .language-menu,
  body.sx-shop-launcher-page-v196 .language-menu {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Shop / Library boards: always below the fixed header, never underneath it. */
  body.sx-library-v189 main#main.sx-library-main-v189,
  body.sx-shop-launcher-page-v195 main#main.sx-shop-main-v195,
  body.sx-shop-launcher-page-v196 main#main.sx-shop-main-v195 {
    padding-top: calc(112px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-library-v189 .sx-library-section-v189,
  body.sx-library-v189 .sx-library-section-v192,
  body.sx-shop-launcher-page-v195 .sx-shop-section-v195,
  body.sx-shop-launcher-page-v196 .sx-shop-section-v195 {
    padding-top: 0 !important;
  }

  body.sx-library-v189 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v195 .sx-library-shell-v192,
  body.sx-shop-launcher-page-v196 .sx-library-shell-v192 {
    margin-top: 0 !important;
  }

  /* Studio home: reduce the header/logo gap and remove the pseudo dot/line. */
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.services-section {
    padding-top: calc(58px + env(safe-area-inset-top, 0px)) !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.reveal.services-brand-heading {
    margin-top: 0 !important;
    margin-bottom: .78rem !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo-link-v107 {
    margin-top: 0 !important;
    margin-bottom: .42rem !important;
  }

  body.studio-clean-v8 #services .studio-service-kicker::before,
  body.studio-clean-v8 #services .studio-service-kicker::after,
  body.studio-clean-v8 #services .studio-service-subtext::before,
  body.studio-clean-v8 #services .studio-service-subtext::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  /* The restored Offer and Method headings must never collapse into one-letter columns. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center.reveal,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center.reveal,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center.reveal {
    display: block !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center .eyebrow,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center .eyebrow,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center .eyebrow {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: .18em !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center h2,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center h2,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center h2 {
    display: block !important;
    width: 100% !important;
    max-width: min(100%, 410px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center .sublead,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres > .section-heading.center .sublead,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #deroulement .section-heading.center .sublead {
    display: block !important;
    width: 100% !important;
    max-width: min(100%, 24rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1.45 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
}

/* =========================================================
   SX27 V217 — Mobile-only final polish + all-offers title cleanup
   Scope:
   - Mobile: Studio logo gap, no tap/selection artefact, Library header like Shop,
     Offers title/select alignment and compact all-offers list.
   - Desktop+mobile: remove the selected-category title block when viewing all offers.
   ========================================================= */

/* PC + mobile: when "Toutes les offres" is selected, don't repeat the category title inside the panel. */
body.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .family-panel-head-v78 {
  display: none !important;
}

@media (max-width: 760px) {
  /* Studio home: bring logo block closer to the fixed header and remove iOS tap/selection artefacts. */
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.services-section {
    padding-top: calc(34px + env(safe-area-inset-top, 0px)) !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.reveal.services-brand-heading {
    margin-top: 0 !important;
    margin-bottom: .7rem !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo-link-v107,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo img {
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo-link-v107 {
    margin-top: 0 !important;
    margin-bottom: .34rem !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker {
    margin-bottom: .42rem !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker::after,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-subtext::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-subtext::after {
    content: none !important;
    display: none !important;
  }

  /* Library: force the same phone header behaviour as Shop, with all links visible. */
  body.sx-library-v189 .sx-site-header-v140 {
    top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 9px !important;
    box-sizing: border-box !important;
  }

  body.sx-library-v189 .sx-header-nav-v140 {
    display: inline-flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.sx-library-v189 .sx-header-nav-link-v140 {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    flex: 0 1 auto !important;
  }

  body.sx-library-v189 .language-menu,
  body.sx-library-v189 [data-lang-menu] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
  }

  /* Offers mobile: title and dropdown on the same baseline. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-title-v196 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
    margin: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    line-height: .9 !important;
    font-size: clamp(2.45rem, 13vw, 4.1rem) !important;
    letter-spacing: -.07em !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 {
    flex: 0 0 min(48%, 230px) !important;
    width: min(48%, 230px) !important;
    max-width: 230px !important;
    margin: 0 !important;
    align-self: center !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 select {
    width: 100% !important;
    min-height: 52px !important;
    padding: 0 42px 0 18px !important;
    border-radius: 22px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210::after {
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-45%) !important;
  }

  /* Offers mobile: for all offers only, use compact one-by-one list cards. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-offer-panel-v196 {
    padding: 14px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78.sx-offer-all-groups-v198 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v200,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v201 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 13px 13px !important;
    border-radius: 22px !important;
    grid-column: auto !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    grid-column: 1 / -1 !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header h4 {
    margin: 0 !important;
    font-size: clamp(1.05rem, 5.3vw, 1.36rem) !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header strong {
    margin: 0 !important;
    justify-self: end !important;
    max-width: 45vw !important;
    white-space: normal !important;
    text-align: right !important;
    font-size: clamp(.68rem, 3.1vw, .82rem) !important;
    line-height: 1.05 !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 p {
    display: none !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 .offer-action-v84 {
    grid-column: 1 / -1 !important;
    margin-top: 0 !important;
    justify-self: start !important;
    min-height: 30px !important;
    padding: .42rem .68rem !important;
  }
}

@media (max-width: 390px) {
  body.sx-library-v189 .sx-header-nav-link-v140 {
    padding: 0 6px !important;
    font-size: .66rem !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-title-v196 h3 {
    font-size: clamp(2.2rem, 12vw, 3.35rem) !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-mobile-select-v210 {
    flex-basis: 49% !important;
    width: 49% !important;
  }
}

/* =========================================================
   SX27 V219 — SAFE patch from V217 baseline
   - Base = V217 (keeps Library header like Shop; no V218 rollback)
   - Mobile only: match Studio/Offers top rhythm to Contact
   - Mobile only: make All Offers an ultra-thin one-line list
   - PC unchanged except previous V217 removal of repeated all-offers title stays
   ========================================================= */
@media (max-width: 760px) {
  /* Studio home: reduce the gap without touching desktop. */
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services.services-section {
    padding-top: calc(12px + env(safe-area-inset-top, 0px)) !important;
    margin-top: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.services-brand-heading,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .section-heading.center.reveal.services-brand-heading {
    margin-top: -22px !important;
    margin-bottom: .64rem !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo-link-v107 {
    margin-top: 0 !important;
    margin-bottom: .28rem !important;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    outline: none !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo::after,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo-link-v107::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-logo-link-v107::after,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker::after,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-subtext::before,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-subtext::after {
    content: none !important;
    display: none !important;
  }

  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #services .studio-service-kicker {
    margin-bottom: .34rem !important;
  }

  /* Dedicated Offers page: same first-section rhythm as Contact, but keep the hero readable. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 main#main {
    padding-top: 0 !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 {
    padding-top: calc(126px + env(safe-area-inset-top, 0px)) !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offers-section-v78 > .section-heading.center.reveal {
    margin-top: 0 !important;
    margin-bottom: 1.2rem !important;
  }

  /* All offers on phone: true thin one-line list. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-offer-panel-v196 {
    padding: 12px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78.sx-offer-all-groups-v198 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v200,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v201 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 8px 9px !important;
    border-radius: 18px !important;
    grid-column: auto !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header {
    display: contents !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header h4 {
    grid-column: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    font-size: clamp(.82rem, 4.05vw, 1rem) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header strong {
    grid-column: 2 !important;
    margin: 0 !important;
    justify-self: end !important;
    max-width: 36vw !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: clamp(.58rem, 2.7vw, .7rem) !important;
    line-height: 1 !important;
    padding: .34rem .48rem !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 p {
    display: none !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 .offer-action-v84 {
    grid-column: 3 !important;
    margin: 0 !important;
    justify-self: end !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 .58rem !important;
    font-size: .62rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 5px !important;
    padding-inline: 8px !important;
  }

  body.sx-offres-page-v135.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header strong,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header strong {
    max-width: 32vw !important;
    font-size: .56rem !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 .offer-action-v84 {
    font-size: .58rem !important;
    padding-inline: .48rem !important;
  }
}

/* =========================================================
   SX27 V220 — Mobile Library header + thin all-offers rows
   - Based on V219, no desktop layout rewrite
   - Library mobile header forced to the same visible nav as Shop
   - All-offers mobile rows: readable title + price + compact info button
   ========================================================= */
@media (max-width: 760px) {
  /* Library header must match Shop mobile: logo + Studio / Shop / Library + lang. */
  body.sx-library-v189 .sx-site-header-v140 {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 9px !important;
    border-radius: 999px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
  }

  body.sx-library-v189 .sx-header-logo-v140 {
    display: grid !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.sx-library-v189 .sx-header-nav-v140 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.sx-library-v189 .sx-header-nav-v140 > .sx-header-nav-link-v140 {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-indent: 0 !important;
    transform: none !important;
  }

  body.sx-library-v189 .sx-header-nav-v140 > .sx-header-nav-link-v140[href*="studio"],
  body.sx-library-v189 .sx-header-nav-v140 > .sx-header-nav-link-v140[href*="shop"],
  body.sx-library-v189 .sx-header-nav-v140 > .sx-header-nav-link-v140[href*="library"] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.sx-library-v189 .language-menu,
  body.sx-library-v189 [data-lang-menu] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 38px !important;
    margin-left: 1px !important;
  }

  body.sx-library-v189 .language-icon-button {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }

  /* All offers on phone: title must be readable, price visible, action compact. */
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-offer-panel-v196 {
    padding: 12px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78.sx-offer-all-groups-v198 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v200,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v201 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(74px, auto) 34px !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 46px !important;
    height: auto !important;
    padding: 8px 9px !important;
    border-radius: 19px !important;
    grid-column: auto !important;
    overflow: hidden !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header {
    display: contents !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header h4 {
    grid-column: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: clamp(.98rem, 4.65vw, 1.16rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.052em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header strong {
    grid-column: 2 !important;
    margin: 0 !important;
    justify-self: end !important;
    max-width: 34vw !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
    font-size: clamp(.60rem, 2.8vw, .72rem) !important;
    line-height: 1 !important;
    padding: .37rem .50rem !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 p {
    display: none !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 .offer-action-v84 {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    color: transparent !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 .offer-action-v84::after {
    content: "i" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: var(--accent, #8aefff) !important;
    font-size: .90rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-transform: none !important;
  }
}

@media (max-width: 390px) {
  body.sx-library-v189 .sx-site-header-v140 {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    padding: 7px 7px !important;
  }

  body.sx-library-v189 .sx-header-logo-v140 {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }

  body.sx-library-v189 .sx-header-nav-v140 > .sx-header-nav-link-v140 {
    min-height: 36px !important;
    padding: 0 6px !important;
    font-size: .66rem !important;
  }

  body.sx-library-v189 .language-icon-button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 {
    grid-template-columns: minmax(0, 1fr) minmax(68px, auto) 32px !important;
    gap: 5px !important;
    padding: 7px 8px !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header h4 {
    font-size: clamp(.90rem, 4.3vw, 1.05rem) !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 header strong {
    max-width: 31vw !important;
    font-size: .57rem !important;
    padding-inline: .42rem !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 .offer-action-v84 {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
}

/* =========================================================
   SX27 V221 — Mobile header final uniformisation
   Scope: phone only.
   - Library header must behave exactly like Shop: logo + Studio/Shop/Library + language.
   - Studio/Shop/Library mobile headers use the same font sizing.
   - Active/pressed header item text stays black on turquoise, never grey.
   ========================================================= */
@media (max-width: 760px) {
  /* One mobile header geometry for Studio, Shop, Library, Offers, Contact. */
  body.studio-clean-v8 .sx-site-header-v140,
  body.sx-shop-launcher-page-v195 .sx-site-header-v140,
  body.sx-shop-launcher-page-v196 .sx-site-header-v140,
  body.sx-library-page .sx-site-header-v140,
  body.sx-library-v189 .sx-site-header-v140,
  body.sx-offres-page-v135 .sx-site-header-v140,
  body.sx-contact-page-v135 .sx-site-header-v140 {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 9px !important;
    border-radius: 999px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
  }

  body.studio-clean-v8 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v195 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v196 .sx-header-logo-v140,
  body.sx-library-page .sx-header-logo-v140,
  body.sx-library-v189 .sx-header-logo-v140,
  body.sx-offres-page-v135 .sx-header-logo-v140,
  body.sx-contact-page-v135 .sx-header-logo-v140 {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
  }

  body.studio-clean-v8 .sx-header-logo-v140 img,
  body.sx-shop-launcher-page-v195 .sx-header-logo-v140 img,
  body.sx-shop-launcher-page-v196 .sx-header-logo-v140 img,
  body.sx-library-page .sx-header-logo-v140 img,
  body.sx-library-v189 .sx-header-logo-v140 img,
  body.sx-offres-page-v135 .sx-header-logo-v140 img,
  body.sx-contact-page-v135 .sx-header-logo-v140 img {
    width: 36px !important;
    height: 36px !important;
  }

  body.studio-clean-v8 .sx-header-nav-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-v140,
  body.sx-library-page .sx-header-nav-v140,
  body.sx-library-v189 .sx-header-nav-v140,
  body.sx-offres-page-v135 .sx-header-nav-v140,
  body.sx-contact-page-v135 .sx-header-nav-v140 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  /* Kill old library-specific mobile rule that hid Studio/Shop links. */
  body.sx-library-page .sx-header-nav-v140 a[href*="studio"],
  body.sx-library-page .sx-header-nav-v140 a[href*="shop"],
  body.sx-library-page .sx-header-nav-v140 a[href*="library"],
  body.sx-library-v189 .sx-header-nav-v140 a[href*="studio"],
  body.sx-library-v189 .sx-header-nav-v140 a[href*="shop"],
  body.sx-library-v189 .sx-header-nav-v140 a[href*="library"] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    text-indent: 0 !important;
  }

  /* Uniform mobile header typography. */
  body.studio-clean-v8 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140,
  body.sx-library-page .sx-header-nav-link-v140,
  body.sx-library-v189 .sx-header-nav-link-v140,
  body.sx-offres-page-v135 .sx-header-nav-link-v140,
  body.sx-contact-page-v135 .sx-header-nav-link-v140 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    font-size: .74rem !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
    overflow: visible !important;
    color: rgba(246,249,255,.72) !important;
    transition: color .16s ease, background .16s ease, opacity .16s ease !important;
  }

  /* Active/pressed state: black text on turquoise, including during tap animation. */
  body.studio-clean-v8 .sx-header-nav-link-v140.is-active,
  body.studio-clean-v8 .sx-header-nav-link-v140[aria-current="page"],
  body.studio-clean-v8 .sx-header-nav-link-v140:active,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140.is-active,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140:active,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140.is-active,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140:active,
  body.sx-library-page .sx-header-nav-link-v140.is-active,
  body.sx-library-page .sx-header-nav-link-v140[aria-current="page"],
  body.sx-library-page .sx-header-nav-link-v140:active,
  body.sx-library-v189 .sx-header-nav-link-v140.is-active,
  body.sx-library-v189 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-library-v189 .sx-header-nav-link-v140:active,
  body.sx-offres-page-v135 .sx-header-nav-link-v140.is-active,
  body.sx-offres-page-v135 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-offres-page-v135 .sx-header-nav-link-v140:active,
  body.sx-contact-page-v135 .sx-header-nav-link-v140.is-active,
  body.sx-contact-page-v135 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-contact-page-v135 .sx-header-nav-link-v140:active {
    color: rgba(2,7,12,.96) !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  body.studio-clean-v8 .language-menu,
  body.studio-clean-v8 [data-lang-menu],
  body.sx-shop-launcher-page-v195 .language-menu,
  body.sx-shop-launcher-page-v195 [data-lang-menu],
  body.sx-shop-launcher-page-v196 .language-menu,
  body.sx-shop-launcher-page-v196 [data-lang-menu],
  body.sx-library-page .language-menu,
  body.sx-library-page [data-lang-menu],
  body.sx-library-v189 .language-menu,
  body.sx-library-v189 [data-lang-menu],
  body.sx-offres-page-v135 .language-menu,
  body.sx-offres-page-v135 [data-lang-menu],
  body.sx-contact-page-v135 .language-menu,
  body.sx-contact-page-v135 [data-lang-menu] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 38px !important;
    margin-left: 1px !important;
  }

  body.studio-clean-v8 .language-icon-button,
  body.sx-shop-launcher-page-v195 .language-icon-button,
  body.sx-shop-launcher-page-v196 .language-icon-button,
  body.sx-library-page .language-icon-button,
  body.sx-library-v189 .language-icon-button,
  body.sx-offres-page-v135 .language-icon-button,
  body.sx-contact-page-v135 .language-icon-button {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }
}

@media (max-width: 390px) {
  body.studio-clean-v8 .sx-site-header-v140,
  body.sx-shop-launcher-page-v195 .sx-site-header-v140,
  body.sx-shop-launcher-page-v196 .sx-site-header-v140,
  body.sx-library-page .sx-site-header-v140,
  body.sx-library-v189 .sx-site-header-v140,
  body.sx-offres-page-v135 .sx-site-header-v140,
  body.sx-contact-page-v135 .sx-site-header-v140 {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    padding: 7px 7px !important;
  }

  body.studio-clean-v8 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v195 .sx-header-logo-v140,
  body.sx-shop-launcher-page-v196 .sx-header-logo-v140,
  body.sx-library-page .sx-header-logo-v140,
  body.sx-library-v189 .sx-header-logo-v140,
  body.sx-offres-page-v135 .sx-header-logo-v140,
  body.sx-contact-page-v135 .sx-header-logo-v140 {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }

  body.studio-clean-v8 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140,
  body.sx-library-page .sx-header-nav-link-v140,
  body.sx-library-v189 .sx-header-nav-link-v140,
  body.sx-offres-page-v135 .sx-header-nav-link-v140,
  body.sx-contact-page-v135 .sx-header-nav-link-v140 {
    min-height: 36px !important;
    padding: 0 6px !important;
    font-size: .66rem !important;
  }

  body.studio-clean-v8 .language-icon-button,
  body.sx-shop-launcher-page-v195 .language-icon-button,
  body.sx-shop-launcher-page-v196 .language-icon-button,
  body.sx-library-page .language-icon-button,
  body.sx-library-v189 .language-icon-button,
  body.sx-offres-page-v135 .language-icon-button,
  body.sx-contact-page-v135 .language-icon-button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }
}

/* =========================================================
   SX27 V222 — Mobile header tap/active color hard lock
   Scope: phone only.
   Purpose: remove grey text flash/animation on turquoise active pills.
   ========================================================= */
@media (max-width: 760px) {
  .sx-site-header-v140,
  .sx-site-header-v140 * {
    -webkit-tap-highlight-color: transparent !important;
  }

  body.studio-clean-v8 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140,
  body.sx-library-page .sx-header-nav-link-v140,
  body.sx-library-v189 .sx-header-nav-link-v140,
  body.sx-offres-page-v135 .sx-header-nav-link-v140,
  body.sx-contact-page-v135 .sx-header-nav-link-v140 {
    transition: background-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
  }

  body.studio-clean-v8 .sx-header-nav-link-v140.is-active,
  body.studio-clean-v8 .sx-header-nav-link-v140[aria-current="page"],
  body.studio-clean-v8 .sx-header-nav-link-v140.is-active:hover,
  body.studio-clean-v8 .sx-header-nav-link-v140[aria-current="page"]:hover,
  body.studio-clean-v8 .sx-header-nav-link-v140.is-active:focus,
  body.studio-clean-v8 .sx-header-nav-link-v140[aria-current="page"]:focus,
  body.studio-clean-v8 .sx-header-nav-link-v140.is-active:active,
  body.studio-clean-v8 .sx-header-nav-link-v140[aria-current="page"]:active,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140.is-active,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140.is-active:hover,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140[aria-current="page"]:hover,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140.is-active:focus,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140[aria-current="page"]:focus,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140.is-active:active,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140[aria-current="page"]:active,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140.is-active,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140.is-active:hover,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140[aria-current="page"]:hover,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140.is-active:focus,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140[aria-current="page"]:focus,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140.is-active:active,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140[aria-current="page"]:active,
  body.sx-library-page .sx-header-nav-link-v140.is-active,
  body.sx-library-page .sx-header-nav-link-v140[aria-current="page"],
  body.sx-library-page .sx-header-nav-link-v140.is-active:hover,
  body.sx-library-page .sx-header-nav-link-v140[aria-current="page"]:hover,
  body.sx-library-page .sx-header-nav-link-v140.is-active:focus,
  body.sx-library-page .sx-header-nav-link-v140[aria-current="page"]:focus,
  body.sx-library-page .sx-header-nav-link-v140.is-active:active,
  body.sx-library-page .sx-header-nav-link-v140[aria-current="page"]:active,
  body.sx-library-v189 .sx-header-nav-link-v140.is-active,
  body.sx-library-v189 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-library-v189 .sx-header-nav-link-v140.is-active:hover,
  body.sx-library-v189 .sx-header-nav-link-v140[aria-current="page"]:hover,
  body.sx-library-v189 .sx-header-nav-link-v140.is-active:focus,
  body.sx-library-v189 .sx-header-nav-link-v140[aria-current="page"]:focus,
  body.sx-library-v189 .sx-header-nav-link-v140.is-active:active,
  body.sx-library-v189 .sx-header-nav-link-v140[aria-current="page"]:active,
  body.sx-offres-page-v135 .sx-header-nav-link-v140.is-active,
  body.sx-offres-page-v135 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-offres-page-v135 .sx-header-nav-link-v140.is-active:hover,
  body.sx-offres-page-v135 .sx-header-nav-link-v140[aria-current="page"]:hover,
  body.sx-offres-page-v135 .sx-header-nav-link-v140.is-active:focus,
  body.sx-offres-page-v135 .sx-header-nav-link-v140[aria-current="page"]:focus,
  body.sx-offres-page-v135 .sx-header-nav-link-v140.is-active:active,
  body.sx-offres-page-v135 .sx-header-nav-link-v140[aria-current="page"]:active,
  body.sx-contact-page-v135 .sx-header-nav-link-v140.is-active,
  body.sx-contact-page-v135 .sx-header-nav-link-v140[aria-current="page"],
  body.sx-contact-page-v135 .sx-header-nav-link-v140.is-active:hover,
  body.sx-contact-page-v135 .sx-header-nav-link-v140[aria-current="page"]:hover,
  body.sx-contact-page-v135 .sx-header-nav-link-v140.is-active:focus,
  body.sx-contact-page-v135 .sx-header-nav-link-v140[aria-current="page"]:focus,
  body.sx-contact-page-v135 .sx-header-nav-link-v140.is-active:active,
  body.sx-contact-page-v135 .sx-header-nav-link-v140[aria-current="page"]:active {
    color: #02070c !important;
    -webkit-text-fill-color: #02070c !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background: var(--accent) !important;
  }

  body.studio-clean-v8 .sx-header-nav-link-v140.is-active *,
  body.studio-clean-v8 .sx-header-nav-link-v140[aria-current="page"] *,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140.is-active *,
  body.sx-shop-launcher-page-v195 .sx-header-nav-link-v140[aria-current="page"] *,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140.is-active *,
  body.sx-shop-launcher-page-v196 .sx-header-nav-link-v140[aria-current="page"] *,
  body.sx-library-page .sx-header-nav-link-v140.is-active *,
  body.sx-library-page .sx-header-nav-link-v140[aria-current="page"] *,
  body.sx-library-v189 .sx-header-nav-link-v140.is-active *,
  body.sx-library-v189 .sx-header-nav-link-v140[aria-current="page"] *,
  body.sx-offres-page-v135 .sx-header-nav-link-v140.is-active *,
  body.sx-offres-page-v135 .sx-header-nav-link-v140[aria-current="page"] *,
  body.sx-contact-page-v135 .sx-header-nav-link-v140.is-active *,
  body.sx-contact-page-v135 .sx-header-nav-link-v140[aria-current="page"] * {
    color: #02070c !important;
    -webkit-text-fill-color: #02070c !important;
    opacity: 1 !important;
  }
}

/* =========================================================
   SX27 V223 — Mobile header tap/hover text hard lock
   Scope: phone only.
   Fix: iOS/Safari can keep links in :hover/:focus during tap while the
   old mobile base rule forced grey text. Any nav item that receives the
   turquoise pill state now keeps black text immediately.
   ========================================================= */
@media (max-width: 760px) {
  .sx-site-header-v140 .sx-header-nav-link-v140:hover,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus-visible,
  .sx-site-header-v140 .sx-header-nav-link-v140:active,
  .sx-site-header-v140 .sx-header-nav-link-v140.is-active,
  .sx-site-header-v140 .sx-header-nav-link-v140[aria-current="page"] {
    color: #02070c !important;
    -webkit-text-fill-color: #02070c !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background: var(--accent, #8aefff) !important;
    box-shadow: 0 0 24px rgba(138,239,255,.22) !important;
  }

  .sx-site-header-v140 .sx-header-nav-link-v140:hover *,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus *,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus-visible *,
  .sx-site-header-v140 .sx-header-nav-link-v140:active *,
  .sx-site-header-v140 .sx-header-nav-link-v140.is-active *,
  .sx-site-header-v140 .sx-header-nav-link-v140[aria-current="page"] * {
    color: #02070c !important;
    -webkit-text-fill-color: #02070c !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }
}

/* =========================================================
   SX27 V224 — Mobile header no-darken tap lock
   Scope: phone only.
   Purpose: keep the mobile header active/tapped pill exactly turquoise,
   with black text, without hover/active darkening or tap animation.
   ========================================================= */
@media (max-width: 760px) {
  .sx-site-header-v140 .sx-header-nav-link-v140,
  .sx-site-header-v140 .sx-header-nav-link-v140 *,
  .sx-site-header-v140 .language-icon-button,
  .sx-site-header-v140 .language-icon-button * {
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    -webkit-touch-callout: none !important;
  }

  .sx-site-header-v140 .sx-header-nav-link-v140 {
    transition: none !important;
    animation: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
    transform: none !important;
  }

  .sx-site-header-v140 .sx-header-nav-link-v140:hover,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus-visible,
  .sx-site-header-v140 .sx-header-nav-link-v140:active,
  .sx-site-header-v140 .sx-header-nav-link-v140.is-active,
  .sx-site-header-v140 .sx-header-nav-link-v140[aria-current="page"] {
    color: #02070c !important;
    -webkit-text-fill-color: #02070c !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background: #8aefff !important;
    background-color: #8aefff !important;
    background-image: none !important;
    border-color: rgba(138,239,255,.38) !important;
    box-shadow: 0 0 24px rgba(138,239,255,.18) !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
    transform: none !important;
  }

  .sx-site-header-v140 .sx-header-nav-link-v140:hover *,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus *,
  .sx-site-header-v140 .sx-header-nav-link-v140:focus-visible *,
  .sx-site-header-v140 .sx-header-nav-link-v140:active *,
  .sx-site-header-v140 .sx-header-nav-link-v140.is-active *,
  .sx-site-header-v140 .sx-header-nav-link-v140[aria-current="page"] * {
    color: #02070c !important;
    -webkit-text-fill-color: #02070c !important;
    opacity: 1 !important;
    text-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
  }

  .sx-site-header-v140 .sx-header-nav-link-v140::before,
  .sx-site-header-v140 .sx-header-nav-link-v140::after {
    content: none !important;
    display: none !important;
  }
}

/* =========================================================
   SX27 V225 — Hub mobile: grey text fully visible
   Scope: homepage hub only on phone.
   Fix: remove old one-screen line clamps/overflow locks that created “...”
   on the intro and card descriptions.
   ========================================================= */
@media (max-width: 760px) {
  html:has(body.sx-home),
  body.sx-home {
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.sx-home .sx-home-main,
  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero,
  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.sx-home .sx-home-v11-hero,
  body.sx-home .sx-home-hero {
    align-items: start !important;
    padding-top: calc(env(safe-area-inset-top, 0px) + 4.15rem) !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 1.45rem) !important;
  }

  body.sx-home .sx-home-v11-wrap,
  body.sx-home .sx-home-wrap {
    align-content: start !important;
    gap: .95rem !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead,
  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    max-height: none !important;
  }

  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead {
    color: rgba(246,249,255,.68) !important;
    font-size: clamp(.78rem, 3.25vw, .90rem) !important;
    line-height: 1.34 !important;
  }

  body.sx-home .sx-choice-layout,
  body.sx-home .sx-choice-layout-v11 {
    overflow: visible !important;
    align-items: stretch !important;
  }

  body.sx-home .sx-choice-modal,
  body.sx-home .sx-choice-layout-v11 .sx-choice-modal {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    grid-template-rows: auto auto !important;
    align-content: stretch !important;
    gap: .66rem !important;
  }

  body.sx-home .sx-choice-content,
  body.sx-home .hub-card-align-v164 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    align-content: start !important;
    gap: .48rem !important;
  }

  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    min-height: 0 !important;
    color: rgba(246,249,255,.70) !important;
    font-size: clamp(.64rem, 2.55vw, .74rem) !important;
    line-height: 1.28 !important;
  }
}

@media (max-width: 380px) {
  body.sx-home .lead,
  body.sx-home .sx-home-intro .lead,
  body.sx-home .sx-home-v11-intro .lead,
  body.sx-home .sx-choice-modal p:not(.sx-choice-kicker),
  body.sx-home .sx-choice-content p:not(.sx-choice-kicker) {
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
    max-height: none !important;
  }
}

/* V206 — clearer offer pack detail cards */
.offer-modal-mini-card-v96.is-detail-v96 h4 {
  margin: 0;
  color: rgba(250,252,255,.94);
  font-size: .94rem;
  line-height: 1.18;
  letter-spacing: -.025em;
}

.offer-modal-mini-card-price-v96 {
  display: block;
  margin-top: .22rem;
  color: rgba(250,252,255,.9);
  font-size: .92rem;
  line-height: 1.2;
}

.offer-modal-mini-card-v96.is-detail-v96 p {
  margin: .52rem 0 .62rem;
  color: rgba(246,249,255,.62);
  font-size: .84rem;
  line-height: 1.42;
}

.offer-modal-mini-card-v96.is-detail-v96 li {
  display: block;
  color: rgba(246,249,255,.68);
  font-size: .82rem;
  line-height: 1.42;
}

.offer-modal-mini-card-v96.is-detail-v96 li::before {
  content: "— ";
  color: var(--accent);
}

@media (max-width: 720px) {
  .offer-modal-mini-card-v96.is-detail-v96 h4 {
    font-size: .91rem;
  }

  .offer-modal-mini-card-v96.is-detail-v96 p,
  .offer-modal-mini-card-v96.is-detail-v96 li {
    font-size: .81rem;
  }
}


/* V207 — design subcategories as real offers + modal/button overflow fix */
body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198,
body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200,
body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v198,
body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200 {
  align-content: flex-start !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198 button,
body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 button,
body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v198 button,
body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200 button {
  max-width: 100% !important;
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198 button strong,
body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200 button strong,
body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v198 button strong,
body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200 button strong {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78,
body .offer-card-v78 {
  overflow: hidden !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 header,
body .offer-card-v78 header {
  min-width: 0 !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 header h4,
body .offer-card-v78 header h4,
body.sx-offers-launcher-test-v200 .offer-card-v78 header strong,
body .offer-card-v78 header strong {
  min-width: 0 !important;
}

body.sx-offers-launcher-test-v200 .offer-card-v78 .offer-action-v84,
body .offer-card-v78 .offer-action-v84 {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.sx-offers-launcher-test-v200 .offer-modal-actions-v96,
body .offer-modal-actions-v96 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .72rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.sx-offers-launcher-test-v200 .offer-modal-actions-v96 .button,
body .offer-modal-actions-v96 .button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  justify-content: center !important;
}

@media (max-width: 720px) {
  body.sx-offers-launcher-test-v200 .offer-modal-actions-v96,
  body .offer-modal-actions-v96 {
    grid-template-columns: 1fr !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v198,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200 {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    scrollbar-width: none !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v198::-webkit-scrollbar,
  body.sx-offers-launcher-test-v200 .sx-offer-sidebar-v200::-webkit-scrollbar,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v198::-webkit-scrollbar,
  body.sx-offers-launcher-test-v200 .family-switch-v78.sx-offer-sidebar-v200::-webkit-scrollbar {
    display: none !important;
  }
}

/* =========================================================
   SX27 V222 — offer card CTA containment fix
   Prevents “Voir prix & détails” from visually leaving short offer cards
   on phone/tablet widths after splitting design packs into real offers.
   ========================================================= */
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
  grid-auto-rows: minmax(224px, auto) !important;
  align-items: stretch !important;
  overflow: visible !important;
  max-height: none !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 {
  position: relative !important;
  display: block !important;
  height: auto !important;
  min-height: 224px !important;
  max-height: none !important;
  padding-bottom: 3.65rem !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 .offer-action-v84 {
  position: absolute !important;
  left: 1rem !important;
  right: auto !important;
  bottom: 1rem !important;
  top: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: auto !important;
  max-width: calc(100% - 2rem) !important;
  min-height: 31px !important;
  padding: .46rem .72rem !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78:hover .offer-action-v84,
body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78.is-active .offer-action-v84 {
  transform: none !important;
}

@media (max-width: 980px) {
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    grid-auto-rows: minmax(226px, auto) !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 {
    min-height: 226px !important;
    padding-bottom: 3.7rem !important;
  }
}

@media (max-width: 760px) {
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    grid-auto-rows: minmax(210px, auto) !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 {
    min-height: 210px !important;
    padding-bottom: 3.45rem !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78 .offer-action-v84,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 .offer-action-v84 {
    left: 11px !important;
    bottom: 12px !important;
    max-width: calc(100% - 22px) !important;
    min-height: 30px !important;
    padding: .42rem .58rem !important;
  }
}

@media (max-width: 520px) {
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    grid-auto-rows: minmax(194px, auto) !important;
  }

  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-card-v78,
  body.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198 .offer-card-v78 {
    min-height: 194px !important;
  }
}

/* Keep the special compact one-line list on /studio/offres/ when “Toutes les offres” is selected. */
@media (max-width: 760px) {
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78.sx-offer-all-groups-v198 {
    grid-auto-rows: auto !important;
    overflow: visible !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v200,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v201 {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(74px, auto) 34px !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 8px 9px !important;
    padding-bottom: 8px !important;
    overflow: hidden !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78 .offer-action-v84 {
    position: static !important;
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* =========================================================
   SX27 V223 — mobile Offers default chooser
   On /studio/offres/ phone view, avoid dumping the full offer catalogue by default.
   The desktop “Toutes les offres” grid stays unchanged.
   ========================================================= */
.sx-mobile-offer-choice-intro-v223 {
  display: none;
}

@media (max-width: 760px) {
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-cards-v78.sx-offer-all-groups-v198 {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-mobile-offer-choice-intro-v223 {
    display: block !important;
    width: 100% !important;
    padding: 18px 16px 17px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(138, 239, 255, .16) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.026)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
    box-sizing: border-box !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-mobile-offer-choice-intro-v223 span {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 11px !important;
    padding: .42rem .62rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(138, 239, 255, .22) !important;
    background: rgba(138,239,255,.085) !important;
    color: var(--accent) !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.02em !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-mobile-offer-choice-intro-v223 h4 {
    margin: 0 0 9px !important;
    color: rgba(250,252,255,.95) !important;
    font-size: clamp(1.42rem, 7.2vw, 1.95rem) !important;
    line-height: .94 !important;
    letter-spacing: -.065em !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-mobile-offer-choice-intro-v223 p {
    margin: 0 !important;
    max-width: 32rem !important;
    color: rgba(246,249,255,.66) !important;
    font-size: .88rem !important;
    line-height: 1.38 !important;
    letter-spacing: -.018em !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v200,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .offer-card-v78.sx-offer-wide-v201 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78[data-offer-filter-mode="all"] .sx-offer-mobile-select-v210 select {
    color: rgba(250,252,255,.96) !important;
  }
}

/* =========================================================
   SX27 V224 — desktop offers scroll restore
   The mobile default chooser must not break the desktop catalogue.
   Restores the internal scroll area on PC/tablet landscape while keeping
   the phone-only “Choisir une offre” behaviour from V223.
   ========================================================= */
@media (min-width: 761px) {
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .offer-simple-v78.sx-offer-launcher-v196 {
    min-height: min(650px, calc(100svh - 9.8rem)) !important;
    height: min(650px, calc(100svh - 9.8rem)) !important;
    max-height: min(650px, calc(100svh - 9.8rem)) !important;
    overflow: hidden !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-panel-v196 {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-offres-page-v135.sx-offers-launcher-test-v200 .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: .42rem !important;
    padding-bottom: 1.45rem !important;
    scroll-padding-bottom: 1.45rem !important;
  }
}


/* =========================================================
   SX27 V225 — Studio home desktop offers sync + scroll restore
   The dedicated /studio/offres/ page was fixed in V224, but the Studio
   home page uses the same launcher without the sx-offres-page-v135 body
   class. This keeps mobile home compact, while restoring the full updated
   offer explorer + internal scroll on desktop only.
   ========================================================= */
@media (min-width: 761px) {
  body.sx-studio-home-offers-v225.sx-offers-launcher-test-v200 #offres .offer-simple-v78.sx-offer-launcher-v196,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres .offer-simple-v78.sx-offer-launcher-v196 {
    display: grid !important;
    min-height: min(650px, calc(100svh - 9.8rem)) !important;
    height: min(650px, calc(100svh - 9.8rem)) !important;
    max-height: min(650px, calc(100svh - 9.8rem)) !important;
    overflow: hidden !important;
    margin-top: .75rem !important;
  }

  body.sx-studio-home-offers-v225.sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196 {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  body.sx-studio-home-offers-v225.sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196 .offer-cards-v78,
  body.sx-studio-home-offers-v225.sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.sx-studio-home-offers-v225.sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198),
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196 .offer-cards-v78,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196 .offer-cards-v78.sx-offer-all-groups-v198,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135).sx-offers-launcher-test-v200 #offres .sx-offer-panel-v196 .offer-cards-v78:not(.sx-offer-all-groups-v198) {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: .42rem !important;
    padding-bottom: 1.45rem !important;
    scroll-padding-bottom: 1.45rem !important;
  }

  body.sx-studio-home-offers-v225 #offres .sx-mobile-offers-cta-v215,
  body.studio-clean-v8:not(.sx-offres-page-v135):not(.sx-contact-page-v135) #offres .sx-mobile-offers-cta-v215 {
    display: none !important;
  }
}
