:root{--bg:#07090c;--ink:#eeede8;--muted:#a4a5ab;--gold:#dfbd7c;--line:#ffffff20;--purple:#9a8cf2;--font:'DM Sans',sans-serif;--display:'Space Grotesk',sans-serif;--mono:'IBM Plex Mono',monospace;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:94px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:disabled{opacity:.25;cursor:default}::selection{background:var(--gold);color:var(--bg)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}em{font-style:normal;color:var(--gold)}.mono,.eyebrow{font:400 .75rem/1.6 var(--mono);letter-spacing:.065em}.eyebrow{color:var(--gold)}.skip{position:fixed;top:-100px;left:24px;padding:12px;background:var(--gold);color:#08090c;z-index:500}.skip:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.universe{position:fixed;inset:0;z-index:-2;pointer-events:none;background:#07090c}.universe canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s}.universe.ready canvas{opacity:1}.ambient-fallback{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 48%,#65503027,transparent 43%),radial-gradient(ellipse at 25% 90%,#593bb520,transparent 45%)}.noise{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.023;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:transparent;z-index:110}.reading-progress span{display:block;height:100%;width:0;background:var(--gold)}.header{height:100px;position:fixed;inset:0 0 auto;z-index:70;display:flex;align-items:center;gap:32px;padding:0 4.5%;transition:background .4s,height .4s,border-color .4s;border-bottom:1px solid transparent}.scrolled .header{height:78px;background:#07090cce;backdrop-filter:blur(22px);border-color:#ffffff0d}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap;font-family:var(--display);font-weight:600;letter-spacing:-1.3px;font-size:25px}.brand-dr{color:var(--gold);font-weight:400}.brand-symbol{border:1px solid #c8ab726b;color:var(--gold);height:36px;width:36px;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-style:italic;font-size:24px;letter-spacing:0}.header-caption{font-size:.625rem;color:var(--muted);line-height:1.6}.desktop-nav{display:flex;gap:30px;margin-left:auto;font-size:.8125rem;color:#c7c8c9}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--gold)}.contact-link{border:1px solid #a18c604f;border-radius:100px;padding:11px 20px;font-size:.8125rem;display:flex;align-items:center;gap:28px;transition:background .2s}.contact-link:hover{background:#dfbd7c15}.tiny-cross{color:var(--gold);font-size:20px;line-height:1}.menu-toggle{display:none}.mobile-menu{position:fixed;z-index:69;top:77px;left:0;right:0;background:#101215f7;backdrop-filter:blur(25px);padding:28px}.mobile-menu a{display:block;padding:13px 0;font-size:22px}.hero{position:relative;min-height:820px;height:100svh;max-height:1200px;padding:142px 7% 0}.hero-topline{display:flex;justify-content:space-between;color:#868b91;font-size:.6875rem}.hero-topline span:last-child{font-size:.625rem}.hero-copy{position:relative;z-index:2;padding-top:9vh;max-width:1200px}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:27px}.small-line{display:block;width:32px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(3.8rem,7.25vw,7.8rem);line-height:.99;letter-spacing:-.065em;font-weight:400}.hero h1 em{color:#dfbd7c}.hero-bottom-copy{display:flex;align-items:center;gap:38px;margin-top:32px}.hero-bottom-copy>p{max-width:300px;color:#a4a7ad;font-size:.9375rem;line-height:1.8}.button{padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid transparent;font-size:.8125rem;transition:background .25s,transform .25s}.button-gold{background:var(--gold);color:#101111}.button:hover{transform:translateY(-3px);background:#f0d4a1}.button span{font-size:22px;line-height:.8}.orbit-label{position:absolute;top:47%;right:5.5%;font-size:.625rem;display:flex;flex-direction:column;align-items:flex-end;color:#b4a78a;gap:8px}.orbit-label-line{width:100px;height:1px;background:linear-gradient(90deg,transparent,#b4a78a)}.hero-footer{position:absolute;bottom:38px;left:7%;right:7%;display:flex;align-items:end;justify-content:space-between;border-top:1px solid #ffffff15;padding-top:24px}.scroll-invitation{display:flex;gap:15px;align-items:center}.scroll-invitation .mono{font-size:.625rem;color:#a2a5ac}.scroll-line{height:38px;width:1px;background:#ffffff28;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;height:15px;width:1px;top:0;background:var(--gold);animation:scrollCue 2.4s infinite}.made-in{font-size:.625rem;color:#9b9da3}.hero-count{display:flex;gap:13px;align-items:center}.hero-count strong{font:400 2.25rem var(--display)}.hero-count>span{font:400 .625rem/1.6 var(--mono);color:#9b9da3}.work-section{height:520vh;position:relative;scroll-margin-top:0}.work-sticky{position:sticky;top:0;height:100svh;min-height:720px;overflow:hidden;background:linear-gradient(180deg,#07090c66,transparent 30%,#0d091580)}.section-top{position:absolute;top:119px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;z-index:20}.section-top h2{font-size:clamp(1.6rem,3.2vw,3rem);line-height:1.1;letter-spacing:-.045em;margin-top:12px}.section-top h2 span{color:#a8a6b2}.text-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:13px 0;border-bottom:1px solid #b8a07550;color:var(--gold);font-size:.8125rem;white-space:nowrap}.text-button>span{font-size:20px}.text-button:hover{border-color:var(--gold)}.app-index{position:absolute;left:7%;top:38%;z-index:23;display:flex;flex-direction:column;gap:3px}.app-index button{display:flex;align-items:center;gap:15px;font:400 .75rem/1.4 var(--mono);padding:7px 0;text-align:left;color:#87878f;min-width:158px;transition:color .2s,transform .3s}.app-index button>span{font-size:.625rem;color:#545762}.app-index button.active{color:var(--gold);transform:translateX(9px)}.app-index button.active>span{color:var(--gold)}.app-index button:hover{color:#edeae1}.spatial-gallery{position:absolute;inset:25% 0 12%;perspective:1500px;transform-style:preserve-3d}.spatial-card{position:absolute;width:clamp(290px,33vw,510px);aspect-ratio:.95;left:52%;top:50%;transform-style:preserve-3d;will-change:transform,opacity;opacity:0;border:1px solid #d8c39a59;border-radius:10px;background:linear-gradient(135deg,#24242bba,#101218d9);box-shadow:0 35px 100px #00000085;overflow:hidden;padding:0;text-align:left;transition:border-color .35s;isolation:isolate}.spatial-card:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#ffffff16,transparent 25%,transparent 60%,#d4b3740a);border:1px solid #ffffff08;border-radius:10px}.spatial-card .card-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48;filter:saturate(.75) brightness(.65);transform:scale(1.03);transition:filter .5s,transform .8s}.spatial-card.is-focused:hover .card-preview{filter:saturate(1) brightness(.86);transform:scale(1.07)}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,#11131b22 0%,#10111a00 20%,#0b0c1490 62%,#08090def)}.card-top{position:absolute;left:26px;right:26px;top:24px;display:flex;align-items:center;justify-content:space-between;font:.625rem var(--mono);color:#dad6cb;letter-spacing:.12em}.card-top i{font-style:normal;color:var(--gold)}.card-identity{position:absolute;bottom:35px;left:30px;right:30px;display:flex;flex-direction:column;align-items:flex-start;gap:13px}.card-identity img{width:48px;height:48px;border-radius:12px;object-fit:cover;box-shadow:0 5px 25px #0007}.card-identity h3{font-size:clamp(2.3rem,4.5vw,4.5rem);letter-spacing:-.06em;line-height:1}.card-identity p{font-size:.75rem;color:#c9cbd1;letter-spacing:.08em;text-transform:uppercase}.card-open{position:absolute;bottom:32px;right:25px;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff36;font-size:22px;color:var(--gold)}.app-context{position:absolute;width:185px;right:5.5%;top:45%;z-index:24;pointer-events:auto}.app-context>.mono{color:var(--gold);font-size:.625rem}.app-context>p{font-size:.875rem;line-height:1.8;color:#b1b0ba;margin:16px 0 20px}.gallery-footer{position:absolute;bottom:36px;left:7%;right:7%;display:flex;align-items:center;gap:40px;z-index:22}.gallery-counter{display:flex;align-items:center;gap:15px;font:.75rem var(--mono);color:#92909c}.gallery-counter>span:first-child{font-size:1.5rem;color:var(--ink)}.counter-divider{width:30px;height:1px;background:#66616b}.gallery-controls{display:flex;align-items:center;gap:20px;width:350px;margin:auto}.gallery-controls button{font:.75rem var(--mono);padding:14px 0}.gallery-track{height:2px;flex:1;background:#ffffff20}.gallery-track span{display:block;background:var(--gold);height:100%;width:10%;transition:width .3s}.gallery-hint{font-size:.625rem;color:#918c9a}.vision-section{position:relative;padding:125px 7% 90px;background:linear-gradient(180deg,#07090ca6,#07090c40 55%,#07090ce6);min-height:1020px;border-top:1px solid #ffffff0b}.vision-top{display:flex;align-items:center;justify-content:space-between}.vision-note{color:#85868c;font-size:.6875rem}.vision-content{display:grid;grid-template-columns:1.35fr .65fr;gap:15%;margin-top:100px}.vision-statement h2,.tech-heading h2{font-size:clamp(3.5rem,6.4vw,6.8rem);line-height:1.03;letter-spacing:-.065em}.vision-statement p{color:#a4a5b0;max-width:390px;margin-top:32px;font-size:1rem;line-height:1.8}.vision-detail{padding-top:95px}.chapter-mark{color:#8f869e;font-size:.625rem}.vision-detail h3{font-size:2.1rem;letter-spacing:-.04em;line-height:1.2;margin-top:25px}.vision-detail p{color:#aaa9b4;font-size:.9375rem;line-height:1.85;margin-top:20px}.vision-detail .text-button{margin-top:20px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:110px}.principles>div{border-top:1px solid #ffffff26;padding-top:24px}.principles .mono{color:var(--gold);font-size:.6875rem}.principles h3{font-size:1.125rem;margin:18px 0 8px}.principles p{color:#92939e;font-size:.875rem}.tech-section{padding:130px 7%;display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#090b10eb;border-top:1px solid #ffffff10}.tech-heading h2{font-size:clamp(3rem,4.5vw,5rem);margin-top:35px}.tech-heading>p:last-child{color:#9196a2;max-width:300px;line-height:1.8;margin-top:30px;font-size:.9375rem}.tech-stack{padding-top:40px}.stack-top{display:flex;justify-content:space-between;color:#a49b87;font-size:.625rem;padding-bottom:26px;border-bottom:1px solid #a991622c}.tech-row{padding:25px 0;border-bottom:1px solid #ffffff15}.tech-row>.mono{color:#908b7f;font-size:.625rem}.tech-row p{font-family:var(--display);font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.5;margin:15px 0 5px;letter-spacing:-.03em}.tech-row i{color:var(--gold);font-style:normal;margin:0 5px}.tech-row>span:last-child{font-size:.8125rem;color:#9195a1}.contact-section{padding:135px 7% 80px;position:relative;background:linear-gradient(180deg,#07090c65,#07090c)}.contact-heading{display:flex;align-items:center;justify-content:space-between;margin-top:45px}.contact-heading h2{font-size:clamp(4.5rem,9vw,9rem);line-height:.98;letter-spacing:-.065em}.contact-orbit{width:185px;height:185px;border:1px solid #bda77385;border-radius:50%;display:flex;flex-direction:column;gap:20px;justify-content:center;align-items:center;text-align:center;position:relative;font:.75rem/1.6 var(--mono);transition:background .4s,transform .4s}.contact-orbit:before{content:'';position:absolute;inset:-13px;border:1px solid #9e895e25;border-radius:50%}.contact-orbit>span:last-child{font-size:25px;color:var(--gold)}.contact-orbit:hover{background:#bb9b5424;transform:rotate(-5deg)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:65px;padding-top:36px;border-top:1px solid #ffffff20}.contact-bottom>a{font-family:var(--display);font-size:clamp(1.3rem,3vw,2.5rem);letter-spacing:-.04em}.contact-bottom>.mono{font-size:.6875rem;color:#909097}.footer{display:flex;gap:30px;align-items:center;padding:28px 7% 100px;background:var(--bg);border-top:1px solid #ffffff0d;color:#929398;font-size:.75rem}.footer .brand{font-size:21px;margin-right:auto;color:#eeede8}.footer .brand-symbol{width:29px;height:29px;font-size:19px}.footer>.mono{font-size:.625rem;margin-right:20px}.footer>a:last-child{color:var(--gold)}.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(32px);transition:opacity .85s,transform 1s cubic-bezier(.2,.8,.2,1)}.js-ready .reveal.is-visible{opacity:1;transform:none}dialog{border:1px solid #77674755;color:var(--ink);background:#101216;box-shadow:0 50px 150px #0009;padding:0}dialog::backdrop{background:#05070ccc;backdrop-filter:blur(16px)}.dialog-close{position:absolute;right:22px;top:18px;width:44px;height:44px;font-size:32px;font-weight:300;color:var(--gold);border:1px solid #ffffff25;border-radius:50%;z-index:5;background:#101216df}.catalog-dialog{width:min(1120px,94vw);max-height:90svh;border-radius:14px;padding:42px}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;padding-right:55px}.dialog-top h2{font-size:2.4rem;line-height:1.12;letter-spacing:-.04em;margin-top:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.filters button{border:1px solid #ffffff20;border-radius:30px;padding:9px 15px;font-size:.8125rem;color:#abb0b7}.filters button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#141413}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.catalog-item{display:flex;flex-direction:column;padding:20px;text-align:left;border:1px solid #ffffff16;border-radius:9px;background:#191c2260;transition:border-color .25s,background .25s}.catalog-item:hover{border-color:#bfa87670;background:#262626}.catalog-item img{width:46px;height:46px;object-fit:cover;border-radius:10px;margin-bottom:18px}.catalog-item h3{font-size:1.4rem;letter-spacing:-.03em}.catalog-item p{font-size:.8125rem;color:#9ca4b0;margin-top:8px}.catalog-item>span{color:var(--gold);font:.625rem var(--mono);margin-top:20px;text-transform:uppercase}.project-dialog{width:min(1060px,94vw);max-height:90svh;border-radius:14px}.project-dialog[open]{display:grid;grid-template-columns:1fr 1fr}.project-visual{display:flex;align-items:center;background:radial-gradient(ellipse at center,#2c323f,#0c0e14);padding:25px;min-height:560px}.project-visual img{width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:7px}.project-information{padding:65px 40px 45px}.project-information .eyebrow{font-size:.625rem}.detail-title{display:flex;align-items:center;gap:15px;margin:20px 0 26px}.detail-title img{width:42px;height:42px;object-fit:cover;border-radius:10px}.detail-title h2{font-size:2.7rem;letter-spacing:-.05em;line-height:1}.project-information h3{font-size:1.45rem;line-height:1.25;letter-spacing:-.03em}.project-information>p:not(.eyebrow){font-size:.875rem;color:#aeb2bb;margin-top:20px;line-height:1.8}.project-information ul{list-style:none;padding:0;margin:25px 0 30px}.project-information li{padding:10px 0 10px 18px;border-bottom:1px solid #ffffff10;font-size:.8125rem;color:#b3b9c4;position:relative}.project-information li:before{content:'+';position:absolute;left:0;color:var(--gold)}body.dialog-open{overflow:hidden}.app-context,.app-index{transition:opacity .3s}.initializing .app-context,.initializing .app-index{opacity:0}@keyframes scrollCue{0%{transform:translateY(-18px)}75%,100%{transform:translateY(50px)}}
@media(min-width:1600px){.hero-copy{padding-top:10vh}.app-context{right:8%;width:210px}.spatial-card{left:51%}.work-sticky{min-height:850px}}
@media(max-width:1100px){.header-caption{display:none}.desktop-nav{gap:22px}.header{gap:23px}.hero{padding-left:6%;padding-right:6%}.hero h1{font-size:8vw}.hero-bottom-copy{flex-direction:column;align-items:flex-start;gap:22px}.hero-bottom-copy>p{max-width:290px}.hero-footer{left:6%;right:6%}.section-top{left:6%;right:6%}.app-index{left:6%;top:39%}.spatial-card{left:56%;width:39vw}.app-context{right:5%;top:auto;bottom:15%;width:215px}.app-context>.mono,.app-context>p{display:none}.app-context .text-button{width:100%;justify-content:space-between}.gallery-hint{display:none}.gallery-controls{margin-left:auto;margin-right:0}.vision-content{gap:8%;grid-template-columns:1.2fr .8fr}.vision-detail{padding-top:60px}.principles{gap:28px}.tech-section{gap:6%}.tech-row p{font-size:1.2rem}.footer{gap:20px}}
@media(max-width:760px){:root{scroll-padding-top:77px}.header,.scrolled .header{height:77px;padding:0 6%;gap:20px}.brand{font-size:23px;gap:9px}.brand-symbol{width:31px;height:31px;font-size:21px}.desktop-nav{display:none}.contact-link{margin-left:auto;font-size:.75rem;gap:20px;padding:9px 15px}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:27px;height:44px;justify-content:center;padding:0}.menu-toggle span{height:1px;width:22px;background:#e3d6bd;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:810px;height:100svh;max-height:1100px;padding:110px 6% 0}.hero-topline{font-size:.625rem}.hero-topline>span:last-child{display:none}.hero-copy{padding-top:70px}.hero-copy>.eyebrow{font-size:.625rem;margin-bottom:25px}.hero h1{font-size:clamp(2.65rem,9.65vw,4.8rem);line-height:1.05;letter-spacing:-.057em}.hero-bottom-copy{margin-top:28px;gap:24px}.hero-bottom-copy>p{font-size:.9375rem;max-width:290px;line-height:1.8}.hero-bottom-copy .button{padding:14px 19px;font-size:.75rem}.orbit-label{top:69%;right:7%;font-size:.5625rem}.hero-footer{bottom:28px;padding-top:22px}.made-in{display:none}.hero-count strong{font-size:1.7rem}.hero-count>span{font-size:.5625rem}.scroll-invitation .mono{font-size:.5625rem}.work-section{height:600vh}.work-sticky{height:100svh;min-height:660px}.section-top{top:102px;left:6%;right:6%;align-items:flex-start}.section-top .eyebrow{font-size:.625rem}.section-top h2{font-size:1.6rem;line-height:1.1}.section-top>.text-button{font-size:.625rem;max-width:100px;white-space:normal;line-height:1.6;gap:10px;text-align:left;padding-top:0}.app-index{top:auto;bottom:120px;left:6%;right:6%;flex-direction:row;overflow-x:auto;gap:22px;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 88%,transparent)}.app-index::-webkit-scrollbar{display:none}.app-index button{min-width:auto;font-size:.75rem;white-space:nowrap;padding:12px 0;gap:8px}.app-index button.active{transform:none}.app-index button>span{font-size:.625rem}.spatial-gallery{inset:27% 0 24%;perspective:1100px}.spatial-card{width:66vw;max-width:350px;aspect-ratio:.9;left:50%;top:48%;border-radius:8px}.card-top{left:20px;right:20px;top:18px;font-size:.5625rem}.card-identity{left:23px;bottom:28px;gap:11px}.card-identity img{width:40px;height:40px;border-radius:10px}.card-identity h3{font-size:2.4rem}.card-identity p{font-size:.625rem;max-width:160px;line-height:1.6}.card-open{width:31px;height:31px;bottom:26px;right:17px;font-size:20px}.app-context{left:6%;right:6%;bottom:168px;width:auto;display:flex;justify-content:center}.app-context .text-button{width:auto;font-size:.75rem;padding:8px 0;gap:22px}.gallery-footer{bottom:65px;left:6%;right:6%;gap:25px}.gallery-counter{gap:10px;font-size:.625rem}.gallery-counter>span:first-child{font-size:1.25rem}.counter-divider{width:20px}.gallery-controls{gap:13px;width:auto;flex:1;max-width:250px}.gallery-controls button{font-size:.625rem;min-height:44px}.gallery-track{min-width:30px}.vision-section{padding:95px 7% 75px;min-height:auto}.vision-note{font-size:.5625rem}.vision-content{grid-template-columns:1fr;gap:45px;margin-top:58px}.vision-statement h2{font-size:clamp(3.2rem,12vw,5rem)}.vision-statement p{font-size:.9375rem;max-width:330px}.vision-detail{padding-top:0;padding-left:16%;border-left:1px solid #ffffff21}.vision-detail h3{font-size:1.8rem;margin-top:20px}.vision-detail p{font-size:.875rem;max-width:310px}.principles{grid-template-columns:1fr;gap:25px;margin-top:65px}.principles>div{padding-top:21px;display:grid;grid-template-columns:33px 1fr;column-gap:12px}.principles .mono{grid-row:1 / 3;padding-top:3px}.principles h3{margin:0 0 5px;font-size:1.05rem}.principles p{font-size:.8125rem}.tech-section{padding:90px 7%;grid-template-columns:1fr;gap:50px}.tech-heading h2{font-size:3.2rem;margin-top:30px}.tech-stack{padding-top:0}.stack-top{font-size:.5625rem}.tech-row{padding:24px 0}.tech-row p{font-size:1.25rem}.contact-section{padding:90px 7% 60px}.contact-heading{align-items:flex-end;gap:15px;margin-top:35px}.contact-heading h2{font-size:clamp(3.2rem,12vw,5rem)}.contact-orbit{width:90px;height:90px;min-width:90px;font-size:.5rem;gap:3px;margin-bottom:3px}.contact-orbit>span:last-child{font-size:20px}.contact-orbit:before{inset:-7px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:24px;margin-top:42px}.contact-bottom>a{font-size:1.8rem}.contact-bottom>.mono{font-size:.625rem}.footer{padding:25px 7% 90px;display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:.6875rem}.footer .brand{font-size:21px}.footer>.mono{font-size:.5rem;margin:0}.footer>a:last-child{justify-self:end}.footer>span:nth-child(2){justify-self:end}.catalog-dialog{padding:30px 20px;width:94vw;max-height:91svh}.dialog-top{padding-right:40px}.dialog-top .eyebrow{font-size:.5625rem}.dialog-top h2{font-size:1.7rem}.dialog-close{right:15px;top:15px;width:38px;height:38px;font-size:28px}.filters{margin:25px 0;gap:7px}.filters button{padding:9px 12px;font-size:.75rem}.catalog-grid{grid-template-columns:repeat(2,1fr);gap:10px}.catalog-item{padding:16px}.catalog-item h3{font-size:1.1rem}.catalog-item p{font-size:.75rem}.catalog-item>span{font-size:.5625rem}.catalog-item img{width:40px;height:40px;margin-bottom:13px}.project-dialog[open]{display:block}.project-visual{min-height:220px;height:230px;padding:22px}.project-visual img{height:100%;object-fit:contain}.project-information{padding:28px 26px 35px}.detail-title{margin-top:18px;margin-bottom:20px}.detail-title h2{font-size:2.4rem}.project-information h3{font-size:1.3rem}.project-information .button{width:100%}}
@media(max-width:370px){.hero{min-height:760px}.hero-copy{padding-top:52px}.contact-link{padding:8px 12px;gap:13px}.header{gap:13px}.brand{font-size:21px}.hero h1{font-size:9.5vw}.section-top h2{font-size:1.4rem}.catalog-grid{grid-template-columns:1fr}.contact-heading{flex-wrap:wrap}.contact-orbit{margin:25px 0 0 auto}.spatial-card{width:68vw}.card-identity h3{font-size:2rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.scroll-line:after{animation:none}.reveal,.js-ready .reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.brand-symbol{position:relative;border:0;overflow:visible}.brand-symbol img{position:absolute;object-fit:contain}.brand-ring{inset:-10%;width:120%;height:120%}.brand-head{width:77%;height:77%;left:11.5%;top:11.5%}

/* A deep-space backdrop sits behind the independent WebGL star and aurora layers. */
.universe{isolation:isolate;background:#04060d}
.cosmic-backdrop{position:absolute;inset:-3%;z-index:0;background-image:linear-gradient(90deg,#03061066,transparent 75%),url('./assets/cosmic-background.webp');background-position:center;background-size:cover;opacity:.82;animation:cosmicDrift 70s ease-in-out infinite alternate;will-change:transform}
.ambient-fallback{z-index:1;background:linear-gradient(180deg,#04061010,transparent 70%,#03050b33),radial-gradient(ellipse at 10% 35%,#04071065,transparent 55%)}
.universe canvas{z-index:2}
.noise{opacity:.014}
.work-sticky{background:linear-gradient(180deg,#07090c85,transparent 28%,#07090c20 75%,#07090c99)}
.spatial-gallery{inset:25% 0 17% 23%;perspective:1600px;overflow:clip;transform-style:flat;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 98%,transparent)}
.spatial-card{width:clamp(310px,31vw,410px);aspect-ratio:1;left:44%;top:50%;border:1px solid #a9b5d56b;border-radius:18px;background:#11151f;box-shadow:0 22px 55px #0009,0 0 0 1px #050813,0 0 45px #8b92f012;isolation:isolate;transform-style:flat;transition:border-color .3s,box-shadow .3s}
.spatial-card.is-focused{border-color:#d9c394b8;box-shadow:0 28px 65px #0009,0 0 0 1px #b8996329,0 0 50px #b9b4e51a}
.spatial-card:after{display:none}
.card-top{top:12px;left:17px;right:17px;color:#99a6be;font-size:.625rem;letter-spacing:.075em;line-height:1.3}
.card-top i{color:#c9bb9f;font-size:.5625rem;letter-spacing:.03em}
.card-media{position:absolute;inset:32px 9px 78px;overflow:hidden;border-radius:10px;background:#080b12;display:grid;place-items:center}
.spatial-card .card-preview,.spatial-card.is-focused:hover .card-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;filter:none;transform:none;transition:none}
.card-identity{left:0;right:0;bottom:0;height:78px;display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 16px;background:#11151f;border-top:1px solid #ffffff12}
.card-identity>img{width:43px;height:43px;flex-shrink:0;border-radius:11px;box-shadow:none;object-fit:contain;background:#080b12}
.card-identity>div{min-width:0;flex:1}
.card-identity h3{font-size:1.5rem;letter-spacing:-.035em;line-height:1.1}
.card-identity p{margin-top:5px;max-width:none;color:#aeb9ce;font-size:.6875rem;letter-spacing:0;text-transform:none;line-height:1.3}
.card-open{position:static;width:32px;height:32px;flex-shrink:0;font-size:19px;border-color:#c5b18966;color:#e4c894}
.app-index{top:35%;left:6%;padding:8px 18px 8px 0;background:linear-gradient(90deg,#070a1280,#070a1210);border-radius:12px}
.app-index button{color:#a8b0c2;padding:8px 0}
.app-index button>span{color:#7c879d}
.app-index button.active{color:#f0d298}
.app-context{width:auto;right:auto;left:56.88%;top:auto;bottom:15%;transform:translateX(-50%);display:flex;justify-content:center}
.app-context>.mono,.app-context>p{display:none}
.app-context .text-button{width:auto;padding:9px 3px;font-size:.8125rem;gap:28px;color:#eed39f}
.gallery-footer{bottom:70px}
.gallery-hint{color:#aab1c6}
.section-top>#catalog-open{background:#080d17a6;padding:11px 16px;border:1px solid #c7ac7459;border-radius:6px;backdrop-filter:blur(12px)}
.hero-bottom-copy>p{color:#b8bfd0;text-shadow:0 2px 20px #02030d}
.hero-copy>.eyebrow,.hero h1{text-shadow:0 3px 36px #04060b80}
@keyframes cosmicDrift{from{transform:scale(1) translate3d(-.3%,0,0)}to{transform:scale(1.06) translate3d(.6%,-.7%,0)}}
@media(min-width:1600px){.spatial-card{left:44%;width:min(31vw,450px)}.app-context{right:auto;width:auto}}
@media(max-width:1100px) and (min-width:761px){.spatial-card{width:34vw;left:44%}.app-index{left:6%;top:35%}.app-context{left:56.88%;right:auto;bottom:15%;width:auto}.app-context .text-button{width:auto}}
@media(max-width:760px){
 .cosmic-backdrop{background-position:64% center;opacity:.7}
 .spatial-gallery{inset:26% 0 26%;perspective:1200px;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
 .spatial-card{left:50%;top:50%;width:min(78vw,340px,40svh);max-width:none;aspect-ratio:1;border-radius:15px}
 .card-top{top:10px;left:13px;right:13px;font-size:.5625rem}
 .card-top i{font-size:.5rem}
 .card-media{inset:28px 7px 67px;border-radius:8px}
 .card-identity{height:67px;padding:10px 12px;gap:9px}
 .card-identity>img{width:35px;height:35px;border-radius:9px}
 .card-identity h3{font-size:1.2rem}
 .card-identity p{font-size:.625rem;margin-top:4px;line-height:1.2}
 .card-open{width:28px;height:28px;font-size:17px}
 .app-context{left:50%;right:auto;bottom:160px;width:auto;transform:translateX(-50%)}
 .app-context .text-button{font-size:.75rem;padding:9px 0;gap:24px}
 .app-index{top:auto;bottom:108px;left:6%;right:6%;padding:0;background:none;gap:22px;border-radius:0}
 .app-index button{min-height:44px;padding:12px 0}
 .gallery-footer{bottom:59px}
 .hero-bottom-copy>p{max-width:275px}
}
@media(prefers-reduced-motion:reduce){.cosmic-backdrop{animation:none;will-change:auto}}

/* Large translucent panels travel on a rising helix and zoom into the foreground. */
.spatial-gallery{inset:8% 0 4% 23%;perspective:1700px;perspective-origin:51% 49%;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 99%,transparent)}
.spatial-card{left:51%;top:49%;width:min(44vw,560px,62svh);aspect-ratio:1;background:#10192b61;backdrop-filter:blur(7px) saturate(125%);border-color:#adc4e46b;box-shadow:0 28px 80px #0005,inset 0 0 30px #c4dbff08}
.spatial-card.is-focused{box-shadow:0 25px 90px #0006,0 0 45px #aebdff18;border-color:#e2c993a1}
.card-media{background:#060b131c;inset:30px 8px 68px}
.spatial-card .card-preview,.spatial-card.is-focused:hover .card-preview{opacity:.88}
.card-identity{height:68px;background:#0b111cd6;padding:10px 16px}
.card-identity h3{font-size:1.55rem}
.card-identity p{font-size:.75rem;color:#d0d8e6}
.section-top{top:110px;align-items:flex-start;pointer-events:none}
.section-top h2{font-size:clamp(1.5rem,2.5vw,2.25rem);max-width:310px}
.section-top>#catalog-open{pointer-events:auto;font-size:.75rem}
.app-index{top:33%;background:linear-gradient(90deg,#050915b0,#05091530)}
.app-context{left:6%;right:auto;bottom:98px;transform:none;width:auto}
.gallery-footer{left:calc(7% + 155px);bottom:48px;gap:28px;height:50px;padding:0 18px;background:#080d18db;backdrop-filter:blur(18px);border:1px solid #b8c4e226;border-radius:9px}
.gallery-hint{display:none}
.gallery-controls{width:390px;margin-right:0}
.eternal-orbit{position:fixed;left:24px;bottom:16px;z-index:74;display:flex;align-items:center;gap:13px;pointer-events:none}
.eternal-orbit img{width:62px;height:62px;object-fit:contain;animation:eternalTurn 24s linear infinite;filter:drop-shadow(0 0 13px #cda54b38)}
.eternal-orbit>span{font:400 .625rem/1.7 var(--mono);letter-spacing:.045em;color:#bcae91;text-shadow:0 2px 8px #000}
.eternal-orbit b{font-weight:400;color:#eed6a4}
.brand-ring{animation:eternalTurn 36s linear infinite}
.hero-footer{bottom:34px;left:26%;border-top:0;padding-top:0}
.emblem-transition{position:fixed;left:75%;top:49%;width:min(32vw,440px);aspect-ratio:1;z-index:1;opacity:0;visibility:hidden;pointer-events:none;perspective:950px;will-change:transform,opacity}
.emblem-orbit{position:absolute;inset:-6%;width:112%;height:112%;object-fit:contain;opacity:.7;animation:eternalTurn 28s linear infinite}
.emblem-face{position:absolute;left:6%;top:10%;width:88%;aspect-ratio:500/457;transform-style:preserve-3d}
@keyframes eternalTurn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.spatial-card{left:51%;width:min(44vw,650px,62svh)}.app-context{left:6%;right:auto;width:auto}}
@media(max-width:1100px) and (min-width:761px){.spatial-card{left:51%;width:min(44vw,560px,62svh)}.app-context{left:6%;right:auto;bottom:98px}.app-index{top:33%}.section-top h2{max-width:270px}}
@media(max-width:760px){
 .spatial-gallery{inset:17% 0 18%;perspective:1400px;perspective-origin:50% 50%}
 .spatial-card{left:50%;top:50%;width:min(86vw,390px,calc(79svh - 260px));aspect-ratio:.86;border-radius:17px}
 .card-media{inset:27px 5px 58px}
 .card-identity{height:58px;padding:8px 11px}
 .card-identity h3{font-size:1.15rem}
 .card-identity p{font-size:.625rem;margin-top:3px}
 .card-identity>img{width:33px;height:33px}
 .section-top{top:100px}
 .section-top h2{font-size:1.4rem;max-width:230px}
 .section-top>#catalog-open{font-size:.625rem;padding:9px 10px}
 .app-context{display:none}
 .app-index{top:auto;bottom:108px;background:linear-gradient(90deg,#050914e0,#050914a6);backdrop-filter:blur(12px);border-radius:8px}
 .gallery-footer{left:6%;bottom:59px;gap:18px;padding:0 12px}
 .eternal-orbit{left:15px;bottom:12px}
 .eternal-orbit img{width:42px;height:42px}
 .eternal-orbit>span{display:none}
 .hero-footer{bottom:74px;left:6%}
 .emblem-transition{left:66%;top:66%;width:min(64vw,280px)}
}


/* Automatic ambient motion and identity. The header ring is continuously rotating. */
html[data-emblem="dust"] .emblem-transition{display:none}
.emblem-face{object-fit:contain}
.brand-ring,.eternal-orbit img,.emblem-orbit{animation-name:eternalTurn!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;animation-play-state:running!important}
.brand-ring{animation-duration:36s!important}
.eternal-orbit img{animation-duration:24s!important}
.emblem-orbit{animation-duration:28s!important}

/* Genuine technology marks, framed to match IAPP while retaining brand geometry. */
.tech-brands{display:flex;flex-wrap:wrap;gap:12px 18px;margin:18px 0 13px}
.tech-brand{display:inline-flex;align-items:center;gap:10px;font:400 1.125rem/1.3 var(--display);white-space:nowrap;color:#e8e4dc}
.tech-mark{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:11px;background:linear-gradient(145deg,#dfbd7c12,#ffffff05);border:1px solid #dfbd7c30;box-shadow:inset 0 1px 0 #ffffff0b;transition:transform .35s,box-shadow .35s}
.tech-mark img{display:block;width:30px;height:30px;object-fit:contain}
.tech-mark-light{background:#ede9df;border-color:#dfbd7c80}
.tech-brand:hover .tech-mark{transform:translateY(-3px);box-shadow:0 7px 24px #dfbd7c18}
@media(max-width:760px){.tech-brands{gap:14px 18px}.tech-brand{font-size:1rem;gap:9px}.tech-mark{width:40px;height:40px;flex-basis:40px}.tech-mark img{width:27px;height:27px}}

/* Shared mobile/desktop framing: one impact reveals the whole luminous message. */
#comet-trail{position:fixed;inset:0;width:100%;height:100%;z-index:9;pointer-events:none;opacity:0}
.comet-quote{position:fixed;left:27.5%;top:48%;width:min(43vw,620px);margin:0;z-index:10;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-50%);text-align:center;color:#eee6d5;text-shadow:0 2px 14px #030712,0 0 28px #dfbd7c24;font:400 clamp(1.16rem,3vw,2.6rem)/1.25 var(--display);letter-spacing:-.035em}
.comet-message{display:block;opacity:0;transform-origin:center;will-change:opacity,filter}
.comet-quote strong{display:block;margin-top:18px;color:#efcb84;font-weight:400;font-size:clamp(2.2rem,5.1vw,4.4rem);line-height:1.03;letter-spacing:-.06em}
.comet-line{display:block}.comet-word{display:inline-block;white-space:nowrap}.comet-glyph{display:inline-block}
.comet-quote.is-revealed .comet-glyph{animation:cometLetterTwinkle 5.8s ease-in-out infinite;animation-delay:var(--twinkle-delay)}
@keyframes cometLetterTwinkle{0%,100%{opacity:.88;text-shadow:0 2px 12px #030712,0 0 9px #dfbd7c50}24%,36%{opacity:1;text-shadow:0 0 4px #fff4df,0 0 15px #ffe2a0aa,0 0 26px #6dbbff88}62%{opacity:.76;text-shadow:0 2px 12px #030712,0 0 7px #dfbd7c35}82%{opacity:.98;text-shadow:0 0 4px #fff4df90,0 0 16px #dfbd7c88}}
.contact-orbit{font-size:.75rem;line-height:1.3;min-width:150px;width:150px;height:150px;text-align:center}
@media(max-width:760px){.comet-quote{left:50%;top:82%;width:88vw;max-width:520px;text-align:center;font-size:clamp(1.2rem,5.3vw,1.8rem);line-height:1.25}.comet-quote strong{font-size:clamp(2.2rem,9vw,3rem);margin-top:12px}.contact-orbit{font-size:.625rem;min-width:110px;width:110px;height:110px}}

/* A long native-scroll runway gives each transformation room to breathe. */
.intro-runway{height:1800svh;position:relative}
.intro-runway>.hero{position:sticky;top:0;height:100svh;max-height:none}
.work-section{height:1250svh}
@media(max-width:760px){.intro-runway{height:1600svh}.work-section{height:1350svh}.comet-quote{font-size:clamp(1.16rem,4.95vw,1.8rem)}.comet-quote strong{font-size:clamp(2.2rem,9vw,3rem);margin-top:12px}}
@media(prefers-reduced-motion:reduce){.intro-runway{height:320svh}.work-section{height:650svh}.comet-quote.is-revealed .comet-glyph{animation:none}.comet-message{will-change:auto}}
#cometas{position:absolute;top:70svh;left:0;width:1px;height:1px;pointer-events:none}

/* The eternal ring doubles as the presentation control without changing its size. */
.eternal-orbit{pointer-events:auto;padding:0;text-align:left;min-height:44px;border-radius:12px}
.eternal-orbit .tour-ring{display:grid;place-items:center;position:relative;width:62px;height:62px;flex:0 0 62px}
.tour-ring img{grid-area:1/1}
.tour-ring svg{position:absolute;width:20px;height:20px;color:#f5dba2;filter:drop-shadow(0 0 6px #e6bf7270)}
.tour-play-icon{fill:currentColor}
.tour-pause-icon{fill:none;stroke:currentColor;stroke-width:3;display:none}
.eternal-orbit[data-status="playing"] .tour-play-icon{display:none}
.eternal-orbit[data-status="playing"] .tour-pause-icon{display:block}
.tour-action{display:block;font:400 .5625rem/1.6 var(--mono);letter-spacing:.025em;color:#e7d8b9;margin-top:3px}
.eternal-orbit:hover .tour-ring svg{color:#fff1cf}
.eternal-orbit[data-status="playing"] .tour-action{color:#f4d494}
@media(max-width:760px){.eternal-orbit .tour-ring{display:grid;width:42px;height:42px;flex-basis:42px}.eternal-orbit .tour-copy{display:none}.tour-ring svg{width:16px;height:16px}.eternal-orbit{min-width:44px;bottom:max(12px,env(safe-area-inset-bottom))}}

/* An invitation to listen, visible on desktop and touch screens. */
.eternal-orbit{gap:10px;padding:5px 16px 5px 5px;background:#080d18e8;border:1px solid #dfbd7c42;border-radius:100px;box-shadow:0 8px 28px #0007;backdrop-filter:blur(18px);max-width:calc(100vw - 30px)}
.eternal-orbit .tour-copy{display:block;white-space:nowrap}
.eternal-orbit .tour-title{display:block;font:500 .82rem/1.3 var(--display);letter-spacing:0;color:#f3e6ca}
.eternal-orbit .tour-action{font-size:.56rem;color:#bdb3a4;margin-top:4px}
.eternal-orbit:hover{border-color:#dfbd7c9c;background:#101722f0}
.eternal-orbit[data-status="loading"] .tour-ring{opacity:.6}
@media(max-width:760px){.eternal-orbit{gap:8px;padding:3px 13px 3px 3px}.eternal-orbit .tour-copy{display:block}.eternal-orbit .tour-title{font-size:.73rem}.eternal-orbit .tour-action{font-size:.50rem;margin-top:2px}.gallery-footer{bottom:76px}.app-index{bottom:131px}}
