/* CENTIX — maquettes 2026 + webdesign */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --bg: #000000;
  --text: #ffffff;
  --muted: #8a8a8a;
  --accent: #d98e4e;
  --accent-dark: #c97a38;
  --bronze: #634133;
  --card: rgba(255, 255, 255, 0.04);
  --card-solid: #0d0d0d;
  --border: #2e2e2e;
  --border-subtle: #1a1a1a;
  --input-bg: #ffffff;
  --input-text: #111111;
  --cyan: #00b4e6;
  --font: 'Outfit', system-ui, sans-serif;
  --max: 1180px;
  --section-y-min: 80px;
  --section-y-max: 140px;
  --section-y: clamp(var(--section-y-min), 11vw, var(--section-y-max));
  --body-size: 14px;
  --heading-size-min: 1.75rem;
  --heading-size-fluid: 4vw;
  --heading-size-max: 2.75rem;
  --heading-weight: 200;
  --heading-line-height: 1.15;
  --heading-text-align: center;
  --section-sub-size: 0.875rem;
  --section-sub-line-height: 1.6;
  --section-sub-text-align: center;
  --intro-tagline-size: 0.9375rem;
  --intro-tagline-line-height: 1.75;
  --intro-tagline-text-align: center;
  --intro-tagline-translate-x: 0px;
  --intro-tagline-translate-y: 0px;
  --calc-lead-size: 0.875rem;
  --calc-lead-line-height: 1.6;
  --calc-lead-text-align: left;
  --contact-eyebrow-size: 0.625rem;
  --contact-eyebrow-text-align: left;
  --contact-title-min: 2rem;
  --contact-title-fluid: 5vw;
  --contact-title-max: 3.5rem;
  --contact-title-line-height: 1.05;
  --contact-title-text-align: left;
  --bv-title-min: 3rem;
  --bv-title-fluid: 6vw;
  --bv-title-max: 5.5rem;
  --bv-title-line-height: 0.98;
  --bv-title-text-align: left;
  --bv-title-translate-x: 0px;
  --bv-title-translate-y: 0px;
  --bv-subtitle-min: 2rem;
  --bv-subtitle-fluid: 4.5vw;
  --bv-subtitle-max: 4rem;
  --bv-subtitle-line-height: 1;
  --bv-subtitle-text-align: left;
  --bv-subtitle-translate-x: 0px;
  --bv-subtitle-translate-y: 0px;
  --bv-lead-size: 0.875rem;
  --bv-lead-line-height: 1.7;
  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-lg: 20px;
  /* Hero tokens (design builder) */
  --hero-img-scale: 1.2;
  --hero-img-translate-y: -100px;
  --hero-stage-width: min(920px, 100%);
  --hero-img-width: min(900px, 92vw);
  --hero-img-max-h: min(72svh, 860px);
  --hero-img-fit: contain;
  --hero-img-pos: center top;
  --hero-img-mt: clamp(-24px, -3vh, 0);
  --hero-title-min: 55px;
  --hero-title-preferred: 7vw;
  --hero-title-max: 75px;
  --hero-title-weight: 100;
  --hero-title-line-height: 1.02;
  --hero-title-text-align: center;
  --hero-title-flex-align: center;
  --hero-title-bottom-offset: 160px;
  --hero-title-lift: 0px;
  --hero-stats-gap: 0px;
  --hero-stats-translate-y: 300px;
  --hero-stats-scale: 0.5;
  --hero-eyebrow-size-min: 0.75rem;
  --hero-eyebrow-size-max: 0.875rem;
  --hero-eyebrow-line-height: 1.5;
  --hero-stat-value-min: 1.35rem;
  --hero-stat-value-max: 1.85rem;
  --hero-stat-label-size: 0.5625rem;
  --header-brand-main-size: 0.875rem;
  --header-brand-sub-size: 0.6875rem;
  --header-nav-size: 0.75rem;
  --header-padding-y: 14px;
  --header-inner-gap: 24px;
  --header-nav-gap: clamp(12px, 2vw, 22px);
  --header-cta-pad-y: 6px;
  --header-cta-pad-x: 14px;
  --header-menu-breakpoint: 640px;
  --header-mobile-inner-gap: 12px;
  --header-menu-panel-top: 100%;
  --header-menu-panel-left: 0px;
  --header-menu-panel-right: 0px;
  --header-menu-panel-padding: 12px 16px 16px;
  --header-menu-panel-gap: 10px;
  --header-menu-item-padding: 10px 8px;
  --anchor-offset-default: 80px;
  --anchor-offset-hero: 80px;
  --anchor-offset-intro: 80px;
  --anchor-offset-intelligence: 80px;
  --anchor-offset-calculateur: 80px;
  --anchor-offset-offres: 80px;
  --anchor-offset-brand-voice: 80px;
  --anchor-offset-contact: 80px;
  --intro-brand-main-min: 2.5rem;
  --intro-brand-main-max: 4.5rem;
  --intro-brand-sub-size: 0.875rem;
  --intro-brand-overlay-top: clamp(32px, 8vw, 88px);
  --intro-brand-main-translate-x: 0px;
  --intro-brand-main-translate-y: 0px;
  --intro-brand-sub-translate-x: 0px;
  --intro-brand-sub-translate-y: 0px;
  --intro-brand-sub-offset-x: 18%;
  --intro-gold: #c08d5d;
  --intro-about-overlap: -320px;
  --intro-about-radius: 20px;
  --intro-about-padding-x: clamp(32px, 4.5vw, 52px);
  --intro-about-padding-y: clamp(36px, 5vw, 56px);
  --intro-about-gap: clamp(32px, 5vw, 48px);
  --intro-wave-aspect: 1024 / 620;
  --intro-wave-min-h: clamp(320px, 45vw, 580px);
  --intro-wave-mb: 0px;
  --intro-wave-img-fit: cover;
  --intro-wave-img-pos-x: 50%;
  --intro-wave-img-pos-y: 58%;
  --intro-wave-img-scale: 1;
  --intro-wave-img-translate-x: 0px;
  --intro-wave-img-translate-y: 0px;
  --intro-eyebrow-size: 0.75rem;
  --intro-about-size: 0.8125rem;
  --intro-about-line-height: 1.75;
  --intel-kicker-size: 0.6875rem;
  --intel-card-title-size: 1rem;
  --intel-card-text-size: 0.8125rem;
  --intel-grid-gap: 16px;
  --calc-heading-size-min: 1.75rem;
  --calc-heading-size-fluid: 4vw;
  --calc-heading-size-max: 2.75rem;
  --calc-heading-weight: 200;
  --calc-heading-line-height: 1.15;
  --calc-heading-text-align: left;
  --calc-eyebrow-size: 0.875rem;
  --calc-headline-min: 1rem;
  --calc-headline-max: 1.625rem;
  --calc-note-size: 0.75rem;
  --bv-lead-text-align: left;
  --bv-lead-translate-x: 0px;
  --bv-lead-translate-y: 0px;
  --bv-gold: #c08d5d;
  --bv-panels-overlap: -320px;
  --bv-panel-radius: 20px;
  --bv-panel-padding-x: clamp(32px, 4.5vw, 52px);
  --bv-panel-padding-y: clamp(36px, 5vw, 56px);
  --bv-panel-gap: clamp(32px, 5vw, 56px);
  --bv-signature-left: 0.38fr;
  --bv-signature-right: 0.62fr;
  --bv-hero-overlay-top: clamp(24px, 4vw, 48px);
  --bv-wave-aspect: 1024 / 620;
  --bv-wave-min-h: clamp(320px, 45vw, 580px);
  --bv-wave-mb: 0px;
  --bv-wave-img-fit: cover;
  --bv-wave-img-pos-x: 50%;
  --bv-wave-img-pos-y: 58%;
  --bv-wave-img-scale: 1;
  --bv-wave-img-translate-x: 0px;
  --bv-wave-img-translate-y: 0px;
  --bv-hero-mb: clamp(32px, 5vw, 48px);
  --price-amount-size: 2rem;
  --price-features-size: 0.6875rem;
  --footer-size: 0.6875rem;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  font-size: var(--body-size);
  font-weight: 300;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Visually hidden (a11y) */
.sr-only {
  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;
}

img {
  max-width: 100%;
  display: block;
}

.container {
  width: min(calc(100% - 48px), var(--max));
  margin-inline: auto;
}

.section {
  padding-block: var(--section-y);
}

/* Dimensions sections — pilotées par le builder */
#hero,
#intro,
#intelligence,
#calculateur,
#offres,
#brand-voice,
#contact {
  width: var(--section-w, 100%);
  max-width: var(--section-max-w, none);
  min-height: var(--section-min-h, auto);
  height: var(--section-h, auto);
  margin-top: var(--section-mt, 0);
  margin-bottom: var(--section-mb, 0);
  margin-inline: auto;
  box-sizing: border-box;
}

#hero {
  --section-min-h: 100svh;
}

#hero {
  scroll-margin-top: var(--anchor-offset-hero);
}

#intro {
  scroll-margin-top: var(--anchor-offset-intro);
}

#intelligence {
  scroll-margin-top: var(--anchor-offset-intelligence);
}

#calculateur {
  scroll-margin-top: var(--anchor-offset-calculateur);
}

#offres {
  scroll-margin-top: var(--anchor-offset-offres);
}

#brand-voice {
  scroll-margin-top: var(--anchor-offset-brand-voice);
}

#contact {
  scroll-margin-top: var(--anchor-offset-contact);
}

.text-accent {
  color: var(--accent);
  font-weight: 500;
}

.section-heading {
  font-size: clamp(var(--heading-size-min), var(--heading-size-fluid), var(--heading-size-max));
  font-weight: var(--heading-weight);
  line-height: var(--heading-line-height);
  letter-spacing: -0.02em;
  text-align: var(--heading-text-align);
  margin-bottom: 12px;
}

.section-sub {
  text-align: var(--section-sub-text-align);
  color: var(--muted);
  font-size: var(--section-sub-size);
  line-height: var(--section-sub-line-height);
  margin-bottom: 48px;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s, transform 0.15s;
}

.btn-primary {
  background: var(--accent);
  color: #000;
  padding: 12px 24px;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
}

.btn-primary:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.btn-dark {
  background: #000;
  color: #fff;
  padding: 14px 28px;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.btn-block {
  width: 100%;
  margin-top: auto;
}

/* Header */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 200;
  padding: var(--header-padding-y) 0;
  background: transparent;
}

.site-header.is-scrolled {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--header-inner-gap);
}

.brand {
  display: flex;
  align-items: baseline;
  gap: 5px;
  text-decoration: none;
  color: var(--text);
}

.brand-main {
  font-size: var(--header-brand-main-size);
  font-weight: 700;
  letter-spacing: 0.14em;
}

.brand-sub {
  font-size: var(--header-brand-sub-size);
  font-weight: 300;
  color: var(--muted);
}

.nav {
  display: flex;
  align-items: center;
  gap: var(--header-nav-gap);
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.nav a {
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
  font-size: var(--header-nav-size);
  font-weight: 400;
  white-space: nowrap;
  transition: color 0.2s;
}

.nav a:hover {
  color: var(--accent);
}

.nav-cta {
  background: var(--accent);
  color: #000 !important;
  padding: var(--header-cta-pad-y) var(--header-cta-pad-x);
  border-radius: 999px;
  font-weight: 600;
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.25);
  color: var(--text);
}

.nav-toggle__bar {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
}

.site-header.is-menu-compact .nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.site-header.is-menu-compact .header-inner {
  gap: var(--header-mobile-inner-gap);
}

.site-header.is-menu-compact .nav {
  position: absolute;
  top: var(--header-menu-panel-top);
  left: var(--header-menu-panel-left);
  right: var(--header-menu-panel-right);
  padding: var(--header-menu-panel-padding);
  display: none;
  flex-direction: column;
  align-items: stretch;
  gap: var(--header-menu-panel-gap);
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-header.is-menu-compact.is-nav-open .nav {
  display: flex;
}

.site-header.is-menu-compact .nav a {
  padding: var(--header-menu-item-padding);
}

/* Hero — proportions maquette, adapté web */
.hero {
  position: relative;
  min-height: var(--section-min-h, 100svh);
  background: var(--bg);
  overflow: hidden;
}

.hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: var(--section-min-h, 100svh);
  padding: 72px 24px 32px;
  text-align: center;
}

.hero-eyebrow {
  flex-shrink: 0;
  font-size: clamp(var(--hero-eyebrow-size-min), 1.8vw, var(--hero-eyebrow-size-max));
  font-weight: 200;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: clamp(8px, 2vh, 20px);
  max-width: 520px;
  letter-spacing: 0.01em;
  line-height: var(--hero-eyebrow-line-height);
  z-index: 3;
}

.hero-stage {
  position: relative;
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: var(--hero-stage-width);
  min-height: 0;
  margin-top: clamp(-8px, -1vh, 0);
}

.hero-img {
  display: block;
  width: var(--hero-img-width);
  height: auto;
  max-height: var(--hero-img-max-h);
  object-fit: var(--hero-img-fit);
  object-position: var(--hero-img-pos);
  margin-top: var(--hero-img-mt);
  user-select: none;
  pointer-events: none;
  transform: translateY(var(--hero-img-translate-y)) scale(var(--hero-img-scale));
  transform-origin: center top;
}

.hero-fade {
  position: absolute;
  left: var(--hero-fade-left, var(--hero-fade-inset-x, 0px));
  right: var(--hero-fade-right, var(--hero-fade-inset-x, 0px));
  bottom: var(--hero-fade-bottom, 0px);
  height: var(--hero-fade-height, 55%);
  opacity: var(--hero-fade-opacity, 1);
  background: linear-gradient(
    to top,
    #000 0%,
    rgba(0, 0, 0, 0.92) 35%,
    rgba(0, 0, 0, 0.4) 65%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}

.hero-headline {
  position: absolute;
  left: 50%;
  bottom: calc(
    clamp(6%, 10vh, 14%) - var(--hero-title-bottom-offset) + var(--hero-title-lift)
  );
  transform: translateX(-50%);
  z-index: 2;
  width: min(720px, 90vw);
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: var(--hero-title-flex-align);
  gap: 0;
  text-align: var(--hero-title-text-align);
  font-size: clamp(var(--hero-title-min), var(--hero-title-preferred), var(--hero-title-max));
  font-weight: var(--hero-title-weight);
  line-height: var(--hero-title-line-height);
  letter-spacing: -0.03em;
  color: var(--text);
  text-shadow: 0 8px 48px rgba(0, 0, 0, 0.85);
  pointer-events: none;
}

.hero-headline span {
  display: block;
  text-align: inherit;
}

.hero-stats {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  width: min(720px, 100%);
  margin-top: calc(clamp(-12px, -1vh, 8px) + var(--hero-stats-gap));
  flex-shrink: 0;
  z-index: 3;
  transform: translateY(var(--hero-stats-translate-y)) scale(var(--hero-stats-scale));
  transform-origin: top center;
}

.stat-box {
  padding: 20px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  text-align: center;
}

.stat-value {
  font-size: clamp(var(--hero-stat-value-min), 2.6vw, var(--hero-stat-value-max));
  font-weight: 300;
  margin-bottom: 6px;
  line-height: 1.1;
}

.stat-label {
  font-size: var(--hero-stat-label-size);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.3;
}

.section.intro {
  padding-block: clamp(56px, 8vw, 96px) clamp(72px, 10vw, 108px);
}

.intro-stage {
  position: relative;
  isolation: isolate;
}

.intro-brand {
  position: absolute;
  top: var(--intro-brand-overlay-top);
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  pointer-events: none;
  background: transparent;
}

.intro-brand-main {
  display: block;
  font-size: clamp(var(--intro-brand-main-min), 5vw, var(--intro-brand-main-max));
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
  color: #fff;
  transform: translate(var(--intro-brand-main-translate-x), var(--intro-brand-main-translate-y));
}

.intro-brand-sub {
  display: block;
  font-size: var(--intro-brand-sub-size);
  font-weight: 300;
  margin-top: 8px;
  align-self: flex-end;
  margin-right: var(--intro-brand-sub-offset-x);
  color: rgba(255, 255, 255, 0.92);
  transform: translate(var(--intro-brand-sub-translate-x), var(--intro-brand-sub-translate-y));
}

.intro-wave.wave-band--full {
  aspect-ratio: var(--intro-wave-aspect);
  min-height: var(--intro-wave-min-h);
  margin-top: 0;
  margin-bottom: var(--intro-wave-mb);
  z-index: 1;
  background: transparent;
}

.intro-wave .wave-band-img {
  object-fit: var(--intro-wave-img-fit);
  object-position: var(--intro-wave-img-pos-x) var(--intro-wave-img-pos-y);
  transform: translate(var(--intro-wave-img-translate-x), var(--intro-wave-img-translate-y))
    scale(var(--intro-wave-img-scale));
  transform-origin: center center;
}

.intro-about-container {
  position: relative;
  z-index: 3;
  margin-top: var(--intro-about-overlap);
}

.about-box {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  padding: var(--intro-about-padding-y) var(--intro-about-padding-x);
  border: 1px solid rgba(192, 141, 93, 0.24);
  border-radius: var(--intro-about-radius);
  background: rgba(255, 255, 255, 0.045);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.about-top {
  padding-bottom: var(--intro-about-gap);
}

.about-top p {
  margin: 0;
  font-size: var(--intro-about-size);
  line-height: var(--intro-about-line-height);
  color: rgba(255, 255, 255, 0.82);
}

.intro .text-accent {
  color: var(--intro-gold);
  font-weight: 600;
}

.about-divider-h {
  height: 1px;
  background: rgba(192, 141, 93, 0.55);
  margin-bottom: var(--intro-about-gap);
}

.about-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  gap: var(--intro-about-gap);
  align-items: start;
}

.intro .about-divider {
  background: rgba(192, 141, 93, 0.55);
  width: 1px;
  align-self: stretch;
  min-height: 100%;
}

.about-col p {
  margin: 0;
  font-size: var(--intro-about-size);
  line-height: var(--intro-about-line-height);
  color: rgba(255, 255, 255, 0.82);
}

.intro .about-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.intro .about-list li {
  font-size: var(--intro-about-size);
  line-height: var(--intro-about-line-height);
  color: rgba(255, 255, 255, 0.82);
  padding: 6px 0 6px 14px;
  position: relative;
}

.intro .about-list li::before {
  content: '-';
  position: absolute;
  left: 0;
  color: var(--intro-gold);
}

/* Legacy intro helpers (builder compat) */
.intro-tagline {
  display: none;
}

.intro-eyebrow {
  font-size: var(--intro-eyebrow-size);
  color: var(--accent);
  margin-bottom: 24px;
}

.wave-band {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.wave-band--full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.wave-band-img {
  display: block;
  width: 100%;
  height: 100%;
}

.about-gap {
  margin-top: 20px;
}

.bv-divider,
.contact-divider {
  background: var(--bronze);
  width: 1px;
}

/* Intelligence */
.intelligence .section-heading {
  margin-bottom: 12px;
}

.intelligence .section-sub {
  margin-bottom: 40px;
}

.intel-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--intel-grid-gap);
}

.intel-card {
  background: var(--card-solid);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  padding: 24px;
}

.intel-num {
  font-size: var(--intel-kicker-size);
  letter-spacing: 0.08em;
  color: var(--bronze);
  text-transform: uppercase;
}

.intel-card h3 {
  font-size: var(--intel-card-title-size);
  font-weight: 600;
  margin: 12px 0;
}

.intel-card hr {
  border: none;
  border-top: 1px solid var(--bronze);
  margin-bottom: 14px;
}

.intel-card p {
  font-size: var(--intel-card-text-size);
  color: var(--muted);
  line-height: 1.6;
}

/* Calculator */
.calc-section {
  padding-top: 0;
}

.calc-section .section-heading {
  font-size: clamp(
    var(--calc-heading-size-min),
    var(--calc-heading-size-fluid),
    var(--calc-heading-size-max)
  );
  font-weight: var(--calc-heading-weight);
  line-height: var(--calc-heading-line-height);
  text-align: var(--calc-heading-text-align);
}

.calc-lead {
  color: var(--muted);
  font-size: var(--calc-lead-size);
  line-height: var(--calc-lead-line-height);
  text-align: var(--calc-lead-text-align);
  margin: -8px 0 40px;
}

.calc-shell {
  border: 1px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
  background: #000;
}

.calc-dashboard {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding: 36px;
}

.calc-header {
  grid-column: 1 / 4;
}

.calc-eyebrow {
  color: var(--accent);
  font-size: var(--calc-eyebrow-size);
  margin-bottom: 12px;
}

.calc-headline {
  font-size: clamp(var(--calc-headline-min), 2vw, var(--calc-headline-max));
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 12px;
}

.calc-headline .text-accent {
  font-weight: 600;
  font-size: clamp(1.125rem, 2.2vw, 2rem);
}

.calc-note {
  color: var(--muted);
  font-size: var(--calc-note-size);
}

.metric-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 18px;
  min-height: 108px;
  display: flex;
  flex-direction: column;
}

.metric-card--payback {
  grid-column: 4;
  grid-row: 1;
}

.metric-title {
  color: var(--accent);
  font-size: 0.6875rem;
  font-weight: 500;
  margin-bottom: 10px;
}

.metric-value {
  font-size: 1.5rem;
  font-weight: 700;
  flex: 1;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.25em;
}

.metric-amt {
  font-size: 1em;
}

.metric-unit {
  font-size: 0.75rem;
  font-weight: 400;
}

.metric-hint {
  color: var(--muted);
  font-size: 0.625rem;
  margin-top: 10px;
}

.calc-form-panel {
  margin: 0 28px 28px;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 24px;
}

.calc-form-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 18px;
}

.calc-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.calc-field-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
}

.calc-field-row span:last-child {
  color: var(--muted);
}

.calc-field input {
  width: 100%;
  padding: 12px 14px;
  border: none;
  border-radius: 10px;
  background: var(--input-bg);
  color: var(--input-text);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
}

.calc-field input:focus {
  outline: 2px solid var(--accent);
}

.calc-field-hint {
  font-size: 0.625rem;
  color: var(--muted);
}

.calc-cta-wrap {
  grid-column: 4;
  display: flex;
  align-items: flex-end;
}

.calc-cta-wrap .btn {
  width: 100%;
  min-height: 44px;
}

.calc-offer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, opacity 0.35s ease;
}

.calc-offer.is-visible {
  max-height: 1800px;
  opacity: 1;
}

.calc-offer.is-signature.is-visible {
  max-height: 1800px;
}

.calc-offer-card {
  --sig-offer-bg-top: #e8a05a;
  --sig-offer-bg: #de954f;
  --sig-offer-pad-x: clamp(24px, 4.5vw, 56px);
  --sig-offer-pad-y: clamp(32px, 4vw, 48px);
  --sig-offer-gap: clamp(28px, 4vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(220px, 1fr);
  gap: var(--sig-offer-gap);
  padding: var(--sig-offer-pad-y) var(--sig-offer-pad-x);
  background: linear-gradient(180deg, var(--sig-offer-bg-top) 0%, var(--sig-offer-bg) 100%);
  border-radius: 0 0 20px 20px;
  color: #000;
  align-items: stretch;
}

.calc-offer-card[hidden],
.calc-offer-body[hidden],
.calc-offer-aside[hidden] {
  display: none !important;
}

.calc-offer-left h4 {
  font-size: clamp(1.0625rem, 1.6vw, 1.3125rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: clamp(16px, 2.5vw, 20px);
  line-height: 1.25;
}

.offer-cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 16px) clamp(16px, 2.5vw, 24px);
}

.offer-list {
  list-style: none;
  font-size: clamp(0.625rem, 0.95vw, 0.6875rem);
  line-height: 1.5;
}

.offer-list li {
  position: relative;
  padding-left: 12px;
  margin-bottom: 8px;
}

.offer-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  font-weight: 700;
}

.calc-offer-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-inline: clamp(8px, 2vw, 16px);
}

.calc-offer-aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.offer-tier-name,
.signature-name {
  font-size: clamp(2.75rem, 5.5vw, 4.25rem);
  font-weight: 200;
  line-height: 0.95;
  letter-spacing: -0.03em;
  margin-bottom: clamp(12px, 2vw, 16px);
}

.offer-price {
  margin: 0 0 8px;
  line-height: 1;
}

.offer-price span:first-child {
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
}

.offer-price-unit {
  font-size: clamp(0.75rem, 1.1vw, 0.875rem);
  font-weight: 500;
}

.offer-desc {
  font-size: clamp(0.75rem, 1.1vw, 0.8125rem);
  line-height: 1.55;
  margin-bottom: clamp(20px, 3vw, 28px);
  max-width: 520px;
}

.offer-volume {
  font-size: clamp(0.6875rem, 1vw, 0.75rem);
  font-weight: 500;
  margin-bottom: 8px;
  opacity: 0.9;
  line-height: 1.4;
}

.offer-plan-meta {
  font-size: clamp(0.6875rem, 1vw, 0.75rem);
  font-weight: 500;
  margin: 0 0 clamp(20px, 3vw, 28px);
  opacity: 0.9;
  line-height: 1.4;
}

.signature-tag {
  font-size: clamp(0.75rem, 1.1vw, 0.8125rem);
  margin: 0 0 clamp(20px, 3vw, 28px);
  line-height: 1.45;
}

.offer-aside-cta {
  width: 100%;
  max-width: 260px;
  min-height: 46px;
  border-radius: 8px;
  font-weight: 600;
}

.signature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 28px;
}

.signature-grid article {
  min-width: 0;
}

.signature-grid h4,
.signature-grid h5 {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 6px;
  line-height: 1.3;
}

.signature-grid p {
  font-size: 0.6875rem;
  line-height: 1.5;
}

.calc-offer-card.is-signature .signature-grid {
  gap: clamp(16px, 2.5vw, 24px) clamp(20px, 3vw, 36px);
}

.calc-offer-card.is-signature .signature-grid h5 {
  font-size: clamp(0.625rem, 0.9vw, 0.6875rem);
}

.calc-offer-card.is-signature .signature-grid p {
  font-size: clamp(0.625rem, 0.95vw, 0.6875rem);
  opacity: 0.92;
}

/* Pricing */
.pricing-table {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
}

.price-col {
  padding: 28px 20px;
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  position: relative;
  background: var(--card-solid);
}

.price-col:last-child {
  border-right: none;
}

.price-col--featured {
  background: #111;
  box-shadow: inset 0 0 0 1px var(--accent);
}

.price-badge {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: var(--accent);
  color: #000;
  text-align: center;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 6px;
}

.price-col--featured .price-tier {
  margin-top: 24px;
}

.price-tier {
  font-size: 0.75rem;
  color: var(--muted);
  margin-bottom: 8px;
}

.price-chf {
  font-size: 0.875rem;
  margin-bottom: 8px;
}

.price-chf span {
  font-size: var(--price-amount-size);
  font-weight: 700;
}

.price-meta {
  font-size: 0.75rem;
  margin-bottom: 20px;
}

.price-features {
  list-style: none;
  flex: 1;
  font-size: var(--price-features-size);
  line-height: 1.5;
  margin-bottom: 16px;
}

.price-features li {
  position: relative;
  padding-left: 12px;
  margin-bottom: 8px;
}

.price-features li::before {
  content: '•';
  position: absolute;
  left: 0;
}

.price-features li[hidden] {
  display: none;
}

.price-foot {
  font-size: 0.5625rem;
  color: var(--muted);
  margin-bottom: 16px;
  line-height: 1.5;
  text-align: center;
}

.signature-box--featured {
  --sig-offer-pad-x: clamp(24px, 4.5vw, 56px);
  --sig-offer-pad-y: clamp(32px, 4vw, 48px);
  --sig-offer-gap: clamp(28px, 4vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(220px, 1fr);
  gap: var(--sig-offer-gap);
  padding: var(--sig-offer-pad-y) var(--sig-offer-pad-x);
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--card-solid);
  color: var(--text);
  overflow: hidden;
}

.signature-box--pro {
  --sig-offer-bg-top: #e8a05a;
  --sig-offer-bg: #de954f;
  --sig-offer-pad-x: clamp(24px, 4.5vw, 56px);
  --sig-offer-pad-y: clamp(32px, 4vw, 48px);
  --sig-offer-gap: clamp(28px, 4vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(220px, 1fr);
  gap: var(--sig-offer-gap);
  padding: var(--sig-offer-pad-y) var(--sig-offer-pad-x);
  border: none;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--sig-offer-bg-top) 0%, var(--sig-offer-bg) 100%);
  color: #000;
  overflow: hidden;
}

.signature-box-heading {
  font-size: clamp(1.0625rem, 1.6vw, 1.3125rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin-bottom: 12px;
  color: var(--text);
}

.signature-box-lead {
  font-size: clamp(0.75rem, 1.1vw, 0.8125rem);
  line-height: 1.55;
  margin-bottom: clamp(20px, 3vw, 28px);
  max-width: 520px;
  color: var(--muted);
}

.signature-box--featured .signature-grid h4 {
  font-size: clamp(0.625rem, 0.9vw, 0.6875rem);
  color: var(--text);
}

.signature-box--featured .signature-grid p {
  font-size: clamp(0.625rem, 0.95vw, 0.6875rem);
  color: var(--muted);
}

.signature-box--pro .signature-grid h4 {
  font-size: clamp(0.625rem, 0.9vw, 0.6875rem);
}

.signature-box--pro .signature-grid p {
  font-size: clamp(0.625rem, 0.95vw, 0.6875rem);
  opacity: 0.92;
  color: #000;
}

.signature-box-aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-inline: clamp(8px, 2vw, 16px);
}

.signature-box--featured .signature-name {
  font-size: clamp(2.75rem, 5.5vw, 4.25rem);
  font-weight: 200;
  line-height: 0.95;
  letter-spacing: -0.03em;
  margin-bottom: clamp(12px, 2vw, 16px);
  color: var(--accent);
}

.signature-box--featured .signature-tag {
  font-size: clamp(0.75rem, 1.1vw, 0.8125rem);
  margin: 0 0 clamp(20px, 3vw, 28px);
  line-height: 1.45;
  color: var(--muted);
}

.signature-box--pro .signature-name {
  font-size: clamp(2.75rem, 5.5vw, 4.25rem);
  margin-bottom: clamp(12px, 2vw, 16px);
}

.signature-box--pro .signature-tag {
  font-size: clamp(0.75rem, 1.1vw, 0.8125rem);
  margin: 0 0 clamp(20px, 3vw, 28px);
  color: #000;
}

.signature-box-cta {
  max-width: 260px;
  min-height: 46px;
  border-radius: 8px;
  font-weight: 600;
  margin-top: 0;
}

.signature-box--featured .signature-box-cta {
  border: 1px solid var(--border);
}

/* Legacy signature box helpers (brand voice panels) */
.signature-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 36px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--card-solid);
}

.sig-label {
  font-size: 0.75rem;
  color: var(--muted);
  margin-bottom: 8px;
}

.sig-title {
  font-size: 2rem;
  font-weight: 200;
  margin-bottom: 4px;
}

.sig-accent {
  color: var(--accent);
  font-size: 0.875rem;
  margin-bottom: 16px;
}

.sig-desc {
  font-size: 0.75rem;
  color: var(--muted);
  margin-bottom: 24px;
  max-width: 360px;
}

.signature-box-right article {
  margin-bottom: 20px;
}

.signature-box-right h4 {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.signature-box-right p {
  font-size: 0.75rem;
  color: var(--muted);
}

.section.brand-voice {
  padding-block: clamp(56px, 8vw, 96px) clamp(72px, 10vw, 108px);
}

/* Brand voice — layout design Signature */
.bv-stage {
  position: relative;
  isolation: isolate;
}

.bv-hero {
  position: absolute;
  top: var(--bv-hero-overlay-top);
  left: 0;
  right: 0;
  z-index: 2;
  background: transparent;
  margin: 0;
  text-align: left;
  pointer-events: none;
}

.bv-hero > * {
  pointer-events: auto;
}

.bv-title {
  font-size: clamp(var(--bv-title-min), var(--bv-title-fluid), var(--bv-title-max));
  font-weight: 100;
  line-height: var(--bv-title-line-height);
  text-align: var(--bv-title-text-align);
  letter-spacing: -0.03em;
  margin: 0;
  transform: translate(var(--bv-title-translate-x), var(--bv-title-translate-y));
}

.bv-subtitle {
  font-size: clamp(var(--bv-subtitle-min), var(--bv-subtitle-fluid), var(--bv-subtitle-max));
  font-weight: 100;
  line-height: var(--bv-subtitle-line-height);
  text-align: var(--bv-subtitle-text-align);
  letter-spacing: -0.03em;
  margin: 0.08em 0 0;
  transform: translate(var(--bv-subtitle-translate-x), var(--bv-subtitle-translate-y));
}

.bv-lead {
  font-size: var(--bv-lead-size);
  line-height: var(--bv-lead-line-height);
  text-align: var(--bv-lead-text-align);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.78);
  max-width: min(540px, 92%);
  margin: clamp(14px, 2vw, 20px) 0 0;
  transform: translate(var(--bv-lead-translate-x), var(--bv-lead-translate-y));
}

.bv-wave.wave-band--full {
  aspect-ratio: var(--bv-wave-aspect);
  min-height: var(--bv-wave-min-h);
  margin-bottom: var(--bv-wave-mb);
  z-index: 1;
  background: transparent;
}

.bv-panels {
  position: relative;
  z-index: 3;
  margin-top: var(--bv-panels-overlap);
}

.bv-panel {
  padding: var(--bv-panel-padding-y) var(--bv-panel-padding-x);
  border: 1px solid rgba(192, 141, 93, 0.24);
  border-radius: var(--bv-panel-radius);
  background: rgba(255, 255, 255, 0.045);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  margin-bottom: clamp(18px, 3vw, 28px);
}

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

.bv-panel--split {
  display: grid;
  gap: var(--bv-panel-gap);
  align-items: stretch;
}

.bv-panel--signature {
  grid-template-columns: minmax(0, var(--bv-signature-left)) 1px minmax(0, var(--bv-signature-right));
}

.bv-panel--detail {
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
}

.brand-voice .bv-divider {
  background: rgba(192, 141, 93, 0.55);
  width: 1px;
  align-self: stretch;
  min-height: 100%;
}

.bv-panel--signature .sig-label {
  color: var(--bv-gold);
  font-size: 0.8125rem;
  margin: 0 0 14px;
}

.bv-panel--signature .sig-title {
  font-size: clamp(2rem, 3.6vw, 2.85rem);
  font-weight: 200;
  line-height: 1;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}

.bv-panel--signature .sig-accent {
  color: var(--bv-gold);
  font-size: 0.9375rem;
  margin: 0 0 22px;
}

.bv-panel--signature .sig-desc {
  font-size: 0.8125rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.58);
  max-width: 22rem;
  margin: 0;
}

.bv-features {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bv-features li {
  margin-bottom: 24px;
}

.bv-features li:last-child {
  margin-bottom: 0;
}

.bv-features strong {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 7px;
}

.bv-features span {
  display: block;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.65;
}

.bv-panel-col p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.82);
}

.bv-panel--detail .text-accent {
  color: var(--bv-gold);
  font-weight: 500;
}

.brand-voice .wave-band-img {
  object-fit: var(--bv-wave-img-fit);
  object-position: var(--bv-wave-img-pos-x) var(--bv-wave-img-pos-y);
  transform: translate(var(--bv-wave-img-translate-x), var(--bv-wave-img-translate-y))
    scale(var(--bv-wave-img-scale));
  transform-origin: center center;
}

/* Legacy signature box (offres) */
.contact-eyebrow {
  font-size: var(--contact-eyebrow-size);
  text-align: var(--contact-eyebrow-text-align);
  letter-spacing: 0.15em;
  color: var(--muted);
  margin-bottom: 16px;
}

.contact-title {
  font-size: clamp(var(--contact-title-min), var(--contact-title-fluid), var(--contact-title-max));
  font-weight: 100;
  line-height: var(--contact-title-line-height);
  text-align: var(--contact-title-text-align);
  letter-spacing: -0.02em;
  margin-bottom: 48px;
  max-width: 600px;
}

.contact-box {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 40px;
  padding: 40px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--card);
}

.contact-col label {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 20px;
}

.contact-col input,
.contact-col select {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 14px 20px;
  border: none;
  border-radius: 999px;
  background: var(--input-bg);
  color: var(--input-text);
  font-family: inherit;
  font-size: 0.875rem;
  appearance: none;
}

.contact-col select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 40px;
}

.contact-row {
  display: flex;
  gap: 12px;
}

.flex-2 {
  flex: 2;
}

.flex-1 {
  flex: 1;
}

.phone-wrap {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.phone-prefix-select {
  flex: 0 0 auto;
  width: auto;
  min-width: 118px;
  max-width: 140px;
  margin-top: 0 !important;
  padding: 14px 36px 14px 14px;
  font-size: 0.8125rem;
}

.phone-wrap input {
  margin-top: 0 !important;
  flex: 1;
}

.contact-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.contact-submit-wrap .btn[disabled] {
  opacity: 0.65;
  cursor: wait;
}

.contact-submit-wrap {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  margin-top: 16px;
}

.form-success {
  margin-top: 24px;
  color: var(--accent);
}

.form-error {
  margin-top: 12px;
  color: #ffb4b4;
}

/* Footer */
.site-footer {
  padding: 32px 0 48px;
  border-top: 1px solid var(--border-subtle);
}

.footer-bar {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: var(--footer-size);
  color: var(--muted);
}

/* Responsive */
@media (max-width: 1024px) {
  .nav {
    gap: 16px;
  }

  .calc-dashboard,
  .calc-form-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .calc-header {
    grid-column: 1 / -1;
  }

  .metric-card--payback {
    grid-column: auto;
  }

  .calc-cta-wrap {
    grid-column: auto;
  }

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

  .price-col:nth-child(2) {
    border-right: none;
  }

  .price-col {
    border-bottom: 1px solid var(--border);
  }

  .intel-grid {
    grid-template-columns: 1fr;
  }

  .about-bottom,
  .bv-panel--split,
  .contact-box,
  .signature-box:not(.signature-box--featured):not(.signature-box--pro) {
    grid-template-columns: 1fr;
  }

  .calc-offer-card,
  .signature-box--featured,
  .signature-box--pro {
    grid-template-columns: 1fr;
  }

  .calc-offer-right,
  .signature-box--featured .signature-box-aside,
  .signature-box--pro .signature-box-aside {
    padding-top: clamp(8px, 2vw, 16px);
  }

  .offer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-divider,
  .bv-divider,
  .contact-divider {
    display: none;
  }

  .bv-panels {
    margin-top: clamp(-150px, calc(var(--bv-panels-overlap) * 0.45), -90px);
  }

  .bv-panel--signature,
  .bv-panel--detail {
    grid-template-columns: 1fr;
  }

  .brand-voice .bv-divider {
    display: none;
  }

  .intro-about-container {
    margin-top: clamp(-150px, calc(var(--intro-about-overlap) * 0.45), -90px);
  }

  .intro .about-divider {
    display: none;
  }
}

@media (max-width: 900px) {
  .hero-img {
    width: min(720px, 100vw);
    max-height: min(65svh, 720px);
  }

  .hero-headline {
    bottom: calc(
      clamp(12%, 14vh, 18%) - var(--hero-title-bottom-offset) + var(--hero-title-lift)
    );
    font-size: clamp(var(--hero-title-min), var(--hero-title-preferred), var(--hero-title-max));
  }
}

@media (max-width: 768px) {
  .calc-offer-card.is-signature .signature-grid,
  .signature-box--featured .signature-grid,
  .signature-box--pro .signature-grid,
  .offer-cols {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .hero-inner {
    padding-inline: 16px;
  }

  .hero-stats {
    grid-template-columns: 1fr;
    max-width: 280px;
  }

  .hero-img {
    margin-top: 0;
    max-height: min(58svh, 560px);
  }

  .hero-headline {
    bottom: calc(10% - var(--hero-title-bottom-offset) + var(--hero-title-lift));
    font-size: clamp(var(--hero-title-min), var(--hero-title-preferred), var(--hero-title-max));
  }

  .calc-dashboard,
  .calc-form-grid,
  .pricing-table {
    grid-template-columns: 1fr;
  }

  .price-col {
    border-right: none;
  }

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

  .offer-aside-cta,
  .signature-box--featured .signature-box-cta,
  .signature-box--pro .signature-box-cta {
    max-width: none;
  }

  .offer-cols {
    grid-template-columns: 1fr;
  }
}
