@import "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600&display=swap";
:root{--ink:#2c2cd6;--ink-dark:#1a1a86;--text:#1f1f28;--muted:#5b5f78;--surface:#f7f7fb;--line:#2e346633;--dark:#0b0b12}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--surface);min-height:100vh;font-family:Manrope,sans-serif;overflow:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}.app{justify-content:flex-end;width:100%;height:100vh;transition:background .4s;display:flex;position:relative}.visual{z-index:0;width:100%;position:fixed;overflow:hidden}.visual,.visual-surface{pointer-events:none;inset:0}.visual-surface{background:radial-gradient(circle at 20% 20%,#2a2a4b,#0b0b12 70%);position:absolute}.webgl{width:100%;height:100%;display:block}.visual-surface:after,.webgl{pointer-events:none;position:absolute;inset:0}.visual-surface:after{content:"";opacity:.8;background:radial-gradient(circle at 30% 60%,#ffb4c840,#0000 60%);transition:opacity .4s,background .4s}.app[data-theme=one] .visual-surface:after{background:radial-gradient(circle at 30% 60%,#ffb4c859,#0000 60%)}.app[data-theme=two] .visual-surface:after{background:radial-gradient(circle at 30% 60%,#8c78ff47,#0000 60%)}.app[data-theme=three] .visual-surface:after{background:radial-gradient(circle at 30% 60%,#78dcd24d,#0000 60%)}.visual-overlay{z-index:2;color:#f1eef9;justify-content:space-between;align-items:flex-start;width:100%;padding:32px 40px;display:flex;position:relative}.menu-trigger-container,.visual-overlay{pointer-events:auto}.menu-trigger{color:#000;cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .3s,box-shadow .3s,background .3s,color .3s;display:flex;box-shadow:0 4px 12px #0000001a}.menu-trigger:hover{background:var(--ink);color:#fff;box-shadow:0 6px 20px #2c2cd64d}.info-trigger-container{z-index:10;pointer-events:auto;position:absolute;bottom:32px;left:40px}.info-trigger{color:#000;cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .3s,box-shadow .3s,background .3s,color .3s;display:flex;box-shadow:0 4px 12px #0000001a}.info-trigger:hover{background:var(--ink);color:#fff;box-shadow:0 6px 20px #2c2cd64d}.about-overlay{z-index:10005;background:0 0;flex-direction:column;padding:32px 40px;display:flex;position:fixed;inset:0}.about-header{width:100%}.about-content,.about-header{justify-content:center;display:flex}.about-content{text-align:center;color:#fff;flex:1;align-items:center}.about-inner{max-width:900px;padding:0 20px}.about-kicker{letter-spacing:.3em;text-transform:uppercase;color:#fff9;margin-bottom:24px;font-size:12px;display:block}.about-title{margin-bottom:64px;font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,4rem);line-height:1.1}.about-grid{grid-gap:60px;text-align:left;grid-template-columns:1fr 1fr;gap:60px;display:grid}.about-col h3{letter-spacing:.2em;text-transform:uppercase;color:#ffffff80;margin-bottom:16px;font-size:11px}.about-col p{color:#fffc;font-size:16px;line-height:1.6}.menu-overlay{z-index:10005;background:#fff;flex-direction:column;padding:32px 40px;display:flex;position:fixed;inset:0}.menu-header{justify-content:flex-end;display:flex}.menu-close{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;transition:transform .3s;display:flex}.menu-close:hover{transform:scale(1.1)}.menu-nav{flex:1;align-items:center;padding-left:40px;display:flex}.menu-section{flex-direction:column;gap:24px;display:flex}.menu-kicker{letter-spacing:.2em;color:var(--muted);text-transform:uppercase;font-size:12px}.menu-links{flex-direction:column;gap:12px;display:flex}.menu-link{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:0;font-family:Playfair Display,serif;font-size:clamp(3rem,8vw,6rem);line-height:1.1;transition:opacity .3s;display:flex}.menu-arrow{opacity:0;width:0;font-family:Manrope,sans-serif;font-size:.5em;transition:none;transform:translate(-15px)}.menu-link:hover .menu-arrow{opacity:1;width:1.2em;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translate(0)}.menu-link:hover .menu-text{transform:translate(10px)}.menu-link.disabled{opacity:.3;cursor:default}.menu-link.disabled:hover .menu-text{transform:none}.menu-footer{gap:80px;padding-bottom:40px;padding-left:40px;display:flex}.menu-footer-col{flex-direction:column;gap:12px;display:flex}.menu-footer-col span{letter-spacing:.15em;color:var(--muted);text-transform:uppercase;font-size:11px}.menu-socials{gap:20px;display:flex}.menu-socials a{color:var(--ink);font-size:14px;font-weight:500}.content{z-index:10;background:#fff;border-left:1px solid #14142814;width:min(560px,45vw);height:100vh;margin-left:auto;margin-right:0;overflow-y:auto;box-shadow:-10px 0 50px #0000001a}.content,.content-inner{flex-direction:column;display:flex;position:relative}.content-inner{gap:28px;padding:48px 48px 120px}.top-row{text-transform:uppercase;letter-spacing:.22em;color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.kicker{font-weight:600}.kicker,h1{color:var(--ink)}h1{font-family:Playfair Display,serif;font-size:clamp(2.2rem,3.2vw,3.6rem);line-height:1.05}.meta{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.divider{background:var(--line);height:1px}.note{color:var(--ink-dark);flex-direction:column;gap:16px;font-size:16px;line-height:1.7;display:flex}.link{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;font-size:14px}.emotion,.link{color:var(--ink)}.emotion{background:linear-gradient(90deg,#405cff14,#405cff00);border-radius:12px;align-items:center;gap:16px;padding:12px 16px;font-size:13px;display:flex}.emotion .tag{text-transform:uppercase;letter-spacing:.12em;font-weight:600}.project-list{grid-gap:0;gap:0;display:grid}.project-card{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--line);background:0 0;flex-direction:column;width:100%;padding-top:24px;padding-bottom:24px;transition:transform .4s;display:flex;position:relative}.project-card:first-child{padding-top:0}.project-info{z-index:2;padding:0;position:relative}.project-card:before{content:"";opacity:0;pointer-events:none;z-index:0;background:0 0;height:100%;transition:opacity .4s,background .4s;position:absolute;bottom:0;left:-20px;right:-20px}.project-card:hover:before{opacity:1}.project-card[data-theme=one]:hover:before{background:linear-gradient(0deg,#ff78a01a 0,#0000 60%)}.project-card[data-theme=two]:hover:before{background:linear-gradient(0deg,#6450ff1a 0,#0000 60%)}.project-card[data-theme=three]:hover:before{background:linear-gradient(0deg,#50dcc81a 0,#0000 60%)}.project-info h2{color:var(--ink-dark);font-family:Playfair Display,serif;font-size:2rem;line-height:1.2}.project-info p{color:var(--muted);margin-top:10px;font-size:1.1rem;line-height:1.4}.project-action{letter-spacing:.2em;text-transform:uppercase;color:var(--ink);align-items:center;margin-top:16px;font-size:11px;font-weight:600;display:flex;position:relative}.project-action .arrow{opacity:0;transition:opacity .3s,transform .3s;position:absolute;left:0;transform:translate(-10px)}.project-action .text{transition:transform .3s;transform:translate(0)}.project-card:hover .project-action .arrow{opacity:1;transform:translate(0)}.project-card:hover .project-action .text{transform:translate(18px)}.project-card:hover .project-info h2{color:var(--ink)}.content-footer{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-top:40px;font-size:12px;display:flex}.footer-links{gap:16px;display:flex}.modal{pointer-events:none;z-index:10010;align-items:end;display:grid;position:fixed;inset:0}.modal.is-open{pointer-events:auto}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#0a0a128c;transition:opacity .75s cubic-bezier(.22,.8,.22,1);position:absolute;inset:0}.modal.is-open .modal-backdrop{opacity:1}.modal-card{transform-origin:50% 100%;opacity:1;will-change:transform,height,opacity;border-radius:24px 24px 0 0;width:100vw;height:calc(100vh - 200px);max-height:calc(100vh - 200px);margin:0;transition:transform .75s cubic-bezier(.22,.8,.22,1),height .7s cubic-bezier(.25,.8,.25,1),max-height .7s cubic-bezier(.25,.8,.25,1),border-radius .7s;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%);box-shadow:0 -30px 80px #0a0a1273}.app[data-theme=one] .modal-card{background:linear-gradient(135deg,#fff5f7,#ffe0e6)}.app[data-theme=two] .modal-card{background:linear-gradient(135deg,#f3f0ff,#e0e6ff)}.app[data-theme=three] .modal-card{background:linear-gradient(135deg,#eefaf8,#d0f5f0)}.modal.is-open .modal-card{transform:translateY(0)}.app.modal-expanded .modal-card{border-radius:0;height:100vh;max-height:100vh}.modal-header{background:0 0;border-bottom:1px solid #14142814;justify-content:space-between;align-items:center;gap:16px;padding:8px 28px;display:flex}.modal-header-left{flex-wrap:wrap;gap:12px;display:flex}.chip{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:#405cff1f;border-radius:999px;padding:3px 8px;font-size:9px}.chip.outline{background:0 0;border:1px solid #405cff4d}.modal-header-right{align-items:center;gap:10px;display:flex}.reaction{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-right:8px;font-size:9px}.icon-btn{cursor:pointer;width:28px;height:28px;color:var(--ink);background:#fff;border:1px solid #1414281f;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s,background .4s,color .4s;display:flex}.icon-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #1414281f}.icon-btn.solid{background:var(--ink);color:#fff;border:none}.modal-body{background:0 0;padding:48px 64px 80px;overflow-y:auto}.modal-content-wrap{display:block}.modal-media-img{float:right;border-radius:12px;width:48%;margin-bottom:24px;margin-left:48px;box-shadow:0 10px 30px #0000001a}.modal-text{display:block}.modal-title{color:var(--ink);margin-bottom:12px;font-family:Playfair Display,serif;font-size:clamp(2.4rem,4vw,3.6rem)}.modal-tags{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:24px;font-size:11px}.modal-desc{color:var(--ink-dark);margin-bottom:24px}.modal-desc,.modal-paragraph{font-size:3.2rem;line-height:1.25}.modal-paragraph{color:var(--muted);margin-bottom:20px}.modal-cta{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;margin-top:12px;font-size:14px;display:inline-block}.projects-trigger-wrap{z-index:10;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s;position:fixed;bottom:48px;left:50%;transform:translate(-50%)}.app.projects-visible .projects-trigger-wrap{opacity:0;pointer-events:none;transform:translate(-50%)translateY(40px)}.projects-trigger{width:64px;height:64px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #0000000d;border-radius:50%;justify-content:center;align-items:center;transition:background .5s cubic-bezier(.23,1,.32,1),color .5s cubic-bezier(.23,1,.32,1),box-shadow .5s;display:flex;box-shadow:0 10px 30px #0000001a}.projects-trigger:hover{background:var(--ink);color:#fff;box-shadow:0 15px 40px #2c2cd64d}.content-close-wrap{z-index:50;pointer-events:auto;align-self:flex-end;margin-top:auto;margin-right:24px;position:sticky;bottom:40px}.content-close{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,background .3s;display:flex;box-shadow:0 10px 30px #2c2cd64d}.content-close:hover{background:var(--ink-dark);transform:scale(1.05);box-shadow:0 15px 40px #2c2cd673}@media (max-width:980px){.modal-media-img{float:none;border-radius:12px;width:100%;margin-bottom:32px;margin-left:0}.modal-body{padding:32px 24px}.about-grid{grid-template-columns:1fr;gap:32px}}@keyframes burstUp{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}15%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty))rotate(var(--rot))scale(1)}}@media (max-width:1024px){.visual,.visual-surface,.webgl{width:100vw;height:100vh}.content{width:100vw;max-width:100vw;box-shadow:none;border-left:0;margin:0}.content-inner{gap:22px;padding:28px 22px 120px}h1{font-size:clamp(1.9rem,6.6vw,2.8rem);line-height:1.08}.project-info h2{font-size:clamp(1.35rem,5.2vw,1.95rem)}.project-info p{font-size:clamp(.98rem,3.3vw,1.14rem)}.note{font-size:15px;line-height:1.6}.menu-trigger{width:52px;height:52px}.projects-trigger{width:74px;height:74px}.projects-trigger-wrap{bottom:30px}.content-close{width:72px;height:72px}.modal-header{padding:10px 16px}.modal-body{padding:26px 18px 34px}.modal-title{font-size:clamp(1.8rem,8vw,2.6rem)}.modal-desc,.modal-paragraph{font-size:clamp(1.1rem,4.8vw,1.7rem);line-height:1.32}.menu-overlay{padding:24px 18px}.menu-nav{padding-left:0}.menu-link{font-size:clamp(2.2rem,10vw,4.1rem)}.menu-footer{gap:24px;padding-bottom:20px;padding-left:0}}@media (max-width:768px){.info-trigger-container{display:none!important}.visual-overlay{padding:18px 14px}.menu-trigger{width:56px;height:56px}.projects-trigger{width:80px;height:80px}.content-inner{gap:18px;padding:20px 16px 110px}.top-row{letter-spacing:.16em;font-size:10px}h1{font-size:clamp(1.7rem,8.3vw,2.35rem)}.meta{letter-spacing:.14em;gap:10px;font-size:10px}.project-card{padding-top:18px;padding-bottom:18px}.project-action{letter-spacing:.14em;margin-top:10px;font-size:10px}.content-close-wrap{margin-right:12px;bottom:24px}.modal-card{border-radius:18px 18px 0 0;height:calc(100vh - 110px);max-height:calc(100vh - 110px)}.chip{font-size:8px}.icon-btn{width:32px;height:32px}}@supports (height:100dvh){body,.app,.visual,.visual-surface,.webgl{height:100dvh;min-height:100dvh}}.projects-trigger-wrap{right:40px;left:auto!important;transform:none!important}.app.projects-visible .projects-trigger-wrap{transform:translateY(40px)!important}.menu-close{transition:transform .48s cubic-bezier(.22,1,.36,1),box-shadow .48s,background .42s!important}.menu-link{transition:opacity .42s,color .42s!important}.menu-arrow{transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1),width .52s cubic-bezier(.22,1,.36,1)!important}.menu-text{transition:transform .52s cubic-bezier(.22,1,.36,1)!important}@media (max-width:1024px){.projects-trigger-wrap{right:16px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px))}.content-inner{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.content-close-wrap{bottom:max(18px,calc(env(safe-area-inset-bottom) + 8px))}.modal-card{height:calc(100dvh - 96px);max-height:calc(100dvh - 96px)}.modal-body{padding-bottom:calc(42px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}}.contact-modal-card{height:auto;max-height:90vh}@supports (height:100dvh){.contact-modal-card{max-height:90dvh}}.contact-modal-body{-webkit-overflow-scrolling:touch;overflow-y:auto}@media (max-width:768px){.contact-modal-card{border-radius:18px 18px 0 0;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.contact-modal-body{padding:24px 18px calc(130px + env(safe-area-inset-bottom))!important}.contact-modal-body .modal-title{margin-bottom:28px!important}}.menu-overlay{contain:paint;-webkit-font-smoothing:antialiased;backface-visibility:hidden;overflow:hidden;transform:translateZ(0)}.modal-backdrop{transition:opacity .35s cubic-bezier(.22,.8,.22,1)}.modal-media-wrap{float:right;background:#ffffff73;border-radius:12px;width:48%;margin-bottom:24px;margin-left:48px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a}.modal-media-skeleton{background:linear-gradient(100deg,#fff3 20%,#ffffff8f 50%,#fff3 80%) 0 0/200% 100%;transition:opacity .42s;animation:1.15s linear infinite modal-skeleton-shimmer;position:absolute;inset:0}.modal-media-wrap.is-loaded .modal-media-skeleton{opacity:0}.modal-media-img{width:100%;height:auto;box-shadow:none;opacity:0;filter:blur(16px);border-radius:0;margin:0;transition:opacity .56s,filter .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);display:block;transform:scale(1.02)}.modal-media-img.is-loaded{opacity:1;filter:blur();transform:scale(1)}@keyframes modal-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:980px){.modal-media-wrap{float:none;width:100%;margin-bottom:32px;margin-left:0}}.modal-card{transition:transform .42s cubic-bezier(.22,.8,.22,1),height .38s cubic-bezier(.25,.8,.25,1),max-height .38s cubic-bezier(.25,.8,.25,1),border-radius .34s}.content-inner{container-type:inline-size}.modal-scroll-scene{width:100vw;min-height:190vh;padding-left:var(--modal-body-x,64px);padding-right:var(--modal-body-x,64px);margin:1.2rem calc(50% - 50vw) 1.8rem;position:relative;overflow:visible}.modal-scroll-scene-primary{padding-right:0}.modal-scroll-scene-secondary{padding-left:0}.modal-scroll-stage{z-index:5;grid-template-columns:minmax(0,42%) minmax(0,58%);align-items:start;gap:clamp(1rem,3vw,2.2rem);min-height:min(66vh,700px);padding-top:clamp(6px,1.8vh,18px);display:grid;position:sticky;top:68px;overflow:visible}.modal-scroll-stage-right{position:sticky}.modal-scroll-media{will-change:transform,opacity;pointer-events:none;z-index:6;grid-column:1/2;align-self:start;width:100%;transition:opacity .2s;position:relative}.modal-scroll-stage-right .modal-scroll-media{grid-column:2/3}.modal-scroll-stage-right .modal-responsive-note,.modal-scroll-stage-left .modal-scroll-media{grid-column:1/2}.modal-scroll-stage-left .modal-responsive-note{grid-column:2/3}.modal-scroll-media .modal-media-wrap{float:none;border-radius:18px;width:100%;margin:0;overflow:hidden}.modal-scroll-media .modal-media-img{object-fit:contain;width:100%;max-height:min(66vh,720px)}.modal-scroll-media-primary{transform-origin:100% 0;max-width:min(760px,58vw)}.modal-scroll-media-primary .modal-media-img{object-fit:contain;object-position:center top;clip-path:none;width:100%;max-width:100%;max-height:min(60vh,660px);margin-right:0}.modal-scroll-media-secondary{transform-origin:0 0;max-width:min(320px,24vw)}.modal-scroll-media-secondary .modal-media-img{object-fit:contain;object-position:center top;clip-path:none;width:100%;max-width:100%;margin-right:0}.modal-scroll-stage-right .modal-scroll-media{justify-self:end}.modal-scroll-stage-left .modal-scroll-media{justify-self:start}.modal-scroll-stage-right .modal-responsive-note{text-align:left;place-self:start end;margin-top:0;padding-top:clamp(2px,.8vh,8px)}.modal-scroll-stage-left .modal-responsive-note{text-align:left;justify-self:start}.modal-responsive-note{max-width:min(34ch,30vw);color:var(--ink-dark);text-wrap:pretty;flex-direction:column;align-self:start;gap:.44em;margin:clamp(12px,1.8vh,20px) 0 0;font-size:clamp(1.08rem,1.34vw,1.26rem);font-weight:500;line-height:1.5;display:flex}.modal-responsive-note-primary{left:var(--modal-body-x,64px);z-index:2;max-width:min(34ch,30vw);margin:0;position:absolute;top:0}.modal-responsive-note-secondary{position:static}.modal-responsive-line{will-change:opacity,transform;white-space:normal;transition:opacity .2s linear,transform .2s linear;display:block;overflow:hidden;max-height:none!important}.modal-followup-paragraph{will-change:opacity,transform;transition:opacity .22s linear,transform .22s linear;color:var(--ink-dark)!important}.project-modal .modal-text{max-width:min(1320px,100%);margin-left:auto;margin-right:auto}.project-modal .modal-content-wrap{width:min(1440px,100vw - 96px);margin-left:auto;margin-right:auto}@media (max-width:980px){.project-modal .modal-content-wrap{width:100%}}.project-modal .modal-title{text-align:center;margin-bottom:14px;font-size:clamp(2.9rem,4.7vw,4.8rem);line-height:.98}.project-modal .modal-tags{text-align:center}.project-modal .modal-desc,.project-modal .modal-paragraph{letter-spacing:-.012em;text-wrap:balance;text-align:center;z-index:1;max-width:min(22ch,1080px);margin-left:auto;margin-right:auto;padding-top:clamp(8px,1.3vh,16px);padding-bottom:clamp(10px,1.6vh,18px);font-size:clamp(3.05rem,4.25vw,4.9rem);line-height:1.08;position:relative}.project-modal{--project-paragraph-width:min(22ch,1080px);--project-media-width:clamp(560px,58vw,980px)}.project-modal .modal-desc{margin-bottom:.4em}.project-modal .modal-paragraph{margin-bottom:.6em}.modal-scroll-scene-primary{min-height:112vh}.modal-scroll-scene-secondary{scrollbar-width:none;-ms-overflow-style:none;min-height:124vh}.modal-scroll-scene-secondary::-webkit-scrollbar{width:0;height:0;display:none}.modal-scroll-stage{min-height:min(58vh,620px)}.modal-responsive-note-primary{max-width:min(30ch,28vw)}@media (max-width:980px){.modal-body{overflow-x:hidden}.modal-scroll-scene{width:100vw;min-height:165vh;padding-left:var(--modal-body-x,18px);padding-right:var(--modal-body-x,18px);margin-top:1rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.modal-scroll-scene-primary{padding-right:0}.modal-scroll-scene-secondary{padding-left:0}.modal-scroll-stage{grid-template-columns:1fr;gap:1rem;height:auto;min-height:74vh;top:56px;overflow:hidden visible}.modal-scroll-media{grid-column:1;justify-self:center;max-width:100%}.modal-scroll-media .modal-media-wrap{border-radius:14px}.modal-scroll-media .modal-media-img{max-height:min(46vh,390px)}.modal-scroll-media-primary .modal-media-img{clip-path:inset(0 28px 0 0)}.modal-scroll-media-secondary{max-width:min(210px,62vw)}.modal-responsive-note{grid-column:1;align-self:start;max-width:none;margin-top:4px;font-size:clamp(1rem,4vw,1.22rem)}.modal-responsive-note-primary{z-index:auto;position:static;top:auto;left:auto}.modal-scroll-stage-right .modal-responsive-note,.modal-scroll-stage-left .modal-responsive-note{grid-column:1;justify-self:start}.project-modal .modal-title{font-size:clamp(2.2rem,9.2vw,3.1rem);line-height:1.02}.project-modal .modal-desc,.project-modal .modal-paragraph{max-width:100%;padding-top:4px;padding-bottom:8px;font-size:clamp(1.72rem,7.4vw,2.5rem);line-height:1.14}.modal-scroll-scene-primary{min-height:110vh}.modal-scroll-scene-secondary{min-height:118vh}}.project-modal .modal-body{--modal-body-x:64px;scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overflow:clip auto}@media (max-width:1024px){.project-modal .modal-body{--modal-body-x:18px}}@media (prefers-reduced-motion:reduce){.modal-scroll-media,.modal-responsive-note,.modal-responsive-line,.modal-followup-paragraph{transition:none}}.content-inner>h1{text-wrap:balance;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:clamp(1.45rem,8cqi,3.2rem);line-height:1.06}@supports not (font-size:1cqi){.content-inner>h1{font-size:clamp(1.45rem,3.1vw,3.2rem)}}@media (min-width:1025px) and (max-height:920px){.content-inner>h1{font-size:clamp(1.35rem,2.6vw,2.6rem)}}@media (max-width:1024px){.content-close-wrap{right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:80;will-change:transform,opacity;align-self:auto;margin-right:0;position:fixed;transform:translateZ(0)}.content-close-wrap-mobile{right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:90;will-change:transform,opacity;pointer-events:auto;position:fixed;transform:translateZ(0)}.content{height:var(--app-vh,100vh);min-height:var(--app-vh,100vh);max-height:var(--app-vh,100vh);overscroll-behavior-y:contain}}@supports (height:100lvh){@media (max-width:1024px){html,body,.app,.visual,.visual-surface,.webgl{height:100lvh;min-height:100lvh}.content{height:100lvh}.modal-card{height:calc(100lvh - 96px);max-height:calc(100lvh - 96px)}.contact-modal-card{height:calc(100lvh - 24px);max-height:calc(100lvh - 24px)}}}@media (max-width:1024px){html,body{height:100%;min-height:100%}body,.app,.visual,.visual-surface,.webgl{min-height:var(--app-vh,100vh);height:var(--app-vh,100vh)}.modal-card{max-height:calc(var(--app-vh,100vh) - 96px);height:calc(var(--app-vh,100vh) - 96px)}.contact-modal-card{max-height:calc(var(--app-vh,100vh) - max(6px,env(safe-area-inset-top)));height:auto;margin-top:max(6px,env(safe-area-inset-top))}html,body,.app,.visual,.visual-surface,.webgl{min-height:var(--app-full-vh,100vh)!important;height:var(--app-full-vh,100vh)!important}.content{min-height:var(--app-full-vh,100vh)!important;height:var(--app-full-vh,100vh)!important;max-height:var(--app-full-vh,100vh)!important}.content-inner{padding-bottom:calc(188px + env(safe-area-inset-bottom))!important}.projects-trigger-wrap,.content-close-wrap,.content-close-wrap-mobile{bottom:calc(env(safe-area-inset-bottom) + var(--browser-ui-offset,0px) + 12px)!important}.content-close-wrap-mobile{right:12px!important}.contact-modal-card{margin-top:max(6px,env(safe-area-inset-top))!important;max-height:calc(100dvh - max(6px,env(safe-area-inset-top)))!important;height:calc(100dvh - max(6px,env(safe-area-inset-top)))!important}.contact-modal-body{padding-top:20px!important;padding-bottom:calc(156px + env(safe-area-inset-bottom))!important}}.modal-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.modal.is-open .modal-backdrop{-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important}.modal[data-theme=one] .modal-card{background:linear-gradient(135deg,#fff5f7,#ffe0e6)}.modal[data-theme=two] .modal-card{background:linear-gradient(135deg,#f3f0ff,#e0e6ff)}.modal[data-theme=three] .modal-card{background:linear-gradient(135deg,#eefaf8,#d0f5f0)}.modal.is-expanded .modal-card{border-radius:0;height:100vh;max-height:100vh}.brand-ticker{z-index:2;pointer-events:none;transition:color .32s cubic-bezier(.22,1,.36,1);position:relative}.brand-spacer{pointer-events:none;width:max-content;min-width:220px;height:16px}@media (max-width:768px){.brand-spacer{min-width:190px}}@media (min-width:1025px){.project-modal .modal-card{height:66vh!important;min-height:66vh!important;max-height:66vh!important}.project-modal .modal-body{height:calc(66vh - 48px);padding-bottom:72px;overflow-y:auto}.project-modal.is-expanded .modal-card{border-radius:0;height:100vh!important;max-height:100vh!important}.project-modal.is-expanded .modal-body{-webkit-overflow-scrolling:touch;height:calc(100vh - 48px);overflow-y:auto}}.project-modal .modal-body{scrollbar-width:none!important;-ms-overflow-style:none!important}.project-modal .modal-body::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}@media (min-width:981px){.project-modal .modal-scroll-scene{margin-top:clamp(3rem,6vh,5rem);margin-bottom:clamp(2.8rem,5.4vh,4.2rem)}.project-modal .modal-scroll-scene-primary{min-height:156vh}.project-modal .modal-scroll-scene-secondary{min-height:164vh}.project-modal .modal-scroll-stage{grid-template-columns:minmax(0,1fr);place-items:center;column-gap:clamp(16px,2vw,30px);max-width:min(1420px,100vw - 96px);min-height:100vh;margin-left:auto;margin-right:auto;padding-top:0;position:relative;top:0}.project-modal .modal-scroll-stage-right{grid-template-columns:minmax(0,1fr)}.project-modal .modal-scroll-media-primary{max-width:var(--project-media-width);width:min(100%,var(--project-media-width));grid-column:1/2!important}.project-modal .modal-scroll-stage-right .modal-scroll-media{justify-self:center}.project-modal .modal-responsive-note-primary{max-width:var(--project-media-width);z-index:8;width:min(100%,var(--project-media-width));justify-self:auto;margin-top:0;position:absolute;top:50%;left:50%;right:auto;transform:translate(-50%,clamp(200px,23vh,290px));grid-column:auto!important}.project-modal .modal-scroll-stage-right .modal-responsive-note{place-self:auto;margin-top:0;margin-left:0;padding-top:0}.project-modal .modal-responsive-note-primary-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45em clamp(18px,2.2vw,30px);font-size:clamp(.95rem,1.08vw,1.08rem);line-height:1.45;display:grid}.project-modal .modal-note-col{flex-direction:column;gap:.45em;display:flex}.project-modal .modal-scroll-stage-left{grid-template-columns:minmax(0,1fr)}.project-modal .modal-scroll-stage-left .modal-scroll-media{justify-self:center;grid-column:1/2!important}.project-modal .modal-scroll-stage-left .modal-responsive-note{text-align:left;z-index:8;place-self:auto;margin-top:0;position:absolute;top:50%;left:auto;right:clamp(36px,7vw,120px);transform:translateY(-50%);grid-column:auto!important}.project-modal .modal-scroll-media-primary{transform-origin:50%}.project-modal .modal-scroll-media-secondary{transform-origin:50%;max-width:min(520px,34vw)}.project-modal .modal-scroll-media .modal-media-img{max-height:min(64vh,760px)}.project-modal .modal-scroll-media-primary .modal-media-img{max-height:min(68vh,820px)}}@media (max-width:1024px){.about-overlay,.menu-overlay,.modal,.modal-backdrop{min-height:var(--app-full-vh,100vh)!important;min-height:100lvh!important;height:var(--app-full-vh,100vh)!important;height:100lvh!important;max-height:var(--app-full-vh,100vh)!important;max-height:100lvh!important;inset:0!important}.menu-overlay,.about-overlay{padding-bottom:calc(32px + env(safe-area-inset-bottom) + var(--browser-ui-offset,0px))!important}.modal-card{max-height:calc(var(--app-full-vh,100vh) - 96px)!important;max-height:calc(100lvh - 96px)!important;height:calc(var(--app-full-vh,100vh) - 96px)!important;height:calc(100lvh - 96px)!important;bottom:0!important}.app.modal-expanded .modal-card,.modal.is-expanded .modal-card{max-height:var(--app-full-vh,100vh)!important;max-height:100lvh!important;height:var(--app-full-vh,100vh)!important;height:100lvh!important}.contact-modal-card{max-height:var(--app-full-vh,100vh)!important;max-height:100lvh!important;height:var(--app-full-vh,100vh)!important;height:100lvh!important;margin-top:0!important;bottom:0!important}.modal-body{padding-bottom:calc(84px + env(safe-area-inset-bottom) + var(--browser-ui-offset,0px))!important}.contact-modal-body{padding-bottom:calc(156px + env(safe-area-inset-bottom) + var(--browser-ui-offset,0px))!important}.about-overlay{-webkit-overflow-scrolling:touch;overflow-y:auto!important}.about-content{padding-top:24px;padding-bottom:calc(40px + env(safe-area-inset-bottom) + var(--browser-ui-offset,0px));align-items:flex-start!important;min-height:auto!important}.about-inner{width:100%;max-width:100%}}.hero-slider-shell{z-index:4;pointer-events:none;position:fixed;inset:0;overflow:visible}.visual{z-index:auto!important}.visual-surface{z-index:0}.visual-overlay{z-index:20}.info-trigger-container,.projects-trigger-wrap,.content-close-wrap,.content-close-wrap-mobile{z-index:30}.projects-trigger-wrap{z-index:40!important}.content{z-index:24}.hero-slider-stage{--hero-card-w:min(860px,76vw);pointer-events:none;position:absolute;inset:0}.hero-slider-stack{width:var(--hero-card-w);pointer-events:none;z-index:1;height:100vh;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.hero-slide-card{width:var(--hero-card-w);margin-left:calc(var(--hero-card-w)/-2);margin-top:calc((var(--hero-card-w)*10/16)/-2);aspect-ratio:16/10;cursor:pointer;pointer-events:auto;will-change:transform,opacity,filter;background:#ffffff0a;border:none;border-radius:0;padding:0;transition:box-shadow .25s;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 22px 54px #00000073,0 8px 20px #1414284d}.hero-slide-image{object-fit:contain;background:#0b0b12;width:100%;height:100%;display:block}.hero-slide-glow{pointer-events:none;background:linear-gradient(#07080f00 0%,#07080f61 55%,#07080fb3 100%);height:32%;position:absolute;inset:auto 0 0}.hero-slider-title{left:calc(50% + (var(--hero-card-w)/2) + 34px);color:#f7f5ff;text-align:left;text-shadow:0 8px 26px #00000073;pointer-events:none;z-index:3;width:min(320px,24vw);font-family:Playfair Display,serif;font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.08;position:absolute;top:50%;transform:translateY(-50%)}.hero-slider-controls{left:max(14px,calc(50% - (var(--hero-card-w)/2) - 64px));pointer-events:auto;z-index:3;flex-direction:column;gap:10px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-slider-wheel-hint{left:max(14px,calc(50% - (var(--hero-card-w)/2) - 64px));pointer-events:none;z-index:3;justify-content:center;align-items:center;width:44px;height:98px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.wheel-hint-mouse{background:#ffffff0f;border:2px solid #ffffffc7;border-radius:18px;justify-content:center;align-items:flex-start;width:28px;height:44px;padding-top:8px;display:flex;box-shadow:0 8px 20px #00000047}.wheel-hint-dot{background:#ffffffeb;border-radius:999px;width:4px;height:8px;animation:1.05s ease-in-out infinite wheelHintScroll}@keyframes wheelHintScroll{0%{opacity:1;transform:translateY(0)}75%{opacity:.24;transform:translateY(10px)}to{opacity:0;transform:translateY(0)}}.hero-slider-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff57;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .22s,background .22s,border-color .22s;display:flex}.hero-slider-arrow:hover{background:#ffffff2e;border-color:#ffffff80;transform:translateY(-1px)}.hero-slider-arrow:disabled{opacity:.32;cursor:default;transform:none}@media (max-width:1024px){.hero-slider-stage{--hero-card-w:min(760px,78vw)}.hero-slider-stack{height:100vh}.hero-slider-title{left:calc(50% + (var(--hero-card-w)/2) + 20px);width:min(240px,21vw);font-size:clamp(1.4rem,2.3vw,2rem)}.hero-slider-controls,.hero-slider-wheel-hint{left:max(10px,calc(50% - (var(--hero-card-w)/2) - 52px))}}@media (max-width:768px){.hero-slider-stage{--hero-card-w:min(520px,86vw)}.hero-slider-stack{height:min(72vh,620px)}.hero-slider-controls,.hero-slider-wheel-hint{left:12px}.hero-slider-title{width:min(180px,40vw);font-size:clamp(1.1rem,4vw,1.4rem);left:auto;right:12px}}
