/* Homepage refinements: keep the theme's vertical rhythm and card effects. */
/* Match the measure to the type size; keep each reading unit justified. */
.site main.home-refined .hero-support .hero-note {
  text-align: justify !important;
  text-align-last: left;
  text-justify: inter-word;
  text-wrap: wrap;
  word-spacing: normal;
  letter-spacing: normal;
  hyphens: none !important;
  overflow-wrap: normal;
  word-break: normal;
  width: 100%;
  max-width: none;
}
.home-refined .hero-support--photo { max-width: none; width: 100%; }
.home-refined .hero-note-sentence { display: block; }
.home-refined .hero-note-sentence + .hero-note-sentence { margin-top: .6em; }
@media (max-width: 640px) {
  .site main.home-refined .hero-support .hero-note {
    font-size: clamp(15.8px, calc((100vw - 28px) / 21), 19px);
    line-height: 1.55;
  }
}
@media (max-width: 359px) {
  .site main.home-refined .hero-support .hero-note {
    font-size: 16px;
    text-justify: inter-character;
  }
}
@media (min-width: 641px) and (max-width: 900px) {
  .home-refined .hero-support--photo { max-width: 420px; }
  .site main.home-refined .hero-support .hero-note { font-size: 20px; }
}
@media (min-width: 901px) {
  .home-refined .hero-photo-fullscreen-content {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  }
  .home-refined .hero-support--photo { max-width: none; }
  .site main.home-refined .hero-support .hero-note {
    font-size: 20px;
    line-height: 1.5;
  }
}

/* English has different word lengths: use its own typographic measure. */
.site main.home-refined:lang(en) .hero-support .hero-note { font-size: 17.85px; }
@media (max-width: 640px) {
  .site main.home-refined:lang(en) .hero-support .hero-note {
    font-size: clamp(16px, calc((100vw - 28px) / 22.5), 19px);
    text-justify: inter-character;
  }
}

/* One shared footer baseline across all six cards, regardless of their content. */
.home-refined .widgets-grid > .widget-card {
  position: relative;
  padding-bottom: 58px;
}
.home-refined .widgets-grid > .widget-card > em {
  position: absolute !important;
  inset: auto 22px 22px;
  margin: 0;
  padding: 0;
  width: auto;
  font-size: 10px;
  line-height: 14.5px;
}
.home-refined .widgets-grid > .widget-card > em a { font-size: inherit; line-height: inherit; min-height: 0; vertical-align: top; }
.home-refined .home-card--marseille { gap: 10px; justify-content: flex-start; }
.home-refined .home-card--marseille .widget-kicker { margin: 0; color: var(--color-text); }
.home-refined .home-card--marseille .map-frame {
  width: 100%; height: 86px; flex: 0 0 86px; margin: 0; border-radius: 14px;
}
.home-refined .widgets-grid .home-card--marseille .home-card-address {
  display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-start;
  justify-content: flex-start; gap: 3px; min-height: 0; margin: 0;
  font-size: clamp(18px, 1.5vw, 22px); line-height: 1.15; letter-spacing: -.025em;
}
.home-refined .home-card--marseille .home-card-address > span:last-child {
  font-family: var(--font-sans); font-size: 12px; letter-spacing: .01em; color: #67675f;
}
.home-refined .home-card--marseille em a { display: inline-flex; align-items: center; gap: 8px; }

/* Individual vertical cards use the same animation as the analysis card. */
.home-refined .home-method-list,
.home-refined .home-domain-list { display: grid; grid-template-columns: 1fr; gap: 18px; min-width: 0; }
.home-refined .home-method-step,
.home-refined .home-domain-link {
  min-width: 0; padding: 25px 30px; border: 1px solid rgba(23,61,50,.15);
  border-radius: 28px; background: rgba(249,247,240,.9);
}
.home-refined .home-method-step h3,
.home-refined .home-domain-link h3 {
  margin: 0 0 10px; color: var(--color-text); font-family: var(--font-serif);
  font-size: clamp(27px, 2.25vw, 34px); font-weight: 400; line-height: 1.15;
  letter-spacing: -.035em; transition: color 220ms ease;
}
.site main.home-refined .home-method-step p,
.site main.home-refined .home-domain-link p {
  margin: 0; color: #62635e; font-size: 15px; line-height: 1.55;
  text-align: left !important; text-wrap: pretty;
}
.home-refined .home-domain-link {
  display: grid; grid-template-columns: minmax(0,1fr) 22px; align-items: center;
  gap: 18px; color: var(--color-text); text-decoration: none;
}
/* Use the explicit arrow in the markup, not the generic second arrow. */
.site main.home-refined .home-domain-link::before { content: none; display: none; }
.home-refined .home-domain-arrow { color: var(--color-green); font-size: 20px; transition: color 220ms ease; }
.home-refined .home-domain-link:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 4px; }
.home-refined .home-method-step:is(:hover,:focus-within) h3,
.home-refined .home-domain-link:is(:hover,:focus-within) h3,
.home-refined .home-domain-link:is(:hover,:focus-within) .home-domain-arrow { color: var(--color-gold); }
@media (max-width:640px) {
  .home-refined .widgets-grid > .widget-card > em { left: 20px; right: 20px; bottom: 20px; }
  .home-refined .home-method-step,
  .home-refined .home-domain-link { padding: 24px; border-radius: 24px; }
  .home-refined .home-method-step h3,
  .home-refined .home-domain-link h3 { font-size: 27px; }
  .home-refined .home-domain-link { gap: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-refined .home-method-step h3,
  .home-refined .home-domain-link h3,
  .home-refined .home-domain-arrow { transition: none; }
}

/* A single circular control shows playback and each photo's elapsed time. */
.site main.home-refined .gallery-widget .gallery-playback {
  width:44px;height:44px;min-width:44px;max-width:44px;
  min-height:44px;max-height:44px;
  border:0;
  background:rgba(16,46,38,.88);
  color:#faf7ef;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
  overflow:visible;
}
.site main.home-refined .gallery-widget .gallery-playback:hover {
  background:rgba(16,46,38,.98);color:#e1c783;
}
.site main.home-refined .gallery-widget .gallery-playback:focus-visible {
  outline:2px solid #faf7ef;outline-offset:3px;
}
.gallery-playback .gallery-timer {
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;transform:rotate(-90deg);overflow:visible;
}
.gallery-timer circle { fill:none;stroke-width:1.5; }
.gallery-timer__track { stroke:rgba(250,247,239,.25); }
.gallery-timer__fill {
  stroke:#d5b66d;stroke-linecap:round;
  stroke-dasharray:100;stroke-dashoffset:100;
}

/* Consistent gold labels and prompts across all six quick-access cards. */
.site main.home-refined .widgets-grid > .home-card {
  --card-label-hover:#80601f;
}
.site main.home-refined .widgets-grid > :is(.home-card--cabinet,.gallery-widget,.home-card--contact-strong) {
  --card-label-hover:#e1c783;
}
.site main.home-refined .widgets-grid > .home-card :is(.widget-kicker,em,em a,em a span) {
  transition:color .22s ease;
}
.site main.home-refined .widgets-grid > .home-card:is(:hover,:focus-visible,:focus-within,:active) :is(.widget-kicker,em,em a,em a span) {
  color:var(--card-label-hover);
}
@media(prefers-reduced-motion:reduce) {
  .site main.home-refined .widgets-grid > .home-card :is(.widget-kicker,em,em a,em a span) { transition:none; }
}

/* All quick-access headings retain their gold identity at rest. */
.site main.home-refined .widgets-grid > .home-card > .widget-kicker {
  color:var(--card-label-hover);
}

/* Match the three light quick-access cards to the Veille card. */
.site main.home-refined .widgets-grid > :is(.home-card--expertises, .home-card--veille, .home-card--marseille) {
  background: linear-gradient(150deg, #f8f5ed, #ede6d6);
}
