/* SyntheGlobe Innovation — Typographic art direction V8.
   Original logo untouched. 100% system font stacks: zero external requests,
   no CLS caused by remote font swaps, consistent fallback in FR / NL / EN.
   Hierarchy: Swiss grotesk / editorial italic / precise technical captions. */

:root {
  --sgi-type-grotesk: "Helvetica Neue", "Arial Nova", Arial, Helvetica, sans-serif;
  --sgi-type-editorial: "Iowan Old Style", Baskerville, "Palatino Linotype", Georgia, serif;
  --sgi-type-technical: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

/* Preserve the hero's three-line rhythm, but give each family a defined role. */
.cinema-hero h1 {
  font-family: var(--sgi-type-grotesk);
  font-weight: 600;
  font-kerning: normal;
  letter-spacing: -.065em;
}
.cinema-hero h1 span {
  font-family: var(--sgi-type-editorial);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.05em;
}
.cinema-hero .hero-copy > p:not(.eyebrow) {
  line-height: 1.85;
  font-weight: 400;
}

/* Three universes: the name stays architectural, the promise turns editorial. */
.cinema-chapter .chapter-name {
  font-family: var(--sgi-type-grotesk);
  font-weight: 600;
  letter-spacing: -.075em;
}
.cinema-chapter .chapter-title h2 {
  font-family: var(--sgi-type-grotesk);
  font-weight: 500;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.cinema-chapter .chapter-title h2 span {
  font-family: var(--sgi-type-editorial);
  font-style: italic;
  font-weight: 400;
  font-size: 1.08em;
  letter-spacing: -.038em;
  color: #f0d3ca;
}

/* Editorial breathing points: technique and culture without random font changes. */
.local-expertise .local-grid h2,
.method-heading h2,
.continuity-head h2 {
  font-family: var(--sgi-type-grotesk);
  font-weight: 600;
  line-height: 1.07;
  text-wrap: balance;
}
.faq-grid h2 {
  font-family: var(--sgi-type-editorial);
  font-style: italic;
  font-weight: 400;
  line-height: 1.13;
  letter-spacing: -.042em;
  text-wrap: balance;
}
.service-title h1,
.conversion-path > .wrap > h2 {
  font-family: var(--sgi-type-grotesk);
  font-weight: 600;
  text-wrap: balance;
}

/* Microtypography: the restrained technical language of SGI. */
.eyebrow,
.hero-timeline > span,
.chapter-topline,
.shop-main .shop-kicker,
.shop-main .shop-steps b {
  font-family: var(--sgi-type-technical);
  font-weight: 600;
  letter-spacing: .105em;
}
.hero-timeline > span { letter-spacing: .025em; }
.site-header .header-shop-link,
.btn,
.shop-main .shop-order-form .shop-submit {
  font-family: var(--sgi-type-grotesk);
  font-weight: 700;
  letter-spacing: .006em;
}
.site-header .header-shop-link { font-weight: 800; }

/* The shop headline becomes an editorial statement, not another sales banner. */
.shop-main .shop-hero h1 {
  font-family: var(--sgi-type-grotesk);
  font-weight: 600;
  letter-spacing: -.073em;
  text-wrap: balance;
}
.shop-main .shop-hero h1 span {
  display: block;
  font-family: var(--sgi-type-editorial);
  font-size: .86em;
  font-style: italic;
  font-weight: 400;
  line-height: 1.13;
  letter-spacing: -.046em;
  color: #e9c7bc;
}
.shop-main #produits > .wrap > h2 {
  font-family: var(--sgi-type-editorial);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.045em;
  line-height: 1.12;
  text-wrap: balance;
}

/* Product taxonomy: SGI is the maker, Essential/Pro are the actual products. */
.shop-main .shop-card-content h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px 13px;
  line-height: 1.12;
  letter-spacing: normal;
}
.shop-main .shop-product-prefix {
  font-family: var(--sgi-type-technical);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  color: #983925;
  white-space: nowrap;
}
.shop-main .shop-product-tier {
  font-family: var(--sgi-type-grotesk);
  font-size: clamp(34px, 3.3vw, 47px);
  font-weight: 600;
  letter-spacing: -.07em;
  overflow-wrap: anywhere;
}
.shop-main .shop-card:nth-child(2) .shop-product-tier {
  font-family: var(--sgi-type-editorial);
  font-size: clamp(38px, 3.55vw, 51px);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.055em;
}
.shop-main .shop-price strong,
.shop-main .shop-cart-totals output {
  font-family: var(--sgi-type-grotesk);
  font-variant-numeric: tabular-nums;
}
.shop-main .shop-price strong { font-weight: 600; }

/* Quiet editorial interactions, no arrows or ornamental icons. */
.chapter-title .text-link,
.local-expertise .text-link,
.service-body .text-link,
.shop-main .shop-breadcrumb a {
  text-underline-offset: 5px;
  transition: border-color .2s ease, color .2s ease;
}
.chapter-title .text-link:hover,
.local-expertise .text-link:hover,
.service-body .text-link:hover {
  border-color: var(--sgi-terracotta-light, #d98b73);
}

@media (max-width: 600px) {
  .cinema-hero h1 { letter-spacing: -.057em; }
  .cinema-hero h1 span { letter-spacing: -.04em; }
  .cinema-chapter .chapter-title h2 span { font-size: 1em; }
  .shop-main .shop-hero h1 span { font-size: .84em; letter-spacing: -.045em; }
  .shop-main .shop-card-content h3 { gap: 4px 10px; }
  .shop-main .shop-product-prefix { font-size: 11px; }
  .shop-main .shop-product-tier { font-size: clamp(32px, 8.3vw, 40px); }
  .shop-main .shop-card:nth-child(2) .shop-product-tier { font-size: clamp(35px, 9vw, 44px); }
  .shop-main #produits > .wrap > h2 { font-size: clamp(35px, 8.5vw, 46px); }
}

@media (prefers-reduced-motion: reduce) {
  .chapter-title .text-link,
  .local-expertise .text-link,
  .service-body .text-link { transition: none; }
}
