@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Poppins:wght@400;500;600;700;800&display=swap');

.landing-shell{--paper:#f7f6f2;--ink:#1f2a37;--slate:#4b5563;--blue:#3446d4;--lav:#a9b2ff;--night:#141b4d;--deep:#0a0e2a;background:var(--paper);color:var(--ink);font-family:Poppins,system-ui,sans-serif;overflow:clip}.landing-shell *{box-sizing:border-box}.landing-shell a{color:inherit}.landing-nav{position:fixed;z-index:20;top:14px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100vw - 24px));height:60px;display:flex;align-items:center;gap:18px;padding:0 8px 0 12px;border:1px solid transparent;border-radius:999px;transition:.45s;background:transparent}.landing-nav.is-scrolled{background:rgba(247,246,242,.82);border-color:rgba(31,42,55,.1);box-shadow:0 10px 30px rgba(31,42,55,.08);backdrop-filter:blur(16px)}.landing-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:16px;white-space:nowrap}.landing-brand>span:last-child>span{color:var(--blue)}.landing-brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 1px 4px #1f2a3720}.landing-brand-mark img{width:26px}.landing-nav nav{flex:1;display:flex;justify-content:center;gap:clamp(18px,3vw,40px);font-size:15px}.landing-nav nav a{text-decoration:none;opacity:.82}.landing-nav nav a:hover{opacity:1}.landing-nav-cta,.button{display:inline-flex;align-items:center;gap:10px;border-radius:999px;text-decoration:none;font-weight:600}.landing-nav-cta{height:44px;padding:0 6px 0 18px;background:var(--ink);color:#fff!important;font-size:14px}.landing-arrow{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-size:17px}.landing-hero{position:relative;min-height:100vh;padding:clamp(150px,22vh,220px) 6vw 90px;display:flex;justify-content:center;text-align:center;overflow:hidden}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,#d9d6cc22 1px,transparent 1px) 0 0/72px 72px,linear-gradient(#d9d6cc22 1px,transparent 1px) 0 0/72px 72px;mask-image:radial-gradient(ellipse 60% 56% at 50% 36%,#0006,transparent 78%)}.hero-copy{position:relative;z-index:1;max-width:1000px}.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.01em;color:var(--slate);margin:0 0 20px}.eyebrow i{display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--blue);border-radius:50%}.landing-hero h1{margin:0;font-size:clamp(40px,6vw,86px);line-height:1.04;letter-spacing:-.055em}.landing-hero h1 em,.contact-section h2 em{font-style:normal;color:var(--blue)}.hero-intro{max-width:380px;margin:28px auto 0;color:var(--slate);font-size:16px;line-height:1.6}.hero-actions{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:28px}.button{height:52px;padding:0 7px 0 22px}.button-dark{background:var(--ink);color:#fff}.text-link{font-size:14px;text-underline-offset:5px}.archive-box{position:absolute;z-index:1;bottom:12%;left:50%;width:175px;height:122px;transform:translateX(-50%) rotate(-4deg);padding:22px 16px;background:linear-gradient(155deg,#d4a56b,#a96d37);border:5px solid #8b572e;border-radius:7px;box-shadow:0 30px 50px #7d552a40;color:#fff;text-align:left}.archive-box:before{content:'';position:absolute;left:12px;right:12px;top:46px;border-top:2px solid #8b572e}.archive-box span,.archive-box small{display:block;font:11px 'IBM Plex Mono',monospace}.archive-box strong{display:block;margin-top:10px;font-size:25px;letter-spacing:.05em}.archive-box small{position:absolute;bottom:9px;opacity:.8}.hero-scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font:12px 'IBM Plex Mono',monospace;color:var(--slate)}.hero-scroll span{margin-left:9px;color:var(--blue)}.landing-marquee{position:relative;z-index:2;overflow:hidden;transform:rotate(-2deg) scale(1.03);background:var(--blue);color:#fff;box-shadow:0 24px 50px #3446d44d}.landing-marquee div{width:max-content;padding:16px 0;animation:landing-marquee 32s linear infinite;font-size:clamp(20px,2.2vw,32px);font-weight:600;white-space:nowrap}.landing-marquee b{margin:0 24px;color:#c9d0ff;font-size:12px}@keyframes landing-marquee{to{transform:translateX(-50%)}}.landing-section{min-height:100vh;padding:clamp(110px,16vh,160px) clamp(18px,6vw,90px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:center;gap:clamp(42px,8vw,120px)}.atelier-section{background:#efede6}.search-section{background:var(--night);color:#fff;grid-template-columns:minmax(300px,.9fr) minmax(0,1.3fr)}.section-copy{position:relative}.section-number{display:block;font-size:clamp(120px,16vw,250px);line-height:.72;letter-spacing:-.08em;color:#dcdff3;margin-bottom:36px}.search-section .section-number{color:#d6dcff66}.section-copy h2{max-width:530px;margin:0;font-size:clamp(30px,4vw,56px);line-height:1.06;letter-spacing:-.045em}.section-copy>p:not(.eyebrow){max-width:430px;color:var(--slate);font-size:16px;line-height:1.6}.search-section .section-copy>p:not(.eyebrow){color:#c4c9ea}.fiction-pill{display:inline-flex;padding:5px 12px;border-radius:999px;background:#fff4dc;color:#8a5300;font-size:12px;font-weight:600;margin-top:14px}.fiction-pill.dark{background:#1d1708;color:#f2c46b;border:1px solid #6b5216}.mock-window{border-radius:18px;background:#0f172a;box-shadow:0 30px 80px #1f2a3738;overflow:hidden}.mock-top{height:42px;display:flex;align-items:center;gap:22px;padding:0 18px;background:#182236;color:#dfe3ff;font-size:12px}.mock-dots{font-size:9px;letter-spacing:2px;color:#8792a5}.online{margin-left:auto;color:#7fe0b0}.mock-body{display:flex;min-height:390px;background:#f8fafc;color:#1f2937}.mock-body aside{width:58px;padding:22px 0;display:flex;flex-direction:column;align-items:center;gap:24px;background:#111a2b;color:#a9b2ff}.mock-content{flex:1;padding:28px}.mock-heading{display:flex;justify-content:space-between;font-size:14px}.mock-heading span{font:12px 'IBM Plex Mono',monospace}.drop-zone{margin-top:26px;padding:36px 16px;border:2px dashed #b7bff3;border-radius:12px;text-align:center;background:#eef0fd;display:flex;flex-direction:column;align-items:center;gap:8px}.drop-zone span{font-size:30px;color:var(--blue)}.drop-zone small{color:var(--slate)}.drop-zone button{margin-top:8px;border:0;border-radius:8px;padding:10px 16px;background:var(--blue);color:#fff;font-weight:600}.upload-row{display:flex;justify-content:space-between;margin-top:18px;padding:13px;border-left:3px solid #2f6b4f;background:#e6f4ec;font-size:13px}.upload-row b{color:#2f6b4f}.upload-row.muted{border-color:#e8cf9a;background:#fff4dc}.upload-row i{color:#8a5300;font-style:normal}.search-window{background:#f8fafc;padding:22px;color:#1f2937;box-shadow:0 40px 100px #0000008c}.search-bar{height:42px;padding:0 14px;display:flex;align-items:center;gap:10px;border:1.5px solid var(--blue);border-radius:9px;box-shadow:0 0 0 3px #3446d426;font-size:18px;color:#4b5563}.search-bar span{font-size:14px;color:#111827}.search-bar i{width:2px;height:17px;background:var(--blue);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.search-results{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.result-list,.result-detail{background:#fff;border-radius:11px;border:1px solid #e3e6eb;overflow:hidden}.result-item{position:relative;padding:14px;border-bottom:1px solid #eef0f3;display:flex;flex-direction:column;gap:4px}.result-item.selected{background:#eef0fd;box-shadow:inset 3px 0 var(--blue)}.result-item strong{font-size:13px}.result-item small,.result-detail small{font-size:11px;color:#4b5563}.result-item b{align-self:flex-start;font-size:10px;color:var(--blue);background:#eef0fd;border-radius:999px;padding:2px 8px}.result-detail{padding:18px}.result-detail h3{margin:8px 0 18px;font-size:18px;line-height:1.25}.result-detail dl{display:grid;grid-template-columns:110px 1fr;margin:0}.result-detail dt,.result-detail dd{padding:10px 0;border-bottom:1px solid #eef0f3;font-size:13px}.result-detail dt{color:#4b5563}.result-detail dd{margin:0;font-weight:600}.result-detail dd.highlight{color:var(--blue)}.result-detail>div{display:flex;gap:8px;margin-top:18px}.result-detail button{border:0;border-radius:8px;padding:10px 12px;background:var(--blue);color:#fff;font-weight:600;font-size:12px}.result-detail button.outline{background:#fff;color:var(--blue);border:1px solid #b7bff3}.query-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.query-pills button{height:40px;padding:0 14px;border:1px solid #8a97ff66;border-radius:999px;background:transparent;color:#dfe3ff;cursor:pointer}.query-pills button.active{background:#7f8dff38;border-color:#8a97ff}.parcours-section{height:420vh;background:var(--deep);color:#fff}.parcours-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;gap:clamp(30px,6vw,100px);padding:0 clamp(18px,6vw,90px);overflow:hidden;background:radial-gradient(ellipse 55% 50% at 72% 52%,#3446d461,transparent 70%),linear-gradient(#fff0 0 0)}.parcours-intro{flex:0 0 min(360px,32vw)}.parcours-intro .eyebrow{color:var(--lav)}.parcours-intro h2{font-size:clamp(30px,4vw,56px);line-height:1.05;letter-spacing:-.04em}.parcours-intro>p:not(.eyebrow){color:#c4c9ea;line-height:1.6}.step-counter{display:block;margin-top:30px;font:13px 'IBM Plex Mono',monospace;color:#8d94c4}.progress{display:block;height:2px;margin-top:12px;background:#ffffff1f}.progress i{display:block;height:100%;background:var(--lav);box-shadow:0 0 12px #8a97ff;transition:width .35s}.step-rail{display:flex;gap:24px;min-width:0}.step-card{flex:0 0 min(400px,31vw);height:min(500px,64vh);padding:28px;border:1px solid #a9b2ff33;border-radius:24px;background:#ffffff0a;backdrop-filter:blur(10px);display:flex;flex-direction:column;opacity:.62;transition:.5s}.step-card.current{background:linear-gradient(160deg,#3446d473,#3446d41a);border-color:#a9b2ffb0;opacity:1;transform:translateY(-12px);box-shadow:0 30px 80px #3446d459}.step-card.past{opacity:.4}.step-top{display:flex;justify-content:space-between;font:13px 'IBM Plex Mono',monospace;color:var(--lav)}.step-top span{font-family:Poppins,sans-serif;padding:4px 10px;border-radius:999px;background:#ffffff12;color:#c4c9ea}.step-card.current .step-top span{background:#eef0ff;color:var(--night)}.step-card>strong{margin-top:auto;font-size:clamp(84px,9vw,150px);line-height:.8;letter-spacing:-.08em;color:#fff}.step-card h3{font-size:24px;margin:22px 0 6px}.step-card p{margin:0;color:#c4c9ea;line-height:1.5;font-size:15px}.step-card footer{display:flex;justify-content:space-between;padding-top:16px;margin-top:20px;border-top:1px solid #ffffff1f;color:#a3aad6;font-size:13px}.step-card footer b{color:#f2c46b}.contact-section{min-height:100vh;padding:clamp(110px,14vh,150px) 6vw 0;display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(ellipse 46% 38% at 50% 54%,#3446d48c,transparent 70%),#0f1434;color:#fff}.contact-badge{padding:8px 14px;border:1px solid #ffffff33;border-radius:999px;color:#dfe3ff;font-size:13px}.contact-section h2{margin:18px 0 0;font-size:clamp(40px,7vw,108px);line-height:1;letter-spacing:-.06em}.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:auto;padding-top:80px}.button-light{background:#fff;color:var(--night)}.button-ghost{height:52px;padding:0 22px;border:1px solid #ffffff38;color:#fff}.contact-note{color:#c4c9ea;font-size:14px}.contact-section footer{width:100%;margin-top:70px;padding:26px 0 18px;border-top:1px solid #ffffff24;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:left;color:#c4c9ea;font-size:13px;line-height:1.6}.contact-section footer div{display:flex;flex-direction:column}.contact-section footer strong{color:#fff;margin-bottom:7px}.contact-section footer a{color:#fff;text-decoration:none}.contact-section footer a:hover{text-decoration:underline}
@media (max-width:900px){.landing-nav nav{display:none}.landing-nav-cta{margin-left:auto}.landing-section,.search-section{grid-template-columns:1fr;padding-top:120px;padding-bottom:120px}.section-copy{order:0}.mock-window{order:1}.search-results{grid-template-columns:1fr}.parcours-sticky{display:block;padding-top:100px}.parcours-intro{max-width:600px}.step-rail{position:absolute;left:18px;right:0;bottom:38px;overflow:hidden}.step-card{flex-basis:min(80vw,340px);height:48vh}.contact-section footer{grid-template-columns:1fr}}
@media (max-width:600px){.landing-nav{top:8px}.landing-nav-cta{font-size:0;padding-left:8px}.landing-nav-cta .landing-arrow{font-size:17px}.landing-hero{padding-top:140px}.landing-hero h1{font-size:42px}.hero-actions{flex-direction:column;gap:14px}.archive-box{bottom:18%}.mock-content{padding:18px}.mock-body{min-height:340px}.section-number{font-size:120px}.contact-section footer{gap:20px}.contact-section{padding-left:18px;padding-right:18px}}
@media (prefers-reduced-motion:reduce){.landing-marquee div{animation:none}.landing-shell *{scroll-behavior:auto!important;transition:none!important}.search-bar i{animation:none}}
.landing-hero{position:relative;height:100vh;min-height:520px;padding:0;display:block;overflow:hidden}
#hero-bg{position:absolute;inset:-4% -2% 0;width:104%;height:104%;mask-image:radial-gradient(ellipse 54% 40% at 50% 30%,rgba(0,0,0,.08) 25%,rgba(0,0,0,.85) 100%);-webkit-mask-image:radial-gradient(ellipse 54% 40% at 50% 30%,rgba(0,0,0,.08) 25%,rgba(0,0,0,.85) 100%)}
.hero-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,246,242,0) 0%,rgba(247,246,242,0) 60%,#f7f6f2 96%);pointer-events:none}
.hero-shadow{position:absolute;left:50%;top:76vh;width:min(46vw,520px);height:min(5vw,56px);transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(31,42,55,.18),rgba(31,42,55,0))}
.hero-top{position:absolute;left:0;right:0;top:clamp(104px,15vh,150px);display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.6vh,28px);padding:0 20px;z-index:2}
.hero-top h1{margin:0}
.hero-bottom{position:absolute;left:clamp(20px,3.2vw,46px);right:clamp(20px,3.2vw,46px);bottom:clamp(32px,6vh,56px);z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;padding-top:20px;border-top:1px solid #e2dfd6}
.hero-bottom .hero-intro{margin:0;max-width:340px;text-align:left}
.hero-bottom .hero-scroll{position:static;display:flex}
@media (max-width:1099px){.hero-bottom .hero-scroll{display:none}}
#box3d{position:fixed;inset:0;width:100vw;height:100vh;z-index:20;pointer-events:none;opacity:0;transition:opacity .8s ease}
.legal-page{min-height:100vh;display:flex;flex-direction:column}.legal-main{flex:1;max-width:760px;margin:0 auto;padding:150px 20px 100px;line-height:1.7}.legal-main h1{font-size:clamp(30px,4vw,44px);letter-spacing:-.03em;margin:0 0 8px}.legal-main .legal-updated{font:13px 'IBM Plex Mono',monospace;color:var(--slate);margin:0 0 48px}.legal-main h2{font-size:20px;margin:40px 0 10px;letter-spacing:-.01em}.legal-main p,.legal-main li{color:var(--slate);font-size:15px}.legal-main ul{padding-left:20px}.legal-footer{border-top:1px solid #1f2a3714;padding:26px 6vw;text-align:center;font-size:13px;color:var(--slate)}.legal-footer a{color:var(--blue);text-decoration:none}.legal-footer a:hover{text-decoration:underline}
