/* Belleneige — V2.22. Styles réservés à l'accueil commercial. */
.home-v222{overflow:hidden;background:#f8f4ec;}
.home-v222 .home-hero{min-height:690px;}
.home-v222 .home-hero .hero-content{width:min(720px,65vw);transform:translateY(-38%);}
.home-v222 .home-hero h1{font-size:clamp(57px,6.3vw,104px);line-height:1.07;letter-spacing:-.052em;margin:0 0 24px;}
.home-v222 .home-hero h1 em{color:#f2d5a5;}
.home-v222 .home-hero .hero-summary{max-width:540px;font-size:clamp(15px,1.18vw,18px);line-height:1.76;font-weight:400;}
.home-v222 .home-hero .hero-summary strong{color:#fff6e5;font-weight:600;}
.home-v222 .home-hero .hero-buttons{margin-top:29px;gap:29px;}
.home-v222 .home-hero .hero-kicker{margin-bottom:17px;}
.home-v222 .home-hero .btn{gap:18px;white-space:nowrap;}
.home-v222 .home-hero .btn span,.home-v222 .home-hero .text-link span{font-size:24px;line-height:.6;font-weight:400;}
/* Triptyque éditorial : typographie et fines gravures plutôt qu'une barre de statistiques. */
.home-signals{position:relative;isolation:isolate;margin:0;background:radial-gradient(ellipse at 50% -40%,#fffaf0 0%,#eee5d6 76%,#e9ddca 150%);border-block:1px solid #d3bfa0;padding:0 clamp(24px,5.5vw,90px);color:#23394a;}
.home-signals::before{content:"";position:absolute;inset:8px 0 auto;height:1px;background:linear-gradient(90deg,transparent 5%,#cbb39173 16%,#bda37c99 50%,#cbb39173 84%,transparent 95%);pointer-events:none;}
.home-signals::after{content:"";position:absolute;inset:auto 0 8px;height:1px;background:linear-gradient(90deg,transparent 5%,#cbb39173 16%,#bda37c99 50%,#cbb39173 84%,transparent 95%);pointer-events:none;}
.home-signals-inner{max-width:1090px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1.12fr;align-items:stretch;}
.home-signal{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:29px 18px 31px;}
.home-signal:not(:last-child)::after{content:"";position:absolute;top:27px;bottom:27px;right:0;width:1px;background:linear-gradient(180deg,transparent,#bea47d9c 19%,#bea47d9c 81%,transparent);}
.home-signal:not(:last-child)::before{content:"✦";position:absolute;right:-5px;top:50%;transform:translateY(-50%);font:11px/1 Georgia,serif;color:#a88a60;background:#efe5d4;padding:5px 0;z-index:1;}
.home-signal-overline{font:600 9px/1.35 var(--sans);letter-spacing:.245em;color:#94744b;white-space:nowrap;}
.home-signal-content{margin-top:11px;display:flex;align-items:center;justify-content:center;gap:13px;min-height:65px;}
.home-signal-figure{display:block;flex:none;font:400 clamp(48px,4.4vw,64px)/.92 var(--serif);font-variant-numeric:lining-nums;color:#213b4f;letter-spacing:-.07em;position:relative;top:-4px;}
.home-signal-caption{display:block;font:400 clamp(15px,1.28vw,18px)/1.38 var(--serif);letter-spacing:-.012em;color:#4d5b62;text-align:left;position:relative;top:1px;}
.home-signal-together .home-signal-content{flex-direction:column;gap:0;}
.home-signal-together-title{font:italic 400 clamp(30px,3vw,44px)/1.02 var(--serif);letter-spacing:-.035em;color:#213b4f;}
.home-signal-together-sub{font:400 12px/1.35 var(--sans);color:#6e746f;letter-spacing:.075em;margin-top:8px;}
.home-overline{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#a07d4f;font-weight:600;margin:0 0 16px;}
.home-v222 section h2{letter-spacing:-.04em;}
.home-v222 section h2 em{color:#a77e47;}
.home-discovery{background:#f8f4ec;padding:110px clamp(25px,7.4vw,130px) 116px;scroll-margin-top:30px;}
.home-discovery-head{max-width:1230px;margin:0 auto 48px;display:grid;grid-template-columns:1.25fr .75fr;align-items:end;column-gap:9vw;}
.home-discovery h2,.home-class h2,.home-faq h2{font-size:clamp(36px,4vw,61px);line-height:1.2;margin:0;}
.home-discovery-head > p{font-size:15px;color:#61717c;line-height:1.9;margin:0 0 5px;max-width:410px;}
.home-preview-frame{max-width:1240px;margin:auto;background:#182d41;border:1px solid #ab8b5b;box-shadow:0 21px 70px rgba(20,36,53,.17),13px 15px 0 #e6daca;overflow:hidden;}
.home-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 21px;color:#d5bd97;background:linear-gradient(90deg,#15283b,#1a334c);font-size:9px;letter-spacing:.22em;font-weight:600;}
.home-preview-dots{display:flex;gap:6px;align-items:center;}
.home-preview-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#b49262;opacity:.72;}
.home-preview-visual{position:relative;}
.home-preview-visual>img{display:block;width:100%;height:auto;aspect-ratio:1500 / 844;object-fit:cover;}
.home-preview-visual:after{content:'';position:absolute;inset:auto 0 0;height:27%;background:linear-gradient(to top,rgba(8,20,33,.64),transparent);pointer-events:none;}
.home-demo-launch{position:absolute;z-index:2;left:50%;bottom:clamp(22px,4.2vw,54px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:14px;padding:13px 23px;border:1px solid rgba(251,229,187,.68);background:rgba(15,34,53,.9);box-shadow:0 12px 45px rgba(6,19,34,.5);color:#f7e6c8;font:500 13px var(--sans);letter-spacing:.015em;white-space:nowrap;border-radius:2px;cursor:pointer;transition:background .2s,border-color .2s;}
.home-demo-launch:hover,.home-demo-launch:focus-visible{background:#29425a;border-color:#ffe3ad;}
.home-demo-launch-symbol{font-size:22px;font-family:Georgia,serif;font-weight:400;color:#f0ce96;line-height:1;}
.home-demo-launch span:last-child{font-size:22px;line-height:.5;}
.home-preview-caption{max-width:1240px;margin:30px auto 0;text-align:center;font-size:12px;color:#79838b;line-height:1.7;}
.home-v222 .home-how{padding:95px clamp(27px,6vw,110px) 105px;}
.home-v222 .home-how h2{font-size:clamp(38px,4.5vw,68px);line-height:1.18;margin:18px 0 0;}
.home-v222 .home-how .steps{margin-top:57px;max-width:1130px;gap:5vw;}
.home-v222 .home-how .steps h3{font-size:25px;margin:12px 0;}
.home-v222 .home-how .steps p{font-size:14px;line-height:1.8;}
.home-class{padding:110px clamp(25px,7.4vw,130px);background:#f3ecdf;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,9vw,170px);align-items:center;}
.home-class-intro{max-width:515px;}
.home-class-intro>p:not(.home-overline){color:#62717c;font-size:15px;line-height:1.9;margin:28px 0 28px;}
.home-inline-link{color:#9a7041;text-decoration:none;border-bottom:1px solid #cfb48f;font-size:13px;font-weight:600;display:inline-flex;gap:12px;align-items:center;padding-bottom:8px;}
.home-inline-link span{font-size:20px;line-height:.65;}
.home-inline-link:hover{color:#6d4c26;}
.home-class-facts{border-top:1px solid #d7cab5;}
.home-class-facts article{display:grid;grid-template-columns:43px 1fr;gap:14px;align-items:start;padding:21px 0;border-bottom:1px solid #d7cab5;}
.home-fact-icon{display:grid;place-items:center;width:34px;height:34px;color:#a78454;background:#e8dccc;border:1px solid #ddc7a8;border-radius:50%;font-size:17px;}
.home-class-facts h3{font:500 21px/1.28 var(--serif);letter-spacing:-.02em;color:#253a4e;margin:0 0 5px;}
.home-class-facts p{font:400 13px/1.72 var(--sans);color:#697780;margin:0;max-width:460px;}
.home-v222 .home-offer{max-width:none;padding:108px clamp(26px,7vw,130px) 100px;scroll-margin-top:10px;background:radial-gradient(circle at 100% 10%,#fffcf3 0%,#f7f2e9 61%);}
.home-v222 .home-offer .offer-intro h2{font-size:clamp(42px,4.5vw,68px);margin:18px 0;}
.home-v222 .home-offer .offer-choices{max-width:1000px;margin-top:46px;gap:24px;}
.home-v222 .home-offer .offer-card{padding:41px 43px 37px;}
.home-v222 .home-offer .offer-card h3{margin-bottom:18px;}
.home-v222 .home-offer .offer-card p{min-height:0;}
.home-offer-included{display:flex;align-items:baseline;gap:10px;font-size:12px;color:#536475;margin:11px 0;line-height:1.55;}
.home-offer-included span{font-weight:700;color:#9c7445;}
.home-v222 .home-offer .offer-price{margin-top:27px;}
.home-v222 .home-offer .offer-note{max-width:900px;margin-left:auto;margin-right:auto;line-height:1.7;}
.home-v222 .home-offer .btn span{font-size:20px;line-height:.6;}
.home-faq{background:#eae1d3;padding:94px clamp(26px,7.4vw,130px) 104px;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,8vw,140px);align-items:start;scroll-margin-top:15px;}
.home-faq-intro>p:last-child{margin-top:23px;color:#68747d;line-height:1.8;font-size:14px;max-width:300px;}
.home-faq-items{border-top:1px solid #cfc0a8;}
.home-faq-items details{border-bottom:1px solid #cfc0a8;}
.home-faq-items summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;cursor:pointer;padding:22px 0;color:#263a4e;font-weight:500;font-size:14px;line-height:1.45;}
.home-faq-items summary::-webkit-details-marker{display:none;}
.home-faq-items summary span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid #c7ad8d;border-radius:50%;font-size:17px;font-weight:400;color:#906f46;line-height:1;}
.home-faq-items details[open] summary span{transform:rotate(45deg);}
.home-faq-items details p{font-size:13px;color:#5e6c77;line-height:1.85;margin:0 27px 22px 0;max-width:590px;}
.home-finale{background:radial-gradient(circle at 50% 0,rgba(199,153,87,.13),transparent 62%),#13273a;text-align:center;color:#fbf2e4;padding:87px 24px 94px;}
.home-finale .home-overline{color:#d7b98d;}
.home-finale-star{display:block;color:#c8a574;font-size:27px;margin:0 0 19px;}
.home-finale h2{font-size:clamp(39px,4.65vw,71px);line-height:1.17;margin:0 auto 33px;}
.home-finale h2 em{color:#e0c18e!important;}
.home-finale .btn{min-width:224px;gap:18px;}
.home-finale .btn span{font-size:23px;line-height:.5;}
.home-demo-dialog{border:1px solid #c5a571;background:#f6ead6;padding:0;width:min(94vw,1000px);max-height:min(88vh,780px);box-shadow:0 30px 130px rgba(1,11,27,.75);overflow:auto;color:#24374b;}
.home-demo-dialog::backdrop{background:rgba(5,16,29,.82);backdrop-filter:blur(4px);}
.home-demo-panel{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:445px;}
.home-demo-close{position:absolute;z-index:3;top:12px;right:12px;width:33px;height:33px;border:1px solid #dbbf94;background:#fff7e9;color:#6c604f;border-radius:50%;cursor:pointer;font-size:20px;font-weight:400;line-height:1;}
.home-demo-close:hover{background:#f0debf;}
.home-demo-art{min-height:445px;position:relative;background:#10253e;overflow:hidden;}
.home-demo-art img{display:block;position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center;filter:brightness(.85);}
.home-demo-art:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(13,30,49,.6),transparent 60%);pointer-events:none;}
.home-demo-art span{position:absolute;z-index:2;bottom:24px;left:24px;right:24px;color:#f4e1bb;font-size:11px;letter-spacing:.23em;text-align:center;}
.home-demo-text{display:flex;flex-direction:column;align-items:flex-start;padding:65px 49px 45px;}
.home-demo-eyebrow{font-size:10px;letter-spacing:.19em;color:#a27f53;font-weight:600;}
.home-demo-text h2{font:400 38px/1.16 var(--serif);letter-spacing:-.03em;margin:18px 0 22px;}
.home-demo-text>p{font-size:14px;line-height:1.8;color:#5b6a76;}
.home-demo-document{background:#b99969;color:#fff6e4;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 16px;width:100%;margin:16px 0 10px;font-size:12px;letter-spacing:.025em;flex-wrap:wrap;}
.home-demo-document span:first-child{font-family:Georgia,serif;font-size:16px;}
.home-demo-document-note{font-size:10px;opacity:.85;}
.home-demo-text .home-demo-disclaimer{font-size:11px;line-height:1.5;color:#8b8275;margin:0 0 17px;}
.home-demo-link{font-size:12px;font-weight:600;color:#936b3b;text-decoration:none;border-bottom:1px solid #bba17e;padding-bottom:7px;display:inline-flex;align-items:center;gap:10px;}
.home-demo-link span{font-size:19px;}
@media(max-width:1100px){
 .home-v222 .home-hero .hero-content{width:min(670px,73vw);}
 .home-discovery{padding-left:6vw;padding-right:6vw;}
 .home-class,.home-faq{gap:55px;}
}
@media(max-width:750px){
 .home-v222 .home-hero{min-height:630px;}
 .home-v222 .home-hero .hero-content{width:calc(100% - 44px);top:50%;left:24px;transform:translateY(-36%);}
 .home-v222 .home-hero h1{font-size:clamp(48px,10.8vw,76px);}
 .home-v222 .home-hero .hero-summary{font-size:14px;line-height:1.72;max-width:495px;}
  .home-v222 .home-hero .hero-buttons{gap:14px;}
 .home-v222 .home-hero .btn{font-size:11px;min-height:48px;padding:13px 17px;}
  .home-signals{padding:0 18px;}
 .home-signal{padding:25px 8px 26px;}
 .home-signal-content{gap:9px;margin-top:8px;min-height:55px;}
 .home-signal-figure{font-size:42px;}
 .home-signal-caption{font-size:14px;}
 .home-signal-overline{font-size:8px;letter-spacing:.12em;}
 .home-signal-together-title{font-size:26px;}
 .home-signal-together-sub{font-size:10px;letter-spacing:0;}
 .home-signal:not(:last-child)::after{top:24px;bottom:24px;}
 .home-discovery{padding:76px 22px 79px;}
 .home-discovery-head{grid-template-columns:1fr;gap:23px;margin-bottom:31px;}
 .home-discovery-head>p{font-size:14px;line-height:1.75;}
 .home-discovery h2,.home-class h2,.home-faq h2{font-size:clamp(36px,8vw,46px);}
 .home-preview-frame{box-shadow:8px 10px 0 #e6daca;}
 .home-preview-toolbar{padding:11px 12px;letter-spacing:.08em;font-size:8px;}
 .home-preview-dots{display:none;}
 .home-preview-visual>img{min-height:230px;object-fit:cover;object-position:center;}
 .home-demo-launch{bottom:13px;padding:10px 12px;font-size:11px;gap:8px;}
 .home-demo-launch-symbol{font-size:17px;}
 .home-preview-caption{font-size:11px;margin-top:24px;}
 .home-v222 .home-how{padding:77px 24px 78px;}
 .home-v222 .home-how h2{font-size:clamp(36px,8vw,50px);}
 .home-v222 .home-how .steps{margin-top:39px;gap:22px;}
 .home-v222 .home-how .steps article{padding-top:11px;}
 .home-v222 .home-how .steps p{line-height:1.7;}
 .home-class{grid-template-columns:1fr;gap:30px;padding:75px 24px;}
 .home-class-intro>p:not(.home-overline){margin:23px 0;}
 .home-class-facts article{padding:17px 0;}
 .home-v222 .home-offer{padding:77px 22px 76px;}
 .home-v222 .home-offer .offer-intro h2{font-size:clamp(39px,8vw,52px);}
 .home-v222 .home-offer .offer-choices{margin-top:32px;gap:18px;}
 .home-v222 .home-offer .offer-card{padding:33px 29px;}
 .home-faq{grid-template-columns:1fr;gap:27px;padding:72px 24px;}
 .home-faq-intro>p:last-child{margin-top:17px;}
 .home-faq-items summary{padding:18px 0;}
 .home-finale{padding:70px 22px 76px;}
 .home-demo-panel{grid-template-columns:1fr;}
 .home-demo-art{min-height:180px;max-height:215px;}
 .home-demo-text{padding:33px 25px 30px;}
 .home-demo-text h2{font-size:30px;margin:13px 0;}
 .home-demo-close{right:9px;top:9px;}
}
@media(max-width:380px){
 .home-v222 .home-hero h1{font-size:45px;}
 .home-v222 .home-hero .hero-content{transform:translateY(-33%);}
 .home-signals{padding:0 11px;}
 .home-signal{padding-inline:5px;}
 .home-signal-figure{font-size:37px;}
 .home-signal-caption{font-size:12.5px;}
 .home-signal-overline{font-size:7px;letter-spacing:.06em;}
 .home-signal-together-title{font-size:23px;}
 .home-signal-together-sub{font-size:9px;}
 .home-preview-toolbar{font-size:7px;}
 .home-demo-launch{font-size:10px;}
}
@media(prefers-reduced-motion:reduce){.home-demo-launch{transition:none;}}

/* Belleneige V2.23 : ouverture réelle d'une porte de démonstration. */
.home-demo-door {
  position:absolute;z-index:4;
  left:20.574%;top:60.149%;width:3.050%;height:10.946%;
  padding:0;border:0;background:transparent;
  cursor:pointer;perspective:180px;transform-style:preserve-3d;
  isolation:isolate;
}
.home-demo-door::before {
  content:'';position:absolute;inset:-12%;z-index:-2;
  border-radius:36% 36% 8% 8%;
  box-shadow:0 0 0 2px rgba(255,220,141,.38),0 0 17px 9px rgba(252,192,93,.35);
  opacity:.85;animation:demo-door-pulse 2.8s ease-in-out infinite;pointer-events:none;
}
.home-demo-door-light {
  position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse at 65% 45%,#fbdc91 0%,#c17429 38%,#38211c 73%,#100f16 100%);
  border-radius:26% 26% 7% 7%;
  box-shadow:inset 0 0 8px #100b0b;
}
.home-demo-door-leaf {
  position:absolute;inset:0;
  background-image:url('../img/porte-decouverte.webp');
  background-size:100% 100%;background-repeat:no-repeat;
  transform-origin:left center;backface-visibility:hidden;
  transition:transform 850ms cubic-bezier(.17,.65,.3,1),filter 700ms ease;
  border-radius:24% 24% 7% 7%;
}
.home-demo-door:is(:hover,:focus-visible)::before {opacity:1;box-shadow:0 0 0 3px rgba(255,231,173,.75),0 0 24px 15px rgba(252,192,93,.55);}
.home-demo-door:focus-visible {outline:2px solid #ffe9bb;outline-offset:5px;}
.home-demo-door.is-opening .home-demo-door-leaf{transform:rotateY(-67deg);filter:brightness(.82) drop-shadow(5px 2px 4px rgba(7,10,15,.6));}
.home-demo-door.is-opening::before {animation:none;opacity:1;}
.home-demo-door-hint {
  position:absolute;left:22.1%;top:56%;z-index:3;transform:translate(-50%,-100%);
  padding:8px 12px;border:1px solid rgba(255,223,160,.55);border-radius:22px;
  background:rgba(15,32,52,.86);box-shadow:0 6px 20px rgba(5,16,27,.28);
  color:#fae4bd;font:500 10px/1 var(--sans);letter-spacing:.08em;white-space:nowrap;
  pointer-events:none;
}
.home-demo-door-hint::after {content:'';position:absolute;left:50%;top:100%;height:15px;border-left:1px solid rgba(255,223,160,.7);}
@keyframes demo-door-pulse {0%,100%{opacity:.4;}50%{opacity:1;}}
.home-preview-visual .home-demo-launch {z-index:5;}
.home-demo-story-hint {margin-top:-7px!important;color:#6e665a!important;font-size:12px!important;}
.home-demo-download {
  display:inline-flex;justify-content:center;align-items:center;gap:11px;
  background:linear-gradient(120deg,#dfc18b,#c9a46c);
  color:#172e42;text-decoration:none;min-height:51px;
  width:100%;margin:15px 0 13px;padding:13px 12px;
  box-sizing:border-box;border:1px solid #ae8550;
  font:600 12px/1.35 var(--sans);letter-spacing:.015em;
  transition:filter .2s;
}
.home-demo-download:hover,.home-demo-download:focus-visible{filter:brightness(1.07);outline-color:#8c6a3f;}
.home-demo-download span{font-size:20px;line-height:1;}
.home-demo-dialog .home-demo-text{padding-top:54px;padding-bottom:33px;}
.home-demo-dialog .home-demo-text h2{margin-bottom:17px;}
.home-demo-dialog .home-demo-text>p{line-height:1.68;}
.home-demo-dialog .home-demo-disclaimer{line-height:1.55;font-size:10.5px;}
.home-demo-dialog .home-demo-art img{object-fit:cover;object-position:center;}
@media(max-width:750px){
  .home-preview-visual>img{min-height:0;object-fit:contain;}
  .home-demo-door::after{content:'';position:absolute;inset:-10px;}
  .home-demo-door-hint{display:none;}
  .home-preview-visual .home-demo-launch{bottom:10px;}
  .home-demo-dialog .home-demo-text{padding-top:30px;padding-bottom:30px;}
  .home-demo-dialog .home-demo-text h2{font-size:29px;}
}
@media(prefers-reduced-motion:reduce){
  .home-demo-door::before{animation:none;}
  .home-demo-door-leaf{transition:none;}
}

/* V2.24 : respecter le cadrage de toute illustration choisie en administration. */
.home-demo-dialog .home-demo-art img{object-fit:contain;object-position:center;}
.home-demo-dialog #home-demo-description{white-space:normal;}

/* V2.24.1 — Démo accueil alignée sur le popup du calendrier */
.home-demo-door-light{
  background:#1d344e url('../img/interieur-decouverte.webp') center center / cover no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,230,176,.34),inset 0 0 14px rgba(11,9,14,.55);
  overflow:hidden;
}
.home-demo-door-light::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,224,160,.16) 0%,rgba(8,17,29,.08) 34%,rgba(8,17,29,.28) 100%);
}
.home-demo-door.is-opening .home-demo-door-light{filter:saturate(1.02) brightness(1.04);}

.home-demo-dialog.reveal-dialog{
  box-sizing:border-box;
  border:2px solid #c49e60;
  border-radius:12px;
  padding:0;
  width:min(1080px,94vw);
  max-width:1080px;
  max-height:89dvh;
  background:#e9dac0;
  color:#26384d;
  overflow:visible;
  box-shadow:0 29px 110px #030c20ed,0 0 0 5px #211c2899,0 0 0 7px #a98956a6;
}
.home-demo-dialog.reveal-dialog::backdrop{background:radial-gradient(ellipse at 50% 42%, #0b294e88, #030e23ed 85%);backdrop-filter:blur(7px);}
.home-demo-inner.reveal-inner{
  display:grid;
  grid-template-columns:minmax(0,56%) minmax(0,44%);
  height:clamp(480px,76dvh,660px);
  max-height:86dvh;
  background:radial-gradient(ellipse at 100% 0%,#fff5e4 0%,#f7ead0 40%,#e6d6b9 100%);
  border:7px solid #e2c99e;
  outline:1px solid #6c5436;
  box-shadow:inset 0 0 0 2px #ab884e77;
}
.home-demo-gallery.reveal-gallery{
  position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;
  padding:58px 22px 34px;
  background:radial-gradient(ellipse at 50% 38%, #43668688,transparent 58%),linear-gradient(130deg,#19354b,#10263e 65%,#061e36);
  overflow:hidden;box-shadow:inset -8px 0 15px #0315256b;
}
.home-demo-gallery.reveal-gallery::before{content:"";position:absolute;inset:0;opacity:.11;pointer-events:none;background:repeating-linear-gradient(30deg,transparent 0 4px,#ddcf9c 5px,transparent 6px 28px);}
.home-demo-gallery.reveal-gallery::after{content:"";width:78%;height:1px;position:absolute;top:39px;left:11%;background:linear-gradient(90deg,transparent,#dcc393b5,transparent);}
.home-demo-dialog .gallery-corner{position:absolute;width:35px;height:35px;border-color:#b99764aa;border-style:solid;z-index:2;pointer-events:none;}
.home-demo-dialog .corner-tl{left:14px;top:14px;border-width:1px 0 0 1px;}
.home-demo-dialog .corner-tr{right:14px;top:14px;border-width:1px 1px 0 0;}
.home-demo-dialog .corner-bl{left:14px;bottom:14px;border-width:0 0 1px 1px;}
.home-demo-dialog .corner-br{right:14px;bottom:14px;border-width:0 1px 1px 0;}
.home-demo-art.reveal-art{
  z-index:1;position:relative;flex:none;width:100%;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;
  background:#1d344e;border:7px solid #d4b783;outline:2px solid #695135;
  box-shadow:0 15px 35px #030d20aa,0 0 0 5px #b2946470,inset 0 0 0 2px #f4e2af;
}
.home-demo-art.reveal-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;background:#1d344e;}
.home-demo-copy.reveal-copy{padding:52px 34px 30px;overflow-y:auto;overflow-x:hidden;align-items:center;text-align:center;display:flex;flex-direction:column;}
.home-demo-dialog .reveal-date{font:600 12px 'DM Sans',sans-serif;letter-spacing:.16em;color:#8b6e4a;text-transform:uppercase;}
.home-demo-dialog .reveal-copy h1{font:400 clamp(26px,2.25vw,33px)/1.17 var(--serif);letter-spacing:-.03em;margin:12px 0;}
.home-demo-dialog .reveal-rule{margin:0 0 18px;color:#9d7844;font-size:18px;line-height:1;}
.home-demo-dialog .reveal-story{max-width:390px;font:400 clamp(14px,1.13vw,16px)/1.64 'DM Sans',sans-serif;white-space:pre-line;margin:0 0 24px;color:#374055;}
.home-demo-dialog .download-station{margin-top:auto;display:flex;flex-direction:column;align-items:center;width:100%;gap:0;}
.home-demo-dialog .enchanted-download{
  position:relative;isolation:isolate;overflow:hidden;text-decoration:none;
  min-width:0;width:100%;max-width:350px;min-height:76px;padding:12px 16px;
  border:2px solid #efdaa3;border-radius:8px;
  display:flex;justify-content:center;align-items:center;gap:11px;
  background:linear-gradient(115deg,#453023 0%,#795329 19%,#b18a4a 50%,#815c33 81%,#493325 100%);
  color:#fff9df;
  box-shadow:0 4px 0 #412e26,0 12px 30px #5e3a2799,0 0 0 3px #88663a,inset 0 0 0 1px #fce9b780,inset 0 5px 20px #fce7b322;
  transition:transform .3s cubic-bezier(.15,.8,.3,1),box-shadow .3s,filter .3s;
}
.home-demo-dialog .enchanted-download::before{content:"";pointer-events:none;position:absolute;inset:6px;border:1px solid #f9e4b590;border-radius:3px;box-shadow:inset 0 0 0 1px #412f2366;}
.home-demo-dialog .enchanted-download::after{content:"";position:absolute;inset:-30%;width:25%;height:170%;left:-70%;top:-35%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,#fff6e399,#ffedbe33,transparent);transition:none;pointer-events:none;z-index:3;}
.home-demo-dialog .download-title{display:block;width:100%;text-align:center;font:700 clamp(15px,1.12vw,17px) 'DM Sans',sans-serif;letter-spacing:.02em;padding:0 26px;}
.home-demo-dialog .download-rune{pointer-events:none;position:absolute;color:#f8e4b6a3;font-size:20px;line-height:1;z-index:2;top:50%;transform:translateY(-50%);}
.home-demo-dialog .download-rune-left{left:16px;}
.home-demo-dialog .download-rune-right{right:16px;}
.home-demo-dialog .download-particles{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:5;}
.home-demo-dialog .download-particles i{position:absolute;width:8px;height:8px;left:50%;top:50%;opacity:0;background:#ffe6a8;filter:drop-shadow(0 0 5px #ffce71);clip-path:polygon(50% 0,59% 40%,100% 50%,59% 60%,50% 100%,41% 60%,0 50%,41% 40%);}
.home-demo-dialog .download-particles i:nth-child(1){--sx:-145px;--sy:-66px;--rot:30deg;}
.home-demo-dialog .download-particles i:nth-child(2){--sx:-80px;--sy:-99px;--rot:100deg;}
.home-demo-dialog .download-particles i:nth-child(3){--sx:48px;--sy:-96px;--rot:45deg;}
.home-demo-dialog .download-particles i:nth-child(4){--sx:142px;--sy:-54px;--rot:80deg;}
.home-demo-dialog .download-particles i:nth-child(5){--sx:160px;--sy:42px;--rot:55deg;}
.home-demo-dialog .download-particles i:nth-child(6){--sx:75px;--sy:79px;--rot:90deg;}
.home-demo-dialog .download-particles i:nth-child(7){--sx:-66px;--sy:78px;--rot:15deg;}
.home-demo-dialog .download-particles i:nth-child(8){--sx:-162px;--sy:45px;--rot:70deg;}
.home-demo-dialog .enchanted-download:hover,.home-demo-dialog .enchanted-download:focus-visible{
  transform:translateY(-5px) scale(1.025);filter:brightness(1.17);
  box-shadow:0 7px 0 #412e26,0 16px 33px #674029aa,0 0 0 4px #c7a46a,inset 0 0 0 1px #fff2d1,inset 0 0 26px #ffe3a170;
}
.home-demo-dialog .enchanted-download:hover::after,.home-demo-dialog .enchanted-download:focus-visible::after{left:160%;transition:left .78s cubic-bezier(.19,.64,.28,1);}
.home-demo-dialog .enchanted-download:focus-visible{outline:3px solid #e2a637;outline-offset:8px;}
.home-demo-dialog .home-demo-disclaimer{font-size:11px;line-height:1.55;color:#8b8275;margin:16px 0 14px;max-width:360px;}
.home-demo-dialog .home-demo-link{font-size:12px;font-weight:600;color:#936b3b;text-decoration:none;border-bottom:1px solid #bba17e;padding-bottom:7px;display:inline-flex;align-items:center;gap:10px;}
.home-demo-dialog .home-demo-link span{font-size:19px;}
.home-demo-dialog .reveal-close{
  position:absolute;z-index:3;top:14px;right:14px;width:32px;height:32px;
  border:1px solid #d9b982;background:#fff7e8;color:#6f5a40;border-radius:50%;cursor:pointer;
  font:400 22px/1 Georgia,serif;display:grid;place-items:center;
  box-shadow:0 4px 10px rgba(41,29,14,.15);transition:transform .2s ease,background .2s ease;
}
.home-demo-dialog .reveal-close:hover,.home-demo-dialog .reveal-close:focus-visible{background:#f4e1bc;transform:scale(1.05);}
.home-demo-dialog .reveal-close:focus-visible{outline:2px solid #d49d36;outline-offset:4px;}
@keyframes home-demo-summon-pulse{0%{filter:brightness(1);transform:scale(1)}20%{filter:brightness(1.65);transform:scale(.97)}52%{filter:brightness(1.38);transform:scale(1.04);box-shadow:0 4px 0 #412e26,0 0 48px #f7d07d,0 0 0 5px #fff0b8,inset 0 0 30px #fce0a2}100%{filter:brightness(1);transform:scale(1)}}
@keyframes home-demo-spark{0%,10%{opacity:0;transform:translate(0,0) rotate(0deg) scale(.2)}28%{opacity:1;transform:translate(0,0) rotate(20deg) scale(1.5)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--rot)) scale(.1)}}
.home-demo-dialog .enchanted-download.is-summoning{animation:home-demo-summon-pulse 1.05s ease-out both;}
.home-demo-dialog .enchanted-download.is-summoning .download-particles i{animation:home-demo-spark 1s ease-out both;}
.home-demo-dialog .enchanted-download.is-summoning .download-particles i:nth-child(2n){animation-delay:.07s;}
.home-demo-dialog .enchanted-download.is-summoning .download-particles i:nth-child(3n){animation-delay:.12s;}

@media (max-width:800px){
  .home-demo-dialog.reveal-dialog{width:min(94vw,510px);max-height:90dvh;}
  .home-demo-inner.reveal-inner{grid-template-columns:1fr;height:auto;max-height:none;}
  .home-demo-gallery.reveal-gallery{padding:40px 18px 24px;}
  .home-demo-art.reveal-art{min-height:0;max-height:230px;aspect-ratio:4/3;}
  .home-demo-copy.reveal-copy{padding:29px 24px 24px;max-height:calc(90dvh - 230px);}
}
@media (max-width:560px){
  .home-demo-copy.reveal-copy{padding-top:30px;padding-bottom:30px;}
  .home-demo-dialog .reveal-copy h1{font-size:29px;}
  .home-demo-dialog .reveal-story{margin-bottom:15px;line-height:1.45;}
  .home-demo-dialog .enchanted-download{min-height:64px;max-width:360px;padding:12px 24px;justify-content:center;gap:0;}
}
@media(prefers-reduced-motion:reduce){
  .home-demo-dialog .enchanted-download.is-summoning,.home-demo-dialog .enchanted-download.is-summoning .download-particles i{animation:none !important;}
}

/* V2.24.2 — aperçu accueil en zoom sur une zone du calendrier */
.home-preview-visual{overflow:hidden;aspect-ratio:1500 / 844;background:#12263b;}
.home-preview-visual>img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  transform:scale(1.52);
  transform-origin:20.574% 60.149%;
  will-change:transform;
}
.home-preview-visual::after{height:24%;}
.home-demo-door{left:20.574%;top:60.149%;width:4.55%;height:16.2%;}
.home-demo-door::before{inset:-10%;}
.home-demo-door-hint{top:45.3%;left:20.8%;}
.home-preview-visual .home-demo-launch{bottom:clamp(18px,3.1vw,34px);}
@media (max-width:800px){
  .home-preview-visual>img{transform:scale(1.22);transform-origin:22% 57%;}
  .home-demo-door{width:5.3%;height:18.6%;left:22%;top:57%;}
  .home-preview-visual .home-demo-launch{bottom:12px;}
}


/* V2.24.3 — aperçu recadré haute qualité */
.home-preview-visual{overflow:hidden;aspect-ratio:1500 / 844;background:#12263b;}
.home-preview-visual>img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  transform:none !important;
}
.home-demo-door{left:22%;top:51.3%;width:6.35%;height:22.5%;}
.home-demo-door::before{inset:-9%;}
.home-demo-door-hint{top:36.8%;left:23.1%;}
.home-preview-visual .home-demo-launch{bottom:clamp(18px,3.1vw,34px);}
@media (max-width:800px){
  .home-preview-visual>img{transform:none !important;}
  .home-demo-door{left:22%;top:51.3%;width:6.35%;height:22.5%;}
  .home-preview-visual .home-demo-launch{bottom:12px;}
}

/* V2.24.4 — apercu fractionné, porte dans une vraie maison (hors pont) */
.home-discovery{padding-bottom:106px;}
.home-discovery-head{display:block;max-width:1170px;margin:0 auto 46px;}
.home-discovery-stage{
  width:min(1170px,100%);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);
  align-items:center;gap:0;
}
.home-discovery-stage .home-preview-frame{width:100%;margin:0;min-width:0;box-shadow:0 19px 52px rgba(20,36,53,.17),12px 13px 0 #e6daca;}
.home-discovery-stage .home-preview-toolbar{padding:12px 20px;letter-spacing:.12em;font-size:9px;}
.home-discovery-stage .home-preview-visual{aspect-ratio:555/650;overflow:hidden;background:#12263b;}
.home-discovery-stage .home-preview-visual>img{
  display:block;width:100%;height:100%;aspect-ratio:555/650;
  transform:none!important;object-fit:cover;object-position:center;
}
.home-discovery-stage .home-preview-visual::after{height:23%;background:linear-gradient(0deg,rgba(9,22,36,.36),transparent);}
/* source door located at 1502,587,91,139; crop starts at 1117,220 and is 555x650 */
.home-discovery-stage .home-demo-door{left:69.369%;top:56.462%;width:16.396%;height:21.385%;}
.home-discovery-stage .home-demo-door::before{
  inset:-4%;border-radius:40% 40% 9% 9%;opacity:.54;
  box-shadow:0 0 0 1px rgba(255,220,141,.44),0 0 15px 4px rgba(252,192,93,.28);
}
.home-discovery-stage .home-demo-door:is(:hover,:focus-visible)::before{
  opacity:.85;box-shadow:0 0 0 2px rgba(255,231,173,.75),0 0 22px 6px rgba(252,192,93,.39);
}
.home-discovery-stage .home-demo-door-light{border-radius:40% 40% 9% 9%;}
.home-discovery-stage .home-demo-door-leaf{border-radius:0;}
.home-discovery-aside{
  padding:clamp(24px,4.2vw,70px) 0 clamp(24px,4.2vw,70px) clamp(34px,6vw,88px);
  min-width:0;
}
.home-discovery-aside .home-overline{letter-spacing:.18em;margin-bottom:23px;font-size:10px;}
.home-discovery-aside h3{margin:0;color:#20354a;font:400 clamp(32px,3.3vw,49px)/1.18 var(--serif);letter-spacing:-.035em;}
.home-discovery-aside h3 em{color:#a77e47;}
.home-discovery-lead{margin:25px 0 27px;color:#60707b;font-size:14px;line-height:1.85;max-width:420px;}
.home-discovery-steps{border-top:1px solid #dfd1bc;max-width:400px;margin:0 0 31px;}
.home-discovery-steps>div{display:flex;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #dfd1bc;}
.home-discovery-steps span{font:500 12px/1 var(--serif);color:#a17f53;}
.home-discovery-steps p{font:400 13px/1.5 var(--sans);color:#384c5d;margin:0;}
.home-discovery-aside .home-demo-launch{
  position:relative;left:auto;bottom:auto;transform:none;display:inline-flex;
  background:#152f45;color:#f7e6c8;box-shadow:0 9px 21px rgba(6,19,34,.18);
  padding:15px 24px;font-size:12px;border-radius:2px;
}
.home-discovery-aside .home-demo-launch:hover,.home-discovery-aside .home-demo-launch:focus-visible{transform:none;background:#244258;}
.home-discovery-free{margin:15px 0 0;line-height:1.6;font-size:11px;color:#758089;}
@media(max-width:980px){
  .home-discovery-stage{grid-template-columns:minmax(0,50%) minmax(0,50%);}
  .home-discovery-aside{padding:28px 0 28px 35px;}
  .home-discovery-aside h3{font-size:clamp(29px,3.9vw,43px);}
  .home-discovery-lead{font-size:13px;margin:17px 0 19px;line-height:1.68;}
  .home-discovery-steps{margin-bottom:20px;}
  .home-discovery-steps>div{padding:10px 0;}
}
@media(max-width:750px){
  .home-discovery{padding:76px 22px 80px;}
  .home-discovery-head{margin-bottom:29px;}
  .home-discovery-stage{display:flex;flex-direction:column;align-items:stretch;gap:26px;}
  .home-discovery-stage .home-preview-frame{width:100%;max-width:510px;align-self:center;box-shadow:7px 9px 0 #e6daca;}
  .home-discovery-stage .home-preview-toolbar{padding:11px 13px;font-size:8px;}
  .home-discovery-stage .home-preview-visual{aspect-ratio:555/650;min-height:0;}
  .home-discovery-stage .home-preview-visual>img{min-height:0;height:100%;object-fit:cover;}
  .home-discovery-stage .home-demo-door{left:69.369%;top:56.462%;width:16.396%;height:21.385%;}
  .home-discovery-aside{padding:8px 5px 0;}
  .home-discovery-aside h3{font-size:clamp(33px,7.5vw,42px);}
  .home-discovery-aside .home-overline{margin-bottom:15px;}
  .home-discovery-steps{max-width:none;margin-bottom:24px;}
  .home-discovery-aside .home-demo-launch{position:relative;left:auto;bottom:auto;padding:13px 21px;font-size:12px;}
}


/* V2.24.5 — lumière d'ouverture, recadrage popup, halo de porte complet */
.home-discovery-stage .home-demo-door{
  overflow:visible;
}
.home-discovery-stage .home-demo-door::before{
  inset:-5.5%;
  z-index:3;
  border-radius:40% 40% 9% 9%;
  box-shadow:inset 0 0 0 2px rgba(255,229,181,.84),0 0 0 1px rgba(250,205,126,.82),0 0 18px 5px rgba(253,199,96,.34);
  opacity:.96;
}
.home-discovery-stage .home-demo-door:is(:hover,:focus-visible)::before{
  opacity:1;
  box-shadow:inset 0 0 0 2px rgba(255,241,207,.96),0 0 0 1px rgba(255,228,158,.9),0 0 26px 9px rgba(254,205,109,.52);
}
.home-discovery-stage .home-demo-door-light{
  border-radius:40% 40% 9% 9%;
  background:#1d344e url('../img/interieur-decouverte.webp') center 78% / cover no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,232,181,.42), inset 0 0 18px rgba(9,13,19,.62), 0 0 6px rgba(255,211,128,.16);
  transition:filter .55s ease, box-shadow .55s ease, transform .55s ease, opacity .55s ease;
}
.home-discovery-stage .home-demo-door-light::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 52% 20%, rgba(255,233,176,.72) 0%, rgba(255,214,125,.38) 18%, rgba(255,199,92,.12) 38%, rgba(10,16,28,0) 62%), linear-gradient(180deg, rgba(255,222,164,.16) 0%, rgba(8,17,29,.06) 40%, rgba(8,17,29,.28) 100%);
  opacity:.82;
  transition:opacity .45s ease, filter .45s ease;
}
.home-discovery-stage .home-demo-door-leaf{
  z-index:2;
  border-radius:0;
}
.home-discovery-stage .home-demo-door.is-opening::before{
  animation:demo-door-open-glow .8s ease-out both;
}
.home-discovery-stage .home-demo-door.is-opening .home-demo-door-light{
  filter:brightness(1.28) saturate(1.08);
  transform:scale(1.02);
  box-shadow:inset 0 0 0 1px rgba(255,237,205,.52), inset 0 0 26px rgba(255,211,129,.28), 0 0 22px rgba(255,209,109,.44), 0 0 48px rgba(255,206,107,.28);
}
.home-discovery-stage .home-demo-door.is-opening .home-demo-door-light::after{
  opacity:1;
  filter:brightness(1.2);
}
.home-demo-dialog .home-demo-art.reveal-art img{
  object-fit:cover;
  object-position:center 77%;
}
@keyframes demo-door-open-glow{
  0%{box-shadow:inset 0 0 0 2px rgba(255,229,181,.84),0 0 0 1px rgba(250,205,126,.82),0 0 18px 5px rgba(253,199,96,.34);}
  45%{box-shadow:inset 0 0 0 2px rgba(255,244,216,1),0 0 0 1px rgba(255,233,176,1),0 0 30px 12px rgba(255,213,118,.68);}
  100%{box-shadow:inset 0 0 0 2px rgba(255,238,201,.94),0 0 0 1px rgba(255,228,158,.9),0 0 24px 9px rgba(254,205,109,.52);}
}


/* V2.24.6 — porte découpée comme le halo lumineux */
.home-discovery-stage .home-demo-door,
.home-discovery-stage .home-demo-door-light,
.home-discovery-stage .home-demo-door-light::after,
.home-discovery-stage .home-demo-door-leaf{
  border-radius:40% 40% 9% 9% / 18% 18% 9% 9%;
}
.home-discovery-stage .home-demo-door-light,
.home-discovery-stage .home-demo-door-leaf{
  overflow:hidden;
}
.home-discovery-stage .home-demo-door-leaf{
  z-index:2;
  border-radius:40% 40% 9% 9% / 18% 18% 9% 9%;
  clip-path:inset(0 round 40% 40% 9% 9% / 18% 18% 9% 9%);
  box-shadow:0 0 0 1px rgba(43,26,13,.18);
}
.home-discovery-stage .home-demo-door.is-opening .home-demo-door-leaf{
  transform:rotateY(-67deg);
  filter:brightness(.82) drop-shadow(5px 2px 4px rgba(7,10,15,.6));
}
.home-discovery-stage .home-demo-door::before{
  border-radius:40% 40% 9% 9% / 18% 18% 9% 9%;
}


/* V2.24.9 — numéros ancrés aux coordonnées EXACTES du calendrier.
 * Cropping background: original village.webp x=1117..1672, y=220..870.
 * Seuls les cinq jours effectivement visibles sont montrés, sans interaction.
 * Les dimensions/couleurs sont reprises de .door-number (calendar.css).
 */
.home-preview-visual .home-demo-authentic-number {
  z-index:4;display:grid;place-items:center;
  box-sizing:border-box;min-width:28px;min-height:28px;padding:2px 3px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(12px,1.18vw,21px);font-weight:700;letter-spacing:-.02em;line-height:1;
  color:#fff5cf;
  text-shadow:0 2px 3px #28121b,0 0 9px #161a28,0 0 15px #f4d37bb0;
  border:0;border-radius:50%;
  background:radial-gradient(circle,#453b399c 0%,#4930216e 57%,transparent 75%);
  box-shadow:0 0 0 1px #e3bf775c;
  pointer-events:none;user-select:none;
}
.home-preview-visual .home-demo-decorative {
  position:absolute;transform:translate(-50%,-50%);
  filter:sepia(.3);color:#efdfc0;box-shadow:0 0 0 1px #d2bd8842;
}
.home-discovery-stage .home-demo-door-leaf {
  display:flex;align-items:center;justify-content:center;
  transform-origin:left center;
  clip-path:inset(0 round 40% 40% 9% 9% / 18% 18% 9% 9%);
  overflow:hidden;
}
.home-discovery-stage .home-demo-door-number {
  position:relative;left:auto;top:auto;z-index:2;flex:none;
  transform:none;min-width:27px;min-height:27px;
  font-size:clamp(12px,1.05vw,16px);
  padding:2px 3px;
  box-shadow:0 0 0 1px #e3bf775c,0 0 9px #ffd79144;
}
.home-discovery-stage .home-demo-door.is-opening .home-demo-door-number {
  transform:none; /* travels with the door leaf, as on the original calendar */
}
@media(max-width:800px){
  .home-preview-visual .home-demo-authentic-number{min-width:18px;min-height:18px;font-size:10px;}
  .home-discovery-stage .home-demo-door-number{min-width:22px;min-height:22px;font-size:15px;}
}

/* Lighting retained from the previous V2.24.7 version */
.home-discovery-stage .home-demo-door::after{
  content:'';position:absolute;inset:-18%;z-index:1;pointer-events:none;
  border-radius:44% 44% 16% 16% / 22% 22% 12% 12%;
  background:radial-gradient(circle at 50% 40%,rgba(255,223,146,.38) 0%,rgba(255,204,92,.22) 28%,rgba(255,191,78,.09) 46%,rgba(255,190,72,0) 68%);
  opacity:.85;filter:blur(6px);
  animation:demo-door-aura-breathe 3s ease-in-out infinite;
}
.home-discovery-stage .home-demo-door.is-opening::after{animation:demo-door-open-bloom 1.02s ease-out both;}
.home-discovery-stage .home-demo-door.is-opening .home-demo-door-light{
  filter:brightness(1.42) saturate(1.12);
  transform:scale(1.03);
  box-shadow:inset 0 0 0 1px rgba(255,242,214,.7),inset 0 0 36px rgba(255,214,133,.46),0 0 30px rgba(255,214,116,.56),0 0 58px rgba(255,209,109,.38);
}
@keyframes demo-door-aura-breathe{0%,100%{transform:scale(.98);opacity:.72}50%{transform:scale(1.02);opacity:.96}}
@keyframes demo-door-open-bloom{
  0%{opacity:.82;transform:scale(1);filter:blur(6px)}
  35%{opacity:1;transform:scale(1.2);filter:blur(8px)}
  100%{opacity:.96;transform:scale(1.1);filter:blur(7px)}
}
@media(prefers-reduced-motion:reduce){
  .home-discovery-stage .home-demo-door::after,.home-discovery-stage .home-demo-door.is-opening::after{animation:none}
}


/* V2.24.10 — trois numéros seulement ; contours fixes aux fenêtres 7 et 11.
   Coordonnées mesurées sur le recadrage 555 x 650 de l'image d'origine.
   Les numéros ne sont pas interactifs, hors porte 24. */
.home-discovery-stage .home-demo-static-door{
  position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;margin:0;padding:0;pointer-events:none;user-select:none;
  border:1px solid rgba(255,221,145,.90);
  border-radius:46% 46% 7% 7% / 20% 20% 6% 6%;
  background:transparent;
  box-shadow:
    0 0 0 1px rgba(248,214,140,.48),
    0 0 10px 2px rgba(252,208,109,.44),
    inset 0 0 0 1px rgba(255,244,207,.43),
    inset 0 0 12px rgba(255,205,105,.24);
}
/* La lumière retombe légèrement sur l'appui de chaque fenêtre. */
.home-discovery-stage .home-demo-static-door::before{
  content:'';position:absolute;z-index:-1;inset:-5% -9%;pointer-events:none;
  border-radius:46% 46% 7% 7% / 20% 20% 6% 6%;
  box-shadow:0 0 15px 3px rgba(255,211,124,.32);
}
.home-discovery-stage .home-demo-static-door::after{
  content:'';position:absolute;pointer-events:none;
  left:-10%;right:-10%;bottom:-7%;height:8%;
  background:radial-gradient(ellipse at center,rgba(255,215,135,.42),transparent 75%);
  filter:blur(4px);
}
/* Les deux contours suivent les vraies fenêtres, pas simplement les chiffres. */
.home-discovery-stage .home-demo-static-07{
  left:33.85%;top:20.92%;width:7.85%;height:12.15%;
}
.home-discovery-stage .home-demo-static-11{
  left:74.50%;top:17.54%;width:8.63%;height:12.15%;
}
/* Pastilles : diamètre accru, taille des caractères 7 et 11 strictement inchangée. */
.home-preview-visual .home-demo-static-number{
  position:relative;flex:none;z-index:2;
  min-width:34px;min-height:34px;
  padding:4px 5px;
  border-radius:50%;
  /* On hérite volontairement du font-size de .home-demo-authentic-number. */
  box-shadow:0 0 0 1px rgba(239,214,159,.65),0 0 12px rgba(255,218,141,.34);
}
/* 24, seul ouvrable : pastille un peu plus grande que les deux autres. */
.home-discovery-stage .home-demo-door-number{
  min-width:40px;min-height:40px;
  padding:5px 6px;
  font-size:clamp(15px,1.28vw,19px);
  box-shadow:0 0 0 1px rgba(255,235,185,.78),0 0 15px rgba(255,218,135,.46);
}
/* Survol du 24 : contour nettement plus lumineux sans déclencher l'ouverture. */
.home-discovery-stage .home-demo-door:is(:hover,:focus-visible):not(.is-opening)::before{
  animation:none;
  opacity:1;
  box-shadow:
    inset 0 0 0 2px rgba(255,253,233,1),
    0 0 0 2px rgba(255,235,174,.98),
    0 0 20px 9px rgba(255,223,145,.87),
    0 0 40px 17px rgba(255,196,86,.51);
}
.home-discovery-stage .home-demo-door:is(:hover,:focus-visible):not(.is-opening)::after{
  animation:none;
  opacity:1;
  transform:scale(1.13);
  filter:blur(7px) brightness(1.3);
}
.home-discovery-stage .home-demo-door:is(:hover,:focus-visible):not(.is-opening) .home-demo-door-light{
  filter:brightness(1.23) saturate(1.12);
  box-shadow:inset 0 0 18px rgba(255,215,132,.34),0 0 26px rgba(255,208,117,.52);
}
@media(max-width:800px){
  .home-preview-visual .home-demo-static-number{
    min-width:25px;min-height:25px;padding:3px 4px;
    /* Police inchangée : voir .home-demo-authentic-number dans la règle mobile. */
  }
  .home-discovery-stage .home-demo-door-number{
    min-width:31px;min-height:31px;padding:4px 5px;font-size:16px;
  }
}


/* V2.24.11 — la lumiere du dormant reste derriere le battant lors de l'ouverture.
   La feuille mobile ne peut plus etre recouverte par l'encadrement lumineux. */
.home-discovery-stage .home-demo-door{
  isolation:isolate;
  overflow:visible;
}
.home-discovery-stage .home-demo-door::before,
.home-discovery-stage .home-demo-door::after{
  z-index:0;
  pointer-events:none;
}
.home-discovery-stage .home-demo-door-light{
  z-index:1;
}
.home-discovery-stage .home-demo-door-leaf{
  z-index:2;
  backface-visibility:hidden;
}
/* L'ouverture ne modifie que la lumiere FIXE du passage, jamais le z-index. */
.home-discovery-stage .home-demo-door.is-opening::before,
.home-discovery-stage .home-demo-door.is-opening::after{
  z-index:0;
}

/* Format téléphone : deux cartouches lisibles et une signature pleine largeur. */
@media(max-width:600px){
  .home-signals{padding:0 20px;}
  .home-signals-inner{grid-template-columns:1fr 1fr;}
  .home-signal{padding:22px 10px 21px;}
  .home-signal-overline{font-size:8px;letter-spacing:.15em;}
  .home-signal-content{margin-top:8px;min-height:48px;gap:10px;}
  .home-signal-figure{font-size:44px;}
  .home-signal-caption{font-size:15px;}
  .home-signal:nth-child(2)::after,.home-signal:nth-child(2)::before{display:none;}
  .home-signal-together{grid-column:1/-1;display:flex;flex-direction:row;gap:18px;min-height:0;padding:16px 12px 18px;border-top:1px solid #c4ae8e80;}
  .home-signal-together .home-signal-content{flex-direction:row;align-items:baseline;gap:9px;min-height:0;margin:0;}
  .home-signal-together-title{font-size:27px;}
  .home-signal-together-sub{font-size:11px;margin:0;letter-spacing:.02em;}
}
@media(max-width:380px){
  .home-signals{padding:0 12px;}
  .home-signal-overline{font-size:7px;letter-spacing:.09em;}
  .home-signal-caption{font-size:14px;}
  .home-signal-figure{font-size:40px;}
  .home-signal-together{gap:10px;padding-inline:4px;}
  .home-signal-together-title{font-size:24px;}
  .home-signal-together-sub{font-size:10px;}
}
