/* Presto · pages intérieures (02/11/2026) : ce que le Designer de Webflow ne sait pas écrire. */
.pg-js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.pg-js [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .pg-js [data-reveal] { opacity: 1; transform: none; transition: none; } }

.pg-top { transition: box-shadow .3s ease; }
.pg-top.is-bas { box-shadow: 0 10px 30px rgba(120, 30, 0, .08); }

.pg-filtre[aria-pressed='true'] { background-color: #ff4e00; color: #f8f0e5; border-color: #ff4e00; }
.pg-film[hidden] { display: none; }
.pg-film:focus-visible, .pg-phare:focus-visible, .pg-filtre:focus-visible { outline: 2px solid #ff4e00; outline-offset: 4px; }

.pg-slot { position: absolute; inset: 0; }
.pg-slot > .w-embed, .pg-slot > iframe { position: absolute; inset: 0; }
.h5-agenda-embed .pg-slot, .h5-agenda-embed .pg-slot > .w-embed { position: static; }
.h5-agenda-frame { height: 780px; }
@media screen and (max-width: 767px) { .h5-agenda-frame { height: 900px; } }

.h5-faq-q::-webkit-details-marker { display: none; }
.h5-faq-q::marker { content: ''; }
.h5-faq-plus { display: inline-block; transition: transform .25s ease; }
.h5-faq-item[open] .h5-faq-plus { transform: rotate(45deg); }
.pg-faq .h5-faq-list { margin-top: 56px; }

.pg-lb-ouvert { overflow: hidden; }
.pg-lb { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 5vw; background: rgba(26, 26, 26, .92); }
.pg-lb-cadre { position: relative; width: min(1280px, 100%); aspect-ratio: 16 / 9; max-height: 100%; }
.pg-lb-cadre iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pg-lb-fermer { position: absolute; top: 18px; right: 22px; width: 52px; height: 52px; border: 0; background: #f8f0e5; color: #ff4e00; font: 700 30px/1 bicyclette, 'Helvetica Neue', Arial, sans-serif; cursor: pointer; }

/* Survol des cases (03/11/2026) : curseur maison, pastille « Voir le projet », film en boucle dans la vignette */
html.pg-curseur-on, html.pg-curseur-on * { cursor: none !important; }
html.pg-curseur-on input[type='text'], html.pg-curseur-on input[type='email'], html.pg-curseur-on textarea { cursor: text !important; }
.pg-curseur { position: fixed; left: 0; top: 0; z-index: 2147483000; width: 0; height: 0; pointer-events: none; opacity: 0; transition: opacity .2s ease; }
.pg-curseur.is-vu { opacity: 1; }
.pg-curseur.is-vu.is-cache { opacity: 0; }
.pg-curseur-point { position: absolute; left: -5px; top: -5px; width: 10px; height: 10px; border-radius: 50%; background-color: #1a1a1a; box-shadow: 0 0 0 1.5px #f8f0e5; transition: transform .25s cubic-bezier(.215,.61,.355,1); }
.pg-curseur-rond { position: absolute; left: -24px; top: -24px; width: 48px; height: 48px; border: 1.5px solid #1a1a1a; border-radius: 50%; box-shadow: 0 0 0 1px rgba(248,240,229,.6), inset 0 0 0 1px rgba(248,240,229,.6); opacity: 0; transform: scale(.2); transition: transform .3s cubic-bezier(.215,.61,.355,1), opacity .2s ease; }
.pg-curseur.is-lien .pg-curseur-rond { opacity: 1; transform: scale(1); }
.pg-curseur.is-lien .pg-curseur-point { transform: scale(.6); }
.pg-curseur.is-appui .pg-curseur-rond { transform: scale(.82); }
.pg-pastille { position: fixed; left: 0; top: 0; z-index: 2147482500; width: 0; height: 0; pointer-events: none; }
.pg-pastille svg, .pg-pastille-embleme { position: absolute; transition: transform .45s cubic-bezier(.34,1.56,.64,1), opacity .25s ease; opacity: 0; transform: scale(0); }
.pg-pastille svg { left: -66px; top: -66px; width: 132px; height: 132px; border-radius: 50%; background-color: #ff4e00; box-shadow: 0 18px 40px rgba(120,30,0,.25); color: #f8f0e5; }
.pg-pastille.is-on svg { opacity: 1; transform: scale(1); }
.pg-pastille svg text { font-family: bicyclette, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 9.6px; letter-spacing: .22em; fill: currentColor; text-transform: uppercase; }
.pg-pastille.is-on svg text { animation: pg-tourne 9s linear infinite; transform-origin: 50px 50px; }
.pg-pastille-embleme { left: -27px; top: -23px; width: 54px; height: 46px; max-width: none; }
.pg-pastille.is-on .pg-pastille-embleme { opacity: 1; transform: scale(1) rotate(-8deg); }
@keyframes pg-tourne { to { transform: rotate(360deg); } }
.pg-film { position: relative; z-index: 0; }
.pg-film .pg-media { position: relative; transition: transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s ease; transform-origin: 50% 60%; }
.pg-film.is-survol { z-index: 3; }
.pg-film.is-survol .pg-media { transform: scale(1.1); box-shadow: 0 28px 60px rgba(120,30,0,.28); }
.pg-boucle { position: absolute; left: 50%; top: 50%; width: 100%; height: auto; min-height: 100%; aspect-ratio: 16 / 9; transform: translate(-50%, -50%); border: 0; pointer-events: none; opacity: 0; transition: opacity .4s ease; }
.pg-boucle.is-on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .pg-film .pg-media { transition: none; } .pg-film.is-survol .pg-media { transform: none; } .pg-pastille.is-on svg text { animation: none; } }

/* Réalisations (03/11/2026) : plus de titre « Trois cas en détail », les 3 cas suivent l'intro sans coupure */
[data-page='realisations'] .pg-hero + .pg-section { padding-top: 0; }

/* Lecteur au clic (03/11/2026) : affiche du film + bouton lecture Presto */
.pg-facade { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; padding: 0; border: 0; background: #1a1a1a; color: #f8f0e5; cursor: pointer; font: 700 14px/1 bicyclette, 'Helvetica Neue', Arial, sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.pg-facade-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: opacity .3s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
.pg-facade:hover .pg-facade-img { opacity: 1; transform: scale(1.03); }
.pg-facade-play { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; border-radius: 50%; background: #ff4e00; box-shadow: 0 18px 40px rgba(120,30,0,.35); transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.pg-facade-play svg { width: 34px; height: 34px; margin-left: 4px; fill: #f8f0e5; }
.pg-facade:hover .pg-facade-play { transform: scale(1.08); }
.pg-facade-txt { position: relative; z-index: 1; padding: 8px 12px; background: rgba(26,26,26,.55); }
.pg-facade:focus-visible { outline: 3px solid #ff4e00; outline-offset: -3px; }
@media screen and (max-width: 767px) { .pg-facade-play { width: 64px; height: 64px; } .pg-facade-play svg { width: 26px; height: 26px; } .pg-facade-txt { display: none; } }
