{"id":45,"date":"2026-08-05T16:08:30","date_gmt":"2026-08-05T16:08:30","guid":{"rendered":"https:\/\/www.jnyouevents.com\/?page_id=45"},"modified":"2026-08-26T12:31:02","modified_gmt":"2026-08-26T12:31:02","slug":"demandes-en-mariage","status":"publish","type":"page","link":"https:\/\/www.jnyouevents.com\/en\/demandes-en-mariage\/","title":{"rendered":"Demandes en mariage"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"45\" class=\"elementor elementor-45\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-05d721c e-con-full e-flex e-con e-parent\" data-id=\"05d721c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f6910b0 elementor-widget elementor-widget-html\" data-id=\"f6910b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     JN.YOU \u2014 PAGE DEMANDES EN MARIAGE \/ BLOC 01 \u2014 V3\n     HERO CIN\u00c9MATIQUE \u2022 PREMIUM \u2022 COMPACT \u2022 VISIBLE D\u00c8S LE PREMIER \u00c9CRAN\n========================================================== -->\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;500;600&display=swap');\n\n.jny-proposal-hero-v1{\n  --wine:#54232F;\n  --plum:#44123A;\n  --sage:#778A77;\n  --sage-soft:#A8B6A5;\n  --paper:#FBF9F6;\n  --porcelain:#F2EFEA;\n\n  position:relative;\n  left:50%;\n  width:100vw!important;\n  max-width:100vw!important;\n  height:calc(100svh - 94px);\n  min-height:calc(100svh - 94px);\n  margin-left:-50vw!important;\n  margin-right:-50vw!important;\n\n  overflow:hidden;\n  isolation:isolate;\n\n  background:#241218;\n  color:var(--paper);\n\n  font-family:\"Montserrat\",sans-serif;\n}\n\n.jny-proposal-hero-v1,\n.jny-proposal-hero-v1 *{box-sizing:border-box;}\n\n.elementor-widget-html:has(.jny-proposal-hero-v1),\n.elementor-widget-html:has(.jny-proposal-hero-v1) > .elementor-widget-container{\n  width:100%!important;\n  max-width:none!important;\n  overflow:visible!important;\n}\n\n.jny-proposal-hero-v1-media{\n  position:absolute;\n  inset:-3%;\n  z-index:0;\n\n  transform:\n    scale(var(--hero-scale,1.04))\n    translate3d(0,var(--hero-y,0px),0);\n\n  will-change:transform;\n}\n\n.jny-proposal-hero-v1-media img{\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  object-position:center 47%;\n}\n\n.jny-proposal-hero-v1-media::after{\n  content:\"\";\n  position:absolute;\n  inset:0;\n\n  background:\n    linear-gradient(\n      90deg,\n      rgba(26,10,17,.82) 0%,\n      rgba(26,10,17,.60) 32%,\n      rgba(26,10,17,.22) 64%,\n      rgba(26,10,17,.34) 100%\n    ),\n    linear-gradient(\n      180deg,\n      rgba(22,9,15,.18) 0%,\n      rgba(22,9,15,.02) 42%,\n      rgba(22,9,15,.62) 100%\n    );\n}\n\n.jny-proposal-hero-v1-glow{\n  position:absolute;\n  z-index:1;\n  top:-12%;\n  right:-10%;\n\n  width:52vw;\n  aspect-ratio:1\/1;\n\n  border-radius:50%;\n\n  background:\n    radial-gradient(\n      circle,\n      rgba(168,182,165,.22) 0%,\n      rgba(168,182,165,.08) 32%,\n      rgba(168,182,165,0) 70%\n    );\n\n  filter:blur(18px);\n  pointer-events:none;\n}\n\n.jny-proposal-hero-v1-ghost{\n  position:absolute;\n  z-index:2;\n  right:-.04em;\n  bottom:-.10em;\n\n  color:rgba(251,249,246,var(--ghost-opacity,.065));\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(190px,28vw,510px);\n  font-weight:500;\n  line-height:.70;\n  letter-spacing:-.08em;\n\n  white-space:nowrap;\n\n  transform:\n    translate3d(var(--ghost-x,0px),var(--ghost-y,0px),0)\n    scale(var(--ghost-scale,1));\n\n  pointer-events:none;\n  user-select:none;\n  will-change:transform,opacity;\n}\n\n.jny-proposal-hero-v1-inner{\n  position:relative;\n  z-index:5;\n\n  width:min(100%,1540px);\n  height:calc(100svh - 94px);\n  min-height:calc(100svh - 94px);\n  margin:0 auto;\n\n  display:grid;\n  grid-template-columns:minmax(0,1.05fr) minmax(260px,.42fr);\n  gap:clamp(40px,6vw,88px);\n  align-items:center;\n\n  padding:\n    clamp(68px,7.5vh,92px)\n    clamp(24px,5vw,72px)\n    clamp(84px,9vh,108px);\n\n  transform:none;\n}\n\n.jny-proposal-hero-v1-main{\n  max-width:900px;\n  margin-top:-4vh;\n\n  transform:translate3d(0,var(--content-y,0px),0);\n  opacity:var(--content-opacity,1);\n\n  will-change:transform,opacity;\n}\n\n.jny-proposal-hero-v1-kicker{\n  display:flex;\n  align-items:center;\n  gap:13px;\n\n  margin-bottom:17px;\n\n  color:#CBD7C9;\n\n  font-size:9.6px;\n  font-weight:600;\n  letter-spacing:.21em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-hero-v1-kicker::before{\n  content:\"\";\n\n  width:42px;\n  height:1px;\n\n  background:rgba(251,249,246,.34);\n}\n\n.jny-proposal-hero-v1-title{\n  margin:0;\n\n  color:var(--paper);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(70px,7.6vw,124px);\n  font-weight:500;\n  line-height:.84;\n  letter-spacing:-.055em;\n}\n\n.jny-proposal-hero-v1-title span,\n.jny-proposal-hero-v1-title em{\n  display:block;\n}\n\n.jny-proposal-hero-v1-title em{\n  margin-top:.11em;\n\n  color:#CED8CC;\n\n  font-size:.47em;\n  font-weight:400;\n  font-style:italic;\n  line-height:1.10;\n  letter-spacing:.02em;\n  word-spacing:.03em;\n}\n\n.jny-proposal-hero-v1-copy{\n  width:min(100%,620px);\n  margin:20px 0 0;\n\n  color:rgba(251,249,246,.76);\n\n  font-size:15px;\n  line-height:1.68;\n}\n\n.jny-proposal-hero-v1-actions{\n  display:flex;\n  align-items:center;\n  flex-wrap:wrap;\n  gap:18px;\n  margin-top:23px;\n}\n\n.jny-proposal-hero-v1-cta,\n.jny-proposal-hero-v1-cta:hover,\n.jny-proposal-hero-v1-cta:focus,\n.jny-proposal-hero-v1-cta:focus-visible,\n.jny-proposal-hero-v1-cta:active,\n.jny-proposal-hero-v1-cta:visited{\n  min-height:54px;\n\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap:14px;\n\n  padding:15px 24px;\n\n  border:1px solid rgba(251,249,246,.42)!important;\n  border-radius:999px!important;\n\n  color:var(--paper)!important;\n  background:rgba(251,249,246,.08)!important;\n\n  backdrop-filter:blur(12px);\n  -webkit-backdrop-filter:blur(12px);\n\n  text-decoration:none!important;\n\n  font-size:10.8px;\n  font-weight:600;\n  letter-spacing:.14em;\n  text-transform:uppercase;\n\n  transition:\n    transform .3s ease,\n    background-color .3s ease,\n    border-color .3s ease;\n}\n\n.jny-proposal-hero-v1-cta:hover,\n.jny-proposal-hero-v1-cta:focus-visible{\n  transform:translateY(-3px);\n  background:rgba(251,249,246,.16)!important;\n  border-color:rgba(251,249,246,.68)!important;\n}\n\n.jny-proposal-hero-v1-cta span{\n  font-size:15px;\n}\n\n.jny-proposal-hero-v1-side{\n  align-self:center;\n\n  max-width:340px;\n  padding-bottom:0;\n  transform:translateY(24px);\n}\n\n.jny-proposal-hero-v1-side-line{\n  width:100%;\n  height:1px;\n  margin-bottom:15px;\n  background:rgba(251,249,246,.22);\n}\n\n.jny-proposal-hero-v1-side small{\n  display:block;\n  margin-bottom:7px;\n\n  color:rgba(251,249,246,.52);\n\n  font-size:8.5px;\n  font-weight:600;\n  letter-spacing:.17em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-hero-v1-side p{\n  margin:0;\n\n  color:rgba(251,249,246,.84);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(25px,2.25vw,36px);\n  font-style:italic;\n  line-height:1.10;\n}\n\n.jny-proposal-hero-v1-meta{\n  position:absolute;\n  z-index:6;\n  left:clamp(24px,5vw,72px);\n  bottom:38px;\n\n  color:rgba(251,249,246,.45);\n\n  font-size:8.5px;\n  font-weight:600;\n  letter-spacing:.15em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-hero-v1-reveal{\n  position:absolute;\n  z-index:4;\n  left:0;\n  right:0;\n  bottom:-1px;\n\n  height:var(--reveal-h,0px);\n\n  background:var(--porcelain);\n  border-radius:44px 44px 0 0;\n  box-shadow:0 -18px 60px rgba(20,8,14,.08);\n\n  pointer-events:none;\n  will-change:height;\n}\n\n.jny-proposal-hero-v1-kicker,\n.jny-proposal-hero-v1-title,\n.jny-proposal-hero-v1-copy,\n.jny-proposal-hero-v1-actions,\n.jny-proposal-hero-v1-side{\n  opacity:0;\n  transform:translateY(26px);\n  animation:jnyProposalHeroReveal .9s cubic-bezier(.2,.7,.2,1) forwards;\n}\n\n.jny-proposal-hero-v1-title{animation-delay:.10s;}\n.jny-proposal-hero-v1-copy{animation-delay:.22s;}\n.jny-proposal-hero-v1-actions{animation-delay:.32s;}\n.jny-proposal-hero-v1-side{animation-delay:.38s;}\n\n@keyframes jnyProposalHeroReveal{\n  to{\n    opacity:1;\n    transform:none;\n  }\n}\n\n\n\/* =========================================================\n   V3 \u2014 PREMIER \u00c9CRAN COMPLET SOUS LE HEADER\n========================================================= *\/\n\n@media(min-width:1025px){\n\n  body.admin-bar .jny-proposal-hero-v1,\n  body.admin-bar .jny-proposal-hero-v1-inner{\n    height:calc(100svh - 126px);\n    min-height:calc(100svh - 126px);\n  }\n\n  body.admin-bar .jny-proposal-hero-v1-meta{\n    bottom:38px;\n  }\n}\n\n\/* \u00c9crans desktop moins hauts : tout reste visible sans r\u00e9v\u00e9ler le bloc suivant *\/\n@media(min-width:1025px) and (max-height:780px){\n\n  .jny-proposal-hero-v1-inner{\n    padding-top:54px;\n    padding-bottom:76px;\n  }\n\n  .jny-proposal-hero-v1-main{\n    margin-top:-2vh;\n  }\n\n  .jny-proposal-hero-v1-title{\n    font-size:clamp(62px,7vw,104px);\n  }\n\n  .jny-proposal-hero-v1-copy{\n    margin-top:17px;\n    font-size:14.5px;\n    line-height:1.62;\n  }\n\n  .jny-proposal-hero-v1-actions{\n    margin-top:19px;\n  }\n\n  .jny-proposal-hero-v1-meta{\n    bottom:28px;\n  }\n}\n\n@media(min-width:701px) and (max-width:1024px){\n\n  .jny-proposal-hero-v1{\n    height:calc(100svh - 88px);\n    min-height:calc(100svh - 88px);\n  }\n\n  .jny-proposal-hero-v1-inner{\n    height:calc(100svh - 88px);\n    min-height:calc(100svh - 88px);\n    grid-template-columns:1fr;\n    gap:20px;\n    align-items:center;\n\n    padding:54px 34px 70px;\n    transform:none;\n  }\n\n  .jny-proposal-hero-v1-main{\n    align-self:center;\n    max-width:800px;\n  }\n\n  .jny-proposal-hero-v1-title{\n    font-size:clamp(64px,9vw,88px);\n  }\n\n  .jny-proposal-hero-v1-side{\n    max-width:420px;\n    padding-bottom:0;\n    transform:none;\n  }\n\n  .jny-proposal-hero-v1-side p{\n    font-size:27px;\n  }\n\n  .jny-proposal-hero-v1-ghost{\n    font-size:clamp(190px,34vw,340px);\n    right:-.03em;\n    bottom:.02em;\n  }\n}\n\n@media(max-width:700px){\n\n  .jny-proposal-hero-v1{\n    height:calc(100svh - 68px);\n    min-height:calc(100svh - 68px);\n  }\n\n  .jny-proposal-hero-v1-media{\n    inset:0;\n\n    transform:\n      scale(var(--hero-scale,1.03))\n      translate3d(0,var(--hero-y,0px),0);\n  }\n\n  .jny-proposal-hero-v1-media img{\n    object-position:59% center;\n  }\n\n  .jny-proposal-hero-v1-media::after{\n    background:\n      linear-gradient(\n        180deg,\n        rgba(22,9,15,.28) 0%,\n        rgba(22,9,15,.18) 28%,\n        rgba(22,9,15,.58) 68%,\n        rgba(22,9,15,.82) 100%\n      ),\n      linear-gradient(\n        90deg,\n        rgba(22,9,15,.42) 0%,\n        rgba(22,9,15,.10) 100%\n      );\n  }\n\n  .jny-proposal-hero-v1-inner{\n    height:calc(100svh - 68px);\n    min-height:calc(100svh - 68px);\n\n    display:flex;\n    flex-direction:column;\n    justify-content:center;\n\n    padding:64px 18px 76px;\n    transform:none;\n  }\n\n  .jny-proposal-hero-v1-main{\n    width:100%;\n  }\n\n  .jny-proposal-hero-v1-kicker{\n    font-size:9px;\n    letter-spacing:.18em;\n  }\n\n  .jny-proposal-hero-v1-kicker::before{\n    width:30px;\n  }\n\n  .jny-proposal-hero-v1-title{\n    font-size:clamp(52px,14.6vw,68px);\n    line-height:.87;\n  }\n\n  .jny-proposal-hero-v1-title em{\n    margin-top:.15em;\n\n    font-size:.53em;\n    line-height:1.12;\n  }\n\n  .jny-proposal-hero-v1-copy{\n    margin-top:17px;\n\n    font-size:14px;\n    line-height:1.64;\n  }\n\n  .jny-proposal-hero-v1-actions{\n    margin-top:20px;\n  }\n\n  .jny-proposal-hero-v1-cta,\n  .jny-proposal-hero-v1-cta:hover,\n  .jny-proposal-hero-v1-cta:focus,\n  .jny-proposal-hero-v1-cta:focus-visible,\n  .jny-proposal-hero-v1-cta:active,\n  .jny-proposal-hero-v1-cta:visited{\n    min-height:51px;\n    padding:14px 19px;\n    font-size:9.8px;\n  }\n\n  .jny-proposal-hero-v1-side{\n    display:none;\n  }\n\n  .jny-proposal-hero-v1-ghost{\n    right:-.04em;\n    bottom:.04em;\n\n    font-size:clamp(155px,46vw,210px);\n    color:rgba(251,249,246,.055);\n  }\n\n  .jny-proposal-hero-v1-meta{\n    left:18px;\n    bottom:26px;\n    font-size:7.5px;\n  }\n\n  .jny-proposal-hero-v1-reveal{\n    border-radius:28px 28px 0 0;\n  }\n}\n\n\n@media(max-width:1024px){\n  .jny-proposal-hero-v1-reveal{\n    display:none;\n  }\n}\n\n@media(prefers-reduced-motion:reduce){\n\n  .jny-proposal-hero-v1 *,\n  .jny-proposal-hero-v1 *::before,\n  .jny-proposal-hero-v1 *::after{\n    animation:none!important;\n    transition:none!important;\n  }\n\n  .jny-proposal-hero-v1-kicker,\n  .jny-proposal-hero-v1-title,\n  .jny-proposal-hero-v1-copy,\n  .jny-proposal-hero-v1-actions,\n  .jny-proposal-hero-v1-side{\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n\n\/* Si le bloc suivant poss\u00e8de l'ID, garde une marge sous le header sticky *\/\n#jny-proposal-suite{\n  scroll-margin-top:130px;\n}\n\n<\/style>\n\n<section class=\"jny-proposal-hero-v1\" aria-labelledby=\"jny-proposal-hero-v1-title\">\n\n  <div class=\"jny-proposal-hero-v1-media\" aria-hidden=\"true\">\n    <img\n      src=\"https:\/\/www.jnyouevents.com\/wp-content\/uploads\/2026\/08\/voeux-mariage.png\"\n      alt=\"\"\n      loading=\"eager\"\n      decoding=\"async\"\n    >\n  <\/div>\n\n  <div class=\"jny-proposal-hero-v1-glow\" aria-hidden=\"true\"><\/div>\n\n  <div class=\"jny-proposal-hero-v1-ghost\" aria-hidden=\"true\">\n    OUI.\n  <\/div>\n\n  <div class=\"jny-proposal-hero-v1-inner\">\n\n    <div class=\"jny-proposal-hero-v1-main\">\n\n      <div class=\"jny-proposal-hero-v1-kicker\">\n        Demandes en mariage \u00b7 Le Grand Oui\n      <\/div>\n\n      <h1 class=\"jny-proposal-hero-v1-title\" id=\"jny-proposal-hero-v1-title\">\n        <span>Il suffit parfois<\/span>\n        <span>d\u2019une seule question.<\/span>\n        <em>Pour que tout change.<\/em>\n      <\/h1>\n\n      <p class=\"jny-proposal-hero-v1-copy\">\n        Nous vous accompagnons pour imaginer une demande intime,\n        spectaculaire ou totalement inattendue \u2014 pens\u00e9e autour de votre histoire,\n        de ce qui vous lie et de la fa\u00e7on dont vous souhaitez vivre cet instant.\n      <\/p>\n\n      <div class=\"jny-proposal-hero-v1-actions\">\n        <a class=\"jny-proposal-hero-v1-cta\" href=\"#jny-proposal-suite\">\n          D\u00e9couvrir l\u2019accompagnement\n          <span aria-hidden=\"true\">\u2193<\/span>\n        <\/a>\n      <\/div>\n\n    <\/div>\n\n    <aside class=\"jny-proposal-hero-v1-side\">\n      <div class=\"jny-proposal-hero-v1-side-line\"><\/div>\n\n      <small>Un instant. Une intention.<\/small>\n\n      <p>\n        Faire de quelques secondes\n        un souvenir immense.\n      <\/p>\n    <\/aside>\n\n  <\/div>\n\n  <div class=\"jny-proposal-hero-v1-meta\">\n    Annecy \u00b7 Suisse \u00b7 Destination\n  <\/div>\n\n  <div class=\"jny-proposal-hero-v1-reveal\" aria-hidden=\"true\"><\/div>\n\n<\/section>\n\n<script>\n(function(){\n\n  const hero = document.querySelector('.jny-proposal-hero-v1');\n  if(!hero || hero.dataset.jnyInit === '1') return;\n\n  hero.dataset.jnyInit = '1';\n\n  const media = hero.querySelector('.jny-proposal-hero-v1-media');\n  const ghost = hero.querySelector('.jny-proposal-hero-v1-ghost');\n  const main = hero.querySelector('.jny-proposal-hero-v1-main');\n  const reveal = hero.querySelector('.jny-proposal-hero-v1-reveal');\n\n  let ticking = false;\n\n  const clamp = (v,min,max)=>Math.min(max,Math.max(min,v));\n  const lerp = (a,b,t)=>a+(b-a)*t;\n  const ease = t=>1-Math.pow(1-clamp(t,0,1),3);\n\n  function update(){\n\n    ticking = false;\n\n    const rect = hero.getBoundingClientRect();\n    const vh = window.innerHeight || 1;\n\n    const p = clamp(-rect.top \/ Math.max(hero.offsetHeight*.72,1),0,1);\n    const ep = ease(p);\n\n    if(media){\n      media.style.setProperty('--hero-scale',lerp(1.04,1.12,ep).toFixed(3));\n      media.style.setProperty('--hero-y',`${lerp(0,-30,ep).toFixed(1)}px`);\n    }\n\n    if(main){\n      main.style.setProperty('--content-y',`${lerp(0,-54,ep).toFixed(1)}px`);\n      main.style.setProperty('--content-opacity',lerp(1,.18,ep).toFixed(3));\n    }\n\n    if(ghost){\n      ghost.style.setProperty('--ghost-x',`${lerp(0,-44,ep).toFixed(1)}px`);\n      ghost.style.setProperty('--ghost-y',`${lerp(0,-18,ep).toFixed(1)}px`);\n      ghost.style.setProperty('--ghost-scale',lerp(1,1.08,ep).toFixed(3));\n      ghost.style.setProperty('--ghost-opacity',lerp(.065,.14,ep).toFixed(3));\n    }\n\n    if(reveal){\n      reveal.style.setProperty('--reveal-h',`${lerp(0,Math.min(vh*.20,170),ep).toFixed(1)}px`);\n    }\n  }\n\n  function requestUpdate(){\n    if(ticking) return;\n\n    ticking = true;\n    requestAnimationFrame(update);\n  }\n\n  \/* =========================================================\n     CTA \u2014 DESCENTE FIABLE VERS LE BLOC SUIVANT\n     Fonctionne m\u00eame si le bloc suivant n'a pas encore l'ID\n     #jny-proposal-suite dans Elementor.\n  ========================================================= *\/\n\n  const cta = hero.querySelector('.jny-proposal-hero-v1-cta');\n\n  function getHeaderOffset(){\n    const header =\n      document.querySelector('#jny-header-final-v39') ||\n      document.querySelector('.jny-header-v32') ||\n      document.querySelector('.elementor-location-header');\n\n    if(!header) return 18;\n\n    const rect = header.getBoundingClientRect();\n    return Math.max(0,rect.height) + 18;\n  }\n\n  function findProposalNextBlock(){\n\n    \/* 1. Cible id\u00e9ale si l'ID existe sur le bloc suivant *\/\n    const explicitTarget =\n      document.getElementById('jny-proposal-suite');\n\n    if(explicitTarget){\n      return explicitTarget;\n    }\n\n    \/* 2. Bloc Elementor juste apr\u00e8s le widget HTML du hero *\/\n    const widget =\n      hero.closest('.elementor-widget-html');\n\n    if(widget && widget.nextElementSibling){\n      return widget.nextElementSibling;\n    }\n\n    \/* 3. Conteneur \/ section Elementor juste apr\u00e8s le hero *\/\n    const container =\n      hero.closest(\n        '.e-con, .elementor-section, [data-element_type=\"container\"]'\n      );\n\n    if(container && container.nextElementSibling){\n      return container.nextElementSibling;\n    }\n\n    return null;\n  }\n\n  function scrollToProposalSuite(event){\n\n    if(event){\n      event.preventDefault();\n    }\n\n    const target = findProposalNextBlock();\n    const headerOffset = getHeaderOffset();\n\n    let top;\n\n    if(target){\n      top =\n        window.scrollY +\n        target.getBoundingClientRect().top -\n        headerOffset;\n    }else{\n      \/* Dernier recours : juste sous le hero *\/\n      top =\n        window.scrollY +\n        hero.getBoundingClientRect().bottom -\n        headerOffset;\n    }\n\n    window.scrollTo({\n      top:Math.max(0,top),\n      behavior:'smooth'\n    });\n\n    \/* Met \u00e0 jour l'URL sans provoquer un deuxi\u00e8me saut *\/\n    if(\n      window.history &&\n      typeof window.history.replaceState === 'function'\n    ){\n      window.history.replaceState(\n        null,\n        '',\n        '#jny-proposal-suite'\n      );\n    }\n  }\n\n  if(cta){\n    cta.addEventListener(\n      'click',\n      scrollToProposalSuite\n    );\n  }\n\n\n  update();\n\n  window.addEventListener('scroll',requestUpdate,{passive:true});\n  window.addEventListener('resize',requestUpdate,{passive:true});\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f267ba6 e-con-full e-flex e-con e-parent\" data-id=\"f267ba6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5e0e238 elementor-widget elementor-widget-html\" data-id=\"5e0e238\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     JN.YOU \u2014 PAGE DEMANDES EN MARIAGE \/ BLOC 04 \u2014 V1\n     \"DE L\u2019INTIME AU SPECTACULAIRE\"\n     COMPARATEUR INTERACTIF \u2022 WOW \u2022 APPLE-LIKE \u2022 RESPONSIVE\n========================================================== -->\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;500;600&display=swap');\n\n.jny-proposal-spectrum-v1{\n  --wine:#54232F;\n  --plum:#44123A;\n  --sage:#778A77;\n  --sage-soft:#A8B6A5;\n  --paper:#FBF9F6;\n  --porcelain:#F2EFEA;\n  --taupe:#4F444C;\n\n  position:relative;\n  left:50%;\n  width:100vw!important;\n  max-width:100vw!important;\n  margin-left:-50vw!important;\n  margin-right:-50vw!important;\n\n  overflow:hidden;\n\n  background:\n    radial-gradient(circle at 84% 12%,rgba(168,182,165,.14),transparent 24%),\n    var(--paper);\n\n  color:var(--taupe);\n  font-family:\"Montserrat\",sans-serif;\n}\n\n.jny-proposal-spectrum-v1,\n.jny-proposal-spectrum-v1 *{\n  box-sizing:border-box;\n}\n\n.elementor-widget-html:has(.jny-proposal-spectrum-v1),\n.elementor-widget-html:has(.jny-proposal-spectrum-v1) > .elementor-widget-container{\n  width:100%!important;\n  max-width:none!important;\n  overflow:visible!important;\n}\n\n\/* =========================================================\n   HEAD\n========================================================= *\/\n\n.jny-proposal-spectrum-v1-head{\n  width:min(100%,1480px);\n  margin:0 auto;\n\n  display:grid;\n  grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);\n  gap:clamp(46px,7vw,110px);\n  align-items:end;\n\n  padding:\n    clamp(92px,8vw,132px)\n    clamp(22px,5vw,72px)\n    clamp(58px,5vw,82px);\n}\n\n.jny-proposal-spectrum-v1-kicker{\n  display:flex;\n  align-items:center;\n  gap:13px;\n\n  margin-bottom:20px;\n\n  color:var(--sage);\n\n  font-size:10px;\n  font-weight:600;\n  letter-spacing:.20em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-spectrum-v1-kicker::before{\n  content:\"\";\n  width:40px;\n  height:1px;\n  background:rgba(84,35,47,.30);\n}\n\n.jny-proposal-spectrum-v1-title{\n  max-width:930px;\n  margin:0;\n\n  color:var(--wine);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(62px,6vw,98px);\n  font-weight:500;\n  line-height:.91;\n  letter-spacing:-.045em;\n}\n\n.jny-proposal-spectrum-v1-title em{\n  display:block;\n  margin-top:.10em;\n\n  color:var(--sage);\n\n  font-size:.62em;\n  font-weight:400;\n  font-style:italic;\n  line-height:1.10;\n  letter-spacing:.015em;\n}\n\n.jny-proposal-spectrum-v1-lead{\n  max-width:480px;\n  margin:0;\n\n  color:rgba(79,68,76,.72);\n\n  font-size:15px;\n  line-height:1.82;\n}\n\n\/* =========================================================\n   COMPARE\n========================================================= *\/\n\n.jny-proposal-spectrum-v1-wrap{\n  width:min(calc(100% - 36px),1540px);\n  margin:0 auto;\n  padding-bottom:clamp(100px,9vw,148px);\n}\n\n.jny-proposal-spectrum-v1-compare{\n  --split:50%;\n\n  position:relative;\n  height:clamp(620px,78svh,840px);\n\n  overflow:hidden;\n  border-radius:38px;\n\n  background:#2B161D;\n\n  box-shadow:\n    0 40px 100px rgba(68,18,58,.12),\n    0 10px 24px rgba(68,18,58,.05);\n\n  opacity:0;\n  transform:translateY(46px) scale(.988);\n\n  transition:\n    opacity .85s ease,\n    transform 1s cubic-bezier(.2,.72,.2,1);\n}\n\n.jny-proposal-spectrum-v1-compare.is-visible{\n  opacity:1;\n  transform:none;\n}\n\n\/* base = spectaculaire *\/\n.jny-proposal-spectrum-v1-image{\n  position:absolute;\n  inset:0;\n}\n\n.jny-proposal-spectrum-v1-image img{\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  display:block;\n}\n\n.jny-proposal-spectrum-v1-image.is-grand img{\n  object-position:center 48%;\n}\n\n\/* top clipped = intime *\/\n.jny-proposal-spectrum-v1-image.is-intime{\n  z-index:2;\n  clip-path:inset(0 calc(100% - var(--split)) 0 0);\n}\n\n.jny-proposal-spectrum-v1-image.is-intime img{\n  object-position:center 50%;\n}\n\n\/* overlays *\/\n.jny-proposal-spectrum-v1-compare::before{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  z-index:3;\n\n  background:\n    linear-gradient(180deg,rgba(20,8,14,.10) 0%,rgba(20,8,14,.02) 40%,rgba(20,8,14,.58) 100%);\n\n  pointer-events:none;\n}\n\n.jny-proposal-spectrum-v1-image.is-intime::after{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  background:linear-gradient(90deg,rgba(20,8,14,.28),rgba(20,8,14,.05));\n}\n\n.jny-proposal-spectrum-v1-image.is-grand::after{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  background:linear-gradient(270deg,rgba(20,8,14,.25),rgba(20,8,14,.04));\n}\n\n\/* divider *\/\n.jny-proposal-spectrum-v1-divider{\n  position:absolute;\n  z-index:5;\n  top:0;\n  bottom:0;\n  left:var(--split);\n\n  width:1px;\n\n  background:rgba(251,249,246,.72);\n  box-shadow:0 0 0 1px rgba(68,18,58,.06);\n\n  transform:translateX(-50%);\n  pointer-events:none;\n}\n\n.jny-proposal-spectrum-v1-handle{\n  position:absolute;\n  z-index:6;\n  left:var(--split);\n  top:50%;\n\n  width:64px;\n  height:64px;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:8px;\n\n  border:1px solid rgba(251,249,246,.72);\n  border-radius:50%;\n\n  color:var(--paper);\n  background:rgba(84,35,47,.78);\n\n  backdrop-filter:blur(14px);\n  -webkit-backdrop-filter:blur(14px);\n\n  box-shadow:0 16px 38px rgba(29,8,16,.18);\n\n  transform:translate(-50%,-50%);\n  pointer-events:none;\n}\n\n.jny-proposal-spectrum-v1-handle::before,\n.jny-proposal-spectrum-v1-handle::after{\n  content:\"\";\n  width:8px;\n  height:8px;\n\n  border-top:1.5px solid currentColor;\n  border-left:1.5px solid currentColor;\n}\n\n.jny-proposal-spectrum-v1-handle::before{\n  transform:rotate(-45deg);\n}\n\n.jny-proposal-spectrum-v1-handle::after{\n  transform:rotate(135deg);\n}\n\n\/* actual range *\/\n.jny-proposal-spectrum-v1-range{\n  position:absolute;\n  z-index:7;\n  inset:0;\n\n  width:100%;\n  height:100%;\n  margin:0;\n\n  opacity:0;\n  cursor:ew-resize;\n}\n\n\/* labels *\/\n.jny-proposal-spectrum-v1-side{\n  position:absolute;\n  z-index:4;\n  bottom:34px;\n\n  max-width:420px;\n}\n\n.jny-proposal-spectrum-v1-side.is-left{\n  left:36px;\n}\n\n.jny-proposal-spectrum-v1-side.is-right{\n  right:36px;\n  text-align:right;\n}\n\n.jny-proposal-spectrum-v1-side small{\n  display:block;\n\n  margin-bottom:8px;\n\n  color:#CAD6C8;\n\n  font-size:8.5px;\n  font-weight:600;\n  letter-spacing:.18em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-spectrum-v1-side strong{\n  display:block;\n\n  color:var(--paper);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(40px,4vw,62px);\n  font-weight:500;\n  line-height:.95;\n  letter-spacing:-.02em;\n}\n\n.jny-proposal-spectrum-v1-side p{\n  max-width:360px;\n  margin:12px 0 0;\n\n  color:rgba(251,249,246,.72);\n\n  font-size:13px;\n  line-height:1.65;\n}\n\n.jny-proposal-spectrum-v1-side.is-right p{\n  margin-left:auto;\n}\n\n\/* top line *\/\n.jny-proposal-spectrum-v1-topline{\n  position:absolute;\n  z-index:4;\n  top:26px;\n  left:30px;\n  right:30px;\n\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:20px;\n\n  color:rgba(251,249,246,.48);\n\n  font-size:8px;\n  font-weight:600;\n  letter-spacing:.17em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-spectrum-v1-topline span:last-child{\n  text-align:right;\n}\n\n\/* =========================================================\n   BOTTOM MESSAGE\n========================================================= *\/\n\n.jny-proposal-spectrum-v1-bottom{\n  width:min(100%,1160px);\n  margin:clamp(50px,5vw,72px) auto 0;\n\n  display:grid;\n  grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);\n  gap:clamp(40px,6vw,90px);\n  align-items:end;\n}\n\n.jny-proposal-spectrum-v1-bottom-title{\n  margin:0;\n\n  color:var(--wine);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(46px,4.8vw,72px);\n  font-weight:500;\n  line-height:.95;\n  letter-spacing:-.03em;\n}\n\n.jny-proposal-spectrum-v1-bottom-title em{\n  color:var(--sage);\n  font-style:italic;\n  font-weight:400;\n}\n\n.jny-proposal-spectrum-v1-bottom-copy{\n  margin:0;\n\n  color:rgba(79,68,76,.70);\n\n  font-size:14px;\n  line-height:1.78;\n}\n\n\/* =========================================================\n   REVEAL\n========================================================= *\/\n\n.jny-proposal-spectrum-v1-reveal{\n  opacity:0;\n  transform:translateY(28px);\n\n  transition:\n    opacity .78s ease,\n    transform .9s cubic-bezier(.2,.72,.2,1);\n}\n\n.jny-proposal-spectrum-v1-reveal.is-visible{\n  opacity:1;\n  transform:none;\n}\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media(max-width:1050px){\n\n  .jny-proposal-spectrum-v1-head{\n    grid-template-columns:1fr;\n    gap:26px;\n  }\n\n  .jny-proposal-spectrum-v1-lead{\n    max-width:720px;\n  }\n\n  .jny-proposal-spectrum-v1-compare{\n    height:700px;\n    border-radius:30px;\n  }\n\n  .jny-proposal-spectrum-v1-bottom{\n    grid-template-columns:1fr;\n    gap:22px;\n  }\n\n  .jny-proposal-spectrum-v1-bottom-copy{\n    max-width:680px;\n  }\n}\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media(max-width:700px){\n\n  .jny-proposal-spectrum-v1-head{\n    padding:74px 18px 44px;\n  }\n\n  .jny-proposal-spectrum-v1-title{\n    font-size:clamp(48px,13.6vw,64px);\n  }\n\n  .jny-proposal-spectrum-v1-title em{\n    font-size:.68em;\n  }\n\n  .jny-proposal-spectrum-v1-lead{\n    font-size:14px;\n    line-height:1.72;\n  }\n\n  .jny-proposal-spectrum-v1-wrap{\n    width:calc(100% - 24px);\n    padding-bottom:82px;\n  }\n\n  .jny-proposal-spectrum-v1-compare{\n    height:650px;\n    border-radius:24px;\n  }\n\n  .jny-proposal-spectrum-v1-image img{\n    object-position:center center!important;\n  }\n\n  .jny-proposal-spectrum-v1-topline{\n    top:18px;\n    left:18px;\n    right:18px;\n\n    font-size:7px;\n  }\n\n  .jny-proposal-spectrum-v1-side{\n    bottom:24px;\n\n    max-width:70%;\n  }\n\n  .jny-proposal-spectrum-v1-side.is-left{\n    left:18px;\n  }\n\n  .jny-proposal-spectrum-v1-side.is-right{\n    right:18px;\n  }\n\n  .jny-proposal-spectrum-v1-side strong{\n    font-size:40px;\n  }\n\n  .jny-proposal-spectrum-v1-side p{\n    display:none;\n  }\n\n  .jny-proposal-spectrum-v1-handle{\n    width:54px;\n    height:54px;\n  }\n\n  .jny-proposal-spectrum-v1-bottom{\n    margin-top:42px;\n    padding:0 6px;\n\n    gap:18px;\n  }\n\n  .jny-proposal-spectrum-v1-bottom-title{\n    font-size:44px;\n  }\n\n  .jny-proposal-spectrum-v1-bottom-copy{\n    font-size:13.8px;\n    line-height:1.72;\n  }\n}\n\n\/* =========================================================\n   REDUCED MOTION\n========================================================= *\/\n\n@media(prefers-reduced-motion:reduce){\n\n  .jny-proposal-spectrum-v1 *,\n  .jny-proposal-spectrum-v1 *::before,\n  .jny-proposal-spectrum-v1 *::after{\n    animation:none!important;\n    transition:none!important;\n  }\n\n  .jny-proposal-spectrum-v1-reveal,\n  .jny-proposal-spectrum-v1-compare{\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n<\/style>\n\n<section class=\"jny-proposal-spectrum-v1\" aria-labelledby=\"jny-proposal-spectrum-v1-title\">\n\n  <div class=\"jny-proposal-spectrum-v1-head jny-proposal-spectrum-v1-reveal\">\n\n    <div>\n      <div class=\"jny-proposal-spectrum-v1-kicker\">\n        \u00c0 votre \u00e9chelle\n      <\/div>\n\n      <h2 class=\"jny-proposal-spectrum-v1-title\" id=\"jny-proposal-spectrum-v1-title\">\n        De deux personnes seules au monde\n        <em>\u00e0 une mise en sc\u00e8ne inoubliable.<\/em>\n      <\/h2>\n    <\/div>\n\n    <p class=\"jny-proposal-spectrum-v1-lead\">\n      Il n\u2019existe pas une seule fa\u00e7on de faire sa demande.\n      Certains imaginent quelque chose de presque secret.\n      D\u2019autres veulent cr\u00e9er un moment spectaculaire.\n      Entre les deux, tout est possible.\n    <\/p>\n\n  <\/div>\n\n  <div class=\"jny-proposal-spectrum-v1-wrap\">\n\n    <div class=\"jny-proposal-spectrum-v1-compare\">\n\n      <div class=\"jny-proposal-spectrum-v1-image is-grand\">\n        <img\n          src=\"https:\/\/www.jnyouevents.com\/wp-content\/uploads\/2026\/08\/demande-en-mariage.png\"\n          alt=\"Une demande en mariage spectaculaire\"\n          loading=\"lazy\"\n          decoding=\"async\"\n        >\n      <\/div>\n\n      <div class=\"jny-proposal-spectrum-v1-image is-intime\">\n        <img\n          src=\"https:\/\/www.jnyouevents.com\/wp-content\/uploads\/2026\/08\/couple.png\"\n          alt=\"Une demande en mariage intime\"\n          loading=\"lazy\"\n          decoding=\"async\"\n        >\n      <\/div>\n\n      <div class=\"jny-proposal-spectrum-v1-topline\" aria-hidden=\"true\">\n        <span>Faites glisser pour explorer<\/span>\n        <span>Une seule r\u00e8gle : vous ressembler<\/span>\n      <\/div>\n\n      <div class=\"jny-proposal-spectrum-v1-side is-left\">\n        <small>Intime<\/small>\n        <strong>Juste vous deux.<\/strong>\n        <p>\n          Un lieu qui compte, une atmosph\u00e8re discr\u00e8te et quelques d\u00e9tails parfaitement choisis.\n        <\/p>\n      <\/div>\n\n      <div class=\"jny-proposal-spectrum-v1-side is-right\">\n        <small>Spectaculaire<\/small>\n        <strong>Cr\u00e9er l\u2019effet wow.<\/strong>\n        <p>\n          Une destination, une sc\u00e9nographie forte, plusieurs prestataires et une vraie mise en sc\u00e8ne.\n        <\/p>\n      <\/div>\n\n      <div class=\"jny-proposal-spectrum-v1-divider\" aria-hidden=\"true\"><\/div>\n      <div class=\"jny-proposal-spectrum-v1-handle\" aria-hidden=\"true\"><\/div>\n\n      <input\n        class=\"jny-proposal-spectrum-v1-range\"\n        type=\"range\"\n        min=\"18\"\n        max=\"82\"\n        value=\"50\"\n        aria-label=\"Comparer une demande intime et une demande spectaculaire\"\n      >\n\n    <\/div>\n\n    <div class=\"jny-proposal-spectrum-v1-bottom jny-proposal-spectrum-v1-reveal\">\n\n      <h3 class=\"jny-proposal-spectrum-v1-bottom-title\">\n        Le bon niveau de wow,\n        <em>c\u2019est celui qui vous ressemble.<\/em>\n      <\/h3>\n\n      <p class=\"jny-proposal-spectrum-v1-bottom-copy\">\n        Notre r\u00f4le n\u2019est pas de vous pousser \u00e0 en faire davantage.\n        Il est de trouver la bonne mesure : assez pour surprendre,\n        jamais au point de perdre ce qui rend cet instant personnel.\n      <\/p>\n\n    <\/div>\n\n  <\/div>\n\n<\/section>\n\n<script>\n(function(){\n\n  const root = document.querySelector('.jny-proposal-spectrum-v1');\n  if(!root || root.dataset.jnyInit === '1') return;\n\n  root.dataset.jnyInit = '1';\n\n  const compare = root.querySelector('.jny-proposal-spectrum-v1-compare');\n  const range = root.querySelector('.jny-proposal-spectrum-v1-range');\n  const revealEls = Array.from(root.querySelectorAll('.jny-proposal-spectrum-v1-reveal'));\n\n  function setSplit(value){\n    if(!compare) return;\n    compare.style.setProperty('--split', value + '%');\n  }\n\n  if(range){\n    setSplit(range.value);\n\n    range.addEventListener('input',function(){\n      setSplit(this.value);\n    });\n  }\n\n  if('IntersectionObserver' in window){\n\n    const observer = new IntersectionObserver(function(entries){\n      entries.forEach(function(entry){\n        if(!entry.isIntersecting) return;\n\n        entry.target.classList.add('is-visible');\n        observer.unobserve(entry.target);\n      });\n    },{\n      threshold:.12,\n      rootMargin:'0px 0px -7% 0px'\n    });\n\n    revealEls.forEach(el=>observer.observe(el));\n\n    if(compare){\n      observer.observe(compare);\n    }\n\n  }else{\n    revealEls.forEach(el=>el.classList.add('is-visible'));\n    if(compare) compare.classList.add('is-visible');\n  }\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2124e41 e-con-full e-flex e-con e-parent\" data-id=\"2124e41\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ae593cc elementor-widget elementor-widget-html\" data-id=\"ae593cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     JN.YOU \u2014 PAGE DEMANDES EN MARIAGE \/ BLOC 03 \u2014 V2\n     \"TOUT PEUT FAIRE PARTIE DU SC\u00c9NARIO\"\n     IMMERSIF \u2022 APPLE-LIKE \u2022 SANS STICKY \u2022 RESPONSIVE\n========================================================== -->\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;500;600&display=swap');\n\n.jny-proposal-universe-v1{\n  --wine:#54232F;\n  --plum:#44123A;\n  --sage:#778A77;\n  --sage-soft:#A8B6A5;\n  --paper:#FBF9F6;\n  --porcelain:#F2EFEA;\n  --taupe:#4F444C;\n\n  position:relative;\n  left:50%;\n\n  width:100vw!important;\n  max-width:100vw!important;\n\n  margin-left:-50vw!important;\n  margin-right:-50vw!important;\n\n  overflow:hidden;\n  isolation:isolate;\n\n  background:\n    radial-gradient(circle at 50% 0%,rgba(168,182,165,.10),transparent 28%),\n    linear-gradient(180deg,#401521 0%,#54232F 48%,#44123A 100%);\n\n  color:var(--paper);\n\n  font-family:\"Montserrat\",sans-serif;\n}\n\n.jny-proposal-universe-v1,\n.jny-proposal-universe-v1 *{\n  box-sizing:border-box;\n}\n\n.elementor-widget-html:has(.jny-proposal-universe-v1),\n.elementor-widget-html:has(.jny-proposal-universe-v1) > .elementor-widget-container{\n  width:100%!important;\n  max-width:none!important;\n  overflow:visible!important;\n}\n\n\/* =========================================================\n   INTRO\n========================================================= *\/\n\n.jny-proposal-universe-v1-head{\n  position:relative;\n  z-index:3;\n\n  width:min(100%,1450px);\n  margin:0 auto;\n\n  text-align:center;\n\n  padding:\n    clamp(96px,9vw,144px)\n    clamp(22px,5vw,72px)\n    clamp(58px,5vw,82px);\n}\n\n.jny-proposal-universe-v1-kicker{\n  display:inline-flex;\n  align-items:center;\n  gap:13px;\n\n  margin-bottom:22px;\n\n  color:#C7D4C6;\n\n  font-size:11px;\n  font-weight:600;\n  letter-spacing:.19em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-universe-v1-kicker::before,\n.jny-proposal-universe-v1-kicker::after{\n  content:\"\";\n\n  width:34px;\n  height:1px;\n\n  background:rgba(251,249,246,.24);\n}\n\n.jny-proposal-universe-v1-title{\n  max-width:1080px;\n  margin:0 auto;\n\n  color:var(--paper);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(62px,6.3vw,102px);\n  font-weight:500;\n  line-height:.90;\n  letter-spacing:-.048em;\n}\n\n.jny-proposal-universe-v1-title em{\n  display:block;\n\n  margin-top:.10em;\n\n  color:#CAD6C8;\n\n  font-size:.60em;\n  font-weight:400;\n  font-style:italic;\n  line-height:1.10;\n  letter-spacing:.02em;\n}\n\n.jny-proposal-universe-v1-lead{\n  width:min(100%,680px);\n  margin:28px auto 0;\n\n  color:rgba(251,249,246,.72);\n\n  font-size:15px;\n  line-height:1.82;\n}\n\n\/* =========================================================\n   STAGE\n========================================================= *\/\n\n.jny-proposal-universe-v1-stage{\n  position:relative;\n  z-index:2;\n\n  width:min(calc(100% - 36px),1480px);\n  min-height:clamp(720px,82svh,900px);\n\n  margin:0 auto clamp(96px,9vw,146px);\n\n  border:1px solid rgba(251,249,246,.10);\n  border-radius:42px;\n\n  overflow:hidden;\n\n  background:\n    radial-gradient(circle at 50% 50%,rgba(251,249,246,.07),transparent 28%),\n    linear-gradient(135deg,rgba(251,249,246,.035),rgba(251,249,246,.015));\n\n  box-shadow:\n    inset 0 1px rgba(255,255,255,.06),\n    0 34px 90px rgba(27,8,16,.18);\n}\n\n\/* background rings *\/\n.jny-proposal-universe-v1-ring{\n  position:absolute;\n  left:50%;\n  top:50%;\n\n  border:1px solid rgba(251,249,246,.075);\n  border-radius:50%;\n\n  transform:translate(-50%,-50%);\n  pointer-events:none;\n}\n\n.jny-proposal-universe-v1-ring.r1{\n  width:min(48vw,650px);\n  aspect-ratio:1;\n}\n\n.jny-proposal-universe-v1-ring.r2{\n  width:min(67vw,940px);\n  aspect-ratio:1;\n}\n\n.jny-proposal-universe-v1-ring.r3{\n  width:min(88vw,1250px);\n  aspect-ratio:1;\n  border-color:rgba(168,182,165,.055);\n}\n\n\/* central *\/\n.jny-proposal-universe-v1-center{\n  position:absolute;\n  z-index:3;\n\n  left:50%;\n  top:50%;\n\n  width:min(74vw,700px);\n\n  text-align:center;\n\n  transform:translate(-50%,-50%);\n}\n\n.jny-proposal-universe-v1-center-small{\n  display:block;\n\n  margin-bottom:16px;\n\n  color:rgba(251,249,246,.48);\n\n  font-size:10.5px;\n  font-weight:600;\n  letter-spacing:.16em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-universe-v1-center-title{\n  margin:0;\n\n  color:var(--paper);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(62px,7vw,112px);\n  font-weight:500;\n  line-height:.82;\n  letter-spacing:-.055em;\n}\n\n.jny-proposal-universe-v1-center-title em{\n  display:block;\n\n  margin-top:.15em;\n\n  color:#C9D6C8;\n\n  font-size:.48em;\n  font-weight:400;\n  font-style:italic;\n  line-height:1.12;\n  letter-spacing:.025em;\n}\n\n.jny-proposal-universe-v1-center-copy{\n  width:min(100%,560px);\n  margin:24px auto 0;\n\n  color:rgba(251,249,246,.65);\n\n  font-size:15px;\n  line-height:1.72;\n}\n\n\/* =========================================================\n   FLOATING ITEMS\n========================================================= *\/\n\n.jny-proposal-universe-v1-item{\n  --x:0px;\n  --y:0px;\n\n  position:absolute;\n  z-index:4;\n\n  min-width:190px;\n  max-width:250px;\n\n  padding:17px 19px 18px;\n\n  border:1px solid rgba(251,249,246,.14);\n  border-radius:20px;\n\n  color:var(--paper);\n\n  background:rgba(251,249,246,.065);\n\n  backdrop-filter:blur(15px);\n  -webkit-backdrop-filter:blur(15px);\n\n  box-shadow:\n    inset 0 1px rgba(255,255,255,.06),\n    0 18px 42px rgba(23,8,14,.12);\n\n  transform:\n    translate3d(var(--x),var(--y),0)\n    scale(.96);\n\n  opacity:0;\n\n  transition:\n    opacity .7s ease,\n    transform .85s cubic-bezier(.2,.72,.2,1),\n    background-color .3s ease,\n    border-color .3s ease;\n}\n\n.jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item{\n  opacity:1;\n  transform:translate3d(var(--x),var(--y),0) scale(1);\n}\n\n.jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item:nth-of-type(1){transition-delay:.08s;}\n.jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item:nth-of-type(2){transition-delay:.14s;}\n.jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item:nth-of-type(3){transition-delay:.20s;}\n.jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item:nth-of-type(4){transition-delay:.26s;}\n.jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item:nth-of-type(5){transition-delay:.32s;}\n.jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item:nth-of-type(6){transition-delay:.38s;}\n\n.jny-proposal-universe-v1-item:hover{\n  background:rgba(251,249,246,.11);\n  border-color:rgba(202,214,200,.34);\n}\n\n.jny-proposal-universe-v1-item small{\n  display:block;\n\n  margin-bottom:7px;\n\n  color:#C9D6C8;\n\n  font-size:8px;\n  font-weight:600;\n  letter-spacing:.16em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-universe-v1-item strong{\n  display:block;\n\n  color:var(--paper);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:32px;\n  font-weight:500;\n  line-height:1;\n}\n\n.jny-proposal-universe-v1-item p{\n  margin:9px 0 0;\n\n  color:rgba(251,249,246,.62);\n\n  font-size:13.2px;\n  line-height:1.62;\n}\n\n\/* positions *\/\n.jny-proposal-universe-v1-item.i1{\n  left:5%;\n  top:12%;\n}\n\n.jny-proposal-universe-v1-item.i2{\n  right:6%;\n  top:11%;\n}\n\n.jny-proposal-universe-v1-item.i3{\n  left:3%;\n  top:52%;\n}\n\n.jny-proposal-universe-v1-item.i4{\n  right:3%;\n  top:51%;\n}\n\n.jny-proposal-universe-v1-item.i5{\n  left:14%;\n  bottom:8%;\n}\n\n.jny-proposal-universe-v1-item.i6{\n  right:14%;\n  bottom:8%;\n}\n\n\/* =========================================================\n   MICRO FOOT\n========================================================= *\/\n\n.jny-proposal-universe-v1-foot{\n  position:absolute;\n  z-index:4;\n\n  left:50%;\n  bottom:24px;\n\n  transform:translateX(-50%);\n\n  color:rgba(251,249,246,.40);\n\n  font-size:8px;\n  font-weight:600;\n  letter-spacing:.17em;\n  text-transform:uppercase;\n  white-space:nowrap;\n}\n\n\/* =========================================================\n   REVEAL\n========================================================= *\/\n\n.jny-proposal-universe-v1-reveal{\n  opacity:0;\n  transform:translateY(28px);\n\n  transition:\n    opacity .8s ease,\n    transform .9s cubic-bezier(.2,.72,.2,1);\n}\n\n.jny-proposal-universe-v1-reveal.is-visible{\n  opacity:1;\n  transform:none;\n}\n\n\/* =========================================================\n   TABLETTE\n========================================================= *\/\n\n@media(max-width:1050px){\n\n  .jny-proposal-universe-v1-stage{\n    min-height:780px;\n  }\n\n  .jny-proposal-universe-v1-center{\n    width:min(78vw,620px);\n  }\n\n  .jny-proposal-universe-v1-item{\n    min-width:170px;\n    max-width:210px;\n\n    padding:15px 16px 16px;\n  }\n\n  .jny-proposal-universe-v1-item strong{\n    font-size:26px;\n  }\n\n  .jny-proposal-universe-v1-item.i1{left:3%;top:9%;}\n  .jny-proposal-universe-v1-item.i2{right:3%;top:9%;}\n  .jny-proposal-universe-v1-item.i3{left:2%;top:52%;}\n  .jny-proposal-universe-v1-item.i4{right:2%;top:52%;}\n  .jny-proposal-universe-v1-item.i5{left:7%;bottom:7%;}\n  .jny-proposal-universe-v1-item.i6{right:7%;bottom:7%;}\n}\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media(max-width:700px){\n\n  .jny-proposal-universe-v1-head{\n    padding:76px 18px 44px;\n  }\n\n  .jny-proposal-universe-v1-title{\n    font-size:clamp(48px,13.7vw,64px);\n  }\n\n  .jny-proposal-universe-v1-title em{\n    font-size:.67em;\n  }\n\n  .jny-proposal-universe-v1-lead{\n    font-size:14px;\n    line-height:1.72;\n  }\n\n  .jny-proposal-universe-v1-stage{\n    width:calc(100% - 24px);\n    min-height:auto;\n\n    margin-bottom:84px;\n    padding:34px 16px 26px;\n\n    border-radius:28px;\n  }\n\n  .jny-proposal-universe-v1-ring{\n    display:none;\n  }\n\n  .jny-proposal-universe-v1-center{\n    position:relative;\n    left:auto;\n    top:auto;\n\n    width:100%;\n\n    margin:0 auto 28px;\n    padding:36px 10px 34px;\n\n    transform:none;\n  }\n\n  .jny-proposal-universe-v1-center-title{\n    font-size:58px;\n  }\n\n  .jny-proposal-universe-v1-center-copy{\n    font-size:13.5px;\n  }\n\n  .jny-proposal-universe-v1-item,\n  .jny-proposal-universe-v1-stage.is-visible .jny-proposal-universe-v1-item{\n    position:relative;\n\n    left:auto!important;\n    right:auto!important;\n    top:auto!important;\n    bottom:auto!important;\n\n    width:100%;\n    min-width:0;\n    max-width:none;\n\n    margin:0 0 10px;\n\n    padding:16px 17px 17px;\n\n    transform:none;\n    opacity:1;\n  }\n\n  .jny-proposal-universe-v1-item strong{\n    font-size:28px;\n  }\n\n  .jny-proposal-universe-v1-item p{\n    font-size:13px;\n    line-height:1.58;\n  }\n\n  .jny-proposal-universe-v1-foot{\n    position:relative;\n    left:auto;\n    bottom:auto;\n\n    margin-top:20px;\n\n    text-align:center;\n\n    transform:none;\n    white-space:normal;\n  }\n}\n\n\/* =========================================================\n   REDUCED MOTION\n========================================================= *\/\n\n@media(prefers-reduced-motion:reduce){\n\n  .jny-proposal-universe-v1 *,\n  .jny-proposal-universe-v1 *::before,\n  .jny-proposal-universe-v1 *::after{\n    animation:none!important;\n    transition:none!important;\n  }\n\n  .jny-proposal-universe-v1-reveal,\n  .jny-proposal-universe-v1-item{\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n<\/style>\n\n<section class=\"jny-proposal-universe-v1\" aria-labelledby=\"jny-proposal-universe-v1-title\">\n\n  <div class=\"jny-proposal-universe-v1-head jny-proposal-universe-v1-reveal\">\n\n    <div class=\"jny-proposal-universe-v1-kicker\">\n      Tout peut entrer dans l\u2019histoire\n    <\/div>\n\n    <h2 class=\"jny-proposal-universe-v1-title\" id=\"jny-proposal-universe-v1-title\">\n      Rien n\u2019est impos\u00e9.\n      <em>Tout se construit autour de votre id\u00e9e.<\/em>\n    <\/h2>\n\n    <p class=\"jny-proposal-universe-v1-lead\">\n      Une demande peut \u00eatre incroyablement simple ou compl\u00e8tement spectaculaire.\n      L\u2019important n\u2019est pas d\u2019en faire trop, mais de choisir les bons \u00e9l\u00e9ments\n      pour cr\u00e9er un moment qui ne pourrait appartenir qu\u2019\u00e0 vous.\n    <\/p>\n\n  <\/div>\n\n  <div class=\"jny-proposal-universe-v1-stage\">\n\n    <div class=\"jny-proposal-universe-v1-ring r1\" aria-hidden=\"true\"><\/div>\n    <div class=\"jny-proposal-universe-v1-ring r2\" aria-hidden=\"true\"><\/div>\n    <div class=\"jny-proposal-universe-v1-ring r3\" aria-hidden=\"true\"><\/div>\n\n    <div class=\"jny-proposal-universe-v1-center\">\n\n      <span class=\"jny-proposal-universe-v1-center-small\">\n        Votre demande \u00b7 Votre sc\u00e9nario\n      <\/span>\n\n      <h3 class=\"jny-proposal-universe-v1-center-title\">\n        Le Grand Oui.\n        <em>\u00c0 votre mani\u00e8re.<\/em>\n      <\/h3>\n\n      <p class=\"jny-proposal-universe-v1-center-copy\">\n        Nous composons l\u2019exp\u00e9rience autour de ce que vous voulez faire ressentir,\n        puis nous r\u00e9unissons uniquement ce qui sert vraiment ce moment.\n      <\/p>\n\n    <\/div>\n\n    <div class=\"jny-proposal-universe-v1-item i1\">\n<strong>Le lieu<\/strong>\n      <p>Un endroit charg\u00e9 de sens, secret, inattendu ou spectaculaire.<\/p>\n    <\/div>\n\n    <div class=\"jny-proposal-universe-v1-item i2\">\n<strong>Les fleurs<\/strong>\n      <p>Une pr\u00e9sence d\u00e9licate ou une v\u00e9ritable installation sc\u00e9nographique.<\/p>\n    <\/div>\n\n    <div class=\"jny-proposal-universe-v1-item i3\">\n<strong>Photo & vid\u00e9o<\/strong>\n      <p>Saisir l\u2019\u00e9motion avec discr\u00e9tion, pour garder intacte toute la spontan\u00e9it\u00e9 du moment.<\/p>\n    <\/div>\n\n    <div class=\"jny-proposal-universe-v1-item i4\">\n<strong>La musique<\/strong>\n      <p>Une chanson, un live ou simplement la bonne ambiance au bon moment.<\/p>\n    <\/div>\n\n    <div class=\"jny-proposal-universe-v1-item i5\">\n<strong>Le d\u00eener<\/strong>\n      <p>Une table priv\u00e9e, un chef, un pique-nique chic ou une suite inattendue.<\/p>\n    <\/div>\n\n    <div class=\"jny-proposal-universe-v1-item i6\">\n<strong>La surprise<\/strong>\n      <p>Le d\u00e9tail invisible qui transforme une belle id\u00e9e en vrai souvenir.<\/p>\n    <\/div>\n<\/div>\n\n<\/section>\n\n<script>\n(function(){\n\n  const root = document.querySelector('.jny-proposal-universe-v1');\n  if(!root || root.dataset.jnyInit === '1') return;\n\n  root.dataset.jnyInit = '1';\n\n  const stage = root.querySelector('.jny-proposal-universe-v1-stage');\n  const revealEls = root.querySelectorAll('.jny-proposal-universe-v1-reveal');\n\n  if('IntersectionObserver' in window){\n\n    const observer = new IntersectionObserver(function(entries){\n      entries.forEach(function(entry){\n        if(!entry.isIntersecting) return;\n\n        entry.target.classList.add('is-visible');\n        observer.unobserve(entry.target);\n      });\n    },{\n      threshold:.12,\n      rootMargin:'0px 0px -7% 0px'\n    });\n\n    revealEls.forEach(el=>observer.observe(el));\n\n    if(stage){\n      observer.observe(stage);\n    }\n\n  }else{\n    revealEls.forEach(el=>el.classList.add('is-visible'));\n    if(stage) stage.classList.add('is-visible');\n  }\n\n  \/* Parallaxe tr\u00e8s l\u00e9g\u00e8re uniquement sur desktop\/tablette large.\n     Aucun sticky, aucune d\u00e9pendance au scroll pour afficher le contenu. *\/\n  const mq = window.matchMedia('(min-width:701px)');\n  const items = Array.from(root.querySelectorAll('.jny-proposal-universe-v1-item'));\n\n  let ticking = false;\n\n  function clamp(v,min,max){\n    return Math.min(max,Math.max(min,v));\n  }\n\n  function update(){\n\n    ticking = false;\n\n    if(!mq.matches || !stage) return;\n\n    const rect = stage.getBoundingClientRect();\n    const vh = window.innerHeight || 1;\n\n    if(rect.bottom < -100 || rect.top > vh + 100) return;\n\n    const progress = clamp(\n      (vh - rect.top) \/ (vh + rect.height),\n      0,\n      1\n    );\n\n    const offsets = [\n      [-10,-18],\n      [12,-15],\n      [-14,8],\n      [14,10],\n      [-8,18],\n      [10,20]\n    ];\n\n    items.forEach(function(item,index){\n      const pair = offsets[index] || [0,0];\n\n      const x = pair[0] * (progress - .5) * 1.8;\n      const y = pair[1] * (progress - .5) * 1.8;\n\n      item.style.setProperty('--x',x.toFixed(1)+'px');\n      item.style.setProperty('--y',y.toFixed(1)+'px');\n    });\n  }\n\n  function requestUpdate(){\n    if(ticking) return;\n    ticking = true;\n    requestAnimationFrame(update);\n  }\n\n  update();\n\n  window.addEventListener('scroll',requestUpdate,{passive:true});\n  window.addEventListener('resize',requestUpdate,{passive:true});\n\n})();\n<\/script>\n\n<style>\n.jny-proposal-universe-v1-foot{\n  display:none!important;\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-00f8394 e-con-full e-flex e-con e-parent\" data-id=\"00f8394\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1c5c6ec elementor-widget elementor-widget-html\" data-id=\"1c5c6ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     JN.YOU \u2014 PAGE DEMANDES EN MARIAGE \/ BLOC 05 \u2014 V2\n     \"DU PREMIER MESSAGE AU GRAND OUI\"\n     TIMELINE CIN\u00c9MATIQUE \u2022 APPLE-LIKE \u2022 RESPONSIVE \u2022 FONDU FOOTER\n========================================================== -->\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;500;600&display=swap');\n\n.jny-proposal-process-v1{\n  --wine:#54232F;\n  --plum:#44123A;\n  --sage:#778A77;\n  --sage-soft:#A8B6A5;\n  --paper:#FBF9F6;\n  --porcelain:#F2EFEA;\n  --taupe:#4F444C;\n\n  position:relative;\n  left:50%;\n  width:100vw!important;\n  max-width:100vw!important;\n  margin-left:-50vw!important;\n  margin-right:-50vw!important;\n\n  overflow:hidden;\n  isolation:isolate;\n\n  background:\n    radial-gradient(circle at 14% 6%,rgba(168,182,165,.12),transparent 22%),\n    linear-gradient(\n      180deg,\n      #F7F3EF 0%,\n      #FBF9F6 63%,\n      #F2EFEA 82%,\n      #E8DEDC 88%,\n      #C5A9B0 93%,\n      #8A616B 97%,\n      #54232F 100%\n    );\n\n  color:var(--taupe);\n  font-family:\"Montserrat\",sans-serif;\n}\n\n.jny-proposal-process-v1,\n.jny-proposal-process-v1 *{\n  box-sizing:border-box;\n}\n\n.jny-proposal-process-v1::after{\n  content:\"\";\n  position:absolute;\n  z-index:0;\n  left:0;\n  right:0;\n  bottom:0;\n\n  height:clamp(280px,28vw,460px);\n\n  background:linear-gradient(\n    180deg,\n    rgba(84,35,47,0) 0%,\n    rgba(84,35,47,.10) 28%,\n    rgba(84,35,47,.34) 55%,\n    rgba(84,35,47,.72) 78%,\n    #54232F 100%\n  );\n\n  pointer-events:none;\n}\n\n.elementor-widget-html:has(.jny-proposal-process-v1),\n.elementor-widget-html:has(.jny-proposal-process-v1) > .elementor-widget-container{\n  width:100%!important;\n  max-width:none!important;\n  overflow:visible!important;\n}\n\n\/* =========================================================\n   HEAD\n========================================================= *\/\n\n.jny-proposal-process-v1-head{\n  position:relative;\n  z-index:2;\n\n  width:min(100%,1460px);\n  margin:0 auto;\n\n  display:grid;\n  grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);\n  gap:clamp(46px,7vw,110px);\n  align-items:end;\n\n  padding:\n    clamp(96px,8vw,136px)\n    clamp(22px,5vw,72px)\n    clamp(72px,6vw,96px);\n}\n\n.jny-proposal-process-v1-kicker{\n  display:flex;\n  align-items:center;\n  gap:13px;\n\n  margin-bottom:20px;\n\n  color:var(--sage);\n\n  font-size:10px;\n  font-weight:600;\n  letter-spacing:.20em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-process-v1-kicker::before{\n  content:\"\";\n  width:40px;\n  height:1px;\n  background:rgba(84,35,47,.30);\n}\n\n.jny-proposal-process-v1-title{\n  max-width:940px;\n  margin:0;\n\n  color:var(--wine);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(62px,6vw,98px);\n  font-weight:500;\n  line-height:.91;\n  letter-spacing:-.045em;\n}\n\n.jny-proposal-process-v1-title em{\n  display:block;\n  margin-top:.10em;\n\n  color:var(--sage);\n\n  font-size:.62em;\n  font-weight:400;\n  font-style:italic;\n  line-height:1.10;\n  letter-spacing:.015em;\n}\n\n.jny-proposal-process-v1-lead{\n  max-width:500px;\n  margin:0;\n\n  color:rgba(79,68,76,.72);\n\n  font-size:15px;\n  line-height:1.82;\n}\n\n\/* =========================================================\n   TIMELINE\n========================================================= *\/\n\n.jny-proposal-process-v1-wrap{\n  position:relative;\n  z-index:2;\n\n  width:min(100%,1420px);\n  margin:0 auto;\n\n  padding:\n    18px\n    clamp(22px,5vw,72px)\n    clamp(150px,12vw,205px);\n}\n\n.jny-proposal-process-v1-line{\n  position:absolute;\n  z-index:0;\n  top:20px;\n  bottom:clamp(110px,9vw,152px);\n  left:50%;\n\n  width:1px;\n  background:rgba(84,35,47,.12);\n\n  transform:translateX(-50%);\n}\n\n.jny-proposal-process-v1-line-progress{\n  display:block;\n\n  width:100%;\n  height:var(--process-progress,0%);\n\n  background:linear-gradient(180deg,var(--sage) 0%,var(--wine) 100%);\n}\n\n.jny-proposal-process-v1-orb{\n  position:absolute;\n  z-index:3;\n  left:50%;\n  top:var(--orb-top,20px);\n\n  width:17px;\n  height:17px;\n\n  border:4px solid var(--paper);\n  border-radius:50%;\n\n  background:var(--wine);\n  box-shadow:\n    0 0 0 1px rgba(84,35,47,.18),\n    0 8px 22px rgba(68,18,58,.14);\n\n  transform:translate(-50%,-50%);\n  pointer-events:none;\n}\n\n.jny-proposal-process-v1-step{\n  position:relative;\n  z-index:2;\n\n  min-height:360px;\n\n  display:grid;\n  grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);\n  align-items:center;\n\n  opacity:.22;\n  transform:translateY(30px);\n\n  transition:\n    opacity .7s ease,\n    transform .85s cubic-bezier(.2,.72,.2,1);\n}\n\n.jny-proposal-process-v1-step.is-active,\n.jny-proposal-process-v1-step.is-visible{\n  opacity:1;\n  transform:none;\n}\n\n.jny-proposal-process-v1-step-copy{\n  max-width:520px;\n}\n\n.jny-proposal-process-v1-step:nth-child(odd) .jny-proposal-process-v1-step-copy{\n  grid-column:1;\n  justify-self:end;\n  text-align:right;\n}\n\n.jny-proposal-process-v1-step:nth-child(even) .jny-proposal-process-v1-step-copy{\n  grid-column:3;\n  justify-self:start;\n}\n\n.jny-proposal-process-v1-step-number{\n  grid-column:2;\n  grid-row:1;\n\n  width:58px;\n  height:58px;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  justify-self:center;\n\n  border:1px solid rgba(84,35,47,.14);\n  border-radius:50%;\n\n  color:var(--wine);\n  background:rgba(251,249,246,.94);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:23px;\n  font-weight:500;\n\n  box-shadow:0 10px 26px rgba(68,18,58,.06);\n\n  transition:\n    color .35s ease,\n    background-color .35s ease,\n    transform .35s ease,\n    border-color .35s ease;\n}\n\n.jny-proposal-process-v1-step.is-active .jny-proposal-process-v1-step-number{\n  color:var(--paper);\n  background:var(--wine);\n  border-color:var(--wine);\n\n  transform:scale(1.10);\n}\n\n.jny-proposal-process-v1-step-label{\n  display:block;\n\n  margin-bottom:11px;\n\n  color:var(--sage);\n\n  font-size:8.5px;\n  font-weight:600;\n  letter-spacing:.18em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-process-v1-step-title{\n  margin:0;\n\n  color:var(--wine);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(44px,4.1vw,64px);\n  font-weight:500;\n  line-height:.96;\n  letter-spacing:-.025em;\n}\n\n.jny-proposal-process-v1-step-title em{\n  display:block;\n  margin-top:.08em;\n\n  color:var(--sage);\n\n  font-size:.58em;\n  font-weight:400;\n  font-style:italic;\n  line-height:1.12;\n}\n\n.jny-proposal-process-v1-step-text{\n  margin:18px 0 0;\n\n  color:rgba(79,68,76,.72);\n\n  font-size:14.5px;\n  line-height:1.78;\n}\n\n\/* =========================================================\n   FINAL MOMENT\n========================================================= *\/\n\n.jny-proposal-process-v1-final{\n  position:relative;\n  z-index:2;\n\n  width:min(100%,1120px);\n  margin:42px auto 0;\n\n  padding:clamp(58px,6vw,86px);\n\n  overflow:hidden;\n  border-radius:36px;\n\n  text-align:center;\n\n  color:var(--paper);\n\n  background:\n    radial-gradient(circle at 50% 0%,rgba(168,182,165,.16),transparent 32%),\n    linear-gradient(135deg,#54232F 0%,#44123A 100%);\n\n  box-shadow:\n    0 34px 90px rgba(68,18,58,.12),\n    inset 0 1px rgba(255,255,255,.06);\n}\n\n.jny-proposal-process-v1-final::before{\n  content:\"OUI.\";\n  position:absolute;\n  right:-.05em;\n  bottom:-.19em;\n\n  color:rgba(251,249,246,.05);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(150px,19vw,290px);\n  font-weight:500;\n  line-height:.78;\n  letter-spacing:-.08em;\n\n  pointer-events:none;\n}\n\n.jny-proposal-process-v1-final-small{\n  position:relative;\n  z-index:2;\n\n  display:block;\n  margin-bottom:15px;\n\n  color:#CAD6C8;\n\n  font-size:8.5px;\n  font-weight:600;\n  letter-spacing:.18em;\n  text-transform:uppercase;\n}\n\n.jny-proposal-process-v1-final-title{\n  position:relative;\n  z-index:2;\n\n  margin:0 auto;\n  max-width:800px;\n\n  color:var(--paper);\n\n  font-family:\"Cormorant Garamond\",serif;\n  font-size:clamp(52px,5.4vw,82px);\n  font-weight:500;\n  line-height:.92;\n  letter-spacing:-.035em;\n}\n\n.jny-proposal-process-v1-final-title em{\n  display:block;\n  margin-top:.12em;\n\n  color:#CAD6C8;\n\n  font-size:.56em;\n  font-weight:400;\n  font-style:italic;\n  line-height:1.12;\n}\n\n.jny-proposal-process-v1-final-copy{\n  position:relative;\n  z-index:2;\n\n  max-width:600px;\n  margin:24px auto 0;\n\n  color:rgba(251,249,246,.74);\n\n  font-size:14.5px;\n  line-height:1.78;\n}\n\n\/* =========================================================\n   FONDU VERS LE FOOTER\n========================================================= *\/\n\n.jny-proposal-process-v1-footer-blend{\n  position:relative;\n  z-index:1;\n\n  width:100%;\n  height:clamp(86px,8vw,130px);\n\n  margin-top:clamp(-72px,-5vw,-42px);\n\n  background:linear-gradient(\n    180deg,\n    rgba(84,35,47,0) 0%,\n    rgba(84,35,47,.34) 48%,\n    #54232F 100%\n  );\n\n  pointer-events:none;\n}\n\n\/* =========================================================\n   REVEAL\n========================================================= *\/\n\n.jny-proposal-process-v1-reveal{\n  opacity:0;\n  transform:translateY(28px);\n\n  transition:\n    opacity .8s ease,\n    transform .9s cubic-bezier(.2,.72,.2,1);\n}\n\n.jny-proposal-process-v1-reveal.is-visible{\n  opacity:1;\n  transform:none;\n}\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media(max-width:1050px){\n\n  .jny-proposal-process-v1-head{\n    grid-template-columns:1fr;\n    gap:26px;\n  }\n\n  .jny-proposal-process-v1-lead{\n    max-width:720px;\n  }\n\n  .jny-proposal-process-v1-step{\n    min-height:330px;\n    grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);\n  }\n\n  .jny-proposal-process-v1-step-text{\n    font-size:14px;\n  }\n}\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media(max-width:700px){\n\n  .jny-proposal-process-v1-head{\n    padding:74px 18px 50px;\n  }\n\n  .jny-proposal-process-v1-title{\n    font-size:clamp(48px,13.6vw,64px);\n  }\n\n  .jny-proposal-process-v1-title em{\n    font-size:.68em;\n  }\n\n  .jny-proposal-process-v1-lead{\n    font-size:14px;\n    line-height:1.72;\n  }\n\n  .jny-proposal-process-v1-wrap{\n    padding:10px 18px 120px;\n  }\n\n  .jny-proposal-process-v1-line{\n    left:37px;\n    top:18px;\n    bottom:420px;\n  }\n\n  .jny-proposal-process-v1-orb{\n    left:37px;\n  }\n\n  .jny-proposal-process-v1-step{\n    min-height:0;\n\n    grid-template-columns:38px 1fr;\n    gap:18px;\n\n    padding:28px 0 48px;\n\n    opacity:1;\n    transform:none;\n  }\n\n  .jny-proposal-process-v1-step-number{\n    grid-column:1;\n    grid-row:1;\n\n    width:38px;\n    height:38px;\n\n    align-self:start;\n\n    font-size:18px;\n  }\n\n  .jny-proposal-process-v1-step-copy,\n  .jny-proposal-process-v1-step:nth-child(odd) .jny-proposal-process-v1-step-copy,\n  .jny-proposal-process-v1-step:nth-child(even) .jny-proposal-process-v1-step-copy{\n    grid-column:2;\n    grid-row:1;\n\n    justify-self:stretch;\n\n    max-width:none;\n    text-align:left;\n  }\n\n  .jny-proposal-process-v1-step-title{\n    font-size:43px;\n  }\n\n  .jny-proposal-process-v1-step-text{\n    font-size:13.8px;\n    line-height:1.72;\n  }\n\n  .jny-proposal-process-v1-final{\n    margin-top:8px;\n    padding:52px 22px 58px;\n    border-radius:26px;\n  }\n\n  .jny-proposal-process-v1-final-title{\n    font-size:47px;\n  }\n\n  .jny-proposal-process-v1-final-copy{\n    font-size:13.8px;\n    line-height:1.72;\n  }\n\n  .jny-proposal-process-v1-footer-blend{\n    height:92px;\n    margin-top:-56px;\n  }\n}\n\n\/* =========================================================\n   REDUCED MOTION\n========================================================= *\/\n\n@media(prefers-reduced-motion:reduce){\n\n  .jny-proposal-process-v1 *,\n  .jny-proposal-process-v1 *::before,\n  .jny-proposal-process-v1 *::after{\n    animation:none!important;\n    transition:none!important;\n  }\n\n  .jny-proposal-process-v1-reveal,\n  .jny-proposal-process-v1-step{\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n<\/style>\n\n<section class=\"jny-proposal-process-v1\" aria-labelledby=\"jny-proposal-process-v1-title\">\n\n  <div class=\"jny-proposal-process-v1-head jny-proposal-process-v1-reveal\">\n\n    <div>\n      <div class=\"jny-proposal-process-v1-kicker\">\n        De l\u2019id\u00e9e au grand oui\n      <\/div>\n\n      <h2 class=\"jny-proposal-process-v1-title\" id=\"jny-proposal-process-v1-title\">\n        Vous nous confiez l\u2019id\u00e9e.\n        <em>Nous orchestrons tout ce qu\u2019il y a autour.<\/em>\n      <\/h2>\n    <\/div>\n\n    <p class=\"jny-proposal-process-v1-lead\">\n      De votre premier message jusqu\u2019aux quelques secondes o\u00f9 vous posez la question,\n      chaque \u00e9tape est pens\u00e9e pour prot\u00e9ger la surprise, garder la bonne \u00e9motion\n      et vous \u00e9viter de g\u00e9rer les coulisses.\n    <\/p>\n\n  <\/div>\n\n  <div class=\"jny-proposal-process-v1-wrap\">\n\n    <div class=\"jny-proposal-process-v1-line\" aria-hidden=\"true\">\n      <span class=\"jny-proposal-process-v1-line-progress\"><\/span>\n    <\/div>\n\n    <div class=\"jny-proposal-process-v1-orb\" aria-hidden=\"true\"><\/div>\n\n    <!-- 01 -->\n    <article class=\"jny-proposal-process-v1-step\" data-step=\"0\">\n      <div class=\"jny-proposal-process-v1-step-copy\">\n        <span class=\"jny-proposal-process-v1-step-label\">Premier \u00e9change<\/span>\n\n        <h3 class=\"jny-proposal-process-v1-step-title\">\n          Vous nous racontez.\n          <em>Nous \u00e9coutons vraiment.<\/em>\n        <\/h3>\n\n        <p class=\"jny-proposal-process-v1-step-text\">\n          Votre histoire, votre id\u00e9e de d\u00e9part, ce que l\u2019autre aime,\n          ce que vous voulez absolument \u00e9viter et la sensation que vous souhaitez cr\u00e9er.\n        <\/p>\n      <\/div>\n\n      <div class=\"jny-proposal-process-v1-step-number\">01<\/div>\n    <\/article>\n\n    <!-- 02 -->\n    <article class=\"jny-proposal-process-v1-step\" data-step=\"1\">\n      <div class=\"jny-proposal-process-v1-step-copy\">\n        <span class=\"jny-proposal-process-v1-step-label\">Concept<\/span>\n\n        <h3 class=\"jny-proposal-process-v1-step-title\">\n          L\u2019id\u00e9e prend forme.\n          <em>Sans perdre ce qui la rend personnelle.<\/em>\n        <\/h3>\n\n        <p class=\"jny-proposal-process-v1-step-text\">\n          Nous d\u00e9finissons le concept, l\u2019atmosph\u00e8re et les \u00e9l\u00e9ments qui feront vraiment la diff\u00e9rence :\n          lieu, fleurs, musique, d\u00eener, image ou exp\u00e9rience particuli\u00e8re.\n        <\/p>\n      <\/div>\n\n      <div class=\"jny-proposal-process-v1-step-number\">02<\/div>\n    <\/article>\n\n    <!-- 03 -->\n    <article class=\"jny-proposal-process-v1-step\" data-step=\"2\">\n      <div class=\"jny-proposal-process-v1-step-copy\">\n        <span class=\"jny-proposal-process-v1-step-label\">Pr\u00e9paration<\/span>\n\n        <h3 class=\"jny-proposal-process-v1-step-title\">\n          Les coulisses s\u2019activent.\n          <em>En toute discr\u00e9tion.<\/em>\n        <\/h3>\n\n        <p class=\"jny-proposal-process-v1-step-text\">\n          Recherche du lieu, \u00e9changes avec les prestataires, rep\u00e9rage,\n          planning et coordination : tout se construit sans \u00e9veiller les soup\u00e7ons.\n        <\/p>\n      <\/div>\n\n      <div class=\"jny-proposal-process-v1-step-number\">03<\/div>\n    <\/article>\n\n    <!-- 04 -->\n    <article class=\"jny-proposal-process-v1-step\" data-step=\"3\">\n      <div class=\"jny-proposal-process-v1-step-copy\">\n        <span class=\"jny-proposal-process-v1-step-label\">Le jour venu<\/span>\n\n        <h3 class=\"jny-proposal-process-v1-step-title\">\n          Vous arrivez.\n          <em>Tout est d\u00e9j\u00e0 \u00e0 sa place.<\/em>\n        <\/h3>\n\n        <p class=\"jny-proposal-process-v1-step-text\">\n          Nous g\u00e9rons les horaires, les installations, les prestataires\n          et les impr\u00e9vus pour que vous puissiez rester enti\u00e8rement dans l\u2019instant.\n        <\/p>\n      <\/div>\n\n      <div class=\"jny-proposal-process-v1-step-number\">04<\/div>\n    <\/article>\n\n    <div class=\"jny-proposal-process-v1-final jny-proposal-process-v1-reveal\">\n\n      <span class=\"jny-proposal-process-v1-final-small\">\n        Et puis\u2026\n      <\/span>\n\n      <h3 class=\"jny-proposal-process-v1-final-title\">\n        Il ne reste plus\n        <em>qu\u2019une seule question \u00e0 poser.<\/em>\n      <\/h3>\n\n      <p class=\"jny-proposal-process-v1-final-copy\">\n        \u00c0 cet instant-l\u00e0, notre travail doit presque dispara\u00eetre.\n        Il ne reste que vous deux, ce qui se passe autour\n        et la r\u00e9ponse que vous \u00eates venu chercher.\n      <\/p>\n\n    <\/div>\n\n  <\/div>\n\n  <div class=\"jny-proposal-process-v1-footer-blend\" aria-hidden=\"true\"><\/div>\n\n<\/section>\n\n<script>\n(function(){\n\n  const root = document.querySelector('.jny-proposal-process-v1');\n  if(!root || root.dataset.jnyInit === '1') return;\n\n  root.dataset.jnyInit = '1';\n\n  const wrap = root.querySelector('.jny-proposal-process-v1-wrap');\n  const lineProgress = root.querySelector('.jny-proposal-process-v1-line-progress');\n  const orb = root.querySelector('.jny-proposal-process-v1-orb');\n  const steps = Array.from(root.querySelectorAll('.jny-proposal-process-v1-step'));\n  const revealEls = Array.from(root.querySelectorAll('.jny-proposal-process-v1-reveal'));\n\n  if('IntersectionObserver' in window){\n\n    const revealObserver = new IntersectionObserver(function(entries){\n      entries.forEach(function(entry){\n        if(!entry.isIntersecting) return;\n        entry.target.classList.add('is-visible');\n        revealObserver.unobserve(entry.target);\n      });\n    },{\n      threshold:.12,\n      rootMargin:'0px 0px -7% 0px'\n    });\n\n    revealEls.forEach(el=>revealObserver.observe(el));\n\n  }else{\n    revealEls.forEach(el=>el.classList.add('is-visible'));\n    steps.forEach(el=>el.classList.add('is-visible'));\n  }\n\n  let ticking = false;\n\n  function clamp(v,min,max){\n    return Math.min(max,Math.max(min,v));\n  }\n\n  function update(){\n    ticking = false;\n\n    if(!wrap) return;\n\n    const vh = window.innerHeight || 1;\n    const wrapRect = wrap.getBoundingClientRect();\n\n    \/* global progress *\/\n    const start = vh * .58;\n    const end = Math.max(wrapRect.height - vh * .40, 1);\n    const passed = clamp(start - wrapRect.top, 0, end);\n    const p = clamp(passed \/ end, 0, 1);\n\n    if(lineProgress){\n      lineProgress.style.setProperty('--process-progress',(p * 100).toFixed(2) + '%');\n    }\n\n    if(orb){\n      const mobile = window.matchMedia('(max-width:700px)').matches;\n\n      const topMin = mobile ? 18 : 20;\n      const bottomReserve = mobile ? 420 : 170;\n      const available = Math.max(wrap.offsetHeight - bottomReserve - topMin, 1);\n\n      orb.style.setProperty('--orb-top',(topMin + available * p).toFixed(1) + 'px');\n    }\n\n    \/* active step = closest to viewport center *\/\n    let closest = null;\n    let best = Infinity;\n\n    steps.forEach(function(step){\n      const r = step.getBoundingClientRect();\n      const center = r.top + r.height \/ 2;\n      const dist = Math.abs(center - vh * .5);\n\n      if(dist < best){\n        best = dist;\n        closest = step;\n      }\n\n      if(r.top < vh * .86){\n        step.classList.add('is-visible');\n      }\n    });\n\n    steps.forEach(step=>step.classList.toggle('is-active',step===closest));\n  }\n\n  function requestUpdate(){\n    if(ticking) return;\n    ticking = true;\n    requestAnimationFrame(update);\n  }\n\n  update();\n\n  window.addEventListener('scroll',requestUpdate,{passive:true});\n  window.addEventListener('resize',requestUpdate,{passive:true});\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>OUI. Demandes en mariage \u00b7 Le Grand Oui Il suffit parfois d\u2019une seule question. Pour que tout change. Nous vous accompagnons pour imaginer une demande intime, spectaculaire ou totalement inattendue \u2014 pens\u00e9e autour de votre histoire, de ce qui vous lie et de la fa\u00e7on dont vous souhaitez vivre cet instant. D\u00e9couvrir l\u2019accompagnement \u2193 Un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-45","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/pages\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":43,"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/pages\/45\/revisions"}],"predecessor-version":[{"id":1322,"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/pages\/45\/revisions\/1322"}],"wp:attachment":[{"href":"https:\/\/www.jnyouevents.com\/en\/wp-json\/wp\/v2\/media?parent=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}