@font-face{font-family:Reckless;src:url('polices/RecklessNeue-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Neurial;src:url('polices/NeurialGrotesk-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#eeeadd;--ink:#192f32;--blue:#154d73;--gold:#c7b17e;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--edge:7.5vw}
*{box-sizing:border-box}html{background:var(--blue);scroll-behavior:auto}body{margin:0;font-family:Neurial,Arial,sans-serif;color:var(--paper);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Reckless,Georgia,serif;font-weight:400;letter-spacing:-.045em}em{font-weight:400}p{line-height:1.55}img{display:block;max-width:100%}.eyebrow{font:11px/1.5 Neurial,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}.skip{position:fixed;top:-100px;z-index:99999;background:var(--paper);color:var(--ink);padding:15px}.skip:focus{top:0}
.masthead{position:fixed;inset:0 0 auto;height:100px;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 3.7vw;border-bottom:1px solid #eeeadd40;color:var(--paper);transition:background .25s ease,color .25s ease;gap:22px}.brand{display:flex;align-items:center;gap:13px;font:13px/1.35 Neurial;letter-spacing:.14em}.brand img{width:48px;height:48px;object-fit:contain;filter:invert(97%) sepia(12%) saturate(240%)}.brand small{font-size:11px;letter-spacing:.32em}.masthead nav{display:flex;gap:32px;font-size:13px}.masthead nav a{position:relative;padding:12px 0}.masthead nav a:after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease-out)}.contact-button{padding:13px 15px;background:var(--paper);color:var(--ink);font-size:12px;display:flex;gap:24px;align-items:center}.contact-button span{font-size:20px}.masthead.light{background:#eeeaddf5;color:var(--ink);border-color:#19313230}.masthead.light .brand img{filter:none}.masthead.light .contact-button{background:var(--ink);color:var(--paper)}
.viewport{position:fixed;inset:0;overflow:hidden}.scroll-track{height:1150vh}.panel{position:absolute;top:0;left:0;width:100vw;height:100vh;overflow:hidden}#world{position:absolute;inset:0 auto auto 0;width:100vw;height:100vh;transform-origin:0 0;will-change:transform}.opening{background:var(--blue)}.portal-picture,.opening-shade{position:absolute;inset:0}.portal-picture{transform-origin:81% 52%}.portal-picture img{width:100%;height:100%;object-fit:cover;object-position:center 62%}.opening-shade{background:linear-gradient(90deg,#092e5059,transparent 65%)}.hero-copy{position:absolute;top:27%;left:var(--edge);z-index:2}.hero-copy h1{font-size:clamp(64px,8.5vw,156px);line-height:.96;margin:24px 0 28px}.hero-copy h1 em{margin-left:9vw}.hero-intro{font-size:17px;line-height:1.55;margin-bottom:30px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:13px;border-bottom:1px solid currentColor;padding:10px 0}.text-link span{font-size:22px;transition:transform .2s var(--ease-out)}.opening-bottom{position:absolute;bottom:80px;left:var(--edge);right:4vw;display:flex;align-items:end;justify-content:space-between;font-size:10px;letter-spacing:.14em;line-height:1.6}.scroll-cue{display:flex;align-items:center;gap:25px}.scroll-cue b{font-size:27px;font-weight:400}.orbit{position:absolute;width:68vw;height:68vw;border:1px solid #ece6d21c;border-radius:50%;left:35%;top:-21%;pointer-events:none}.orbit-two{inset:-12% auto auto 41%;width:55vw;height:55vw}.orbit:after{content:'✦';position:absolute;left:18%;top:10%;font-size:26px;color:var(--paper)}
.transmission{background:var(--paper);color:var(--ink);z-index:3;clip-path:circle(0% at 81% 53%)}.story-copy{position:absolute;left:var(--edge);top:23%;width:42%}.story-copy h2{font-size:clamp(50px,5.2vw,96px);line-height:1;margin:24px 0 25px}.story-copy>p:not(.eyebrow){max-width:400px;font-size:16px}.story-copy .small-copy{font-size:13px!important;margin-top:16px;max-width:380px!important}.story-copy .text-link{margin-top:18px}.painting{position:absolute;margin:0;left:58%;top:13%;width:32%;height:75%;}.painting img{width:100%;height:93%;object-fit:cover;object-position:50% 55%;border-radius:48% 48% 0 0}.painting figcaption{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.12em;margin-top:14px}.painting figcaption span{font-family:Reckless;font-style:italic;letter-spacing:0;font-size:13px}.story-rule{position:absolute;left:53%;top:0;width:1px;height:100%;background:#192f321c}.story-caption{position:absolute;left:43%;bottom:8%;font:22px/1.1 Reckless;color:#57716b;transform:rotate(-90deg);transform-origin:left center}
.domains{left:100vw;background:#102f30;color:var(--paper)}.domain-title{position:absolute;top:21%;left:var(--edge);width:42%;z-index:2}.domain-title h2{font-size:clamp(55px,6.7vw,112px);line-height:1.02;margin-top:25px}.domain-list{position:absolute;left:55%;right:6%;top:23%;z-index:2}.domain-item{display:flex;align-items:center;gap:22px;width:100%;padding:25px 0;background:transparent;text-align:left;border-top:1px solid #e9e0c750;transition:color .2s ease}.domain-item:last-child{border-bottom:1px solid #e9e0c750}.roman{font:16px Reckless;color:var(--gold);width:25px}.domain-item strong{display:block;font:clamp(32px,3.3vw,58px)/1.1 Reckless;letter-spacing:-.035em}.domain-item small{display:block;font-size:9px;letter-spacing:.18em;margin-top:12px}.plus{margin-left:auto;font-size:28px;font-weight:400}.domain-foot{position:absolute;left:var(--edge);bottom:16%;font-size:14px;color:#d5daca}.next-method{position:absolute;left:55%;bottom:15%}.domain-arc{position:absolute;border:1px solid #c7b17e50;width:55vw;height:90vh;border-radius:50% 50% 0 0;left:-4%;top:15%;transform:rotate(-22deg)}.domain-arc:before,.domain-arc:after{content:'';position:absolute;inset:25px;border:1px solid #c7b17e25;border-radius:inherit}.domain-arc:after{inset:55px}.domain-water{position:absolute;inset:0;background:radial-gradient(ellipse at 0% 100%,#76947b30,transparent 60%)}
.method{left:100vw;top:-100vh;background:var(--paper);color:var(--ink)}.method-head{position:absolute;left:var(--edge);top:19%;z-index:2}.method-head h2{font-size:clamp(48px,5.8vw,100px);line-height:1.03;margin-top:22px}.method-art{position:absolute;right:-4%;top:0;width:37%;height:100%;opacity:.18}.method-art img{width:100%;height:100%;object-fit:cover;object-position:85%;filter:grayscale(1)}.steps{position:absolute;left:var(--edge);right:8%;top:52%;display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}.steps article{border-top:1px solid #192f3250;padding-top:20px}.steps span{font-size:11px;color:#686347}.steps h3{font-size:38px;margin:17px 0 12px}.steps p{font-size:14px;max-width:260px}.method-note{position:absolute;left:var(--edge);right:8%;bottom:13%;display:flex;align-items:center;gap:5vw;border-top:1px solid #192f3230;padding-top:20px}.method-note>span{font-size:9px;letter-spacing:.1em;max-width:110px}.method-note p{font-size:12px;max-width:350px}.method-note a{margin-left:auto;white-space:nowrap}
.seal{top:-100vh;background:#153e60;color:var(--paper)}.seal-intro{position:absolute;top:21%;left:var(--edge);width:50%;z-index:2}.seal-intro h2{font-size:clamp(55px,6.8vw,120px);line-height:1.04;margin-top:25px}.seal-disc{position:absolute;left:57%;top:21%;width:34vw;height:34vw;max-height:66vh;max-width:66vh;display:grid;place-items:center;transform-origin:center;border-radius:50%;background:var(--paper);color:var(--ink)}.seal-disc svg{position:absolute;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.5}.seal-disc text{font:27px Reckless;fill:currentColor;stroke:none;letter-spacing:3px}.seal-disc img{width:42%;height:42%;object-fit:contain}.seal-enter{position:absolute;bottom:24%;left:var(--edge);background:transparent;border-bottom:1px solid currentColor;padding:12px 0;font-size:15px;display:flex;gap:50px;z-index:2}.final-contact{position:absolute;inset:0;padding:20vh var(--edge) 10vh;background:var(--paper);color:var(--ink);clip-path:circle(0% at 74% 50%);z-index:4}.final-contact h2{font-size:clamp(76px,10vw,180px);line-height:.95;margin:25px 0 30px}.large-contact{display:flex;gap:80px;align-items:center;background:var(--ink);color:var(--paper);padding:20px 28px;font-size:17px}.final-contact>p:not(.eyebrow){margin-top:25px;font-size:12px}.back-start{position:absolute;right:5%;bottom:15%;background:transparent;border-bottom:1px solid currentColor;padding:10px 0;font-size:12px}
.repere{position:fixed;left:2.8vw;top:43%;z-index:20;display:flex;flex-direction:column;align-items:center;gap:18px;mix-blend-mode:difference;color:white;pointer-events:none}.repere-index{font:16px Reckless}.rail{height:115px;width:1px;background:#ffffff40;position:relative}.rail i{position:absolute;top:0;width:2px;height:100%;background:#fff;transform-origin:top;transform:scaleY(0)}.repere-name{writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em}.mention-demo{font-size:10px;letter-spacing:.03em}.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:40;font-size:24px;color:var(--gold);opacity:0;transform:translate(-100px,-100px)}
dialog{border:0;background:var(--paper);color:var(--ink);width:min(620px,92vw);max-height:90dvh;padding:52px;overflow:auto}dialog::backdrop{background:#071b2ccc}dialog h2{font-size:56px;line-height:1;margin:20px 0}dialog>p:not(.eyebrow){font-size:15px}dialog ul{padding-left:20px;font-size:15px;line-height:1.8;margin:22px 0}.dialog-close{position:absolute;right:18px;top:12px;background:transparent;font-size:30px;color:var(--ink)}.ink-button{background:var(--ink);color:var(--paper);padding:16px 22px;text-align:left;font-size:14px}.ink-button span{float:right;margin-left:25px}.form-intro{font-size:12px!important;margin-bottom:22px}form{display:grid;gap:15px}form label{display:grid;gap:6px;font-size:12px}input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #192f3260;color:var(--ink);padding:8px 0;border-radius:0;font-size:16px}textarea{resize:vertical}#form-result{padding:25px 0;border-top:1px solid var(--ink);line-height:1.6}
@media(hover:hover) and (pointer:fine){.masthead nav a:hover:after{transform:scaleX(1)}.text-link:hover span{transform:translateX(5px)}.domain-item:hover{color:var(--gold)}.contact-button:hover,.ink-button:hover,.large-contact:hover{background:#ae9562;color:#102f30}}
.reading .viewport{position:relative;overflow:visible}.reading #world{position:relative;transform:none!important;width:100%;height:auto}.reading .panel{position:relative;top:auto!important;left:auto!important;min-height:800px;height:100vh;clip-path:none!important}.reading .scroll-track,.reading .repere,.reading .cursor{display:none}.reading .transmission{clip-path:none}.reading .final-contact{clip-path:none;position:relative;min-height:800px}.reading .seal{height:auto;min-height:0}.reading .seal-intro,.reading .seal-disc,.reading .seal-enter{display:none}.reading .portal-picture{transform:none!important}.reading .masthead{background:#153e60;color:var(--paper)}.reading .masthead.light .brand img{filter:invert(97%)}.reading .panel{scroll-margin-top:100px}
@media(max-width:760px){:root{--edge:8vw}.masthead{height:78px;padding:0 6vw}.brand{font-size:10px;gap:7px}.brand small{font-size:9px}.brand img{width:34px;height:34px}.masthead nav{display:none}.contact-button{font-size:10px;max-width:155px;padding:10px;gap:12px}.contact-button span{font-size:18px}.repere{display:none}.panel{height:100svh}.hero-copy{top:24%;right:6vw}.hero-copy h1{font-size:clamp(58px,12vw,88px);line-height:1.04;margin-top:20px}.hero-copy h1 em{margin-left:8vw}.hero-intro{font-size:14px;margin-top:30px}.portal-picture img{object-position:64% center}.opening-shade{background:linear-gradient(90deg,#072c5080,transparent)}.eyebrow{font-size:9px}.opening-bottom{bottom:95px;right:8vw;font-size:8px}.opening-bottom>span:last-child{display:none}.scroll-cue{gap:10px;font-size:8px}.mention-demo{font-size:8px;max-width:150px}.story-copy{top:15%;width:84%}.story-copy h2{font-size:55px;margin:15px 0}.story-copy>p:not(.eyebrow){font-size:13px;max-width:87%}.story-copy .small-copy{display:none}.story-copy .text-link{font-size:11px;margin-top:8px}.painting{top:auto;bottom:12%;left:51%;width:40%;height:32%}.painting img{height:100%}.painting figcaption{display:none}.story-caption{left:10%;bottom:23%;transform:none;font-size:26px}.story-rule{left:46%;top:64%}.domain-title{top:16%;width:84%}.domain-title h2{font-size:52px;line-height:1;margin-top:12px}.domain-list{top:43%;left:8%;right:8%}.domain-item{padding:14px 0;gap:12px}.domain-item strong{font-size:33px}.domain-item small{font-size:8px;margin-top:4px}.domain-foot{display:none}.next-method{left:8%;bottom:13%;font-size:11px}.domain-arc{width:95vw;left:20%;top:5%}.method-head{top:16%;right:8%}.method-head h2{font-size:44px;margin-top:15px}.method-art{width:65%}.steps{top:39%;left:8%;right:8%;display:block}.steps article{padding:11px 0;display:grid;grid-template-columns:28px 110px 1fr;gap:8px;align-items:start}.steps span{font-size:9px;padding-top:8px}.steps h3{font-size:26px;margin:0}.steps p{font-size:11px;line-height:1.4}.method-note{bottom:13%;left:8%;right:8%;padding-top:15px;display:block}.method-note>span{font-size:8px;max-width:none}.method-note p{font-size:10px;margin:6px 0;max-width:85%}.method-note a{font-size:11px;padding:5px 0}.seal-intro{left:8%;top:17%;width:84%}.seal-intro h2{font-size:50px;margin-top:16px}.seal-disc{left:29%;top:46%;width:55vw;height:55vw;max-height:32vh;max-width:32vh}.seal-enter{left:8%;bottom:14%;font-size:12px;gap:25px}.final-contact{padding:21vh 8vw 12vh}.final-contact h2{font-size:85px}.large-contact{font-size:13px;padding:18px;gap:25px}.final-contact>p:not(.eyebrow){font-size:10px}.back-start{right:auto;left:8%;bottom:17%}dialog{padding:40px 26px}dialog h2{font-size:43px}.reading .panel{min-height:760px}.reading .final-contact{min-height:760px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.cursor{display:none}}
@media print{.masthead,.persistent-footer,.repere,.cursor{display:none}.viewport,#world{position:relative!important;transform:none!important}.panel{position:relative;top:auto;left:auto;clip-path:none!important;break-after:page}.scroll-track{display:none}}

[hidden]{display:none!important}

/* Signature originale et retour commun aux autres démos. */
.masthead .brand img{width:192px;height:72px;object-fit:contain}.final-contact .mention-demo{font-size:9px;margin-top:18px;opacity:.65}
@media(max-width:760px){.masthead .brand img{width:145px;height:55px}.masthead{gap:14px}.opening-bottom{bottom:65px}.final-contact .mention-demo{font-size:8px;max-width:240px}}

/* Pointer depth: two independent art planes inside the scroll camera. */
.depth-scene{position:absolute;inset:-2.5%;opacity:0;pointer-events:none;overflow:hidden}
.depth-scene.ready{opacity:1}.portal-picture.has-depth>img{visibility:hidden}
.depth-back,.depth-front{position:absolute;inset:0;width:100%;height:100%;will-change:transform}
.portal-picture .depth-back{object-fit:cover;object-position:center}.depth-front{overflow:visible}
.pointer-water{position:fixed;inset:0;width:100%;height:100%;z-index:22;pointer-events:none}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.depth-scene,.pointer-water{display:none}.portal-picture.has-depth>img{visibility:visible}}
@media print{.depth-scene,.pointer-water{display:none}.portal-picture.has-depth>img{visibility:visible}}

#refraction-stage{position:fixed;inset:0;z-index:10;isolation:isolate}
.filter-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.reading #refraction-stage{position:relative;filter:none!important}
@media print{#refraction-stage{position:relative;filter:none!important}}

@media(max-width:760px){.depth-scene,.pointer-water{display:none}.portal-picture.has-depth>img{visibility:visible}}


html{overflow-x:hidden}
