

.v2-h1 { font-size: min(12vw, calc(26vh - 30px), 180px); }
@media (max-width: 767px) { .v2-h1 { font-size: min(calc((100vw - 2 * var(--gout)) / 6.4), 92px); } }

.v2-surtitre-logo { display: block; height: clamp(30px, 3.2vw, 46px); width: auto; max-width: min(70vw, 320px); object-fit: contain; }
.v2-heros-desc { position: absolute; z-index: 1; left: var(--gout); bottom: clamp(48px, 9vh, 96px); max-width: 360px; text-align: left;
  font-family: var(--texte); font-size: 18px; line-height: 1.45; color: rgba(249, 247, 242, .78); text-wrap: pretty; }
.js:not(.v2-final) .v2-surtitre-logo, .js:not(.v2-final) .v2-heros-desc { opacity: 0; }
@media (max-width: 767px) {
  .v2-heros-desc { position: static; max-width: 420px; margin-top: 28px; text-align: center; }
}

.v2-clair { pointer-events: none; }
.v2-clair > section, .v2-clair > .v2-promesse { pointer-events: auto; }
.v2-bande { pointer-events: stroke; }
.v2-decoupe { pointer-events: fill; }

@media (min-width: 768px) {
  .v2-ruban + .v2-promesse { z-index: 3; background: linear-gradient(transparent 2.5vw, var(--fond) 2.5vw); }
}

.v2-texte em { font-style: normal; }
.v2-final .v2-c.o { color: var(--orange); }

.js:not(.v2-final) .v2-real-env.v2-env-libre::after { display: none; }
.js:not(.v2-final) .v2-real-env.v2-env-libre > .v2-real { position: relative; top: auto; }

.v2-sec--nuit .v2-coupe path { fill: var(--nuit); }
.v2-sec--clair .v2-coupe path { fill: var(--fond); }
.v2-sec--accent .v2-coupe path { fill: var(--orange); }
@media (min-width: 768px) { .js:not(.v2-final) .v2-real-env + [data-dome] { margin-top: -100vh; } }

.js:not(.v2-final) [data-dome] .v2-coupe { transform: scaleY(0); transform-origin: 50% 100%; }

.v2-tete { display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(90px, 11vh, 150px) var(--gout) clamp(190px, 25vh, 300px); }
.v2-tete .v2-h2 { margin-top: 30px; font-size: clamp(72px, 9.4vw, 176px); }
.js:not(.v2-final) .v2-tete .v2-h2 .l > span { transform: translateY(110%); }
.js:not(.v2-final) .v2-tete .v2-sur { opacity: 0; }
.v2-signe-q { display: inline-block; position: relative; width: .5em; height: .74em; vertical-align: baseline; }
.v2-signe-q-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v2-signe-fil { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
.v2-q-forme path { fill: none; stroke: #FF4107; stroke-linecap: round; stroke-linejoin: round; }
.v2-q-point { fill: #FF4107; stroke: none; transform-box: fill-box; transform-origin: 50% 50%; }
.v2-q-masque-trait { stroke-linecap: butt; }
.v2-tete > :not(.v2-signe-fil):not(.v2-coupe) { position: relative; z-index: 1; }

.js:not(.v2-final) .v2-ch[data-fil] .v2-ch-titre .l > span { transform: translateY(110%); }
.js:not(.v2-final) .v2-ch[data-fil] .v2-ch-num, .js:not(.v2-final) .v2-ch[data-fil] .v2-ch-para { opacity: 0; }

html { scrollbar-width: none; }
html::-webkit-scrollbar { width: 0; height: 0; display: none; }

.v2-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.v2-cible-foyer:focus { outline: none; }
