/* V18 opening animation only; all editorial sections use native Elementor styles. */
.sn-opening{--red:var(--sn--couleur--rouge-noel);--cream:var(--sn--couleur--creme);--green:var(--sn--couleur--sapin);--gold:var(--sn--couleur--or);--ink:var(--sn--couleur--encre);--title-scale:1;font-family:var(--sn--typo--texte--famille),sans-serif;}
.sn-opening .hero{position:relative;isolation:isolate}
.sn-opening .scene{margin:0;position:relative;overflow:hidden;aspect-ratio:1672/941;background:var(--cream)}
.sn-opening .art{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.sn-opening .landscape{display:block;width:100%;height:100%;object-fit:cover}
.sn-opening .hero-copy{position:absolute;top:4.8%;left:22%;width:56%;text-align:center;will-change:transform}
.sn-opening .eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;line-height:1.4;font-weight:600;color:var(--green);margin:0 0 9px}
.sn-opening .hero h1{font:400 clamp(60px,6.4vw,108px)/1.08 Liebe,cursive;color:var(--red);margin:0 0 19px}
.sn-opening .hero-note{position:absolute;bottom:20px;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--green);font-size:12px}
.sn-opening .scroll-cue{display:flex;align-items:center;gap:10px;text-decoration:none}
.sn-opening .scroll-cue svg{width:17px;height:24px}
.sn-opening .motion-toggle{display:flex;gap:9px;align-items:center;min-height:44px;padding:8px 13px;color:var(--green);background:#fcf5e9ed;border:1px solid #25483d66;cursor:pointer}
.sn-opening .motion-toggle svg{width:12px;height:14px}
.sn-opening .motion-toggle[aria-pressed=true] .pause-icon{display:none}
.sn-opening .motion-toggle:not([aria-pressed=true]) .play-icon{display:none}
.sn-opening .motion-toggle:disabled{cursor:default;opacity:.8}
.sn-opening .motion-toggle:hover{border-color:var(--green)}
.sn-opening .intro p:not(.eyebrow){margin:0;font-size:20px;line-height:1.75;max-width:540px}
@media (min-width:1800px){.sn-opening .hero-copy{top:6%}
.sn-opening .hero h1{font-size:118px}
.sn-opening .eyebrow{font-size:14px}}
@media (max-width:1000px){.sn-opening .hero-copy{top:4%;left:20%;width:60%}
.sn-opening .hero h1{font-size:7.3vw;margin-bottom:12px}
.sn-opening .eyebrow{font-size:10px}
.sn-opening .intro p:not(.eyebrow){font-size:18px}}
@media (max-width:700px){.sn-opening .hero{display:flex;flex-direction:column}
.sn-opening .hero-copy{position:relative;top:auto;left:auto;width:auto;order:-1;padding:35px 20px 20px;will-change:auto}
.sn-opening .hero h1{font-size:60px;margin-bottom:19px}
.sn-opening .hero-copy .eyebrow{font-size:10px;margin-bottom:12px}
.sn-opening .scene{aspect-ratio:4/3}
.sn-opening .art{width:133.333%;left:-16.666%;right:auto}
.sn-opening .hero-note{position:relative;left:auto;right:auto;bottom:auto;padding:10px 20px;gap:12px;font-size:11px}
.sn-opening .scroll-cue{max-width:48%;gap:6px}
.sn-opening .motion-toggle{padding:6px 9px;white-space:nowrap;font-size:11px}
.sn-opening .intro p:not(.eyebrow){font-size:18px;line-height:1.65}}
@media (max-width:350px){.sn-opening .hero h1{font-size:52px}
.sn-opening .hero-copy{padding-left:16px;padding-right:16px}
.sn-opening .hero-note{padding:10px 14px}
.sn-opening .scroll-cue{max-width:43%}
.sn-opening .motion-toggle{gap:6px}}
@media (prefers-reduced-motion:reduce){.sn-opening .art,.sn-opening .hero-copy{transform:none!important;will-change:auto}}
.sn-opening .art,.sn-opening .hero-copy{will-change:auto;transform:none!important}
.sn-opening .layered-scene{overflow:hidden}
.sn-opening .reveal-layer{will-change:opacity,transform}
.sn-opening .motion-controls{display:flex;gap:10px;align-items:center}
.sn-opening .motion-controls .motion-toggle{background:#fcf5e9f5}
.sn-opening .motion-controls button:disabled{opacity:.7}
@media (max-width:700px){.sn-opening .hero-note{flex-wrap:wrap;padding-top:15px}
.sn-opening .scroll-cue{max-width:none;width:100%;font-size:12px}
.sn-opening .motion-controls{width:100%;justify-content:space-between}
.sn-opening .motion-controls .motion-toggle{font-size:12px;min-height:44px;padding:8px 12px}}
@media (prefers-reduced-motion:reduce){.sn-opening .reveal-layer{opacity:1!important;transform:none!important;will-change:auto}}
@media (max-width:700px){.sn-opening .scene{aspect-ratio:1672/941}
.sn-opening .art{width:100%;left:0;right:0}}
.sn-opening.opening{background:var(--cream);overflow-anchor:none}
.sn-opening.opening.scroll-driven{height:calc(var(--opening-frame-height,100svh) + var(--scroll-distance))}
.sn-opening.scroll-driven .opening-frame{position:sticky;top:var(--opening-sticky-top,0px);height:var(--opening-frame-height,100svh);display:flex;flex-direction:column}
.sn-opening.scroll-driven .header{flex:0 0 104px}
.sn-opening.scroll-driven .hero{flex:1;min-height:0}
.sn-opening.scroll-driven .scene{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.sn-opening.scroll-driven .layered-scene{object-fit:contain}
.sn-opening.scroll-driven .hero-copy{top:4%;}
.sn-opening.scroll-driven .hero-note{bottom:18px}
@media (max-width:700px){.sn-opening.scroll-driven .header{flex-basis:90px}
.sn-opening.scroll-driven .hero{justify-content:center}
.sn-opening.scroll-driven .scene{position:relative;inset:auto;height:auto;aspect-ratio:1672/941;flex:0 0 auto}
.sn-opening.scroll-driven .hero-copy{top:auto;flex:0 0 auto;padding-top:24px;padding-bottom:18px}
.sn-opening.scroll-driven .hero-note{bottom:auto;flex:0 0 auto;padding-bottom:18px}}
@media (prefers-reduced-motion:reduce){.sn-opening.opening.scroll-driven{height:auto}
.sn-opening.scroll-driven .opening-frame{position:static;height:auto;display:block}
.sn-opening.scroll-driven .scene{position:relative;inset:auto;height:auto;aspect-ratio:1672/941}}
.sn-opening .ambient-snow{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.sn-opening .hero-copy,.sn-opening .hero-note{z-index:2}
@media (prefers-reduced-motion:reduce){.sn-opening .ambient-snow{display:none!important}}
.sn-opening .hero-logo{display:block;width:clamp(230px,21vw,300px);height:auto;margin:0 auto 12px;overflow:visible}
.sn-opening .hero-logo .logo-guides{opacity:0}
.sn-opening .hero-logo.is-drawing .logo-guides{opacity:1}
.sn-opening .hero-logo.is-drawing .logo-reveal-path{stroke-dasharray:100;stroke-dashoffset:100}
.sn-opening .hero-copy .hero-date{font-size:18px;font-weight:600;line-height:1.4;color:var(--green);margin:4px 0 8px}
.sn-opening .hero-copy .hero-place{margin:0;font-size:11px;letter-spacing:.14em}
.sn-opening .hero-copy h1{margin-bottom:7px}
.sn-opening.scroll-driven .hero-copy{top:3%}
@media (max-width:1000px) and (min-width:701px){.sn-opening .hero-logo{width:210px;margin-bottom:8px}
.sn-opening .hero-copy .hero-date{font-size:16px}
.sn-opening .hero-copy .hero-place{font-size:10px}}
@media (min-width:701px) and (max-height:820px){.sn-opening .hero-logo{width:220px;margin-bottom:8px}
.sn-opening .hero-copy h1{font-size:76px;line-height:1.08}
.sn-opening .hero-copy .hero-date{font-size:16px;margin-bottom:6px}
.sn-opening .hero-copy .hero-place{font-size:10px}
.sn-opening.scroll-driven .hero-copy{top:2%}}
@media (min-width:701px) and (max-height:700px){.sn-opening .hero-logo{width:140px;margin-bottom:6px}
.sn-opening .hero-copy h1{font-size:58px}}
@media (max-width:700px){.sn-opening .hero-logo{width:235px;max-width:84%;margin-bottom:15px}
.sn-opening.scroll-driven .hero-copy{top:auto;padding-top:18px;padding-bottom:20px}
.sn-opening .hero-copy .hero-date{font-size:16px;margin-top:10px;margin-bottom:7px}
.sn-opening .hero-copy .hero-place{font-size:10px;margin:0}
.sn-opening .hero-copy h1{margin-bottom:0}}
@media (max-width:350px){.sn-opening .hero-logo{width:205px}
.sn-opening .hero-copy h1{font-size:49px}}
@media (max-width:700px) and (max-height:720px){.sn-opening .hero-logo{width:175px;margin-bottom:8px}
.sn-opening .hero-copy h1{font-size:46px}
.sn-opening.scroll-driven .hero-copy{padding-top:10px;padding-bottom:12px}}
@media (prefers-reduced-motion:reduce){.sn-opening .hero-logo .logo-guides{display:none}
.sn-opening .hero-logo #logo-complet{opacity:1!important}}
.sn-opening.opening{border-bottom:1px solid #ae895399}
.sn-opening .hero-copy h1{font-family:var(--title-family);font-weight:var(--title-weight);font-size:calc(clamp(48px,4.5vw,74px)*var(--title-scale));line-height:1.1;letter-spacing:var(--title-spacing);color:var(--green);margin:0 auto 14px;max-width:790px;text-wrap:balance}
.sn-opening .hero-logo{width:clamp(220px,19vw,280px);margin-bottom:20px}
.sn-opening .hero-copy .hero-date{color:var(--green);margin:8px 0}
.sn-opening .hero-copy .hero-place{color:var(--green)}
.sn-opening .hero-note .scroll-cue{background:#fcf5e9dc;padding:8px 12px;border:1px solid #ae895355}
.sn-opening .motion-controls .motion-toggle{border-color:#ae895388}
.sn-opening .motion-toggle:hover{background:var(--green);color:var(--cream)}
@media (min-width:701px) and (max-height:820px){.sn-opening .hero-logo{width:195px;margin-bottom:12px}
.sn-opening .hero-copy h1{font-size:calc(54px*var(--title-scale));margin-bottom:10px}
.sn-opening .hero-copy .hero-date{margin:4px 0 6px}
.sn-opening.scroll-driven .hero-copy{top:2%}}
@media (min-width:701px) and (max-height:700px){.sn-opening .hero-logo{width:130px;margin-bottom:8px}
.sn-opening .hero-copy h1{font-size:calc(42px*var(--title-scale))}
.sn-opening .hero-copy .hero-date{font-size:14px}
.sn-opening .hero-copy .hero-place{font-size:9px}}
@media (max-width:1000px) and (min-width:701px){.sn-opening .hero-copy{left:17%;width:66%}
.sn-opening .hero-copy h1{font-size:calc(48px*var(--title-scale))}}
@media (max-width:700px){.sn-opening .hero-copy h1{font-size:calc(39px*var(--title-scale));max-width:380px;margin:0 auto 10px;line-height:1.08}
.sn-opening .hero-logo{width:190px;max-width:75%;margin-bottom:14px}
.sn-opening.scroll-driven .hero-copy{padding-top:19px;padding-bottom:18px}
.sn-opening .hero-copy .hero-date{font-size:16px;margin:8px 0}
.sn-opening .hero-note{padding-top:12px}
.sn-opening .hero-note .scroll-cue{padding:0;border:0;background:none}
.sn-opening .hero-note .motion-controls{gap:12px}
.sn-opening .hero-note .motion-toggle{font-size:11px}}
@media (max-width:350px){.sn-opening .hero-copy h1{font-size:calc(34px*var(--title-scale))}
.sn-opening .hero-logo{width:170px;margin-bottom:12px}
.sn-opening .hero-copy .hero-place{font-size:9px}}
@media (max-width:700px) and (max-height:720px){.sn-opening .hero-logo{width:135px;margin-bottom:10px}
.sn-opening .hero-copy h1{font-size:calc(32px*var(--title-scale))}
.sn-opening.scroll-driven .hero-copy{padding-block:10px}
.sn-opening .hero-copy .hero-date{font-size:14px}
.sn-opening .hero-copy .hero-place{font-size:9px}}
.sn-opening .hero-copy h1{font-family:var(--sn--typo--texte--famille),sans-serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(44px,4.2vw,62px);line-height:1.1;max-width:790px}
@media (min-width:701px) and (max-height:820px){.sn-opening .hero-copy h1{font-size:50px}}
@media (min-width:701px) and (max-height:700px){.sn-opening .hero-copy h1{font-size:40px}}
@media (max-width:1000px) and (min-width:701px){.sn-opening .hero-copy h1{font-size:45px}}
@media (max-width:700px){.sn-opening .hero-copy h1{font-size:36px;line-height:1.12;max-width:360px}}
@media (max-width:350px){.sn-opening .hero-copy h1{font-size:32px}}
@media (max-width:700px) and (max-height:720px){.sn-opening .hero-copy h1{font-size:30px}}
.sn-opening .hero-copy h1{font-family:var(--sn--typo--texte--famille),sans-serif}.sn-opening .hero-logo{display:block}.sn-opening [hidden]{display:none!important}

.sn-opening .scroll-cue{color:inherit}
