/* Marcellus SC (contours exacts), subset OFL renommé Theosis Capitals.
   Atelier Theosis — nuit / aube. Changer le couple typographique ici. */
@font-face{font-family:"Theosis Capitals";src:url("fonts/marcellus-sc.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("fonts/eb-garamond.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("fonts/eb-garamond-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{--font-title:"Theosis Capitals",serif;--font-reading:"EB Garamond",serif;--night:#07090d;--wine:#420810;--paper:#f3e3ca;--gold:#d4b070;--rubric:#7f0f18;--muted:#cbbb9e;--margin:24px;--header:82px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:100px}body{margin:0;background:var(--night);color:var(--paper);font-family:var(--font-reading);font-size:22px;line-height:1.4;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{touch-action:manipulation}a{color:inherit;text-underline-offset:.23em;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--gold)}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-title);font-weight:400;line-height:1.12;text-wrap:balance}h1{font-size:clamp(36px,9.2vw,86px);letter-spacing:-.015em}h2{font-size:clamp(34px,8.8vw,64px);letter-spacing:-.012em}p{max-width:39ch;text-wrap:pretty}p+p{margin-top:24px}h1+p,h2+p{margin-top:32px}img{display:block;max-width:100%}svg{display:block}.sign{width:100%;height:100%;color:var(--gold)}[hidden]{display:none!important}main:focus,h2:focus{outline:none}.paper{background:var(--paper);color:var(--rubric);color-scheme:light}.paper p{color:#302623}.skip{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--paper);color:var(--rubric);z-index:100;transform:translateY(-160%)}.skip:focus{transform:none}
/* Identité et navigation : aucun panneau plein écran imposé. */
.site-header{position:absolute;top:0;left:0;width:100%;z-index:20;min-height:var(--header);display:flex;align-items:center;padding:18px var(--margin);gap:12px;border-bottom:1px solid #f3e3ca26;background:#07090de8}.brand{font:400 17px/1.05 var(--font-title);display:flex;align-items:center;gap:10px;text-decoration:none;max-width:168px}.brand-sign{width:25px;height:34px;flex-shrink:0}.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:16px}.header-cta{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--gold)}.menu-toggle{border:0;background:none;color:inherit;font-size:16px;padding:0;min-width:44px;min-height:44px}.site-header nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--night);padding:24px var(--margin) 36px;border-bottom:1px solid var(--gold)}.site-header nav a{display:flex;min-height:55px;align-items:center;font-family:var(--font-title);font-size:24px;text-decoration:none}.site-header nav a[aria-current]{color:var(--muted)}.site-header.is-open nav{display:block}.menu-toggle:before{content:"";display:inline-block;width:12px;height:5px;border-block:1px solid currentColor;margin-right:7px;vertical-align:middle}.site-header.is-open .menu-toggle:before{height:1px;border-bottom:0}
/* Accueil : un rail du signe et des champs dans le flux normal. */
.descent{position:relative}.sign-rail{position:absolute;inset:0;z-index:4;pointer-events:none}.sign-stage{position:sticky;top:110px;height:300px;width:66%;margin:0 auto}.traced .ghost{opacity:.08}.traced .ink{color:var(--paper)}.traced .gold{color:var(--gold)}.js .traced .gold{opacity:1}.traced .gold{opacity:0}.js .traced .ghost{opacity:.1}.js .traced .ink{opacity:1}.scene{position:relative;min-height:1080px;padding:460px var(--margin) 120px;isolation:isolate;overflow:clip}.scene .copy{position:relative;z-index:5;max-width:600px}.copy h1,.copy h2{max-width:11ch}.copy p{max-width:31ch}.signature{font-size:17px;letter-spacing:.03em;margin-bottom:34px;color:var(--muted)}.vigil .copy>p:nth-child(2){font-style:italic;margin-bottom:24px;font-size:20px}.poster,.ambient,.flame-video,.sequence-poster,.sequence-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.poster img,.sequence-poster img{height:100%;width:100%;object-fit:cover}.vigil .poster{z-index:-3}.flame-video{z-index:-2;opacity:0}.flame-video.ready{opacity:1}.vigil:after,.cord:after,.page-opening:after,.valdes:after{content:"";position:absolute;inset:0;z-index:-1;background:#07090d99}.vigil .copy{padding-bottom:4px}.vigil .copy:before,.cord .copy:before,.battle .copy:before,.page-opening .copy:before,.valdes .reading:before{content:"";position:absolute;inset:-24px -24px;z-index:-1;background:var(--night);opacity:.87}.vigil .poster img,.flame-video{object-position:28% 50%}.vigil{min-height:1080px}.pass{display:inline-flex;align-items:center;gap:20px;min-height:48px;font-size:17px;text-decoration:none;border-bottom:1px solid #cbbb9e80;margin-top:40px}.motion-control{position:absolute;left:24px;bottom:40px;z-index:8;font-size:16px;color:var(--paper);background:#07090dcc;border:1px solid #cbbb9e80;padding:8px 14px;min-height:44px}.cord{min-height:1200px;padding-top:620px;background:var(--night)}.cord .ambient{z-index:-3;object-position:56% 32%}.rule{background:var(--wine);min-height:1130px;padding-top:450px}.rule h2{max-width:14ch;font-size:clamp(30px,7.7vw,64px);line-height:1.23}.rule h2 br{display:block}.rule p{margin-top:40px;color:var(--muted)}.battle{min-height:1500px;padding:750px var(--margin) 100px;overflow:visible;background:var(--wine)}.sequence-stage{position:absolute;inset:0;z-index:-3;overflow:clip}.sequence-poster,.sequence-canvas{object-fit:cover}.sequence-stage:after{content:"";position:absolute;inset:0;background:#07090d80}.sequence-canvas{opacity:0}.sequence-canvas.ready{opacity:1}.battle .copy>p:first-child{font-style:italic;color:var(--muted);font-size:22px;margin-bottom:32px}.battle .copy a:not(.pass){min-height:44px;display:inline-flex;align-items:center}.battle .copy:before{background:var(--wine);opacity:.94}.aube,.ending{padding:96px var(--margin);min-height:840px;position:relative}.ending-sign{width:220px;height:290px;margin-bottom:64px}.ending-sign .sign{color:var(--rubric)}.aube h2,.ending h2{max-width:11ch}.aube p,.ending p{font-size:25px;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;background:var(--rubric);color:var(--paper);font-size:22px;line-height:1.2;padding:18px 28px;min-height:64px;text-decoration:none;border:1px solid var(--rubric);margin-top:36px}.button:hover{background:#561018;color:var(--paper)}.button span{font-size:25px}.button:focus-visible{outline-color:var(--rubric)}
/* Les lettres : dispositif prêt, service encore non connecté. */
.join{padding:80px var(--margin);background:var(--paper);color:#302623;border-top:1px solid #7f0f1840;color-scheme:light}.join h2{color:var(--rubric);font-size:42px}.join-heading p{font-size:24px}.join-body{margin-top:40px;max-width:610px}.service-state{font-size:22px;border-left:2px solid var(--rubric);padding-left:20px;color:var(--rubric)}.form-note{font-size:16px;margin:24px 0;line-height:1.45}.letter-form fieldset{border:0;padding:0;margin:32px 0 0;min-width:0}.letter-form label{display:block;font-size:18px;margin-bottom:8px}.letter-form label span{font-size:16px}.letter-form input:not([type=checkbox]){width:100%;padding:12px 14px;min-height:50px;background:transparent;border:1px solid #72645a;color:#302623;border-radius:0;margin-bottom:24px}.letter-form input:disabled{border-color:#9e9387;background:#e8dfce}.letter-form .consent{display:flex;gap:14px;align-items:flex-start;margin-top:8px}.consent input{width:20px;height:20px;flex:0 0 20px;margin:5px 0;accent-color:var(--rubric)}.letter-form .consent span{font-size:16px;line-height:1.5}.letter-form button{margin-top:24px}.letter-form button:disabled{cursor:not-allowed;background:#d3c7b6;border-color:#897868;color:#51463c}.error{color:var(--rubric);font-size:18px}.doors{padding:24px var(--margin) 72px;background:var(--paper);color:var(--rubric)}.doors a{font:400 26px/1.2 var(--font-title);border-top:1px solid #7f0f1850;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:86px}.doors a:last-child{border-bottom:1px solid #7f0f1850}.doors a:hover{padding-left:8px}
/* Pages de lecture : même matière, rythmes distincts. */
.page-opening{position:relative;isolation:isolate;min-height:960px;padding:240px var(--margin) 96px;overflow:clip}.page-opening .ambient{z-index:-3}.page-opening .copy{position:relative;max-width:650px;z-index:2}.page-opening h1{max-width:11ch}.page-opening p{font-size:22px;max-width:32ch}.history-opening .ambient{object-position:63% 26%;opacity:.8}.history-opening{padding-top:330px;min-height:1160px}.reading{max-width:620px;position:relative}.theosis{padding:100px var(--margin)}.theosis h2{font-size:56px}.theosis p:last-child{font-size:28px;font-style:italic}.sign-reading{padding:80px var(--margin) 96px;background:var(--wine)}.sign-display{width:220px;height:290px;margin-bottom:64px}.sign-reading .reading p:first-child{font-size:22px;line-height:1.6}.sign-reading .reading p:nth-child(2){font-size:29px}.sign-reading .reading p:last-child{color:var(--muted);font-style:italic}.rosary-opening{min-height:1000px;padding-top:410px}.rosary-opening .ambient{object-position:58% 30%;opacity:.8}.prayer-line{padding:100px var(--margin)}.prayer-line p{font-size:32px;line-height:1.3}.valdes{position:relative;isolation:isolate;min-height:1150px;padding:430px var(--margin) 100px;overflow:clip}.valdes .ambient{z-index:-3;object-position:53% 0;opacity:.9}.valdes .reading{z-index:2}.valdes .reading p{font-size:22px}.inscription{padding:90px var(--margin)}.latin{font-family:var(--font-title);font-size:27px;line-height:1.35;color:var(--rubric)!important;overflow-wrap:anywhere}.inscription p:last-child{font-size:17px;color:#66574d}.saints{padding:50px var(--margin) 100px;background:var(--wine)}.saints p{border-top:1px solid #cbbb9e50;padding:48px 0;max-width:none;font-size:22px}.saints strong{display:inline-block;font-family:var(--font-title);font-weight:400;font-size:28px;line-height:1.2;margin-bottom:16px;max-width:22ch}.combat-opening{min-height:970px;padding-top:350px;background:var(--wine)}.combat-opening:after{display:none}.combat-opening .copy:before{background:var(--wine);opacity:.94}.silent-sign{position:absolute;right:-60px;top:160px;width:330px;height:430px;opacity:.08;z-index:-1}.gestures{padding:100px var(--margin)}.gestures p{font-size:31px;line-height:1.6}.fraternity{padding:100px var(--margin);background:var(--wine)}.fraternity p{font-size:28px}.links-opening{padding:140px var(--margin) 72px;background:var(--wine)}.links-sign{width:130px;height:170px;margin-bottom:44px}.links-opening h1{font-size:38px}.links-opening>p{color:var(--muted);font-size:22px}.socials{margin-top:56px;max-width:700px}.socials a{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid #cbbb9e60;font:400 28px var(--font-title);text-decoration:none;min-height:82px}.socials a:last-child{border-bottom:1px solid #cbbb9e60}
/* Services : champs réservés explicites, lecture libre au zoom. */
.service{background:var(--paper);color:#302623;color-scheme:light}.service .site-header{background:var(--paper);color:var(--rubric);border-color:#7f0f1830}.service .site-header nav{background:var(--paper)}.service .brand-sign{color:var(--rubric)}.legal{padding:170px var(--margin) 96px;max-width:950px;margin:auto;overflow-wrap:anywhere}.legal h1{font-size:clamp(34px,7.8vw,58px);color:var(--rubric)}.legal h2{font-size:28px;margin-top:56px;color:var(--rubric)}.legal p{max-width:64ch;font-size:20px;line-height:1.6}.legal h2+p{margin-top:20px}.not-found{padding:170px var(--margin) 110px;min-height:85svh}.not-found>.sign{width:130px;height:170px;color:var(--rubric);margin-bottom:50px}.not-found h1{max-width:15ch}.not-found p a{min-height:48px;display:inline-flex;align-items:center}.site-footer{padding:64px var(--margin) 40px;background:var(--night);color:var(--paper);font-size:17px}.footer-brand{font:400 24px var(--font-title);text-decoration:none}.site-footer>p{margin-top:16px}.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:32px}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px}.copyright{color:var(--muted);font-size:16px}.site-footer details{max-width:850px;border-top:1px solid #cbbb9e40;margin-top:40px;padding-top:20px}.site-footer summary{cursor:pointer;min-height:44px}.site-footer details p{font-size:16px;max-width:70ch;line-height:1.5;margin-top:16px}.site-footer details:target{scroll-margin-top:24px}
@media(min-width:701px){:root{--margin:6vw;--header:100px}.site-header{padding-block:26px}.brand{font-size:22px;max-width:none}.brand-sign{width:32px;height:42px}.header-actions{font-size:19px;gap:26px}.header-cta{font-size:19px}.menu-toggle{font-size:19px}.sign-stage{margin:0 7% 0 auto;top:140px;width:37%;height:calc(100svh - 200px);max-height:620px}.scene{padding:330px var(--margin) 100px;min-height:100svh}.scene .copy{width:51%;max-width:650px}.vigil{min-height:112svh;padding-top:32svh}.vigil .copy h1{font-size:clamp(58px,5.6vw,86px);max-width:10.8ch}.vigil .poster img,.flame-video{object-position:center}.vigil .copy:before,.cord .copy:before,.battle .copy:before{inset:-40px;background:var(--night);opacity:.9}.cord{min-height:125svh;padding-top:34svh}.cord .ambient{width:58%;left:auto;right:0;object-position:center}.cord:after{background:#07090d55}.rule{min-height:125svh;padding-top:30svh}.rule h2{font-size:clamp(42px,3.6vw,60px);max-width:15ch}.rule .copy{width:60%}.battle{min-height:150svh;padding-top:48svh}.battle .copy{width:46%;max-width:520px}.battle .copy:before{background:var(--wine);opacity:.94}.battle .copy p{font-size:27px}.sequence-stage{inset:0 0 0 25%}.motion-control{left:6vw}.aube,.ending{padding:110px var(--margin);min-height:920px;display:grid;grid-template-columns:1.2fr 1fr;column-gap:12%;align-content:center}.ending-sign{grid-column:2;grid-row:1/4;width:100%;max-width:340px;height:450px;margin:0 auto}.aube h2,.ending h2{grid-column:1;font-size:clamp(54px,5.5vw,86px)}.aube p,.ending p{grid-column:1;font-size:30px}.aube .button,.ending .button{grid-column:1;justify-self:start}.join{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:110px}.join h2{font-size:58px}.join-heading p{font-size:28px}.join-body{margin-top:0}.doors{padding-bottom:100px}.doors a{font-size:clamp(32px,3vw,46px);min-height:120px}.page-opening{padding-top:260px;min-height:940px}.page-opening .copy{width:52%;max-width:680px}.history-opening .ambient{left:auto;width:55%;object-position:center}.history-opening .copy:before{inset:-40px;opacity:.94}.page-opening h1{font-size:clamp(56px,5.7vw,86px)}.page-opening .copy p{font-size:25px}.theosis{padding:130px var(--margin) 140px}.theosis .reading{margin-left:40%;max-width:600px}.theosis h2{font-size:82px}.theosis p{font-size:28px}.sign-reading{display:grid;grid-template-columns:1fr 1.1fr;gap:15%;padding:140px var(--margin)}.sign-display{position:sticky;top:90px;width:100%;max-width:360px;height:480px;margin:0}.sign-reading .reading{max-width:600px}.sign-reading .reading p:first-child{font-size:25px}.rosary-opening{padding-top:32svh;min-height:110svh}.rosary-opening .ambient{object-position:50% 32%}.rosary-opening .copy:before{inset:-40px}.prayer-line{padding:130px var(--margin)}.prayer-line .reading{margin-left:40%}.prayer-line p{font-size:43px}.valdes{padding:420px var(--margin) 100px;min-height:1100px}.valdes .ambient{left:auto;right:0;width:75%;object-position:50% 10%}.valdes .reading{max-width:580px}.valdes .reading:before{inset:-40px;opacity:.96}.valdes .reading p{font-size:25px}.inscription{padding:130px var(--margin)}.inscription .reading{max-width:1000px;margin:auto}.latin{font-size:clamp(32px,4.2vw,58px);max-width:none}.inscription p:nth-child(2){font-size:28px;max-width:50ch}.saints{padding:80px var(--margin) 130px}.saints p{display:block;padding:60px 0;max-width:800px;margin-left:25%;font-size:25px}.saints strong{font-size:42px;max-width:28ch}.combat-opening{padding-top:26svh}.silent-sign{width:38%;height:600px;right:5%;top:180px;opacity:.2}.combat-opening .copy:before{display:none}.gestures,.fraternity{padding:140px var(--margin)}.gestures .reading{margin-left:35%;max-width:700px}.gestures p{font-size:42px}.fraternity p{font-size:38px}.links-opening{max-width:none;padding:190px var(--margin) 100px;display:grid;grid-template-columns:1fr 1fr;gap:24px 12%}.links-sign{grid-column:1;grid-row:1/5;width:260px;height:350px;margin:0}.links-opening h1,.links-opening>p,.links-opening>.button,.socials{grid-column:2}.links-opening h1{font-size:52px}.links-opening>.button{justify-self:start}.socials{margin-top:20px}.legal{padding-top:180px}.not-found{padding-top:180px;min-height:850px}.not-found h1{font-size:74px}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:0 10%;padding-top:80px}.site-footer nav{margin-top:0;grid-column:2;grid-row:1/3}.site-footer details{grid-column:1/-1}}
@media(min-width:1150px){.site-header nav{display:flex;position:static;width:auto;margin-left:auto;gap:28px;padding:0;background:none;border:0;order:2}.site-header nav a{font-family:var(--font-reading);font-size:19px;min-height:44px}.header-actions{order:3;margin-left:24px}.menu-toggle{display:none}}
@media(max-width:359px){:root{--margin:20px}.brand{font-size:16px;gap:6px}.brand-sign{width:20px}.header-actions{gap:8px}.header-cta,.menu-toggle{font-size:16px}.site-header{gap:6px}.scene{padding-top:440px}.rule h2{font-size:27px}}
/* Zoom / préférence utilisateur : pas de média, aucun tracé imposé. */
@media(prefers-reduced-motion:reduce){.traced .ghost,.traced .gold{display:none}.traced .ink{mask:none}.flame-video,.sequence-canvas,.motion-control{display:none!important}.doors a:hover{padding-left:0}}
@media(max-height:600px) and (max-width:700px){.sign-rail{display:none}.scene{padding-top:220px;min-height:900px}}
@media print{.site-header,.site-footer,.sign-rail,.flame-video,.sequence-stage,.motion-control,.letter-form{display:none!important}body,.scene,.page-opening,.sign-reading,.fraternity,.saints{background:white!important;color:black!important;min-height:0!important;padding:24px!important}.ambient,.poster{display:none}h1,h2,p{color:black!important}.copy:before{display:none!important}}
.traced .ink{mask:none}.js .traced .ink{mask:url(#reveal)}
.sequence-window{position:sticky;top:0;width:100%;height:100svh}.sequence-stage{overflow:visible}.sequence-window{overflow:clip}
/* Réception 2 : fond continu, sans rectangle derrière un incipit. */
.site-header{flex-wrap:wrap}.brand,.footer-brand{min-height:44px}.vigil .copy:before,.cord .copy:before,.page-opening .copy:before,.valdes .reading:before{display:none}
.vigil:after,.cord:after,.page-opening:after,.valdes:after{background:linear-gradient(180deg,#07090d22 0%,#07090d88 25%,#07090df2 48%,#07090dfc 80%)}
.vigil .poster,.flame-video{height:460px}.vigil{padding-top:430px;min-height:960px}.vigil .signature{margin-bottom:26px}.vigil .copy>p:nth-child(2){margin-bottom:22px}.vigil .copy h1{max-width:13ch;font-size:35px}.vigil .pass{margin-top:28px}
.cord{min-height:1000px;padding-top:500px}.rule{min-height:1020px;padding-top:410px}.battle{min-height:1220px;padding-top:680px}.battle .copy:before{display:none}.sequence-stage:after{background:linear-gradient(180deg,#07090d22 0%,#07090d55 34%,#420810f8 58%,#420810 90%)}
.sign-stage{height:290px}.aube,.ending{min-height:800px}.join{padding-top:60px;padding-bottom:56px}.join-body{margin-top:32px}.letter-form>.form-note{margin-bottom:0}.form-note{overflow-wrap:anywhere}.saints p{margin-top:0}.saints strong{font-size:30px}.history-opening .ambient{opacity:1}.history-opening{padding-top:340px}
@media(min-width:701px){.site-header{flex-wrap:nowrap}.vigil{padding-top:32svh;min-height:112svh}.vigil .poster,.flame-video{height:100%}.vigil .copy h1{font-size:clamp(58px,5.6vw,86px);max-width:13.5ch}.vigil:after,.cord:after,.page-opening:after,.valdes:after{background:linear-gradient(90deg,#07090df9 0%,#07090dee 35%,#07090d55 64%,#07090d44 100%)}.vigil .poster img,.flame-video{object-position:center}.cord{padding-top:34svh;min-height:120svh}.rule{padding-top:30svh;min-height:120svh}.battle{padding-top:48svh;min-height:140svh}.rule .copy{width:52%}.sign-stage{height:calc(100svh - 200px)}.sequence-stage:after{background:linear-gradient(90deg,#420810 0%,#420810f5 30%,#07090d88 65%,#07090d55 100%)}.aube,.ending{min-height:850px}.join{padding-block:90px}.join-body{margin-top:0}.history-opening{padding-top:260px}}
/* Réception 3 : la flamme demeure dans la réserve, la lecture commence sur le noir. */
.vigil:after{background:linear-gradient(180deg,#07090d11 0%,#07090d22 34%,#07090ded 42%,#07090dfc 62%)}.vigil .poster img,.flame-video{object-position:50% 100%}.vigil .copy h1{font-size:31px;max-width:none;line-height:1.2}.vigil .copy{max-width:342px}.valdes .ambient{object-position:50% 0}.valdes{padding-top:520px;min-height:1280px}.valdes:after{background:linear-gradient(180deg,#07090d11 0%,#07090d66 30%,#07090df5 42%,#07090dfc 70%)}.cord .ambient{object-position:56% 28%}
html:not(.js) .menu-toggle{display:none}.no-js-nav{padding:110px 24px 28px;background:var(--night);color:var(--paper);display:flex;flex-wrap:wrap;gap:4px 24px;font-size:19px}.no-js-nav a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:701px){.vigil:after{background:linear-gradient(90deg,#07090df7 0%,#07090ddd 35%,#07090d22 64%,#07090d22 100%)}.vigil .poster img,.flame-video{object-position:50% 50%}.vigil .copy{width:54%;max-width:700px}.vigil .copy h1{font-size:clamp(54px,4.7vw,72px);max-width:none;line-height:1.16}.valdes{padding-top:340px;min-height:1150px}.valdes .ambient{width:60%;object-position:50% 25%}.valdes:after{background:linear-gradient(90deg,#07090dfc 0%,#07090df8 35%,#07090d99 55%,#07090d22 100%)}.no-js-nav{padding-inline:6vw}}
@media(min-width:1150px){.no-js-nav{display:none}}

/* Surface tactile réelle du lien de pied de page. */
.footer-brand{display:inline-flex;align-items:center}

/* Le texte quitte la réserve avant la remontée : aucun temps imposé au lecteur. */
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.js .battle{padding-bottom:600px}}

/* La matière habite tout le champ ; les fondus ménagent la lecture à gauche. */
.sequence-stage{inset:0}
@media(min-width:701px){.cord .ambient,.history-opening .ambient{width:100%;left:0;right:0;object-position:65% 40%}}

/* Correction 1 : réserve propre du signe pendant la lecture. */
@media(max-width:700px){.sign-stage{top:130px;width:104px;height:180px;margin:0 16px 0 auto}.scene .copy{max-width:238px}.js .traced .ghost{opacity:.05}}

/* Correction 4 : l’œuvre couvre le champ sans frontière de demi-écran. */
.valdes .ambient{width:100%;left:0;right:0;object-fit:contain;object-position:78% 10%}.cord .ambient{object-fit:contain;object-position:76% 0}.sequence-poster img{object-position:50% 20%}

/* Correction 5 : récit dans le flux, réserve latérale, or sur 300 px. */
@media(max-width:700px){.vigil{min-height:960px}.cord{min-height:1250px;padding-top:390px}.rule{min-height:1250px;padding-top:350px}.rule h2{font-size:28px;line-height:1.3;text-wrap:pretty;max-width:none}.rule .copy{max-width:238px}.battle,.js .battle{min-height:1120px;padding:180px var(--margin) 200px}.battle .copy{max-width:238px}.battle .copy p{font-size:22px}.aube{min-height:850px}.cord:after{background:linear-gradient(180deg,#07090d00 0%,#07090d22 20%,#07090dee 54%,#07090d 84%)}.sequence-stage:after{background:linear-gradient(90deg,#420810f2 0%,#420810b0 52%,#07090d30 100%)}}
@media(min-width:701px){.battle{min-height:110svh;padding-top:26svh}.valdes:after{background:linear-gradient(90deg,#07090dfc 0%,#07090deb 35%,#07090d66 65%,#07090d22 100%)}}

@media(min-width:701px){.vigil .poster img,.flame-video{object-position:50% 76%;height:90%}.vigil .copy{width:57%;max-width:740px}.vigil .copy h1{font-size:clamp(52px,4.5vw,68px);text-wrap:pretty}}

/* Le signe statique accompagne la lecture sans deuxième animation. */
.sign-reading .reading p{font-size:22px;line-height:1.5}.sign-reading .reading p:last-child{font-size:20px}.sign-reading .reading p:nth-last-child(2){font-size:28px;color:var(--paper)}
@media(max-width:700px){.sign-reading{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;padding-inline:20px}.sign-display{position:sticky;top:116px;width:88px;height:150px;margin:0}.sign-reading .reading p{font-size:19px}.sign-reading .reading p:nth-last-child(2){font-size:24px}}

/* En-tête stable : libellé court, nom accessible explicite. */
@media(max-width:700px){.menu-toggle{min-width:62px}.brand{font-size:17px;gap:7px}.header-actions{gap:10px}.header-cta{font-size:16px}.site-header{gap:8px}.aube .ending-sign{display:none}.aube{min-height:850px;padding-top:170px}.aube h2{font-size:45px}.gestures{padding-block:72px}.fraternity{padding-block:80px}.combat-opening{min-height:780px}.saints{padding-block:70px}.saints p{border:0;padding:0;max-width:36ch}.saints p+p{margin-top:24px}}

/* Réception correction 2 : corps homogènes et réserves utiles. */
@media(max-width:700px){.vigil .copy h1{font-size:25px;line-height:1.24;max-width:238px}.sign-stage{width:104px;height:150px;top:116px}.cord .ambient{height:660px;object-position:90% 0}.history-opening{min-height:0;padding-bottom:100px}.rosary-opening{min-height:0;padding-bottom:100px}.valdes{min-height:0;padding-bottom:96px}.sign-reading .reading p:first-child,.sign-reading .reading p:nth-child(2),.sign-reading .reading p:last-child{font-size:19px;line-height:1.5}.sign-reading .reading p:nth-last-child(2){font-size:24px}.aube{min-height:850px;padding-top:170px}}

/* Correction 3 : matière fondue et deux présences lisibles dans le même champ. */
.cord .ambient{mix-blend-mode:lighten;opacity:.72}.aube .ending-sign{width:48px;height:62px;margin:0 0 32px;grid-column:1;grid-row:1}.aube h2{grid-row:2}.aube>p{grid-row:3}.aube>.button{grid-row:4}
@media(max-width:700px){.vigil .copy{max-width:300px}.vigil .copy h1{font-size:26px;max-width:300px;text-wrap:pretty}.aube .ending-sign{display:block}.aube{padding-top:110px}.rule h2{font-size:28px;max-width:238px}.saints strong{font:italic 22px var(--font-reading)}}
@media(min-width:701px){.sign-stage{width:30%;height:560px;max-height:calc(100svh - 190px);margin-right:4%;top:140px}.saints p{border:0;padding:0;font-size:25px;max-width:620px}.saints p+p{margin-top:30px}.saints strong{font:italic 25px var(--font-reading)}.valdes .ambient{object-fit:cover}}

/* Dernière correction : la fin de l’or quitte le tableau, sans nouveau mouvement. */
.js .traced .ghost{opacity:.05}.cord .ambient{opacity:.95}
@media(max-width:700px){.cord{min-height:1150px}.rule{min-height:1050px;padding-top:310px}.battle,.js .battle{min-height:1420px}.battle[data-media="fixed"] .sequence-stage{height:900px;bottom:auto}.battle[data-media="fixed"] .sequence-window{position:static;height:900px}.battle[data-media="fixed"] .sequence-stage:after{background:linear-gradient(180deg,#42081011 0%,#42081022 65%,#420810 100%)}.battle[data-media="fixed"] .sequence-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#420810e8 0%,#420810aa 55%,transparent 100%)}}
@media(min-width:701px){.cord .ambient{object-position:58% 0}.battle[data-media="fixed"] .sequence-stage{height:800px;bottom:auto}.battle[data-media="fixed"] .sequence-window{position:static;height:800px}.battle[data-media="fixed"] .sequence-stage:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 55%,#420810 100%)}}

/* Réception 0625, passe 1 — photo, stature et rythme. */
.cord .ambient{opacity:1;mix-blend-mode:lighten}
@media(max-width:700px){
 .cord .ambient{height:520px;object-position:76% 0}
 .cord:after{background:linear-gradient(180deg,transparent 0%,#07090d11 28%,#07090deb 58%,#07090d 76%)}
}
@media(min-width:701px){.cord .ambient{height:100%;object-position:70% 20%}.cord:after{background:linear-gradient(90deg,#07090d 0%,#07090deb 35%,#07090d22 68%,#07090d33 100%)}}
@media(max-width:700px){.sign-stage.is-resolving{width:240px;height:340px;margin-inline:auto;top:150px}}
@media(max-width:700px){
 .vigil{min-height:820px}
 .cord{min-height:880px;padding-top:360px}
 .rule{min-height:780px;padding-top:240px}
 .rule .copy{max-width:none}
 .rule h2{max-width:none;font-size:30px;line-height:1.14;text-wrap:balance}
 .rule h2 span{display:block;max-width:320px}
 .rule h2 span+span{margin-top:28px}
 .rule p{font-size:21px;max-width:30ch;margin-top:32px}
 .battle,.js .battle{min-height:1420px;padding-top:140px}
}
@media(min-width:701px){.cord{min-height:100svh}.rule{min-height:100svh;padding-top:24svh}.rule h2 span{display:block}.rule h2 span+span{margin-top:28px}}

@media(min-width:701px){
 .sequence-poster img{object-fit:cover;object-position:50% 25%}
 .battle[data-media="fixed"] .sequence-stage,.battle[data-media="fixed"] .sequence-window{height:900px}
 .battle[data-media="fixed"] .sequence-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#420810d9 0%,#42081070 40%,transparent 72%)}
 .valdes .ambient{object-fit:cover;object-position:center}
 .valdes:after{background:linear-gradient(90deg,#07090de8 0%,#07090d99 40%,#07090d11 75%)}
}

@media(max-width:700px){
 .vigil{padding-top:340px;min-height:820px}
 .vigil .copy{max-width:none}
 .vigil .copy h1{font-size:36px;max-width:none;line-height:1.14;text-wrap:balance}
 .vigil .poster,.vigil .flame-video{height:420px}
 .vigil .poster img,.vigil .flame-video{object-position:50% 92%}
 .vigil:after{background:linear-gradient(180deg,transparent 0%,transparent 27%,#07090de8 43%,#07090d 57%)}
 .vigil .signature{margin-bottom:16px}
 .vigil .copy>p:nth-child(2){font-size:21px;max-width:27ch;margin-bottom:24px}
}
@media(min-width:701px){
 .vigil{padding-top:25svh;min-height:100svh}
 .vigil .poster,.vigil .flame-video{height:100%;width:78%;left:auto;right:0}
 .vigil .poster img,.vigil .flame-video{object-fit:cover;object-position:22% 92%;height:100%}
 .vigil:after{background:linear-gradient(90deg,#07090df2 0%,#07090daa 35%,transparent 65%)}
 .vigil .copy{width:58%;max-width:760px}
 .vigil .copy h1{font-size:clamp(56px,5.3vw,78px);line-height:1.12;text-wrap:balance}
 .vigil .copy>p:nth-child(2){max-width:32ch}
}

.saints strong{display:inline;margin:0}
@media(max-width:700px){
 .sign-reading{display:block;padding:64px 24px 80px}
 .sign-display{position:static;width:144px;height:190px;margin:0 0 40px auto}
 .sign-reading .reading p{font-size:22px;line-height:1.5}
 .sign-reading .reading p:first-child,.sign-reading .reading p:nth-child(2),.sign-reading .reading p:last-child{font-size:22px}
 .sign-reading .reading p:nth-last-child(2){font-size:28px}
}

.rosary-witness{background:var(--paper);color:#302623}
.rosary-witness .inscription{padding-bottom:42px}
.rosary-witness .saints{background:transparent;color:#302623;padding-top:0}
.rosary-witness .saints p{margin-left:0;max-width:620px}
@media(min-width:701px){.rosary-witness{display:grid;grid-template-columns:1.4fr 1fr;gap:6%;padding:90px var(--margin)}.rosary-witness .inscription,.rosary-witness .saints{padding:0}.rosary-witness .latin{font-size:38px}.rosary-witness .saints{padding-top:8px}}

/* Passe 2 : inscription liée, matière réelle et réserves mesurées. */
.vigil h1 span{display:block}
.vigil h1 span:first-child{font-size:.78em}
.cord-matter{position:absolute;z-index:-2;object-fit:contain;mix-blend-mode:lighten;left:3%;top:40px;width:160px;height:260px}
@media(max-width:700px){
 .vigil .copy h1{font-size:40px;line-height:1.1}
 .vigil h1 span:first-child{font-size:clamp(23px,7.1vw,30px);margin-bottom:9px}
 .cord{min-height:760px;padding-top:330px}
 .rule{min-height:650px;padding-top:110px;padding-bottom:100px}
 .rule h2 span+span{margin-top:26px}
 .aube{min-height:560px;padding-block:90px}
 .aube .ending-sign{margin-bottom:24px}
 .battle .copy{max-width:255px}
 .cord-matter{left:20px;top:36px;width:160px;height:270px}
}
@media(min-width:701px){
 .vigil .copy{width:62%;max-width:820px}
 .vigil .copy h1{font-size:clamp(60px,5.3vw,78px)}
 .vigil h1 span:first-child{font-size:.77em;margin-bottom:12px}
 .vigil .poster,.vigil .flame-video{height:77%}
 .vigil .poster img,.vigil .flame-video{object-position:30% 100%}
 .cord-matter{left:39%;top:80px;width:230px;height:400px}
 .aube{min-height:640px;padding-block:100px}
 .battle[data-media="fixed"] .sequence-stage{height:950px}
 .battle[data-media="fixed"] .sequence-window{height:950px}
}
/* Combat : les gestes poursuivent la même nuit, sans alternance de fiches. */
.combat-opening{min-height:640px;padding-top:220px;padding-bottom:64px}
.combat-opening .copy h1{max-width:13ch}
.combat .gestures{background:var(--wine);color:var(--paper);padding-top:24px;padding-bottom:90px}
.combat .gestures p{color:var(--paper);font-size:32px;line-height:1.65}
.combat .fraternity{padding-top:64px;border-top:1px solid #cbbb9e40}
.combat .fraternity p:first-child{font-family:var(--font-title);font-size:44px;max-width:12ch}
@media(min-width:701px){.combat-opening{min-height:700px;padding-top:210px}.combat .gestures .reading{margin-left:28%;max-width:780px}.combat .gestures p{font-size:44px}.combat .fraternity .reading{margin-left:6%;max-width:750px}.combat .fraternity p:first-child{font-size:68px}.combat .fraternity p+p{font-size:30px}}

/* Passe 3 : la fibre sort de la nuit, sans îlot photographique. */
.cord-matter{mask-image:radial-gradient(ellipse 47% 50% at 50% 48%,#000 48%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 47% 50% at 50% 48%,#000 48%,transparent 100%)}
.vigil .poster img,.vigil .flame-video{filter:brightness(1.18)}
@media(max-width:700px){.vigil .poster img{transform:scale(1.22);transform-origin:36% 88%}.vigil .flame-video{transform:scale(1.22);transform-origin:36% 88%}.vigil .poster{overflow:hidden}}
@media(min-width:701px){.vigil .poster,.vigil .flame-video{mask-image:linear-gradient(180deg,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 100%)}}

/* Réception 0740 — réserve stable, aucune transition temporelle. */
@media(max-width:700px){
 .sign-stage,.sign-stage.is-resolving{width:128px;height:180px;top:116px;margin:0 16px 0 auto;transition:none}
 .scene .copy,.rule .copy,.battle .copy{max-width:218px}
 .rule{min-height:620px;padding-top:110px;padding-bottom:90px}
 .rule h2{font-size:26px;line-height:1.15;text-wrap:pretty}
 .rule h2 span{max-width:210px}.rule h2 span+span{margin-top:24px}
 .rule p{max-width:210px;font-size:21px}
 .battle,.js .battle{min-height:1320px}
}

@media(min-width:701px){.sign-stage{width:200px;height:280px;max-height:none;margin:0 31% 0 auto;top:140px}.rule .copy{width:48%}}

/* Une seule conclusion ivoire : titre, lettres, adresse. */
.aube{min-height:0;padding-block:70px;display:block}.aube h2{max-width:12ch}
.aube>.join{border:0;padding:0;margin-top:36px;background:transparent}
.aube .join-heading p{font-size:23px;margin-top:0}.aube .join-body{margin-top:20px}
.aube .letter-form fieldset{margin-top:0}
@media(min-width:701px){
 .aube{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 9%;align-content:start;padding-block:100px}
 .aube .ending-sign{grid-column:1;grid-row:1;width:60px;height:78px}
 .aube h2{grid-column:1;grid-row:2;font-size:clamp(48px,4.5vw,68px);align-self:start}
 .aube>p{grid-column:1;grid-row:3;align-self:start;font-size:28px}
 .aube>.join{grid-column:2;grid-row:1/5;margin-top:0;display:block}.aube .join-heading{margin-bottom:26px}
}

/* Combat : le signe mesure un passage continu. */
.combat-path{background:var(--wine);display:grid;grid-template-columns:50px minmax(0,1fr);gap:22px;padding:160px 24px 90px}
.combat-measure{align-self:start;position:sticky;top:120px;width:50px;height:68px}.combat-measure .sign{color:var(--muted)}
.combat .combat-opening{min-height:0;padding:0;background:none;overflow:visible}.combat-opening h1{font-size:36px;max-width:13ch}
.combat-opening p{font-size:22px;margin-top:30px}.combat .gestures{padding:40px 0 0;background:none}
.combat .gestures p{font-size:25px;line-height:1.65}.combat .fraternity{padding:32px 0 0;border:0;background:none}
.combat .fraternity p:first-child{font-family:var(--font-reading);font-size:25px;max-width:none}.combat .fraternity p+p{font-size:22px}
@media(min-width:701px){
 .combat-path{grid-template-columns:100px minmax(0,720px);gap:6vw;padding:190px 12vw 120px}
 .combat-measure{width:100px;height:136px;top:160px}.combat-opening h1{font-size:72px}.combat-opening p{font-size:27px}
 .combat .gestures{padding-top:50px}.combat .gestures p,.combat .fraternity p:first-child{font-size:32px}.combat .fraternity p+p{font-size:27px}
}

@media(max-width:700px){.vigil .copy{max-width:218px}.vigil .copy h1{font-size:34px;line-height:1.12;text-wrap:pretty}.vigil h1 span:first-child{font-size:25px}.vigil .copy>p:nth-child(2){font-size:21px}.vigil{min-height:900px;padding-top:330px}}

@media(max-width:700px){.sign-reading{display:grid;grid-template-columns:74px minmax(0,1fr);gap:22px;padding:70px 24px}.sign-display{position:sticky;top:120px;width:74px;height:100px;margin:0}.sign-reading .reading p,.sign-reading .reading p:first-child,.sign-reading .reading p:nth-child(2),.sign-reading .reading p:last-child{font-size:21px;line-height:1.5}.sign-reading .reading p:nth-last-child(2){font-size:26px}}

/* Passe2 : le texte quitte effectivement la réserve avant sa croissance. */
@media(max-width:700px){.battle,.js .battle{min-height:1540px}.scene .copy,.rule .copy,.battle .copy{max-width:calc(100% - 124px)}.vigil .copy{max-width:218px}}
@media(min-width:701px){.sign-stage{width:160px;height:224px;top:140px;margin:0 6% 0 auto}.rule .copy{width:56%}}

@media(max-width:700px){.vigil .copy h1 span:first-child{font-size:24px}.vigil .copy>p:nth-child(2){max-width:218px}}

/* Passe3 : réserve proportionnée à la fenêtre ET à la copie, y compris au zoom. */
@media(max-width:700px){.battle,.js .battle{min-height:0;padding-bottom:calc(100svh + 300px)}}
/* Le signe bordeaux est au côté de l'appel, sur le même axe que la descente. */
@media(max-width:700px){
 .aube{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:0 24px;padding-top:64px}
 .aube .ending-sign{grid-column:2;grid-row:1;width:104px;height:145px;margin:0;align-self:start}
 .aube h2{grid-column:1;grid-row:1;font-size:36px;line-height:1.1;align-self:start}
 .aube>p{grid-column:1/-1;grid-row:2;font-size:24px;margin-top:32px}
 .aube>.join{grid-column:1/-1;grid-row:3;margin-top:32px}
}
@media(min-width:701px){
 .aube{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 9%}
 .aube .ending-sign{grid-column:1;grid-row:1/3;width:112px;height:150px;margin:0;align-self:start}
 .aube h2{grid-column:1;grid-row:1;font-size:clamp(48px,4vw,60px);margin-left:148px;max-width:11ch}
 .aube>p{grid-column:1;grid-row:2;margin-left:148px;margin-top:32px;font-size:26px}
 .aube>.join{grid-column:2;grid-row:1/4}
}

/* Passe4 : titre entier sur sa ligne ; signe au côté de la fraternité. */
.aube h2{overflow-wrap:anywhere}
@media(max-width:700px){
 .aube h2{grid-column:1/-1;grid-row:1;font-size:45px;max-width:none}
 .aube .ending-sign{grid-column:2;grid-row:2;margin-top:32px}
 .aube>p{grid-column:1;grid-row:2;margin-top:32px;overflow-wrap:anywhere}
 .aube>.join{grid-column:1/-1;grid-row:3}
}
@media(max-width:359px){.aube h2{font-size:38px}.aube{grid-template-columns:minmax(0,1fr) 84px;gap:0 20px}.aube .ending-sign{width:84px;height:118px}}
/* Réception 1200 : cinq teintes, composition entière, relief et relèvement. */
:root{--wine:#420810;--gold:#d4b070;--rubric:#7f0f18;--paper:#f3e3ca}
.sign-reading{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--wine);padding:100px var(--margin);gap:38px}
.sign-reading .sign-display{position:static;width:clamp(140px,22vw,300px);height:clamp(190px,30vw,400px);margin:0}
.sign-reading .reading{max-width:28ch}.sign-reading .reading p,.sign-reading .reading p:first-child,.sign-reading .reading p:last-child{font-size:clamp(26px,3.2vw,44px);line-height:1.25;color:var(--paper);font-style:normal}
.sign-reading .reading p+p{font-size:22px;margin-top:34px}.sign-reading a{display:inline-flex;min-height:48px;align-items:center}
.theosis{min-height:100svh;text-align:center;padding:90px var(--margin);display:flex;align-items:center;justify-content:center}
.theosis .reading{margin:0;max-width:100%;width:100%}.theosis h2{font-family:var(--font-reading);font-size:clamp(68px,16vw,220px);letter-spacing:.03em;line-height:1;margin-bottom:64px}
.theosis p{max-width:30ch;margin-inline:auto;font-size:clamp(24px,3vw,38px)}.theosis p:nth-child(3){font-size:18px;margin-top:20px}.theosis p:nth-child(4){margin-top:64px;font-size:26px}.theosis p:last-child{font-size:24px;font-style:normal;max-width:40ch;line-height:1.5}
.history-opening,.rosary-opening{padding:540px var(--margin) 100px;min-height:100svh}.history-opening .copy,.rosary-opening .copy{width:100%;max-width:100%}.page-opening h1{max-width:19ch;font-size:clamp(38px,5.5vw,78px)}
.history-opening .ambient,.rosary-opening .ambient{width:100%;left:0;right:0;object-position:50% 25%;opacity:1}.history-opening:after,.rosary-opening:after{background:linear-gradient(180deg,#07090d00 0%,#07090d22 35%,#07090dea 64%,#07090d 100%)}
.history-opening .copy p{max-width:46ch;font-size:clamp(24px,2.5vw,34px)}
.rosary-opening{padding-top:730px}.rosary-opening .ambient{object-fit:contain;object-position:center top;height:850px}.rosary-opening:after{background:linear-gradient(180deg,transparent 42%,#07090d 85%)}.rosary-opening .copy{max-width:1000px;margin:auto;text-align:center}.rosary-opening .copy h1,.rosary-opening .copy p{max-width:100%;margin-inline:auto}.rosary-opening .copy p{font-size:26px}
.cord .ambient{width:100%;left:0;right:0;object-position:center top;mix-blend-mode:normal;height:100%;opacity:1}.cord:after{background:linear-gradient(180deg,transparent 10%,#07090d88 34%,#07090d 74%)}.cord .copy h2{max-width:none}.cord .copy p{font-size:25px}.cord-matter{display:none}
.rule{min-height:100svh;padding-top:300px;padding-bottom:110px}.rule .copy{width:100%;max-width:none!important}.rule h2{max-width:none;font-size:clamp(28px,5vw,72px);line-height:1.1}.rule h2 span{max-width:none;display:block}.rule h2 span+span{margin-top:28px}.rule p{color:var(--paper);font:400 clamp(30px,4vw,58px)/1.2 var(--font-title);max-width:none;margin-top:60px}
.battle .copy{width:100%;max-width:780px}.battle .copy p{max-width:35ch}.battle .copy>p:first-child{font-size:clamp(27px,3.3vw,46px);color:var(--paper);font-style:normal}.battle .copy>p:nth-child(2){font-size:21px;color:var(--gold)}
.battle[data-media="fixed"] .sequence-stage{inset:0;height:1050px}.battle[data-media="fixed"] .sequence-window{height:1050px}.battle[data-media="fixed"] .sequence-poster:after{background:linear-gradient(180deg,transparent 24%,#42081088 58%,#420810 100%)}.battle[data-media="fixed"] .sequence-stage:before{background:linear-gradient(180deg,transparent 60%,#420810 100%)}.battle[data-media="fixed"] .sequence-stage:after{background:none}.sequence-poster img{object-position:50% 12%}.battle,.js .battle{padding-top:700px;padding-bottom:calc(100svh + 300px);min-height:0}
.aube .ending-sign .sign{color:var(--gold)}.aube h2{max-width:none;font-size:clamp(46px,5.7vw,80px)}.aube>p{font-size:28px}.consent a{font-size:14px;white-space:nowrap}.consent a:focus-visible{outline-color:var(--rubric)}
.prayer-line{position:relative;isolation:isolate;background:var(--wine);color:var(--paper);padding:440px var(--margin) 100px;min-height:800px}.prayer-line .reading{margin:0 auto;max-width:29ch}.prayer-line p{color:var(--paper);font-size:clamp(26px,3.4vw,44px);line-height:1.4}.rising-sword{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.75}
.valdes{padding:700px var(--margin) 100px;min-height:0}.valdes .ambient{width:100%;left:0;right:0;object-position:center top;height:1000px}.valdes:after{background:linear-gradient(180deg,transparent 10%,#07090d88 40%,#07090d 68%)}.valdes .reading{margin:auto;max-width:44ch}.valdes .reading p{font-size:clamp(24px,2.2vw,30px)}.valdes .reading:before{display:none}
.rosary-witness{display:block;padding:80px var(--margin)}.rosary-witness .inscription,.rosary-witness .saints{padding:0}.rosary-witness .reading{max-width:950px;margin:auto}.rosary-witness .saints{max-width:950px;margin:52px auto 0}.rosary-witness .latin{font-size:clamp(28px,4vw,54px)}.rosary-witness .saints p{max-width:42ch;margin-left:0;font-size:25px}
.combat-path{position:relative;isolation:isolate;display:block;background:var(--wine);padding:530px var(--margin) 100px}.combat-image{position:absolute;inset:0;width:100%;height:800px;object-fit:cover;z-index:-1;opacity:.9}.combat-reading{max-width:1000px;margin:auto}.combat-opening h1{max-width:16ch;font-size:clamp(40px,6vw,82px)}.combat-opening p{font-size:clamp(26px,3vw,40px);color:var(--gold)}.combat .gestures{padding-top:90px}.combat .gestures .combat-moment{font-size:clamp(24px,3vw,40px);line-height:1.55;margin-top:0;max-width:34ch;border-top:1px solid #d4b07066;padding-top:40px}.combat .gestures .combat-moment+.combat-moment{margin-top:70px}.combat .fraternity{padding-top:100px}.combat .fraternity p,.combat .fraternity p:first-child{font-size:clamp(25px,3vw,40px);max-width:35ch}.combat .fraternity p:last-child{font-size:22px;margin-top:40px}.combat .fraternity a{min-height:48px;display:inline-flex;align-items:center}
.links-opening{display:block;text-align:center;padding:150px var(--margin) 90px;background:var(--wine)}.links-sign{width:clamp(160px,20vw,290px);height:clamp(220px,27vw,400px);margin:0 auto 48px}.links-opening h1{font-size:clamp(40px,6vw,86px);max-width:none}.links-opening>p{font-size:clamp(24px,3vw,36px);color:var(--paper);max-width:none}.links-opening>.button{margin-top:36px}.socials{max-width:820px;margin:70px auto 0;text-align:left}.socials a{font-size:clamp(26px,3vw,42px);transition:color .15s}.socials a:hover{color:var(--gold)}
@media(max-width:700px){
 .rule{padding-top:300px}.rule h2{font-size:31px}.rule h2 span+span{margin-top:32px}.rule p{font-size:34px;max-width:15ch}
 .cord{padding-top:350px;min-height:860px}.cord .ambient{height:650px}.cord .copy{max-width:calc(100% - 124px)}.cord .copy h2{font-size:32px}.cord .copy p{font-size:23px}
 .battle,.js .battle{padding-top:720px}.battle .copy{max-width:calc(100% - 124px)}.battle .copy p{font-size:24px}.battle .copy>p:first-child{font-size:28px}
 .history-opening{padding-top:480px}.history-opening .ambient{height:780px}.history-opening .copy p{font-size:24px}.rosary-opening{padding-top:570px}.rosary-opening .ambient{height:670px}
 .theosis{padding:80px 24px}.theosis h2{font-size:clamp(58px,17vw,120px);margin-bottom:52px}.theosis p{font-size:26px}.theosis p:last-child{font-size:23px}
 .prayer-line{padding-top:390px;min-height:750px}.prayer-line p{font-size:28px}.valdes{padding-top:630px}.valdes .ambient{height:850px}.rosary-witness{padding:64px 24px}
 .aube{display:block;padding-top:70px}.aube .ending-sign{float:right;width:82px;height:112px;margin:24px 0 24px 20px}.aube h2{font-size:46px}.aube>p{font-size:26px;max-width:none;margin:32px 0}.aube>.join{clear:both}
 .combat-path{padding-top:480px}.combat-image{height:690px}.combat-opening h1{font-size:44px}.links-opening h1{font-size:44px}.links-opening>p{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.socials a{transition:none}}

@font-face{font-family:"EB Garamond";src:url("fonts/eb-garamond-greek.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0391-03A9}
/* Passe 2 : l’œuvre habite la nuit, le texte et le signe gardent chacun leur espace. */
.rosary-opening .ambient{object-fit:cover;object-position:50% 31%;height:100%;mask-image:linear-gradient(180deg,#000 50%,transparent 92%)}
.rosary-opening{min-height:1100px;padding-top:710px}.rosary-opening:after{background:linear-gradient(180deg,#07090d00 25%,#07090d55 55%,#07090de8 75%,#07090d 100%)}
.rosary-opening .copy{position:relative;padding-top:30px}.rosary-opening .copy h1{max-width:17ch;font-size:clamp(42px,5.5vw,76px)}
.prayer-line{padding-top:470px}.prayer-line .reading{max-width:100%;width:100%;text-align:center}.prayer-line p{max-width:32ch;margin:auto;line-height:1.4}.prayer-line .rising-sword{height:580px;mask-image:linear-gradient(180deg,#000 65%,transparent)}
.combat-image{height:740px;mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}.combat-path{padding-top:670px}.combat-opening h1{max-width:none}.combat .gestures .combat-moment{max-width:36ch}
.aube .ending-sign{filter:drop-shadow(1px 2px 1px #42081088)}
@media(min-width:701px){.battle,.js .battle{padding-bottom:560px}.prayer-line{padding-top:540px;min-height:900px}.combat .gestures .combat-moment:nth-child(2){margin-left:14%}.combat .gestures .combat-moment:nth-child(3){margin-left:28%}.rosary-opening .ambient{object-fit:cover;object-position:50% 40%;height:1100px}.rosary-opening:after{background:linear-gradient(180deg,#07090d22 0%,#07090d22 50%,#07090dd9 70%,#07090d 100%)} }
@media(max-width:700px){.rosary-opening{min-height:880px;padding-top:640px}.rosary-opening .ambient{height:790px;object-position:50% 10%}.rosary-opening .copy h1{font-size:40px}.prayer-line{padding-top:440px}.prayer-line p{font-size:26px;max-width:30ch}.prayer-line .rising-sword{height:490px}.combat-path{padding-top:620px}.combat-image{height:620px}.combat-opening h1{font-size:42px}.aube>.join{margin-top:38px}}
/* Passe 3 : coins photographiques fondus, contenu grec sémantique. */
.rosary-opening .ambient{mask-image:radial-gradient(ellipse 80% 72% at 50% 43%,#000 45%,transparent 87%)}
.rosary-opening{background:var(--night)}
@media(min-width:701px){.rosary-opening .ambient{mask-image:radial-gradient(ellipse 80% 85% at 50% 45%,#000 55%,transparent 100%)}}
/* Passe 4 : héritage du métal libéré ; appel entier, y compris au texte agrandi. */
.traced .ink,.traced .ghost{fill:currentColor}.traced .gold{fill:url(#ascent-relief-gold)}
.aube h2{overflow-wrap:normal;hyphens:none}
@media(min-width:701px){.aube h2{grid-column:1/-1;grid-row:1;margin-left:0;font-size:clamp(48px,5.7vw,80px)}.aube .ending-sign{grid-column:1;grid-row:2;align-self:start;margin-top:44px}.aube>p{grid-column:1;grid-row:2;margin-top:44px}.aube>.join{grid-column:2;grid-row:2;margin-top:44px}}
@media(max-width:700px){.aube{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:0 24px}.aube h2{grid-column:1/-1;grid-row:1;font-size:clamp(34px,11.8vw,46px)}.aube .ending-sign{float:none;grid-column:2;grid-row:2;width:82px;height:112px;margin:32px 0 0}.aube>p{grid-column:1;grid-row:2;overflow-wrap:normal;max-width:none;margin-top:32px}.aube>.join{grid-column:1/-1;grid-row:3;margin-top:36px}}
/* Correction 1250 : tracé à frontière douce, géométrie stable et récit propre à chaque page. */
.sign-stage{transform-origin:100% 0;will-change:transform;contain:layout style}
.index .rule h2+h2{font-size:clamp(28px,4vw,54px);margin-top:48px}
.index .rule p{font:400 clamp(23px,2.4vw,32px)/1.35 var(--font-reading);max-width:30ch;margin-top:24px}
.index .cord .ambient{object-fit:cover;object-position:50% 72%;height:680px;mask-image:linear-gradient(#000 64%,transparent)}
.index .cord .copy{padding-top:180px}.index .cord{padding-top:330px;min-height:940px}
.histoire .history-opening .ambient{object-position:50% 40%;height:650px}.histoire .history-opening{padding-top:430px}
.histoire .history-opening .copy p{max-width:38ch;margin-top:30px}
.histoire .story-exit{background:var(--wine);padding:30px var(--margin) 70px;text-align:center}.story-exit a{font-size:26px;min-height:48px;display:inline-flex;align-items:center;gap:24px}
.index .aube{display:block;min-height:0}.index .aube h2,.index .aube>p{margin-left:0}.index .aube>p{max-width:30ch;margin-top:28px}.index .aube>.join{margin-top:40px;max-width:680px}
.compact-doors{display:flex;flex-wrap:wrap;gap:12px 26px;min-height:0;padding:28px var(--margin);background:var(--night)}.compact-doors a{font:400 19px/1.3 var(--font-reading);border:0;padding:10px 0;min-height:44px}.compact-doors span{margin-left:14px}.compact-doors a:hover{padding-left:0;color:var(--gold)}
.combat .combat-path{padding:620px var(--margin) 90px;background:var(--night)}.combat .combat-image{height:850px;opacity:1;object-position:50% 25%;mask-image:linear-gradient(#000 48%,transparent 96%)}
.combat .combat-opening h1{font-size:clamp(43px,6vw,88px);line-height:1.08;max-width:15ch}.combat .combat-opening p{font-size:26px;color:var(--paper);max-width:28ch}
.combat .combat-steps{padding:0;background:var(--wine)}.combat-step{padding:90px var(--margin);min-height:440px;display:flex;flex-direction:column;justify-content:center}.combat-step h2{font-size:clamp(36px,5vw,72px);max-width:18ch;line-height:1.08;margin-bottom:32px}.combat .combat-step p{font:400 27px/1.4 var(--font-reading);max-width:30ch;color:inherit;margin:0}.combat-step-1{background:var(--night);color:var(--paper)}.combat-step-2{background:var(--paper);color:var(--wine);position:relative}.combat-mark{width:96px;height:132px;margin-bottom:40px}
.combat .combat-future{padding:80px var(--margin);background:var(--paper);color:var(--wine)}.combat-future h2{font-size:clamp(42px,5.5vw,76px);line-height:1.1}.combat .combat-future p,.combat .combat-future p:first-child{font:400 25px/1.45 var(--font-reading);max-width:32ch;color:var(--wine)}.combat .combat-future p:nth-of-type(2){margin-top:46px}.combat .combat-future a{color:var(--wine)}.combat .join{background:var(--paper);color:var(--wine);padding-top:10px;border-top:0}.combat .join-heading h2{font-size:36px}.combat .join-body{margin-top:25px}
.liens .links-opening{padding-top:125px;padding-bottom:42px}.liens .links-sign{width:110px;height:150px;margin-bottom:25px}.liens .socials{margin-top:36px}.liens .socials a{font-size:27px;padding-block:14px}.liens .join{padding-top:42px;padding-bottom:42px}.liens .join-heading h2{font-size:32px}
@media(min-width:701px){
 .index .cord .ambient{left:44%;width:56%;height:1100px;object-fit:contain;object-position:100% 50%;mask-image:linear-gradient(90deg,transparent,#000 30%)}.index .cord:after{background:linear-gradient(90deg,#07090d 18%,#07090d33 80%)}.index .cord{padding-top:400px;min-height:1150px}.index .cord .copy{padding-top:0;width:45%;max-width:45%}
 .histoire .history-opening{padding-top:530px}.histoire .history-opening .ambient{height:820px;object-position:50% 45%}.histoire .history-opening .copy{max-width:780px}
 .index .aube{padding:90px 12vw}.index .aube>.join{display:block}.index .aube h2{font-size:76px}
 .combat .combat-path{min-height:1000px;padding-top:680px}.combat .combat-image{height:1100px;object-fit:contain;object-position:75% 0;mask-image:linear-gradient(#000 48%,transparent 96%)}.combat .combat-reading{margin-left:6%;max-width:900px}.combat .combat-opening p{font-size:32px}
 .combat-step{padding:110px 15vw;min-height:580px}.combat-step-1{padding-left:28vw}.combat-step-2{padding-left:38vw}.combat-mark{position:absolute;left:14vw;top:130px;width:190px;height:264px}.combat .combat-future,.combat .join{padding-left:15vw;padding-right:15vw}.combat .combat-future{padding-top:100px;padding-bottom:60px}
 .liens .links-opening{padding-top:145px}.liens .links-sign{width:140px;height:190px}.liens .join{display:block;max-width:820px;margin:auto}
}
@media(max-width:700px){.index .cord .copy{max-width:calc(100% - 124px)}.index .aube h2{font-size:clamp(34px,11.8vw,46px)}.combat .combat-path{padding-top:580px}.combat .combat-image{height:760px}.combat .combat-step h2{font-size:39px}.combat .combat-future h2{font-size:44px}.combat .combat-future p{font-size:24px}.combat .join{display:block}.combat .join-heading h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.sign-stage{will-change:auto;transform:none!important}}
.index .compact-doors a,.liens .compact-doors a{color:var(--paper)}
.index .compact-doors a:hover,.liens .compact-doors a:hover{color:var(--gold)}
.index .sign-stage>.sign{position:absolute;inset:0;width:100%;height:100%}
.index .sign-stage .fill-part{display:none;color:var(--paper);pointer-events:none}
.js .index .sign-stage .fill-part{display:block}
@media(prefers-reduced-motion:reduce){.js .index .sign-stage .fill-part{display:none}}
.index .traced .gold{display:none}
.index .sign-stage .final-gold{display:none;pointer-events:none}
.js .index .sign-stage .final-gold{display:block}
@media(prefers-reduced-motion:reduce){.js .index .sign-stage .final-gold{display:none}}
.index .sign-stage>.fill-part,.index .sign-stage>.final-gold{position:absolute;inset:0;width:100%;height:100%}
.index .sign-stage>.fill-part>.sign,.index .sign-stage>.final-gold>.sign{width:100%;height:100%;display:block}
.js .index .traced .ink,.js .index .traced .ghost{display:none}
.index .sign-stage>.ghost-layer,.index .sign-stage>.solid-layer{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none}
.js .index .sign-stage>.ghost-layer,.js .index .sign-stage>.solid-layer{display:block}
@media(prefers-reduced-motion:reduce){.js .index .sign-stage>.ghost-layer{display:none}}

/* CRITIQUE-1800 : H5, la citation porte la page ; aucun décor ajouté. */
.histoire .theosis{min-height:0;padding:76px var(--margin) 58px}
.histoire .theosis h2{font-size:clamp(64px,17vw,220px);margin-bottom:38px}
.histoire .theosis .reading>p:nth-child(2){font-size:clamp(30px,4vw,56px);line-height:1.16;max-width:25ch}
.histoire .theosis .reading>p:nth-child(3){font-size:18px;margin-top:20px}
.histoire .theosis .reading>p:nth-child(4){font-size:clamp(24px,2.5vw,36px);line-height:1.25;margin-top:44px}
.histoire .theosis .reading>p:last-child{font-size:clamp(24px,2.6vw,36px);line-height:1.4;max-width:38ch;margin-top:42px}
.histoire .sign-reading{min-height:0;padding:46px var(--margin);gap:24px}
.histoire .sign-reading .sign-display{width:140px;height:188px;margin:0}
.histoire .sign-reading .reading p:first-child{font-size:clamp(28px,3vw,42px);line-height:1.2}
.histoire .sign-reading .reading p+p{font-size:23px;margin-top:18px}
@media(min-width:701px){.histoire .theosis{padding:70px var(--margin) 60px}.histoire .sign-reading{flex-direction:row;justify-content:center;gap:56px;text-align:left}.histoire .sign-reading .sign-display{width:190px;height:254px;flex-shrink:0}}

@media(max-width:700px){
.index .cord>picture.ambient{height:650px;object-fit:initial;mask-image:linear-gradient(#000 62%,transparent 100%);overflow:hidden}
.index .cord>picture.ambient>img{position:static;width:100%;height:100%;object-fit:cover;object-position:60% 72%;mask-image:none;transform:scale(1.3);transform-origin:60% 67%}
.index .cord:after{background:linear-gradient(180deg,#07090d08 30%,#07090d55 65%,#07090d 94%)}
}

.index .battle,.js .index .battle{padding-top:580px}
@media(max-width:700px){.index .battle,.js .index .battle{padding-bottom:calc(100svh + 220px)}}

/* S2 : le lien final du Rosaire suit la marge du récit et de la navigation. */
.rosaire .join-link{padding:28px var(--margin) 36px;margin:0}
