
:root{--ink:#0c1929;--ink-2:#142439;--paper:#f6f3ed;--paper-2:#eceae5;--white:#ffffff;--violet:#7924c7;--violet-soft:#a45ae3;--orb:#b04df1;--aqua:#9be0df;--text:#243246;--muted:#4e5c70;--line:#d4d0c8;--max:1430px;--ui:Inter,"Segoe UI",Arial,Helvetica,sans-serif;--display:"Arial Narrow","Segoe UI",Arial,sans-serif;--mono:"Cascadia Code",Consolas,"Courier New",monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #aa55e4;outline-offset:4px}
::selection{color:#fff;background:#7531c1}.wrap{max-width:var(--max);width:calc(100% - 96px);margin-inline:auto}.skip{position:absolute;top:-100px;left:12px;z-index:1001;background:white;color:#141927;padding:12px 18px}.skip:focus{top:12px}.section{scroll-margin-top:80px}

.header{position:sticky;top:0;height:90px;background:var(--paper);z-index:50;border-bottom:1px solid #bebdc039;backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{display:block;width:222px;height:auto;max-height:57px;object-fit:contain}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(19px,2.4vw,45px)}.desktop-nav a{font-weight:700;font-size:14px;letter-spacing:-.01em;padding:10px 0}.desktop-nav a:hover,.footer nav a:hover{color:var(--violet)}.header-cta{font-weight:800;color:#fff;background:var(--ink);padding:11px 17px;margin-left:12px;display:flex;align-items:center;gap:30px;font-size:13px;border-radius:2px;transition:background .2s}.header-cta:hover{background:#4d278d}.header-cta span{font-size:19px;font-weight:400;color:#c9abe5}.mobile-toggle{display:none;flex:0 0 46px;width:46px;height:44px;background:var(--ink);border:0;padding:10px;cursor:pointer}.mobile-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px auto;transition:transform .2s}.mobile-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.mobile-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:none}

.hero{background:var(--ink);color:#fff;min-height:700px;overflow:hidden;isolation:isolate}.hero-shell{display:grid;grid-template-columns:52% 48%;position:relative;min-height:730px}.hero-copy{position:relative;z-index:3;padding:92px 0 120px;align-self:center}.editorial-label,.section-tag,.section-meta,.vertical-mark,.stage-rail,.hero-bottom,.project-index,.art-ruler,.feature-art-label,.archive-type,.lab-footnote,.lab-ruler,.lab-after,.about-portrait-rail,.portrait-id,.contact-section .section-tag,.footer-bottom{font:700 11px/1.5 var(--mono);letter-spacing:.09em}.editorial-label{display:flex;align-items:center;gap:13px;color:#d0c5d9;white-space:nowrap}.index-square{width:9px;height:9px;display:inline-block;background:#b252ed;transform:rotate(45deg)}.editorial-line{width:32px;height:1px;background:#63647c;display:inline-block}.hero h1{font-family:var(--display);font-weight:900;font-stretch:condensed;letter-spacing:-.079em;line-height:.97;font-size:clamp(58px,6.2vw,106px);margin:43px 0 31px;max-width:840px;text-transform:uppercase}.hero h1 em{font-style:normal;color:#cda5f2}.hero-lede{font-size:19px;line-height:1.68;color:#e4e1e8;max-width:568px;margin:0}.hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:36px}.action-light{background:var(--paper);color:#171d31;font-weight:850;padding:17px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:29px;font-size:14px;transition:background .2s,transform .2s;min-height:54px}.action-light:hover{transform:translateY(-2px);background:#dac5f6}.action-light span{font-weight:400;font-size:21px}.action-quiet{display:inline-flex;align-items:center;gap:22px;color:#e8def2;font-weight:750;font-size:14px;border-bottom:1px solid #bbabc8;padding:12px 0}.action-quiet:hover{color:#fff}.action-quiet span{font-size:20px;color:#ceadf6}
.hero-stage{position:relative;min-width:0;min-height:600px;align-self:stretch;z-index:1;background:radial-gradient(ellipse at 62% 40%,#2d2653 0%,#18243c 48%,transparent 78%)}.hero-stage::before{content:"";position:absolute;width:900px;height:900px;top:-23%;left:5%;border:1px solid #ad8dd92b;transform:rotate(25deg);border-radius:50%}.hero-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 21%,transparent 85%,#0c192920);pointer-events:none;z-index:2}.stage-rail{position:absolute;z-index:5;top:36px;left:55px;right:20px;display:flex;justify-content:space-between;color:#a8acc6}.hero-geometry{pointer-events:none;position:absolute;border:1px solid #8f4eda6b;width:520px;height:520px;left:11%;top:16%;transform:rotate(39deg);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.hero-geometry-two{width:700px;height:700px;border-color:#8763c625;transform:rotate(65deg);top:0;left:-5%}.hero-mascot{position:absolute;z-index:1;width:115%;max-width:none;height:auto;left:0;bottom:39px;object-fit:contain;filter:drop-shadow(0 22px 58px #0306129c);transform:translateX(3%)}.stage-plate{position:absolute;z-index:5;bottom:70px;left:15%;right:-15px;max-width:370px;background:#e7e1df;display:flex;align-items:center;gap:16px;color:#142136;padding:18px 18px 17px;border-left:6px solid #8b35cc;box-shadow:0 14px 30px #050b1699}.plate-icon{color:#8738c0;font-size:37px;line-height:1}.stage-plate strong{display:block;font-size:13px;letter-spacing:.12em;line-height:1.5}.stage-plate small{display:block;color:#526078;font-size:12px;line-height:1.45;margin-top:3px}.hero-bottom{grid-column:1/-1;position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #a393bb47;padding:15px 0 22px;color:#a8adc4}.hero-bottom a:hover{color:#fff}.hero-bottom a span{padding-left:13px;color:#c5a3f8}

.manifesto{position:relative;padding:76px 0 79px;background:var(--paper);overflow:hidden}.manifesto-grid{position:relative;display:grid;grid-template-columns:56px minmax(0,1.25fr) minmax(250px,.85fr);gap:36px;align-items:start}.vertical-mark{writing-mode:vertical-rl;transform:rotate(180deg);color:#795c99;justify-self:start;margin:9px 0}.section-tag{color:#7027bb;font-weight:800;margin:0 0 22px}.manifesto h2{font-family:var(--display);font-size:clamp(37px,3.3vw,57px);line-height:1.12;letter-spacing:-.065em;font-weight:850;margin:0;max-width:830px}.manifesto h2 span{color:#60348f}.manifesto-text{padding-top:39px;z-index:1}.manifesto-text p{margin:0 0 25px;color:#3c4350;font-size:17px;line-height:1.68}.text-arrow{display:inline-flex;gap:24px;align-items:center;font-size:14px;font-weight:850;border-bottom:1px solid #7743ac;padding-bottom:6px}.text-arrow:hover{color:#7d38b9}.text-arrow span{font-size:20px;font-weight:400;color:#763cad}.manifesto-orb{position:absolute;width:125px;height:auto;bottom:-105px;right:14%;opacity:.16;transform:rotate(29deg);pointer-events:none}

.showcase-section{background:#eae7e1;padding:99px 0 113px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #b7b5b3;padding-top:16px}.section-meta{color:#5a5c69;font-size:10px}.section-top .section-tag{margin:0}.showcase-header{display:grid;grid-template-columns:1.06fr .94fr;align-items:end;gap:9%;padding:32px 0 55px}.showcase-header h2,.lab-intro h2,.about-copy h2,.contact-inner h2{font-family:var(--display);font-size:clamp(52px,6.2vw,99px);font-weight:900;line-height:1.01;letter-spacing:-.08em;margin:0;text-transform:uppercase}.showcase-header h2 em{font-style:normal;color:#772bb0}.showcase-header p{font-size:19px;line-height:1.68;max-width:540px;color:#374154;margin:0 0 10px}
.hero-projects{display:grid;grid-template-columns:1.16fr .84fr;gap:22px;align-items:stretch}.project-feature{display:flex;flex-direction:column;min-width:0;background:#fff;overflow:hidden;border:1px solid #d6d1cf}.feature-art{height:355px;position:relative;overflow:hidden;color:#f5eeff}.feature-comfy .feature-art{background:#211d37}.feature-video .feature-art{background:#142838}.feature-art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#d1a4f010 1px,transparent 1px),linear-gradient(90deg,#d1a4f010 1px,transparent 1px);background-size:46px 46px;opacity:.66}.art-ruler,.feature-art-label{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;z-index:2;color:#cfc3e0;font-size:10px}.art-ruler{top:23px}.feature-art-label{bottom:21px;color:#b5aecb}.feature-diagram{position:absolute;top:27%;left:8%;right:8%;display:flex;align-items:center;filter:drop-shadow(0 17px 27px #0009);transform:rotate(-5deg)}.diagram-column{width:29%;min-width:0;background:#3b345c;border:1px solid #947bce;padding:14px 13px;display:flex;flex-direction:column;gap:10px;box-shadow:0 5px 25px #9f65dc27}.diagram-center{background:#584879;transform:translateY(-26px);border-color:#c8a9ed}.diagram-title{font:800 9px var(--mono);letter-spacing:.06em;color:#fff;padding-bottom:10px;border-bottom:1px solid #d1b2eb77;white-space:nowrap}.diagram-column i{height:7px;border-radius:1px;display:block;background:#8879a7}.diagram-column i:last-child{width:55%;background:#a48be0}.diagram-link{min-width:9px;flex:1;height:2px;background:#b396f5;box-shadow:0 0 15px #b288f1}
.film-card{position:absolute;left:14%;right:14%;top:24%;height:60%;border:9px solid #405b6b;background:#182c3e;box-shadow:0 30px 50px #0006}.film-viewport{position:absolute;inset:20px 0 20px;overflow:hidden;background:linear-gradient(#434069 0%,#a47796 55%,#edbaa1 100%)}.film-stripe{position:absolute;left:0;right:0;height:15px;background:repeating-linear-gradient(90deg,#0b1b30 0 25px,#8b99a3 25px 40px);opacity:.85;z-index:3}.film-top{top:0}.film-bottom{bottom:0}.film-sun{position:absolute;left:55%;top:15%;width:80px;height:80px;background:#ffdfcd;border-radius:50%;box-shadow:0 0 65px #eabbbeb0}.film-mountain{position:absolute;width:150%;height:75%;bottom:-49%;left:-32%;background:#424561;transform:rotate(-19deg)}.film-mountain.front{background:#1c2943;left:42%;bottom:-50%;transform:rotate(14deg)}.film-timecode{position:absolute;z-index:4;right:9px;bottom:24px;background:#141b2dcc;padding:3px 7px;color:#fff;font:700 9px var(--mono)}
.feature-content{display:flex;flex-direction:column;flex:1;padding:32px 36px 35px}.project-index{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0;font-size:10px;color:#6b5582}.project-index span{color:#526172}.feature-content h3{font-family:var(--display);font-size:clamp(35px,3.2vw,53px);font-weight:850;line-height:1.05;letter-spacing:-.065em;margin:23px 0 17px}.feature-content p:not(.project-index){font-size:17px;color:#435065;margin:0 0 30px;line-height:1.66}.feature-action{display:inline-flex;align-items:center;align-self:flex-start;gap:36px;border-top:1px solid #c7bfd0;padding-top:17px;font-weight:850;font-size:14px;margin-top:auto;color:#4f1c80}.feature-action:hover{color:#912ac3}.feature-action span{font-size:23px;font-weight:400}.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid #bcb8b5;padding-top:40px;margin-top:70px;margin-bottom:24px}.archive-heading h3{font-size:clamp(29px,3.4vw,49px);line-height:1.08;letter-spacing:-.055em;margin:0;font-weight:850}.archive-heading h3 span{color:#913fd2}.archive-heading p{color:#445165;max-width:440px;margin:0;font-size:16px}.archive-list{border-top:1px solid #c4c2be}.archive-item{min-height:134px;display:grid;grid-template-columns:55px 65px minmax(0,1fr) 225px 38px;gap:20px;align-items:center;border-bottom:1px solid #c4c2be;padding:16px 2px;transition:background .2s,padding .2s}.archive-item:is(a):hover{background:#f5f1ec;padding-left:15px}.archive-num{color:#673c86;font:800 13px var(--mono)}.archive-glyph{display:grid;place-items:center;width:59px;height:59px;border:1px solid #aea8ad;font-size:31px;color:#5e3784}.archive-text{display:flex;flex-direction:column;gap:8px}.archive-text strong{font-size:clamp(21px,2.15vw,31px);line-height:1.25;font-weight:850;letter-spacing:-.035em}.archive-text small{font-size:14px;color:#495468;line-height:1.52;max-width:600px}.archive-type{color:#5b5369;font-size:10px;text-align:right}.archive-arrow{font-size:25px;color:#63308c;justify-self:end}.archive-private{font:700 10px var(--mono);letter-spacing:.03em;color:#627087}.archive-footer{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:28px}.archive-footer p{font-size:14px;color:#536075;line-height:1.5;margin:0}.archive-footer .text-arrow{font-size:13px}

.lab-section{background:#fff;padding:105px 0}.lab-frame{display:grid;grid-template-columns:.97fr 1.03fr;gap:0;background:var(--ink);color:#f6f1f9;position:relative;overflow:hidden}.lab-frame::before{content:"";position:absolute;right:-140px;top:-180px;width:490px;height:490px;border:1px solid #c18ce44b;border-radius:50%;box-shadow:0 0 0 67px #aa84de0c,0 0 0 145px #aa84de09;pointer-events:none}.lab-intro{padding:76px 57px 70px;background:#101d30}.lab-intro .section-tag{color:#c9a2e9}.lab-intro h2{font-size:clamp(49px,4.65vw,75px)}.lab-intro h2 em{font-style:normal;color:#d0a4f5}.lab-intro>p:not(.section-tag){font-size:17px;color:#d4d3df;max-width:480px;line-height:1.7;margin:31px 0 47px}.lab-footnote{color:#9c9eb7}.lab-explorations{padding:72px 58px 55px;position:relative;z-index:1;border-left:1px solid #7380a33e}.lab-ruler{display:flex;justify-content:space-between;gap:10px;color:#a29eba;font-size:10px;padding-bottom:28px}.lab-ruler span{color:#b88ae6}.lab-explorations article{border-top:1px solid #8b83a242;display:grid;grid-template-columns:65px 1fr;gap:15px;padding:29px 0}.lab-explorations article>span{color:#be92eb;font:700 13px var(--mono)}.lab-explorations h3{font-size:clamp(23px,2vw,31px);margin:0 0 11px;font-weight:800;letter-spacing:-.035em;line-height:1.25}.lab-explorations p{font-size:15px;color:#c6ccd8;line-height:1.68;margin:0}.lab-after{border-top:1px solid #8b83a242;padding-top:23px;color:#c9addc;font-size:10px}

.about-section{background:var(--paper);padding:105px 0 116px}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:center}.about-portrait{background:linear-gradient(145deg,#243049,#121f32);min-height:485px;position:relative;overflow:hidden;display:flex;align-items:end;justify-content:center}.about-portrait::before{content:"";position:absolute;inset:65px 22% 15px;border:1px solid #b38bd35e;transform:rotate(13deg)}.about-portrait img{width:118%;max-width:none;position:relative;z-index:1;transform:translateY(5%);filter:drop-shadow(0 15px 28px #040711ab)}.about-portrait-rail{position:absolute;top:24px;left:28px;right:28px;display:flex;justify-content:space-between;z-index:3;color:#c6c0dd;font-size:10px}.portrait-id{position:absolute;z-index:3;bottom:20px;right:23px;color:#cdc1dc;background:#101d30b3;padding:6px 9px;font-size:10px}.about-copy h2{font-size:clamp(48px,4.7vw,77px)}.about-copy h2 em{font-style:normal;color:#7830b4}.about-copy>p:not(.section-tag){font-size:18px;line-height:1.76;color:#3f4a5d;max-width:705px;margin:27px 0 0}.about-copy .text-arrow{margin-top:35px}

.contact-section{background:#e8e3da;padding:100px 0;scroll-margin-top:86px}.contact-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:9%;position:relative}.contact-section h2{font-size:clamp(49px,5.15vw,85px)}.contact-section h2 em{font-style:normal;color:#792ab4}.contact-section p:not(.section-tag){font-size:18px;line-height:1.65;color:#3a465b;max-width:630px;margin:28px 0 29px}.contact-section .action-light{background:var(--ink);color:#fff}.contact-section .action-light:hover{background:#5b2490}.contact-seal{display:flex;justify-content:center;position:relative}.contact-seal::before{content:"";position:absolute;border:1px solid #aa86c170;border-radius:50%;width:350px;aspect-ratio:1;top:4%;box-shadow:0 0 0 45px #a78dc21a}.contact-seal img{position:relative;width:min(100%,335px);height:auto}.footer{background:var(--paper)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:35px 0;border-bottom:1px solid #cac8c2}.footer-main>img{width:245px;max-height:66px}.footer nav{display:flex;gap:25px;flex-wrap:wrap;align-items:center}.footer nav a{font-size:14px;font-weight:750}.footer-bottom{display:flex;justify-content:space-between;gap:25px;color:#566171;padding:24px 0;font-size:10px}.footer-bottom a:hover{color:#792ab4}

@media(max-width:1200px){.wrap{width:calc(100% - 70px)}.hero-shell{grid-template-columns:52% 48%}.hero-copy{padding-block:75px 120px}.hero h1{font-size:clamp(56px,6.3vw,85px)}.hero-mascot{width:132%;left:-11%}.stage-plate{left:4%;bottom:86px}.manifesto-grid{grid-template-columns:40px 1.2fr .9fr;gap:24px}.archive-item{grid-template-columns:35px 60px minmax(0,1fr) 175px 30px;gap:14px}.lab-intro,.lab-explorations{padding-inline:38px}}
@media(max-width:950px){.desktop-nav{gap:17px}.header-cta{display:none}.hero-shell{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(51px,6.3vw,73px)}.hero-lede{font-size:17px}.hero-mascot{width:143%;left:-15%}.hero-stage{min-height:580px}.stage-plate{right:-8px;left:0}.feature-art{height:285px}.feature-content{padding:26px}.archive-type{display:none}.archive-item{grid-template-columns:35px 60px 1fr 26px}.archive-private{font-size:10px;justify-self:end}.lab-intro h2{font-size:clamp(45px,5vw,68px)}.about-grid{gap:6%}.about-portrait{min-height:380px}}
@media(max-width:850px){.wrap{width:calc(100% - 54px)}.header{height:77px}.header-inner{gap:15px}.brand img{width:202px}.desktop-nav{display:none}.mobile-toggle{display:block;margin-left:auto}.mobile-nav{position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:15px 27px 24px;box-shadow:0 22px 35px #05122436;border-bottom:2px solid #b5a6bb;display:flex;flex-direction:column}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:14px 6px;border-bottom:1px solid #d7d1d1;font-weight:770;color:#222b3b}.mobile-nav a:last-child{color:#7236aa;border:0}.hero-shell{grid-template-columns:1fr}.hero-copy{padding:65px 0 26px}.hero h1{font-size:clamp(54px,10.2vw,95px)}.hero-lede{max-width:700px}.hero-stage{min-height:560px;margin-inline:-27px}.hero-mascot{width:min(870px,102%);max-width:none;left:50%;transform:translateX(-50%);bottom:25px}.stage-rail{left:27px;right:27px}.stage-plate{max-width:315px;left:auto;right:30px;bottom:40px}.hero-bottom{margin-top:0}.manifesto-grid{grid-template-columns:25px 1fr}.manifesto-text{grid-column:2;padding-top:0;max-width:720px}.manifesto-orb{right:-10px;bottom:-110px}.hero-projects{grid-template-columns:1fr}.feature-art{height:360px}.showcase-header{grid-template-columns:1fr;gap:19px}.showcase-header p{max-width:730px}.feature-content h3{font-size:clamp(36px,6.3vw,58px)}.archive-type{display:block}.archive-item{grid-template-columns:35px 60px 1fr 180px 27px}.lab-frame{grid-template-columns:1fr}.lab-intro{padding:54px 44px 48px}.lab-explorations{padding:25px 44px 48px;border-left:0}.about-grid{grid-template-columns:1fr}.about-portrait{min-height:450px;max-width:640px;width:100%;margin-inline:auto}.about-copy{padding-top:25px}.contact-inner{grid-template-columns:1fr .4fr;gap:5%}.contact-seal img{width:210px}.contact-seal::before{width:210px}.footer-main{flex-wrap:wrap}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.header{height:72px}.mobile-nav{top:72px;padding-inline:20px}.brand img{width:180px}.hero-copy{padding-top:48px}.editorial-label{white-space:normal;font-size:9px}.editorial-line{width:17px}.hero h1{font-size:clamp(47px,11.6vw,73px);margin:29px 0 24px}.hero-lede{font-size:17px}.hero-links{flex-direction:column;align-items:stretch;gap:19px}.action-light{justify-content:space-between}.action-quiet{align-self:flex-start}.hero-stage{min-height:380px;margin-inline:-20px}.stage-rail{left:22px;right:22px;top:17px;font-size:9px}.hero-mascot{width:min(710px,119%);bottom:28px}.stage-plate{max-width:265px;right:12px;bottom:27px;padding:9px 12px;gap:10px}.stage-plate strong{font-size:11px}.stage-plate small{font-size:11px}.plate-icon{font-size:29px}.hero-bottom{font-size:9px;align-items:flex-start;gap:18px}.hero-bottom a{max-width:130px;text-align:right}.manifesto{padding:62px 0}.manifesto-grid{grid-template-columns:1fr;gap:13px}.vertical-mark{writing-mode:horizontal-tb;transform:none;margin:0 0 2px}.manifesto h2{font-size:clamp(36px,8.3vw,50px)}.manifesto-text{grid-column:1}.manifesto-text p{font-size:16px}.manifesto-orb{opacity:.12}.showcase-section{padding:66px 0 85px}.section-meta{display:none}.showcase-header{padding:22px 0 37px}.showcase-header h2{font-size:clamp(50px,12vw,76px)}.showcase-header p{font-size:17px}.hero-projects{gap:24px}.feature-art{height:268px}.feature-content{padding:25px}.feature-content h3{font-size:clamp(35px,9vw,50px)}.feature-content p:not(.project-index){font-size:16px}.feature-diagram{left:6%;right:6%;top:30%}.diagram-column{padding:7px;gap:8px}.diagram-title{font-size:7px}.film-card{left:10%;right:10%;height:56%;top:25%}.archive-heading{display:block;margin-top:56px}.archive-heading p{margin-top:16px}.archive-item{grid-template-columns:34px 49px 1fr 22px;gap:10px;min-height:122px}.archive-glyph{width:49px;height:49px;font-size:26px}.archive-text strong{font-size:23px}.archive-text small{font-size:13px}.archive-type{display:none}.archive-private{display:none}.archive-footer{display:block}.archive-footer .text-arrow{margin-top:19px}.lab-section{padding:64px 0}.lab-frame{width:100%}.lab-intro{padding:46px 25px 35px}.lab-intro h2{font-size:clamp(44px,10vw,65px)}.lab-intro>p:not(.section-tag){font-size:16px;margin:24px 0}.lab-explorations{padding:18px 25px 37px}.lab-explorations article{grid-template-columns:45px 1fr;gap:6px}.lab-explorations h3{font-size:23px}.lab-explorations p{font-size:15px}.about-section{padding:69px 0 77px}.about-portrait{min-height:300px}.about-portrait img{width:105%}.about-copy h2{font-size:clamp(42px,9vw,64px)}.about-copy>p:not(.section-tag){font-size:16px}.contact-section{padding:66px 0}.contact-inner{display:block}.contact-section h2{font-size:clamp(48px,11vw,72px)}.contact-section p:not(.section-tag){font-size:16px}.contact-seal{display:none}.footer-main{display:block}.footer-main>img{width:220px}.footer nav{margin-top:28px;gap:14px 19px}.footer-bottom{font-size:9px}}
@media(max-width:370px){.hero h1{font-size:45px}.hero-stage{min-height:320px}.stage-plate{max-width:217px;bottom:15px}.stage-rail{font-size:8px}.stage-plate small{font-size:10px}.hero-bottom{flex-direction:column}.hero-bottom a{text-align:left}.archive-item{grid-template-columns:24px 39px 1fr 16px;gap:8px}.archive-glyph{width:39px;height:39px;font-size:24px}.archive-text strong{font-size:20px}.archive-text small{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.real-nodes-preview{position:absolute;inset:15% 7% 15%;display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.8vw,20px);z-index:1;pointer-events:none}
.real-nodes-preview img{display:block;width:auto;max-width:48%;height:auto;max-height:94%;object-fit:contain;border:1px solid #88619d;background:#231b2b;box-shadow:0 15px 39px #02030c91}
.real-nodes-preview img:nth-child(1){transform:rotate(-4deg) translateY(11px)}
.real-nodes-preview img:nth-child(2){transform:rotate(4deg) translateY(-11px)}
@media(max-width:680px){.real-nodes-preview{inset:16% 4% 15%;gap:9px}.real-nodes-preview img{max-width:47%;max-height:92%}}
@media(prefers-reduced-motion:reduce){.real-nodes-preview img{transition:none}}

.archive-item--image{grid-template-columns:55px 138px minmax(0,1fr) 225px 38px;gap:17px}
.archive-thumbnail{display:block;width:138px;height:77px;overflow:hidden;background:#132737;border:1px solid #acadaf;box-shadow:0 4px 13px #101c2a17}
.archive-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .22s}
.archive-item--image:hover .archive-thumbnail img{transform:scale(1.055)}
@media(max-width:900px){.archive-item--image{grid-template-columns:42px 104px minmax(0,1fr) 25px;gap:13px}.archive-thumbnail{width:104px;height:69px}}
@media(max-width:650px){.archive-item--image{grid-template-columns:34px 78px minmax(0,1fr) 22px;gap:10px}.archive-thumbnail{width:78px;height:61px}.archive-item--image .archive-text strong{font-size:clamp(20px,5.8vw,27px)}}
@media(max-width:370px){.archive-item--image{grid-template-columns:22px 63px minmax(0,1fr) 16px;gap:8px}.archive-thumbnail{width:63px;height:57px}}
@media(prefers-reduced-motion:reduce){.archive-thumbnail img{transition:none}.archive-item--image:hover .archive-thumbnail img{transform:none}}

.magic-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.78;mix-blend-mode:screen}
.magic-reveal{opacity:0;transform:translateY(22px) scale(.992);transition:opacity .7s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms)}
.magic-reveal.is-revealed{opacity:1;transform:translateY(0) scale(1)}
.magic-surface{--magic-x:50%;--magic-y:50%;--tilt-x:0deg;--tilt-y:0deg;transform-style:preserve-3d;will-change:transform}
.js-magic .hero-stage.magic-surface{transform:perspective(1200px) rotateX(calc(var(--tilt-x) * .55)) rotateY(calc(var(--tilt-y) * .55));transition:transform .18s ease-out}
.hero-stage{isolation:isolate}
.hero-stage:after{content:"";position:absolute;inset:-12%;background:radial-gradient(circle at var(--magic-x,52%) var(--magic-y,40%),#b56de842 0,transparent 30%);pointer-events:none;z-index:0;opacity:.75}
.hero-stage>*:not(.magic-canvas){position:relative;z-index:1}
.js-magic .hero-mascot{animation:wizardBreath 7.5s ease-in-out infinite;transform-origin:50% 85%}
.header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#a967ca55 25%,#7ae0d633 55%,transparent);background-size:220% 100%;animation:headerSpell 11s linear infinite;pointer-events:none}
.feature-art-label,.art-ruler{background:#071321e6!important;backdrop-filter:blur(8px);text-shadow:0 1px 2px #000}
.feature-content{position:relative}
.feature-content:before{content:"";position:absolute;left:-18px;top:4px;width:3px;height:46px;background:linear-gradient(#b66fda,#75d8d3);opacity:.72}
.action-light,.header-cta,.feature-action,.text-arrow{transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}
.action-light:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px #5e2f7b24}
@keyframes wizardBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.007)}}
@keyframes headerSpell{0%{background-position:220% 0}100%{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){
 .magic-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .js-magic .hero-mascot,.header:after{animation:none!important}
 .js-magic .hero-stage.magic-surface{transform:none!important}
}

.magic-cursor-aura{position:fixed;left:0;top:0;width:180px;height:180px;border-radius:50%;pointer-events:none;z-index:999;opacity:0;background:radial-gradient(circle,#b768da24 0,#7be2d615 28%,transparent 68%);filter:blur(7px);mix-blend-mode:screen;transition:opacity .22s}
.magic-cursor-aura.is-visible{opacity:.72}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.magic-cursor-aura{display:none!important}}

.wand-trail-layer{position:fixed;inset:0;pointer-events:none;z-index:2147483000;overflow:hidden;opacity:0;transition:opacity .18s;mix-blend-mode:screen}
.wand-trail-layer.is-visible{opacity:1}
.wand-tip{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;will-change:transform;background:radial-gradient(circle,#fff 0 8%,#d7a4f3 20%,#8e55bc75 42%,transparent 70%);box-shadow:0 0 8px #fff,0 0 18px #c980ed,0 0 34px #72ddd4;transition:width .12s,height .12s,filter .12s}
.wand-tip:before,.wand-tip:after{content:"";position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}
.wand-tip:before{width:20px;height:1px;box-shadow:0 0 8px #d9b0ef}
.wand-tip:after{width:1px;height:20px;box-shadow:0 0 8px #87dfd8}
.wand-trail-layer.is-casting .wand-tip{filter:brightness(1.7);width:25px;height:25px}
.wand-spark{position:absolute;left:0;top:0;font-style:normal;font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1;color:#e8c9fa;text-shadow:0 0 5px currentColor,0 0 13px currentColor;transform:translate(-50%,-50%);animation:wandSpark var(--spark-life,620ms) cubic-bezier(.17,.68,.22,1) forwards;will-change:transform,opacity}
.wand-spark--cyan{color:#8de7df}.wand-spark--silver{color:#fff}.wand-spark--violet{color:#d69af2}
@keyframes wandSpark{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}
  13%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--spark-x,0px)),calc(-50% + var(--spark-y,-18px))) scale(var(--spark-scale,.8)) rotate(var(--spark-rot,45deg))}
}

.magic-page-veil{position:fixed;inset:0;z-index:2147482500;pointer-events:none;display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,#271238 0,#111724 33%,#050812 75%);clip-path:circle(145% at 50% 50%);transition:clip-path .76s cubic-bezier(.72,0,.25,1),opacity .3s .55s;opacity:1}
.magic-page-veil span{color:#d69df1;font-size:64px;text-shadow:0 0 22px #bf6be9,0 0 70px #7ee1d7;animation:veilRune .78s ease-out forwards}
.magic-page-veil.is-open{clip-path:circle(0% at 50% 50%);opacity:.2}
@keyframes veilRune{0%{opacity:0;transform:scale(.42) rotate(-55deg)}42%{opacity:1;transform:scale(1.08) rotate(6deg)}100%{opacity:0;transform:scale(.72) rotate(42deg)}}

.hero h1 em,.showcase-header h2 em,.portal-hub h2 em,.portfolio-main h1 em,.chapter-head h2 em,
.lab-world h1 em,.lab-world h2 em,.universe-world h1 em,.universe-world h2 em,
.detail-page h1 em,.detail-page h2 em,.case-public-copy h1 em,.case-public-story h2 em{
  color:transparent!important;
  background:linear-gradient(105deg,#dca5f6 0,#a660d0 34%,#83e5dc 52%,#dca5f6 70%,#a660d0 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;background-clip:text;
  animation:magicInk 8s linear infinite;
}
@keyframes magicInk{0%{background-position:0 50%}100%{background-position:240% 50%}}

.section-tag{position:relative}
.section-tag:before{content:"✦";display:inline-block;margin-right:8px;color:#ad66d0;text-shadow:0 0 9px #ad66d0;animation:tagSpark 4.2s ease-in-out infinite}
@keyframes tagSpark{0%,100%{opacity:.45;transform:scale(.8) rotate(0)}45%{opacity:1;transform:scale(1.15) rotate(18deg)}60%{opacity:.7;transform:scale(.95) rotate(-8deg)}}

.magic-hover{transition:box-shadow .25s ease,filter .25s ease,border-color .25s ease}
.magic-hover:hover,.magic-hover:focus-within{box-shadow:0 20px 48px #1510251f,0 0 0 1px #9c5fc029,0 0 32px #9b60bd15;filter:saturate(1.035) brightness(1.015)}
.magic-hover img{transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .4s}
.magic-hover:hover img,.magic-hover:focus-within img{transform:scale(1.025);filter:saturate(1.05) contrast(1.02)}

.action-light,.header-cta,.feature-action,.text-arrow,.detail-next-action,.portfolio-open{
  position:relative;
}
.action-light{overflow:hidden}
.action-light:before{content:"";position:absolute;inset:-70% auto -70% -35%;width:24%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,#fff8,transparent);opacity:0}
.action-light:hover:before,.action-light:focus-visible:before{opacity:1;animation:buttonSpell .7s ease-out}
@keyframes buttonSpell{from{left:-35%}to{left:120%}}

.desktop-nav a:hover,.desktop-nav a:focus-visible,.mobile-nav a:hover,.footer a:hover{color:#8e4fb1;text-shadow:0 0 16px #b66ed45e}

.detail-page .detail-visual,.case-public-art{transition:border-color .3s,box-shadow .3s,transform .3s}
.detail-page .detail-visual:hover,.case-public-art:hover{border-color:#a66fc5;box-shadow:0 26px 56px #2513311f,0 0 38px #9f5fc329;transform:translateY(-3px)}
.detail-page .detail-visual:after,.case-public-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#d99bf013 42%,#92e4dc18 50%,transparent 61%);background-size:220% 100%;animation:glassSpell 9s linear infinite}
@keyframes glassSpell{0%{background-position:220% 0}100%{background-position:-220% 0}}

.footer{position:relative}
.footer:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#9c5db7,#7bded5,#9c5db7,transparent);background-size:220% 100%;animation:headerSpell 12s linear infinite}

@media(prefers-reduced-motion:reduce),(pointer:coarse){
 .wand-trail-layer,.magic-page-veil{display:none!important}
 .hero h1 em,.showcase-header h2 em,.portal-hub h2 em,.portfolio-main h1 em,.chapter-head h2 em,
 .lab-world h1 em,.lab-world h2 em,.universe-world h1 em,.universe-world h2 em,
 .detail-page h1 em,.detail-page h2 em,.case-public-copy h1 em,.case-public-story h2 em{
   animation:none!important;background-position:0 50%
 }
 .section-tag:before,.footer:before{animation:none!important}
 .magic-hover:hover img,.magic-hover:focus-within img{transform:none!important}
}


/* Contact public sécurisé */
.contact-inner--form{grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr);align-items:center}
.contact-copy{min-width:0}.contact-copy>p:not(.section-tag):not(.contact-privacy){max-width:680px}
.contact-form{margin-top:34px;max-width:760px;display:grid;gap:16px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:grid;gap:8px;color:#465166;font:800 10px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.contact-form input,.contact-form textarea{
  width:100%;border:1px solid #aaa4aa;background:#f7f4ef;color:#121d2e;border-radius:0;
  padding:14px 15px;font:600 15px/1.45 var(--ui);outline:none;transition:border-color .18s,box-shadow .18s,background .18s
}
.contact-form textarea{resize:vertical;min-height:140px;max-height:360px}
.contact-form input:focus,.contact-form textarea:focus{border-color:#7c35b7;background:#fff;box-shadow:0 0 0 3px #8e47c118}
.contact-form input:invalid:not(:placeholder-shown),.contact-form textarea:invalid:not(:placeholder-shown){border-color:#9c5870}
.contact-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.contact-turnstile{min-height:1px}
.contact-form-bottom{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.contact-submit{border:0;background:var(--ink);color:#fff;min-height:54px;padding:15px 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-weight:850;cursor:pointer;transition:transform .18s,background .18s,opacity .18s}
.contact-submit:hover:not(:disabled){transform:translateY(-2px);background:#5b2490}.contact-submit:disabled{cursor:not-allowed;opacity:.48}
.contact-submit span{font-size:20px;font-weight:400;color:#d2b1ed}
.contact-form-status{margin:0!important;max-width:390px!important;font-size:12px!important;line-height:1.45!important;color:#606b7d!important}
.contact-form-status.is-ok{color:#2f735f!important}.contact-form-status.is-error{color:#8c3f59!important}
.contact-privacy{margin:17px 0 0!important;font:700 10px/1.5 var(--mono)!important;letter-spacing:.05em;color:#756d7d!important}
.contact-privacy span{color:#8c39c5;text-shadow:0 0 8px #a75bdd}
.contact-seal--secure span{position:absolute;bottom:-27px;color:#79568a;font:800 9px/1.4 var(--mono);letter-spacing:.13em}
@media(max-width:850px){
  .contact-inner--form{grid-template-columns:1fr}.contact-seal--secure{margin-top:32px}.contact-form{max-width:none}
}
@media(max-width:650px){
  .contact-form-grid{grid-template-columns:1fr}.contact-form-bottom{align-items:stretch}.contact-submit{width:100%}.contact-form-status{max-width:none!important}
  .contact-seal--secure{display:none}
}
