/* Landing-only refinements. Keep the shared pages and signature scenes intact. */
.landing .hero { padding-top:clamp(3rem,5vw,5rem); padding-bottom:2rem; }
.landing .hero > .dial { opacity:.12; animation:none; }
.landing .hero h1 { font-size:clamp(2.6rem,4.5vw,4rem); line-height:1.08; letter-spacing:-.045em; max-width:17ch; text-wrap:balance; }
.landing .hero .lead { font-size:1.125rem; line-height:1.75; max-width:49ch; }
.landing .hero-note { color:var(--mn-text-muted); font-size:.875rem; }
.landing .hero-context { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-top:4rem; padding:1.5rem 0; border-top:1px solid var(--mn-border); }
.landing .hero-context p { margin:0; font-size:.9375rem; }
.landing .hero-context b,.landing .hero-context span { display:block; }
.landing .hero-context b { font-weight:600; margin-bottom:.35rem; }
.landing .hero-context p span { color:var(--mn-text-muted); }
.landing .hero-context a { flex-shrink:0; font-size:.9375rem; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.landing .hero-context a span { display:inline; color:var(--mn-orange-deep); }
.landing .section { padding-block:clamp(3.5rem,6vw,6rem); }
.landing .section-head { margin-bottom:2.75rem; }
.landing .section-head h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.landing .section-head .lead { font-size:1.0625rem; line-height:1.75; max-width:62ch; }
.landing .offer { padding:2rem; gap:1.35rem; border-radius:1rem; }
.landing .offer .offer-audience { margin:0; font-size:clamp(1.65rem,2.5vw,2.2rem); letter-spacing:-.035em; line-height:1.15; }
.landing .offer .card-index { display:none; }
.landing .offer .list { font-size:1rem; }
.landing .offer-meta { font-size:.875rem; line-height:1.6; }
.landing .offer .offer-cta { margin-top:auto; }
.landing .method-motion .mx-panel { padding:1.75rem; margin-bottom:1.5rem; }
.landing .method-motion .mx-panel + .mx-panel { margin-top:1.5rem; }
.landing .method-motion .mx-main h3 { max-width:23ch; padding-right:1rem; line-height:1.2; }
.landing .method-motion .mx-main > p { line-height:1.7; }
.landing .method-motion .mx-panel .card-num { display:none; }
.landing .method-next { display:flex; justify-content:space-between; align-items:center; gap:2rem; border-top:1px solid var(--mn-border); padding-top:2rem; margin-top:2rem; }
.landing .method-next p { margin:0; font-size:1rem; color:var(--mn-text-muted); line-height:1.7; }
.landing .method-next b { color:var(--mn-ink); font-weight:600; }
.landing .method-next .btn { flex-shrink:0; }
.landing .ref-gauge,.landing .ref-badge,.landing .ref-kicker,.landing .ref-card .card-num { display:none; }
.landing .ref-body { padding:1.75rem; }
.landing .ref-hero { margin-block:1.5rem; }
.landing .about-quote { font-size:1.125rem; line-height:1.7; }
.landing .finale-head { padding-block:clamp(3.5rem,6vw,6rem); }
.landing .finale-head > .dial { display:none; }
.landing .finale-head h2 { max-width:20ch; margin-inline:auto; font-size:clamp(2.25rem,4.5vw,4rem); line-height:1.12; text-wrap:balance; }
.landing .finale-head .lead { font-size:1.125rem; line-height:1.75; }
.landing .contact-principle { margin-top:2rem; font-size:.875rem; color:var(--mn-warm-grey-light); }
.landing .footer-giant { padding-block:1.5rem; }
.landing .footer-giant img { max-height:10rem; }
@media(min-width:60rem) {
  .landing .hero-grid { gap:4rem; }
  .landing .method-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
}
@media(max-width:60rem) {
  .landing .hero-context { margin-top:2rem; }
  .landing .method-scene-mobile { margin-bottom:1.25rem; }
}
@media(max-width:40rem) {
  .landing .hero h1 { font-size:2.65rem; }
  .landing .hero-context,.landing .method-next { align-items:flex-start; flex-direction:column; gap:1.25rem; }
  .landing .hero .btn-row { gap:.75rem; }
  .landing .hero .btn-row .btn { width:100%; justify-content:center; }
  .landing .offer { padding:1.5rem; }
  .landing .method-motion .mx-panel { padding:1.25rem; }
  .landing .method-motion .mx-chip { font-size:.8125rem; }
  .landing .contact-mail { overflow-wrap:anywhere; }
}

/* Two offer cards — pearl and ivory, with a shared editorial hierarchy. */
.landing #offres .offer-signature {
  --offer-ink:#22211e; --offer-muted:#64615a; --offer-line:rgba(40,34,25,.15);
  position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column;
  gap:0; padding:2.5rem; border:1px solid #d8d3ca; border-radius:1.25rem;
  color:var(--offer-ink); background:linear-gradient(130deg,#fffefa 0%,#f3f0e9 100%);
  box-shadow:inset 0 1px 0 #fff,0 3px 5px -3px #28221918,0 24px 55px -35px #28221942;
  transition:transform .55s var(--mn-ease-out),box-shadow .55s var(--mn-ease-out),border-color .55s;
}
.landing #offres .offer-signature--pearl {
  background:linear-gradient(135deg,#ffffff 0%,#faf9f6 60%,#f2efea 100%);
  border-color:#ddd7cd;
}
.landing #offres .offer-signature::after {
  content:''; position:absolute; top:0; left:2.5rem; right:2.5rem; height:2px; pointer-events:none;
  background:linear-gradient(90deg,transparent,#e9763d,transparent); opacity:.8;
}
.landing #offres .offer-signature::before { z-index:-1; background:radial-gradient(25rem circle at var(--mx,50%) var(--my,0%),#ee8f521a,transparent 65%); }
.landing #offres .offer-topline { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:2rem; }
.landing #offres .offer-topline .eyebrow { color:var(--offer-muted); font:500 .75rem/1.5 var(--mn-font-body); letter-spacing:.12em; text-transform:uppercase; margin:0; }
.landing #offres .offer-topline .eyebrow::before { display:none; }
.landing #offres .offer-edition { color:var(--offer-muted); font:.8125rem/1 var(--mn-font-mono); letter-spacing:.05em; white-space:nowrap; }
.landing #offres .offer-signature .offer-audience { color:var(--offer-ink); margin:0 0 1.5rem; font-size:clamp(2.4rem,4vw,3.5rem); line-height:1.02; letter-spacing:-.055em; font-weight:600; }
.landing #offres .offer-audience > span:first-child { display:block; margin-bottom:.4rem; font-size:.62em; line-height:1.15; font-weight:450; letter-spacing:-.035em; color:var(--offer-muted); }
.landing #offres .offer-audience .offer-period { color:#ef7038; }
.landing #offres .offer-description { color:var(--offer-muted); font-size:1rem; line-height:1.75; max-width:43ch; margin:0 0 1.75rem; min-height:5.25em; }
.landing #offres .offer-signature .list { gap:0; margin:0 0 1.5rem; border-top:1px solid var(--offer-line); counter-reset:offer-row; }
.landing #offres .offer-signature .list li { counter-increment:offer-row; display:grid; grid-template-columns:1.5rem 1fr; gap:.65rem; color:var(--offer-ink); font-size:.9375rem; line-height:1.55; padding:1rem 0; border-bottom:1px solid var(--offer-line); }
.landing #offres .offer-signature .list li::before { content:counter(offer-row,decimal-leading-zero); color:var(--offer-muted); font:.6875rem/2.15 var(--mn-font-mono); }
.landing #offres .offer-signature .offer-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem 1rem; padding:0; border:0; font:400 .8125rem/1.6 var(--mn-font-body); letter-spacing:0; text-transform:none; color:var(--offer-muted); margin:0 0 2rem; }
.landing #offres .offer-signature .offer-cta { display:flex; justify-content:space-between; align-items:center; align-self:stretch; gap:1rem; padding:0; margin-top:auto; border:0; border-radius:0; background:none; box-shadow:none; color:var(--offer-ink); font-size:1rem; font-weight:600; line-height:1.5; }
.landing #offres .offer-signature .offer-cta > span { background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat; padding-block:.25rem; transition:background-size .5s var(--mn-ease-out); }
.landing #offres .offer-signature .offer-cta svg { width:3rem; height:3rem; padding:.95rem; border-radius:50%; color:#fff; background:#c34515; box-shadow:inset 0 1px 0 #ffffff33; flex-shrink:0; transform:rotate(-35deg); transition:transform .5s var(--mn-ease-out),background .5s; }
.landing #offres .offer-signature:focus-visible { outline:3px solid #dc5a27; outline-offset:5px; }
.landing #offres .offer-signature:focus-visible .offer-cta > span { background-size:100% 1px; }
.landing #offres .offer-signature:focus-visible .offer-cta svg { transform:rotate(0deg); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .landing #offres .offer-signature:hover { transform:translateY(-5px); border-color:#bd8d70; box-shadow:inset 0 1px 0 #ffffff30,0 30px 55px -30px #27251f60; }
  .landing #offres .offer-signature:hover .offer-cta > span { background-size:100% 1px; }
  .landing #offres .offer-signature:hover .offer-cta svg { transform:rotate(0deg); background:#db511b; }
}
@media(max-width:40rem) {
  .landing #offres .offer-signature { padding:1.75rem; }
  .landing #offres .offer-topline { gap:.5rem; margin-bottom:1.75rem; }
  .landing #offres .offer-topline .eyebrow { font-size:.6875rem; letter-spacing:.07em; }
  .landing #offres .offer-signature .offer-audience { font-size:clamp(2rem,9vw,3rem); }
  .landing #offres .offer-description { min-height:0; }
  .landing #offres .offer-signature::after { left:1.75rem; right:1.75rem; }
}
@media(prefers-reduced-motion:reduce) {
  .landing #offres .offer-signature,.landing #offres .offer-signature * { transition:none; }
  .landing #offres .offer-signature:hover { transform:none; }
}

/* Offer introduction: retain the copy and emphasize the two services. */
.landing #offres .section-head .offer-intro { max-width:55ch; margin-top:1.75rem; font:600 clamp(1.125rem,1.7vw,1.45rem)/1.55 var(--mn-font-display); letter-spacing:-.025em; color:#292722; }
.landing #offres .offer-intro strong { font-weight:650; }
.landing #offres .offer-intro em { font-style:normal; color:#bd4318; }
.landing #offres .offer-intro-line { display:block; }
.landing #offres .offer-intro-tail { display:block; margin-top:.75rem; font-size:.83em; letter-spacing:-.012em; }
.landing #offres .offer-opportunity { display:flex; flex-wrap:wrap; align-items:baseline; gap:0 .3em; width:fit-content; max-width:100%; margin:1.75rem 0 0; padding:.8rem 1.1rem; border-left:2px solid #d45a29; border-radius:0 .5rem .5rem 0; background:linear-gradient(90deg,#ee7a3610,#ee7a3603); color:#60564c; font-size:.9375rem; line-height:1.6; }
.landing #offres .offer-opportunity > span { color:#bd4318; margin-right:.45rem; }
.landing #offres .offer-opportunity strong { color:#a93c16; font-weight:600; }

/* Readable offer content: benefit, three uses, take-home materials, action. */
.landing #offres .offer-signature { padding:2.25rem; }
.landing #offres .offer-topline { margin-bottom:1.5rem; }
.landing #offres .offer-topline .eyebrow { font-size:.8125rem; letter-spacing:.055em; }
.landing #offres .offer-signature .offer-audience { margin-bottom:1.25rem; }
.landing #offres .offer-signature .offer-description { font:700 clamp(1.4rem,2vw,1.65rem)/1.35 var(--mn-font-display); letter-spacing:-.025em; color:#24221f; min-height:2.7em; margin-bottom:1.5rem; max-width:27ch; }
.landing #offres .offer-description strong { font-weight:700; }
.landing #offres .offer-description em { color:#b64016; font-style:normal; }
.landing #offres .offer-signature .list { margin-bottom:1.25rem; }
.landing #offres .offer-signature .list li { padding:1rem 0; grid-template-columns:1.35rem 1fr; gap:.75rem; }
.landing #offres .offer-signature .list li::before { font-size:.75rem; line-height:2.3; color:#a14522; }
.landing #offres .offer-signature .list strong { display:block; font:700 1.25rem/1.35 var(--mn-font-display); letter-spacing:-.02em; color:#24221f; }
.landing #offres .offer-signature .list li span { display:block; font-size:1.0625rem; line-height:1.5; color:#55514b; margin-top:.25rem; }
.landing #offres .offer-signature .offer-takeaway { padding:1.1rem 1.2rem; margin-bottom:1.5rem; border-left:3px solid #d85922; border-radius:0 .5rem .5rem 0; background:#f8e9dd; color:#302820; }
.landing #offres .offer-takeaway strong { display:block; font-size:1.125rem; line-height:1.45; font-weight:700; }
.landing #offres .offer-takeaway span { display:block; font-size:1.0625rem; line-height:1.5; margin-top:.3rem; color:#913814; }
.landing #offres .offer-signature .offer-meta { font-size:1rem; margin-bottom:1.25rem; color:#504b44; align-items:baseline; }
.landing #offres .offer-meta b { font:700 1.3rem/1.3 var(--mn-font-display); color:#26231f; }
.landing #offres .offer-signature .offer-cta { font-size:1.125rem; padding:.85rem 1rem .85rem 1.25rem; background:#f3e0d2; border:1px solid #e0b9a1; border-radius:.65rem; color:#903513; }
.landing #offres .offer-signature .offer-cta svg { width:2.5rem; height:2.5rem; padding:.72rem; }
.landing #offres .offer-signature .offer-extension { margin:1rem 0 0; font-size:1rem; line-height:1.5; color:#5a544c; }
@media(max-width:40rem) {
  .landing #offres .offer-signature { padding:1.5rem; }
  .landing #offres .offer-topline .eyebrow { max-width:22ch; font-size:.8125rem; }
  .landing #offres .offer-signature .offer-description { min-height:0; font-size:1.5rem; }
  .landing #offres .offer-signature .list strong { font-size:1.25rem; }
  .landing #offres .offer-signature .offer-cta { padding:.85rem; gap:.6rem; }
}

/* Keep the two duration options and the location explicit on both cards. */
.landing #offres .offer-signature .offer-meta { flex-direction:column; align-items:flex-start; gap:.4rem; }

/* Landing navigation: open composition aligned with the page content. */
.landing > .nav {
  top:0;
  width:100%;
  margin:0;
  border:0;
  border-radius:0;
  background:color-mix(in srgb,var(--mn-bone) 90%,transparent);
  box-shadow:none;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:background 240ms ease;
}
.landing > .nav.is-scrolled {
  background:color-mix(in srgb,var(--mn-bone) 97%,transparent);
  box-shadow:none;
}
.landing > .nav .nav-inner,
.landing > .nav.is-scrolled .nav-inner {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  min-height:4.25rem;
  padding:.5rem var(--mn-gutter);
  gap:clamp(1.25rem,2.25vw,2rem);
}
.landing > .nav .nav-inner::after {
  content:"";
  position:absolute;
  bottom:0;
  left:var(--mn-gutter);
  right:var(--mn-gutter);
  height:1px;
  background:color-mix(in srgb,var(--mn-ink) 12%,var(--mn-bone));
  pointer-events:none;
}
.landing > .nav .mn-logo { justify-self:start; }
.landing > .nav .mn-logo img { height:1.625rem; }
.landing > .nav .logo-sig {
  margin-left:.875rem;
  padding-left:.875rem;
  border-color:var(--mn-hairline);
  color:var(--mn-text-muted);
  font-size:.75rem;
  font-weight:400;
  line-height:1.4;
  letter-spacing:.16em;
}
.landing > .nav .nav-links {
  gap:clamp(1.25rem,2.3vw,2rem);
  padding:0;
  border:0;
  background:transparent;
}
.landing > .nav .nav-links a {
  display:flex;
  align-items:center;
  min-height:2.75rem;
  padding:.5rem 0;
  font-size:.9375rem;
  font-weight:400;
  line-height:1.4;
  letter-spacing:.01em;
  color:color-mix(in srgb,var(--mn-ink) 85%,var(--mn-bone));
  transition:color 240ms ease;
}
.landing > .nav .nav-links a::after {
  left:0;
  right:0;
  bottom:.375rem;
  height:1px;
  background:var(--mn-orange-deep);
  transform-origin:left center;
}
.landing > .nav .nav-links a.is-active { color:var(--mn-orange-deep); }
.landing > .nav .nav-links a:focus-visible::after { transform:scaleX(1); }
.landing > .nav .nav-menu > .btn {
  justify-self:end;
  min-height:2.75rem;
  gap:.625rem;
  padding:.5rem 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--mn-orange-deep);
  font-size:.9375rem;
  font-weight:600;
  line-height:1.4;
  letter-spacing:0;
  box-shadow:none;
  transform:none;
}
.landing > .nav .nav-menu > .btn::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.375rem;
  height:1px;
  background:currentColor;
  opacity:.35;
  transition:opacity 240ms ease;
}
.landing > .nav .nav-menu > .btn svg {
  width:1rem;
  height:1rem;
  flex-shrink:0;
  transition:transform 240ms var(--mn-ease-out);
}
.landing > .nav :is(a,button):focus-visible {
  outline:2px solid var(--mn-orange-deep);
  outline-offset:4px;
}
.landing > .nav .nav-menu > .btn:focus-visible::before { opacity:1; }
@media(hover:hover) {
  .landing > .nav .nav-links a:hover { color:var(--mn-orange-deep); }
  .landing > .nav .nav-menu > .btn:hover {
    background:transparent;
    color:var(--mn-orange-deep);
    box-shadow:none;
    transform:none;
  }
  .landing > .nav .nav-menu > .btn:hover::before { opacity:1; }
  .landing > .nav .nav-menu > .btn:hover svg { transform:translateX(.1875rem); }
}
@media(max-width:60rem) {
  .landing > .nav .nav-inner,
  .landing > .nav.is-scrolled .nav-inner { display:flex; min-height:3.75rem; padding-block:.5rem; gap:1rem; }
  .landing > .nav .nav-toggle { border:0; border-radius:0; background:transparent; }
  .landing > .nav .nav-toggle svg { stroke-width:1.5; }
  .landing > .nav .nav-menu {
    top:100%;
    padding:.75rem var(--mn-gutter) 1.5rem;
    max-height:calc(100svh - 4rem);
    overflow-y:auto;
    border:0;
    border-bottom:1px solid var(--mn-hairline);
    border-radius:0;
    background:var(--mn-bone);
    box-shadow:none;
  }
  .landing > .nav .nav-links { gap:0; }
  .landing > .nav .nav-links a { padding:1rem 0; font-size:1rem; border-bottom:1px solid var(--mn-hairline); }
  .landing > .nav .nav-menu > .btn { align-self:flex-start; width:fit-content; max-width:100%; white-space:normal; text-align:left; }
}
@media(max-width:28rem) {
  .landing > .nav .logo-sig { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .landing > .nav,.landing > .nav *,.landing > .nav *::before,.landing > .nav *::after { transition:none; }
  .landing > .nav .nav-menu > .btn:hover svg { transform:none; }
}
