@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#171b31;background:#d8def0;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #d9fc70;outline-offset:3px}a{color:inherit}.app{width:100%;height:100dvh;min-height:620px;position:relative;overflow:hidden}.skip-link{position:absolute;z-index:110;top:12px;left:12px;transform:translateY(-150%);background:#d9fc70;color:#101329;padding:10px 15px;text-decoration:none}.skip-link:focus{transform:none}.city-wrap{position:absolute;inset:0;overflow:hidden;transition:filter .55s ease}.city-wrap.has-panel{filter:saturate(.8)}.city-svg{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.building.interactive{cursor:pointer}.building.interactive:hover polygon,.building.interactive.is-lit polygon{transition:fill .2s,stroke .2s}.cloud-one{animation:cloud-drift 23s ease-in-out infinite alternate}.cloud-two{animation:cloud-drift 32s ease-in-out infinite alternate-reverse}.fountain{animation:fountain-pulse 2.2s ease-in-out infinite}.city-park{animation:park-breathe 4s ease-in-out infinite}.city-controls{position:absolute;right:28px;bottom:115px;display:flex;align-items:center;gap:3px;padding:7px;background:#fcfaf6e8;border:1px solid rgba(25,27,45,.18);border-radius:15px;box-shadow:0 15px 32px #292b411f;z-index:10}.city-controls span{font:700 9px Space Mono,monospace;letter-spacing:.08em;padding:0 12px}.city-controls button{width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#21233a;font-size:20px;line-height:1}.city-controls button:hover{background:#d9fc70}.site-header{position:absolute;z-index:40;top:0;left:0;right:0;height:94px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(180deg,#ffffffa8,#fff0);color:#14172f}.brand{display:flex;align-items:center;gap:11px;border:0;background:none;color:#14172f;font:700 27px Space Grotesk,sans-serif;letter-spacing:-.075em;padding:0}.brand svg{width:29px;height:29px;color:#24213d;transition:transform .45s}.brand:hover svg{transform:rotate(45deg)}.brand-period{color:#ff7e73}.header-caption{font:700 10px Space Mono,monospace;letter-spacing:.14em;color:#424356}.header-actions{display:flex;align-items:center;gap:17px}.availability{border:1px solid rgba(27,34,53,.22);border-radius:40px;background:#ffffffbf;padding:10px 13px;font:700 9px Space Mono,monospace;letter-spacing:.05em;white-space:nowrap}.availability i{display:inline-block;background:#4fab8a;border-radius:50%;width:7px;height:7px;margin-right:7px;box-shadow:0 0 0 4px #4fab8a26}.theme-toggle{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(27,34,53,.2);border-radius:50%;background:#ffffffd9;font-size:23px;color:#27243d}.intro-card{position:absolute;z-index:15;left:4.7vw;bottom:112px;width:min(445px,36vw);min-height:340px;border:1px solid #232439;border-radius:18px;background:#11152d;color:#fff;box-shadow:12px 14px #12152d2e,0 27px 65px #161a3740;padding:27px 29px 26px}.intro-card:before{content:"";position:absolute;top:-9px;left:35px;width:76px;height:8px;background:#d9fc70;border:1px solid #232439;border-bottom:0;border-radius:7px 7px 0 0}.intro-top{display:flex;justify-content:space-between;gap:10px;font:700 9px Space Mono,monospace;letter-spacing:.08em;color:#d9fc70}.intro-top span+span{color:#9ea4be}.intro-card h1{font:600 clamp(38px,3.55vw,58px)/1.03 "Space Grotesk",sans-serif;letter-spacing:-.07em;margin:29px 0 18px}.intro-card h1 em{font-style:normal;color:#d9fc70}.intro-card p{font-size:14px;line-height:1.65;color:#c1c6d8;max-width:370px;margin:0 0 23px}.intro-card button{border:0;background:#d9fc70;color:#141727;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-radius:8px;font-weight:700;font-size:12px}.intro-card button span{font-size:18px}.intro-card button:hover{background:#f2ffb8}.hint-card{position:absolute;z-index:15;right:4vw;top:128px;width:265px;padding:15px 18px 15px 47px;background:#faf9f2;border:1px solid #2d2e42;border-radius:13px;box-shadow:5px 6px #1c1d3133;color:#313147;transform:rotate(2deg)}.hint-card:before{content:"";position:absolute;width:16px;height:16px;background:#faf9f2;border-left:1px solid #2d2e42;border-bottom:1px solid #2d2e42;left:-9px;top:28px;transform:rotate(45deg)}.hint-card>button{position:absolute;top:6px;right:11px;border:0;background:none;font-size:18px;color:#6c6c7d}.hint-icon{position:absolute;left:13px;top:13px;width:24px;height:24px;display:grid;place-items:center;background:#ff9478;border-radius:7px;color:#20243e}.hint-card p{font-size:11px;line-height:1.45;margin:0}.hint-card strong{display:block;font-size:12px;margin-bottom:3px}.district-nav{position:absolute;z-index:60;bottom:28px;left:50%;transform:translate(-50%);display:flex;gap:3px;align-items:center;padding:7px;background:#fffdf8;border:1px solid rgba(30,30,51,.18);border-radius:18px;box-shadow:0 12px 32px #1d223a2e;white-space:nowrap}.nav-label,.nav-end{font:700 9px Space Mono,monospace;color:#777a88;letter-spacing:.08em;padding:0 12px}.district-nav button{border:0;background:transparent;padding:11px 15px;border-radius:11px;display:flex;align-items:center;gap:8px;color:#24243b;font-size:12px;font-weight:700}.district-nav button:hover,.district-nav button.active{background:#20233c;color:#fff}.nav-dot{width:7px;height:7px;border:1px solid rgba(30,30,40,.3);border-radius:50%}.corner-index{position:absolute;left:33px;top:110px;z-index:5;display:flex;flex-direction:column;gap:4px;font:700 9px Space Mono,monospace;letter-spacing:.1em;color:#545d78;writing-mode:vertical-rl;transform:rotate(180deg)}.panel-scrim{position:absolute;z-index:22;inset:0;border:0;background:#15173057;cursor:default}.panel{position:absolute;z-index:70;top:16px;right:16px;bottom:16px;width:min(540px,43vw);display:flex;flex-direction:column;border:1px solid #191d31;border-radius:18px;background:#f9f8f1;box-shadow:-19px 22px #1f233a1c,0 20px 70px #0a0f2242;overflow:hidden;animation:panel-in .38s cubic-bezier(.2,.8,.2,1)}.panel-top{height:60px;min-height:60px;padding:0 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd8}.panel-kicker{font:700 10px Space Mono,monospace;letter-spacing:.09em;color:#383b50}.panel-pip{width:9px;height:9px;background:var(--accent);border:1px solid #35384b;border-radius:50%;display:inline-block;margin-right:10px}.panel-close{border:1px solid #c4c6c3;width:33px;height:33px;background:#fff;border-radius:9px;color:#24273a;font-size:24px;line-height:1}.panel-close:hover{background:#d9fc70}.panel-scroll{padding:30px 32px 55px;overflow-y:auto;overscroll-behavior:contain;flex:1}.panel-scroll::-webkit-scrollbar{width:8px}.panel-scroll::-webkit-scrollbar-thumb{background:#cbd1cb;border:2px solid #f9f8f1;border-radius:8px}.panel-heading{margin-bottom:31px}.eyebrow,.tiny-label{font:700 10px Space Mono,monospace;letter-spacing:.1em;color:#666b7c}.eyebrow{display:block;margin-bottom:22px}.eyebrow:before{content:"";display:inline-block;width:20px;height:2px;background:var(--accent);vertical-align:middle;margin-right:10px}.panel-heading h2{font:600 clamp(43px,4.1vw,62px)/.98 "Space Grotesk",sans-serif;letter-spacing:-.07em;margin:0 0 23px;color:#1b1e32}.panel-heading h2 em{color:#55517d;font-style:normal}.panel-heading p{font-size:14px;line-height:1.7;color:#5c6371;margin:0;max-width:445px}.about-story{display:grid;grid-template-columns:96px 1fr;gap:19px;padding:22px;background:#e9ebe8;border:1px solid #d6d9d3;border-radius:11px}.avatar-mark{width:96px;height:96px;border-radius:10px;background:#252943;color:#eaff9a;display:flex;align-items:center;justify-content:center;font:700 37px Space Grotesk,sans-serif;position:relative}.avatar-mark span{position:absolute;color:#ff9478;font-size:20px;top:7px;right:8px}.about-story p{font-size:13px;line-height:1.6;color:#464c5c;margin:8px 0 0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;border-top:1px solid #cbd0ca;border-bottom:1px solid #cbd0ca}.stat-grid div{padding:17px 4px}.stat-grid div+div{border-left:1px solid #cbd0ca;padding-left:17px}.stat-grid strong{display:block;font:600 32px Space Grotesk,sans-serif;letter-spacing:-.07em}.stat-grid strong span{color:#ff8c71}.stat-grid small{font:700 8px Space Mono,monospace;letter-spacing:.05em;color:#6e7480}.panel-block{margin-top:26px}.skill-cloud,.tag-row{display:flex;flex-wrap:wrap;gap:6px}.skill-cloud{margin-top:13px}.skill-cloud span,.tag-row span{padding:6px 9px;border:1px solid #c7cbc9;border-radius:5px;background:#fff;font-size:10px;font-weight:700;color:#505465}.panel-link{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:28px;padding:18px 0;border:0;border-top:1px solid #cbd0ca;background:none;color:#242940;font-size:14px;font-weight:700;text-align:left}.panel-link span{font-size:20px;color:#69735e}.service-stack{display:grid;gap:12px}.service-card{background:#fff;border:1px solid #d4d7d2;border-radius:12px;padding:22px 24px;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--accent)}.service-card:nth-child(2):before{background:#8ddbcc}.service-card:nth-child(3):before{background:#ffb283}.service-card-top{display:flex;justify-content:space-between;align-items:center;color:#747989;font:700 10px Space Mono,monospace}.service-card-top b{font-size:25px;color:#8e85cd;font-weight:400}.service-card h3{font:600 25px Space Grotesk,sans-serif;letter-spacing:-.045em;margin:12px 0 7px}.service-card p{font-size:12px;line-height:1.62;color:#555b67;margin:0}.service-card .detail{padding:13px 0 11px;color:#81848e}.service-card .tag-row span{background:#f2f3ef;font-size:9px}.project-list{display:grid;gap:16px}.project-card{display:block;overflow:hidden;border:1px solid #cfd1ce;border-radius:12px;background:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-3px);box-shadow:0 10px #1a1b3414}.project-top{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#575e6c;font:700 9px Space Mono,monospace;letter-spacing:.04em}.project-art{height:130px;padding:13px 25px 0;background:#b4e4dc;overflow:hidden;position:relative}.project-card.peach .project-art{background:#f0c9b5}.project-card.lavender .project-art{background:#d3c5f0}.project-card.yellow .project-art{background:#f2db9d}.project-card.blue .project-art{background:#b5d4ee}.project-card.rose .project-art{background:#edc0cc}.art-window{height:160px;max-width:315px;margin:auto;background:#202842;border:5px solid #303955;border-bottom:0;border-radius:11px 11px 0 0;position:relative;box-shadow:10px 10px #1e243d26}.art-window>i{display:inline-block;width:5px;height:5px;background:#ff9a81;border-radius:50%;margin:10px 0 0 6px}.art-window>i:nth-child(2){background:#f8da80}.art-window>i:nth-child(3){background:#86d8ca}.art-lines{position:absolute;left:20px;top:45px;display:grid;gap:10px}.art-lines b{display:block;width:95px;height:7px;background:#556783;border-radius:2px}.art-lines b:nth-child(2){width:70px;background:#697b97}.art-lines b:nth-child(3){width:120px}.art-lines b:nth-child(4){width:85px;background:#697b97}.art-orb{position:absolute;right:28px;top:43px;width:65px;height:65px;border-radius:17px;background:#d9fc70;display:grid;place-items:center;color:#202842;font:700 38px Space Grotesk,sans-serif;transform:rotate(-9deg)}.project-bottom{display:flex;justify-content:space-between;gap:12px;padding:17px}.project-bottom h3{font:600 24px Space Grotesk,sans-serif;margin:0 0 4px;letter-spacing:-.05em}.project-bottom p{font-size:11px;line-height:1.5;color:#646a76;margin:0 0 11px}.project-bottom .tag-row span{background:#f2f3f0;font-size:9px}.project-arrow{font-size:23px;align-self:flex-start}.email-card{display:block;position:relative;padding:26px;border:1px solid #24283e;border-radius:13px;background:#d9fc70;text-decoration:none;box-shadow:7px 7px #292c45}.email-card>span:first-child{display:block;font:700 10px Space Mono,monospace;letter-spacing:.08em}.email-card strong{display:block;font:600 clamp(27px,3vw,41px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.06em;margin-top:40px;word-break:break-word}.email-arrow{position:absolute;top:22px;right:25px;font-size:25px}.contact-facts{margin-top:43px;border-top:1px solid #ced2cb}.contact-facts>div{display:grid;grid-template-columns:128px 1fr;padding:17px 0;border-bottom:1px solid #ced2cb}.contact-facts span{font:700 10px Space Mono,monospace;color:#717788}.contact-facts p{margin:0;font-size:13px;line-height:1.5}.contact-note{font-size:12px;color:#7e8290;margin-top:30px}.panel-bottom{height:39px;min-height:39px;padding:0 23px;display:flex;align-items:center;justify-content:space-between;background:#20243d;color:#dbdeee;font:700 9px Space Mono,monospace;letter-spacing:.07em}.app:has(.panel) .district-nav{left:28px;transform:none}.is-night .site-header{color:#f1f1fa;background:linear-gradient(180deg,rgba(16,19,41,.65),transparent)}.is-night .brand{color:#f1f1fa}.is-night .brand svg{color:#d9fc70}.is-night .availability{color:#e8eaf5;background:#222643c7;border-color:#666d90}.is-night .header-caption,.is-night .corner-index{color:#cbd1e5}.is-night .theme-toggle{background:#252946;color:#eff39d;border-color:#667092}.is-night .hint-card{background:#f4f1e8}.is-night .hint-card:before{background:#f4f1e8}@keyframes cloud-drift{0%{transform:translate(-25px)}to{transform:translate(50px)}}@keyframes fountain-pulse{50%{transform:translateY(-5px);opacity:.6}}@keyframes park-breathe{50%{opacity:.8}}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media(max-width:1100px){.intro-card{width:400px;left:25px}.header-caption{display:none}.hint-card{right:20px}.app:has(.panel) .district-nav{left:18px}.panel{width:min(500px,49vw)}}@media(max-width:780px){.app{min-height:0}.site-header{height:69px;padding:0 17px}.brand{font-size:22px}.brand svg{width:24px;height:24px}.availability{display:none}.header-actions{gap:0}.intro-card{left:14px;bottom:101px;width:min(390px,calc(100vw - 28px));min-height:0;padding:20px 21px}.intro-card h1{font-size:42px;margin:17px 0 11px}.intro-card p{font-size:12px;margin-bottom:13px}.intro-card button{padding:10px 13px}.intro-top{font-size:8px}.hint-card{top:74px;right:14px;width:215px;padding:12px 15px 12px 42px}.hint-card p,.hint-card strong{font-size:10px}.hint-icon{left:10px;top:12px}.corner-index{display:none}.city-controls{right:13px;top:78px;bottom:auto}.city-controls span{display:none}.district-nav{bottom:15px;padding:5px;left:50%;max-width:calc(100vw - 18px);overflow-x:auto}.district-nav button{font-size:11px;padding:10px 9px;gap:5px}.nav-label,.nav-end{display:none}.panel{inset:auto 0 0;width:100%;height:min(76dvh,740px);border-radius:18px 18px 0 0;animation:mobile-panel-in .3s cubic-bezier(.2,.8,.2,1)}.panel-top{height:50px;min-height:50px}.panel-scroll{padding:23px 23px 50px}.panel-heading h2{font-size:48px}.app:has(.panel) .district-nav{left:50%;transform:translate(-50%);bottom:auto;top:73px;z-index:25;background:#ffffffeb}.app:has(.panel) .district-nav button.active{background:#20233c}.app:has(.panel) .city-controls{display:none}}@media(max-width:420px){.intro-card h1{font-size:38px}.intro-card{bottom:84px}.district-nav button{font-size:10px;padding:9px 7px}.nav-dot{width:6px;height:6px}.panel{height:78dvh}.panel-heading h2{font-size:43px}.about-story{grid-template-columns:70px 1fr;gap:12px;padding:15px}.avatar-mark{width:70px;height:70px;font-size:28px}.about-story p{font-size:11px}.stat-grid strong{font-size:26px}.stat-grid small{font-size:7px}.email-card strong{font-size:28px}}@keyframes mobile-panel-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.design-heading{margin:39px 0 19px;padding-top:27px;border-top:1px solid #cbd0ca}.design-heading .eyebrow{margin-bottom:12px}.design-heading h3{font:600 29px Space Grotesk,sans-serif;letter-spacing:-.055em;margin:0 0 5px}.design-heading p{font-size:12px;color:#6c7280;margin:0}.design-list{display:grid;gap:15px}.design-card{display:block;overflow:hidden;background:#fff;border:1px solid #cfd1ce;border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s}.design-card:hover{transform:translateY(-3px);box-shadow:0 10px #1a1b3414}.design-browser{height:184px;overflow:hidden;background:#d6dfdd}.browser-bar{height:30px;padding:0 11px;display:flex;align-items:center;gap:9px;background:#282e41;color:#d4d9e4;font:700 9px Space Mono,monospace;white-space:nowrap}.browser-bar>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;flex:1;opacity:.8}.browser-bar b{font-size:13px}.browser-dots{display:flex;gap:4px}.browser-dots i{width:5px;height:5px;border-radius:50%;background:#ff987e}.browser-dots i:nth-child(2){background:#ffe19a}.browser-dots i:nth-child(3){background:#8cdec8}.design-browser img{width:100%;height:154px;object-fit:cover;object-position:center 37%;transition:transform .4s}.design-card:hover img{transform:scale(1.04)}.design-card-body{padding:16px 18px 18px}.design-card-body>span{font:700 9px Space Mono,monospace;letter-spacing:.06em;color:#6f7581}.design-card-body h4{font:600 22px Space Grotesk,sans-serif;letter-spacing:-.045em;margin:7px 0}.design-card-body p{font-size:11px;line-height:1.55;color:#626a75;margin:0 0 12px}.design-card-body strong{font-size:11px;color:#202842}.design-card-body strong span{font-size:15px;padding-left:4px}@media(max-width:780px){.hint-card{display:none}}.manale-art{height:154px;padding:13px 24px;background:linear-gradient(115deg,#eaf3f5,#fdfaf6 57%,#e4edf2);color:#283e50;position:relative;overflow:hidden}.manale-art:after{content:"";position:absolute;right:-12px;bottom:-66px;width:180px;height:180px;border:2px solid rgba(72,130,171,.2);border-radius:50%;box-shadow:0 0 0 22px #4882ab0f,0 0 0 44px #4882ab0a}.manale-logo{font:italic 600 28px Georgia,serif;letter-spacing:-.045em;color:#334f68}.manale-logo span{font:400 23px Arial,sans-serif;color:#448fb8}.manale-tag{font:700 8px Space Mono,monospace;color:#4b8faf;letter-spacing:.06em}.manale-headline{font:400 23px/1.08 Space Grotesk,sans-serif;letter-spacing:-.05em;margin-top:19px;position:relative;z-index:1}
