*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc-casse: #fdfaf8; --corail: #e07b65; --corail-hover: #cc6b55;
  --text-dark: #2c2018; --text-medium: #5a4540; --text-muted: #9a8078;
  --card-shadow: 0 2px 16px rgba(180,140,130,.10);
  --font-display: 'Cormorant Garamond', Georgia, serif; --font-body: 'DM Sans', sans-serif;
  --radius-lg: 24px; --radius-pill: 100px;
}
html { background: var(--blanc-casse); }
body { font-family: var(--font-body); color: var(--text-dark); background: var(--blanc-casse); -webkit-font-smoothing: antialiased; }
.liens-page { min-height: 100vh; position: relative; overflow: hidden; background: var(--blanc-casse); }
.liens-marble { position: fixed; inset: 0; background: linear-gradient(hsla(24,56%,98%,.63),hsla(24,56%,98%,.63)), url('/assets/images/marble-texture.jpg') top / cover; }
.liens-shell { width: min(calc(100% - 32px), 760px); margin: 0 auto; padding: 54px 0 46px; position: relative; z-index: 1; }
.liens-header { text-align: center; display: flex; flex-direction: column; align-items: center; }
.liens-leaf { width: 30px; height: 43px; margin-bottom: 13px; }
.liens-leaf path { stroke: var(--corail); stroke-width: 1.4; stroke-linecap: round; fill: none; }
.liens-leaf .liens-leaf-soft { stroke-width: 1; opacity: .5; }
.liens-brand { font: 500 12px/1 var(--font-body); letter-spacing: 3.2px; text-transform: uppercase; color: var(--text-medium); }
.liens-header h1 { margin-top: 17px; font: italic 300 clamp(38px, 8vw, 62px)/1.05 var(--font-display); letter-spacing: -.5px; }
.liens-video-section { margin-top: 54px; text-align: center; }
.liens-eyebrow { font: 500 11px/1 var(--font-body); letter-spacing: 2px; text-transform: uppercase; color: var(--corail); }
.liens-video-section > h2 { margin: 12px 0 5px; font: italic 400 clamp(27px, 5vw, 38px)/1.12 var(--font-display); }
.liens-video-subtitle { margin: 0 0 24px; font: 400 12px/1.3 var(--font-body); letter-spacing: 1.2px; color: var(--text-muted); }
.liens-video-media, .liens-video-poster { width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 26px 26px 70px 26px; overflow: hidden; display: block; background: #dfc7bf; box-shadow: 0 12px 42px hsla(12,25%,61%,.2); }
.liens-video-poster { position: relative; padding: 0; cursor: pointer; }
.liens-video-poster img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; display: block; }
.liens-video-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(44,32,24,.03),rgba(44,32,24,.25)); }
.liens-play-button { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; background: hsla(0,0%,100%,.94); box-shadow: 0 6px 24px rgba(44,32,24,.2); }
.liens-play-button svg { width: 38px; fill: var(--corail); }
.liens-actions { display: grid; gap: 18px; margin-top: 34px; }
.liens-card { background: rgba(255,251,249,.94); border: 1px solid hsla(11,66%,64%,.1); border-radius: var(--radius-lg); padding: 28px; box-shadow: var(--card-shadow); display: grid; grid-template-columns: 52px 1fr; gap: 18px; }
.liens-card-icon { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: hsla(15,71%,90%,.58); font-size: 23px; }
.liens-card-body h2 { font: italic 500 27px/1.15 var(--font-display); margin-bottom: 7px; }
.liens-card-body > p { font: 400 14.5px/1.55 var(--font-body); color: var(--text-medium); margin-bottom: 18px; }
.liens-primary-button { min-height: 48px; padding: 14px 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); background: var(--corail); color: #fff; text-decoration: none; font: 500 14px/1.2 var(--font-body); box-shadow: 0 4px 18px hsla(11,66%,64%,.22); }
.liens-primary-button:hover { background: var(--corail-hover); transform: translateY(-1px); }
.liens-primary-button:focus-visible, .liens-video-poster:focus-visible { outline: 2px solid var(--text-dark); outline-offset: 4px; }
.liens-footer { margin-top: 38px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--text-muted); font: 400 11px/1 var(--font-body); letter-spacing: 1.5px; text-transform: uppercase; }
.liens-footer .liens-leaf { width: 20px; height: 29px; margin: 0; }
@media (hover:hover) { .liens-primary-button { transition: transform .18s ease, background .18s ease, box-shadow .18s ease; } }
@media (max-width: 560px) {
  .liens-shell { width: min(calc(100% - 28px), 760px); padding: 38px 0 34px; }
  .liens-header h1 { margin-top: 14px; }
  .liens-video-section { margin-top: 42px; }
  .liens-video-media, .liens-video-poster { border-radius: 20px 20px 48px 20px; }
  .liens-play-button { width: 58px; height: 58px; }
  .liens-actions { margin-top: 24px; gap: 14px; }
  .liens-card { grid-template-columns: 44px 1fr; gap: 14px; padding: 23px 20px; border-radius: 20px; }
  .liens-card-icon { width: 44px; height: 44px; font-size: 20px; }
  .liens-card-body h2 { font-size: 24px; }
  .liens-primary-button { width: 100%; }
}
